本發(fā)明涉及一種基于ARM和CAN總線的液壓支架壓力監(jiān)測(cè)平臺(tái),適用于機(jī)械領(lǐng)域。
背景技術(shù):
液壓支架是井下綜采工作面的主要支護(hù)設(shè)備,對(duì)其壓力數(shù)據(jù)的實(shí)時(shí)準(zhǔn)確監(jiān)測(cè)可以有效的保障工作面人員、財(cái)產(chǎn)安全。目前,國內(nèi)液壓支架壓力監(jiān)測(cè)方式主要為兩類:(1)人員定期手持采集器進(jìn)入工作面,對(duì)掛接在單個(gè)液壓支架的監(jiān)測(cè)分站進(jìn)行壓力數(shù)據(jù)采集,其工作量大、實(shí)時(shí)眭差,無法實(shí)現(xiàn)無人化、智能化。(2)以RS-485總線為通信方式的工控機(jī)或平板電腦的監(jiān)測(cè)平臺(tái)對(duì)監(jiān)測(cè)分站采集的壓力數(shù)據(jù)接收處理,但硬件結(jié)構(gòu)復(fù)雜、功能冗余、成本高,且由于井下使用,其防爆外殼存在體積過大、散熱不理想等問題。
技術(shù)實(shí)現(xiàn)要素:
隨著對(duì)井下安全監(jiān)測(cè)系統(tǒng)智能化、網(wǎng)絡(luò)化的要求越來越高,提出設(shè)計(jì)了一種基于ARM和CAN總線的液壓支架壓力監(jiān)測(cè)平臺(tái),具有對(duì)工作面液壓支架壓力的實(shí)時(shí)監(jiān)測(cè)、數(shù)據(jù)處理等功能,并且穩(wěn)定可靠、人機(jī)界面友好等優(yōu)點(diǎn)。
本發(fā)明所采用的技術(shù)方案是:
所述監(jiān)測(cè)系統(tǒng)按照結(jié)構(gòu)功能分為3個(gè)層級(jí),分別為:信號(hào)采集層,監(jiān)測(cè)平臺(tái)層,網(wǎng)絡(luò)服務(wù)器層。信號(hào)采集層主要由壓力監(jiān)測(cè)分站和壓力傳感器構(gòu)成,壓力傳感器采集對(duì)應(yīng)支架的支柱壓力信號(hào)后,壓力監(jiān)測(cè)分站將壓力數(shù)據(jù)通過CAN總線傳送給中間層的壓力監(jiān)測(cè)平臺(tái)。監(jiān)測(cè)平臺(tái)層是底層CAN總線網(wǎng)絡(luò)與上層以太環(huán)網(wǎng)的連接設(shè)備,承擔(dān)的功能包括:接收信號(hào)采集層上傳的數(shù)據(jù),進(jìn)行集中處理顯示,并實(shí)現(xiàn)超限報(bào)警和存儲(chǔ)管理。同時(shí),將接收數(shù)據(jù)進(jìn)行打包,通過以太網(wǎng)接口發(fā)送到以太環(huán)網(wǎng)交換機(jī)上。網(wǎng)絡(luò)服務(wù)器層主要由網(wǎng)絡(luò)通信服務(wù)器、PC機(jī)、上位機(jī)軟件構(gòu)成,通過IP地址匹配,對(duì)接收到的工作面位置信息、壓力信息、報(bào)警信息進(jìn)行存儲(chǔ)和整理,井上人員使用上位機(jī)軟件進(jìn)行日常監(jiān)測(cè)和管理。
所述壓力檢測(cè)平臺(tái)以嵌入式微處理器$3C2440為核心,S3C2440是一款基于ARM920T內(nèi)核的16/32位RISC嵌入式微處理器,滿足嵌入式系統(tǒng)高性能、低功耗、小體積、接口豐富的特點(diǎn)要求。其核心RISC處理器實(shí)現(xiàn)了MMU、AMBABUS、Haryard高速緩沖。監(jiān)測(cè)平臺(tái)的硬件結(jié)構(gòu)由電源模塊、網(wǎng)絡(luò)模塊、存儲(chǔ)模塊、顯示模塊等構(gòu)成。
所述CAN總線是一種全數(shù)字化、雙向多主的現(xiàn)場(chǎng)總線。與傳統(tǒng)總線相比,CAN總線具有多主結(jié)構(gòu)、系統(tǒng)內(nèi)數(shù)據(jù)一致性高、自動(dòng)關(guān)閉錯(cuò)誤節(jié)點(diǎn)等優(yōu)點(diǎn)。監(jiān)測(cè)平臺(tái)采用的是獨(dú)立CAN控制器MCP2510和高速CAN隔離收發(fā)器MCP2551。MCP2510通過SPI接口與處理器進(jìn)行數(shù)據(jù)通訊,擔(dān)負(fù)報(bào)文的發(fā)送、接收、過濾等工作。MCP2551承擔(dān)節(jié)點(diǎn)與總線之間接收和發(fā)送電平轉(zhuǎn)換的任務(wù),具有差分發(fā)射和接收能力,支持1Mbps的運(yùn)行速率。S3C2440通過SPI接口與MCP2510通信。CS作為CAN控制器的片選信號(hào)輸入,MISO和MOSI作為串行數(shù)據(jù)輸入輸出引腳分別與CAN控制器的SO和SI相連,CLK作為SPI接口時(shí)鐘信號(hào)與CAN控制器SCK連接,EINTl作為外部中斷信號(hào)連接到CAN控制器的中斷輸出INT。CAN總線控制器MCP2510的TXCAN和RXCAN分別連到MCP2551的對(duì)應(yīng)引腳,最終通過收發(fā)器接入CAN總線網(wǎng)絡(luò)。
所述監(jiān)測(cè)平臺(tái)軟件結(jié)構(gòu)主要包括用戶空間(應(yīng)用程序)和內(nèi)核空間,每個(gè)用戶空間的進(jìn)程都使用自己的虛擬地址空間,而內(nèi)核則占用單獨(dú)的地址空間。Linux內(nèi)核子系統(tǒng)由進(jìn)程調(diào)度、內(nèi)存管理、虛擬文件系統(tǒng)、網(wǎng)絡(luò)接口、進(jìn)程間通信和設(shè)備控制組成。設(shè)備控制通過底層設(shè)備驅(qū)動(dòng)程序?qū)崿F(xiàn)。平臺(tái)的用戶空間包括顯示觸摸屏處理、嵌入式數(shù)據(jù)庫、網(wǎng)絡(luò)通信等模塊。以CAN總線驅(qū)動(dòng)程序開發(fā)和Qt圖形界面設(shè)計(jì)為例進(jìn)行監(jiān)測(cè)平臺(tái)軟件的介紹。
所述檢測(cè)平臺(tái)使用的CAN控制器MCP2510屬于字符設(shè)備,它以設(shè)備文件方式建立在文件系統(tǒng)目錄下。CAN總線設(shè)備驅(qū)動(dòng)包括5個(gè)部分:驅(qū)動(dòng)模塊的加載、卸載、讀操作、寫操作和對(duì)設(shè)備的相關(guān)控制。首先系統(tǒng)內(nèi)核注冊(cè)設(shè)備并獲取設(shè)備號(hào),設(shè)備名指向指定file-operations文件操作集,設(shè)備結(jié)構(gòu)體進(jìn)行初始化,其物理地址映射到虛擬地址。接著當(dāng)檢查內(nèi)存和標(biāo)識(shí)正確后申請(qǐng)硬件中斷,進(jìn)入中斷處理函數(shù)。此時(shí),由于S3C2440通過SPI接口與CAN控制器通信,所以先后進(jìn)行SPI和CAN控制器的初始化,然后上層應(yīng)用程序打開設(shè)備文件/dev/CAN時(shí),將該設(shè)備結(jié)構(gòu)的指針賦值給設(shè)備描述的私有數(shù)據(jù)區(qū),當(dāng)讀、寫操作時(shí),從文件描述符的私有數(shù)據(jù)區(qū)獲得設(shè)備結(jié)構(gòu)體的指針,成功操作文件。使用完文件后,關(guān)閉設(shè)備文件,釋放占用資源和中斷。驅(qū)動(dòng)程序編寫完成后,在makefile中指定引用的Linux2.6.30內(nèi)核源碼位置,編譯生成candrv.ko驅(qū)動(dòng)模塊。將candrv.ko復(fù)制到S3C2440的嵌入式Linux文件夾下,進(jìn)入文件夾目錄下執(zhí)行命令把驅(qū)動(dòng)模塊動(dòng)態(tài)載人系統(tǒng)內(nèi)核,執(zhí)行主、次設(shè)備號(hào)的命令,建立CAN設(shè)備節(jié)點(diǎn),驅(qū)動(dòng)加載完畢。
本發(fā)明的有益效果是:基于ARM和CAN總線的液壓支架壓力監(jiān)測(cè)平臺(tái),其人機(jī)交互界面友好,集成了對(duì)井下液壓支架壓力信息的實(shí)時(shí)監(jiān)測(cè)、歷史查詢、網(wǎng)絡(luò)通信等功能,實(shí)現(xiàn)了壓力監(jiān)測(cè)的智能化、網(wǎng)絡(luò)化,具有精度高、運(yùn)行穩(wěn)定、成本低等優(yōu)點(diǎn),能夠有效地應(yīng)用于礦井安全監(jiān)測(cè)系統(tǒng)中。
附圖說明
下面結(jié)合附圖和實(shí)施例對(duì)本發(fā)明進(jìn)一步說明。
圖1是本發(fā)明的分層分布式液壓支架壓力監(jiān)測(cè)系統(tǒng)結(jié)構(gòu)圖。
圖2是本發(fā)明的監(jiān)測(cè)平臺(tái)硬件結(jié)構(gòu)圖。
圖3是本發(fā)明的CAN總線接口電路圖。
圖4是本發(fā)明的平臺(tái)軟件結(jié)構(gòu)圖。
圖5是本發(fā)明的CAN驅(qū)動(dòng)工作流程圖。
具體實(shí)施方式
下面結(jié)合附圖和實(shí)施例對(duì)本發(fā)明作進(jìn)一步說明。
如圖1,監(jiān)測(cè)系統(tǒng)按照結(jié)構(gòu)功能分為3個(gè)層級(jí),分別為:信號(hào)采集層,監(jiān)測(cè)平臺(tái)層,網(wǎng)絡(luò)服務(wù)器層。信號(hào)采集層主要由壓力監(jiān)測(cè)分站和壓力傳感器構(gòu)成,壓力傳感器采集對(duì)應(yīng)支架的支柱壓力信號(hào)后,壓力監(jiān)測(cè)分站將壓力數(shù)據(jù)通過CAN總線傳送給中間層的壓力監(jiān)測(cè)平臺(tái)。監(jiān)測(cè)平臺(tái)層是底層CAN總線網(wǎng)絡(luò)與上層以太環(huán)網(wǎng)的連接設(shè)備,承擔(dān)的功能包括:接收信號(hào)采集層上傳的數(shù)據(jù),進(jìn)行集中處理顯示,并實(shí)現(xiàn)超限報(bào)警和存儲(chǔ)管理。同時(shí),將接收數(shù)據(jù)進(jìn)行打包,通過以太網(wǎng)接口發(fā)送到以太環(huán)網(wǎng)交換機(jī)上。網(wǎng)絡(luò)服務(wù)器層主要由網(wǎng)絡(luò)通信服務(wù)器、PC機(jī)、上位機(jī)軟件構(gòu)成,通過IP地址匹配,對(duì)接收到的工作面位置信息、壓力信息、報(bào)警信息進(jìn)行存儲(chǔ)和整理,井上人員使用上位機(jī)軟件進(jìn)行日常監(jiān)測(cè)和管理。
如圖2,壓力檢測(cè)平臺(tái)以嵌入式微處理器S3C2440為核心,S3C2440是一款基于ARM920T內(nèi)核的16/32位RISC嵌入式微處理器,滿足嵌入式系統(tǒng)高性能、低功耗、小體積、接口豐富的特點(diǎn)要求。其核心RISC處理器實(shí)現(xiàn)了MMU、AMBABUS、Haryard高速緩沖。監(jiān)測(cè)平臺(tái)的硬件結(jié)構(gòu)由電源模塊、網(wǎng)絡(luò)模塊、存儲(chǔ)模塊、顯示模塊等構(gòu)成。
如圖3,CAN總線是一種全數(shù)字化、雙向多主的現(xiàn)場(chǎng)總線。與傳統(tǒng)總線相比,CAN總線具有多主結(jié)構(gòu)、系統(tǒng)內(nèi)數(shù)據(jù)一致性高、自動(dòng)關(guān)閉錯(cuò)誤節(jié)點(diǎn)等優(yōu)點(diǎn)。監(jiān)測(cè)平臺(tái)采用的是獨(dú)立CAN控制器MCP2510和高速CAN隔離收發(fā)器MCP2551。MCP2510通過SPI接口與處理器進(jìn)行數(shù)據(jù)通訊,擔(dān)負(fù)報(bào)文的發(fā)送、接收、過濾等工作。MCP2551承擔(dān)節(jié)點(diǎn)與總線之間接收和發(fā)送電平轉(zhuǎn)換的任務(wù),具有差分發(fā)射和接收能力,支持1Mbps的運(yùn)行速率。S3C2440通過SPI接口與MCP2510通信。CS作為CAN控制器的片選信號(hào)輸入,MISO和MOSI作為串行數(shù)據(jù)輸入輸出引腳分別與CAN控制器的SO和SI相連,CLK作為SPI接口時(shí)鐘信號(hào)與CAN控制器SCK連接,EINTl作為外部中斷信號(hào)連接到CAN控制器的中斷輸出INT。CAN總線控制器MCP2510的TXCAN和RXCAN分別連到MCP2551的對(duì)應(yīng)引腳,最終通過收發(fā)器接入CAN總線網(wǎng)絡(luò)。
如圖4,監(jiān)測(cè)平臺(tái)軟件結(jié)構(gòu)主要包括用戶空間(應(yīng)用程序)和內(nèi)核空間。每個(gè)用戶空間的進(jìn)程都使用自己的虛擬地址空間,而內(nèi)核則占用單獨(dú)的地址空間。Linux內(nèi)核子系統(tǒng)由進(jìn)程調(diào)度、內(nèi)存管理、虛擬文件系統(tǒng)、網(wǎng)絡(luò)接口、進(jìn)程間通信和設(shè)備控制組成。設(shè)備控制通過底層設(shè)備驅(qū)動(dòng)程序?qū)崿F(xiàn)。平臺(tái)的用戶空間包括顯示觸摸屏處理、嵌入式數(shù)據(jù)庫、網(wǎng)絡(luò)通信等模塊。以CAN總線驅(qū)動(dòng)程序開發(fā)和Qt圖形界面設(shè)計(jì)為例進(jìn)行監(jiān)測(cè)平臺(tái)軟件的介紹。
如圖5,檢測(cè)平臺(tái)使用的CAN控制器MCP2510屬于字符設(shè)備,它以設(shè)備文件方式建立在文件系統(tǒng)目錄下。CAN總線設(shè)備驅(qū)動(dòng)包括5個(gè)部分:驅(qū)動(dòng)模塊的加載、卸載、讀操作、寫操作和對(duì)設(shè)備的相關(guān)控制。首先系統(tǒng)內(nèi)核注冊(cè)設(shè)備并獲取設(shè)備號(hào),設(shè)備名指向指定file-operations文件操作集,設(shè)備結(jié)構(gòu)體進(jìn)行初始化,其物理地址映射到虛擬地址。接著當(dāng)檢查內(nèi)存和標(biāo)識(shí)正確后申請(qǐng)硬件中斷,進(jìn)入中斷處理函數(shù)。此時(shí),由于S3C2440通過SPI接口與CAN控制器通信,所以先后進(jìn)行SPI和CAN控制器的初始化,然后上層應(yīng)用程序打開設(shè)備文件/dev/CAN時(shí),將該設(shè)備結(jié)構(gòu)的指針賦值給設(shè)備描述的私有數(shù)據(jù)區(qū),當(dāng)讀、寫操作時(shí),從文件描述符的私有數(shù)據(jù)區(qū)獲得設(shè)備結(jié)構(gòu)體的指針,成功操作文件。使用完文件后,關(guān)閉設(shè)備文件,釋放占用資源和中斷。驅(qū)動(dòng)程序編寫完成后,在makefile中指定引用的Linux2.6.30內(nèi)核源碼位置,編譯生成candrv.ko驅(qū)動(dòng)模塊。將candrv.ko復(fù)制到S3C2440的嵌入式Linux文件夾下,進(jìn)入文件夾目錄下執(zhí)行命令把驅(qū)動(dòng)模塊動(dòng)態(tài)載人系統(tǒng)內(nèi)核,執(zhí)行主、次設(shè)備號(hào)的命令,建立CAN設(shè)備節(jié)點(diǎn),驅(qū)動(dòng)加載完畢。