当前位置: 首页 > 产品中心 > lcd显示屏-总成

UART串口协议详解

发表时间: 2024-01-26 作者: lcd显示屏-总成
产品详情

  (Universal Asynchronous Receiver/Transmitter)是一种异步全双工串行通讯协议,由Tx和Rx两根数据线组成,由于没有参阅时钟信号,所以通讯的两边有必要约好串口波特率、数据位宽、奇偶校验位、中止位等装备参数,然后依照相同的速率进行通讯。

  异步通讯以一个字符为传输单位,通讯中两个字符间的时刻距离多少是不固定的,然而在同一个字符中的两个相邻位间的时刻距离是固定的。当波特率为9600bps时,传输一个bit的时刻距离大约为104.16us;波特率为115200bps时,传输一个bit的时刻距离大约为8us。

  数据传送速率用波特率来表明,即每秒钟传送的二进制位数。例如数据传送速率为120字符/秒,而每一个字符为10位(1个开端位,7个数据位,1个校验位,1个完毕位),则其传送的波特率为10×120=1200字符/秒=1200波特。

  数据位:可所以5~8位逻辑”0”或”1”;如ASCII码(7位),扩展BCD码(8位);小端传输,即LSB先发,MSB后发

  校验位:数据位加上这一位后,使得“1”的位数应为偶数(偶校验)或奇数(奇校验)

  中止位:它是一个字符数据的完毕标志。可所以1位、1.5位、2位的高电平(用于两边同步,中止位时刻距离越长,容错才干越强)

  注:异步通讯是按字符传输的,接纳设备在收到开端信号之后只要在一个字符的传输时刻内能和发送设备坚持同步就能正确接纳。下一个字符开端位的到来又使同步从头校准(依托检测开端位来完成发送与接纳方的时钟自同步的)

  上图是uart协议传输一个”A”字符经过示波器的uart解码而得到的波形示意图。根据此图来介绍一下uart的一些基本参数。

  波特率:此参数简单和比特率混杂,其实他们是由差异的。详细能够百度更清楚。可是我以为uart中的波特率就能够以为是比特率,即每秒传输的位数(bit)。一般选波特率都会有9600,19200,115200等选项。其实意思便是每秒传输这么多个比特位数(bit)。

  数据位:能够再一次进行挑选的值有5,6,7,8这四个值,能够传输这么多个值为0或许1的bit位。这个参数最好为8,由于假如此值为其他的值时当你传输的是ASCII值时一般解析肯定会出问题。理由很简单,一个ASCII字符值为8位,假如一帧的数据位为7,那么还有一位便是不确定的值,这样就会犯错。

  校验位:数据位加上这一位后,使得“1”的位数应为偶数(偶校验)或奇数(奇校验),以此来校验数据传送的正确性。就比方传输“A”(01000001)为例。

  1、当为奇数校验:”A”字符的8个bit位中有两个1,那么奇偶校验位为1才干满意1的个数为奇数(奇校验)。图-1的波形便是这种状况。

  2、当为偶数校验:”A”字符的8个bit位中有两个1,那么奇偶校验位为0才干满意1的个数为偶数(偶校验)。

  中止位:它是一帧数据的完毕标志。可所以1bit、1.5bit、2bit的闲暇电平。或许我们会觉得很古怪,怎样会有1.5位~没错,的确有的。所以我在出产此uart信号时用两个波形点来表明一个bit。这个能不用深究。

  传输方向:即数据是从高位(MSB)开端传输仍是从低位(LSB)开端传输。比方传输“A”假如是MSB那么便是01000001(如图-2),假如是LSB那么便是10000010(如下图的图-4)

  uart传输数据的次序便是:刚开端传输一个开端位,接着传输数据位,接着传输校验位(可不需求此位),最终传输中止位。这样一帧的数据就传输完了。接下来接着像这样一向传送。在这里还要说一个参数。

  帧距离:即传送数据的帧与帧之间的距离巨细,能够以位为计量也能够用时刻(知道波特率那么位数和时刻能换算)。比方传送”A”完后,这为一帧数据,再传”B”,那么A与B之间的距离即为帧距离。

  上两图和下两图传送的数据和波特率都是相同的,可是有几个参数是成心设置反了然后构成比照。有助于更深化的了解UART。

  看完以上解说,你是不是真的了解了UART的传输协议呢?请看一下三图,能否说出串口发送的是什么数据呢?