微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > MCU和DSP > 基于SPI总线的电能计量芯片ATT7022及其在配电监测终端的应用

基于SPI总线的电能计量芯片ATT7022及其在配电监测终端的应用

时间:01-18 来源:21IC中国电子网 点击:

电流有效值校正 ×
脉冲输出参数校正 √ 1 × ×
启动电流设置 × ×

注:"√"表示支持,"×"表示不支持,"1"表示合相时的参数,"2"表示该芯片不支持软件校表

2 引脚功能

ATT7022的引脚排列如图1所示,它采用44引脚QFP封装,面积仅有10mm×10mm,功耗仅为100~200mW,各引脚功能如下:

·V1P/V1N,V3P/V3N,V5P/V5N:模拟电流信号输入;

·V2P/V2N,V4P/V4N,V6P/V6N:模拟电压信号输入;

·REEOUT、REFCAP:基准电压输出;

·RESET:复位输入端;

·SIG:写操作成功握手信号输出;

·SEL:接线方式选择输入端;

·CF1/CF2:有功/无功电能脉冲输出;

·CS:SPI读/写片选信号;

·SCLK:SPI串行时钟输入;



·DIN/DOUT:SPI串行数据输入/输出;

·Revp:当系统检测到任意相的有功功率为负时,该端输出高电平;各相有功功率均为正时,该端输出低电平;

·OSCI/OSCO:系统晶振输入端/输出端;

·Vcc/Avcc:数字电源/模拟电源;

·GND/AGND:数字地/模拟地。

3 工作原理

3.1 AT7022电能计量芯片的内部结构

AT7022内部包括时钟控制电路、模拟信号采样、参考电压、DSP、脉冲生成器、SPI通讯接口和电源管理七大部分,其内部原理框图如图2所示。


3.2 ATT7022的工作原理

ATT7022首先通过6通道16位∑-Δ的ADC模数转换电路来对输入电流和电压信号进行采样,转换后的数字量再经过24位DSP数字信号处理以完成全部三相电能参数的运算,同时将结果保存在相应的寄存器中并通过SPI口与MCU进行数据交换,DSP模块同时还生成有功/无功电能脉冲输出CF1/CF2,可用于现场校表。ATT7022在设计中已考虑到校表的方便性,采用全数字校表,只需适当修改校表寄存器即可实现校表功能。

3.3 串行SPI接口

ATT7022提供有标准的SPI接口,可与带SPI口的MCU直接连接,也可用适当的I/O口线仿真SPI总线,其仿真读写程序很容易实现。

ATT7022的一个数据传输总线从向SPI接口的DIN端送入8位命令字开始的,当命令中包括一个写入命令时,在其后的24个SCLK周期内,串口将持续从DIN端读入24位串行数据。当发出一个读取命令时,串口将根据发出的命令来进行寻址,然后在其后的24个连续的SCLK周期从DOUT引脚上串行输出寄存器内容。数据的传输总是MSB在前,LSB在后。读寄存器时,SCLK为高,数据在DOUT引脚上有效。而在写寄存器时,数据则在SCLK的下降沿从DIN引脚读入,这一点在仿真SPI读写操作子程序时应引起注意,否则读写寄存器将出错。

ATT7022的读写时序见图3所示。

3.4 寄存器配置及校表方法

ATT7022的寄存器分为计量参数和校表参数两部分。器件中的计量参数寄存器多达82个,它们的地址在01H~6FH中不连续分布,未使用部分可留给以后扩展。计量参量的计算全部由硬件完成,用户只需进行单位换算就可得到测量值。

图4

校表参数寄存器包括相位补偿设置、功率增益、相位校正、电压/电流校正、比差补偿设置、启动电流、高频脉冲输出设置、断相阈值电压设置和合相能量累加模式等36个寄存器,它们的地址不连续地分布在01H~2AH,也考虑了以后的扩展。应当说明的是,两个寄存器的地址有重叠部分,但它们的物理位置是分开的,可以通过读写命令来区分。寄存器描述及读写操作命令字等见参考文献。

校表是电能表设计中非常重要的环节,ATT7022上电复位后,校表寄存器的初始数据为默认值,此时读出的计量参数值和实际参数值不符,因而需要对校表寄存器进行设置,以将测量值减小到误差范围之内。校表可按高频输出参数设置、比差补偿区域设置、角差补偿区域设置、功率增益校正、相位校正、启动电流设置、功率增益校正、参量累加模式设置、电压校正、电流校正的先后顺序进行。现以电压增益的校准为例简要说明AT7022的校表方法,其它参数校准请参照参考文献。

电压增益校正UgainA、UgainB、UgainC:在ATT7022初始化时,Ugain为0,标准表上读出的电压有效值为Ur,通过SPI口读出的测量电压有效值寄存器的值为Datau。此时,如实际电压有效值Ur,测量电压有效值为Urms=DataU×2 10/2 23,由于:

Ugain=(Ur/Urms)-1

因此,如果(Ugain≥0),则Ugain=INT[Ugain×2 23]

否则Ugain<0,则Ugain=INT[2 24+Ugain×2 23],

式中,INT表示取结果的整数部分。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top