基于MSP430的三相电能表SA9904B采集系统
芯片,提供多功能电力测量参数:功率因子、有功率、无功功率、峰值电压、峰值功率、电压电流有效值等。
SA9904B三相电路的各路电流和电压完成采样,有用功率和无用功率通过SA9904B的三路电流和三路电压的乘积求得。在芯片内部完成数模转换和相位延迟的调整,各路瞬间功率的数字量值存储在二十四位寄存器中,最大值为十六进制的FFFF,对应于芯片的DO端口,其中对各路的寄存器的读取,由各路地址存储器的值确定,对应与芯片的DI端口。这些都通过芯片的SPI接口以串行数据方式与MCU端口进行数据通讯。MCU通过对地址的选择来完成对芯片的数据读取。
SA9904B的SPI接口分为DI,DO,SCK,CS,F50端口,其中这些端口按图2的时序与MCU进行数据传递。在研究开发过程中在DI,DO的端口应该加一些滤波电路,防止线路中尖峰电平。这可根据实际需要做些调整。其中各端口的输出脉宽时间如表1所示。DI,DO上的数据只有在CS和SCK为高电平时有效,DI触发与CS的触发同时,且DI上数据在SCK的高电平内完成,DO上数据必须在SCK高电平时触发,在下一个高电平阶段内完成。F50是频率寄存器
寄存电压的频率和是否缺相和倒相。DI上数据与SA9904B上的数据寄存器的地址一致,即高三位为110,四,五位或0或1,后四位为选择代码。各端口的时间延时参看表一。
2.2、软件部分
对于MSP430单片机,由TI公司自带的嵌入式软件开发平台IAREMBEDDEDWORKBENCH。该软件可对开发系统进行在线调试,带有C编译器,可采用通用的C语言编程。
1、软件流程图
通过MSP430的P6.6—P6.3端口对SA9904B芯片进行同步数据传递,其中P6.3端口用于DI,P6.4用于SCK,P6.5用于CS,P6.6用于DO,P1.0用于F50。
&nbs
p;程序流程如图3所示。
1、主控程序解析
在该控制采集系统中涉及到单片机的SPI串行同步通讯接口,计时器TIME_A。
其中DI、DO、F50端口是SPI端口进行串行数据通讯,接收SA9904B寄存器中的数据,SCK、CS
是通过计时器TIME_A向SA9904B发出方波脉冲,触发SA9904B工作。
第一、SCK、CS信号控制端口
MSP430单片机的P6.4发出方波,P6.5置成高电平,DI端口上寄存器地址数据才能有效,同时SA9904B中有功功率寄存器和无功寄存器的数据值才能输出。这两个端口选为单片机的I/O功能。
第二、DI口数据传输
选择SPI,四线制方式通讯,MSP430的P6.6—P6.3端口,发送16位的地址数据流,以SCK为时间源,主动方式,向SA9904B发送数据。
P6SEL=cs+sck+si_1;//选择SCK,CS
为I/O功能,SI为模块功能。
P6DIR= 《基于MSP430的三相电能表SA9904B采集系统(第2页)》
本文链接地址:http://www.oyaya.net/fanwen/view/169892.html
SA9904B三相电路的各路电流和电压完成采样,有用功率和无用功率通过SA9904B的三路电流和三路电压的乘积求得。在芯片内部完成数模转换和相位延迟的调整,各路瞬间功率的数字量值存储在二十四位寄存器中,最大值为十六进制的FFFF,对应于芯片的DO端口,其中对各路的寄存器的读取,由各路地址存储器的值确定,对应与芯片的DI端口。这些都通过芯片的SPI接口以串行数据方式与MCU端口进行数据通讯。MCU通过对地址的选择来完成对芯片的数据读取。
SA9904B的SPI接口分为DI,DO,SCK,CS,F50端口,其中这些端口按图2的时序与MCU进行数据传递。在研究开发过程中在DI,DO的端口应该加一些滤波电路,防止线路中尖峰电平。这可根据实际需要做些调整。其中各端口的输出脉宽时间如表1所示。DI,DO上的数据只有在CS和SCK为高电平时有效,DI触发与CS的触发同时,且DI上数据在SCK的高电平内完成,DO上数据必须在SCK高电平时触发,在下一个高电平阶段内完成。F50是频率寄存器
寄存电压的频率和是否缺相和倒相。DI上数据与SA9904B上的数据寄存器的地址一致,即高三位为110,四,五位或0或1,后四位为选择代码。各端口的时间延时参看表一。
2.2、软件部分
对于MSP430单片机,由TI公司自带的嵌入式软件开发平台IAREMBEDDEDWORKBENCH。该软件可对开发系统进行在线调试,带有C编译器,可采用通用的C语言编程。
1、软件流程图
通过MSP430的P6.6—P6.3端口对SA9904B芯片进行同步数据传递,其中P6.3端口用于DI,P6.4用于SCK,P6.5用于CS,P6.6用于DO,P1.0用于F50。
&nbs
p;程序流程如图3所示。
1、主控程序解析
在该控制采集系统中涉及到单片机的SPI串行同步通讯接口,计时器TIME_A。
其中DI、DO、F50端口是SPI端口进行串行数据通讯,接收SA9904B寄存器中的数据,SCK、CS
是通过计时器TIME_A向SA9904B发出方波脉冲,触发SA9904B工作。
第一、SCK、CS信号控制端口
MSP430单片机的P6.4发出方波,P6.5置成高电平,DI端口上寄存器地址数据才能有效,同时SA9904B中有功功率寄存器和无功寄存器的数据值才能输出。这两个端口选为单片机的I/O功能。
第二、DI口数据传输
选择SPI,四线制方式通讯,MSP430的P6.6—P6.3端口,发送16位的地址数据流,以SCK为时间源,主动方式,向SA9904B发送数据。
P6SEL=cs+sck+si_1;//选择SCK,CS
为I/O功能,SI为模块功能。
P6DIR= 《基于MSP430的三相电能表SA9904B采集系统(第2页)》