基于AT73C500/501專用芯片組的電參量測量模塊
關鍵詞:電參量測量 專用芯片組 AT73C500/501 參數(shù)校準 AVR單片機
近向年來,國外許多IC設計制造公司推出了系列電參量(針對工頻電網(wǎng)的電壓、電流、有功、無功、頻率等參數(shù))測量的專用芯片,如CS5460A、ADE7755、AT73C500/501等。利用它們可以方便實現(xiàn)單相、三相電能表的設計,達到很高的測量精度,同時大幅降低產(chǎn)品成本。
這些不同的電參量測量芯片功能各有側重,性能各有所長。我們在使用這些芯片過程中,發(fā)現(xiàn)不少特殊問題,并針對這些特點設計了通用的智能電參量測量模塊。本文根據(jù)實際應用AT73C500/501過程中出現(xiàn)的問題,對該芯片的應用進行了深入探討,給出相應解決辦法;同時,設計了高效的電參量測量模塊校準軟件,實現(xiàn)電參量測量模塊自動、快速生產(chǎn)調(diào)試。
圖1
1 AT73C500/501芯片簡介
1.1 芯片性能指標
AT73C500/C501為美國Atmel公司2000年推出的電能測量專用芯片組。其中AT73C501為A/D變換芯片用于測量前端信號采樣;AT73C500為DSP芯片,根據(jù)AT73C501的采樣數(shù)據(jù)完成電參量的計算。使用這兩種芯片配合工作測量三相電參數(shù)個有如下特點:
*滿足IEC1036一級精度要求;
*使用外部溫度補償?shù)膮⒖茧娫矗瑵M足IEC687的0.5和0.2級精度;
*測量三相有功功率、無功功率、視在功率和電能;
*測量功率因數(shù)、電網(wǎng)頻率、電壓和電流有效值;
*多相或單相運行;
*接口靈活,具有8位微處理器接口、8位狀態(tài)輸出、8路脈沖輸出;
*支持增益和相位校準;
*支持低端非線性校準;
*啟動電流可編程;
*最大可測帶寬1kHz;
*單+5V供電;
*校準數(shù)據(jù)可以從串行EEPROM讀取,也可以由外接微處理器讀取。
1.2 AT73C500/501芯片簡介
AT73C501是28引腳PLCC封裝的六路Sigma-Delta A/D變換器。AT73C501內(nèi)部包含六路16位A/D變換器、1個參考電壓發(fā)生器、1個電源電壓監(jiān)視單元和1個時鐘單元。每路A/D變換器都由高性能、過采樣的Sigma-Delta調(diào)制器和數(shù)字均分濾波器組成。
芯片的AIN1、AIN3、AIN5為電流采樣通道輸入,AIN2、AIN4、AIN6為電壓采樣通道輸入,所有六路A/D輸入都是單端輸入,簡化了外圍設計。其它主要引腳有:
ACK―采樣數(shù)據(jù)輸出準備好;
OX、XI―接外部晶體3.2768MHz,提供工作時鐘;
CLK―提供DSP AT73C500工作時鐘輸出;
CLKR―串行總線數(shù)據(jù)輸出時鐘;
FSR―輸出采樣的幀信號;
DATA―串行總線采樣數(shù)據(jù)輸出。
AT73C500為44引腳PLCC封裝的新型電能測量專用DSP芯片,具有一個高效的數(shù)字信號處理器(DSP)內(nèi)核,DSP技術的使用,使AT73C500具有其它電能測量芯片所沒有的一些特點和復雜功能。主要引腳如下;
B0~B7―MCU總線;
B8~B15―狀態(tài)、工作模式總線;
IRQ1―接AT73C501的ACK,外部采樣數(shù)據(jù)中斷請求;
CLK―時鐘輸入,3.2768MHz;
STROBE、BRDY、RD/WR、ADDR0、ADDR1―AT73C500和外部MCU的數(shù)據(jù)傳輸接口信號;
SOUT0―時鐘輸出給外部串行EEPROM;
SOUT1―串行輸出,作為AT73C500的片選信號或外部EEPROM的數(shù)據(jù)輸入(DI);
SIN―串行數(shù)據(jù)輸入,接收AT73C501或外部EEPROM的數(shù)據(jù)輸入(DO);
SCLK―串行位時鐘輸入來自AT73C501。
2 智能電參量采集模塊設計
我們設計的智能電參量采集模塊,用于低壓變壓器在線監(jiān)測設備中。測量模塊作為關鍵的臺變運行監(jiān)測部件,要求設計成通用性強的采集模塊。這樣,可以方便地和現(xiàn)有的各種設備接口,擴展現(xiàn)有設備的功能。應具有造價低,可靠性強,便于維護等優(yōu)點。針對功能需求,在綜合對比幾種電能量測量芯片的價格、性能、系統(tǒng)實現(xiàn)難易程度等幾方面的基礎上,我們采用AT73C500/501設計了智能電參量采集模塊。
2.1 智能電參量采集模塊前端原理
電參量采集模塊前端以AT73C500/501為核心,由信號取樣電路、邏輯電路及其它元器件測量單元結構共同組成。三相電壓信號分別使用電阻分壓器的互感器提取。被測三相電流由一次電流1.5A或6A、二次電流5mA、二次負荷20Ω的電流互感器轉化為電壓信號。
圖1為測量采集模塊原理。
選擇AT73C500的工作模式時,由于校準數(shù)據(jù)直接影響測量精度,而且每次復位后AT73C500都要重新讀入校準數(shù)據(jù),如果AT73C500使用微處理器模式,導入校準數(shù)據(jù)的握手協(xié)議過于復雜,需要單片機軟件干預;因此從可靠性角度考慮,AT73C500被設置成EEPROM模式,將校準數(shù)據(jù)從EEPROM AT93C46中讀出,同時,單片機也能對AT93C46內(nèi)的校準數(shù)據(jù)讀寫。
前端測量電路工作流程:上電復位后,單片機對AT73C500復位,然后AT73C500進行初始化工作。首先將RD/WR寫高,狀態(tài)/模式總線上的四個三態(tài)門被選通,AT73C500通過BUS12至BUS15讀入模式信息。在判斷工作模式為EEPROM模式后,AT73C500向狀態(tài)/模式總線的最低位(BUS8)寫低電平,經(jīng)邏輯譯碼電路(GAL20V8)后產(chǎn)生初始化信號CS1。CS1信號選通串行EEPROM AT93C46,AT73C500讀出存儲在AT93C46中的校準數(shù)據(jù)。校準數(shù)據(jù)讀出以后,AT73C500向BUS8寫高電平,經(jīng)鎖存后CS1變成高電平,初始化階段結束,測量單元開始正常的測量工作。AT73C501開始通過同步串行總線向AT73C500傳送采樣結果。
AT73C500的計算結果有兩種輸出方式:一種是以數(shù)據(jù)的形式輸出,另一種是以脈沖的形式輸出。兩種方式共和數(shù)據(jù)總線,因此使用邏輯譯碼電路(GAL20V8)區(qū)分。當有一包數(shù)據(jù)要輸出時,AT73C500向狀態(tài)總線的BUS9寫高電平脈沖,經(jīng)鎖存后產(chǎn)生數(shù)據(jù)就緒信號DATRDY。DATRDY信號用于智能外接單片機線上數(shù)據(jù)就緒,此時ADDR0為低電平,無脈沖輸出。數(shù)據(jù)輸出結束后,DATRDY變?yōu)榈碗娖健?shù)據(jù)總線輸出脈沖時,DATRDY始終為低電平;同時,DR/WR為低電平,ADDR0為高電平。
2.2 AT73C500數(shù)據(jù)采集接口單元設計
2.2.1 單片機選型
對智能電參量采集模塊的各項數(shù)據(jù)進一步加工處理和與外部通信等功能,一般要由單片機來完成。前端測量單元的測量結果由AT73C500的數(shù)據(jù)總線送出。AT73C500的數(shù)據(jù)總線為并行總線??偩€上數(shù)據(jù)傳輸速度非???,其中鎖存信號STROBE的脈寬僅為153ns。基于速度、成本上的考慮,選用美國Atmel公司的精簡指令集(RISC)AVR單片機AT90S8535實現(xiàn)接口單元的功能。AT90S8535內(nèi)部有8KB Flash程序存儲器,512B SRAM,使用8MHz的晶振,每條指令的執(zhí)行時間僅為125ns。
2.2.2 接口邏輯控制電路
由于AT73C500/501有多種工作模式和數(shù)據(jù)傳輸方式,同時系統(tǒng)有1片EEPROM AT93C46存儲器,保存校準參數(shù)信息。AT93C46必須能夠由單片機讀寫,還要能由AT73C500讀取系數(shù)??紤]到還有其它的復雜數(shù)據(jù)控制接口信號,因此,采用1片PLD GAL20V8實現(xiàn)復雜邏輯功能和數(shù)據(jù)、地址譯碼。圖2為接口邏輯控制電路。
2.2.3 單片機數(shù)據(jù)采集接口單元
測量單元的測量結果通過并行數(shù)據(jù)總線高速輸出,因此,如何準確及時地接收總線上的數(shù)據(jù)是接口單元要解決的首要問題。
AT73C500數(shù)據(jù)總線時序中有兩個不利于數(shù)據(jù)接收的問題。
AT73C500數(shù)據(jù)總線時序中有兩個不利于數(shù)據(jù)接收的問題。
一是數(shù)據(jù)寫到總線選通STROBE信號低電平寬度太窄,不利于單片機捕捉。這個問題即使使用了AVR單片機依然不能忽視。如果AT90S8535采用查詢普通I/O口的辦法捕捉STROBE脈沖,查詢一次至少要執(zhí)行兩個單周期指令或執(zhí)行一條兩周期指令,執(zhí)行時間最少為250ns,超過了STROBE低電平的寬度(153ns),因此丟失數(shù)據(jù)的可能性非常大。為了準確地捕捉STROBE信號,該信號被連接到AT90S8535外中斷0的輸入引腳(1NT0)。當INT0引腳上的STROBE信號觸發(fā)了INT0中斷請求時,通用中斷標志寄存器GIFR中的INTF0位被置1,AT90S8535通過查詢INTF0位,判斷是否出現(xiàn)STROBE信號。使用這種方法STROBE低電平狀態(tài)由單片機硬件捕捉,不存在丟失STROBE事件的可能性,只要在下一次中斷申請出現(xiàn)以前將INTF0位清除即可。
圖3
3 智能電參量采集模塊軟件設計
電參量采集模塊軟件主要是單片機AT90S8535的控制軟件。軟件主要的功能是完成對AT73C500/501的配置,測量數(shù)據(jù)的處理;同時,利用外部通信接口傳輸采集的數(shù)據(jù),響應外部設備的各種查詢,校準數(shù)據(jù)設置操作。程序設計的難點在于對AT73C500測量數(shù)據(jù)的采集。
采集程序初始化時,只允許INT1中斷(由數(shù)據(jù)包準備好標志DATARDY觸發(fā))。當DATARDY有效,進入INT1中斷時,在中斷內(nèi)允許INT0中斷(由數(shù)據(jù)寫到總線選通STROBE信號觸發(fā))。這樣,在INT1中斷程序內(nèi),查詢到STROBE引起的中斷有效標志INTF0后,馬上讀出AT73C500寫到總線的數(shù)據(jù)。然后,清除INTF0,等待接收下個數(shù)據(jù),直到把1個完整數(shù)據(jù)包16個字節(jié)全部接收完成,再退出INT1中斷。由于每包數(shù)據(jù)之間有至少20ms的間隔時間可供AT90S8535處理,這樣接收完成1包數(shù)據(jù)后,在20ms的時間內(nèi)由AT90S8535完成對包數(shù)據(jù)的分析,依次完成6包數(shù)據(jù)的接收處理。
關鍵的數(shù)據(jù)包中斷接收代碼程序如下:
interrupt[EXT_INT1]void ext_int1_isr(void)
{
#asm("cli") //禁止所有中斷
CIMSK=0x40; //禁止int1,允許int0
strobe1:
if(GIFR==0)goto strobe1;//等待第1個數(shù)據(jù)選通信號有效
temp_pack0=PINB; //syncls讀出同步數(shù)據(jù)1
GIFR=0xc0;BRDY=0;
strobe2:
if(GIFR==0)goto strobe2;//等待第2個數(shù)據(jù)選通信號有效
temp_pack1=PINB; //syncms讀出同步數(shù)據(jù)2
GIFR=0xc0;BRDY=0;
…………
strobe16:
if(GIFR==0)goto strobe16;//等待第16個數(shù)據(jù)選通信號有效
temp_pack15=PINB;
BRDY=0;GIMSK=0x80;GIFR=0xc0;//讀寫16個字節(jié),完成1包數(shù)據(jù)接收
#asm("sei")
}
在設計調(diào)試電參量測量模塊過程中發(fā)現(xiàn)很多問題。最嚴重的問題是在測量過程中,當在AT73C501信號輸入端出現(xiàn)電壓類峰脈沖干擾時,AT73C500/501芯片組出現(xiàn)死機現(xiàn)象。具體表現(xiàn)為AT73C500不再向數(shù)據(jù)總線發(fā)送測量數(shù)據(jù)。同時AT73C501迅速升沿發(fā)燙,而此時芯片組的復位控制信號不再起作用,單片機無法控制AT73C500/501;只有模塊停電,再上電之后,才能恢復正常工作。這種故障在實際的工業(yè)控制中是必須要解決的。
針對此現(xiàn)象,我們經(jīng)過反復實驗,采用軟件和硬件相結合的辦法,圓滿解決了這個問題。
硬件方面:
*在模塊的供電電源上串接電源濾波器,消除從電源側引入的干擾;
*AT73C501的6路單端A/D輸入端接入EMI磁珠,同時輸入端并接雙向肖特基保護管,對輸入的超出輸入范圍的信號限幅,保護內(nèi)部電路;
*AT73C500/501芯片組的供電由晶體管電子開關控制,在發(fā)生故障時,可由單片機及時切斷電路,實現(xiàn)重新上電。
軟件方面:
*增加軟件看門狗,由AT73C500的數(shù)據(jù)包傳輸中斷不斷清除,一旦出現(xiàn)故障,沒有數(shù)據(jù)包傳輸中斷,則看門狗復位系統(tǒng);
*軟件對采集的數(shù)據(jù)進行合理性分析,出現(xiàn)異常非法測量數(shù)據(jù)時,復位AT73C500/501芯片組;
*軟件定時對AT73C500的校準參數(shù)進行重裝載,防止AT73C500內(nèi)部寄存器校準系統(tǒng)系數(shù)失效。
采用以上措施,使電參量測量模塊的可靠性大大提高。使因此測量模塊的現(xiàn)場安裝運行的臺變監(jiān)測設備運行年1來年,穩(wěn)定可靠,獲得用戶好評。
電能表相關文章:電能表原理
評論