新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于ARM的開關(guān)量信號采集模板的設(shè)計

基于ARM的開關(guān)量信號采集模板的設(shè)計

作者: 時間:2011-06-25 來源:網(wǎng)絡(luò) 收藏

LPC2138的內(nèi)部本身集成有看門狗電路,但是根據(jù)作者多年從事電力系統(tǒng)自動化產(chǎn)品的設(shè)計經(jīng)驗,由于CPU內(nèi)部WDT需要軟件編程啟動,在極端情況下,系統(tǒng)死機后該WDT不能對系統(tǒng)進(jìn)行恢復(fù)。為此,在進(jìn)行本模板設(shè)計時,沒有使用LPC2138內(nèi)部的WDT,而是采用SP706S芯片專門擴展了一個看門狗,用于系統(tǒng)“走死”后的自動恢復(fù)。SP706S是一款專門的看門狗復(fù)位電路,其定時器延時的時間為1.6秒。電路設(shè)計方法是將SP706S的復(fù)位輸出引腳與LPC2138復(fù)位電路的人工復(fù)位引腳相連。由于LPC2138軟件下載的時間要大于1.6秒,硬件設(shè)計時設(shè)置了一個跳線器用于看門狗的使能/禁止,軟件下載時將跳線帽拔下,模板正常運行時將跳線帽插上。B板的看門狗復(fù)位電路如圖4所示。

正常運行時,模板軟件的看門狗定時器任務(wù)將定時(1.6秒)清除SP706S的延時計數(shù)器,SP706S不會產(chǎn)生復(fù)位模板的信號。軟件“走死”后,由于該任務(wù)不再清WDT計數(shù)器,1.6秒之后,SP706S產(chǎn)生復(fù)位模板的信號,模板重新啟動運行。
模板軟件運行過程中,軟件的其它任務(wù)和異步串行通信收發(fā)器也可能局部“走死”,對于這種局部“走死”的情況,最好是局部恢復(fù)而不是模板復(fù)位。為此,看門狗定時器任務(wù)設(shè)計時采用了軟硬看門狗級聯(lián)工作的模式,即硬件看門狗監(jiān)視WDT任務(wù)的運行,同時設(shè)計多個軟件看門狗定時器監(jiān)視其它任務(wù)的運行和異步串口的收發(fā),WDT任務(wù)“走死”后復(fù)位模板,其它監(jiān)視對象“走死”后進(jìn)行局部初始化恢復(fù)處理,從而實現(xiàn)軟件的可靠性設(shè)計。


2 軟件設(shè)計
模板軟件采用μC/OS—II作為操作系統(tǒng),軟件的層次結(jié)構(gòu)如圖5所示。模板的應(yīng)用軟件設(shè)計主要工作包括目標(biāo)板底層驅(qū)動程序的編寫和模板I/O功能的設(shè)計編程兩部分工作。

目標(biāo)板底層驅(qū)動主要包括1ms開關(guān)量定時采集中斷和兩個異步串口中斷的中斷服務(wù)程序的編寫,前者響應(yīng)中斷后讀取16路開關(guān)量輸入信號的狀態(tài),后者完成異步串行通信收發(fā)器的控制與數(shù)據(jù)收發(fā)。
模板應(yīng)用軟件設(shè)計主要包括4個任務(wù)模塊的編寫,分別是看門狗定時器任務(wù)、采樣數(shù)據(jù)處理、與M板數(shù)據(jù)通信協(xié)議處理、VTlOO超級終端命令處理等。
限于論文的篇幅,本文對模板軟件實現(xiàn)的細(xì)節(jié)不作詳細(xì)介紹,僅將帶有去抖動功能的開關(guān)量采集算法提取出來進(jìn)行介紹。
開關(guān)量采集軟件部分的主要任務(wù)是讀取開關(guān)量當(dāng)前的實時狀態(tài)并記錄開關(guān)量變位發(fā)生的時標(biāo)。在電力系統(tǒng)自動化領(lǐng)域,帶變位時標(biāo)的開關(guān)信息稱為事件順序記錄(SOE),主要用于判別開關(guān)量之間變位的先后順序,分析事故發(fā)生的原因。軟件實現(xiàn)時SOE記錄保存在隊列之中。
為了保證系統(tǒng)時間的統(tǒng)一性,裝置M板的時間由上位主站或GPS授時鐘統(tǒng)一對時,M板再給各B板對時,然后M板和B板采用各自的定時器自動守時。B板的時間格式為“秒計數(shù)+毫秒計數(shù)”,秒計數(shù)是相對2000年0時0分O秒的計數(shù)值,毫秒計數(shù)的范圍為0—999,達(dá)到1000時自動清零并向秒計數(shù)進(jìn)位。由于裝置晶振的守時精度較差,為了保證lms的SOE分辨率,每5分鐘應(yīng)進(jìn)行一次對時操作。
在開關(guān)量采集過程中,由于受到裝置運行現(xiàn)場各種干擾源的影響,經(jīng)常發(fā)生讀到的開關(guān)量狀態(tài)與監(jiān)控對象運行狀態(tài)不一致的情況,造成EMS主站監(jiān)控系統(tǒng)產(chǎn)生大量的虛假告警信息,事件打印機不停地打印,嚴(yán)重影響了系統(tǒng)的實用化。因此剔除這些虛假的開關(guān)量抖動信息也是軟件設(shè)計的一項重要的工作。
針對工業(yè)現(xiàn)場監(jiān)控對象開關(guān)量狀態(tài)的特性以及干擾抖動的特點,開關(guān)量狀態(tài)大都采用繼電器的觸點指示,開關(guān)量本身從0→1或從l→0的機械變位時間一般都比較長(≥80ms),而干擾抖動的時問非常短(一般4ms),SOE又是用來判定不同開關(guān)量之間變位的先后順序,因此,采用連續(xù)多次采集到的開關(guān)量狀態(tài)來判定BI是否真正變位并不影響開關(guān)量采集的實時性和SOE分辨率。事實上,根據(jù)以往現(xiàn)場工程的經(jīng)驗,采用連續(xù)4次(4ms)采樣進(jìn)行抖動判斷即可達(dá)到非常不錯的效果,可以讓EMS/SCADA系統(tǒng)的事件打印機安靜下來。根據(jù)遠(yuǎn)動終端檢測中心的建議,抖動延時判斷的最大時間可以達(dá)到100ms。一般情況下,抖動延時判斷時間取lO~20ms就可以了。由于B板采樣數(shù)據(jù)處理任務(wù)采用OS滴答(Tick)周期(10ms)啟動執(zhí)行,為了防止保存BI變位信息的緩沖區(qū)發(fā)生覆蓋(overlap)訪問沖突,抖動延時判斷的取值應(yīng)大于10ms,軟件確省的取值為15ms。



評論


相關(guān)推薦

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

關(guān)閉