MAX3221采用單電源供電,電源接人方式簡單,內部由1個線性驅動,1個接收器,帶±15kVESD保護的雙速電荷泵電路組成。可以實現RS-232電平到TTL電平的轉換。MAX3221的另一優點是自動掉電功能。當無輸入信號時,可通過單片機的控制驅動器和接收器都將關閉,進人很低功耗的待機狀態(1μA),達到節能目的。
3、RS-485接口電路
由于基于差分信號傳輸的RS-485總線本身具有抗干擾能力強等特點,系統采用RS-485的通訊方式與主控機進行遠距離的通訊。要求無論是模擬信號還是RS-232信號通過單片機采集處理后,均可以用RS-485通訊方式進行遠傳。電路中采用了DC-DC隔離電源供電,并在單片機與RS-485通訊電路之間采用了高速光電耦合進行隔離,從而進一步提高了整個通訊模塊系統的抗干擾能力。MSP430F149串口2的TTL電平到RS-485接口電平的轉換采用的是芯片75176。通過RS-485總線的方式進行多機通訊時,如果某時刻某個75176的DE端電位為“1”,那么它的RS-485總線輸出將會處于發送狀態,占用了通訊總線,這時其他的分機就無法與主機進行通訊。如果某個分機出現異常情況下(如死機),就會一直占用總線,導致整個系統通訊崩潰。因此在電路設計時,要保證系統上電復位時75176的DE端電位為“0”,采用如圖2的接法。由于MSP430在復位期間,I/0口電位為“1”,發光管不發光,光電三極管不導通,75176的DE端電位為“0”,釋放總線,從而有效地解決復位期間分機“咬”總線的問題。增強了系統通訊的可靠性和穩定性,同時有效地解決了工,作現場與控制室之間的分離,保證了工作人員人身安全。
三、單片機控制的M.DBUS通訊原理
目前,工業上的MODBUS通訊協議已經成為電子控制器上的一種通用語言協議。通過此協議,控制器相互之間、控制器經由網絡(例如以太網)和其它設備之間可以通訊。它已經成為一通用工業標準。用它來實現不同廠商生產的控制設備連成工業網絡,進行集中監控。
基于此,可以根據實際工業網絡數據采集的一主多從的實際數據選擇模型,該模塊采用了此協議,因為協議定義了一個控制器能認識使用的消息結構,而不管它們是經過何種網絡進行通訊的。因此不管上位機是什么樣類型的測控設備,就按固定的MODBUS通訊協議要求的協議格式來回應來自主設備的請求,并進行偵測錯誤記錄。按照協議中要求的消息域格局和內容的公共格式回應。
在MODBUS通訊網絡上,此協議要求通訊時必須知道每個通訊模塊的設備地址,每個通訊模塊識別按地址發來的消息,根據功能碼來決定要產生何種動作。如果需要回應,控制器將生成相應的反饋信息并用MODBUS協議發出。
通訊模塊在用MSP430F149單片機控制通訊時采用了MODBUS協議支持的兩種數據傳輸模式:ASCII模式及RTU模式。ASCII模式中字符串每個8位字節分2個ASCII碼發送。RTU模式字符格式中每8位字符分2個4位16進制格式數據傳送。
同種情況下,RTU模式傳輸速度要優于ASCII模式。從兩種模式上可以看出,功能碼占用8位,可以應用的功能有255個,在系統用MODBUS組網的過程中,主要應用了前4個功能碼:01-讀取線圈狀態;02-讀取輸人狀態;03-讀取保持寄存器;04-讀取輸入寄存器。
根據上述要求和通訊模塊通用性的實際情況,該模塊上添加了2個按鍵、1個8位撥碼開關和多個指示燈進行例如數據_傳輸模式、波特率、地址、數據位等參數的設置。內部的軟件編_程按照:按“設置”鍵,相應功能的指示燈亮,然后用撥碼開關對其進行設置,按“確認”鍵讀入單片機。如此可依次對數據傳輸模式、串口屬性等進行設置。
四、軟件實現
系統軟件以MODBUS通訊協議為核心基礎,附以自定義的通訊協議,以標準的MODBUS通訊協議為對外接口,以自己定_義的通訊協議為對下位機的通訊接口,以此來實現通訊的連接轉換。軟件分4部分
(1)模數轉換部分,實現模擬信號的數據采集。
(2)下位機的串口軟件。由實際儀表的通訊協議定義的下位機通訊軟件,重點是要看實際儀表的通訊方式。
(3) MODBUS通訊軟件。重點是要分清每個通訊的數據幀的幀頭和幀尾,特別是在RTU模式下,必須分清幀頭在什么位置。做法是在串口中斷中打開定時中斷,在通訊間隔超過通訊3.5個字符時認為通訊一幀結束,再來串口中斷就是下一幀的開始。
(4)數據處理軟件。MODBUS通訊協議建立在CRC校驗基礎之上,因此通訊可靠性比較好,在軟件中采用查表的方式來進行MODBUS校驗,極大地提高了程序運行的效率。
該通訊模塊是針對工業上來自不同廠商生產的檢測儀表進行組網數據采集的。