田永強, 田慕琴
(太原理工大學 煤礦裝備與安全控制山西省重點實驗室,山西 太原 030024)
礦用氣體傳感器作為監控煤礦安全的重要組成部分被大量應用于各煤礦企業,其工作的可靠性和穩定性直接關系到煤礦的安全生產,由于其檢測元件的固有特性導致其在使用一段時間后會出現顯示不準的問題,因此,國家規定對礦用氣體傳感器必須進行定期調校[1]。近年來,我國陸續取締小型煤礦,逐漸向煤礦開采大型化、智能化發展,大中型煤礦數量眾多,所擁有的各類氣體傳感器更是數不勝數,而目前國內的礦用氣體傳感器調校裝置可同時對5~8臺氣體傳感器進行調校,在調校數量多的情況下,需要購入多臺調校裝置,需要多名調校人員,使調校成本增加[2]。
針對上述問題,本文提出了一種以單片機與現場可編程門陣列(FPGA)為核心控制器件的礦用氣體傳感器智能調校系統。FPGA的I/O端口數眾多,其編程配置靈活, 全部控制邏輯由硬件完成,速度快、效率高;同時其開發周期較短,系統簡單,容易維護和擴展[3~5]。本文將其與單片機結合起來,利用FPGA完成調校系統中64路氣路的控制與64路傳感器信號的采集,實現了對64路傳感器同時調校的要求。
64路礦用氣體傳感器智能調校系統以工控機為信息處理中心和監控中心,通過智能控制技術和微控制器技術的有機結合完成整個調校過程的智能化,該系統由工控機模塊、氣路控制模塊、數據采集模塊、紅外控制模塊等組成。其設計框圖如圖1所示。

圖1 64路氣體傳感器智能調校系統設計框圖
在調校過程中,工控機模塊開發平臺選用力控組態軟件PCAuto6.1建立實時動態工作界面,主要完成調校過程中的調校指令的發送、實時數據的采集與處理、調校過程的監控、報表的生成和打印以及系統數據庫的維護。
氣路控制模塊主要完成供給各種標準濃度氣體、自動切換各種標準濃度氣體、精確控制各種標準濃度氣體的流量大小以及控制需要調校的氣體傳感器通路通斷。操作人員在工控機操作界面發送各種調校指令,單片機通過串行通信接口與工控機相連接,接收由工控機通過RS—232串行總線發送的調校指令。通過單片機控制進氣氣路,當端口控制信號為低電平時繼電器導通,觸電吸合,所控電控閥打開,通入需要的標準氣體。單片機將經D/A和調理后的電壓信號輸出給質量流量控制器來控制電磁比例調節閥的開度,其輸出電壓信號的大小是根據所要調校的傳感器的數量N設定的,以保證每個傳感器得到穩定的流量200 mL/min(也可以根據實際需要設置)。同時單片機控制FPGA對標準樣氣的供給位置進行控制,打開需要調校的傳感器通路,達到向目標傳感器輸送標準濃度氣體的目的。
目前在對傳感器進行調校的時候主要采用紅外遙控器來實現,因此,導致礦用氣體傳感器不能實現自動閉環調校,基于此,在分析不同紅外遙控信號協議的基礎上,采用通過單片機來模擬各類紅外遙控器信號的發射的方法代替人手工操作遙控器,同時通過實時對傳感器輸出信號進行采集分析即可形成閉環自動調校系統。在紅外控制模塊中,單片機根據工控機指令通過I/O口驅動紅外發射電路發送紅外調校信號,并通過三極管對信號進行放大,增強紅外信號強度,對顯示數值不準確的傳感器進行調校。
數據采集模塊主要是完成對被調校的多路氣體傳感器濃度的變送輸出進行采集,64路氣體傳感器輸出頻率信號送入FPGA,由單片機控制FPGA選擇64路頻率信號哪路進入單片機,然后將采集數據送進工控機經過運算轉換為濃度值,也為系統的閉環控制提供反饋量,最后將濃度值在工控機上顯示、存儲與處理、自動計算誤差并按規程要求打印檢定記錄和檢定證書,實現了調校過程的自動化。
FPGA是一種用戶可以根據自身需要自行構造邏輯功能的數字集成電路,目前最高水平的FPGA已采用65 nm、 11層銅布線,規模已達到330 000個邏輯單元(可編程邏輯門約660萬門)和1 200個用戶I/O,速度已達到550 MHz。FPGA時鐘頻率高、內部延時小、集成度高、體積小、功耗低,全部控制邏輯由硬件完成, 速度快、效率高、編程配置靈活、開發周期短、系統簡單,而且比較容易移植到單片機中[3~5]。因此,本文通過FPGA實現對單片機的I/O口的擴展,并通過FPGA實現將多路傳感器信號采集回下位機進而傳輸給上位機進行顯示與處理。
在64路氣體傳感器調校過程中,需要控制每一路氣路的通斷,防止不需要通氣的氣路開通造成浪費,提高系統實用性。因此,在每一路傳感器的氣路上面加裝電磁閥,通過繼電器來控制電磁閥的通斷。但由于單片機的I/O資源有限,不能直接通過單片機的I/O口驅動64路的繼電器,所以,需要通過FPGA實現對單片機I/O口的擴展。其硬件架構如圖2所示,控制模塊通過單片機將需要開通的繼電器控制信號編碼后傳輸到FPGA,在FPGA的作用下將繼電器的控制信號通過驅動電路控制64路繼電器的通斷,進而控制電磁閥的開關狀態,完成對標準樣氣供給位置的控制。

