通過RS-232,、RS-422和RS-485接口,,UART工業(yè)通信
通過 RS-232、RS-422 和 RS-485 接口,,UART 確保了可靠的遠距離工業(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)遠距離通信:使用 RS-232 串行數(shù)據(jù)總線,,可傳輸 15 m;使用 RS-485 或 RS-422 接口,,則可傳輸 1000 m,。這三種協(xié)議均在工廠自動化應(yīng)用中用于控制遠程設(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)使用負邏輯,,高電平稱為空號,低電平稱為傳號,。中性或空閑狀態(tài)為高電平,,因此可以遠程驗證互連。在發(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,,十六進制數(shù) 11)和 XOFF(ASCII DC3,十六進制數(shù) 13)字符以數(shù)據(jù)流形式發(fā)送,,數(shù)據(jù)傳輸類似同步傳輸,。
UART 功能框圖
Texas Instruments 的 TL16C752D 是一款雙通道 UART,具有 64 字節(jié)的接收和發(fā)送 FIFO,數(shù)據(jù)速率高達 3 Mb/s(圖 3),。
圖 3:Texas Instruments 的 TL16C752D 3 Mb/s 雙通道 UART 功能框圖顯示該器件具有 64 字節(jié)的 FIFO 和接口線,。(圖片來源:Texas Instruments)
每 UART 通道都具有獨立的波特率發(fā)生器,可由軟件進行控制,。數(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) 或其他微控制器進行通信(圖 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è)進行通信,,這是該微控制器串行接口的主要應(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 可以承受高達 ±30 V 的輸入電壓,而且輸出具有接地短路保護,。
在需要較高電壓的工業(yè)應(yīng)用中,,MAX232DR 線路驅(qū)動器/接收器具有明顯優(yōu)勢,,因為該器件能承受高達 ±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)_的幅度,。此外,,差分電纜還帶有屏蔽,可進一步降低噪聲和干擾的帶入,。
使用差分信號線的常用數(shù)據(jù)總線標(biāo)準(zhǔn)有兩種:RS-422 (TIA/EIA-422) 和 RS-485 (TIA/EIA-485),,后者是常見的工業(yè)串行總線。這些標(biāo)準(zhǔn)的傳輸線使用雙絞線,,連接設(shè)備遠可以相距 1200 m (4000 ft),。這兩項標(biāo)準(zhǔn)的大數(shù)據(jù)速率均達 10 Mb/s。上述三種串行總線的比較如下所示(表 2),。
|
表 2:RS-232,、RS-422 和 RS-485 標(biāo)準(zhǔn)的特征比較。
RS-422 和 RS-485 的區(qū)別在于,,RS-485 可以與多達 32 臺收發(fā)器配合使用(若采用總線擴展器,,可以連接更多收發(fā)器),而 RS-422 總線上多只能連接 10 臺接收器,。全雙工模式下的 RS-485 需要四芯線,,而半雙工模式下只需要兩芯線;RS-422 也只需要兩芯線(圖 6),。
圖 6:RS-485 接口的全雙工(左)和半雙工拓撲,。計算機或主控設(shè)備顯示為紅色,其他設(shè)備為藍色,。
差分總線的每路發(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é)
無論距離遠近,,RS-232、RS-422 和 RS-485 三種串行接口均可為串行通信提供多種可靠選擇,。UART 為這三項標(biāo)準(zhǔn)夯實了基礎(chǔ),,從而可以在設(shè)計中輕松增加串行通信,尤其是那些針對惡劣工業(yè)環(huán)境的設(shè)計,。