×
嵌入式 > 技术百科 > 详情

TLC7225在电力电量参数测量系统中应用

发布时间:2020-06-09 发布时间:
|
TLC7225在电力电量参数测量系统中的应用 
TLC7225 Application in Electric Power & Quantity Measurement System 

 
图1  TLC7225 功能框图

 
图2  TLC7225参考电压实现电路


摘    要: 本文详细说明TLC7225在电力电量参数测量系统中的应用。 
关键词: TLC7225;DSP;电力电量测量 
系统简介 
本电力电量参数测量系统包括两个独立的硬件模块:参数测量模块和谐波信号源模块。TLC7225用于产生谐波信号。系统要求产生3路电流信号、3路电压信号,每一路输出信号幅度在0~2V内可调,调节精度为0.1mV。本系统作为单独的谐波信号源工作时,6路信号的幅度、相位等参数通过PC机传到谐波信号源,谐波信号源系统按照用户给出的命令参数输出标准信号。由于系统处理的数据量较大,实时性要求较高,普通的微处理器已不能满足速度、精度等方面的要求,而DSP处理器以其ns级指令系统和哈佛结构的计算能力和实时性,正逐渐应用到电力系统中来。笔者选取TI公司的TMS320F206(以下简称F206)。F206独有的32K片内Flash是一种可电擦除和编程的非易失性存储器,可用于存储数据或程序。本系统中将应用程序和一张正弦波母表烧录在Flash中,以便实时调用,可减少由于实时计算而引起的延时。 

TLC7225 
TLC7225是TI公司的高性能D/A转换器,片内包含四路8位电压输出数/模转换器(DAC),每个DAC都有分离的片内锁存器(见图1),数据通过一个公共的8位TTL/CMOS兼容(5V)输入口送入这些数据寄存器之一。由A0和A1决定/WR变低时哪个DAC被加载。在/WR的上升沿,数据被锁存在被寻址的输入寄存器,只有保存在DAC寄存器中的数据决定转换器的模拟输出。由图1可见,/LDAC信号是所有四个DAC共有的,控制从输入寄存器到DAC寄存器的信息传输。在/LDAC的上升沿,数据被同时锁存到四个DAC寄存器。/LDAC信号是电平触发的,因此,可将/LDAC连接到低电平而使DAC寄存器透明,本系统即是如此。 
TLC7225包含四个相同的8位电压型数/模转换器,每个转换器由一个单独的基准输入,这正好符合本系统中6路信号幅度单独可控的要求。 
当TLC7225处于单极性工作时,输入输出有如下关系: 
                    (1) 
其中(包括)由TLC7226的输出提供(如图2)。 
TLC7226和TLC7225唯一的区别是TLC7226片上的4路DAC共用同一个基准电压(由系统中的LM399提供,为6.95V),在基准电压保持不变的情况下,各路的输入值不同,输出值也就不同。可以通过控制TLC7226的输入值来间接控制TLC7225的输出值,TLC7226和TLC7225单极性工作时的输入输出关系为: 
  
(2) 
其中为6.95V。TLC7225数字输入是与TTL或CMOS电平兼容的,为使电源电流最小,一般数字输入电压的驱动应尽可能接近电源满度() 。 

TLC7225的软硬件设计 
要正确使用TLC7225,必须同时保证硬件逻辑电路的正确连接和软件编程的准确无误。 
硬件逻辑电路 
TLC7225参考电压的硬件实现电路如图2,其中的D0—D7直接与F206的低8位数据线相连,TLC7225的输入数据值由F206从固化在Flash中的正弦波母表中提取,参考电压由TLC7226提供。系统中笔者采用3片TLC7226。由于TLC7226的输入为8位,在基准电压值固定的情况下,TLC7226输出信号的变化精度只能是的1/256, 则TLC7225的输出变化精度也是这个基准电压的1/256。作为一个用于测试设备性能的标准信号源,这个变化精度是远远不够的。为了解决这个问题,笔者在信号源系统中采用两路8位输入的TLC7226构成一路16位输入的直流模拟信号,经过运放作为TLC7225中各通路的参考电压(如图2)。 
此时当TLC7226的输入每增加1时,TLC7225的输出增加0.106mV,达到系统的0.1mV可调的要求。 
TLC7225输入满幅时的TLC7226的输入值可以通过下式得到: 
    (3) 
当TLC7225输出幅度为2v时TLC7226的16位输入值为49F5h。 
软件设计 
timer: 
mar *, ar1        
sst #1, *+ 
sst #0, *+ 
sar ar0,*+ 
sar ar5,*+      ;以上为现场保护 
lar ar0, #240 ;每一路波形取240个点,共6路 
mar *,ar5        ;设置AR5为当前辅助寄存器 
lar ar5, nextdata  ;AR5存储待发数据首地址 
out *0+, 0723h      ;输出a相电流 
out *0+, 0727h      ;输出b相电流 
out *0+, 072bh      ;输出c相电流 
out *0+, 0713h      ;输出a相电压 
out *0+, 0717h      ;输出b相电压 
out *+,  071bh      ;输出c相电压 
;注意:此处不能为*0+ 
sar ar5, nextdata  ;保存ar5的值 
lacc nextdata 
sub #1200 
sacl nextdata 
sub endaddr        ;以上判断有没有到表尾 
bcnd again, eq      ;若已到表尾则跳转到again 
clrc sxm            ;禁止符号扩展 
mar *, ar1        ;以下恢复现场 
lacc *- 
add *-, 16 
lar ar5, *- 
lar ar0, *- 
lst #0, *- 
lst #1, * 
clrc intm 
ret 
程序中除了现场保护与恢复之外,最重要的语句是out *0+,0723h,此语句不但将数据输出到TLC7225的一个引脚0723h,而且将当前辅助寄存器中的值增加了240(存储在AR0中),实现了下一路数据的简便输出而无需再移动当前辅助寄存器指针。需要注意的是输出最后一路数据时一定不能用out  *0+, 071bh,否则超出数据表范围,得不到所需的正弦波。 

结语 
综合利用TLC7225和TLC7226实现6路信号的单独可调输出,硬件上可以减少外围电路的复杂性,软件设计简单方便。本系统在硬件上已经实现,具有速度快、精度高等特点。



『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
磁吸式充电器又来了.但这回它设计得有点尴尬