网站大量收购独家精品文档,联系QQ:2885784924

应用MSP430 的Timer_B 在比拟形式下输进的脉宽调制(PWM)1.doc

应用MSP430 的Timer_B 在比拟形式下输进的脉宽调制(PWM)1.doc

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
应用MSP430 的Timer_B 在比拟形式下输进的脉宽调制(PWM)1

利用MSP430 的Timer_B 在比较模式下输出的脉宽调制(PWM) 1 基本原理 PWM 信号是一种具有固定周期T 不定占空比 的数字信号如图1 所示如果PWM 信号的占空比随时间变化那么通过滤波之后的输出信号将是幅度变化的模拟信号因此通过控制PWM 信号的占空比就可以产生不同的模拟信号在MSP430F449 中就是采用CCR0 来控制周期T 而用与定时器对应的CCRx 寄存器来控制可变占空比进而实现D/A 转换. 2 分辨率 基于Timer_B PWM 的DAC 分辨率就等于计数器的长度通常是CCR0 寄存器的值PWM DAC的最低有效位是一个计数值分辨率是总的计数值Rcounts = Lcounts其中Rcounts 是以计数值为单位的分辨率Lcounts是计数器的总计数值例如对8-bitDAC 计数器的长度为8 bits 或者256 个计数值那么分辨率也就是8 bits或者256更一般的情况下基于PWM 定时器和滤波器的PWM DAC 的分辨率等于产生模拟信号的PWM 信号的分辨率PWM 信号的分辨率决定于计数器的长度和PWM 计数器能够实现的最小占空比用数学表达式如下Rcounts =其中 = Lcounts C 是最小占空比比特分辨率用下式计算如果 PWM 计数器的长度为512 个计数值最小的占空比为2 个计数值那么PWMDAC 的分辨率就为或者以比特表示. 3 系统频率 PWM 信号需要的输出频率等于DAC 的更新频率因为PWM 信号占空比的每一次变化等效于一次DAC 抽样PWM 定时器所需的频率取决于PWM 信号频率和所需的分辨率如下所示图1 PWM 信号示意图在这儿是所需的PWM 定时器频率是PWM 信号的频率也就是DAC的更新频率n 是所需的比特分辨率下文即将描述怎样采用8-bit PWM DAC来同步产生一个200Hz 的正弦波由抽样定理可得最低的抽样频率应该为400Hz 但是通常情况下PWM 信号的频率要远高于Nyquist 抽样速率这是因为PWM 信号的频率越高对滤波器的阶数就要求越低合适的滤波器越容易实现通常抽样速率取Nyquist 速率的16 或者32 倍. 4. 所需的MSP430 资源 文中的例子是用MSP430F449 的Timer_B 再加外部滤波器来产生一个200Hz 的正弦波和一个0.5VCC 的直流电平的将Timer_B 配置为16-bit up 模式在这种模式下计数器计数CCR0 然后复位从0 开始重新计数给CCR0 赋值255 也就意味着计数器的长度为8bits CCR1 和TB1 用于产生正弦波CCR2 和TB2 用于产生直流电平输出模式都选为模式7 即PWM 复位/置位模式如图2 所示在这种模式下复位后每一个定时器的输出都为高电平直到计数器达到各自的CCRx 值时变为低电平当计数器达到CCR0 时再置位也就是说CCRx 的值决定了各自正脉冲的宽带若CCRx 的值是变化的就可以产生可变宽度的脉冲下文中的正弦波就是用这种办法产生的若不变则产生的是固定宽度的脉冲下文中的直流电平就是这样产生的最后SMCLK 用作Timer_B 的时钟源系统采用32768Hz 的钟表晶振通过采用内部硬件锁频环FLL frequency-locked-loop来校准DCO Digital Control Oscillator 频率为系统提供MCLK/SMCLK 时钟图 2 输出模式7 PWM 复位/置位示意图. 5. 实现电路 用Timer_B PWM 实现DAC 外围电路比较简单如图3 所示实际上外围电路就是晶振电路和RC 低通滤波器图3 MSP430F449 实现D/A 电路图. 6 .正弦信号的产生 在这个例子中一个正弦波用32 个抽样值生成正弦波的频率为200Hz 所以每秒要抽样20032=6400 次也就是说=6.4KHz 每完成一次抽样要计数28 所以所需的时钟频率为抽样值包含在程序开始的一个正弦表中通过调用中断函数在每个PWM 周期结束时将新的正弦波抽样值载入捕获/比较寄存器CCR1 中因此产生的PWM 信号的脉冲宽度就决定了正弦波在每一个时刻的抽样值将这个PWM 信号经过低通滤波即得所需的正弦波. 7.直流电平的产生 直流电平产生比较简单因为它对应的PWM 占空比是一定的直流电平直接正比于PWM 信号的占空比要产生0.5VCC 的直流电平PWM 的占空比显然是50% 考虑到损耗实际应大些只需要简单地将CCR2 的值设置为128 并且无须变化就可以得到50%占空比的PWM 信号将得到的PWM 信号通过RC 网络进行低通滤波即可得到0.5VCC 的直流电平. 8.滤波器设计 对两路输出都采用了结构简单的RC 滤波器如图3 所示之所以采用这种结构一是因为RC 滤波器结构简单二是为了实现低

文档评论(0)

f8r9t5c + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8000054077000003

1亿VIP精品文档

相关文档