在煤礦瓦斯監(jiān)控系統(tǒng)中,井下監(jiān)控分站擔(dān)負(fù)著非常重要的作用。本設(shè)計(jì)研制的安全監(jiān)控分站,以微處理機(jī)AT89S52為核心,配置8路頻率量入口,與礦用傳感器連接,以采集各種測(cè)量數(shù)據(jù)。監(jiān)控分站的8路開關(guān)量輸出口與執(zhí)行器連接可實(shí)行自動(dòng)斷電控制。監(jiān)控分站通過(guò)CAN總線與中心站計(jì)算機(jī)進(jìn)行數(shù)據(jù)通訊,克服了傳統(tǒng)煤礦監(jiān)測(cè)監(jiān)控系統(tǒng)總線的缺陷,能夠滿足礦井監(jiān)控系統(tǒng)對(duì)監(jiān)控分站的要求。
監(jiān)控系統(tǒng)結(jié)構(gòu)
整個(gè)煤礦安全監(jiān)控系統(tǒng)設(shè)計(jì)由地面中心站、網(wǎng)關(guān)節(jié)點(diǎn)站、分支中繼器、井下監(jiān)控分站和各種傳感器,以及通信介質(zhì)六部分組成。其中中心站負(fù)責(zé)接收、存儲(chǔ)和顯示從井下監(jiān)控分站傳來(lái)的各種井下生產(chǎn)環(huán)境安全監(jiān)控?cái)?shù)據(jù),并通過(guò)各個(gè)井下分站發(fā)送各種配置命令和對(duì)現(xiàn)場(chǎng)設(shè)備的控制命令;網(wǎng)關(guān)節(jié)點(diǎn)站實(shí)現(xiàn)現(xiàn)場(chǎng)總線協(xié)議和中心站計(jì)算機(jī)標(biāo)準(zhǔn)接口協(xié)議的相互轉(zhuǎn)換;分支中繼器在需要的地方完成通信線路的分支、中繼和介質(zhì)信號(hào)的轉(zhuǎn)換;傳感器負(fù)責(zé)收集各種現(xiàn)場(chǎng)環(huán)境安全監(jiān)控?cái)?shù)據(jù)和設(shè)備運(yùn)行狀態(tài)數(shù)據(jù);通信介質(zhì)負(fù)責(zé)安全監(jiān)控系統(tǒng)各設(shè)備的連接和信息的傳遞。整個(gè)監(jiān)控系統(tǒng)分三級(jí)結(jié)構(gòu):中心站—井下分站—傳感器。傳輸介質(zhì)根據(jù)傳輸距離不同,可分段采用不同線纜,長(zhǎng)距離用光纖不加中繼器,或用電纜加中繼器,短距離則可只用電纜不加中繼器。如果連接的節(jié)點(diǎn)總數(shù)大于110個(gè),則也需加中繼器。圖1是帶有中繼器的煤礦安全監(jiān)控系統(tǒng)組成原理圖。
圖1 煤礦安全監(jiān)控系統(tǒng)組成框圖
圖2監(jiān)控分站硬件框圖
圖3 安全監(jiān)控分站軟件流程圖
安全監(jiān)控分站硬件結(jié)構(gòu)
井下安全監(jiān)控分站是安全監(jiān)控監(jiān)測(cè)系統(tǒng)的核心,負(fù)責(zé)采集和處理現(xiàn)場(chǎng)生產(chǎn)環(huán)境和設(shè)備狀態(tài)等方面的安全監(jiān)控?cái)?shù)據(jù),并能實(shí)時(shí)地控制設(shè)備。同時(shí)它也是傳輸系統(tǒng)的關(guān)鍵設(shè)施,各種數(shù)據(jù)都要通過(guò)它與地面中心站進(jìn)行通訊。圖2是監(jiān)控分站的原理圖。
在圖2中,二線制輸入電路和三線制輸入電路負(fù)責(zé)對(duì)來(lái)自傳感器的8路頻率信號(hào)(200Hz~1000Hz)進(jìn)行整形,從而得到波形、電平規(guī)范的方波信號(hào)。光耦電路則主要負(fù)責(zé)信號(hào)的隔離,消除共模電壓的影響并遏制過(guò)程通道上的一些脈沖干擾,從而提高系統(tǒng)的信噪比。單片機(jī)通過(guò)多路選擇器(8選1開關(guān))定時(shí)巡檢8路信號(hào),對(duì)得到的數(shù)字量進(jìn)行判斷和運(yùn)算,進(jìn)而用得到的控制量,去自動(dòng)控制繼電器的狀態(tài),從而實(shí)現(xiàn)對(duì)井下設(shè)備的控制。利用CH451L芯片驅(qū)動(dòng)數(shù)碼管循環(huán)顯示8路信號(hào)的頻率、通道號(hào)、通道類型以及線路狀態(tài)等。CAN總線和RS-232總線把單片機(jī)根據(jù)主站命令采集的安全監(jiān)控監(jiān)測(cè)數(shù)據(jù)傳給上位機(jī)。74HC373除了擴(kuò)展片外RAM,以用來(lái)存儲(chǔ)歷史數(shù)據(jù)外,還進(jìn)行了P0口擴(kuò)展,從而使分站能夠根據(jù)主站發(fā)來(lái)的命令允許對(duì)繼電器的狀態(tài)進(jìn)行手動(dòng)控制。系統(tǒng)中的紅外接口,主要用來(lái)實(shí)現(xiàn)對(duì)分站的就地遙控、更改分站通道號(hào),以及對(duì)單片機(jī)進(jìn)行復(fù)位等。
安全監(jiān)控分站軟件設(shè)計(jì)
系統(tǒng)總體軟件結(jié)構(gòu)如圖3所示。在整個(gè)軟件流程中,測(cè)頻中斷的優(yōu)先級(jí)最高,以保證測(cè)頻的精度。CAN通信的中斷優(yōu)先級(jí)次之,RS-232中斷的優(yōu)先級(jí)最低。
為保證主站與分站通信的實(shí)效性,本設(shè)計(jì)完成測(cè)頻中斷服務(wù)僅需13個(gè)機(jī)器周期,而信號(hào)的周期比機(jī)器周期大數(shù)千倍,從而大大減小了主站在測(cè)頻中斷服務(wù)期間與分站進(jìn)行通信的概率。
在本設(shè)計(jì)中,已知來(lái)自傳感器的信號(hào)的頻率范圍為200Hz~1000Hz,信號(hào)的周期為1ms~5ms,而機(jī)器周期為0.0005ms,故主站與分站在測(cè)頻中斷響應(yīng)期間進(jìn)行通信的概率為0.12~0.60%,即主站與分站進(jìn)行通信的實(shí)效率為99.40~99.88%,完全能夠滿足安全生產(chǎn)的要求。
關(guān)鍵技術(shù)及其實(shí)現(xiàn)
測(cè)頻技術(shù)
通常使用的單片機(jī)的測(cè)頻方法有兩種:直接測(cè)頻法和測(cè)周期的方法。本設(shè)計(jì)中選用了測(cè)周期的方法,因?yàn)楸驹O(shè)計(jì)中被測(cè)信號(hào)的頻率較低,用測(cè)周期的方法精度較高,而且實(shí)時(shí)性強(qiáng)、測(cè)頻時(shí)間短,即使主站與分站每隔400ms通信一次,也能夠完成測(cè)頻的功能。
根據(jù)頻率計(jì)算公式得到周期法測(cè)頻公式,式中,TO為定時(shí)器/計(jì)數(shù)器的計(jì)數(shù)脈沖周期時(shí)間,由單片機(jī)主脈沖經(jīng)12分頻得到,N為計(jì)數(shù)器在測(cè)周期期間的計(jì)數(shù)脈沖。當(dāng)晶振振蕩頻率為24MHz時(shí),定時(shí)器的計(jì)數(shù)脈沖周期時(shí)間為0.5?s,測(cè)量最大絕對(duì)誤差為信號(hào)前后邊界之差共1?s。對(duì)于周期為1ms~5ms(頻率200Hz~1000Hz)的信號(hào),最大誤差折算成頻率約為0.002Hz~0.01Hz,所以,頻率測(cè)量精度可達(dá)到0.001Hz~0.01 Hz。
CAN總線通訊技術(shù)
CAN 總線通信是整個(gè)軟件設(shè)計(jì)的重要部分。通信過(guò)程主要包括發(fā)送和接收部分,本設(shè)計(jì)中兩部分都設(shè)置成了中斷方式而不是查詢方式,可以把它們做成模塊,采用調(diào)用子程序的方式來(lái)訪問(wèn)。
發(fā)送子程序負(fù)責(zé)節(jié)點(diǎn)報(bào)文的發(fā)送,發(fā)送時(shí)用戶只需將待發(fā)送的數(shù)據(jù)按特定格式組合成一幀報(bào)文送入SJA1000發(fā)送緩存區(qū)中,然后啟動(dòng)SJA1000發(fā)送即可。但在往SJA1000發(fā)送緩沖區(qū)送報(bào)文之前,必須先作一些判斷。程序如下:
MOV DPTR,#CAN_SR ;狀態(tài)寄存器
WS0: MOVX A,@DPTR ;從SJA1000讀出狀態(tài)寄存器值
JNB ACC.3,WS0 ;判斷上次發(fā)送是否完成
WS1: MOVX A,@DPTR ;
JNB ACC.2,WS1 ;判斷發(fā)送區(qū)是否鎖定
CAN總線通訊的發(fā)送模塊根據(jù)用戶制定的應(yīng)用層協(xié)議,將要發(fā)送的數(shù)據(jù)分類、拆解、合并,確定發(fā)送對(duì)象,然后根據(jù)CAN的數(shù)據(jù)鏈路層協(xié)議填寫到CAN數(shù)據(jù)幀的各個(gè)場(chǎng),并發(fā)送出去。發(fā)送程序分為發(fā)送遠(yuǎn)程幀和數(shù)據(jù)幀兩種,遠(yuǎn)程幀無(wú)數(shù)據(jù)場(chǎng)。
接收子程序負(fù)責(zé)節(jié)點(diǎn)報(bào)文的接收以及其它情況。接收子程序比發(fā)送子程序要復(fù)雜一些,因?yàn)樵谔幚斫邮請(qǐng)?bào)文的過(guò)程中,同時(shí)要對(duì)諸如總線脫離、錯(cuò)誤報(bào)警、接收溢出等情況進(jìn)行處理。SJA1000報(bào)文的接收主要有兩種方式:中斷接收和查詢接收,考慮到對(duì)通信的實(shí)時(shí)性要求很強(qiáng),本設(shè)計(jì)采用中斷接收方式。
接收模塊的工作與發(fā)送模塊相反,首先進(jìn)行接收濾波,確認(rèn)該幀數(shù)據(jù)是否接收。如果接收,先按照數(shù)據(jù)鏈路層協(xié)議拆解數(shù)據(jù)包,將數(shù)據(jù)場(chǎng)的數(shù)據(jù)提取出來(lái),再根據(jù)應(yīng)用層協(xié)議確定數(shù)據(jù)的具體含義,進(jìn)行相應(yīng)的處理。CAN信息幀共有4種:數(shù)據(jù)幀、遠(yuǎn)程幀、出錯(cuò)幀和超載幀。其中,數(shù)據(jù)幀將數(shù)據(jù)由發(fā)送器傳至接收器。一個(gè)數(shù)據(jù)幀由7個(gè)不同場(chǎng)構(gòu)成。其中仲裁場(chǎng)由標(biāo)識(shí)符ID和RTR構(gòu)成。
結(jié)語(yǔ)
本文以微處理器AT89S52為核心,設(shè)計(jì)的KJ122型煤礦安全監(jiān)控分站,通過(guò)CAN總線、RS-232總線,在定制的KJ122型煤礦監(jiān)控系統(tǒng)協(xié)議下與中心站計(jì)算機(jī)進(jìn)行通訊,具有實(shí)時(shí)性強(qiáng)、可靠性高、結(jié)構(gòu)簡(jiǎn)單、互操作性好、價(jià)格低廉等特點(diǎn),目前已投入實(shí)用。