RS232是個人計算機上的通訊接口之一,由電子工業協會(Electronic Industries Association,EIA) 所制定的異步傳輸標準接口。通常 RS-232 接口以9個引腳 (DB-9) 或是25個引腳 (DB-25) 的型態出現,一般個人計算機上會有兩組 RS-232 接口,分別稱為 COM1 和 COM2。
在串行通訊時,要求通訊雙方都采用一個標準接口,使不同的設備可以方便地連接起來進行通訊。RS-232-C是美國電子工業協會EIA(Electronic Industry Association)制定的一種串行物理接口標準。RS是英文“推薦標準”的縮寫,232為標識號,C表示修改次數。RS-232-C總線標準設有25條信號線,包括一個主通道和一個輔助通道。
在多數情況下主要使用主通道,對于一般雙工通信,僅需幾條信號線就可實現,如一條發送線、一條接收線及一條地線。
RS-232-C標準規定的數據傳輸速率為50、75、100、150、300、600、1200、2400、4800、9600、19200、38400波特。
RS-232-C標準規定,驅動器允許有2500pF的電容負載,通信距離將受此電容限制,例如,采用150pF/m的通信電纜時,最大通信距離為15m;若每米電纜的電容量減小,通信距離可以增加。傳輸距離短的另一原因是RS-232屬單端信號傳送,存在共地噪聲和不能抑制共模干擾等問題,因此一般用于20m以內的通信。具體通訊距離還與通信速率有關,例如,在9600pbs時,普通雙絞屏蔽線時,距離可達30-35米。
RS232時序如圖1:
如果要進行較長距離的通信,或者實現聯網功能,那么要使用到RS485通訊接口。
在工業控制場合,RS485總線因其接口簡單,組網方便,傳輸距離遠等特點而得到廣泛應用。
RS485和RS232一樣都是基于串口的通訊接口,數據收發的操作是一致的,所以使用的是同樣WinCE的底層驅動程序。但是它們在實際應用中通訊模式卻有著很大的區別,RS485接口為半雙工數據通訊模式,而RS232接口為全雙工數據通訊模式,數據的收發不能同時進行,為了保證數據收發的不沖突,硬件上是通過方向切換來實現的,相應也要求軟件上必須將收發的過程嚴格地分開。
RS485接口組成的半雙工網絡,一般是兩線制(以前有四線制接法,只能實現點對點的通信方式,現很少采用),多采用屏蔽雙絞線傳輸。這種接線方式為總線式拓撲結構在同一總線上最多可以掛接32個結點。在RS485通信網絡中一般采用的是主從通信方式,即一個主機帶多個從機。
很多情況下,連接RS-485通信鏈路時只是簡單地用一對雙絞線將各個接口的“A”、“B”端連接起來。RS485接口連接器采用DB-9的9芯插頭座,與智能終端RS485接口采用DB-9(孔),與鍵盤連接的鍵盤接口RS485采用DB-9(針)。
RS485時序如圖2:
我們經常使用RS232-485轉換器進行RS232和RS485的轉化。
RS232-485轉換器主要包括了電源、232電平轉換、485電路三部分。該電路的232電平轉換電路采用了MAX232集成電路,485電路采用了MAX485集成電路。為了使用方便,電源部分設計成無源方式,整個電路的供電直接從PC機的RS232接口中的DTR(4腳)和RTS(7腳)竊取。PC串口每根線可以提供大約9mA的電流,因此兩根線提供的電流足夠供給這個電路使用了。
MAX485是通過兩個引腳RE(2腳)和DE(3腳)來控制數據的輸入和輸出。當RE為低電平時,MAX485數據輸入有效;當DE為高電平時,MAX485數據輸出有效。在半雙工使用中,通常可以將這兩個腳直接相連,然后由PC或者單片機輸出的高低電平就可以讓MAX485在接收和發送狀態之間轉換了。由于本電路DTR和RTS都用于了電路供電,因此使用TX線和MAX232的另外一個通道及Q1來控制MAX485的狀態切換。平時MAX232的9腳輸出高電平,經Q1倒相后,使MAX485的RE和DE為低電平而處于數據接收狀態。當PC機發送數據時,MAX232的9腳輸出低電平,經Q1倒相后,使MAX485的RE和DE為高電平而處于數據發送狀態。
過程如圖3: