摘要:按照技術指標和電氣接口介紹三種常見的串行數據標準:RS-232、RS-422和RS-485。介紹電纜端接技術、多個負載的使用、RS-232菊花鏈連接、RS-232至RS-485的轉換、RS-485至RS-232的轉換,以及RS-232端口供電的RS-485轉換。
?
引言
“標準的奇妙之處在于有如此之多的選擇。”這句話出現在最近一次關于光纜的會議中,但同樣也適用于電氣接口標準。隨著不同行業內串行數據標準的獨立發展,我們擁有的標準從未如此之多。
PC和電信應用領域最成功的串行數據標準可能就是RS-232。相類似,RS-485和RS-422也在工業應用領域最成功的標準之列。這些標準并不直接兼容。然而,對于控制和儀器儀表應用,往往必須在不同標準之間進行通信。本文討論不同的標準(物理層指標),介紹如何將一種標準轉換為另一種標準,并演示如何在相同應用中組合不同的標準。
RS-232電氣指標和典型連接
RS-232鏈路最初用于支持IBM PC上的調制解調器和打印機應用。然而,該標準現在支持各種外設與PC通信。RS-232標準定義為單端標準,用于以較低波特率(<20kbps)提高串行通信距離。多年以來,該標準幾經變化,以支持較快的驅動器,例如MAX3225E,該器件能提供1Mbps數據傳輸速率。為了兼容RS-232,MAX3225E等收發器必須滿足表1所列的電氣指標。從典型連接(圖1)可看出,利用硬件握手來控制數據流。
表 1. RS-232標準的主要電氣指標匯總
參數條件最小最大單位
驅動器輸出電壓,開路?????25?V?
驅動器輸出電壓,帶載?3kΩ < RL < 7kΩ?±5?±15?V?
驅動器輸出電阻,關斷?-2V < V < 2V???300???
電壓變化率???4?30?V/μs?
最大負載電容?????2500?pF?
接收器輸入電阻???3?7?kΩ?
接收器輸入門限:?
輸出 = 串號(邏輯1)???-3???V?
輸出 = 空號(邏輯0)?????3?V?
圖1. 典型的RS-232連接。
典型RS-232信號(圖2,CH1)的擺動范圍為正和負。注意左側坐標軸上0V蹤跡標記的相對位置。盡管RS-232數據為反相,從TTL/CMOS到RS-232然后再返回至TTL/CMOS的轉換恢復了數據的原始極性。RS-232的典型傳輸距離很少超過100英尺。原因有兩個:首先,發送電平(±5V)和接收電平(±3V)之差只允許有2V的共模抑制;第二,較長電纜的分布電容可能超過規定的最大負載(2500pF),從而降低擺率。由于RS-232被設計為點對點接口,并非多節點接口,所以其驅動器的指標為3kΩ至7kΩ單負載。因此,多節點接口應用通常采用菊鏈的連接方法(圖3)。
圖2. RS-232接收器支持雙極性輸入信號(上部蹤跡,CH1),輸出反相的TTL/CMOS信號(底部蹤跡,CH2)。
圖3. 菊鏈方法允許在單個RS-232鏈路上掛接多個從機接收器。
菊鏈設備及其限制
在菊鏈配置中,RS-232信號經過第一個接收器,并環回至發送器。對數據發送線中之后的器件重復該配置。該項技術的主要問題是電纜斷裂。如果從機1和從機2之間發生斷裂,妨礙所有下行器件發送或接收數據。另一種多節點RS-232技術涉及到預緩沖或RS-232輸出升壓驅動(使其驅動多個并聯的5kΩ輸入)。
為避免菊鏈網絡相關的問題,Maxim開發了MAX3322E/MAX3323E,專門設計用于多節點應用。這些獨特的器件采用了5kΩ邏輯開關輸入電阻。器件未被選中時,其輸入電阻保持為高阻態,允許與共用總線上的其它器件繼續通信。
另一種解決菊鏈網絡問題的方案是將RS-232 Rx和Tx信號轉換為RS-422信號(見表2)。RS-422為差分標準,允許傳輸距離長得多。RS-422較高的輸入阻抗,與其較高驅動能力相結合,允許連接多達10個節點(圖4)。RS-422的另一種優勢是獨立的發送和接收通路,無需方向控制。可以利用軟件(XON/OFF握手)或硬件(一組獨立的雙絞線)實現器件之間必要的握手。MAX3162提供了RS-232和RS-422之間進行信號轉換的經濟途徑。更多信息請參見下文的RS-232/RS-485協議轉換器部分。
表 2. RS-422關鍵指標匯總
參數條件最小最大單位
驅動器輸出電壓,開路?????±10?V?
驅動器輸出電壓,帶載?RL?= 100Ω?2
-2???V?
驅動器輸出電阻?A至B???100?Ω?
驅動器輸出短路電流?每輸出至公共連接???150?mA?
驅動器輸出上升時間?RL?= 100Ω???10?%位寬?
驅動器共模電壓?RL?= 100Ω???±3?V?
接收器靈敏度?VCM?±7V???±200?mV?
接收器共模電壓范圍???-7?7?V?
接收器輸入電阻???4???kΩ?
差分接收器電壓?可工作???±10?V?
可承受???±12?V?
圖4. 典型RS-422系統允許差分傳輸線路上掛接多達10個接收器。
RS-485與RS-422的差異及其在應用中的使用
RS-422和RS-485收發器往往容易混淆,往往將其中一個當做另一個的全雙工版本。然而,其共模范圍及接收器輸入電阻方面的電氣差異使得這些標準適合于不同的應用。由于RS-485滿足所有的RS-422規范(表3),RS-485驅動器可用于RS-422應用。然而,相反則不成立。RS-485驅動器的共模輸出為-7V至+12V,而RS-422的共模范圍僅為±3V。RS-422驅動器的最小接收器輸入電阻為4kΩ,而RS-485驅動器則為12kΩ。
表3. RS-485關鍵指標匯總
參數條件最小最大單位
驅動器輸出電壓,開路???1.5
-1.5?6
-6?V
V?
驅動器輸出電壓,帶載?RL?= 100Ω?1.5
-1.5?5
-5?V
V?
驅動器輸出短路電流?每輸出至公共連接???±250?mA?
驅動器輸出上升時間?RL?= 54Ω
CL?= 50pF???30?%位寬?
驅動器共模電壓?RL?= 54Ω???±3?V?
接收器靈敏度?-7V < VCM?< 12V???±200?mV?
接收器共模電壓范圍???-7?12?V?
接收器輸入電阻???12???kΩ?
為降低接線費用以及達到較長的線長,RS-485收發器已經成為銷售終端、工業及電信應用領域廣泛采用的標準。RS-485較寬的共模范圍也支持較長的線長和較高的每節點輸入電阻,允許總線上連接較多的節點(圖5)。
圖5. 與RS-422相比,RS-485連接較高的輸入阻抗和較寬的共模范圍,支持較長的線長。
差分RS-485傳輸(圖6)在雙絞線電纜的每一根線上產生相反的電流和磁場,交叉抵消每根線周圍的反向磁場,從而將輻射電磁干擾(EMI)降至最小。為了在較長電纜或較高數據率下進行傳輸,電纜作為傳輸線,并應利用電纜的特征阻抗進行端接。RS-485連接的這個方面容易引起混淆。傳輸線需要端接嗎?如果需要,應如何端接?如果設計者不是最終用戶,這些問題應該留給安裝方來解決嗎?對于大多數RS-485收發器,數據資料標出了電纜作為傳輸線時不端接和簡單點對點端接之間的簡單選擇(圖7)。A-B端子之間的端接電阻是無害的。默認情況下,應該在總線上最后一個收發器處對傳輸進行端接。
圖6. RS-485線上的反極性信號交叉抵消了彼此的磁場,從而將EMI降至最小。以上示波器截屏上的GND基準經過搬移(偏移),清晰顯示RS-485輸出信號的相反極性。
圖7. 傳輸線端接電阻的選擇取決于具體應用。
失效保護
確定是否需要端接電阻僅僅是實現RS-485系統時面臨的問題之一。正常情況下,如果A比B大+200mV或更多,RS-485接收器輸出為“1”;如果B比A大200mV或更多,收發器輸出為“0”。在半雙工RS-485網絡中,主機收發器在向從機發送消息后,將總線置于三態。所以,如果沒有信號驅動總線,接收器輸出狀態則無定義,因為A和B之差趨向于0V。如果接收器輸出RO為“0”,從機將其解釋為新的開始位,并嘗試讀取隨后的字節。由于不會發生停止位,所以結果就是成幀錯誤。總線變為無主,網絡停頓。
不幸的是,對于0V差分輸入,不同芯片測試中會產生不同的輸出信號。原型可能正常工作,但特定的節點在生產測試中卻失敗。為解決這一問題,如圖7中多節點/失效保護端接所示,對總線進行偏置。偏置總線,確保總線為三態時的接收器輸出保持為“1”。或者,您可使用“真失效保護”接收器,例如MAX3080 (5V)和MAX3070 (3V)系列產品。這些器件將接收器的門限改為-50mV,確保差分輸入為0V時RO輸出為“1”。
RS-232/RS-485協議轉換器
MAX3162為一款很獨特的器件,包括RS-232和RS-485接收器和發送器。寬范圍通信器件包含在單片IC中,支持在RS-232和RS-485信號之間雙向獨立轉換。圖8所示的電路中,MAX3162配置為在點對點應用中雙向轉換RS-232和RS-485信號。
圖8. MAX3162在點對點應用中雙向轉換RS-232和RS-485信號。
圖9所示為MAX3162配置為RS-232/RS-485多節點協議轉換器。轉換方向由RTS信號R1IN控制。單端RS-232接收器輸入信號轉換為差分RS-485發送器輸出;類似地,差分RS-485接收器輸入信號轉換為單端RS-232發送器輸出。R2IN上接收的RS-232數據在Z和Y上作為RS-485信號發送;A和B上接收的RS-485信號在T1OUT上作為RS-232信號發送。
RTS線為共用線,用于控制轉換RS-232和RS-485的電路總線方向。該線在RS-232端口上控制RS-485收發器作為發送器還是接收器(圖9)。注意,系統不確定UART發送緩沖器中的數據字節是否已發送,除非系統監測RS-485驅動器的輸入DI。也就是說,系統必須允許固定延時或主動監測DI輸入,然后再使用DE輸入來改變總線方向。
其它方向控制技術包括使用微控制器以及利用數據驅動DE輸入,同時輪詢A-B線電壓差(利用上拉電阻將A連接至5V,利用下拉電阻將B連接至地)。這些電阻的值隨電纜電容變化,但典型值為1kΩ。
圖9. MAX3162在多節點應用中雙向轉換RS-232和RS-485信號。
端口供電器件
許多RS-232至RS-485轉換器為“端口供電轉換器”,此時通過RS-232 RTS線(或者有時為RTS和CTS (DTR)線的組合)為RS-485供電。由于RS-232端口可用的功率是有限的,當一個端口供電轉換器與(比如) 100個RS-485端點配合使用時,就達不到RS-485的啟動電壓。然而,較低的接收器門限(200mV)允許較好的誤差裕量。該技術被廣泛用于線路較短以及A-B端點間沒有端接電阻的系統。
熱插拔
電路板插入到正在工作或帶電背板時,對數據總線的差分干擾會造成數據錯誤。插入電路板時,數據通信處理器首先進入其上電序列。在此期間,處理器邏輯輸出驅動器為高阻態,不能將MAX3060E/MAX3080E的DE和/RE輸入驅動到規定的邏輯電平。處理器邏輯驅動器為高阻態時的漏電流高達±10mA,可能會造成收發器的標準CMOS使能輸入發生漂移,處于不正確的邏輯電平。此外,電路板的寄生電容可能造成VCC或GND耦合到使能輸入。如果不支持熱插拔,這些因素會錯誤地使能收發器的驅動器或接收器。
參考
RS-422 and RS-485 Application Note, B&B Electronics (This is a great source of information on RS-232, RS-485 and RS-422 standards and their practical realizations.?)?
Serial Port Complete, Jan Axelson (This definitive reference for serial ports includes considerable useful source code written in Visual Basic.?
評論
查看更多