單片機(jī)協(xié)處理器在電力測量及保護(hù)系統(tǒng)中的應(yīng)用
在電力測量及保護(hù)系統(tǒng)中,通常是由單片機(jī)構(gòu)成數(shù)個(gè)乃至數(shù)十個(gè)前端處理器。它們通過串行通信與微機(jī)構(gòu)成的中央處理器相連接,形成一個(gè)完整的系統(tǒng),以實(shí)現(xiàn)對電力系統(tǒng)的遙測、遙信、遙調(diào)、遙控等功能。
前端處理器的核心就是單片機(jī),從目前的情況來看,以Intel公司的16位單片機(jī)80C196系列(KB、KC等)應(yīng)用最廣。單片機(jī)要處理的問題很多。如I/O量、A/D模數(shù)轉(zhuǎn)換、鍵盤、通信、顯示等,處理一圈所花費(fèi)的時(shí)間常稱之為前端處理器的運(yùn)行周期。在整個(gè)系統(tǒng)中,前端處理器的數(shù)量較多,中央處理器對其進(jìn)行巡檢時(shí)會花去較多的時(shí)間。若能將前端處理器的運(yùn)行周期縮短,毫無疑問能提高整個(gè)系統(tǒng)的運(yùn)行及處理速度,使系統(tǒng)的性能得以改善。
被處理的各量中,以模擬量的處理較為復(fù)雜且耗時(shí)較長。模擬量的處理內(nèi)容較多,如模擬量周期(即工頻)的測定、模擬通道的選擇(多個(gè)模擬量同一時(shí)刻選通一個(gè))、A/D轉(zhuǎn)換及存儲等,有時(shí)還須采樣/保持控制等。如能將模擬量交給一個(gè)協(xié)處理器去處理,勢必會減輕主處理器的負(fù)擔(dān),縮短主處理器的運(yùn)行周期,同時(shí)還能為增強(qiáng)某些功能需求創(chuàng)造條件。模擬量的計(jì)算通常是用傅氏算法,其精度又與模擬信號一周期內(nèi)采樣點(diǎn)的多少有關(guān)。采樣點(diǎn)多,精度就高,但耗費(fèi)的時(shí)間也多。若前端處理器采用單一的CPU,由于受到時(shí)間和模擬通道數(shù)量的限制,采樣點(diǎn)大約在12~24點(diǎn)。若采用協(xié)處理器,采樣點(diǎn)可多至30~36點(diǎn),模擬通道多至16個(gè),也同樣可正常工作。由于主處理器與協(xié)處理器的軟件各自獨(dú)立,使得在編制軟件思想清晰,容易理順。
一、硬件
圖1給出了前端處理器中采用協(xié)處理器的硬件略圖(只畫出有關(guān)部分)。它的主處理器仍采用了當(dāng)前流行的16位單片機(jī)80C196KB(IC6),協(xié)處理器采用了W78E51單片機(jī)(IC3)。W78E51的指令及性能同89C51,只是它的工作頻率可以達(dá)到40MHz。由于有兩個(gè)CPU同時(shí)運(yùn)行,而且它們之間還有數(shù)據(jù)交換,如何去協(xié)調(diào)它們的工作是至關(guān)重要的,這需要通過硬件和軟件的設(shè)計(jì)來加強(qiáng)保證。
圖1中,IC1是8選1的模擬通道芯片MAX338,若通道數(shù)量超過8,可選用MAX306,其通道數(shù)量可達(dá)16個(gè)。IC2為12位帶采樣保持功能的A/D模數(shù)變換芯片AD1674。IC4為地址鎖存片74LS373,IC5為RAM存儲芯片6264,它們附屬于IC3,作為IC3的片外數(shù)據(jù)存儲器。
硬件的工作過程是:工頻電壓或電流經(jīng)處理后(經(jīng)傳感器或者電壓/電流互感器、放大器、濾波器等處理)變?yōu)橄鄳?yīng)的模擬信號,分別從CI1的8個(gè)輸入端(IN1~I(xiàn)N8)輸入,具體選通哪路則取決于A0~A2的二進(jìn)制數(shù)。而A0~A2又是由IC3的P10~P12決定。被選中通道的模擬量由IC1的OUT輸出,經(jīng)跟隨器后進(jìn)入IC2進(jìn)行A/D變換,由R/C、A0控制變換的過程,STA給出變換結(jié)束的信號,它們分別由IC3的P15~P17實(shí)施控制和測試。變換完成的數(shù)字量為12位,分兩次輸出,第一次為高8位(DB11~DB4),第二次為低8位(DB3~DB0,后加4個(gè)0)。這些數(shù)據(jù)經(jīng)整理后依次存入數(shù)據(jù)存儲器IC5中。IC3的P14是IC2的片選信號,P33是IC4、IC5的片選信號,通常為高電平,選不中。當(dāng)進(jìn)行A/D變換時(shí),須先將P14置低電平,選中該片,變換完成后,再置加高電平。當(dāng)向IC5存、取數(shù)據(jù)時(shí),須通過P33進(jìn)行控制,過程同上。這樣,可以防止A/D變換、IC5存取數(shù)據(jù)、IC3通過P0口向IC6傳送數(shù)據(jù)這三者之間的相互交叉干擾。
周期值的測量是由一模擬通道提供工頻信號,經(jīng)斯密特觸發(fā)器至IC3的P13進(jìn)行。P13相鄰兩次電平下降的時(shí)間隔即可周期值。
IC3的P30、P31與IC6的P10、P11構(gòu)成握手信號,將存放IC5中的各量依次取出,由IC3的P0口傳至IC6的P0口,并存入指定的區(qū)間,再進(jìn)行傅氏運(yùn)算、處理和控制。IC5中存儲的數(shù)據(jù)個(gè)數(shù)是1周期內(nèi)各采樣點(diǎn)的、各通道測得的數(shù)據(jù)個(gè)數(shù)的總和。設(shè)采樣點(diǎn)為Rn,通道數(shù)為Rm,再加上前述的周期值(各量均為2字節(jié)),總的字節(jié)數(shù)C=2RnRm+2。當(dāng)Rn=32,Rm=8,則C=2×32×8+2=514字節(jié)。當(dāng)少于200字節(jié)時(shí),也即采樣點(diǎn)、通道數(shù)較少時(shí),如Rn=16,Rm=6,IC3可用W78E52代替。W78E52可以利用片內(nèi)的256個(gè)RAM來存儲數(shù)據(jù)而省去片外的數(shù)據(jù)存儲器,在硬件上更為簡潔。
二、軟件
圖2是協(xié)處理器主程序軟件框圖。首先對有關(guān)的量進(jìn)行說明:T0和T1是W78E51片內(nèi)的兩個(gè)定時(shí)器。T、Ta和Tb均為2字節(jié)寄存器,T用來存儲測量出的周期值;Ta存儲兩相鄰采樣點(diǎn)的時(shí)間間隔,因本例中采樣點(diǎn)為32,將T右移5位即得Ta值;Tb是Ta對應(yīng)的溢出值,用來產(chǎn)生T0中斷。注意:以上諸量都須機(jī)器周期來表示,本例中采用24MHz晶振,一個(gè)機(jī)器周期的時(shí)間為0.5μs。Rm是模擬通道數(shù),范圍是1~8。Rn是采樣點(diǎn)數(shù),范圍是1~32。
工作過程簡述如下:當(dāng)P13電位下跌時(shí),周期測試開始,到第二次P13下跌時(shí),周期測試結(jié)束(區(qū)間為AA~AD)。兩次下跌的時(shí)間間隔即為工頻的周期,具有準(zhǔn)確的跟蹤特性。在周期測試開始后4μs,T0溢出產(chǎn)生中斷,執(zhí)行中斷子程序,總共32次。中斷子程序都是在AD~AC間執(zhí)行的,也即在第一周期內(nèi)所有需要測量的量都已測出。從AD往后便是第二周期,主要用來計(jì)算Ta、Tb的值,并將IC5內(nèi)的數(shù)據(jù)傳送出去。由此可見,協(xié)處理器的運(yùn)行為2個(gè)周期,約40ms。應(yīng)說明的是:在上電的第一個(gè)周期內(nèi),因周期值還未測出,故須對Tb值先行設(shè)置。圖3是中斷子程序軟件框圖。
8個(gè)通道的A/D轉(zhuǎn)換數(shù)據(jù)是先存入片內(nèi)的RAM。這樣來得快,以減少通道之間的相差(鄰近通道之間的相差約為0.4°),之后,再一次性地由片內(nèi)RAM轉(zhuǎn)存于片外RAM。執(zhí)行一次T0中斷子程序的時(shí)間約為256μs。當(dāng)采樣點(diǎn)為32時(shí),時(shí)間間隔為625μs,綽綽有余。若將采樣點(diǎn)增至36,通道增至16個(gè),則采樣點(diǎn)間隔約為555μs,執(zhí)行中斷子程序的時(shí)間約為445μs,仍有足夠的余量。
軟件可以用匯編語言ASM51編寫,也可以用對應(yīng)的高級語言PL/M51或C51編寫,但前者代碼率高一些。
結(jié)束語
以上是協(xié)處理器的一般用法,在此基礎(chǔ)上是否能進(jìn)一步縮短運(yùn)行周期和提高測量精度,是一個(gè)值得研究的課題。提高主處理器IC6和協(xié)處理器IC3的工作頻率(如IC6采用16MHz,IC3采用36MHz)可以提高CPU的運(yùn)行速度,以達(dá)到縮短運(yùn)行周期的目的。但有兩點(diǎn)需要注意:一是CPU的外圍芯片的速度必須跟得上;二是頻率提高后,輻射增強(qiáng),交叉干擾變得明顯。因面,在印刷電路板的設(shè)計(jì)上須謹(jǐn)慎處理。
提高測量精度可以從3個(gè)方面著手。一是提高A/D轉(zhuǎn)換精度,采用14位A/D變換芯片。不過,位數(shù)越多,變換所需的時(shí)間也越長。這在單一CPU中因時(shí)間限制,效果不好,而在協(xié)處理器中卻容易實(shí)現(xiàn)。這里還有一個(gè)附帶的問題,目前大都采用開關(guān)式穩(wěn)壓電源,耗電量省,但工作頻率高,噪波大,通常有5~10mV,這無疑限制了精度的提高。因而,必須有一套優(yōu)良的電源濾波系統(tǒng),將噪波濾到1mV以下。有時(shí)這部分的電源干擾采用串聯(lián)式穩(wěn)壓電源,其噪波可以做到0.5mV以下。
二是采用同時(shí)式采樣保持電路。在前述電路中,8個(gè)模擬通道的采樣并不是同時(shí)進(jìn)行而是按序進(jìn)行的,后面的通道對前面的通道而言有一個(gè)時(shí)間上的滯后,這會給測量帶來某些誤差。常用的方法是將各模擬量的位置進(jìn)行調(diào)整,將關(guān)系密切的量逐個(gè)緊排,以減少滯后帶來的影響。當(dāng)然,提高協(xié)處理器的速度和采用高速A/D變換器也有助于滯后的減?。勺龅?.2°以內(nèi))。然而,最終解決這個(gè)問題的辦法是采用同時(shí)式采樣保持電路,也即在圖1的IC1前加入8片采樣保持芯片,并由IC3實(shí)施控制。
三是各模擬量輸入通道(包括傳感器或電壓/電流互感器、放大器、濾波電路等)均會形成一定的附加相移。若各通道的附加相移相等,則對測量的精度不會有影響。輸入工頻三相電A,B,C,各相相差應(yīng)為120°,由于附加相移不相等,顯然會給測量帶來影響,尤以測功率時(shí)明顯。因而,應(yīng)對各模擬通道的附加相移進(jìn)行測量調(diào)整,使其盡可能相等。
評論