485通訊注意事項
文章出處:http://psychicreadingswithdeb.com 作者:興邦開(kāi)發(fā)部 人氣: 發(fā)表時(shí)間:2016年06月28日
為了讓主機可以比較"從容"地切換到接收狀態(tài),從機接收到報文后不應該馬上回答,而要至少等待雙方約定的一個(gè)時(shí)間(比如20ms),這其實(shí)也應當是RS-485通信的一個(gè)參數。
使用全雙工RS-422就沒(méi)有這個(gè)問(wèn)題。有一些RS232到RS485的接口轉換器需要用RTS信號來(lái)控制發(fā)送和接收狀態(tài)切換,由于PC機很難像單片機那樣精確地判斷最后一位從移位寄存器發(fā)出去了(單片機對有的UART可以用中斷,或者笨笨地定時(shí)+查詢(xún)標志等方法),所以經(jīng)常發(fā)生下位機收不好最后一個(gè)字節或者上位機收不好第一各字節的情況。有人采取上位機正常報文后面加無(wú)用字符(比如0xFF)的辦法來(lái)湊合。
雖然現在有RS232到RS485的收發(fā)自動(dòng)切換的轉接器,但它內部其實(shí)是用單穩態(tài)觸發(fā)器來(lái)實(shí)現的,為了適應不同波特率,切換仍然有一個(gè)延遲,波特率較高的時(shí)候下位機回答太快仍然有可能第一個(gè)字節出錯。 所說(shuō)的20ms只是一個(gè)舉例,根據波特率等情況當然可以適當改變。但是,正規的RS485規約應該要規定這個(gè)幀間空閑間隔的(比如IEC870-5規定是33bit)。 實(shí)際通信的實(shí)時(shí)性主要由輪詢(xún)的間隔以及超時(shí)的處理來(lái)決定,附加幾毫秒的延時(shí)并不很重要。實(shí)際使用RS485通信最常遇到倒就是收發(fā)切換的問(wèn)題,要想解決好,一是上位機從發(fā)到收的切換要盡量快(盡可能使用UART硬件自動(dòng)控制RTS、發(fā)送完成中斷或者精確定時(shí)),二是下位機要略位"寬容"一點(diǎn)。
一、如何布線(xiàn)
走線(xiàn)走得好,可以很大程度減少干擾的影響,提高通訊的可靠性,但我們在實(shí)踐中往往對此認識不 足。如為了走線(xiàn)方便,把網(wǎng)線(xiàn)放在電源線(xiàn)的線(xiàn)槽里,或在天花板走線(xiàn)時(shí)經(jīng)過(guò)日光燈等干擾源,這樣走線(xiàn)是不對的。實(shí)際上干擾源對相鄰網(wǎng)線(xiàn)的干擾,主要是通過(guò)磁場(chǎng) 和電場(chǎng)的作用,按照電磁理論,干擾源對網(wǎng)線(xiàn)的感應與距離的平方成反比,因此,網(wǎng)線(xiàn)離干擾源那怕遠離10厘米,網(wǎng)線(xiàn)受到的干擾都會(huì )明顯減弱。
綜上所述,走線(xiàn)應遵循兩個(gè)原則:
①遠離電源線(xiàn),日光燈等干擾源;
②當網(wǎng)線(xiàn)不能與電源線(xiàn)等干擾源避開(kāi)時(shí)網(wǎng)線(xiàn)應與電源線(xiàn)垂直,不能平行,并采用質(zhì)量高的雙絞線(xiàn)走線(xiàn)。
二、PC 機與多臺收款機聯(lián)接方式
485卡和ECR都有兩個(gè)485接口。多機聯(lián)網(wǎng)應遵循原則,即從PC的485卡的其中一個(gè)485接口連到第一臺ECR的其中一個(gè)485接口,然后從第一 臺ECR的另一個(gè)485接口連到第二臺ECR的其中一個(gè)485接口,然后再從第二臺ECR的另一個(gè)485接口連到第三臺ECR,如此類(lèi)推。最后在PC的 485卡和最后一臺ECR的另一個(gè)485接口接上 120Ω 匹配電阻(此匹配電阻在485卡內配有兩個(gè))。
三、聯(lián)機的數量
由于卡上,下拉電阻出于抗干擾的考慮,減少了電阻阻抗,使75176的負載增加,導致聯(lián)機臺數減少,因此建議超過(guò)10臺以上收款機時(shí),應該考慮使用兩個(gè)網(wǎng)卡,兩個(gè)串口,聯(lián)成兩個(gè)網(wǎng)絡(luò ),減輕網(wǎng)卡的負載。
四、通訊速率
通訊速率快慢在我們通訊系統中是以波特率的高低來(lái)衡量。龍飛收款機的通訊波特率可以在9600、19200和38400之間選擇,我們選擇的原則是:距 離短可以選擇較高的波特率,距離長(cháng)則選擇較低的波特率。當我們選擇較低的波特率時(shí),如果發(fā)現比正常速度(同樣波特率相比較)慢得多,很可能線(xiàn)路已受到干 擾,數據校驗經(jīng)常出錯,不斷重傳,造成通訊速度孌慢,此時(shí)應檢查網(wǎng)絡(luò )是否采取本文所提到的抗干擾措施,同時(shí)還可以采取提高通訊波特率的方法,以快速通過(guò)線(xiàn) 路的方式,減少干擾的影響。
五、線(xiàn)型的選擇
RS485是采用平衡式(差分式)線(xiàn)路,對同時(shí)出現在兩條信號線(xiàn)DATA+和 DATA-的干擾有較強的抑制能力,當兩條線(xiàn)絞在一起時(shí),對通訊各種分布參數耦合過(guò)來(lái)的干擾信號則可平均地分配到這兩條線(xiàn)上,因此對RS485的平衡式線(xiàn) 路而言,用雙絞線(xiàn)可獲得抗干擾能力。因此,建議采用無(wú)屏蔽的雙絞線(xiàn),如果有條件可采用屏蔽雙絞線(xiàn),但屏蔽線(xiàn)兩端要接好地,才有屏蔽效果。如果距離較短,可 采用一般的電話(huà)線(xiàn)。如果線(xiàn)中有多股雙絞線(xiàn),應采用其中一對雙絞線(xiàn);如果距離較長(cháng)時(shí),網(wǎng)線(xiàn)的電阻不容忽視,網(wǎng)線(xiàn)存在的電阻會(huì )使信號衰減,降低網(wǎng)絡(luò )通訊的可靠 性。因此距離較長(cháng),應選用銅芯較粗的絞線(xiàn),理論上講一根線(xiàn)兩端電阻不應超過(guò)80Ω。
六、注意接地
目前,有相當部分PC機在使用 時(shí),電源并沒(méi)接地。主要是電源沒(méi)有接地,或電源插座沒(méi)有地線(xiàn),從而造成PC機地線(xiàn)與地之間往往有幾十伏以上的漏電電壓存在,這個(gè)電壓很容易就引入網(wǎng)卡或收 款機中,從而導致網(wǎng)卡或收款機通訊損壞。因此,我們要求PC機需要良好的接地。保證網(wǎng)卡或收款機的正常工作。