作者:Art Pini
对于工业检测和控制,通信总线面临诸多挑战。例如,数百甚至数千英尺的布线稀松平常,而恶劣的操作环境简直堪称工业环境的代名词。工业设备往往需要在宽温度范围内工作;无论电源线路还是信号线路均存在较高的电噪声;电磁干扰 (EMI)、静电放电 (ESD) 或短路等故障事件频发。
使用基于通用异步接收器/发射器 (UART) 的可靠串行接口即可解决这些问题。有些供应商也将UART称作异步通信元件 (ACE)。UART可以是Texas Instruments的TL16C752D一类的独立器件,也可以如Microchip Technology的PIC16F688T-I/SL一样集成在微控制器中。
只要线路驱动器使用得当,UART即可实现远距离通信:使用RS-232串行数据总线,可传输15m;使用RS-485或RS-422接口,则可传输1000m。这三种协议均在工厂自动化应用中用于控制远程设备和控制器,旨在最大限度地降低最恶劣环境中的EMI和ESD的影响。
本文将介绍这些常用工业控制接口协议的背景,并说明如何利用UART和线路驱动器来实现这些协议。
RS-232标准概览
RS-232串行通信标准现在也称为EIA/TIA-232-F,是由美国电子工业协会/电信工业协会公布的一项标准。字母F表示为最新版本。该标准与国际电信联盟 (ITU) 的V.24和V.28标准具有等效性。最初,该接口作为个人电脑的串行总线,用于连接计算机(术语称作数据终端设备 (DTE))与调制解调器(称作数据通信设备 (DCE))。
EIA/TIA-232-F定义了物理层的标准,包括信号电平和时序、控制信号、连接器及其接线,但没有定义字符编码、组帧等协议层的其他方面。典型的异步串行总线包括UART或ACE、线路驱动器、连接器及电缆(图1)。
UART/ACE将计算机内部并行总线转换为串行数据流。此外,还提供输入和输出先进先出 (FIFO) 存储缓冲器、接口时钟(一般称为波特率发生器)、接口时序和握手信号。UART/ACE的模拟输入和输出可以由线路驱动器提供缓冲。DTE的输出称为发送信号 (TX),而输入称为接收信号 (RX)。接口电缆的最大长度以15米为限。电缆的长度决定了通过接口总线能够可靠传输的最大数据速率。
RS-232接口通过全双工连接来接通两台设备,因而每台设备可以同时发送和接收。RS-232串行数据包由1个起始位、5至8个数据位、1/1.5/2个停止位和1个奇偶校验位组成(图2)。
RS-232电缆至少需要三芯线:一根用于发送,一根用于接收,还有一根用于信号接地。接地线是两条信号线的回路。
RS-232的许多特性与其最初在电信领域中的应用有关。该标准使用负逻辑,高电平称为空号,低电平称为传号。中性或空闲状态为高电平,因此可以远程验证互连。在发送端,逻辑 0(空号)的电平范围在+5至+15V之间,逻辑1(传号)的电平范围在-5至-15V之间。在接收端,3至15V的电平表示0,-3至-15V表示1。
因为没有发送时钟信号,术语称这种传输为异步传输。RS-232要求总线两端设置特定时钟或波特率。波特率衡量每秒传输的符号数量;对于RS-232,波特率约等于时钟频率。常见的波特率有300、600、1200、2400、4800、9600、19200、38400、57600、115200、230400、460800和921600波特。
时钟频率越高,电缆长度越受限。例如,在9600波特时,可以使用的最长电缆为15米。提高波特率,电缆最大长度就相应缩短。
RS-232控制信号
RS-232规定了若干控制信号。这些信号用于报告DTE和DCE设备的状态,并通过基于硬件的握手来确定数据传输速率(表1)。
硬件握手通过请求发送 (RTS) 和允许发送 (CTS) 流控制信号来实现,以确保两台设备都已做准备好传输数据,并且接收设备已经收到数据。硬件握手通过以下操作实现:
- 数据终端设备将RTS线设置为逻辑 “1”,即“传号”状态
- 数据通信设备将CTS线设置为逻辑 “1”,即“传号”状态
- 数据终端设备将数据终端就绪 (DTR) 线设置为逻辑 “1”,即“传号”状态,并在整个数据传输期间保持该状态
- 传输结束时,数据终端设备将DTR和RTS线恢复为逻辑 “0”,即“空号”状态
- 数据通信设备将 CTS 线恢复为逻辑 “0”,即“空号”状态
RS-232 还能通过软件握手来控制数据流。在这种方式下,XON(ASCII DC1,十六进制数 11)和XOFF(ASCII DC3,十六进制数 13)字符以数据流形式发送,数据传输类似同步传输。
UART功能框图
Texas Instruments的TL16C752D是一款双通道UART,具有64字节的接收和发送FIFO,数据速率高达3Mb/s(图 3)。
每UART通道都具有独立的波特率发生器,可由软件进行控制。数据总线接口将并行数据转换为串行数据,并同时馈入两个UART通道。每个通道都具有独立的控制线。TL16C752D的工作电压范围为1.8V至5.5V,工作温度范围为-40°C至85°C。
基于微控制器的UART
Microchip Technology的PIC16F688T-I/SL等许多微控制器都包括串行数据接口,可用于与监视器、外部模数转换器 (ADC)、数模转换器 (DAC) 或其他微控制器进行通信(图4)。
EUSART有时也称为串行通信接口 (SCI),可以配置为全双工异步或半双工同步串行数据链路。PIC16F688T-I/SL的EUSART包含了执行输入或输出串行数据传输所需的全部移位寄存器、时钟发生器和数据缓冲器,且与微控制器程序执行无关。此外,还具有一个双字符接收缓冲器和一个单字符发送缓冲器。全双工异步接口可用于与监视器等外设进行通信,这是该微控制器串行接口的主要应用。
线路驱动器
线路驱动器可作为发送和接收信号的缓冲器,从而增强UART的功能。由于线路驱动器可以在RS-232的所有电平规格下工作,因此十分有用。Texas Instruments的MAX232DR双通道RS-232/TIA/EIA-232-F收发器是这类器件的一个范例(图5)。
在需要较高电压的工业应用中,MAX232DR线路驱动器/接收器具有明显优势,因为该器件能承受高达±30V的输入电压。该器件包括一个电容式电压发生器,采用5V单电源供电,使用四个外部电容器,在输出端提供-5V至-7V和+5V至+7V的RS-232电平。
差分信号
RS-232的发送和接收线使用单端连接。采用此类单端连接时,信号电压是以线-地电压来衡量。在工业环境中,RS-232信号线会带入很多噪声,因此需要限制总线的长度。克服这一限制的经典方法是使用差分信号。
差分总线的每路信号由两条线组成,信号电压则是以两条信号线之间的电压差来衡量。对于两条信号线而言,噪声和串扰一般是相同的,因此差分测量几乎可以完全消除这些相同的干扰信号,从而显著降低了噪声和串扰的幅度。此外,差分电缆还带有屏蔽,可进一步降低噪声和干扰的带入。
使用差分信号线的常用数据总线标准有两种:RS-422 (TIA/EIA-422) 和RS-485 (TIA/EIA-485),后者是最常见的工业串行总线。这些标准的传输线使用双绞线,连接设备最远可以相距1200m (4000 ft)。这两项标准的最大数据速率均达10Mb/s。上述三种串行总线的比较如下所示(表2)。
RS-422和RS-485的区别在于,RS-485可以与多达32台收发器配合使用(若采用总线扩展器,可以连接更多收发器),而RS-422总线上最多只能连接10台接收器。全双工模式下的RS-485需要四芯线,而半双工模式下只需要两芯线;RS-422也只需要两芯线(图6)。
差分总线的每路发送或接收信号线均需使用两芯线,如图所示。全双工操作需要四芯线,而半双工只需要两芯线。由于RS-422和RS-485的传输速率较高,传输线的两端都必须端接。对于双绞线,端接电阻RT为120Ω。由于TL16C752D接口IC具有双通道UART配置,因此可以推断该器件具有RS-485模式。这也是许多UART和相关线路驱动器采用双通道配置的原因。
RS-422发送器端的电平为±6V,而RS-485为-7至+12V。在接收器端,两项标准的灵敏度均为±200mV。
总结
无论距离远近,RS-232、RS-422 和 RS-485三种串行接口均可为串行通信提供多种可靠选择。UART为这三项标准夯实了基础,从而可以在设计中轻松增加串行通信,尤其是那些针对恶劣工业环境的设计。
———————————————————–
如有任何问题,欢迎联系得捷电子Digi-Key客服团队。
中国(人民币)客服
- 400-920-1199
- service.sh@digikey.com
- QQ在线实时咨询 |QQ号:4009201199
中国(美金)/ 香港客服
- 400-882-4440
- 8523104-0500
- china.support@digikey.com