煤礦礦井嵌入式數(shù)據(jù)采集分站的設計與實現(xiàn)
本文提出了一種基于TCP/IP-CAN網(wǎng)絡的煤礦礦井嵌入式數(shù)據(jù)采集分站的設計方案,采用ARM芯片LPC2292為主控芯片,通過SPI接口控制以太網(wǎng)控制器芯片ENC28J60實現(xiàn)TCP通信,通過內(nèi)嵌的CAN控制器實現(xiàn)CAN通信。
在介紹系統(tǒng)硬件設計的基礎上,詳細介紹了基于mC/OS-II的軟件設計。整個系統(tǒng)能夠?qū)γ旱V礦井數(shù)據(jù)進行有效采集,具有良好的穩(wěn)定性與擴展性。
煤礦礦井數(shù)據(jù)采集分站是煤礦礦井井下各安全監(jiān)控模塊與井上安全監(jiān)控中心之間數(shù)據(jù)傳輸?shù)臉屑~,負責安全監(jiān)控中心與安全監(jiān)控模塊之間的數(shù)據(jù)采集與通信。數(shù)據(jù)采集分站能否有效工作決定了煤礦安全監(jiān)控能否順利進行,因此數(shù)據(jù)采集分站在煤礦安監(jiān)中發(fā)揮著重要作用。圖1所示為煤礦礦井安全監(jiān)控系統(tǒng)組成框圖。本文設計的數(shù)據(jù)采集分站與監(jiān)控中心之間通過TCP通信,與井下監(jiān)控模塊之間通過CAN通信。采用基于操作系統(tǒng)mC/OS-Ⅱ的軟件設計,以提高整個設計的穩(wěn)定性與擴展能力。
硬件設計
采集分站硬件系統(tǒng)由主控芯片及外擴存儲器、TCP/IP通信模塊、CAN總線通信模塊、重要參數(shù)修改與存儲模塊(串口通信、E2PROM)、電源與復位電路等組成。
本方案采用ARM芯片作為主控芯片,在性能上遠遠優(yōu)于采用8位/16位單片機作為主控芯片的系統(tǒng)。TCP通信模塊實現(xiàn)了TCP通信。內(nèi)嵌CAN模塊使得CAN通信設計電路簡單,性能更加穩(wěn)定。串口通信和TCP通信都可以實現(xiàn)重要參數(shù)(IP地址、礦井號等)的修改,外擴E2PROM用于重要參數(shù)的存儲。
主控芯片
主控芯片采用ARM7芯片LPC2292為主控芯片,其內(nèi)部有16KB RAM,并帶有256KB嵌入式高速閃存存儲器。LPC2292含有2路SPI接口,滿足操作以太網(wǎng)控制器ENC28J60的要求,還含有2路內(nèi)嵌CAN控制器,能夠方便地實現(xiàn)CAN通信。由于嵌入了mC/OS-II操作系統(tǒng)并移植了TCP/IP協(xié)議棧, LPC2292內(nèi)部的16KB RAM無法滿足程序?qū)Υ鎯臻g的要求。因此,本設計在LPC2292外擴展了型號為IS61LV25616AL的RAM,其存儲空間512KB。
TCP/IP通信模塊
本文采用Microchip公司SPI接口的以太網(wǎng)控制器ENC28J60,其最大傳輸速率為10Mbps。ENC28J60通過SPI接口和LPC2292 相連接,網(wǎng)絡的四個引腳通過網(wǎng)絡變壓器后連接到RJ45接口,兩個中斷引腳接單片機的外部中斷或者連接到通用I/O口,兩個指示燈引腳外接發(fā)光管連接到地或者電源,其余引腳是電源和地。圖3為ENC28J60接口電路圖。網(wǎng)口插座采用內(nèi)置網(wǎng)絡變壓器、狀態(tài)顯示燈和電阻網(wǎng)絡的RJ45接座HR911105A,具有信號耦合、電氣隔離、阻抗匹配、抑制干擾等優(yōu)點。
CAN通信模塊
LPC2292包含2個內(nèi)嵌的CAN控制器。CAN控制器同其他外圍芯片一起構成了CAN總線的接口電路。圖4為CAN總線接口電路原理圖,其中82C250是CAN控制器和物理總線間的接口芯片,該器件可以提供對總線的差動發(fā)送能力和對CAN控制器的差動接收能力。82C250和CAN控制器之間采用高速光耦6N137實現(xiàn)電氣上的隔離,以提高系統(tǒng)的抗干擾能力。
重要參數(shù)的修改與存儲模塊
本文所設計的數(shù)據(jù)采集分站采用串口通信和TCP通信兩種方式修改重要參數(shù),采用AT24C16作為存儲芯片。AT24C16是具備I2C總線接口2KB的E2PROM,該芯片用來存放數(shù)據(jù)采集分站的重要參數(shù),在此不詳細介紹。
基于mC/OS-II的軟件設計
任務劃分
本文通過移植TCP/IP協(xié)議棧MCHPStack實現(xiàn)TCP通信;通過控制LPC2292內(nèi)部CAN控制器實現(xiàn)CAN通信;通過I2C接口實現(xiàn)對E2PROM的讀寫。在驅(qū)動程序設計的基礎上,實現(xiàn)了mC/OS-II的移植,并按照數(shù)據(jù)采集分站的功能要求劃分和設計任務。通過任務來調(diào)用各個驅(qū)動程序,從而實現(xiàn)整個數(shù)據(jù)采集分站系統(tǒng)的功能。本文主要設計了TCP通信、CAN通信以及重要參數(shù)的存儲任務。CAN通信任務負責建立數(shù)據(jù)采集分站,采集井下個監(jiān)控模塊傳來的數(shù)據(jù),并作相應處理。因此,數(shù)據(jù)采集分站與井下監(jiān)控模塊之間的CAN通信任務應該具有最高優(yōu)先級。又因為數(shù)據(jù)采集分站要將數(shù)據(jù)及時傳給井上監(jiān)控中心,因此,TCP通信任務應該排在第二位。重要參數(shù)的修改與存儲任務優(yōu)先級最低。
另外,系統(tǒng)還設置了三個中斷:一個定時中斷,用來為mC/OS-II提供時鐘節(jié)拍;一個是CAN通信中斷,用來接收CAN總線上的數(shù)據(jù);一個串口通信中斷,用來接收串口數(shù)據(jù)。
各任務和中斷之間的關系及通訊情況如圖5所示。本文主要介紹CAN通信任務以及TCP/IP通信任務。
任務初始化
任務初始化完成任務的系統(tǒng)初始化、系統(tǒng)自檢、參數(shù)配置、操作系統(tǒng)初始化、任務創(chuàng)建與啟動。
CAN通信任務
圖6為CAN通信任務流程圖。CAN通信任務中,一方面無等待地接收TCP通信任務傳來的消息,解析并響應執(zhí)行;另一方面,通過CAN中斷接收CAN中斷傳來的消息和解析消息,并對數(shù)據(jù)進行處理,以便井上監(jiān)控中心進行查詢。
TCP/IP通信任務
TCP/IP通信任務在完成ENC28J60硬件驅(qū)動后,通過調(diào)用TCP/IP協(xié)議棧MHCPStack中提供的狀態(tài)機函數(shù)StackSTK( )并進行修改,實現(xiàn)ARP、IP、ICMP、TCP等功能,并在此基礎上實現(xiàn)TCP通信的任務。該任務負責接收井上監(jiān)控中心通過以太網(wǎng)傳來的TCP數(shù)據(jù),并解析。如果是控制命令,則數(shù)據(jù)采集分站將控制命令及內(nèi)容,以消息隊列的方式傳給CAN通信任務,以便傳給井下各個監(jiān)控模塊;如果是獲取命令,則數(shù)據(jù)采集分站將其采集的數(shù)據(jù)通過以太網(wǎng),以TCP 協(xié)議傳給井上監(jiān)控中心;如果是參數(shù)修改命令,則進行參數(shù)修改。
結語
煤礦礦井嵌入式數(shù)據(jù)采集分站收集井下各類監(jiān)控模塊數(shù)據(jù),并及時傳送至井上監(jiān)控中心,為煤礦安全監(jiān)控提供了有效途徑。采用TCP/IP通信有利于數(shù)據(jù)采集分站的動態(tài)使用;CAN通信保證了數(shù)據(jù)采集分站與井下各節(jié)點之間的高速率通信;移植的mC/OS-II操作系統(tǒng)增強了系統(tǒng)的穩(wěn)定性與擴展性。實踐證明,本文設計的煤礦礦井嵌入式數(shù)據(jù)采集分站能適應井下惡劣的環(huán)境條件,數(shù)據(jù)采集及時、有效?! ?br />
參考文獻:
1.Jean J. Labrosse著,邵貝貝譯. μC/OS-Ⅱ源碼公開的實時嵌入式操作系統(tǒng)[M].北京:北京航空航天大學出版社,2005.70~71
2.Philips Semiconductors. LPC2292 Datasheet, Rev.05[EB/OL]. http://. 2004.2
3.周曉陽,程紅,張曉媛. 新型以太網(wǎng)控制器ENC28J60及其接口技術[J].單片機與嵌入式系統(tǒng)應用,2006.(08):34~36
4.吳友宇,秦神祖,張愛民,等.光纖CAN總線接口設計[J].武漢大學學報(理學版).2003.49(03):405~408
5.Microchip Technology Inc. The Microchip TCP/IP Stack[EB/OL]. http://. 2002





