利用单片机使用MSP430F149设计正弦波发生器解析方案
3.2 产生PWM的Timer_B中断程序
改变正弦的频率需要改变脉宽信号输出的频率,有3种不同的方法:(1)可改变精度,进一步改变正弦表的大小,增大或减小输出一个正弦波的周期;(2)可改变主频,来延长指令的执行时间,进而延长周期;(3)利用中断处理延时读取正弦表的方法来控制输出的频率。3种方法均十分简便,只需改变几个参数即可。这里采用的是最后一种方法。
程序如下:
TB_ISR inc R11 ;R11,R12用于改变产生正弦
;波的频率,延迟读取正弦表
cmpR11,R12
Jne RT
Incd R15 ;增加指针R15,指向正弦表
;的下一个正弦值
and #Number,R15;Number=正弦表大小×2
mov Sine_Tab(R15),TBCCR1
;Sine_Tab为正弦表指针,TBCCR1
RT reti ;移入新值
4 以MSP430F149为核心的振动分析仪的生理滤波器的自校系统
由于MSP430F149提供了强大功能,可以用来开发便携式振动分析仪。超低频波形发生器正是在MSP430F149基础上开发的,结构简单,能够对振动分析仪的生理滤波电路进行校验,完成了仪器的自校验功能。
使用MSP430F149设计正弦波发生器,利用了该单片机所提供的特殊功能,便得电路简单,调节方便,而且精度可控。通过验证可以产生不同频率、失真很小的波形,可以作为模拟电路的输入源对其标定。除此之外还可以进一步利用该单片机产生谐波信号、直流信号等,应用到更加广阔的领域。
在载人运输系统振动分析仪中常用超低频波形发生器作为仿真的信号源。要求在0.1Hz~100Hz范围内稳定工作,波形失真小,且能以0.1Hz为步长细调。传统超低频波形发生器设计中存在着很多的不足:(1)应用通用电路,元器件多,尤其是电容的体积大,且波形的稳定性差、失真大,调节上极不方便;(2)应用专用电路,如ICL8038、MAX038,其失真和稳定性方面有明显提高,但在超低频应用上仍不合适。而且电路调节器件多,对电源的要求较高,代价较大。鉴于目前开发的振动分析仪常采用微控制器,利用其富余的软硬件资源,建立调节方便、高精度的超低频波形发生器,极有推广价值。
评论