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