串口UART串行总线协议介绍

串口uart
串行端口是异步的(不传输时钟相关数据),两个设备在使用串口通信时,必须先约定一个数据传输速率,并且这两个设备各自的时钟频率必须与这个速率保持相近,某一方的时钟频率相差很大都会导致数据传输混乱。
1硬件连接
uart可以理解为可以用一线总线就可以完成数据的传输,连接图如下
vcc用来给设备提供电源的,如果设备有电源,可以省略
tx顾名思义就是cpu发送数据给设备-对应接设备的rx
rx顾名思义就是cpu接收设备的数据-对应接设备的tx
gnd地线的作用,做嵌入式的应该必须要了解,没有gnd怎么有参考信号
2软件通信协议
uart作为异步串口通信协议的一种,工作原理是将传输数据的每个字符一位接一位地传输。
串口通信协议还有很多其他的,详细可以看这个串行总线协议
uart协议定义,如下图
其中各位的意义如下:
起始位:先发出一个逻辑”0”的信号,表示传输字符的开始。
资料位:紧接着起始位之后。资料位的个数可以是4、5、6、7、8等,构成一个字符。通常采用ascii码。从最低位开始传送,靠时钟定位。
奇偶校验位:资料位加上这一位后,使得“1”的位数应为偶数(偶校验)或奇数(奇校验),以此来校验资料传送的正确性。
停止位:它是一个字符数据的结束标志。可以是1位、1.5位、2位的高电平。由于数据是在传输线上定时的,并且每一个设备有其自己的时钟,很可能在通信中两台设备间出现了小小的不同步。因此停止位不仅仅是表示传输的结束,并且提供计算机校正时钟同步的机会。适用于停止位的位数越多,不同时钟同步的容忍程度越大,但是数据传输率同时也越慢。
空闲位:处于逻辑“1”状态,表示当前线路上没有资料传送。
波特率:是衡量资料传送速率的指标。表示每秒钟传送的符号数(symbol)。一个符号代表的信息量(比特数)与符号的阶数有关。例如资料传送速率为120字符/秒,传输使用256阶符号,每个符号代表8bit,则波特率就是120baud,比特率是120*8=960bit/s。这两者的概念很容易搞错。
波特率计算示例
如图:
第一个字节的10位(1位起始位,8位数据位和1位停止位)共占约1.05ms,这样可计算出其波特率约为:10bit/1.05msx1000≈9600bit/s
一般uart设置窗口如下图
3示波器逻辑分析仪测量uart波形
如果你是一个做嵌入式软件的,但是你不会量波形,会很丢脸,至少我可以知道示波器有一个autoset的按钮,当然,你也可以用逻辑分析仪,这个对软件工程师来说更加方便。
下面列举协议分析的图片
连续的数据波形:0xff,0x00,…。,0x80的波形。可以看出,如果要发送0b00000001,按时间顺序则是,低(起始位),高(1),低(0),低(0),低(0),低(0),低(0),低(0),低(0)。但是后面的7个连续的低电平连接在一起,就形成了一个较长低电平。

如何正确理解示波器(ADC)的采样率?
两张图看懂LED灯具智能控制差异化设计窍门
十大直线导轨品牌排名
2030年前能引爆我们生活的21项黑科技!
华为P40 Lite在欧洲发布 售价约合人民币2288元
串口UART串行总线协议介绍
3D人脸识别云平台上线,为3D人脸识别应用开发助力
嵌入式计算机的特点和优势分别是什么
国产LED光电检测设备企业快速崛起
大众将微软HoloLens 2首次用于移动车辆中
论SRAM型FPGA软核Microblaze抗单粒子加固的方法
三星Note 10.1对比iPad 3 综合实力苹果占优
又一国家重大科研仪器设备研制专项通过中期检查
用ADS7846设计嵌入系统的触摸屏
莱普科技超16亿元全国总部暨集成电路装备研发制造基地签约成都
分动器和差速器的区别
材料成本上涨:国产5G手机或比普通版贵500元左右
常见的SAS接口类型介绍说明
蜂巢能源将投资70亿元建立年产20GWh的动力电池新基地
制氧机家用哪种好 智能显示氧浓度和氧气流量数据来护航