新聞中心

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

基于ARM的開(kāi)關(guān)量信號(hào)采集模板的設(shè)計(jì)

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

為了準(zhǔn)確記錄開(kāi)關(guān)量變位的時(shí)間,通常情況下采用定時(shí)中斷來(lái)掃描讀取BI狀態(tài),B板的掃描周期為lms,并采用該中斷進(jìn)行SOE時(shí)鐘的守時(shí),掃描周期為1ms時(shí)SOE分辨率可達(dá)到2ms。沒(méi)有去抖動(dòng)功能常的開(kāi)關(guān)量采集流程為:SOE時(shí)鐘增長(zhǎng)1ms;讀取BI的狀態(tài);判斷開(kāi)關(guān)量是否變位,如果有變位,則記錄變位信息,包括BI的點(diǎn)序號(hào)、狀態(tài)、變位時(shí)間和變位標(biāo)記等。為了判別開(kāi)關(guān)量是否發(fā)生抖動(dòng),軟件在變位信息結(jié)構(gòu)體中增加了一個(gè)抖動(dòng)計(jì)數(shù)器成員變量,如果開(kāi)關(guān)量有變位,先不記錄變位信息,而是將抖動(dòng)計(jì)數(shù)器加1,判斷是否達(dá)到抖動(dòng)延時(shí)檢測(cè)時(shí)間,如果達(dá)到,則確認(rèn)開(kāi)關(guān)量發(fā)生了變位;如果開(kāi)關(guān)量沒(méi)有變位,則將抖動(dòng)計(jì)數(shù)器清零。這樣如果一個(gè)開(kāi)關(guān)量在抖動(dòng)延時(shí)判別時(shí)間之內(nèi)發(fā)生變位又恢復(fù)至原先的狀態(tài),軟件將不記錄其發(fā)生的變位信息,從而達(dá)到取抖動(dòng)的目的。B板帶有去抖動(dòng)功能的1ms開(kāi)關(guān)量定時(shí)掃描中斷服務(wù)程序的算法如圖6所示。

比較帶抖動(dòng)功能和不帶抖動(dòng)功能的開(kāi)關(guān)量采集算法,增加去抖動(dòng)功能時(shí),只增加了一個(gè)抖動(dòng)計(jì)數(shù)器變量,在記錄開(kāi)關(guān)量變位信息之前,對(duì)該變位信息進(jìn)行延時(shí)確認(rèn),增加的CPU程序執(zhí)行代價(jià)非常小,沒(méi)有影響中斷服務(wù)程序的正常運(yùn)行。因此,該算法速度快,效果也十分理想。該算法的缺陷在于如果開(kāi)關(guān)實(shí)際變位的過(guò)程中發(fā)生了抖動(dòng),將無(wú)法記錄到準(zhǔn)確的開(kāi)關(guān)變位的開(kāi)始時(shí)間。如果要達(dá)到這一目的,需要連續(xù)記錄開(kāi)關(guān)量變位的軌跡,然后再進(jìn)行開(kāi)關(guān)量變位開(kāi)始時(shí)間的確定。不過(guò)這種算法的CPU開(kāi)銷比較大,B板的軟件設(shè)計(jì)沒(méi)有采用這種算法??紤]到干擾信號(hào)的偶然性,又有硬件濾波電路的配合,圖6所示的算法是一種行之有效的好方法。
采樣數(shù)據(jù)處理任務(wù)主要完成將BI定時(shí)中斷采集服務(wù)程序采集到的開(kāi)關(guān)量變位信息轉(zhuǎn)換成SOE記錄,并添加到SOE隊(duì)列之中,處理算法如圖7所示。該算法主要實(shí)現(xiàn)了兩項(xiàng)功能:SOE隊(duì)列元素的時(shí)間修正和SOE隊(duì)列操作。由于BI中斷程序記錄的BI變位時(shí)間是去抖動(dòng)判別確認(rèn)時(shí)的時(shí)間,因此生成SOE記錄時(shí)要將該時(shí)間修正到BI開(kāi)始變位的時(shí)間。SOE隊(duì)列操作就是將SOE元素添加到SOE隊(duì)列之中,在添加SOE元素時(shí),如果隊(duì)列已滿,需要將最早的SOE元素刪除,再將新生成的SOE元素添加到隊(duì)列之中。正常情況下,M板每O.5秒與B通信一次,召喚B板采集生成的開(kāi)關(guān)最信息,根據(jù)現(xiàn)場(chǎng)經(jīng)驗(yàn),即便開(kāi)關(guān)量變位發(fā)生雪崩效應(yīng),16路BI在0.5秒之內(nèi)也不會(huì)產(chǎn)生64個(gè)SOE記錄,軟件實(shí)現(xiàn)時(shí)設(shè)置的SOE隊(duì)列的長(zhǎng)度為64。當(dāng)然,如果發(fā)生M板與B板的通信長(zhǎng)期中斷,SOE隊(duì)列會(huì)有溢出發(fā)生,這種情況一般都是裝置故障,需要檢修予以排除。此外,BI變位信息和ISOE隊(duì)列的訪問(wèn)操作與其它任務(wù)和中服務(wù)程序有互斥要求,需要使用臨界區(qū)加以保護(hù)。

3 結(jié)論
裝置定型開(kāi)發(fā)完成之后,在國(guó)電北侖電廠三期、中山嘉明電廠二期UPS電源監(jiān)控和戶縣惠安化工廠19口水井的馬達(dá)自動(dòng)控制中投入使用,運(yùn)行結(jié)果表明,B板采集的準(zhǔn)確性、事件順序記錄分辨率與實(shí)時(shí)性等性能指標(biāo)符合相關(guān)標(biāo)準(zhǔn)的要求,運(yùn)行穩(wěn)定可靠,達(dá)到了預(yù)期的設(shè)計(jì)目的。


上一頁(yè) 1 2 3 下一頁(yè)

評(píng)論


相關(guān)推薦

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

關(guān)閉