基于總線(xiàn)的分布式水下航行器控制器設(shè)計(jì)
1 控制器的組成結(jié)構(gòu)
水下航行器控制器由MCU最小系統(tǒng)(JTAG電路、復(fù)位電路)、外擴(kuò)Flash存儲(chǔ)模塊、I/O接口、隔離電路模塊、通訊電路等組成。其系統(tǒng)結(jié)構(gòu)圖如圖1所示。整個(gè)控制器包含4大部分,第一是MCU最小控制系統(tǒng),包括復(fù)位電路和JTAG調(diào)試電路。第二是數(shù)據(jù)采集部分,I/O接口和RS2 32串行接口用于與水下各種傳感器相連接,收集傳感器發(fā)送的實(shí)時(shí)數(shù)據(jù),并傳輸至MCU進(jìn)行分析融合。有的傳感器送出的是模擬形式的信號(hào),還要使用AD/DA轉(zhuǎn)換模塊加以轉(zhuǎn)換后再進(jìn)入處理中心。數(shù)據(jù)采集部分還包括一個(gè)溫度數(shù)據(jù)收集電路,用作系統(tǒng)運(yùn)行狀態(tài)的監(jiān)控。第三是數(shù)據(jù)存儲(chǔ)模塊,主要用于存儲(chǔ)和輸出實(shí)驗(yàn)數(shù)據(jù)。在水下航行器運(yùn)行過(guò)程中記錄航行數(shù)據(jù),也可用于調(diào)試目的。第四是通訊部分,主要包括CAN總線(xiàn)接口電路,用于與其他節(jié)點(diǎn)之間互相傳輸被控過(guò)程的數(shù)據(jù)和其他控制命令。
2 MCU最小控制系統(tǒng)
文中采用基于ARM7-TDMI架構(gòu)的NXP2478嵌入式微控制器作為主控計(jì)算機(jī)。NXP2478以ARM7為內(nèi)核,它包括一個(gè)10/100以太網(wǎng)媒體訪(fǎng)問(wèn)控制器(MAC)、1個(gè)帶4 kB終端RAM的USB全速設(shè)備/主機(jī)/OTG控制器、4個(gè)UART、兩路CAN通道、1個(gè)SPI接口、兩個(gè)同步串行端口、3個(gè)I2C接口和1個(gè)I2S接口。同時(shí)還帶有一個(gè)4 MHz的片內(nèi)振蕩器、98 kB RAM,以及一個(gè)外部存儲(chǔ)器控制器來(lái)支持上述的各種串行通信接口。以NXP2478為核心的最小系統(tǒng)主要包括電源模塊、復(fù)位電路和JTAG模塊,電源模塊實(shí)現(xiàn)2個(gè)功能:1)電壓轉(zhuǎn)換功能,將輸入為5 V電平的電壓降至NXP2478的3.3 V工作電壓。2)穩(wěn)壓穩(wěn)流功能,微控制器需要紋波比較小的穩(wěn)定電壓供電,電壓如果突然下降往往會(huì)引起程序的跑飛,因此,必須要有專(zhuān)門(mén)的電路來(lái)穩(wěn)定工作電壓。一般通過(guò)并聯(lián)大電阻來(lái)穩(wěn)定工作電壓。復(fù)位電路則可以采用自帶看門(mén)狗功能的復(fù)位芯片來(lái)完成。主要實(shí)現(xiàn)上電復(fù)位、掉電復(fù)位、人工復(fù)位等功能??撮T(mén)狗電路可以在程序跑飛時(shí)提供自動(dòng)復(fù)位的保護(hù)措施。JTAG電路主要實(shí)現(xiàn)程序的在線(xiàn)仿真和燒寫(xiě)功能。其電路如圖2所示。
3 數(shù)據(jù)采集電路
數(shù)據(jù)采集是指從傳感器中獲取現(xiàn)場(chǎng)信息的過(guò)程。水下航行器控制器所用到的主要是GPS、MTI姿態(tài)傳感器、深度等傳感器。傳感器輸出信號(hào)的標(biāo)準(zhǔn)大多是RS232/485標(biāo)準(zhǔn).有些傳感器的信號(hào)需要經(jīng)過(guò)數(shù)模轉(zhuǎn)換。因此數(shù)據(jù)采集電路主要包括RS232/485、I/O接口電路、AD/DA轉(zhuǎn)換電路和隔離電路。NXP2478自身帶有4個(gè)串行端口,其中有一個(gè)為9線(xiàn)制端口,有完整的握手信號(hào)。但這些端口的工作電平為0~3.3 V。而RS232的電壓約為±12 V左右,所以需要一個(gè)電平轉(zhuǎn)換芯片,這里采用常用的MAX232芯片。I/O接口電路也需要進(jìn)行兼容電平的轉(zhuǎn)換,外部開(kāi)關(guān)信號(hào)可能電壓幅度比較大,采用隔離芯片既可以保護(hù)外部信號(hào)串?dāng)_對(duì)控制器的影響,又可以起到電平兼容的作用。I/O隔離模塊如圖3所示。
溫度監(jiān)控作為數(shù)據(jù)采集的一部分,用作檢測(cè)控制器運(yùn)行時(shí)的溫度狀態(tài),并提供報(bào)警功能。本文采用DS18B20作為溫度數(shù)據(jù)傳感器,DS18B 20是一種在分布式溫度控制系統(tǒng)中廣泛使用的直接輸出數(shù)字信號(hào)的溫度傳感器,輸出數(shù)據(jù)遵從one-wire bus協(xié)議。其采集溫度的范圍從-55攝氏度到125攝氏度,輸出的數(shù)字信號(hào)可直接進(jìn)入MCU的I/O口中。DS18B20只有三根信號(hào)線(xiàn):地線(xiàn),電源線(xiàn)和數(shù)據(jù)線(xiàn)。因此其接口電路非常簡(jiǎn)單,將數(shù)據(jù)線(xiàn)直接接入MCU的GPIO口即可。
評(píng)論