《现代电子技术》2006年第23期摘录:整霎笠:基王C8051F系列单
-
如发现有乱码,请点击下面链接浏览原文
正文摘录:
整霎笠:基王C8051F系列单片机信号发生器设计找表定义波形方式。在本设计中,采用查表法输出正弦波形,而对于方波、三角波与锯齿波则采用算法计算的方式得到输出。(1)方波输出方波的代数计算法则十分简单,当相位累加器的输出相位为前半个周期,幅值输出为正向最大值+32767,若相位输出为后半个周期,则幅值输出为负向最大值一32768。相位累加器的第8位值包含了足够的信息来决定方波的输出值。(2)三角波对于三角波的计算,我们主要通过波形在前半个周期与后半个周期的斜率不同来计算输出。在前半个周期曲线的斜率为+2,而在后半个周期曲线斜率为一2。(3)锯齿波锯齿波的波形是一条斜线,在满刻度内该斜线的斜率不变。且曲线的斜率为+1。相关程序如下:switch(outputwaveform){case-SINE:templ一*(table:一ptr+(phase-一acc>>8));break:case-SQtJARE:if((phase!一acc&0x8000)一一O){templ—32767:}else·{templ一一32’768:break:caseTRIANGLE:if((phase:一acc&Ox8000)一一O){templ一(phaseacc<<1)一32768;}elseftempl一一(phase!一acc《1)+32767;}break:caseSAW:templ一phas~!acc一32768:break:cas(10FF:temlcll一一32768:break:default:while-(1);5误差矫正5.1相位错误图1所示为一个周期的正弦函数波形图。查找表包含这个波形的65535个采样值去近似形成一个真正的正弦函数。当然,查找表也能够模拟其他类型的函数波形。如果事先在程序指令中设定输出波形为正弦波形,计数器1的中断处理程序会用相位累加器中的第8位数据作为查找索引,完成对查找表的查找任务并获得输出的数据。第8位数据的丢失会导致一个错误,该错误被解释成瞬时相位错误或者是在波形振幅上的一个微小错误。频率分辨率是由16位累加器决定,其值不会被数据的丢失所影响,因为错误在采样前就已经被发现,不会延续到采样时刻。5.2幅值错误幅值错误主要是由两个因素引起,较低的幅值分辨力及相位分辨力。由于DAC输入为12位数据,因此由低幅值分辨力引起的错误能够通过存储16位数据到查找表被避免。而由低相位分辨力引起的幅值错误只能够通过增加查找表中的数据被更正。增加查找表中的数据将会通过减少相位错误来稳定瞬时频率,而其付出的代价就是扩大了程序代码的体积。6结语使用C8051F系列单片机,采用DDS直接频率合成技术与波形算法相结合实现的信号发生器,其电路简单,所需外围电路少,可节省功耗、降低成本。并且产生的波形质量好,频率稳定度高,可方便获得正弦波、方波、三角波,锯齿波等信号,但由于c8051F系统时钟频率的限制,该信号发生器只能用于低频场合。适合于实验室或对频率要求较低的场合。参考文献[1]胡大可.MSF’430系列超低功耗16位单片机原理与应用[M].北京:北京航空航天大学出版社,2000.[2]邹托武,周建中,赵炳.基于DsP的直接数字频率合成器的研究和实现[J].电测与仪表,2005,42(10):24~26.[3]王胜勇,韩月秋,陈禾.基于DDs的固定频率正弦信号发生器的改进[J].现代电子技术,2006,29(4):11—12,18.[4]林建英,王涛,王晓迪.基于DDs技术波形发生器的实验教学研究与实施[J].实验科学与技术,2006,4(1):75—78.[5]张福贵,姚振东.基于DDs的高性能信号发生器的实现[J].成都信息工程学院学报,2006,21(1):12—17.[6]栾宝宽,方蕾,冯永浩.基于DDs的信号发生器的设计与实现[J].电子工程师,2005,31(10):38—39.作者简介蒋宏男,1974年出生,湖南南县人,硕士。主要研究对象为电气系统及其自动化。赵志宏女,1977年出生,辽宁沈阳人,硕士。主要研究对象为电路与系统。Q郭志男,1977年出生,辽宁铁岭人,博士。主要研究对象为信息作战。
阅读此文(图):
点击此处在线翻阅