硬件逻辑电路
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 intmnverted-space>
ret
程序中除了现场保护与恢复之外,最重要的语句是out *0+,0723h,此语句不但将数据输出到TLC7225的一个引脚0723h,而且将当前辅助寄存器中的值增加了240(存储在AR0中),实现了下一路数据的简便输出而无需再移动当前辅助寄存器指针。需要注意的是输出最后一路数据时一定不能用out *0+, 071bh,否则超出数据表范围,得不到所需的正弦波。
结语
综合利用TLC7225和TLC7226实现6路信号的单独可调输出,硬件上可以减少外围电路的复杂性,软件设计简单方便。本系统在硬件上已经实现,具有速度快、精度高等特点。
京ICP证080169号京ICP备09003304号-2京公网安备11010502034458号电子公告服务专项备案
网络文化经营许可证 [2019] 5229-579号广播电视节目制作经营许可证 (京) 字第13229号出版物经营许可证新出发京批字第直200384号人力资源服务许可证1101052014340号
Copyright © 2022 Bjx.com.cn All Rights Reserved. 北京火山动力网络技术有限公司 版权所有