首页 > 编程知识 正文

在ppp协议的帧格式中,帧数据的格式

时间:2023-05-05 05:43:38 阅读:32143 作者:3058

请看下图,我们知道今天的主角是UART。 我们通常所说的串行端口,UART包含TTL级别和RS-232级别两种。 在嵌入式系统中,单片机串行端口一般为TTL级。

今天的内容对于UART的帧格式比较简单,玩单片机的朋友应该知道。

UART的英文全名是通用异步发送/接收发送器。

由于UART有两条电缆TX和RX,它们可以以全双工的形式发送和接收数据,同时两条链路的发射机和接收机可以同时发送和接收数据。

区分全双工的还有一个,半双工。 因为只有一根数据线,所以数据传输就是这样。

或者,在同一时间,只有一个链路正在传输数据,如下所示:

除了双重形式外,另一个是半工,只有从发射机到接收机的一个链路。

完成UART操作模式后,进入主题——UART帧格式。 单片机与PC之间的通信,也称为UART协议,为了保证数据通信的可靠性,双方都必须遵循UART协议。

URT数据帧格式

其中大家的意思如下。

3358www.Sina.com/:1:发送1位逻辑0 (低电平),开始数据传输。

3358 www.Sina.com/:也可以是5~8位数据,先发送低位,再发送高位。 常见的是8位(1字节),其他类似于7位ASCII码。

起始位:奇偶校验,数据位加上奇偶校验位,第一位数为偶数(偶数校验),第一位数为奇数(奇数校验)。

数据位:停止位是数据传输结束的标志,可以是1/1.5/2位的逻辑1 (高电平)。

校验位:空闲时数据线处于高电平状态,表示没有数据传输。

传输数据0x33(00110011 )后,对应的波形如下所示。 由于LSB领先,因此8位数据的顺序为11001100

0X33发送数据的帧格式

发送其他数据后,按顺序循环这个过程就可以了。

UART是异步传输,以1个字符为传输单位,传输2个字符之间的时间间隔。 例如,先传输0X33,再传输0X35。 这个时间间隔不清楚。

然而,确定了相同字符内的相邻比特之间的时间间隔,例如0X33的后两位1和1之间的时间间隔,这与UART传输速度的概念—— 停止位有关。

波特率的单位为bps,全名为bit per second,表示每秒传输的bit数。

波特率9600bps表示每秒传输的比特数为9600,表示传输1比特数据的时间为1/9600=104us,波特率115200bps,传输1比特数据的时间为8us

空闲位

首先,UART1以9600波特率发送0X33,首先在数据线上放置1个104us的脉冲宽度的低电平(开始位),接着2个104us的脉冲宽度的高电平(2位逻辑1 ),依次类推。

然后,UART2以9600波特率接收0X33,并通过计数这些数据的脉冲宽度来检查数据。

为了确保数据传输的准确性和减少误差,UART1和UART2的波特率一般相差小于10%,一次最多可传输1字节(8bit ),有效降低了累计误差。

今天文章的内容到此结束。 我希望对你有帮助。 下次再见吧。

如果你觉得我的文章好的话,请帮我三连。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。