UART(一)——起始位,停止位,奇偶校验位,数据位等概念
1. 概念
通用异步收发传输器(Universal Asynchronous Receiver/Transmitter),通常称作UART。
它将要传输的资料在串行通信与并行通信之间加以转换。作为把并行输入信号转成串行输出信号的芯片,UART通常被集成于其他通讯接口的连结上。
具体实物表现为独立的模块化芯片,或作为集成于微处理器中的周边设备。一般是RS-232C规格的,与类似Maxim的MAX232之类的标准信号幅度变换芯片进行搭配,作为连接外部设备的接口。在UART上追加同步方式的序列信号变换电路的产品,被称为USART(Universal Synchronous Asynchronous Receiver Transmitter)。
2. 接线
一般情况硬件连接比较简单,仅需要3条线,注意连接时两个设备UART电平,如电平范围不一致请做电平转换后再连接,如下图所示:
- TX:发送数据端,要接对面设备的RX
- RX:接收数据端,要接对面设备的TX
- GND:保证两设备共地,有统一的参考平面
1)正常 USART 模式下,通过这些引脚以帧的形式发送和接收串行数据:
- 发送或接收前保持空闲线路
- 起始位
- 数据(字长 8 位或 9 位),最低有效位在前
- 用于指示帧传输已完成的 0.5 个、1 个、1.5 个、2 个停止位
- 该接口使用小数波特率发生器 - 带 12 位尾数和 4 位小数
- 状态寄存器 (USART_SR)
- 数据寄存器 (USART_DR)
- 波特率寄存器 (USART_BRR) - 12 位尾数和 4 位小数。
- 智能卡模式下的保护时间寄存器 (USART_GTPR)。
2)在同步模式下连接时需要以下引脚:
- SCLK:发送器时钟输出。该引脚用于输出发送器数据时钟,以便按照 SPI 主模式进行同步发送(起始位和结束位上无时钟脉冲,可通过软件向最后一个数据位发送时钟脉冲)。RX 上可同步接收并行数据。这一点可用于控制带移位寄存器的外设(如 LCD 驱动器)。时钟相位和极性可通过软件编程。在智能卡模式下,SCLK 可向智能卡提供时钟。在硬件流控制模式下需要以下引脚:
- nCTS:“清除以发送”用于在当前传输结束时阻止数据发送(高电平时)。
- nRTS:“请求以发送”用于指示 USART 已准备好接收数据(低电平时)
3. 协议
UART作为异步串口通信协议的一种,工作原理是将传输数据的每个字符一位接一位地传输。
其中各位的意义如下:
- 起始位:先发出一个逻辑”0”的信号,表示传输字符的开始。
- 资料位:紧接着起始位之后。资料位的个数可以是4、5、6、7、8等,构成一个字符。通常采用ASCII码。从最低位开始传送,靠时钟定位。
- 奇偶校验位:资料位加上这一位后,使得“1”的位数应为偶数(偶校验)或奇数(奇校验),以此来校验资料传送的正确性。
- 停止位:它是一个字符数据的结束标志。可以是1位、1.5位、2位的高电平。 由于数据是在传输线上定时的,并且每一个设备有其自己的时钟,很可能在通信中两台设备间出现了小小的不同步。因此停止位不仅仅是表示传输的结束,并且提供计算机校正时钟同步的机会。适用于停止位的位数越多,不同时钟同步的容忍程度越大,但是数据传输率同时也越慢。
- 空闲位:处于逻辑“1”状态,表示当前线路上没有资料传送。
- 波特率:是衡量资料传送速率的指标。表示每秒钟传送的符号数(symbol)。一个符号代表的信息量(比特数)与符号的阶数有关。例如传输使用256阶符号,每8bit代表一个符号,资料传送速率为120字符/秒,则波特率就是120baud,比特率是120*8=960bit/s。这两者的概念很容易搞错。
4. 例如
以9600 8N1(9600波特率,8个数据位,没有校验位,1位停止位)为例,这是目前最常用的串口配置,现在我们传输’O’'K’两个ASCII值,'O’的ASCII为79,对应的二进制数据为01001111
,'K’对应的二进制数据为01001011
,传输的格式数据如下图所示:
串口波特率为9600,1bit传输时间大约为104us,传送一个数据实际是10个比特(开始位,8个数据位,停止位),一个bytes传输速率实际为9600*8/10=7680bps。
UART(一)——起始位,停止位,奇偶校验位,数据位等概念相关推荐
- vb串口 任意波特率_学习串口参数详解:波特率,数据位,停止位,奇偶校验位...
串口常用参数,串口是一种非常通用的设备通信的协议(不要与通用串行总线Universal Serial Bus(USB)混淆). 中文名:串口常用参数 属 性:通用设备通信的协议 相 关:通 ...
- 单片机串口分析起始位停止位奇偶校验位
串口解析 串口配置 1.波特率 2.停止位 3.数据位 4.奇偶校验位 比特率:通讯的频率 停止位:可以选择1/1.5/2三个选择 数据位:可以选择5/6/7/8四个选择 奇偶校验位:可以选择奇校验/ ...
- QT入门第十四天 串口通信协议+收发数据+波特率+数据位+停止位+奇偶校验+串口识别射频RFID的卡号
QT入门第十四天 串口通信[QT入门第十四天 串口通信协议+收发数据+波特率+数据位+停止位+奇偶校验+串口识别射频RFID的卡号 第一章 常见的硬件通信接口协议 [1]硬件通信接口协议 [2]使用串 ...
- Erlang 位串和二进制数据
http://blog.chinaunix.net/xmlrpc.php?r=blog/article&uid=25876834&id=3300393 因为在本人工作中,服务端Erla ...
- 【FPGA】定点数 数据位宽 运算 位宽截取
在FPGA中,经常使用定点数表示小数,在进行各种运算时,定点数的位宽会发生变化,并且需要在适当地时候对数据的位宽进行截取. 运算要求和引起的位宽变化 假设存在两个数A.B,假定A位宽为m,小数位宽为a ...
- uart中:起始位,停止位,就校验位,数据位,数据位的位数,波特率,数据通讯的接口定义
UART简介 通用异步收发传输器(Universal Asynchronous Receiver/Transmitter),通常称作UART.UART通信在工作中相当常见,项目中需要生成uart信号 ...
- java处理奇偶校验位_串口起始位、数据位、奇偶校验位、停止位、波特率与时间等问题的解读...
转自:https://blog.csdn.net/gq1900/article/details/51885259 UART简介 通用异步收发传输器(Universal Asynchronous Rec ...
- java 偶校验_串口起始位、数据位、奇偶校验位、停止位、波特率与时间等问题的解读...
转自:https://blog.csdn.net/gq1900/article/details/51885259 UART简介 通用异步收发传输器(Universal Asynchronous Rec ...
- 串口参数详解:波特率,数据位,停止位,奇偶校验位
转载自:https://blog.csdn.net/sinat_35705952/article/details/89034455 串口参数详解:波特率,数据位,停止位,奇偶校验位 Winter_Q ...
最新文章
- Window10 VS17下 Opencv3.4.5配置
- S4:装饰模式 Decorator
- 常见索引结构—FST
- SpringAMQP--WorkQueue模型
- Linux下安装Redmine(项目管理软件)
- php 姓氏表,PHP拆分姓名中的姓氏和名字函数
- TensorFlow2.1正式版发布!最后一次支持Python2,进一步支持TPU
- javascript 计算每行中的列数
- SPOJ 196 动态规划
- 单片机:Keil的安装教程
- 手推SVM(二)-核方法
- UC手机浏览器js加入收藏夹
- hyperlink的学习
- Unity3D坦克大战游戏开发——学习笔记(上)
- iOS 架构模式 - 简述 MVC, MVP, MVVM 和 VIPER (译)
- Win32显示隐藏任务栏
- 微软推出经典进程监控工具 Procmon 的 Linux 版本
- JDBC插入数据后返回新数据id
- 【前端面试题】—21道有关移动端的面试题
- 网易100天---46、Things You Need to Know About Snapchat