www.ed-china.com
基于新型 Cortex-M3 内核 STM32 的三相多功能电能表解决方案
作者:孙树印,技术经理
张亚凡,李扬,应用工程师
武汉力源信息技术有限公司
背景
电能表作为电能计量的基本设备,受到国家电力部门的长期重视,电能表生产企
业更是不遗余力地寻求设计与开发性能俱佳且成本更低的解决方案。目前国内的
电能表设计已经走过了由 8 位 MCU 向通用 DSP 甚至专用 DSP 的变革,通用 DSP
的应用方案的劣势在于 DSP 的专业应用和嵌入程度不够深的问题,成本偏高;而
专用 DSP 功能相对固定,这样给电能表设计和生产厂家带来功能差异化空间不足
的困难。基于 ARM 的方案也已经出现,但是适合应用的 ARM7 TDMI 在性能上不尽
人意,同时外设资源不足;而更高端的 ARM9 系统的复杂程度很高,成本也较高。
选择一颗合适且低成本的微处理器日益成为电能表行业的关键所在。意法半导体
公司(STMicroelectronic 公司,下简称 ST)的 STM32 微控制器为电能表设计的专
门化和定制化带来了崭新的机遇和空间。
关于 CORTEX-M3 与 STM32
2005 年 ARM 公司发布其最新一代 ARM v7 内核,命名为 Cortex。同 ARM7/9/10/11
相比,Cortex 在架构上有了革命性突破,性能上更是有了本质上的飞越。
Cortex 系列包含三个系列,-A/-R/-M。Cortex-M3 特别针对功耗和价格敏感的嵌
入应用领域,同时具备高性能。它采用高效的哈佛结构三级流水线,达到
1.25DMIPS/MHz,在功耗上更是达到 0.06mW/MHz。Cortex-M3 使用 Thumb-2 指令
集,自动 16/32 位混合排列,具有很高的代码密度。单周期的 32 位乘法以及硬
件除法器,保证 Cortex-M3 的运算能力有大幅提高。在一些对计算能力要求相对
较低而嵌入式要求相对较高的场合,STM32 就具有取代传统 DSP 的潜力甚至优势。
Cortex-M3 包含嵌套向量中断控制器 NVIC,中断响应速度最快仅 6 周期,内部集
成总线矩阵,支持 DMA 操作及位映射。
STM32 是 ST 公司在业界最先推出的基于 ARM Cortex-M3 内核的产品。它继承了
Cortex-M3 内核的优良血统,同时增加了 ST 高性能的外设资源、flash、SRAM
www.ed-china.com
www.ed-china.com
存储器、丰富的串行通信接口(如 IIC、SPI、USART、CAN、USB 等)、12 位 ADC
和 DAC 模块,以及支持外部存储器访问的灵活的静态存储器控制器 FSMC。
基于 STM32 的电能表方案
根据电能表的功能和误差精度的需求,选用 ST 公司 STM32 增强型系列
STM32F103xx,该芯片的最高工作频率为 72MHz。在程序设计上,除了完成快速
数据处理工作以外,还针对系统非线性失真进行了修正和补偿。电能表系统的结
构框图如图 1 所示。
采样滤
波网络
AD 变换
AD73360
微处理器
STM32F103
电源管理
基准参
实时时
FRAM
LCD
显示
通信
电路
图 1:电能表系统组成框图。
1.采集数据处理与计算
在实际应用中,电力信号通过互感器采集到电能表中,通过一个 6 通道 16 位模
拟前端处理器(AD73360)进行 A/D 转换,转换成数字信号并传输到 STM32 中。
AD73360 是 6 通道同步采样的Σ-ΔADC 器件,它内置了基本型电压基准及通道内
置独立的可编程增益放大器(PGA),非常适合三相电流电压信号的同步采样,在
小信号的时候,通过调整通道 PGA 可以获得合适的动态范围从而保证微弱信号的
计量精度。电能表数据采集框图示于图 2。
图 2:电能表数据采集框图。
www.ed-china.com
www.ed-china.com
电压电流输入信号首先需要 RC 滤波网络滤波和数据采样,然后进行 A/D 转换。
AD73360 有独立的时钟源,可配置为自动数据采集与发送模式,通过 SPI 总线不
断的将数据传向 STM32。STM32 内的 Cortex-M3 内核对输入的数字信号进行处理,
完成数字滤波,过零点检测,得到基本的电流电压数据,经过时间积分计算和转
换得到相应的电能计量。
2.采样电路和滤波网络
由于被采样信号为高电压信号和大电流信号,我们需要对被采样信号做高保真转
换为双极性的电压信号以便用 AD 电路离散化处理,而 AD73360 是单电源供电模
拟前端,所以我们需要令输入信号位于 AD73360 的动态范围的正中。采用的方法
是:定义 ADC 工作电压为 5V(动态范围 0~5V),选择参考电压 2.5V,将 AD 差分
输入的负端直接接到参考电压输入,差分输入的正端接被测信号。具体电路如图
3。
在实际电路中,相电流信号经 CT 变换为低电压信号,相电压则通过高精度电阻
网络分压得到线性的低电压信号,信号幅度范围需保证在 5V 之内。
图 3:采样电路与滤波网络。
3.AD73360 与 STM32 的接口
因为 AD73360 产生的基础数据总量庞大,为尽量少占用 CPU 时间,需要使用 STM32
内部的硬件 SPI 和 DMA 单元实现数据传输,而 STM32 的内核根据 DMA 的传输结果
来批量获取基础数据并启动数据处理程序。硬件连接关系如图 4 所示。
www.ed-china.com
www.ed-china.com
图 4:AD73360 与 STM32 的接口电路。
STM32 的 GPIO 控制 AD73360 的 SE 和 RESET,并用一个外部中断输入脚来监听帧
同步信号,这样才可以用程序来保证数据帧内容的字节对应关系。
在 STM32 的硬件设置程序中,需要关闭 SPI 的所有中断,设置 SPI 为从模式,并
选取一个 DMA 通道与之协同工作,自动将 SPI 从模式收到的数据保存在指定的内
存地址。为了令 AD73360 正确采集数据,还必须根据使用要求配置 AD73360 的内
部寄存器,令 AD73360 处于数据模式并主动向 STM32 发送采样数据。
主要电能参量的计算
AD73360 是固定周期采集,我们使用的是 150Hz 或 160Hz,即每周期采集 150/160
点,为此 AD73360 采用的时钟是 6.000MHz 或 16.384MHz,系统中对 AD73360 的
配置为 DMCLK 分频因子为 2048。AD73360 是差分采集,很方便进行过零点检测和
直流分量调节,以保证信号幅度对称,从而减小系统误差。
电压测量(有效值)计算式为:
n
∑
k
1
=
ku
2
1
n
U
=
其中,U 为电压有效值,n 为每周期采样点数, 为电压采样值。
ku
电流测量(有效值)计算式为:
www.ed-china.com
ki
2
www.ed-china.com
I
=
1
n
n
∑
k
1
=
其中,I 为电流有效值,n 为每周期采样点数, 为电流采样值。
ki
在得到的电流电压有效值基础上计算出总功率 S(即视在功率),通过对时间积分
的电流电压积得到有功功率 P,无功功率 Q 是总功率 S 与有功功率 P 之差,功率
因数是有功功率 P 与总功率 S 的比。对于单器件和三相四线星形负载的有功功率
和无功功率的计算汇总如下。
元件有功功率计算式为:
kkiu
n
∑
k
1
=
P
=
1
n
其中,P为单元件有功功率,n为每周期采样点数, 为元件上电压采样值, 为
ku
ki
元件上电流采样值。
单元件无功功率计算式为:
iiu
i
)(
n
∑
i
1
=
Q
=
1
n
其中,Q为单元件无功功率,n为每周期采样点数, 为元件上电压采样值,
iu
)(ii
为元件上电流采样值(90 度移相后)。
三相四线三元件有功功率计算式为:
P
=Σ
PPP
u
w
+
+
v
其中, 为三相有功功率,
ΣP
Pk
−
(
k
=
wvu
,
)
,
为各相有功功率。
www.ed-china.com
三相四线三元件无功功率计算式:
Q
QQQ
w
=Σ
+
v
+
u
www.ed-china.com
其中, 为三相无功功率,
ΣQ
Qk
−
(
k
=
wvu
,
)
,
为各相无功功率。
非线性失真的补偿与修正
电信号采集过程中可能存在的电磁元件(CT 或 PT)会造成采集信号和实际信号之
间的相位失真以及线性失真。为了补偿和修正这些失真带来的误差,还需要使用
分段矫正和补偿的方法。例如,根据 CT(PT)的相移曲线选择合适的两个点将整
个量程分为三段,在测量值分处不同的段时,分别调用不同的相移参数对测量值
进行相位补偿。
线性度补偿参数和相位补偿参数的获取方法(校准过程)如下:
1)零偏校准:令所有通道输入为零,分别记录各通道零点位置。
2)电压校准:令所有电压通道输入值为标准电压值 220V(RMS),记录各相电压校
准参数。
3)电流校准:令所有电流通道输入值为分界点电流,记录各通道小电流测量段校
准参数。再令所有电流通道输入值为最大值,分别记录各通道大电流测量段的校
准参数。
4)相移校准:分别令电流电压通道输入相位相差 60 度感性,并且电流通道的电
流值处于相位补偿段的中间点,并根据有功电能误差来求取该补偿段的相位补偿
参数。
5)求取的全部补偿参数存储在非易失存储器中,例如 STM32 的 FLASH。
电能表配合电路
除了测量计量功能外,电能表还需要实现通讯,存储以及时间管理功能,具体的
程序和做法在此不再赘述,但为了实现完整的电能表功能,其周边器件的选择却
很关键。
www.ed-china.com
www.ed-china.com
1)实时时钟电路:Intersil 的 ISL12022M 是内置时钟晶体的高可靠性全自动温
度补偿 RTC 芯片。该 RTC 依靠工厂预校准,和全工业级温度范围的自动温补来保
障电子产品全生命周期的计时精度,免除了电表的时钟校准的工艺过程,降低了
生产成本。该 RTC 还具有电池状态监测、上电/掉电时间戳记录功能和内置数字
温度传感器功能,更可以用在除电表外的综合电力终端设备中。
2)电压参考基准:Intersil 的 ISL21009 系列是低噪声,高稳定度的精密电压基
准,用于在 AD73360 内置基准的稳定度(50ppm)不够的情况下,为测量系统补充
提供更高稳定度(5ppm)的参考电压。
3)电源管理电路:安森美半导体公司(ON Semiconduction)的 NCP3063 是低成本、
高效率的 DC/DC 稳压器,它对外围电路要求简单,输入电压范围宽达 40V。而电
能表往往工作在很宽的输入电压范围条件下,因此,NCP3063 非常适合用在电能
表工频变压器后面做 5V 或 3.3V 的直流稳压。
4)通信接口电路:Intersil 的 ISL3152E 是全功能 RS485 接口芯片,该接口芯片
拥有多项特别适合于电能表 AMR 系统的特性指标。其中包括,1/8 标准负载驱动
(256 节点),正负 16.5 kV ESD 保护,热插拔功能(节点电源变化不影响总线通
信),20Mbps 总线速率,支持星型拓扑网络等等。
本文小结
基于 Cortex 的 STM32 的三相电能表方案已被证明是当前最具优势的主流方案,
得到了业界的广泛好评和认可。目前,本方案已成功应用在某大型电表生产企业
0.5S 电子式三相多功能电能表中。
参考文献:
ARM 公司《ARM Cortex-m3 Technical Reference Manual》,2004,Revision r1p1
ARM 公司《ARM Architecture Reference Manual》,2005,Issue D
ST 公司《STM32F103Fx Datasheet》,2008,Rev 5
ST 公司《STM32 Reference Manual》,2008,Rev 6
ADI 公司《AD73360 Datasheet》,2001,Rev A
www.ed-china.com
www.ed-china.com
INTERSIL 公司《ISL12022M Datasheet》,2008,Rev .0
INTERSIL 公司《ISL21009 Datasheet》,2007,Rev .6
INTERSIL 公司《ISL3152E Datasheet》,2008,Rev .1
www.ed-china.com