吳雄英,謝興紅,閆 萍
(成都理工大學(xué)信息科學(xué)與技術(shù)學(xué)院,成都,610000)
多機通信主要應(yīng)用在工業(yè)控制和智能檢測中:通過一個上位機控制多個下位機,通過下位機對被控設(shè)備進行控制和狀態(tài)檢測,同時返回數(shù)據(jù)給上位機。RS232總線只能實現(xiàn)一對一的通信,RS485總線可掛接32臺設(shè)備,能夠進行多機通信。多機通信的基本結(jié)構(gòu)如圖1所示。
圖1 多機通信基本結(jié)構(gòu)Fig.1 The basic structure of the Multiprocessor Communication
PC機具有較強的數(shù)據(jù)分析處理能力,良好的人機界面及大容量數(shù)據(jù)存儲空間,可充當上位機,用來監(jiān)控下位機的運行狀況。但是,通常PC機上只有RS232串口,要使用RS485來進行實現(xiàn)多機通信,必須配置RS485實現(xiàn)與RS232之間的轉(zhuǎn)換。單片機與PC機間的RS485通信總體硬件接口電路框圖如圖2所示。
圖2 RS232/RS485轉(zhuǎn)換電路框圖Fig.2 The converter circuit diagram of RS232 to RS485
下位機通常由單片機來充當。MSP430單片機具有豐富的外圍模塊,如MSP430F149就包含:7組I/O端口,精密模擬比較器,硬件乘法器,2組頻率可達8MHZ的時鐘模塊,2個可以實現(xiàn)異步、同步及多址訪問的USART。在實際的應(yīng)用中,USART接口具有極大的通用性,當寄存器UxCTL的SYNC位為0時,USART工作在異步模式下。在異步模式下,USART通過URXD、UTXD這兩個引腳和外部系統(tǒng)連接。其與MAX485的接口電路如圖3所示。
圖3中,RS485采用平衡發(fā)送和差分接收方式來實現(xiàn)通信:在發(fā)送端TXD將串行口的TTL電平信號轉(zhuǎn)換成差分信號A、B兩路輸出,經(jīng)傳輸后在接收端將差分信號還原成TTL 電平信號。
輸出電路的設(shè)計要充分考慮到線路上的各種干擾及線路特性阻抗的匹配。由于工程環(huán)境比較復(fù)雜,現(xiàn)場常有各種形式的干擾源,所以485總線的傳輸端一定要加有保護措施。在電路設(shè)計中采用穩(wěn)壓管D1、D2組成的吸收回路,也可以選用能夠抗浪涌的TVS瞬態(tài)雜波抑制器件。
考慮到線路的特殊情況(如某一臺下位機的485芯片被擊穿短路),為防止總線中其它分機的通信受到影響,在485信號輸出端串聯(lián)了兩個20Ω的電阻R10、R11。這樣本機的硬件故障就不會使整個總線的通信受到影響
在應(yīng)用系統(tǒng)工程的現(xiàn)場施工中,由于通信載體是雙絞線,它的特性阻抗為120Ω左右,所以線路設(shè)計時,在RS-485網(wǎng)絡(luò)傳輸線的始端和末端各應(yīng)接1只120Ω的匹配電阻(如圖1中R8),以減少線路上傳輸信號的反射。
由于RS-485芯片的特性,接收器的檢測靈敏度為±200mV,即差分輸入端VA-VB ≥+200mV,輸出邏輯1;VA-VB≤-200mV,輸出邏輯0;而A、B端電位差的絕對值小于200mV時,輸出為不確定。如果在總線上所有發(fā)送器被禁止時,接收器輸出邏輯0,這會誤認為通信幀的起始引起工作不正常。解決這個問題的辦法是人為地使A端電位高于B兩端電位,這樣RXD的電平在485總線不發(fā)送期間(總線懸浮時)呈現(xiàn)唯一的高電平,單片機就不會被誤中斷而收到亂字符。通過在485電路的A、B輸出端加接上拉、下拉電阻R7、R9,即可很好地解決這個問題。
MSP430單片機的UART模塊具有比普通51單片機更完善的特性,如:可選擇奇偶校驗方式、波特率小數(shù)部分可編程、提供差錯控制及錯誤狀態(tài)位、串口中斷喚醒CPU等。將這些特點應(yīng)用于串口通信中可以增強通信的可靠性,比如:UART硬件模塊可以被設(shè)置為若奇偶校驗出錯則不接收當前數(shù)據(jù),通過設(shè)定波特率調(diào)制值可使波特率更準確,通過休眠模式的應(yīng)用可提高CPU工 作的效率并降低系統(tǒng)的功耗。
對于多機通信,MSP430單片機內(nèi)置了空閑模式和地址模式兩種通信模式,為提供可靠高效的多機通信提供了保證。兩種模式主要在如何確定地址幀方面存在差別:(1)空閑模式:兩個數(shù)據(jù)塊之間的傳輸空閑時間大于或等于10bits,也即用傳輸線上大于或等于10 bits空閑之后的第一個數(shù)據(jù)表示地址。(2)地址模式:通過字節(jié)幀中的地址位(1或0)指示該幀是地址幀還是數(shù)據(jù)幀。由于空閑模式要求兩個數(shù)據(jù)塊之問一定要有大于或等于10 bits的時間問隔,所以在連續(xù)傳輸?shù)膱龊?,傳輸速率會比地址模式慢。本設(shè)計中采用地址模式。軟件流程如圖4所示。
圖4 軟件流程圖Fig.4 The Software flow-chart
圖3 MSP430與RS485的接口電路Fig.3 The interface circuit between MSP430 and RS485
在多機通信系統(tǒng)中利用RS485總線實現(xiàn)遠程數(shù)據(jù)傳輸功能,系統(tǒng)易于實現(xiàn),可靠性高,抗干擾能力強,能比較容易地實現(xiàn)多機通信的功能。在一些工控系統(tǒng)中具有較好的應(yīng)用推廣價值。
[1]鄭秀聰,謝運祥.DSP與單片機的串行通信及液晶顯示系統(tǒng)的設(shè)計[J].計算機工程與科學(xué),2011(6).
[2]謝興紅,林凡強,吳雄英.MSP430單片機基礎(chǔ)與實踐[M].北京:北京航空航天大學(xué)出版社,2008.
[3]沈建華,揚艷琴,翟驍曙.MSP430系列16位超低功耗單片機實踐與系統(tǒng)[M].北京:清華大學(xué)出版社,2004.
[4]胡大可.MSP430系列FLASH型超低功耗16位單片機[M].北京:北京航空航天大學(xué)出版社,2001.
[5]MAXIM.MAX485數(shù)據(jù)手冊.http://www.maxim-ic.com.1996
[6]張淑云,孫江北,霍志明.PC機與單片機的串行通訊[J].中國科技信息,2005(10).