嵌入式硬件通信接口协议-UART(二)不同电气规范下的标准

文章首发于同名微信公众号:DigCore

欢迎关注同名微信公众号:DigCore,及时获取最新技术博文。

 

在上一篇《嵌入式硬件通信接口协议-UART(一)协议基础》中,简单而细致描述了UART的各个配置项以及通信过程的信号时序,此篇将继续介绍UART接口在不一样的电气特性下,所使用的一些接口规范。

简介

实际上UART只是对信号时序进行定义,而未定义其电气特性。在不一样的应用场景下,不同的走线空间,不同程度干扰的恶劣环境,不同的平台和和设备间,要使用UART进行通信,信号管脚的电气特性差异就是个很大的障碍,并且在很多低功耗设备的信号电平一般都较低,因此,应对不一样的应用场景和环境,而制定出不一样的电气特性协议。

UART在不同电气规范下的接口

对于不同平台或者使用环境,信号管脚的电气特性依次可以分为TTL/CMOS、RS232、RS422、RS485。

TTL/CMOS

TTL电平,逻辑“0”等于0V电压,逻辑“1”等于+5V电压。

CMOS电平,逻辑“0”接近0V电压,逻辑“1”接近电源电压(3.3V或其他)。

TTL电路与CMOS电路比较

1)TTL电路是电流控制器件,而CMOS电路是电压控制器件。

2)TTL电路的速度快,传输延迟时间短(5-10ns),但是功耗大。

CMOS电路的速度慢,传输延迟时间长(25-50ns),但功耗低。

CMOS电路本身的功耗与输入信号的脉冲频率有关,频率越高,芯片即越热,这是正常现象。

常见的,在嵌入式开发时,UART的电平信号由MCU芯片决定,并且与芯片有关。

RS-232

RS232完整缩写EIA-RS-232C 标准,其中EIA是Electronic Industry
Association代表美国电子工业协会,RS是Recommended Standard
推荐标准,232表示标识号,C表示第三次修改。

它是在1970年由美国电子工业协会(EIA)联合贝尔系统、调制解调器厂家及计算机终端生产厂家共同制定的用于串行通讯的标准。

由此可见,RS232才是UART的鼻祖!

嵌入式硬件通信接口协议-UART(二)不同电气规范下的标准_第1张图片

RS232对电气特性、逻辑电平和各种信号线功能都作了规定。

在TxD和RxD信号管脚上:

逻辑“1”电压范围-3V~-15V

逻辑“0”电压范围+3~+15V

在RTS、CTS、DSR、DTR和DCD等控制线上:

信号有效(接通,ON状态,正电压)电压范围+3V~+15V

信号无效(断开,OFF状态,负电压)电压范围-3V~-15V

可见RS232的信号管脚特性为负逻辑电平的信号。具体可以观察如下一张MAX232芯片的数据波形:

嵌入式硬件通信接口协议-UART(二)不同电气规范下的标准_第2张图片

上述的示波器截图中,通道1(橙色)是RS232电平,通道2(绿色)是UART电平。

UART电平是数据输出的bit流逐一对应的电平,bit流依次是起始位“0”、数据“0011,1011”(即DigCore的标志0xDC的二进制LSB排列)、奇校验位“0”、停止位“1”,最后引脚处于高电平的空闲态;

而负逻辑电平的RS232的信号电压不仅恰好相反,而且电压大小也不一样。在MAX232芯片上,逻辑“0”对应的是+10V,逻辑“1”对应的是-10V。

同时RS232还定义了机械接口特性,常见的有DB-9接口和DB-25接口,其接口定义如下表:

  针脚 信号 定义 作用
DB-9 1 DCD 载波检测 Received Line Signal Detector(Data Carrier Detect)
  2 RXD 接收数据 Received Data
  3 TXD 发送数据 Transmit Data
  4 DTR 数据终端准备好 Data Terminal Ready
  5 SGND 信号地 Signal Ground
  6 DSR 数据准备好 Data Set Ready
  7 RTS 请求发送 Request To Send
  8 CTS 清除发送 Clear To Send
  9 RI 振铃提示 Ring Indicator
DB-25 1   屏蔽地线  
  2 TXD 发送数据 Transmit Data
  3 RXD 接收数据 Received Data
  4 RTS 发送请求 Request To Send
  5 CTS 发送清除 Clear To Send
  6 DSR 数据准备好 Data Set Ready
  7 SG 信号地 Signal Ground
  8 DCD 载波检测 Received Line Signal Detector(Data Carrier Detect)
  9   发送返回(+)  
  10   未定义  
  11   数据发送(-)  
  12~17   未定义  
  18   数据接收(+)  
  19   未定义  
  20 DTR 数据终端准备好 Data Terminal Ready
  21   未定义  
  22 RI 振铃 Ring Indicator
  23~24   未定义  
  25   接收返回(-)

嵌入式硬件通信接口协议-UART(二)不同电气规范下的标准_第3张图片

RS-422

RS-422标准全称是“平衡电压数字接口电路的电气特性”,该协议制定了接口电路的电气特性。

除了引脚的电气特性,其他规范基本都是沿用RS232的规范。

RS-422的信号线采用的是差分传输方式,即原来的TxD、RxD信号线,此时分别改用两根线来完成,即TxD+和TxD-、RxD+和RxD-两组,并且利用两根线之间的电压差值来表示数据的逻辑“1”和逻辑“0”

逻辑“1”的差分信号电压差范围:+2~+6V

逻辑“0”的差分信号电压差范围:-6~-2V

最大通信距离:1500米

通信速率范围:100 kbit / s - 10 Mbit / s

嵌入式硬件通信接口协议-UART(二)不同电气规范下的标准_第4张图片

RS-485

EIA于1983年在RS-422基础上制定了RS-485标准,由之前的4线改为2线传输,即全双工改为半双工,增加了多点、双向通信能力。2线制的半双工,仅由2差分线A、B来连接,其中A线的“高”表示逻辑“0”而低表示逻辑“1”;B线的“高”表示逻辑“1”,“低”表示逻辑“0”。

看一张图就可以明白了,如下图引用的是维基百科RS485介绍的时序图片:

嵌入式硬件通信接口协议-UART(二)不同电气规范下的标准_第5张图片

嵌入式硬件通信接口协议-UART(二)不同电气规范下的标准_第6张图片

参考资料:

维基百科UART:https://en.wikipedia.org/wiki/Universal_asynchronous_receiver-transmitter

维基百科RS-482:https://en.wikipedia.org/wiki/RS-422

维基百科RS-485:https://en.wikipedia.org/wiki/RS-485

E:\\Software\\WebSite\\gitee\\digcore\\site_img\\DigCore_Blog_Follow.png

你可能感兴趣的:(嵌入式开发,-,单片机STM32,嵌入式开发,-,SoC芯片nRF51x22)