基于雙層CAN總線的聲納數(shù)據(jù)通信系統(tǒng)設(shè)計
隨著數(shù)字式聲納系統(tǒng)的發(fā)展,聲納基陣越來越大,系統(tǒng)功能日趨復(fù)雜,一部現(xiàn)代聲納要對幾十路甚至幾百路的數(shù)據(jù)進行采集,大容量數(shù)據(jù)的遠距離傳輸成為聲納設(shè)計的重要課題。以往采用的以太網(wǎng)傳輸方式為超時重發(fā)機制,單點的故障容易擴散,造成整個網(wǎng)絡(luò)系統(tǒng)的癱瘓。由于CAN總線傳輸距離遠、速度快,有較強的抗電磁干擾能力,已成為國際上應(yīng)用最廣的現(xiàn)場總線之一。CAN為多主方式工作,其節(jié)點分成不同的優(yōu)先級,采用非破壞仲裁技術(shù),報文采用短幀結(jié)構(gòu),數(shù)據(jù)出錯率極低,節(jié)點在錯誤嚴重的情況下可自動關(guān)閉輸出。本系統(tǒng)利用雙層CAN總線實現(xiàn)聲納數(shù)據(jù)通信,具有突出的可靠性、實時性和靈活性。
1 設(shè)計原理
本數(shù)據(jù)通信系統(tǒng)要同時對多區(qū)域、多單元的數(shù)據(jù)信息進行傳輸及管理控制,因此采用分層、分區(qū)域的思想實現(xiàn)通信。系統(tǒng)采用單片機中間控制器作為各采集區(qū)域的核心控制器,實現(xiàn)上下層間的數(shù)據(jù)交換。采集單元自身具有微控制器和存儲器,既可作為系統(tǒng)的重要組成部分,參與系統(tǒng)功能的實現(xiàn),也可作為獨立單元來完成數(shù)據(jù)采集功能,即在系統(tǒng)出現(xiàn)通信等故障的情況下,采集單元仍可以獨立實現(xiàn)數(shù)據(jù)采集功能,并進行數(shù)據(jù)存儲,提高了系統(tǒng)的可靠性。單片機中間控制器是數(shù)據(jù)通信的區(qū)域控制器,提供上層網(wǎng)絡(luò)和下層網(wǎng)絡(luò)通訊的雙接口。一方面通過底層網(wǎng)絡(luò)(Bot-CAN Bus)與各個采集單元進行通訊,實現(xiàn)對本區(qū)域數(shù)據(jù)的傳輸與處理;另一方面通過上層網(wǎng)絡(luò)(Top-CAN Bus)與上位機進行數(shù)據(jù)通訊,實現(xiàn)上位機對各個采集區(qū)域和采集單元的信息采集和控制。系統(tǒng)結(jié)構(gòu)原理框圖如圖1所示。
2 系統(tǒng)設(shè)計
系統(tǒng)主要由上位機、單片機中間控制器PIC18F4580、CAN總線控制器MCP2510、收發(fā)器TJA1040T、高速光耦HCPL0600、各采集單元等組成。接口包括采集單元的CAN總線接口、單片機中間控制器的雙CAN總線接口和上位機的CAN總線接口。采集單元的CAN總線接口采用標準的CAN總線接口。上位機采用工業(yè)控制計算機,可通過CAN適配卡連接到CAN總線網(wǎng)絡(luò)上。單片機中間控制器的雙層CAN總線接口電路是系統(tǒng)設(shè)計的關(guān)鍵,其原理框圖,如圖2所示。
2.1 雙層CAN總線接口電路
單片機中間控制器PIC18F4580自身就集成了一路CAN控制器,該路CAN總線與各采集單元進行通信。為了實現(xiàn)兩路獨立的CAN總線,需要通過單片機的SPI口向外擴展一路CAN控制器,該路CAN總線實現(xiàn)與上位機的通信。
外擴展CAN控制器選用MieroChip生產(chǎn)的獨立可編程CAN控制器芯片MCP2510,MCP2510是一種帶有SH接口的CAN控制器,它支持CAN2.0A/B協(xié)議,并能夠發(fā)送和接收標準及擴展的信息幀,同時具有接收濾波和信息管理的功能。MCP2510通過SPI接口與PIC18F4580進行數(shù)據(jù)傳輸,最高數(shù)據(jù)傳輸速率可達5 MB/s,PIC18F4580可通過MCP2510與CAN總線上的其他MCU單元通訊。MCP2510內(nèi)含3個發(fā)送緩沖器、兩個接收緩沖器,同時還具有靈活的中斷管理能力,這些特點使得MCU對CAN總線的操作變得靈活簡便。為提高系統(tǒng)的抗干擾能力,在CAN控制器和CAN收發(fā)器之間加入高速光耦HCPL0600,其數(shù)據(jù)傳輸速率為10 MB/s,隔離電壓為2 500 V。CAN數(shù)據(jù)收發(fā)器選用Philips公司生產(chǎn)的TJA1040T,具有功耗低和電磁兼容性好的特點。使用MCP2510擴展CAN總線的接口電路原理圖,如圖3所示。
圖3中,單片機只給出部分管腳來說明具體的設(shè)計方法。使用單片機的RA5管腳來輸出MCP2510的片選信號,單片機的INT1管腳作為接收到有效數(shù)據(jù)包時的中斷輸入腳,利用單片機的SPI端口SDO,SDI和SCK與MCP251O實現(xiàn)數(shù)據(jù)的接收與發(fā)送。為了增強CAN總線節(jié)點的抗干擾能力,MCP2510的TXCAN和RXCAN并不是直接與TJA1040的TXD和RXD相連,而是通過高速光耦HCPL0600連接,這樣可實現(xiàn)總線上各CAN節(jié)點間的電氣隔離。另外,CAN總線兩端接有一個120 Ω的電阻,其作用是匹配總線阻抗。實驗證明,忽略匹配電阻的接入會使數(shù)據(jù)通信的抗干擾性以及可靠性降低,甚至無法實現(xiàn)數(shù)據(jù)通信。
單片機與各采集單元之間的通信利用自身集成的CAN控制器實現(xiàn),只需將高速光耦HCPL0600與PIC18F4580的CAN控制器部分直接接口即可,不再贅述。為方便系統(tǒng)測設(shè),設(shè)置了3個發(fā)光管指示燈,分別對CPU狀態(tài)和兩層CAN總線網(wǎng)絡(luò)運行狀態(tài)進行顯示。
評論