RS232
RS232是一種異步傳輸標准接口。通常 RS-232 接口以9個引腳 (DB-9) 或是25個引腳 (DB-25) 的型態出現 。RS232最經常使用的連接方式是三根線:一條發送線、一條接收線及一條地線。
電平信號:邏輯1(MARK)=-3V~-15V,邏輯0(SPACE)=+3~+15V
傳輸距離:RS-232-C標准規定,驅動器同意有2500pF的電容負載,通信距離將受此電容限制,比如,採用150pF/m的通信電纜時,最大通信距離為15m;若每米電纜的電容量減小,通信距離能夠添加。傳輸距離短的還有一原因是RS-232屬單端信號傳送,存在共地噪聲和不能抑制共模干擾(兩條傳輸線上的信號同一時候變大或變小)等問題,因此一般用於20m以內的通信。
RS232不能實現多機通信。
原因:RS232為全雙工的通信方式,一般的連接方式都為TTL電平<--電平轉換芯片-->RS232電平,線路空暇時發送和接收的TTL電平都是高電平,電平轉換芯片之后得到的RS232電平總是低。如今假設A為主機,B和C為從機,那么A想給B發送信號的時候沒有問題,由於A的TXD線連接在B和C的RXD線上面,此時B和C的RXD線都是正常的處於等待接收(空暇)的狀態,可是假設B假設收到信號想給A回復的時候,B的TXD與C的TXD線都同A的RXD線連接在一起的,B此時處於發送數據的狀態(B即想控制自己的TXD線高低電平之間變化),然而C此時處於空暇狀態(C想保證自己的TXD線為低電平不變),這個時候B和C的TXD線之間就出現了通信沖突。所以RS232能夠實現點對點的通信方式,但這樣的方式不能實現組網的功能。
傳輸速率:RS232的傳輸速率較慢,可以達到1Mbps的已經比較少。
RS485
RS485一般採用兩線制傳輸:A、B兩條傳輸線。
電平信號:-2V~-6V表示“0”,+2V~+6V表示“1”,電壓為A-B的電壓。
傳輸距離:一般1Km以內都沒有問題。理論上,通信速率在100Kpbs及下面時,RS485的最長傳輸距離可達1200米,但在實際應用中傳輸的距離也因芯片及電纜的傳輸特性而所差異。在傳輸過程中能夠採用添加中繼的方法對信號進行放大,最多能夠加八個中繼,也就是說理論上RS485的最大傳輸距離能夠達到9.6公里。假設真須要長距離傳輸,能夠採用光纖為傳播介質,收發兩端各加一個光電轉換器,多模光纖的傳輸距離是5~10公里,而採用單模光纖可達50公里的傳播距離。
RS485能夠實現多機通信。
原因:RS485為半雙工通信方式,即分時實現收和發。總線空暇的狀態下須要保證狀態為邏輯1,也就是A-B的電壓符合邏輯1的電平值。如果此時1為主機,2和3為從機,數據線的連接方式為1,2,3的A連接在一起,1,2,3的B也連接在一起,不存在RS232連接方式的問題。
補充:
同步傳輸是一種以數據塊為傳輸單位的傳輸數據方式,該方式下數據塊與數據塊之間的時間間隔是固定的,必須嚴格地規定它們的時間關系。每一個數據塊的頭部和尾部都要附加一個特殊的字符或比特序列,標記一個數據塊的開始和結束,一般還要附加一個校驗序列,以便對數據塊進行差錯控制。
異步傳輸(Asynchronous Transmission): 異步傳輸將比特分成小組進行傳送,小組能夠是8位的1個字符或更長。發送方能夠在不論什么時刻發送這些比特組,而接收方從不知道它們會在什么時候到達。一個常見的樣例是計算機鍵盤與主機的通信。
同步異步的差別主要就在於收發兩方的時鍾是否同步。
波特率計算:假設設置波特率為115200,數據位為8bit,起始位為1bit,結束位為1bit,校驗位為1bit;
那1s鍾不間斷可傳送的字符(1bit起始位+8bit數據位+1bit校驗位+1bit結束位,共11bit)為115200/11=10472;10472/1024結果約為10.227所以速率約為10kB/ps。