摘 要:介绍16位RISC信号处理芯片MSP430的管脚功能、内部功能框图、测量原理和以MSP430C32X设计的电子电能表。
MSP430美TI公司推广的16位超低功耗微控制器。它采用精简指令集(RISC)结构。种结构与分时复用数据线和指令线的集中指令集(CISC)结构不同,它将数据线和指令线分离,使得取指令和取数据可同时进行,执行速度很快;因这种微控制器的指令多为单字节指令,故程序存储器的空间利用率也很高。MSP430有基于闪存的F1××系列、基于闪存且带有LCD驱动器的F4××系列、带有LCD驱动器但基于ROM/OTP的×3××系列等产品。管脚从20~100条,以SSOP、QFP、PLCC、JLCC和SOIC等形式封装。本讲介绍MSP430C32X和它在电能表中的应用。
1MSP430C32X管脚功能MSP430C32X有64条(或68条)引脚,以QFP等形式封装。管脚排列如图1所示。P1 AVCC,正模拟电源电压,2.5~5V;P63 AVSS,模拟电路考地;P2 DVCC,正数字电源电压,2.5~5V;P64 DVSS,数字电路参考地;P61 A0,AD转换器输0或数字输入0;P62 A1,AD转换器输入1或数字输入1;P5~P8 A2~A5,AD转换器输入2~5或数字输入2~5;P3 SVCC,接AVCC到AD转换器;P4 Rext,内部电流源的编程电阻输入端;P9 Xin,晶振输入端;P10 Xout/TCLK,晶振输出端或测试时钟输入;P11 CIN,允许计数器TPCNT1(Timer/Port)的输入;P12~P16 TP0.0~TP0.4,通用3态数字输入,Timer/Port位0~4;P17 TP0.5,通用数字输入/输出,Timer/Port位5;P18 P0.0,通用数字I/O;P19 P0.1/RXD,通用数字I/O,接收数字式输入;P20 P0.2/TXD,通用数字I/O,发送数据输出;P21~P25 P0.3~P0.7,5位通用数字I/O,位3~位7;P26 R33,第一级正模拟LCD电平(V1)的输出;P27~P29 R23、R13、R03,第二级、第三级、第四级正模拟LCD电平(V2、V3、V4)的输入;P30~P31 S0、S1,LCD段线S0、S1;P32~P35 S2~S5/O2~O5,LCD段线S2~S5或数字输出O2~O5;P36~P39 S6~S9/O6~O9,LCD段线S6~S9或数字输出O6~O9;P40~P43 S10~S13/O10~O13,LCD段线S10~S13或数字输出O10~O13;P44~P47 S14~S17/O14~O17,LCD段线S14~S17或数字输出O14~O17;P48~P49 S18~S19/O18~O19,LCD段线S18、S19或数字输出O18、O19;P50 S20/O20/CMP1,LCD段线S20或比较器输入CMP1(Timer/Port)等;P51~P54 COM0~3,LCD公共电极的输出;P55 TDO/TDI,数据输出或编程期间的数据端;P56 TDI/VPP,数据输入或编程电压输入端;P57 TMS,测试模式选择;P58 TCK,器件编程和测试的时钟输入端;P59RST/NMI,复位输入或非屏蔽中断输入端;P60 XBUF,系统时钟MCLK或晶振时钟ACLK输出端。
2MSP430C32X内部功能框图和测量原理MSP430C32X的内部功能框图如图2所示。它由采用RISC结构的16位CPU、6个模拟输入通道公用的14位A/D转换器、8/16KB ROM、256/512B RAM、84段LCD驱动器、看门狗定时器、FLL时钟系统(片内DCO+晶振电路)、具有中断能力的I/O口和多个定时器等组成。这种微控制器的核心指令27条,源操作数的寻址模式7种,目的操作数的寻址模式4种,且具有丰富的中断能力。被测的模拟信号从A0~A5输入,片内A/D转换器将它们转换成对应的数字式数据,处理后驱动LCD显示器显示或经串口传送给主机。MSP430C32X以简化扫描原理(Reduced Scan Principle)测量和计算负载消耗的电能。被测电压和被测电流(已转换成对应ADC量程的电压)接A0~A5,MSP430在软件程序的控制之下用14位A/D转换器交替地测量这些值。每个采样值都使用两次,分别与前面的采样值、后面的采样值相乘,然后累加。为了减少乘法次数,可先求前后两次电压采样值的和,然后相乘。图3是单相电能表的一种测量时序。被测电能E为
此结果意味着每个以RSP采得的电能采样值的误差都为恒定值e。这个固有误差仅与电流和电压采样值之间的固有相移α有关,与被测电压和电流之间的相位差φ及测量正弦波的采样点无关。因此,对所有采样值都能使用相同的校正值进行校正。实际运行期间,累加的电能乘以校正因子C(=1/cos(2πfΔt))就能消除这种误差。 使用RSP测量的优点是很明显的,使用1个A/D转换器就能测量几个模拟量。对MSP430C32X而言,使用1个14位ADC最多能测量6个模拟量。3以MSP430设计的电能表MSP430能以两种不同的角色在电子电能表中使用(图4)。图4(a)中,MSP430的前端接外部模数转换器,用其测量电能,输出与负载消耗的电能相对应的脉冲。MSP430接收这些数字量和对其进行处理。而图4(b)中,MSP430利用自身所带的A/D转换器测量负载电流、电压,和对其进行处理。很明显,后者成本比较低,电路也比较简单。
图5、图6是以MSP430设计的电子电能表的两种方案。图5测量单相电能。被测电压经电阻分压器分压后接MSP430C32X的A1、A5;被测电流经分流电阻(如1.0mΩ)和放大器转换为对应的电压后接MSP430C32X的A0、A5。为了把来自分压器和分流器的正负交变的电压转变为ADC量程内的无符号的电压,使用了±2.5V两个电源。它们的公共地接A5,MSP430以规定的时间间隔测量此电压,并从以后每次测得的电压、电流采样值中减去它,以此法对有符号的被测量进行测量。 为了产生测量的基准,图中使用了1个基准二极管LM385-2.5。它的稳定性应优于要求的电表精度的4倍。为了减少电源电流,LM385能够仅在测量基准期间接通。如果±2.5V电源的精度和稳定性足够好,这个基准二极管可省去。 如前所述,被测电流应先经分流器转变为电压,然后用MSP430测量。因分流电阻阻值较小(约为0.3~3.0mΩ),产生的电压降也较小,故需接运算放大器放
此式对应较小的负载电流。若负载电流较大,可令开关闭合,此时MSP430C3××、MSP430F4××内含84段~160段LCD驱动电路,因此,测量结果可直接送LCD显示器显示。 为了存储校准数据、查阅表、常数及电源故障期间不能丢失的那些数据,MSP430右边接了一片EEPROM。取决于需要存储的数据量,EEPROM的容量一般为128字节或256字节。MSP的DVCC端通过二极管接后备电池;直流电源电压下跌时向处理器供电。MSP430的左下角接预付费接口。插入有效的预付费卡后,电能表自动接通AC供电电源。MSP430的P0.2和P0.1接M总线接口TSS721,接电能表接入网络。利用M总线接口,主机可送入合适的信息规定实际的费率;能以用户规定的协议读出实际的能耗和其他感兴趣的值;测试时,起动基于ROM的测试程序或者下载和起动基于RAM的测试程序;校准时接校准硬件。MSP430的P0.3接红外接口,双向传送数据,用于校准、测试和读出数据。MSP430的P0.5用于脉冲输出,消耗了一定的电能量后改变输出状态;以此状态的变化送机械显示器显示或用于校准。
图6是测量三相电能的电能表线路。3根相线和1根中性线接负载。R、S、T三相电压经电阻分压器分压,变换到适合MSP430测量的范围;三相电流经电流互感器和次级电阻变换为电压后接MSP430。因为MSP430C32X只有6个模拟输入端,只能测量3个电流和3个电压,基准二极管的电压或参考地电压则无法测量,因此,图中增加了1片TLC4016开关电路。分压后的三相电压经它接MSP430,MSP430以3个输出(TP.3~5)选择被测的相。测量时序如图7所示。图中α仍为因测量方法引入的固有相移;与测量单相电能不同,它与两次A/D转换的时间差所对应的相移不相等。为了与AC电网隔离和获得较高的准确度,被测电流使用电流互感器或铁氧体磁芯变换。电流互感器次级需要的话,以类似方式可获得更多量程。 图6未接后备电池,但接了一根AC下跌检测线。一旦此线激活,则立即将实际消耗的电能等不可丢失的数据存入EEPROM中。