劉偉 李果 李堅 許志遠
摘 要 設計實現了一種以MSP430F449和MCP2515為核心的CAN總線多節點數據采集與顯示控制電路,通過CAN總線與各采集終端節點鏈路組網連接,控制端點周期接收各終端節點工作狀態和采集到的現場數據以及調試信息,經解算后在控制端顯示。可應用到多種CAN總線多節點采集控制系統中。
關鍵詞 MSP430F449;MCP2515;CAN總線;多節點數據采集與顯控
前言
MSP430F449(以下簡稱MCU)是一款超低功耗帶精簡指令集的MCU,外設和片上資源豐富,適合工控設備使用。MCP2515是CAN協議控制器,支持CAN V2.0B規范,通信速率可達1Mb/s,能收發標準和擴展數據幀及遠程幀。自帶屏蔽寄存器和驗收濾波寄存器可減少系統開銷。CAN總線無主從之分,各節點靠優先級順序決定通信次序,適用于實時性較高的多節點通信。
1 組成
硬件設計以MCU和MCP2515控制電路為核心進行設計,分為控制端點和終端節點。控制端點由MCU控制電路、按鍵控制電路、LCD顯示電路、CAN總線收發控制電路和RS232電路組成。終端節點由MCU控制電路、CAN總線收發控制電路、傳感器控制電路(包括溫度、濕度傳感器)[1]。
2 功能簡介
本系統利用CAN總線各個節點平等,長距離小數據量及實時性高的特點,終端節點根據控制端點的命令,回送現場的溫度、濕度數據(周期)或調試狀態信息(事件),控制端點收到調試狀態信息后用RS232電路送上位機進行故障檢測[2]。
3 硬件設計
(1)MCU控制電路:包括電源,MCU控制和重啟電路。MCU完成對MCP2515芯片、按鍵控制、SPI接口、LCD顯控電路和RS232控制。重啟電路保持電路工作穩定,MCU電路有故障時通過看門狗進行復位。電源電路對整個電路進行供電,提供+5V、+3.3V等多種電源。
(2)CAN總線收發控制電路:由MCP2515、TJA1050和8M晶振為核心組成。MCU通過SPI接口與MCP2515連接,CAN收發器TJA1050的CANH、CANL連接到CAN總線鏈路上,結合驗收濾波器和屏蔽濾波器控制無效數據流量,提高MCU利用率增強了系統的魯棒性。
(3)顯控電路:采用UsartGPU45A串口LCD屏,與MCU的USART0端口連接。MCU將解算后的數據通過串行RX/TX傳送給LCD液晶屏顯示。
(4)按鍵控制電路:采用4X4鍵盤實現,連接MCU的P3端口。MCU對按鍵進行初始化定義和檢索掃描,并進行防抖處理。
(5)RS232電路:采用MAX232接口芯片與MCU的USART1端口連接。MCU傳遞調試信息給上位機。
(6)傳感器控制電路:溫度傳感器采用PT100和AD623芯片實現,濕度傳感器采用DHT11實現。終端節點MCU把傳感器數據打包傳遞CAN鏈路[3]。
4 軟件設計
4.1 MCU軟件設計
本軟件分為工作模式和調試模式兩種狀態。工作模式時終端MCU只將超過閾值范圍的采集數據打包送到CAN鏈路,調試模式時傳送指定終端的全部數據信息到CAN鏈路。避免無效數據的擁堵,合理設置屏蔽和驗收濾波寄存器減少了數據淹沒。
軟件包括初始化模塊,CAN協議收發模塊,數據解算模塊,按鍵掃描檢索模塊,LCD顯示模塊,RS232通訊模塊和傳感器采集模塊等。
(1)初始化模塊:完成MCU各端口配置、節點索引表、SPI初始化、CAN總線收發器初始化、RS232通訊初始化、按鍵定義初始化、LCD顯控初始化和傳感器初始化等。
(2)CAN協議收發模塊:采用標準數據幀進行打包,MCP2515芯片通過SPI總線和MCU交互,幀ID根據跳線設置,數據段每次傳送八字節數據(兩個傳感器數據和一個狀態字),并按要求設置屏蔽寄存器和濾波寄存器[4]。
(3)數據解算模塊:根據協議將數據打包/解包,計算歸并各傳感器數據和終端節點離散值,再根據模式狀態送LCD顯示或經RS232端口送上位機。
(4)按鍵掃描檢索模塊:經典的4X4按鍵掃描處理,可輸入終端號ID和命令類型。
(5)LCD顯示模塊:完成UsartGPU45A串口LCD屏初始化(115200/8/N/1),把顯示的數據按照LCD命令格式傳給LCD控制電路。
(6)RS232通訊模塊:完成RS232初始化(9600/8/N/1), MCU在調試模式下傳遞調試信息給上位機。
(7)傳感器采集模塊:每隔50ms采集一次傳感器數值交終端MCU處理,每十次做算術平均后送CAN鏈路。
4.2 上位機軟件設計
本軟件采用VS2010開發,上位機通過RS232和端點交互,按協議解析數據并在上位機顯示[5]。
5 結束語
本文主要設計實現了一種基于MSP430F449和MCP2515為核心的CAN總線多節點數據采集與顯示控制的實現方法,解決了多節點數據采集實時顯示和控制的問題。
參考文獻
[1] 陳雄威.基于CAN控制器MCP2515-I/SO的模擬SPI串口通信的應用[J].電腦知識與技術,2009,5(26):7508-7510.
[2] 張悅玲,楊紹巖,張曉娟.基于MSP430F449的半導體激光器溫控系統設計[J].光電技術應用,2012,27(3):10-13.
[3] 辛銳,黃仁富.DGUS觸摸屏串口通信應用設計[J].內江科技,2013, 34(5):169-169.
[4] 陳德龍,秦會斌.基于PT100的電子溫度表設計[J].杭州電子科技大學學報,2005,25(4):42-45.
[5] 李長有,王文華.基于DHT11溫濕度測控系統設計[J].機床與液壓,2013,41 (13):107-108.
作者簡介
劉偉(1971-),男,甘肅省白銀市人;職務:設計師,職稱:工程師,學歷:大學本科,現就職單位:西安北方光電科技防務有限公司,研究方向:自動控制和圖像處理。