關(guān) 閉

        新聞中心

        EEPW首頁 > 工控自動化 > 設(shè)計應(yīng)用 > 煤礦安全監(jiān)控分站的研究

        煤礦安全監(jiān)控分站的研究

        作者: 時間:2009-09-18 來源:網(wǎng)絡(luò) 收藏

        軟件設(shè)計
        系統(tǒng)總體軟件結(jié)構(gòu)如圖3所示。在整個軟件流程中,測頻中斷的優(yōu)先級最高,以保證測頻的精度。通信的中斷優(yōu)先級次之,RS-232中斷的優(yōu)先級最低。
        為保證主站與通信的實效性,本設(shè)計完成測頻中斷服務(wù)僅需13個機器周期,而信號的周期比機器周期大數(shù)千倍,從而大大減小了主站在測頻中斷服務(wù)期間與進行通信的概率。
        在本設(shè)計中,已知來自傳感器的信號的頻率范圍為200Hz~1000Hz,信號的周期為1ms~5ms,而機器周期為0.0005ms,故主站與分站在測頻中斷響應(yīng)期間進行通信的概率為0.12~0.60%,即主站與分站進行通信的實效率為99.40~99.88%,完全能夠滿足生產(chǎn)的要求。

        關(guān)鍵技術(shù)及其實現(xiàn)
        測頻技術(shù)
        通常使用的單片機的測頻方法有兩種:直接測頻法和測周期的方法。本設(shè)計中選用了測周期的方法,因為本設(shè)計中被測信號的頻率較低,用測周期的方法精度較高,而且實時性強、測頻時間短,即使主站與分站每隔400ms通信一次,也能夠完成測頻的功能。
        根據(jù)頻率計算公式得到周期法測頻公式,式中,TO為定時器/計數(shù)器的計數(shù)脈沖周期時間,由單片機主脈沖經(jīng)12分頻得到,N為計數(shù)器在測周期期間的計數(shù)脈沖。當(dāng)晶振振蕩頻率為24MHz時,定時器的計數(shù)脈沖周期時間為0.5s,測量最大絕對誤差為信號前后邊界之差共1s。對于周期為1ms~5ms(頻率200Hz~1000Hz)的信號,最大誤差折算成頻率約為0.002Hz~0.01Hz,所以,頻率測量精度可達到0.001Hz~0.01 Hz。
        總線通訊技術(shù)
        總線通信是整個軟件設(shè)計的重要部分。通信過程主要包括發(fā)送和接收部分,本設(shè)計中兩部分都設(shè)置成了中斷方式而不是查詢方式,可以把它們做成模塊,采用調(diào)用子程序的方式來訪問。
        發(fā)送子程序負責(zé)節(jié)點報文的發(fā)送,發(fā)送時用戶只需將待發(fā)送的數(shù)據(jù)按特定格式組合成一幀報文送入SJA1000發(fā)送緩存區(qū)中,然后啟動SJA1000發(fā)送即可。但在往SJA1000發(fā)送緩沖區(qū)送報文之前,必須先作一些判斷。程序如下:
        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ā)送對象,然后根據(jù)CAN的數(shù)據(jù)鏈路層協(xié)議填寫到CAN數(shù)據(jù)幀的各個場,并發(fā)送出去。發(fā)送程序分為發(fā)送遠程幀和數(shù)據(jù)幀兩種,遠程幀無數(shù)據(jù)場。
        接收子程序負責(zé)節(jié)點報文的接收以及其它情況。接收子程序比發(fā)送子程序要復(fù)雜一些,因為在處理接收報文的過程中,同時要對諸如總線脫離、錯誤報警、接收溢出等情況進行處理。SJA1000報文的接收主要有兩種方式:中斷接收和查詢接收,考慮到對通信的實時性要求很強,本設(shè)計采用中斷接收方式。
        接收模塊的工作與發(fā)送模塊相反,首先進行接收濾波,確認該幀數(shù)據(jù)是否接收。如果接收,先按照數(shù)據(jù)鏈路層協(xié)議拆解數(shù)據(jù)包,將數(shù)據(jù)場的數(shù)據(jù)提取出來,再根據(jù)應(yīng)用層協(xié)議確定數(shù)據(jù)的具體含義,進行相應(yīng)的處理。CAN信息幀共有4種:數(shù)據(jù)幀、遠程幀、出錯幀和超載幀。其中,數(shù)據(jù)幀將數(shù)據(jù)由發(fā)送器傳至接收器。一個數(shù)據(jù)幀由7個不同場構(gòu)成。其中仲裁場由標(biāo)識符ID和RTR構(gòu)成。

        結(jié)語
        本文以微處理器AT89S52為核心,設(shè)計的KJ122型分站,通過CAN總線、RS-232總線,在定制的KJ122型系統(tǒng)協(xié)議下與中心站計算機進行通訊,具有實時性強、可靠性高、結(jié)構(gòu)簡單、互操作性好、價格低廉等特點,目前已投入實用。


        上一頁 1 2 下一頁

        評論


        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 台前县| 湖北省| 东光县| 桂林市| 绍兴县| 灵武市| 和田县| 林甸县| 齐齐哈尔市| 峨山| 新田县| 道孚县| 迁安市| 五大连池市| 太仆寺旗| 清丰县| 甘谷县| 察哈| 连山| 通州区| 芜湖市| 锡林浩特市| 唐海县| 道孚县| 南平市| 巴里| 六安市| 清新县| 库伦旗| 杂多县| 株洲市| 陵川县| 霍山县| 西乡县| 阿拉善右旗| 大化| 南和县| 漳平市| 肥城市| 凯里市| 海原县|