一、什么是RS-485接口?它比RS-232-C接口相比有何特點(diǎn)?
答: 由于RS-232-C接口標(biāo)準(zhǔn)出現(xiàn)較早,難免有不足之處,主要有以下四點(diǎn):
(1) 接口的信號(hào)電平值較高,易損壞接口電路的芯片,又因?yàn)榕cTTL 電平不兼容故需使用電平轉(zhuǎn)換電路方能與TTL電路連接。
(2) 傳輸速率較低,在異步傳輸時(shí),波特率為20Kbps。
(3) 接口使用一根信號(hào)線和一根信號(hào)返回線而構(gòu)成共地的傳輸形式, 這種共地傳輸容易產(chǎn)生共模干擾,所以抗噪聲干擾性弱。
(4) 傳輸距離有限,最大傳輸距離標(biāo)準(zhǔn)值為50英尺,實(shí)際上也只能用在50米左右。針對(duì)RS-232-C的不足,于是就不斷出現(xiàn)了一些新的接口標(biāo)準(zhǔn),RS-485就是其中之一,它具有以下特點(diǎn):(1) RS-485的電氣特性:邏輯"1"以兩線間的電壓差為+(2-6) V表示;邏輯"0"以兩線間的電壓差為-(2-6)V表示。接口信號(hào)電平比RS-232-C降低了,就不易損壞接口電路的芯片,且該電平與TTL電平兼容,可方便與TTL 電路連接。(2) RS-485的數(shù)據(jù)最高傳輸速率為10Mbps 。(3) RS-485接口是采用平衡驅(qū)動(dòng)器和差分接收器的組合,抗共模干能力增強(qiáng),即抗噪聲干擾性好。(4) RS-485接口的最大傳輸距離標(biāo)準(zhǔn)值為4000英尺,實(shí)際上可達(dá) 3000米,另外RS-232-C接口在總線上只允許連接1個(gè)收發(fā)器, 即單站能力。而RS-485接口在總線上是允許連接多達(dá)128個(gè)收發(fā)器。即具有多站能力,這樣用戶可以利用單一的RS-485接口方便地建立起設(shè)備網(wǎng)絡(luò)。(5) 因RS-485接口具有良好的抗噪聲干擾性,長的傳輸距離和多站能力等上述優(yōu)點(diǎn)就使其成為首選的串行接口。因?yàn)镽S485接口組成的半雙工網(wǎng)絡(luò),一般只需二根連線,所以RS485接口均采用屏蔽雙絞線傳輸。 RS485接口連接器采用DB-9的9芯插頭座,與智能終端RS485接口采用DB-9(孔),與鍵盤連接的鍵盤接口RS485采用DB-9(針)。
二、采用RS485接口時(shí),傳輸電纜的長度如何考慮?
答: 在使用RS485接口時(shí),對(duì)于特定的傳輸線經(jīng),從發(fā)生器到負(fù)載其數(shù)據(jù)信號(hào)傳輸所允許的最大電纜長度是數(shù)據(jù)信號(hào)速率的函數(shù),這個(gè) 長度數(shù)據(jù)主要是受信號(hào)失真及噪聲等影響所限制。下圖所示的最大電纜長度與信號(hào)速率的關(guān)系曲線是使用24AWG銅芯雙絞電話電纜(線徑為0.51mm),線間旁路電容為52.5PF/M,終端負(fù)載電阻為100歐 時(shí)所得出。(曲線引自GB11014-89附錄A)。由圖中可知,當(dāng)數(shù)據(jù)信 號(hào)速率降低到90Kbit/S以下時(shí),假定最大允許的信號(hào)損失為6dBV時(shí),則電纜長度被限制在1200M。實(shí)際上,圖中的曲線是很保守的,在實(shí)用時(shí)是完全可以取得比它大的電纜長度。 當(dāng)使用不同線徑的電纜。則取得的最大電纜長度是不相同的。例如:當(dāng)數(shù)據(jù)信號(hào)速率為600Kbit/S時(shí),采用24AWG電纜,由圖可知最大電纜長度是200m,若采用19AWG電纜(線徑為0.91mm)則電纜長度將可以大于200m; 若采用28AWG 電纜(線徑為0.32mm)則電纜 長度只能小于200m。
三、如何實(shí)現(xiàn)RS-485多點(diǎn)通訊
答:RS-485總線上任何時(shí)候只能有一發(fā)送器發(fā)送。半雙工方式,主從只能一個(gè)發(fā)。全雙工方式,主站總可發(fā)送,從站只能有一個(gè)發(fā)送。
四、RS-485接口通訊時(shí),在什么條件下需要采用終端匹配?電阻值如何確定?如何配置終端匹配電阻?
答:在長線信號(hào)傳輸時(shí),一般為了避免信號(hào)的反射和回波,需要在接收端接入終端匹配電阻。其終端匹配電阻值取決于電纜的阻抗特性,與電纜的長度無關(guān)。RS-485一般采用雙絞線(屏蔽或非屏蔽)連接,終端電阻一般介于100至140Ω之間,典型值為120Ω。在實(shí)際配置時(shí),在電纜的兩個(gè)終端節(jié)點(diǎn)上,即最近端和最遠(yuǎn)端,各接入一個(gè)終端電阻,而處于中間部分的節(jié)點(diǎn)則不能接入終端電阻,否則將導(dǎo)致通訊出錯(cuò)。
五、RS-485網(wǎng)不知道最遠(yuǎn)站點(diǎn)是哪一個(gè),應(yīng)該如何接匹配電阻呢?
答:會(huì)出現(xiàn)這種情況,是由于用戶組成RS-485網(wǎng)時(shí),沒有遵循站點(diǎn)至總線的連線應(yīng)盡可能短的原則。如果總線布線遵循這一原則,就不存在不知道哪個(gè)站點(diǎn)是最遠(yuǎn)的問題。而且要注意,這樣的布線,系統(tǒng)將會(huì)工作得不好。
六、RS-485接口為何在停止通信時(shí)接收器仍有數(shù)據(jù)輸出?
答:由于RS-485在發(fā)送數(shù)據(jù)完成后,要求所有的發(fā)送使能控制信號(hào)關(guān)閉且保持接收使能有效,此時(shí),總線驅(qū)動(dòng)器進(jìn)入高阻狀態(tài)且接收器能夠監(jiān)測(cè)總線上是否有新的通信數(shù)據(jù)。但是由于此時(shí)總線處于無源驅(qū)動(dòng)狀態(tài)(若總線有終端匹配電阻時(shí),A和B線的差分電平為0,接收器的輸出不確定,且對(duì)AB線上的差分信號(hào)的變化很敏感;若無終端匹配,則總線處于高阻態(tài),接收器的輸出不確定),容易受到外界的噪聲干擾。當(dāng)噪聲電壓超過輸入信號(hào)門限時(shí)(典型值±200mV),接收器將輸出數(shù)據(jù),導(dǎo)致對(duì)應(yīng)的UART接收無效的數(shù)據(jù),使緊接著的正常通訊出錯(cuò);另外一種情況可能發(fā)生在打開/關(guān)閉發(fā)送使能控制的瞬間,使接收器輸出信號(hào),也會(huì)導(dǎo)致UART錯(cuò)誤地接收。解決方法:1)在通訊總線上采用同相輸入端上拉(A線)、反相輸入端下拉(B線)的方法對(duì)總線進(jìn)行鉗位,保證接收器輸出為固定的"1"電平;2)采用內(nèi)置防故障模式的MAX308x系列的接口產(chǎn)品替換該接口電路;3)通過軟件方式消除,即在通信數(shù)據(jù)包內(nèi)增加2-5個(gè)起始同步字節(jié),只有在滿足同步頭后才開始真正的數(shù)據(jù)通訊。