基于AT73C500/501专用芯片组的电参量测量模块
摘要:介绍美国Ateml公司新型专用电能量测量专用芯片组AT73C500/501的性能指标和工作原理;给出采用此芯片组的电参数测量模块应用设计要点和抗干扰设计方法,并利用PC机编写自动参数校准软件,实现快速精确配置模块测量系数;实现简单通用的智能电参量测量模块。
关键词:电参量测量 专用芯片组 AT73C500/501 参数校准 AVR单片机
近向年来,国外许多IC设计制造公司推出了系列电参量(针对工频电网的电压、电流、有功、无功、频率等参数)测量的专用芯片,如CS5460A、ADE7755、AT73C500/501等。利用它们可以方便实现单相、三相电能表的设计,达到很高的测量精度,同时大幅降低产品成本。
这些不同的电参量测量芯片功能各有侧重,性能各有所长。我们在使用这些芯片过程中,发现不少特殊问题,并针对这些特点设计了通用的智能电参量测量模块。本文根据实际应用AT73C500/501过程中出现的问题,对该芯片的应用进行了深入探讨,给出相应解决办法;同时,设计了高效的电参量测量模块校准软件,实现电参量测量模块自动、快速生产调试。
图1
1 AT73C500/501芯片简介
1.1 芯片性能指标
AT73C500/C501为美国Atmel公司2000年推出的电能测量专用芯片组。其中AT73C501为A/D变换芯片用于测量前端信号采样;AT73C500为DSP芯片,根据AT73C501的采样数据完成电参量的计算。使用这两种芯片配合工作测量三相电参数个有如下特点:
*满足IEC1036一级精度要求;
*使用外部温度补偿的参考电源,满足IEC687的0.5和0.2级精度;
*测量三相有功功率、无功功率、视在功率和电能;
*测量功率因数、电网频率、电压和电流有效值;
*多相或单相运行;
*接口灵活,具有8位微处理器接口、8位状态输出、8路脉冲输出;
*支持增益和相位校准;
*支持低端非线性校准;
*启动电流可编程;
*最大可测带宽1kHz;
*单+5V供电;
*校准数据可以从串行EEPROM读取,也可以由外接微处理器读取。
1.2 AT73C500/501芯片简介
AT73C501是28引脚PLCC封装的六路Sigma-Delta A/D变换器。AT73C501内部包含六路16位A/D变换器、1个参考电压发生器、1个电源电压监视单元和1个时钟单元。每路A/D变换器都由高性能、过采样的Sigma-Delta调制器和数字均分滤波器组成。
芯片的AIN1、AIN3、AIN5为电流采样通道输入,AIN2、AIN4、AIN6为电压采样通道输入,所有六路A/D输入都是单端输入,简化了外围设计。其它主要引脚有:
ACK—采样数据输出准备好;
OX、XI—接外部晶体3.2768MHz,提供工作时钟;
CLK—提供DSP AT73C500工作时钟输出;
CLKR—串行总线数据输出时钟;
FSR—输出采样的帧信号;
DATA—串行总线采样数据输出。
javascript:window.open(this.src);" style="cursor:pointer;"/>
AT73C500为44引脚PLCC封装的新型电能测量专用DSP芯片,具有一个高效的数字信号处理器(DSP)内核,DSP技术的使用,使AT73C500具有其它电能测量芯片所没有的一些特点和复杂功能。主要引脚如下;
B0~B7—MCU总线;
B8~B15—状态、工作模式总线;
IRQ1—接AT73C501的ACK,外部采样数据中断请求;
CLK—时钟输入,3.2768MHz;
STROBE、BRDY、RD/WR、ADDR0、ADDR1—AT73C500和外部MCU的数据传输接口信号;
SOUT0—时钟输出给外部串行EEPROM;
SOUT1—串行输出,作为AT73C500的片选信号或外部EEPROM的数据输入(DI);
SIN—串行数据输入,接收AT73C501或外部EEPROM的数据输入(DO);
SCLK—串行位时钟输入来自AT73C501。
2 智能电参量采集模块设计
我们设计的智能电参量采集模块,用于低压变压器在线监测设备中。测量模块作为关键的台变运行监测部件,要求设计成通用性强的采集模块。这样,可以方便地和现有的各种设备接口,扩展现有设备的功能。应具有造价低,可靠性强,便于维护等优点。针对功能需求,在综合对比几种电能量测量芯片的价格、性能、系统实现难易程度等几方面的基础上,我们采用AT73C500/501设计了智能电参量采集模块。
2.1 智能电参量采集模块前端原理
电参量采集模块前端以AT73C500/501为核心,由信号取样电路、逻辑电路及其它元器件测量单元结构共同组成。三相电压信号分别使用电阻分压器的互感器提取。被测三相电流由一次电流1.5A或6A、二次电流5mA、二次负荷20Ω的电流互感器转化为电压信号。
图1为测量采集模块原理。
选择AT73C500的工作模式时,由于校准数据直接影响测量精度,而且每次复位后AT73C500都要重新读入校准数据,如果AT73C500使用微处理器模式,导入校准数据的握手协议过于复杂,需要单片机软件干预;因此从可靠性角度考虑,AT73C500被设置成EEPROM模式,将校准数据从EEPROM AT93C46中读出,同时,单片机也能对AT93C46内的校准数据读写。
前端测量电路工作流程:上电复位后,单片机对AT73C500复位,然后AT73C500进行初始化工作。首先将RD/WR写高,状态/模式总线上的四个三态门被选通,AT73C500通过BUS12至BUS15读入模式信息。在判断工作模式为EEPROM模式后,AT73C500向状态/模式总线的最低位(BUS8)写低电平,经逻辑译码电路(GAL20V8)后产生初始化信号CS1。CS1信号选通串行EEPROM AT93C46,AT73C500读出存储在AT93C46中的校准数据。校准数据读出以后,AT73C500向BUS8写高电平,经锁存后CS1变成高电平,初始化阶段结束,测量单元开始正常的测量工作。AT73C501开始通过同步串行总线向AT73C500传送采样结果。
AT73C500的计算结果有两种输出方式:一种是以数据的形式输出,另一种是以脉冲的形式输出。两种方式共和数据总线,因此使用逻辑译码电路(GAL20V8)区分。当有一包数据要输出时,AT73C500向状态总线的BUS9写高电平脉冲,经锁存后产生数据就绪信号DATRDY。DATRDY信号用于智能外接单片机线上数据就绪,此时ADDR0为低电平,无脉冲输出。数据输出结束后,DATRDY变为低电平。数据总线输出脉冲时,DATRDY始终为低电平;同时,DR/WR为低电平,ADDR0为高电平。
2.2 AT73C500数据采集接口单元设计
2.2.1 单片机选型
对智能电参量采集模块的各项数据进一步加工处理和与外部通信等功能,一般要由单片机来完成。前端测量单元的测量结果由AT73C500的数据总线送出。AT73C500的数据总线为并行总线。总线上数据传输速度非常快,其中锁存信号STROBE的脉宽仅为153ns。基于速度、成本上的考虑,选用美国Atmel公司的精简指令集(RISC)AVR单片机AT90S8535实现接口单元的功能。AT90S8535内部有8KB Flash程序存储器,512B SRAM,使用8MHz的晶振,每条指令的执行时间仅为125ns。
2.2.2 接口逻辑控制电路
由于AT73C500/501有多种工作模式和数据传输方式,同时系统有1片EEPROM AT93C46存储器,保存校准参数信息。AT93C46必须能够由单片机读写,还要能由AT73C500读取系数。考虑到还有其它的复杂数据控制接口信号,因此,采用1片PLD GAL20V8实现复杂逻辑功能和数据、地址译码。图2为接口逻辑控制电路。
2.2.3 单片机数据采集接口单元
测量单元的测量结果通过并行数据总线高速输出,因此,如何准确及时地接收总线上的数据是接口单元要解决的首要问题。
AT73C500数据总线时序中有两个不利于数据接收的问题。
AT73C500数据总线时序中有两个不利于数据接收的问题。
一是数据写到总线选通STROBE信号低电平宽度太窄,不利于单片机捕捉。这个问题即使使用了AVR单片机依然不能忽视。如果AT90S8535采用查询普通I/O口的办法捕捉STROBE脉冲,查询一次至少要执行两个单周期指令或执行一条两周期指令,执行时间最少为250ns,超过了STROBE低电平的宽度(153ns),因此丢失数据的可能性非常大。为了准确地捕捉STROBE信号,该信号被连接到AT90S8535外中断0的输入引脚(1NT0)。当INT0引脚上的STROBE信号触发了INT0中断请求时,通用中断标志寄存器GIFR中的INTF0位被置1,AT90S8535通过查询INTF0位,判断是否出现STROBE信号。使用这种方法STROBE低电平状态由单片机硬件捕捉,不存在丢失STROBE事件的可能性,只要在下一次中断申请出现以前将INTF0位清除即可。
图3