圖2 64路傳感器氣路控制硬件架構
模塊主要由單片機、FPGA、驅動電路、64個繼電器以及64個電磁閥組成。單片機采用CYGNAL公司的C8051F020芯片,該單片機是完全集成的混合信號系統級SC 芯片,采用流水線結構,最大時鐘頻率為24 MHz,運算能力強,實時性好[6]。FPGA采用Altera Cyclone Ⅱ系列的EP2C20F484C8,該FPGA具有低功耗、高性能和低成本的特點,最大用戶I/O數達315,可以滿足本設計需要。驅動電路的作用是將FPGA送出的小電流信號放大到足夠驅動繼電器工作,驅動功能由ULN2803實現,ULN2803由8個NPN 達林頓晶體管組成,電流增益大、帶負載能力強。將8個ULN2803連接到FPGA的64個I/O口上,可以同時驅動64個繼電器,使用靈活、方便。
本設計采用Verilog HDL作為硬件描述語言,它是一種以文本形式來描述數字系統硬件的結構和行為的語言,具有簡明、高效的代碼風格與易學易用的特點,是目前應用最為廣泛的硬件描述語言。采用開發工具QuartusⅡ, QuartusⅡ可以完成FPGA的設計輸入、綜合、仿真、實現等環節。FPGA模塊的主要功能是實現地址譯碼和鎖存,相應地在用Verilog HDL編碼時也設計了譯碼模塊和鎖存模塊, 然后對程序進行綜合,生成RTL視圖,如圖 3所示。

圖3 FPGA內部模塊RTL級視圖
單片機口直接與FPGA進行通信,控制繼電器的開斷的6位地址數據Rx(5∶0)由單片機的P2口負責,FPGA的工作脈沖clk由P3.0口負責,當單片機的P2口出現Rx(5∶0)地址數據,同時clk到達上升沿時, FPGA開始工作,從而驅動繼電器。清零信號clr能使FPGA的全部(I/O)口置為低電平 使繼電器斷開。
FPGA的輸入信號有8路,1路為時鐘信號,1路為復位信號,6路為地址數據信號。8路信號送入FPGA后,64 decode譯碼電路主要實現接收輸入的串口信號,根據串口信號完成64路譯碼;64 latch鎖存電路主要實現鎖存控制輸出,輸出信號為數字邏輯信號O[0]~O[64]。
FPGA的I/O端口可以自動鎖定, 即如果沒有新的指令到達,所有輸出引腳處于原有狀態。經譯碼電路后輸出的信號只有在單片機送出的時鐘信號clk上升沿的驅動下,FPGA的I/O端口的輸出狀態才會改變。
FPGA輸出接入到ULN2803和繼電器上,以此控制電磁閥的通斷,這樣就可以實現全部模塊功能。
本系統的紅外控制模塊與氣路控制模塊的硬件電路相似,在此就不再贅述。
如圖4所示,本系統由FPGA實現64路氣體傳感器輸出頻率信號數據采集功能,負責將頻率信號保存為頻率數據,然后與單片機通信;單片機將其采集數據送進工控機經過運算轉換為濃度值,最后將濃度值在工控機上顯示、存儲與處理。此設計提高了系統的實時采集效率和同步數據能力。

