摘要:給出以LPC2131ARM單片機為核心的16通道開關信號采集卡的硬、軟件設計。
關鍵詞:開關信號;采集卡;ARM
引言
在大型工業(yè)控制系統(tǒng)中,各級設備的啟動、停止,都對整個系統(tǒng)的運行狀況有著一定的影響,對這些裝置開關量信號的采集、動作時序的記錄也顯得尤為重要。所以,有必要設計一種開關量信號采集卡,來對這些信號進行采集,以對設備運行狀態(tài)、生產(chǎn)事故的檢測和分析、查詢提供依據(jù)。
本文介紹的16通道開關信號采集卡采用飛利浦LPC2131ARM單片機為核心,以0。5ms的采樣周期,可對16路開關量輸入信號進行采集,對開關量的跳變波形及發(fā)生時間進行實時測量,并將數(shù)據(jù)上傳至上位機歷史數(shù)據(jù)庫,其分辨率為1ms。同時,可通過與上位機軟件的配合對歷史數(shù)據(jù)進行全方位查詢,以分析系統(tǒng)運行情況。
測量卡件留有UART通訊接口,與控制器聯(lián)網(wǎng),將采集的數(shù)據(jù)輸送到控制器處理后,再發(fā)送到工作站顯示狀態(tài),并同時記錄事件發(fā)生的時間和狀態(tài),將記錄的數(shù)據(jù)存入工作站歷史數(shù)據(jù)庫。
信號采集卡
采集卡在卡件主面板上以16通道LED燈指示通道信號狀態(tài),同時在通道與通道之間,通道與底板之間實現(xiàn)隔離,并實現(xiàn)了與現(xiàn)場的電磁屏蔽。以保證測量到的信號不受干擾。采集卡模塊規(guī)格如表1所示。
同時,采集卡通過UART通訊接口,通訊物理層使用CAN的總線驅動芯片TJA1040,與控制器聯(lián)網(wǎng),將所采集的數(shù)據(jù)發(fā)送到控制器中。
采集卡硬件設計
16通道開關量信號采集卡硬件電路由信號采集電路、單片機系統(tǒng)、通訊接口電路、外接引腳、人機接口五部分組成,其硬件電路結構示意圖如圖1所示。
圖1開關量測量卡件硬件結構圖
開關量信號采集電路
開關量信號采集電路是實現(xiàn)將現(xiàn)場的各路開關量信號采集送入處理芯片內,實際設計中采用飛利浦LPC2131ARM單片機。
信號采集電路的測量原理為:現(xiàn)場16路開關量信號接入卡件測量端子,由于考慮到現(xiàn)場信號的波動和干擾,為了保證系統(tǒng)穩(wěn)定、可靠地運行,防止各類現(xiàn)場及電源干擾對系統(tǒng)的影響,通道中采用了光電耦合器,將卡件內部與現(xiàn)場輸入信號進行隔離,從而實現(xiàn)信號的準確測量。實際設計中,采用了PS2701光電耦合器,卡件測量通路的結構框圖如圖2所示。
圖2開關量信號采集電路
后來,由于考慮到信號反轉的簡易性,將光電耦合器改為PS2705,實現(xiàn)了信號反轉亦可的功能,所以實際測量電路進一步簡化為圖3。
圖3簡化開關量信號采集電路
經(jīng)過光電耦合器隔離轉化后的信號,通過雙向總線驅動器與處理芯片的數(shù)據(jù)總線相連接,將數(shù)據(jù)送入處理芯片LPC2131中進行處理。
單片機系統(tǒng)
處理芯片選用飛利浦LPC2131,它是基于一個支持實時仿真和嵌入式跟蹤的32位ARM7TDMI-STMCPU的微控制器,并帶有32kB的嵌入的高速Flash存儲器。128位寬度的存儲器接口和獨特的加速結構使32位代碼能夠在最大時鐘速率下運行。同時,LPC2131對代碼規(guī)模有嚴格控制,可使用16位Thumb模式將代碼規(guī)模降低超過30%,而性能的損失卻很小。
LPC2131的較小的封裝和極低的功耗使其可理想地用于小型系統(tǒng)中,如訪問控制和POS機。寬范圍的串行通信接口和片內8kB的SRAM使LPC2131非常適用于通信網(wǎng)關、協(xié)議轉換器、軟modem、聲音辨別和低端成像,為它們提供巨大的緩沖區(qū)空間和強大的處理功能。多個32位定時器、1個或2個10位8路ADC、10位DAC、PWM通道和47個GPIO以及多達9個邊沿或電平觸發(fā)的外部中斷使其特別適用于工業(yè)控制系統(tǒng)。
單片機系統(tǒng)以LPC2131為核心,片內自帶8K閃速存儲器,因而無需擴展外部ROM;要實現(xiàn)對開關量有關歷史數(shù)據(jù)的追憶,有關信息必須易存儲且不容易丟失,在系統(tǒng)失電后可以有效的保存數(shù)據(jù)。其測量的數(shù)據(jù)信息包括開關量發(fā)生的年、月、日、時、分、秒、毫秒以及當時各路通道的開關量狀態(tài)。
圖4單片機系統(tǒng)電路框圖
同時,由于在系統(tǒng)運行中各種干擾等因素的影響,往往會引起程序運行出現(xiàn)死循環(huán)后跑飛現(xiàn)象,系統(tǒng)中還采用了簡單的硬件WATCHDOG電路。
通訊接口電路
為了使測量卡件能夠有效的將采集到的數(shù)據(jù)發(fā)送給控制器,卡件設計了UART電路。通過串口,卡件可根據(jù)上位機的操作命令,完成有關的數(shù)據(jù)傳送、參數(shù)調整和時鐘校對等任務。
卡件采用TJA1090通訊芯片,它是專為串行通訊模式設計的,輸出端還接有穩(wěn)壓管保護電路,接口電路如圖5所示。
圖5通訊接口電路
卡件模塊規(guī)格及其外接電路引腳
卡件通過專用引腳與卡件底板相連接,以傳輸采集到的信號。卡件外接電路引腳如圖6所示。
圖6外接電路引腳圖
人機接口
卡件采用串口通訊與控制器通訊,再將測量的信號上傳到上位機,由上位機的組態(tài)畫面顯示,人機界面友好,數(shù)據(jù)可用于系統(tǒng)組態(tài)、歷史數(shù)據(jù)查詢等操作,同時可以實現(xiàn)過程控制SOE查詢,通過與其配套使用的SOE軟件,可實現(xiàn)去除抖動、削峰、削谷等功能,實現(xiàn)了SOE事故追憶和查詢,其精度可達到1ms級。
采集卡軟件設計
卡件軟件設計采用功能模塊結構。全部軟件包括主程序、中斷服務子程序等。其中主程序用來巡回檢測和執(zhí)行上位機送來的命令。中斷服務子程序分為溢出中斷子程序和串行口中斷子程序,前者用于開關量跳變信號的采集,后者用于接收上位機發(fā)來的數(shù)據(jù)。[!--empirenews.page--]
主程序
卡件帶電后,進入主程序。首先判斷卡件是否為上電復位,如果不是上電復位,則通過死機恢復處理后直接進入巡回檢測階段;如果是上電復位,則先進行卡件自檢及初始化,包括設置堆棧指針,清內存,設置時間常數(shù)等,然后允許中斷,進入正常的巡回處理程序,可以實現(xiàn)參數(shù)設置,開關量跳變時間、狀態(tài)采集等功能。如果在主程序中檢測到程序中定義的接收數(shù)據(jù)標志位置位,表明單片機已接收到上位機發(fā)出的數(shù)據(jù),接收數(shù)據(jù)過程由串行口中斷子程序來完成。根據(jù)上位機的數(shù)據(jù),測量卡件作出相應的響應,或回送數(shù)據(jù),或參數(shù)設置。
中斷服務子程序
信號采集服務子程序主要完成發(fā)生動作的開關量信號的采集,由溢出中斷來實現(xiàn),每0。5ms中斷一次。
通訊服務子程序主要指的是對上位機數(shù)據(jù)的接收子程序,由串行口中斷來實現(xiàn)。而發(fā)送回上位機的數(shù)據(jù)大多為開關量記錄信息,數(shù)據(jù)量較大,主要在主程序中完成。同時,可以設置通訊時波特率的大小,此項在卡件參數(shù)設置中可實現(xiàn)。
結語
目前該卡件已在江蘇省南通天生港電廠#10、#11機組脫硫監(jiān)控系統(tǒng)中投入使用。各項性能指標皆達到原設計要求,運行可靠,狀況良好,可廣泛適用于化工、冶金、電力等行業(yè)工業(yè)過程中實現(xiàn)開關量的采集,事故追憶等功能。