- 相關(guān)推薦
基于MSP430的三相電能表SA9904B采集系統(tǒng)
摘要本文介紹由TI公司的MSP430F435單片機(jī)和SAMES的SA9904B電能測量集成芯片組合成三相電能表的無用功率和有用功率等參量的采集系統(tǒng)。
關(guān)鍵詞
MSP430SA9904B采樣
1、前言
目前新型的電子式多功能電能表已逐漸取代老式電子電能表。由于模數(shù)轉(zhuǎn)換電路采樣精度,及微處理器的價格,軟件的開發(fā)難度,存在不少問題和難度。本文基于德州儀器的MSP430F435單片機(jī),介紹采用SAMES的SA9904B高集成度的采樣芯片進(jìn)行三相電能的有用功和無用功等參量的采集,取代傳統(tǒng)的數(shù)模采樣電路。
三相電能表功率參量的采樣是一個十分重要的問題,其實(shí)現(xiàn)方式?jīng)Q定了電能表的測量精度及相應(yīng)軟件開發(fā)的難易程度,產(chǎn)品的整體開發(fā)成本的高低。
2、系統(tǒng)介紹
電能表的采樣方式及采用什么MCU有多種方案,不少已經(jīng)投入實(shí)際使用。但是基于MSP430單片機(jī)采用高度集成的采集芯片SA9904B進(jìn)行電流和電壓采樣的電能表還沒有廣泛投產(chǎn)使用。盡管美國TI公司給出了電能表采樣方案,但是其采樣電路比較復(fù)雜,難于調(diào)試。沒有采用專用的電能表的采用芯片。
圖1是多功能三相電能表的采樣部分,合理的把TI的MSP430單片機(jī)和SAMES的SA9904B集合,發(fā)揮各自的優(yōu)勢,避開復(fù)雜的采樣電路的設(shè)計,采用現(xiàn)成的高精度采樣芯片。
2.1、硬件部分:
MSP430F435
T1公司的MSP430系列單片機(jī)是一種具有超低功耗的功能強(qiáng)大的單片機(jī)。新開發(fā)的F系列具有Flash存儲器,在系統(tǒng)設(shè)計,開發(fā)調(diào)試及實(shí)際應(yīng)用上比其他MCU都有比較明顯的優(yōu)勢。
1、超低功耗
MSP430F系列運(yùn)行在1MHZ時鐘的條件下時,工作模式不同為0.1~400uA,工作電壓為1.8~3.6V。
2、超強(qiáng)處理能力
8MIPS的CPU內(nèi)核,16位×16位的硬件乘法器。
3、靈活的配置方法
MSP430F系列具有豐富的尋址方式,只需要27條指令;片內(nèi)寄存器數(shù)多,可以實(shí)現(xiàn)多種運(yùn)算;有高效的查表處理方法。這一切保證了可以編譯出高效的程序。許多中斷,可以嵌套,使用方便。
4、片上集成外圍功能模塊
MSP430F系列集成了較多的片上外圍設(shè)備。這些外圍設(shè)備功能相當(dāng)強(qiáng)大:12位A/D,精密模擬比較器,硬件乘法器,2組頻率可以達(dá)到8MHZ的時鐘模塊,2個帶有許多捕獲比較的16位定時器,看門狗功能,2個可實(shí)現(xiàn)異步和同步及多址訪問的串行通信接口,數(shù)十個可實(shí)現(xiàn)方向的設(shè)置及中斷功能的并行輸入,輸出端口,擁有SPI和UASRT通訊端口。
5、高效的開發(fā)方式
MSP430FX系列具有FLASH存儲器,這一特點(diǎn)使得它的開發(fā)工具相當(dāng)簡便。利用單片機(jī)自身帶有的JTAG接口或片內(nèi)BOOTROM內(nèi)固化的默認(rèn)的加載程序載入器Bootstrap可以進(jìn)行串口或并口,通過UART將程序代碼裝入Flash存貯器中。
可以在一臺PC及一個小JATAG控制器的幫助下實(shí)現(xiàn)程序的下載,方便的完成在線程序調(diào)試。
SA9904B
SAMES公司的SA9904B專用與電能測量的集成芯片,提供多功能電力測量參數(shù):功率因子、有功率、無功功率、峰值電壓、峰值功率、電壓電流有效值等。
SA9904B三相電路的各路電流和電壓完成采樣,有用功率和無用功率通過SA9904B的三路電流和三路電壓的乘積求得。在芯片內(nèi)部完成數(shù)模轉(zhuǎn)換和相位延遲的調(diào)整,各路瞬間功率的數(shù)字量值存儲在二十四位寄存器中,最大值為十六進(jìn)制的FFFF,對應(yīng)于芯片的DO端口,其中對各路的寄存器的讀取,由各路地址存儲器的值確定,對應(yīng)與芯片的DI端口。這些都通過芯片的SPI接口以串行數(shù)據(jù)方式與MCU端口進(jìn)行數(shù)據(jù)通訊。MCU通過對地址的選擇來完成對芯片的數(shù)據(jù)讀取。
SA9904B的SPI接口分為DI,DO,SCK,CS,F50端口,其中這些端口按圖2的時序與MCU進(jìn)行數(shù)據(jù)傳遞。在研究開發(fā)過程中在DI,DO的端口應(yīng)該加一些濾波電路,防止線路中尖峰電平。這可根據(jù)實(shí)際需要做些調(diào)整。其中各端口的輸出脈寬時間如表1所示。DI,DO上的數(shù)據(jù)只有在CS和SCK為高電平時有效,DI觸發(fā)與CS的觸發(fā)同時,且DI上數(shù)據(jù)在SCK的高電平內(nèi)完成,DO上數(shù)據(jù)必須在SCK高電平時觸發(fā),在下一個高電平階段內(nèi)完成。F50是頻率寄存器
寄存電壓的頻率和是否缺相和倒相。DI上數(shù)據(jù)與SA9904B上的數(shù)據(jù)寄存器的地址一致,即高三位為110,四,五位或0或1,后四位為選擇代碼。各端口的時間延時參看表一。
2.2、軟件部分
對于MSP430單片機(jī),由TI公司自帶的嵌入式軟件開發(fā)平臺IAREMBEDDEDWORKBENCH。該軟件可對開發(fā)系統(tǒng)進(jìn)行在線調(diào)試,帶有C編譯器,可采用通用的C語言編程。
1、軟件流程圖
通過MSP430的P6.6—P6.3端口對SA9904B芯片進(jìn)行同步數(shù)據(jù)傳遞,其中P6.3端口用于DI,P6.4用于SCK,P6.5用于CS,P6.6用于DO,P1.0用于F50。
&nbs
p;程序流程如圖3所示。
1、主控程序解析
在該控制采集系統(tǒng)中涉及到單片機(jī)的SPI串行同步通訊接口,計時器TIME_A。
其中DI、DO、F50端口是SPI端口進(jìn)行串行數(shù)據(jù)通訊,接收SA9904B寄存器中的數(shù)據(jù),SCK、CS
是通過計時器TIME_A向SA9904B發(fā)出方波脈沖,觸發(fā)SA9904B工作。
第一、SCK、CS信號控制端口
MSP430單片機(jī)的P6.4發(fā)出方波,P6.5置成高電平,DI端口上寄存器地址數(shù)據(jù)才能有效,同時SA9904B中有功功率寄存器和無功寄存器的數(shù)據(jù)值才能輸出。這兩個端口選為單片機(jī)的I/O功能。
第二、DI口數(shù)據(jù)傳輸
選擇SPI,四線制方式通訊,MSP430的P6.6—P6.3端口,發(fā)送16位的地址數(shù)據(jù)流,以SCK為時間源,主動方式,向SA9904B發(fā)送數(shù)據(jù)。
P6SEL=cs+sck+si_1;//選擇SCK,CS
為I/O功能,SI為模塊功能。
P6DIR=cs_1+sck_1+si_1;//選擇SCK,CS置高,SI為向外輸出。
my_flag1=tempadd0<<7;//左移7位
my_flag2=my_flag2&0x8000;//取最高位向SA9904B輸入數(shù)據(jù)。
if(my_flag2==0x8000)
{
P6OUT=cs_1+sck_1+si_1;
my_flag1=my_flag1<<1;
P6OUT=cs_1+0+si_1;}//輸入1,SCK置0
else
{P6OUT=cs+sck+si_1;
my_flag1=my_flag1<<1;
P6OUT=cs+0+si;}//
輸入0,SCK置0
my_flag2=my_flag1;
}
其中一些參量為定義量。
這樣的輸出過程循環(huán)9次,即把9位數(shù)據(jù)從高位到低位輸進(jìn)SA9904B地址寄存器。
第三、DO
口數(shù)據(jù)傳輸
與DI口數(shù)據(jù)傳輸相似,主要考慮的是在P6.6端口上顯示有功和無功數(shù)據(jù)寄存器中的數(shù)據(jù),24位數(shù)據(jù)按從高位到低位傳輸次序讀出。
for(i=4;i>1;i--)
{for(j=7;j>=0;j--)
{
P6SEL=cs+sck+so_1;//選擇SCK,CS為I/O功能,SO為模塊功能。
P6DIR=cs_1+sck_1+so;//選擇SCK,CS
向外,SO為向內(nèi)輸出。
P6OUT=cs_1+sck_1+0;//選擇SCK,CS置高。
my_flag=(unsignedchar)(P6IN);//讀取P6IN寄存器中數(shù)值。
P6OUT=cs_1+sck+0;
aa=(aa|(my_flag<<j));//存儲數(shù)據(jù)。
my_flag=0x00;
}
if(
i>2){aa=aa<<8;}}//左移8位。
returnaa;
}
其中cs,sck,so等參量的定義如cs:P6SEL|=0x20方式所示。
第四、F50寄存器數(shù)據(jù)處理
該端口的處理方式與上述的DO和SI
【基于MSP430的三相電能表SA9904B采集系統(tǒng)】相關(guān)文章:
基于MSP430的極低功耗系統(tǒng)設(shè)計08-06
基于StrongARM的視頻采集與處理系統(tǒng)08-06
基于USB接口的數(shù)據(jù)采集系統(tǒng)設(shè)計08-06
基于USB總線的高速數(shù)據(jù)采集系統(tǒng)08-06
基于DSP的USB口數(shù)據(jù)采集分析系統(tǒng)08-06
基于Verilog HDL設(shè)計的自動數(shù)據(jù)采集系統(tǒng)04-12
基于DSP的 USB 口數(shù)據(jù)采集分析系統(tǒng)08-06