通過RS-232、RS-422和RS-485接口,UART工業(yè)通信
通過 RS-232、RS-422 和 RS-485 接口,UART 確保了可靠的遠(yuǎn)距離工業(yè)通信
對于工業(yè)檢測和控制,通信總線面臨諸多挑戰(zhàn)。例如,數(shù)百甚至數(shù)千英尺的布線稀松平常,而惡劣的操作環(huán)境簡直堪稱工業(yè)環(huán)境的代名詞。工業(yè)設(shè)備往往需要在寬溫度范圍內(nèi)工作;無論電源線路還是信號線路均存在較高的電噪聲;電磁干擾 (EMI)、靜電放電 (ESD) 或短路等故障事件頻發(fā)。
使用基于通用異步接收器/發(fā)射器 (UART) 的可靠串行接口即可解決這些問題。有些供應(yīng)商也將 UART 稱作異步通信元件 (ACE)。UART 可以是 Texas Instruments 的 TL16C752D 一類的獨立器件,也可以如 Microchip Technology 的 PIC16F688T-I/SL 一樣集成在微控制器中。
只要線路驅(qū)動器使用得當(dāng),UART 即可實現(xiàn)遠(yuǎn)距離通信:使用 RS-232 串行數(shù)據(jù)總線,可傳輸 15 m;使用 RS-485 或 RS-422 接口,則可傳輸 1000 m。這三種協(xié)議均在工廠自動化應(yīng)用中用于控制遠(yuǎn)程設(shè)備和控制器,旨在大限度地降低惡劣環(huán)境中的 EMI 和 ESD 的影響。
本文將介紹這些常用工業(yè)控制接口協(xié)議的背景,并說明如何利用 UART 和線路驅(qū)動器來實現(xiàn)這些協(xié)議。
RS-232
RS-232 串行通信標(biāo)準(zhǔn)現(xiàn)在也稱為 EIA/TIA-232-F,是由美國電子工業(yè)協(xié)會/電信工業(yè)協(xié)會公布的一項標(biāo)準(zhǔn)。字母 F 表示為xin版本。該標(biāo)準(zhǔn)與電信聯(lián)盟 (ITU) 的 V.24 和 V.28 標(biāo)準(zhǔn)具有等效性。初,該接口作為個人電腦的串行總線,用于連接計算機(術(shù)語稱作數(shù)據(jù)終端設(shè)備 (DTE))與調(diào)制解調(diào)器(稱作數(shù)據(jù)通信設(shè)備 (DCE))。
EIA/TIA-232-F 定義了物理層的標(biāo)準(zhǔn),包括信號電平和時序、控制信號、連接器及其接線,但沒有定義字符編碼、組幀等協(xié)議層的其他方面。典型的異步串行總線包括 UART 或 ACE、線路驅(qū)動器、連接器及電纜(圖 1)。
圖 1:基本 RS-232 系統(tǒng)包括計算機等數(shù)據(jù)終端設(shè)備 (DTE) 和調(diào)制解調(diào)器等數(shù)據(jù)通信設(shè)備 (DCE)。UART/ACE 可通過 RS-232 串行接口與計算機并行背板連接。
UART/ACE 將計算機內(nèi)部并行總線轉(zhuǎn)換為串行數(shù)據(jù)流。此外,還提供輸入和輸出*先出 (FIFO) 存儲緩沖器、接口時鐘(一般稱為波特率發(fā)生器)、接口時序和握手信號。UART/ACE 的模擬輸入和輸出可以由線路驅(qū)動器提供緩沖。DTE 的輸出稱為發(fā)送信號 (TX),而輸入稱為接收信號 (RX)。接口電纜的大長度以 15 米為限。電纜的長度決定了通過接口總線能夠可靠傳輸?shù)拇髷?shù)據(jù)速率。
RS-232 接口通過全雙工連接來接通兩臺設(shè)備,因而每臺設(shè)備可以同時發(fā)送和接收。RS-232 串行數(shù)據(jù)包由 1 個起始位、5 至 8 個數(shù)據(jù)位、1/1.5/2 個停止位和 1 個奇偶校驗位組成(圖 2)。
圖 2:RS-232 數(shù)據(jù)包由 1 個起始位、5 至 8 個數(shù)據(jù)位(圖示為 8 個)、1 個奇偶校驗位(可選)和 1、1.5 或 2 個停止位組成。
RS-232 電纜至少需要三芯線:一根用于發(fā)送,一根用于接收,還有一根用于信號接地。接地線是兩條信號線的回路。
RS-232 的許多特性與其初在電信領(lǐng)域中的應(yīng)用有關(guān)。該標(biāo)準(zhǔn)使用負(fù)邏輯,高電平稱為空號,低電平稱為傳號。中性或空閑狀態(tài)為高電平,因此可以遠(yuǎn)程驗證互連。在發(fā)送端,邏輯 0(空號)的電平范圍在 +5 至 +15 V 之間,邏輯 1(傳號)的電平范圍在 -5 至 -15 V 之間。在接收端,3 至 15 V 的電平表示 0,-3 至 -15 V 表示 1。
因為沒有發(fā)送時鐘信號,術(shù)語稱這種傳輸為異步傳輸。RS-232 要求總線兩端設(shè)置特定時鐘或波特率。波特率衡量每秒傳輸?shù)姆枖?shù)量;對于 RS-232,波特率約等于時鐘頻率。常見的波特率有 300、600、1200、2400、4800、9600、19200、38400、57600、115200、230400、460800 和 921600 波特。
時鐘頻率越高,電纜長度越受限。例如,在 9600 波特時,可以使用的長電纜為 15 米。提高波特率,電纜大長度就相應(yīng)縮短。
RS-232 控制信號
RS-232 規(guī)定了若干控制信號。這些信號用于報告 DTE 和 DCE 設(shè)備的狀態(tài),并通過基于硬件的握手來確定數(shù)據(jù)傳輸速率(表 1)。
|
表 1:RS-232 控制和握手信號。
硬件握手通過請求發(fā)送 (RTS) 和允許發(fā)送 (CTS) 流控制信號來實現(xiàn),以確保兩臺設(shè)備都已做準(zhǔn)備好傳輸數(shù)據(jù),并且接收設(shè)備已經(jīng)收到數(shù)據(jù)。硬件握手通過以下操作實現(xiàn):
- 數(shù)據(jù)終端設(shè)備將 RTS 線設(shè)置為邏輯 "1",即“傳號”狀態(tài)
- 數(shù)據(jù)通信設(shè)備將 CTS 線設(shè)置為邏輯 "1",即“傳號”狀態(tài)
- 數(shù)據(jù)終端設(shè)備將數(shù)據(jù)終端就緒 (DTR) 線設(shè)置為邏輯 "1",即“傳號”狀態(tài),并在整個數(shù)據(jù)傳輸期間保持該狀態(tài)
- 傳輸結(jié)束時,數(shù)據(jù)終端設(shè)備將 DTR 和 RTS 線恢復(fù)為邏輯 "0",即“空號”狀態(tài)
- 數(shù)據(jù)通信設(shè)備將 CTS 線恢復(fù)為邏輯 "0",即“空號”狀態(tài)
RS-232 還能通過軟件握手來控制數(shù)據(jù)流。在這種方式下,XON(ASCII DC1,十六進(jìn)制數(shù) 11)和 XOFF(ASCII DC3,十六進(jìn)制數(shù) 13)字符以數(shù)據(jù)流形式發(fā)送,數(shù)據(jù)傳輸類似同步傳輸。
UART 功能框圖
Texas Instruments 的 TL16C752D 是一款雙通道 UART,具有 64 字節(jié)的接收和發(fā)送 FIFO,數(shù)據(jù)速率高達(dá) 3 Mb/s(圖 3)。
圖 3:Texas Instruments 的 TL16C752D 3 Mb/s 雙通道 UART 功能框圖顯示該器件具有 64 字節(jié)的 FIFO 和接口線。(圖片來源:Texas Instruments)
每 UART 通道都具有獨立的波特率發(fā)生器,可由軟件進(jìn)行控制。數(shù)據(jù)總線接口將并行數(shù)據(jù)轉(zhuǎn)換為串行數(shù)據(jù),并同時饋入兩個 UART 通道。每個通道都具有獨立的控制線。TL16C752D 的工作電壓范圍為 1.8 V 至 5.5 V,工作溫度范圍為 -40°C 至 85°C。
基于微控制器的 UART
Microchip Technology 的 PIC16F688T-I/SL 等許多微控制器都包括串行數(shù)據(jù)接口,可用于與監(jiān)視器、外部模數(shù)轉(zhuǎn)換器 (ADC)、數(shù)模轉(zhuǎn)換器 (DAC) 或其他微控制器進(jìn)行通信(圖 4)。
圖 4:Microchip Technology 的 PIC16F688T-I/SL CMOS 微控制器串行接口采用增強型通用同步/異步接收器/發(fā)送器 (EUSART)。
EUSART 有時也稱為串行通信接口 (SCI),可以配置為全雙工異步或半雙工同步串行數(shù)據(jù)鏈路。PIC16F688T-I/SL 的 EUSART 包含了執(zhí)行輸入或輸出串行數(shù)據(jù)傳輸所需的全部移位寄存器、時鐘發(fā)生器和數(shù)據(jù)緩沖器,且與微控制器程序執(zhí)行無關(guān)。此外,還具有一個雙字符接收緩沖器和一個單字符發(fā)送緩沖器。全雙工異步接口可用于與監(jiān)視器等外設(shè)進(jìn)行通信,這是該微控制器串行接口的主要應(yīng)用。
線路驅(qū)動器
線路驅(qū)動器可作為發(fā)送和接收信號的緩沖器,從而增強 UART 的功能。由于線路驅(qū)動器可以在 RS-232 的所有電平規(guī)格下工作,因此十分有用。Texas Instruments 的 MAX232DR 雙通道 RS-232/TIA/EIA-232-F 收發(fā)器是這類器件的一個范例(圖 5)。
圖 5:運用 MAX232DR 雙通道驅(qū)動器/接收器來緩沖 TL16C752D 雙通道 UART。MAX232DR 可以承受高達(dá) ±30 V 的輸入電壓,而且輸出具有接地短路保護(hù)。
在需要較高電壓的工業(yè)應(yīng)用中,MAX232DR 線路驅(qū)動器/接收器具有明顯優(yōu)勢,因為該器件能承受高達(dá) ±30 V 的輸入電壓。該器件包括一個電容式電壓發(fā)生器,采用 5 V 單電源供電,使用四個外部電容器,在輸出端提供 -5 V 至 -7 V 和 +5 V 至 +7 V 的 RS-232 電平。
差分信號
RS-232 的發(fā)送和接收線使用單端連接。采用此類單端連接時,信號電壓是以線-地電壓來衡量。在工業(yè)環(huán)境中,RS-232 信號線會帶入很多噪聲,因此需要限制總線的長度??朔@一限制的經(jīng)典方法是使用差分信號。
差分總線的每路信號由兩條線組成,信號電壓則是以兩條信號線之間的電壓差來衡量。對于兩條信號線而言,噪聲和串?dāng)_一般是相同的,因此差分測量幾乎可以*消除這些相同的干擾信號,從而顯著降低了噪聲和串?dāng)_的幅度。此外,差分電纜還帶有屏蔽,可進(jìn)一步降低噪聲和干擾的帶入。
使用差分信號線的常用數(shù)據(jù)總線標(biāo)準(zhǔn)有兩種:RS-422 (TIA/EIA-422) 和 RS-485 (TIA/EIA-485),后者是常見的工業(yè)串行總線。這些標(biāo)準(zhǔn)的傳輸線使用雙絞線,連接設(shè)備遠(yuǎn)可以相距 1200 m (4000 ft)。這兩項標(biāo)準(zhǔn)的大數(shù)據(jù)速率均達(dá) 10 Mb/s。上述三種串行總線的比較如下所示(表 2)。
|
表 2:RS-232、RS-422 和 RS-485 標(biāo)準(zhǔn)的特征比較。
RS-422 和 RS-485 的區(qū)別在于,RS-485 可以與多達(dá) 32 臺收發(fā)器配合使用(若采用總線擴展器,可以連接更多收發(fā)器),而 RS-422 總線上多只能連接 10 臺接收器。全雙工模式下的 RS-485 需要四芯線,而半雙工模式下只需要兩芯線;RS-422 也只需要兩芯線(圖 6)。
圖 6:RS-485 接口的全雙工(左)和半雙工拓?fù)?。計算機或主控設(shè)備顯示為紅色,其他設(shè)備為藍(lán)色。
差分總線的每路發(fā)送或接收信號線均需使用兩芯線,如圖所示。全雙工操作需要四芯線,而半雙工只需要兩芯線。由于 RS-422 和 RS-485 的傳輸速率較高,傳輸線的兩端都必須端接。對于雙絞線,端接電阻 RT 為 120 Ω。由于 TL16C752D 接口 IC 具有雙通道 UART 配置,因此可以推斷該器件具有 RS-485 模式。這也是許多 UART 和相關(guān)線路驅(qū)動器采用雙通道配置的原因。
RS-422 發(fā)送器端的電平為 ±6 V,而 RS-485 為 -7 至 +12 V。在接收器端,兩項標(biāo)準(zhǔn)的靈敏度均為 ±200 mV。
總結(jié)
無論距離遠(yuǎn)近,RS-232、RS-422 和 RS-485 三種串行接口均可為串行通信提供多種可靠選擇。UART 為這三項標(biāo)準(zhǔn)夯實了基礎(chǔ),從而可以在設(shè)計中輕松增加串行通信,尤其是那些針對惡劣工業(yè)環(huán)境的設(shè)計。