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