基于雙層CAN總線的聲納數(shù)據(jù)通信系統(tǒng)設(shè)計(jì)
2.2 電源監(jiān)測(cè)與隔離電路
電源是通信系統(tǒng)的能量保證,電源電路的可靠性和穩(wěn)定性對(duì)系統(tǒng)能否正常工作起著至關(guān)重要的作用。為最大限度減小噪聲和干擾,光耦部分采用的兩個(gè)電源VCC與VDD必須完全隔離,否則采用光耦也就失去了意義。
系統(tǒng)采用ICL7665對(duì)5 V電源進(jìn)行監(jiān)測(cè),當(dāng)電源電壓在4.8~5.2 V之間時(shí),OUT1和OUT2均輸出高電平;當(dāng)電源電壓高于5.2 V時(shí),OUT1輸出低電平,OUT2輸出高電平;當(dāng)電源電壓低于4.8 V時(shí),OUT1輸出高電平,OUT2輸出低電平。ICL7665的輸出信號(hào)通過(guò)光電耦合器TLP281接入PIC18F4580的I/O口,實(shí)現(xiàn)對(duì)電源電壓的監(jiān)控,使電源電壓誤差4%。TLP281通過(guò)電光和光電傳遞信號(hào),在電氣上隔離信號(hào)的發(fā)送端和接收端。這種隔離作用能有效抑制噪聲,消除接地回路的干擾。電源監(jiān)測(cè)與隔離電路原理圖如圖4所示。本文引用地址:http://2s4d.com/article/156678.htm
2.3 軟件設(shè)計(jì)
通信程序主要包括節(jié)點(diǎn)初始化程序、數(shù)據(jù)發(fā)送程序、數(shù)據(jù)接收程序以及CAN總線出錯(cuò)處理程序等。為便于移植和資源共享,系統(tǒng)軟件設(shè)計(jì)采用C語(yǔ)言實(shí)現(xiàn),軟件遵循模塊化設(shè)計(jì)思想,采用結(jié)構(gòu)化程序設(shè)計(jì)方案,使其具有良好的擴(kuò)展性。
在CAN通信過(guò)程中,初始化包括設(shè)置SPI接口的數(shù)據(jù)傳輸速率、CAN通信的波特率、MCP2510的接收過(guò)濾器和屏蔽器以及發(fā)送和接收中斷允許標(biāo)志位等。內(nèi)部和外部CAN控制器在接收數(shù)據(jù)時(shí)采用中斷方式,發(fā)送數(shù)據(jù)時(shí)采用查詢方式。與內(nèi)部CAN控制器不同的是,讀、寫(xiě)MCP2510的發(fā)送和接收緩沖器必須通過(guò)SPI接口協(xié)議的讀寫(xiě)命令來(lái)實(shí)現(xiàn)。寫(xiě)指令首先被發(fā)送到MCP2510的SI引腳,并在SCK的上升沿鎖存每個(gè)數(shù)據(jù)位,然后發(fā)送地址和數(shù)據(jù)。指令執(zhí)行完畢后,數(shù)據(jù)被寫(xiě)進(jìn)指定的地址單元中,再通過(guò)SPI接口協(xié)議的寫(xiě)命令來(lái)設(shè)置發(fā)送位以啟動(dòng)發(fā)送。讀操作時(shí),首先將讀指令和地址發(fā)送到MCP2510的SI引腳,并在SCK的上升沿鎖存每個(gè)數(shù)據(jù)位。同時(shí)把存貯在這個(gè)地址單元中的數(shù)據(jù)在SCK的下降沿輸出到SO引腳。當(dāng)執(zhí)行讀寫(xiě)操作時(shí),CS引腳應(yīng)始終保持在低電平。外部擴(kuò)展CAN總線軟件設(shè)計(jì)的流程圖,如圖5所示。
3 系統(tǒng)測(cè)試
CAN總線協(xié)議有很好的錯(cuò)誤校驗(yàn)措施,當(dāng)硬件檢測(cè)到數(shù)據(jù)在傳送過(guò)程中發(fā)生錯(cuò)誤時(shí),會(huì)自動(dòng)重新發(fā)送數(shù)據(jù),當(dāng)某一節(jié)點(diǎn)的錯(cuò)誤嚴(yán)重時(shí),總線會(huì)自動(dòng)關(guān)閉該節(jié)點(diǎn),且不影響其他節(jié)點(diǎn)的數(shù)據(jù)傳送。
為了驗(yàn)證系統(tǒng)數(shù)據(jù)采集及通信可靠性,分別對(duì)CAN總線上位機(jī)與各中間控制器節(jié)點(diǎn)、中間控制器與各采集單元節(jié)點(diǎn)進(jìn)行實(shí)時(shí)仿真測(cè)試。仿真通信介質(zhì)采用100 m長(zhǎng)屏蔽電纜,采用多種數(shù)據(jù)幀結(jié)構(gòu),選用總線速率為20 kB/s,傳送數(shù)據(jù)域長(zhǎng)度為8 bit的數(shù)據(jù)幀。分別進(jìn)行上位機(jī)與節(jié)點(diǎn)的單幀和多幀通信。從主控狀態(tài)顯示情況來(lái)看,無(wú)數(shù)據(jù)傳送出錯(cuò)和數(shù)據(jù)丟失現(xiàn)象,性能穩(wěn)定,驗(yàn)證系統(tǒng)具有一定的可靠性。
4 結(jié)束語(yǔ)
本文結(jié)合CAN總線在航海領(lǐng)域的應(yīng)用狀況,在研究CAN總線技術(shù)和PIC單片機(jī)功能的基礎(chǔ)上,設(shè)計(jì)了一種基于雙層CAN總線的聲納數(shù)據(jù)傳輸系統(tǒng)。本系統(tǒng)通過(guò)結(jié)合PIC18F4580內(nèi)置CAN控制器及外擴(kuò)展CAN控制器的方式,以具有雙CAN總線接口的單片機(jī)中間控制器為核心,采用分級(jí)、分區(qū)域組合的思想實(shí)現(xiàn)兩級(jí)、多區(qū)域數(shù)據(jù)信息的采集。系統(tǒng)充分融合了CAN總線傳輸距離遠(yuǎn),傳輸速率高,抗干擾能力強(qiáng)的特點(diǎn),通過(guò)實(shí)驗(yàn)檢測(cè),文中所提出的設(shè)計(jì)方案可行,完全滿足聲納數(shù)據(jù)傳輸系統(tǒng)高穩(wěn)定性、高可靠性的要求。系統(tǒng)不僅適用于船舶聲納數(shù)據(jù)的采集,而且可對(duì)CAN總線在航空領(lǐng)域的應(yīng)用提供參考。
評(píng)論