嵌入式技術在推焦數(shù)據(jù)采集系統(tǒng)中的應用
在煉焦生產(chǎn)中,推焦時間、平煤時間、推焦電流等數(shù)據(jù)是反映焦爐實際操作情況的重要指標。由于推焦車是室外移動裝置,而采集好的數(shù)據(jù)需及時傳送到中心主控室的計算機中完成數(shù)據(jù)的分析、處理和記錄,因此為了實現(xiàn)推焦過程的有效監(jiān)測,需要解決數(shù)據(jù)采集和數(shù)據(jù)通信這兩大問題。
1 監(jiān)控系統(tǒng)的基本結構
按項目要求,中心主控站能對2個移動距離達200 m的推焦車上的電流信號進行數(shù)據(jù)采集,所以采用無線數(shù)據(jù)傳輸?shù)哪J剑ㄟ^無線數(shù)傳電臺控制推焦車上的從站接收主控站的命令,并接收從站發(fā)出的推焦電流等模擬量以及爐號等數(shù)字量信息。系統(tǒng)的基本結構如圖l所示,其中上位機(主站)由1個PC終端和D2lDL無線數(shù)傳模塊(含天線)組成,二者之間通過串口通信。
鑒于數(shù)據(jù)庫技術已經(jīng)相當成熟,中心主控站的數(shù)據(jù)管理可以較容易地實現(xiàn),所以關鍵技術就在于下位機對現(xiàn)場數(shù)據(jù)的實時采集,以及下位機與上位機之間可靠的無線數(shù)據(jù)傳輸。
2 下位機的硬件組成
下位機以ARM7微控制器為核心,利用ARM7內(nèi)核對外圍設備,包括無線數(shù)傳模塊、LCD顯示模塊、模擬/數(shù)字信號輸入、鍵盤掃描,進行控制和管理,基本框架如圖2所示。
(1)ARM控制板
控制板是下位機的核心,控制系統(tǒng)的各個功能模塊??刂瓢宓腗CU采用Atmel公司的 AT91SAM7S64芯片,它有64 KB高速Flash和16 KB的SRAM,片內(nèi)主要有存儲器控制器、復位控制器、時鐘發(fā)生器、電源管理控制器、先進中斷控制器、周期性間隔定時器、時間窗看門狗、實時定時器、并行輸入/輸出控制器、外設數(shù)據(jù)控制器、USB2.O全速設備接口、同步串行控制器、通用同步/異步收發(fā)器、主從串行外設接口、3通道16位定時器/計數(shù)器、4通道16位PWM控制器、兩線接口、8通道10位A/D。控制板的外圍電路主要包括電壓轉(zhuǎn)換電路、串口輸入/輸出控制電路、JTAG電路、模擬量數(shù)字量輸入/輸出電路、時鐘芯片控制電路、USB接口電路、EEPROM電路等。
(2)液晶顯示模塊
下位機的本地顯示功能通過控制帶有SEDl335控制器的液晶顯示模塊實現(xiàn)。SEDl335是日本Seiko Epson公司生產(chǎn)的液晶顯示控制器。它的輸入/輸出緩沖器功能較強,指令功能豐富,并行發(fā)送4位數(shù)據(jù),最大驅(qū)動能力為640×256點陣。SEDl335硬件結構由MCU接口、內(nèi)部控制和驅(qū)動LCM組成。
(3)無線數(shù)傳模塊
由于推焦車要在較大范圍移動,因而采用無線數(shù)據(jù)傳輸是一種較好的選擇。北京捷麥公司生產(chǎn)的SA68D21DL無線數(shù)據(jù)收發(fā)模塊是一種可在微機與微機之間或微機與單片機之間進行全雙工遠距離無線通信的收發(fā)模塊,它還可以脫離微機組成多點報警、遙控系統(tǒng)。其主要特點為:串口具有TTL、RS232、RS485等多種電平接口;內(nèi)含EE—PROM看門狗電路,可掉電記憶設置參數(shù);發(fā)送/接收距離為1~3 km。
(4)電流變送器模塊
在電力電子產(chǎn)品中,對大電流進行精確的檢測和控制是產(chǎn)品安全可靠運行的根本保證。推焦車設備中,最大電流可達400 A。經(jīng)多方調(diào)研比較,采用北京森社公司生產(chǎn)的霍爾電流變送器模塊,其主要特點為:工作區(qū)內(nèi)精度高于1%;動態(tài)性能響應時間小于lms,跟蹤速度高于50 A/ms;平均無故障工作時間>50 000小時;易于安裝。
[!--empirenews.page--] (5)鍵盤控制模塊
傳統(tǒng)的行列式編碼數(shù)字鍵盤要占用很多I/O引腳,而基于A/D轉(zhuǎn)換器的鍵盤一般只用一個I/O引腳就能讀取多個按鍵。其工作原理為:鍵盤由一系列分壓電阻和按鍵組成,不同的按鍵對應著不同的分壓電阻,從而得到不同的分壓及不同的A/D轉(zhuǎn)換數(shù)值。這種鍵盤只能識別單個按鍵按下的情況,本鍵盤只有12個按鍵,現(xiàn)場操作人員只需輸入爐號1~10以及“確認”、“取消”鍵,因此完全滿足要求。
3 下位機的軟件設計
軟件模塊包括串口控制程序、A/D數(shù)據(jù)采集、無線模塊收發(fā)控制、LCD更新顯示控制、定時器控制和按鍵掃描輸入控制部分。
由于下位機工作模式簡單,出于精簡代碼量以及程序穩(wěn)定性的考慮,未在控制器中使用操作系統(tǒng)等復雜的進程調(diào)度機制。下位機上電后直接運行主程序,完成初始化過程之后進入主循環(huán),接收上位機發(fā)送的命令并據(jù)此進行相關操作。對于實時性要求較高的數(shù)據(jù)采集、LCD屏顯示更新和鍵盤掃描任務,則在定時器中斷服務程序中完成。
主程序主要包括系統(tǒng)初始化(初始化MCU、總線、I/O端口、LCD、A/D、參數(shù)、串口等)、無線數(shù)傳模塊設置(讀取并設置地址和身份碼)、顯示開機畫面、開定時器中斷、接收串口數(shù)據(jù)、數(shù)據(jù)校驗和發(fā)送數(shù)據(jù)。中斷控制程序包括鍵盤掃描、判斷鍵值響應按鍵、模擬量和數(shù)字量采樣以及按照協(xié)議將數(shù)據(jù)填充到發(fā)送數(shù)組。
3.1 對LCD顯示屏的控制
ARM系統(tǒng)使用12個I/0端口控制內(nèi)置SED1335控制器的顯示屏。其中4個端口為控制命令端口,8個端口為數(shù)據(jù)端口,端口控制信號圖如圖3所示。
AT91SAM7S64并行輸入輸出控制器(PIO)管理多達32個全可編程I/O線。對于LCD顯示屏的控制,實際上是根據(jù)SED1335控制器的時序進行操作,即通過PIO控制器控制并行數(shù)據(jù)輸出。
程序的具體實現(xiàn)就是先總線初始化,配置控制LCD的8條數(shù)據(jù)總線和4條命令總線,設置外圍設備時鐘使能寄存器(PCER)、上拉禁止寄存器(PPUDR)、多驅(qū)動禁止寄存器(MDDR)、輸入濾波禁止寄存器(IF—DR)、輸出寫使能寄存器(0WER)、PIO使能寄存器(PER)、輸出使能寄存器(OER)和輸出數(shù)據(jù)寄存器(S0一DR)。
3.2 對無線數(shù)傳電臺模塊的控制
AT91SAM7S64的USART,支持與使能由發(fā)送器到接收器的數(shù)據(jù)傳輸?shù)耐庠O數(shù)據(jù)控制器的連接,可管理多類型串行同步或異步通信。推焦車上的下位機通過USART口同無線數(shù)傳電臺模塊通信,控制電臺接收和發(fā)送數(shù)據(jù),相關接口的核心芯片是MAX3232EEA,具體電路如圖4所示。
串口的初始化包括初始化外設I/0,使能時鐘,配置串口工作模式(如波特率)等,使能串口;串口接收采用超時接收,其含義是:當串口收到1字節(jié)的數(shù)據(jù)后,若在一定時間間隔內(nèi)收到另外1字節(jié)數(shù)據(jù),則可認為后1字節(jié)同前1字節(jié)為同一包數(shù)據(jù)中的內(nèi)容,若在一定時間間隔內(nèi)未收到數(shù)據(jù),則認為此包數(shù)據(jù)接收結束。這時,串口狀態(tài)寄存器的相應位置1,通過查詢狀態(tài)寄存器該狀態(tài)位的值可判斷是否接收結束。串口數(shù)據(jù)發(fā)送只要設置好發(fā)送數(shù)據(jù)寄存器和發(fā)送數(shù)據(jù)計數(shù)器,即可開始發(fā)送。
3.3 系統(tǒng)中定時器的作用
本系統(tǒng)通過AT91SAM7S64的定時器/計數(shù)器模塊控制數(shù)據(jù)采集周期、按鍵掃描和LCD更新。AT91SAM7S64定時器/計數(shù)器(TC)包括3個相同但相互獨立的16位定時器/計數(shù)器通道。
每個通道有3個外部時鐘輸入,5個內(nèi)部時鐘輸入及2個可由用戶配置的多功能輸入/輸出信號。每個通道驅(qū)動一個可編程內(nèi)部中斷信號來產(chǎn)生處理器中斷。定時器/計數(shù)器有2個作用于這3個通道的全局寄存器。塊控制寄存器允許使用同樣的指令同時啟動3個通道。塊模式寄存器為每個通道定義外部時鐘輸入,允許將它們連接。另外,每個通道有一個16位寄存器,寄存器值在所選時鐘每個上升沿處自減,當計數(shù)器達到0xFFFF并轉(zhuǎn)為0x0000時,表明發(fā)生溢出,TC_SR(狀態(tài)寄存器)中COVFS位置1。
[!--empirenews.page--] 定時器初始化包括設置定時器時鐘,配置模式寄存器,設置定時器中斷等。
定時器中斷25 ms進行一次A/D轉(zhuǎn)換,控制采集A11、A12模擬信號輸入,以及鍵盤信號的掃描。由于AI模擬信號每250 ms采集一組,所以每進入10次中斷將最近5次采集到的AI信號進行去極值求平均數(shù)操作,并裝入發(fā)送數(shù)組通過串口發(fā)往無線數(shù)傳模塊;而鍵盤按鍵信號由于要求較高的實時性,所以每25ms判斷一次。之所以把AI數(shù)據(jù)采集和鍵盤掃描放在同一個定時器中,是因為這兩個功能模塊均用到了ADC控制器;若放在兩個定時器中斷中分別對ADC控制器進行操作,則會造成資源訪問沖突,導致程序跑飛和系統(tǒng)癱瘓。當判斷按鍵輸入部分結束,對按鍵將作出實時響應,主要體現(xiàn)在LCD的顯示內(nèi)容上。每250 ms采集一組AI信號時,同樣也會將采集到的數(shù)據(jù)轉(zhuǎn)換為工程量通過LCD顯示出來,實現(xiàn)數(shù)據(jù)的本地實時顯示。
3.4 系統(tǒng)中A/D的使用
A/D是一個數(shù)據(jù)采集系統(tǒng)的基礎,其信號采集精度和采集周期直接決定了系統(tǒng)的準確性和實時性。在AT91SAM7S64芯片內(nèi),8路模擬量通過1個八選一復用開關后進行A/D轉(zhuǎn)換,相應的轉(zhuǎn)換結果送入一個所有通道可用的通用寄存器,即通道專用寄存器中,可配置為軟件觸發(fā)、外部觸發(fā)ADTRG引腳上升沿或內(nèi)部觸發(fā)定時器/計數(shù)器輸出。ADC支持8位或10位的分辨率,默認情況為10位分辨率;對于所有通道只需要一個啟動命令來初始化轉(zhuǎn)換序列。ADC硬件邏輯對工作通道自動執(zhí)行轉(zhuǎn)換,然后等待新請求;當轉(zhuǎn)換完成后,10位數(shù)字結果存于當前通道的通道數(shù)據(jù)寄存器(ADC_CDR)及ADC最后轉(zhuǎn)換數(shù)據(jù)寄存器(ADC_LCDR)中。
本系統(tǒng)中,用AT91SAM7S64芯片的ADC控制器定時對相應通道的模擬量進行采集。另外,系統(tǒng)還通過A/D讀取鍵盤數(shù)據(jù),根據(jù)ADC轉(zhuǎn)換值的不同判斷按鍵。ADC的初始化包括初始化時鐘、復位ADC、配置模式寄存器、設置A/D通道等。在本系統(tǒng)中,程序使能4路A/D通道,2路用于對反映推焦參數(shù)的模擬信號進行數(shù)據(jù)采集,另外兩路用于對鍵盤按鍵信號進行判斷控制。相關程序如下:
對于所采集的數(shù)據(jù),需要進行數(shù)字濾波以減少外界干擾的影響。綜合考慮電磁環(huán)境以及算法復雜度等因素,采用去極值的平均濾波算法,即對短時間內(nèi)采集到的數(shù)據(jù),去除最大值和最小值,把其余值的平均數(shù)作為一次數(shù)據(jù)采集的信號量。
對于鍵盤按鍵信號,每個按鍵按下產(chǎn)生的模擬量值都在一個特定的區(qū)間范圍內(nèi)。從軟件上看,只需要判斷采集按鍵信號的2路A/D轉(zhuǎn)換值處在哪個區(qū)間內(nèi),即可判斷出哪個鍵被按下,并且增加相關保護程序,使按鍵長時間按下不會重復響應,以防止誤操作。
結 語
與現(xiàn)有的推焦數(shù)據(jù)采集系統(tǒng)相比,本系統(tǒng)有以下幾個特點:將通過A/D采集到的模擬量經(jīng)過工程量轉(zhuǎn)換后,在LCD顯示屏上實時顯示,便于推焦車操作及維護人員直觀監(jiān)測數(shù)據(jù)的變化情況并作相應調(diào)整;上位機發(fā)送過來的爐號信息和時間信息也在LCD顯示屏顯示,增強了控制命令的可視性,降低了誤操作的可能;采用無線數(shù)傳模塊實現(xiàn)上位機與下位機之間的數(shù)據(jù)通信,并通過軟件校驗的方式使傳輸?shù)恼`碼率降低到系統(tǒng)允許的范圍。
此推焦數(shù)據(jù)監(jiān)控系統(tǒng)已經(jīng)交付貴州、山西和山東等地的一些焦化廠使用,達到了預期的運行效果。