基于總線的分布式水下航行器控制器設(shè)計
4 數(shù)據(jù)存儲模塊
數(shù)據(jù)存儲模塊使用Nand Flash與微控制器接口來實現(xiàn)。Nand Flash內(nèi)存是flash內(nèi)存的一種,在嵌入式系統(tǒng)中的地位和PC機(jī)上的硬盤是類似的。具有容量大、改寫速度快、系統(tǒng)掉電后數(shù)據(jù)不會丟失等優(yōu)點,適用于大量數(shù)據(jù)的存儲。Nand Flash的接口本質(zhì)上是一個I/O接口,數(shù)據(jù)總線寬度8bit,沒有地址總線。CLE和ALE這兩條信號線用于區(qū)分總線上的數(shù)據(jù)類別。當(dāng)系統(tǒng)對Nand Flash設(shè)備數(shù)據(jù)訪問的時候,需要先向Nand Flash設(shè)備發(fā)出相關(guān)的命令和參數(shù),然后再讀出需要的數(shù)據(jù)。在連接中,注意用NXP2478的地址線A19與A20連接ALE和CLE引腳,這種連接方式必須在配置總線速度的時候使NXP2478總線速度和Nand Flash時序相匹配。電路中R/-(-相)引腳和寫保護(hù)引腳直接接上拉電阻。此外還有一種方案是把R/-(-還)引腳與GPIO口相連,主要目的是當(dāng)讀寫Nand Flash操作完成時,這可以通過中斷來判斷一次的讀或者寫完成的時刻。Nand Flash接口電路如圖4所示。
5 通訊模塊
5.1 CAN通信模塊
CAN總線是目前廣泛應(yīng)用于汽車和飛機(jī)工業(yè)上的一種現(xiàn)場總線。具有以下特點:1)多主控制,在總線空閑時,所有單元都可以開始發(fā)送消息,通過沖突檢測,最先訪問總線的單元獲得發(fā)送權(quán)。如果多個主機(jī)同時發(fā)送,則優(yōu)先級較高的主機(jī)獲得發(fā)送權(quán),這就是CAN的仲裁機(jī)制。2)可發(fā)送遠(yuǎn)程幀,主動請求遠(yuǎn)程主機(jī)的數(shù)據(jù)。3)CAN協(xié)議具有完善的差錯功能,幀格式中含有糾錯編碼,進(jìn)一步增強(qiáng)容錯性。4)錯誤發(fā)現(xiàn)功能,所有總線上的單元都可以檢測錯誤,并且檢測出錯誤的單元會立刻通知其他單元(錯誤通知功能)。正在發(fā)送消息的單元一旦檢測出錯誤,會強(qiáng)制結(jié)束并重新發(fā)送。直到發(fā)送成功為止。5)故障關(guān)閉功能,CAN總線可以判斷出錯誤的類型是總線上暫時的數(shù)據(jù)錯誤還是持續(xù)的數(shù)據(jù)錯誤(如某個節(jié)點硬件故障)。當(dāng)總線上發(fā)生持續(xù)的數(shù)據(jù)錯誤時,可將引起故障的單元從總線上隔離出去。這些特點使得CAN特別適用于分布式現(xiàn)場控制。一個控制器要接入CAN總線,需要CAN控制器和CAN收發(fā)器。典型的CAN控制器有Philips公司的SJA1000,它支持CAN2.0協(xié)議,包括標(biāo)準(zhǔn)的和擴(kuò)展的數(shù)據(jù)和遠(yuǎn)程幀;位速率可編程控制,有可編程時鐘輸出;有擴(kuò)展的64字節(jié)FIFO接收緩沖器;除了BasicCAN操作模式以外,還增加了一種新的操作模式——PeliCAN。在電氣特性方面,SJA1000的引腳特性與PCA200兼容,通信速率可達(dá)1 Mbps。CAN接口電路如圖5所示。AD0—AD7與微控制器的數(shù)據(jù)端口連接,片選信號與GPIO口連接,晶振使用的是12M無源晶振,另外還要設(shè)置附加的濾波電容。SJA1000的輸出還要接入CAN收發(fā)器PCA82C250,最后才接入CAN總線中。
5.2 無線通信接口
無線接口用于水下航行器的遠(yuǎn)程控制,當(dāng)航行器浮上水面時可以使用。采用基于2.4 GHz射頻收發(fā)芯片nRF2401的無線通訊子系統(tǒng),工作時功耗低,所需外圍元器件很少??膳渲帽扌吞炀€或者環(huán)形天線,通訊距離約為100 m左右。可良好的滿足工作需要。無線通信芯片接口如圖6所示。
6 結(jié)束語
文中討論了一種以NXP2478為控制核心,擴(kuò)展了多個I/O接口,基于CAN總線的分布式控制系統(tǒng)節(jié)點。搭載多種導(dǎo)航設(shè)備與傳感器,有很強(qiáng)的數(shù)據(jù)處理和通信能力,系統(tǒng)功耗小、靈活性高、擴(kuò)展方便。用于水下航行器的控制系統(tǒng)中,可作為主控節(jié)點或現(xiàn)場控制節(jié)點。
評論