圖4 64路氣體傳感器數據采集傳輸系統的硬件架構
傳感器信號的電平轉換電路如圖5所示。因為FPGA的電壓等級為3.3 V,傳感器輸出電壓為5 V,因此,通過反相器和光耦組成整形調壓電路,使得頻率信號波形的邊沿更加陡峭,同時電壓轉換為FPGA能夠接受的3.3 V。
首先由工控機將需要采集的傳感器位置信息下發到單片機,單片機再將該信息放入FPGA的采集選擇寄存器,FPGA進行氣體傳感器的數據采集,然后將采集到的數據存入到RAM存儲單元中,然后單片機將從RAM 存儲模塊中讀取到的數據發送到工控機。數據采集模塊由數據采集單元和RAM存儲單元構成。數據采集模塊的結構如圖6。

圖6 數據采集模塊的結構圖
在數據采集模塊中,數據采集單元主要負責數據采集,一路氣體傳感器的數據由一個數據采集單元采集,采用64個數據采集單元來實現64路氣體傳感器數據的采集。FPGA根據單片機的傳感器位置信號,進行傳感器數據的采集,然后把采集的結果放入采集結果寄存器,并置位采集結果完成信號。RAM存儲單元負責將數據采集單元采集到的頻率數據存儲起來供單片機讀取。每個數據采集單元采集到的數據都包含傳感器對應位置與其頻率數據采集結果。數據采集的流程圖如圖7所示。

圖7 數據采集流程圖
最后,采用QuartusⅡ對程序進行了邏輯綜合,自動將Verilog HDL語言描述轉換成門級電路描述,進而完成對電路的自動布局布線、功能仿真和時序仿真等工作。將設計的電路下載到硬件電路中,從而完成了對整個系統的設計工作,并對整個系統進行了調試運行。
在系統測試過程中,根據調校規程,需要分別通入清潔空氣、0.5 %,1.1 %,1.5 %,3.0 % CH4的標準氣體,分別取4,8,16,32,64臺礦用氣體傳感器進行調校,與KTQJ—4氣體傳感器調校檢定裝置進行比較,調校準確率與調校時間如表1所示。

表1 系統測試對比
實驗結果表明:在對每一臺礦用氣體傳感器進行調校時,需要對其黑白元件預熱10~15 min才能進行正常的工作,在對4臺礦用氣體傳感器進行調校時,KTQJ—4氣體傳感器調校檢定裝置與本系統的調校時間相差不大,然而由于該系統使用FPGA進行并行氣路控制和數據采集,比單一使用單片機串行控制采集,提高了系統調校效率和信號采集精度,能有效完成對64路礦用氣體傳感器的調校。
針對大中型煤礦需要調校氣體傳感器數量多的現狀,本文提出了對64路氣體傳感器同時調校的設計目標,采用單片機+FPGA的組合結構,針對64路氣體傳感器同時調校對I/O口的要求,使用FPGA實現了對單片機I/O口的擴展,完成了對64路氣體傳感器調校的系統功能,是一種比較理想的多路氣體傳感器校驗方案,具有很強的實用價值[4]。
參考文獻:
[1] 張文娜. 基于DSP礦用氣體傳感器智能校驗儀的開發研究[D].太原:太原理工大學 ,2011.
[2] 王義強.礦用氣體傳感器檢定系統的開發研究[D].西安:西安科技大學,2009.
[3] 張 偉,韓一明,吳新玲.基于FPGA的高速數據采集系統的設計[J].電力情報,2002(3):46-49.
[4] 林長青,孫勝利.基于FPGA的多路高速數據采集系統[J].電測與儀表,2005,42(5):52-54.
[5] 劉 佳,焦斌亮. FPGA的發展趨勢及其新應用[J].電子技術,2008,45(4)43-44.
[6] 鮑可進,趙念強,申屠浩,等.C8051F020單片機原理及應用[M].北京:中國電力出版社,2006:13-18.