MAX1487/485芯片DE控制端的設計方案解析
考慮到線路的特殊情況(如某一臺分機的485芯片被擊穿短路),為防止總線中其它分機的通信受到影響,必須在其A、B輸出端與485總線之間進行隔離。一種簡單可行的方法是:在MAX1487的信號輸出端串聯兩個10~30Ω的電阻R1、R2,這樣一來,一方面,本機的硬件故障就不會使整個總線的通信受到影響;另一方面,與Z1、Z2配合,進一步保護了485總線通訊芯片。
在售飯系統產品的現場施工中,一般采用雙絞線來連接,它的特性阻抗為120Ω左右,所以,線路設計時,在整個485網絡傳輸線兩端應各接1只120Ω的匹配電阻(如圖2中R7),以減少線路上傳輸信號的反射。
由RS-485芯片的特性可知,接收器的檢測靈敏度為±200mV,即差分輸入端的電位差的絕對值大或等于200mV時,輸出狀態不確定。如果總線上所有發送器被禁止時,總線處于空閑狀態,接收器的輸出狀態是不定的。如處于邏輯“0”,這會被誤認為是通信幀的起始位而引起工作不正常。解決這個問題的辦法是人為地使A端電位高于B端電位,這樣接收端的電平在485總線不發送期間(總線空閑時(呈現唯一的高電平,8031單片機就不會被誤中斷而收到亂字符。通過在485電路的A、B輸出端加接上拉、下拉電阻R5、R6,即可很好地解決這個問題。需要注意的是,在整個網絡中只需在一處接入這兩只電阻,通常在主機中接入。
有些資料中提到,在施工中不能將主機安裝在網絡的中間形成T型分布,而應將主機放在總線的一端。由485總線規范指出,最大通訊距離可達1.2km,筆者在現場施工中,為了增加通訊距離,將主機設置在網絡的中央,由于分機間無需進行通訊,兩臺分機之間的最大距離可達到2.4km。實際應用中可達到2km而保證通訊正常。
3 軟件的編程RS-485通常應用于一對多點的主從應答式通信系統中,相對于RS-232等全雙工總線,效率低了許多,因此選用合適的通信協議及控制方式就顯得非常重要。
3.1 總線穩態控制大多數使用者選擇在數據發送前1ms將收發控制端DE置成高電平,使總線進入穩定的發送狀態后才發送數據,數據發送完畢再延遲1ms后置TC端成低電平,使數據可靠發送完畢后才轉入接收狀態。如按這樣的要求來做,系統的通訊效率將大大降低。據筆者使用的經驗,DE端有10個機器周期的延時已滿足要求。
3.2 通訊協議制定由于485總線是半雙工異步通信總線,在某一個時刻,總線只可能呈現一種狀態,所以,這種方式一般適用于主機對分機的查詢方式通信,總線上必然有一臺始終處于主機地位的設備在巡檢其它的分機,所以需要制定一套合理的通信協議來協調總線的分時共用。這里采用的是數據包通信方式。為保證數據傳輸質量,對每個字節進行校驗的同時,應盡量減少特征字和校驗字。慣用的數據包括格式由引導碼、長度碼、地址碼、命令碼、數據、校驗碼、尾碼組成,每個數據包長度達20~30字節。在RS-485系統中這樣的協議不太簡練,筆者采用了如下協議:上位機數據包格式由地址碼、長度碼、命令(或數據)碼、CRC校驗碼組成;下位機應答幀由長度碼、狀態碼、數據碼和CRC校驗碼組成。實際使用效果良好。
4 結束語經過上述的軟硬件共同處理,485總線在售飯系統應用中的可靠性大大提高,在食堂比較惡劣的環境條件下,系統的通信始終處于正常狀態,整機性能滿足了現場工程的需要。
由于485總線是一種半雙工通訊總線,往往用于主從式通訊系統。在這樣的系統中,通常只有一臺主機,一旦主機出現故障,或者通訊電纜損壞,會使整個系統的通信陷于癱瘓,因此,還應考慮分機能實現脫機(離線)工作。
盡管485總線存在一些缺陷,但由于它的線路設計簡單、價格低廉、控制方便,只要合理地使用,仍然能發揮良好的作用。
雙控開關相關文章:雙控開關原理














評論