基于MSP430的三相电能表SA9904B采集系统

发布者:NatureLover最新更新时间:2021-06-25 来源: eefocus关键字:MSP430  三相电能表  SA9904B  采集系统 手机看文章 扫描二维码
随时随地手机看文章

本文介绍由TI公司的MSP430F435 单片机和SAMES 的SA9904B 电能测量集成芯片组合成三相电能表的无用功率和有用功率等参量的采集系统。

硬件部分


MSP430F435


T1 公司的MSP430 系列单片机是一种具有超低功耗的功能强大的单片机。新开发的F 系列具有Flash 存储器,在系统设计,开发调试及实际应用上比其他MCU 都有比较明显的优势。


1、超低功耗


MSP430F 系列运行在1MHZ 时钟的条件下时,工作模式不同为0.1~400uA,工作电压为1.8~3.6V。


2、 超强处理能力


8MIPS 的CPU 内核,16 位×16 位的硬件乘法器。


3、灵活的配置方法


MSP430 F 系列具有丰富的寻址方式,只需要27 条指令;片内寄存器数多,可以实现多种运算;有高效的查表处理方法。这一切保证了可以编译出高效的程序。许多中断,可以嵌套,使用方便。


4、片上集成外围功能模块


MSP430 F 系列集成了较多的片上外围设备。这些外围设备功能相当强大:12 位A/D,精密模拟比较器,硬件乘法器,2 组频率可以达到8MHZ 的时钟模块,2 个带有许多捕获比较的16 位定时器,看门狗功能,2 个可实现异步和同步及多址访问的串行通信接口,数十个可实现方向的设置及中断功能的并行输入,输出端口,拥有SPI 和UASRT 通讯端口。


5、高效的开发方式


MSP430FX 系列具有FLASH 存储器,这一特点使得它的开发工具相当简便。利用单片机自身带有的JTAG 接口或片内BOOT ROM 内固化的默认的加载程序载入器Bootstrap 可以进行串口或并口,通过UART 将程序代码装入Flash 存贮器中。可以在一台PC 及一个小JATAG 控制器的帮助下实现程序的下载,方便的完成在线程序调试。


SA9904B


SAMES 公司的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,后四位为选择代码。各端口的时间延时参看表一。


软件部分


对于MSP430 单片机,由TI 公司自带的嵌入式软件开发平台IAR EMBEDDED WORKBENCH。该软件可对开发系统进行在线调试,带有C 编译器,可采用通用的C 语言编程。


通过MSP430 的P6.6―P6.3 端口对SA9904B 芯片进行同步数据传递,其中P6.3 端口用于 DI,P6.4 用于SCK,P6.5 用于CS,P6.6 用于DO,P1.0 用于F50。程序流程如图3 所示。



第一、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 = cs_1 +sck_1 +si_1;// 选择SCK,CS 置高,SI 为向外输出。

my_flag1= tempadd0<<7; //左移7 位

my_flag2= my_flag2&0x8000;//取最高位向SA9904B 输入数据。


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;}


其中一些参量为定义量。


这样的输出过程循环9 次,即把9 位数据从高位到低位输进SA9904B 地址寄存器


第三、DO 口数据传输


与DI 口数据传输相似,主要考虑的是在P6.6 端口上显示有功和无功数据寄存器中的数据,24 位数据按从高位到低位传输次序读出。


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 为向内输出。

P6OUT = cs_1 +sck_1 + 0; // 选择SCK,CS 置高。

my_flag=(unsigned char)(P6IN);//读取P6IN 寄存器中数值。

P6OUT = cs_1 +sck + 0;

aa=(aa|(my_flag}


if (i>2){aa=aa<<8;} } //左移8 位。

return aa;

}


其中cs,sck,so 等参量的定义如cs:P6SEL |= 0x20方式所示。


第四、F50 寄存器数据处理


该端口的处理方式与上述的 DO 和SI 一样,但是F50 的数据信息比较丰富,其包括电压的频率数,是否有相序错误,是否有相位丢失,对电压频率的记数,是在电压的上升沿,该寄存器记一,以次累加。


