基于MSP430與ATT7022B的四遙測(cè)量模塊
1、前言
所謂四遙― 是“遙測(cè)、遙信、遙控、遙調(diào)”技術(shù)的簡(jiǎn)稱,“遙測(cè)”是指利用電子技術(shù)遠(yuǎn)方測(cè)量集中顯示諸如電流、電壓、功率、電能等物理量的系統(tǒng)技術(shù)。該電力“四遙”測(cè)量模塊采用16位的430單片機(jī)與集成電能芯片ATT7022B,具有準(zhǔn)確度高,誤差曲線平直,性能穩(wěn)定可靠,自身損耗低,而且功能容易擴(kuò)展等優(yōu)點(diǎn).該電能芯片具有SPI接口, 外部微處理器可通過此接口讀取原始值,再根據(jù)相應(yīng)的計(jì)算公式進(jìn)行計(jì)算,最后得到各項(xiàng)電力參數(shù)的測(cè)量值。
2、系統(tǒng)介紹
遙測(cè)模塊,也可以作為普通電子式電能表使用,其采樣方式及采用什么MCU有多種方案,不少已經(jīng)投入實(shí)際使用。但是基于MSP430 單片機(jī),采用高度集成的采集芯片ATT7022B進(jìn)行電流和電壓采樣的模塊還沒有廣泛投產(chǎn)使用。盡管TI公司提供了多種采樣方案,但是其采樣電路比較復(fù)雜,難于調(diào)試,更沒有采用專用的電能表的采用芯片。
圖1是遙測(cè)模塊的硬件組成,合理的把TI 的MSP430F449單片機(jī)和珠海炬力的ATT7022B電能采集芯片集合,發(fā)揮各自的優(yōu)勢(shì),避開復(fù)雜的采樣電路的設(shè)計(jì)。
2.1、硬件部分:
MSP430F449單片機(jī)
T1公司的MSP430系列單片機(jī)是一種具有超低功耗的功能強(qiáng)大的16位單片機(jī)。新開發(fā)的F系列具有Flash存儲(chǔ)器,如F449就具有60KB的Flash,在系統(tǒng)設(shè)計(jì),開發(fā)調(diào)試及實(shí)際應(yīng)用上比其他MCU都有比較明顯的優(yōu)勢(shì)。
(1)、超低功耗
MSP430F系列運(yùn)行在1MHZ時(shí)鐘的條件下時(shí),工作模式不同為0.1~400uA,工作電壓為1.8~3.6V。
(2)、超強(qiáng)處理能力
8MIPS的CPU內(nèi)核,16位×16位的硬件乘法器。
(3)、靈活的配置方法
MSP430 F系列具有豐富的尋址方式,只需要27條指令;片內(nèi)寄存器數(shù)多,可以實(shí)現(xiàn)多種運(yùn)算;有高效的查表處理方法。這一切保證了可以編譯出高效的程序。許多中斷,可以嵌套,使用方便。
(4)、片上集成外圍功能模塊
MSP430 F系列集成了較多的片上外圍設(shè)備。這些外圍設(shè)備功能相當(dāng)強(qiáng)大:12位A/D,精密模擬比較器,硬件乘法器,2組頻率可以達(dá)到8MHZ的時(shí)鐘模塊,2個(gè)帶有許多捕獲比較的16位定時(shí)器,看門狗功能,2個(gè)可實(shí)現(xiàn)異步和同步及多址訪問的串行通信接口,數(shù)十個(gè)可實(shí)現(xiàn)方向的設(shè)置及中斷功能的并行輸入,輸出端口,擁有SPI和UASRT通訊端口。
(5)、 高效的開發(fā)方式
MSP430FX系列具有FLASH存儲(chǔ)器,這一特點(diǎn)使得它的開發(fā)工具相當(dāng)簡(jiǎn)便。利用單片機(jī)自身帶有的JTAG接口或片內(nèi)BOOT ROM內(nèi)固化的默認(rèn)的加載程序載入器Bootstrap可以進(jìn)行串口或并口,通過UART將程序代碼裝入Flash 存貯器中。 可以在一臺(tái)PC及一個(gè)小JATAG控制器的幫助下實(shí)現(xiàn)程序的下載,方便的完成在線程序調(diào)試。
ATT7022B電能芯片
ATT7022B是珠海炬力集成電路設(shè)計(jì)有限公司生產(chǎn)的一款高精度三相電能計(jì)量芯片,該芯片對(duì)有功、無功功率的測(cè)量精度分別達(dá)到0.2s和0.5s,所能測(cè)量的電參數(shù)包括有功、無功、視在功率、雙向有功和四角限無功電能;電壓和電流有效值;相位、頻率等。ATT7022B具有計(jì)量參數(shù)齊全、校表功率完善等優(yōu)點(diǎn),簡(jiǎn)化了軟件設(shè)計(jì),縮短了軟件開發(fā)周期。特別是AT7022B可支持全數(shù)字校表,即軟件校表。軟件校表可提高校表精度、簡(jiǎn)化硬件設(shè)計(jì)、降低設(shè)計(jì)成本,為三相多功能計(jì)量裝置提供了功能更加齊全、設(shè)計(jì)更加簡(jiǎn)單的應(yīng)用方案。
(1)工作原理
ATT7022B首先通過6通道16位∑-Δ的ADC模數(shù)轉(zhuǎn)換電路來對(duì)輸入電流和電壓信號(hào)進(jìn)行采樣,轉(zhuǎn)換后的數(shù)字量再經(jīng)過24位DSP數(shù)字信號(hào)處理以完成全部三相電能參數(shù)的運(yùn)算,同時(shí)將結(jié)果保存在相應(yīng)的寄存器中并通過SPI口與MCU進(jìn)行數(shù)據(jù)交換,DSP模塊同時(shí)還生成有功/無功電能脈沖輸出CF1/CF2,可用于現(xiàn)場(chǎng)校表。ATT7022在設(shè)計(jì)中已考慮到校表的方便性,采用全數(shù)字校表,只需適當(dāng)修改校表寄存器即可實(shí)現(xiàn)校表功能。
(2) 串行SPI接口[!--empirenews.page--]
ATT7022提供有標(biāo)準(zhǔn)的SPI接口,可與帶SPI口的MCU直接連接,也可用適當(dāng)?shù)腎/O口線仿真SPI總線,其仿真讀寫程序很容易實(shí)現(xiàn)。
ATT7022的一個(gè)數(shù)據(jù)傳輸總線從向SPI接口的DIN端送入8位命令字開始的,當(dāng)命令中包括一個(gè)寫入命令時(shí),在其后的24個(gè)SCLK周期內(nèi),串口將持續(xù)從DIN端讀入24位串行數(shù)據(jù)。當(dāng)發(fā)出一個(gè)讀取命令時(shí),串口將根據(jù)發(fā)出的命令來進(jìn)行尋址,然后在其后的24個(gè)連續(xù)的SCLK周期從DOUT引腳上串行輸出寄存器內(nèi)容。數(shù)據(jù)的傳輸總是MSB在前,LSB在后。讀寄存器時(shí),SCLK為高,數(shù)據(jù)在DOUT引腳上有效。而在寫寄存器時(shí),數(shù)據(jù)則在SCLK的下降沿從DIN引腳讀入,這一點(diǎn)在仿真SPI讀寫操作子程序時(shí)應(yīng)引起注意,否則讀寫寄存器將出錯(cuò)。ATT7022B的讀寫時(shí)序見下圖2所示。
(3)寄存器配置及校表方法
ATT7022B的寄存器分為計(jì)量參數(shù)和校表參數(shù)兩部分。器件中的計(jì)量參數(shù)寄存器多達(dá)82個(gè),它們的地址在01H~6FH中不連續(xù)分布,未使用部分可留給以后擴(kuò)展。計(jì)量參量的計(jì)算全部由硬件完成,用戶只需進(jìn)行單位換算就可得到測(cè)量值。
校表參數(shù)寄存器包括相位補(bǔ)償設(shè)置、功率增益、相位校正、電壓/電流校正、比差補(bǔ)償設(shè)置、啟動(dòng)電流、高頻脈沖輸出設(shè)置、斷相閾值電壓設(shè)置和合相能量累加模式等36個(gè)寄存器,它們的地址不連續(xù)地分布在01H~2AH,也考慮了以后的擴(kuò)展。應(yīng)當(dāng)說明的是,兩個(gè)寄存器的地址有重疊部分,但它們的物理位置是分開的,可以通過讀寫命令來區(qū)分。
校表是電能表設(shè)計(jì)中非常重要的環(huán)節(jié),ATT7022B上電復(fù)位后,校表寄存器的初始數(shù)據(jù)為默認(rèn)值,此時(shí)讀出的計(jì)量參數(shù)值和實(shí)際參數(shù)值不符,因而需要對(duì)校表寄存器進(jìn)行設(shè)置,以將測(cè)量值減小到誤差范圍之內(nèi)。校表可按高頻輸出參數(shù)設(shè)置、比差補(bǔ)償區(qū)域設(shè)置、角差補(bǔ)償區(qū)域設(shè)置、功率增益校正、相位校正、啟動(dòng)電流設(shè)置、功率增益校正、參量累加模式設(shè)置、電壓校正、電流校正的先后順序進(jìn)行。現(xiàn)以電壓增益的校準(zhǔn)為例簡(jiǎn)要說明AT7022B的校表方法,其它參數(shù)校準(zhǔn)請(qǐng)參照該芯片的參考文獻(xiàn)。
電壓增益校正UgainA、UgainB、UgainC:在ATT7022初始化時(shí),Ugain為0,標(biāo)準(zhǔn)表上讀出的電壓有效值為Ur,通過SPI口讀出的測(cè)量電壓有效值寄存器的值為Datau。此時(shí),如實(shí)際電壓有效值Ur,測(cè)量電壓有效值為Urms=DataU× / ,由于:
Ugain=(Ur/Urms)-1
因此,如果(Ugain≥0),則Ugain=INT[Ugain× ]
否則Ugain<0,則Ugain=INT[ +Ugain× ], 式中,INT表示取結(jié)果的整數(shù)部分。
(4)互感器參數(shù)選擇
選用的電流互感器規(guī)格為5A/2.5mA,精度是0.05級(jí),負(fù)載阻抗為40Ω,電壓互感器規(guī)格選擇電流型電壓互感器2mA/2mA,在其前端通過110K功率電阻把220v電壓信號(hào)轉(zhuǎn)變成2mA電流信號(hào),負(fù)載電阻為250Ω。這樣在輸入額定電流、額定電壓時(shí),其電流、電壓差動(dòng)輸入電壓的有效值分別為0.1V和0.5V左右,可滿足ATT7022B的要求。
(5)特點(diǎn)
ATT7022B能夠提供的計(jì)量參數(shù)除瞬時(shí)有功功率、無功功率、視在功率、有功電能、無功電能、功率因數(shù)、相位、電壓有效值、電流有效值、瞬時(shí)合相電流值、線電壓頻率值、四象限無功、正向和反向有功電能外,還包括缺相、相序錯(cuò)誤和反向有功指示等狀態(tài)信息,非常適用于三相電路中各種電參數(shù)的測(cè)量。
2.2、軟件部分
對(duì)于MSP430單片機(jī),由TI 公司自帶的嵌入式軟件開發(fā)平臺(tái)IAR EMBEDDED WORKBENCH。該軟件可對(duì)開發(fā)系統(tǒng)進(jìn)行在線調(diào)試,帶有C 編譯器,可采用高效、便捷、通用的C語言編程。
通過MSP430F449的P4.2—P4.5端口對(duì)ATT7022B芯片進(jìn)行同步數(shù)據(jù)傳遞,其中P4.2用于CS,P4.3端口用于 DI,P4.4用于DO,P4.5 用于SCK,程序流程圖如下圖3所示。
SPI通信一般分為硬件SPI通信和軟件SPI通信。如果本系統(tǒng)選用硬件SPI通信,就需要在程序中把P4.2-P4.5 四個(gè)口定義成同步串行通信口,P4.3 利用TXBUF 發(fā)送數(shù)據(jù),P4.4利用RXBUF接受數(shù)據(jù),P4.5提供同步CLK信號(hào)。如果定義同步發(fā)送與接受數(shù)據(jù)位數(shù)是8位的話,這樣利用TXBUF發(fā)送8位的地址數(shù)據(jù)一次就完成,與普通的數(shù)據(jù)發(fā)送沒有什么區(qū)別,但是利用RXBUF接受24位的寄存器數(shù)據(jù),需要連續(xù)接受三次。通過實(shí)際調(diào)試發(fā)現(xiàn),這種通信方式對(duì)時(shí)序要求極為嚴(yán)格,使用起來較麻煩。
在本系統(tǒng)中,改用了軟件SPI通信,使用I/O口模擬硬件SPI通信,通過程序控制P4.5 產(chǎn)生高低電平,通過P4.3輸出8位的地址數(shù)據(jù),在8個(gè)CLK脈沖信號(hào)下就可以完成,然后緊接著通過P4.4 接受24位的寄存器數(shù)據(jù),在24個(gè)CLK脈沖信號(hào)下就可以完成。這種通信方式使用起來操作性較強(qiáng),簡(jiǎn)易實(shí)用。
3、 結(jié)束語
本模塊作為電力四遙監(jiān)控系統(tǒng)的測(cè)量單元,所涉及到的軟硬件均通過了實(shí)驗(yàn)調(diào)試,工作正常,性能穩(wěn)定。該模塊可以單獨(dú)作為三相電能表使用,也可以外加顯示模塊、遙信模塊、遙測(cè)模塊、通信模塊等就可以形成電力四遙監(jiān)控系統(tǒng),從而可以廣泛應(yīng)用于電力系統(tǒng)的各種配電設(shè)備中。