跳至内容
深圳市捷比信实业有限公司 · 产品选型与采购咨询联系业务人员
采样电阻捷比信 · 专业器件主题站

学习单片机的UART,然后学习通讯,UART的详细说明

UART(通用异步接收器/发送器)是异步全双工串行通信协议。它由两条数据线Tx和Rx组成。由于没有参考时钟信号,因此通信双方必须就串行端口波特率和数据位宽达成一致。 ,奇偶校验位,停止位等配置参数,以便以相同的速率进行通信。异步通信使用一个字符作为传输单元。通信中两个字符之间的时间间隔不是固定的,但是同一字符中两个相邻位之间的时间间隔是固定的。当波特率为9600bps时,传输一位的时间间隔约为104.16us。当波特率为115200bps时,传输一位的时间间隔约为8us。数据传输速率由波特率表示,波特率是每秒传输的二进制数。例如,数据传输速率为每秒120个字符,每个字符为10位(1个起始位,7个数据位,1个校验位,1个结束位),则传输的波特率为10×120 = 1200字符/秒= 1200波特。数据通信序列图:每个位的含义如下:起始位:首先发送逻辑“ 0”,然后发送逻辑“ 0”。指示传输字符开始的信号;数据位:5〜8位逻辑“ 0”。或“ 1”;例如ASCII码(7位),扩展BCD码(8位); Little-endian传输,即先发送LSB,然后再发送MSB。奇偶校验位:在将该位添加到数据位之后,将“ 1”的数量添加到奇偶校验位。位应为偶数(偶数奇偶校验)或奇数(奇数奇偶校验);停止位:它是字符数据的结束符号。它可以是1位,1.5位,2位高电平(用于双方同步,停止位间隔越长,容错性越强);空闲位:在逻辑“ 1”中为“ 0”。状态,表示当前线路上没有数据传输;注意:异步通信以字符形式传输。接收到启动信号后,只要接收设备可以在一个字符的传输时间内与发送设备同步,就可以正确接收它。下一个字符的起始位的到来重新校准了同步(依靠检测起始位来实现发送方和接收方的时钟的自同步)。 ↑图1开始位和停止位↑图2数据位↑发送“ A”信号。上图是通过Uart协议发送“ A”信号获得的波形图。示波器的Uart字符和解码。根据此图,我们将介绍uart的一些基本参数。波特率:此参数很容易与比特率混淆,实际上它们是不同的。但是我认为uart的波特率可以看作是比特率,即每秒传输的比特数(比特)。通常,波特率有9600、19200、115200和其他选项。实际上,这意味着每秒要传输这么多的位。起始位:首先发送逻辑“ 0”。信号,指示数据传输开始。数据位:可以选择的四个值是5、6、7和8,因此可以传输许多值为0或1的位。此参数最好为8,因为如果该值是另一个值,则在传输ASCII值时,在常规解析中会出现问题。原因很简单。 ASCII字符值为8位。如果帧的数据位为7,则还有另一个位的值不确定,这将导致错误。奇偶校验位:在将该位添加到数据位之后,将“ 1”的数量添加到奇偶校验位。位应为偶数(偶数奇偶校验)或奇数(奇数奇偶校验),以验证数据传输的正确性。以发送“ A”消息为例。 (01000001)。 1.当它是奇校验时:在“ A”标志的8位中有两个1。字符,则奇偶校验位为1,以满足1作为奇数的数量(奇校验)。图1中的波形就是这种情况。 2.当它是偶校验时:在“ A”标志的8位中有两个1。字符,则奇偶校验位为0,以满足1作为偶数的数量(偶校验)。该位也可以删除,即不需要奇偶校验位。停止位:它是数据帧的结束符号。可以是1bit,1.5bit,2bit空闲级别。您可能会觉得很奇怪,怎么会有1.5个人〜是的,的确如此。因此,在生成此uart信号时,我使用了两个波形点来表示一点。您无需深入了解这一点。 。 。空闲位:没有数据传输时线路上的电平状态。这是逻辑1。传输方向:即是从高位(MSB)还是从低位(LSB)传输数据。例如,如果传输“ A”被发送,则发送“ A”。为MSB,则为01000001(如图2所示);如果为LSB,则为