以上针对单片机的SPI 通讯方式,简要介绍了程序设计过程。可以看出对于SA9904B的操作主要集中在数据的输入和输出,同时控制数据传输时序。数据从高位到低位传输的次序,必须一位一位的读取或输入。采集了这些数据,还得对这些数据作相应复杂处理。鉴于430 单片机的端口特殊性,先选择功能,然后选择传输方向,最后确定数据读取或输入。


结束语


目前使用电能集成芯片和单片机组合用于测量电能有一些方案,但是大多数是基于通过数模转换电路来实现数据的采集。测量电能的集成芯片有很多种,微处理器也有许多种,本文基于TI 的MSP430 单片机与SA9904B 组合,设计出性价比很高的三相多费率多功能表。该系统模块仅限于电能的有用功和无用功等电力参量的采集,有用功和无用功等电力参量的采集是电表的中一个十分重要部分。计量电能的三相多费率多功能表还涉及其他许多功能模块,包括诸如数据处理、数据显示,数据存储,数据通讯等模块。


关键字:MSP430  三相电能表  SA9904B  采集系统 引用地址:基于MSP430的三相电能表SA9904B采集系统

上一篇:基于MSP430F449的数据存储和USB串行通信实现
下一篇:MSP430内部上拉下拉使用注意——IO口测高低电平

推荐阅读最新更新时间:2024-11-06 00:58

MSP430单片机硬件IIC
//MSP430IIC接口是很方便的物件,但是还是有很多人弃之不用,当然有各种原因,但是如果你确实要用IIC接口,而且容许的话,用它还是很舒服的,可能开始不太顺,但是一旦搞通了你会体会到他的好处。 我看了一些网上的程序,有的仍然用模拟方式的思维处理某些环节,比如应答信号。非要追踪 ACK 不可,其实接口已经提供了 NACK 中断,何必非要反向处理呢?事实上,如果在正常传送中出现 NACK 中断,你要考虑更换器件或者考虑系统的稳定性了。 #include msp430x16x.h unsigned char RX_BUF ; unsigned char TX_BUF ; unsigned char Rece_data ;
[单片机]
低功耗的c语言编程,关于低功耗msp430PID控制电机转速的C程序
#include #include #include unsigned int cap_tar,cap_first,cap_last,time,pluse,flag=0,temp1; float speed,Uk,vis=0,temp2=0; /******************************************* 函数名称:定时器中断服务函数 功 能:用于捕捉传感器的脉冲信号 参 数:无 返回值 :无 ********************************************/ #pragma vector=TIMERA0_VECTOR __interrupt void timerA0(void
[单片机]
基于AD9650的高速数据采集系统的设计方案
随着数字信号处理技术的发展,越来越多的信号处理环节可以通过后端的软件处理完成,但这反而使得电子设备对前端数据采集系统的要求不断提高。因为后端软件的处理效果归根结底依赖于数据中所包含的信息量,只有提高数据采集的动态性能,才能保障后端处理的效果。长期以来,在数据采集领域,高速大动态范围ADC系统的设计与实现始终是研究的热点。当雷达工作在高杂波的电磁环境中,探测对象的RCS或多普勒信息非常微弱时,就对设计实现高速大动态范围数据采集系统提出了迫切的需求。 目前,国内对高速大动态范围ADC数据采集系统设计主要依赖于芯片的指标而缺乏系统的研究和总结。本设计旨在通过优化系统设计,结合动态性能优越的模数转换芯片,实现一个高速大动态范围数据采集系统
[电源管理]
基于AD9650的高速数据<font color='red'>采集系统</font>的设计方案
MSP430单片机命名规则
TI MSP430命名规则
[单片机]
<font color='red'>MSP430</font>单片机命名规则
基于MSP430F169的水声遥控发射系统设计
摘要:随着水声通信技术的快速发展,水声遥控系统也已投入使用,它在水下通信、遥测及水下航行器的控制等方面有着广阔的应用前景。该设计基于微功耗单片机MSP430F169作为处理器设计路以便实现不同频率信号的产生、选择及显示,并选用D类功放对所产生的信号进行功率放大。系统软件根据所设计的电路进行移频编程,根据MFSK调制的基本原理,通过采用添加保护时间抵抗码间干扰的编码方案,完成不同遥控信号的产生、控制及显示。 作为水声通信技术的一种应用,水声遥控技术的发展与水声通信技术息息相关。近年来,PSK以及MPSK、DPSK(相移差键控)等被用于高通信速率场合中的信道编码,已成为当前水声通信领域的主要研究方向之一,被国外很多系统应用。水声通
[单片机]
基于<font color='red'>MSP430</font>F169的水声遥控发射系统设计
基于ADmC812和DSP实时数据采集系统
   引言   ADmC812是ADI公司的以8051(8052)内核为控制核心的新型微转换器。由于ADmC812内部集成了大量的外围设备。它本身就是一个完全可编程、自校准、高精度的数据采集系统,可以取代传统的MCU+A/D+ROM+RAM高成本、大体积产品,尤其是它的高精度和高速度A/D模块,特别适应于智能传感、瞬时获取、数据采集和各种通信系统。但是,对于需要采集数据量大、运算复杂、实时性又要求较高的场合,由于在结构和速度上的限制,往往是无法满足要求的。本文针对这种情况,提出了基于ADmC812和DSP的数据采集系统。在这个系统中,ADmC812作为主机,完成ADC、DAC、显示、键盘等功能,而DSP作从机,专注于复杂的数据运
[嵌入式]
IAR for MSP430安装教程
准备资源: 安装步骤: 1、双击 稍等一下,出现如下键面, 选择Install IAR Embedded Workbench for MSP430,如下图所示: 进入下面键面,选择next, 选中 I accept the thems of the license agreement后,点击next, 进入到如下键面后,可以选着change,改变安装路径,注意按装路径不要包含中文, 点击Install,等待安装, 出现如下警告,点击是继续按装, 把立即运行软件等项目取消勾选,点击finish退出安装 安装完成后,以管理员身份运行软件,弹出注册窗口 将Keygen.rar注册机解压,得到License Gene
[单片机]
IAR for <font color='red'>MSP430</font>安装教程
基于CAN总线的智能型温湿度采集系统设计
  温湿度监测系统是在环境试验、科学研究(诸如种植、养殖、生物工程、化工工程)、工业生产等领域应用广泛的现场环境控制系统。它能模拟各种环境条件,即按照实际要求精确控制环境的温度和湿度,为研究不同的生化过程创造了良好的环境条件。因此,温湿度监测系统广泛应用在科研、现代农业、医药、冶金、化工、林业、环境科学及生物遗传工程等领域。   为了满足化学工业过程对环境条件的需求,我们在传感器智能控制方案和具体应用中做了大量的研究和可行性分析,开发了一种具有智能化功能的温湿度监测系统。该系统由数据采集模块和接口模块组成。其中数据采集模块采用了以单片机AT89S52为核心外接传感器的结构框架,保证了系统对现场温湿度信号采集的实时性和准确性。而接口模
[嵌入式]
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
  • 学习ARM开发(16)
    ARM有很多东西要学习,那么中断,就肯定是需要学习的东西。自从CPU引入中断以来,才真正地进入多任务系统工作,并且大大提高了工作效率。采 ...
  • 学习ARM开发(17)
    因为嵌入式系统里全部要使用中断的,那么我的S3C44B0怎么样中断流程呢?那我就需要了解整个流程了。要深入了解,最好的方法,就是去写程序 ...
  • 学习ARM开发(18)
    上一次已经了解ARM的中断处理过程,并且可以设置中断函数,那么它这样就可以工作了吗?答案是否定的。因为S3C44B0还有好几个寄存器是控制中 ...
  • 嵌入式系统调试仿真工具
    嵌入式硬件系统设计出来后就要进行调试,不管是硬件调试还是软件调试或者程序固化,都需要用到调试仿真工具。 随着处理器新品种、新 ...
  • 最近困扰在心中的一个小疑问终于解惑了~~
    最近在驱动方面一直在概念上不能很好的理解 有时候结合别人写的一点usb的例子能有点感觉,但是因为arm体系里面没有像单片机那样直接讲解引脚 ...
  • 学习ARM开发(1)
  • 学习ARM开发(2)
  • 学习ARM开发(4)
  • 学习ARM开发(6)
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved