PWM(脉冲宽度调制)原理与实现_第1页
PWM(脉冲宽度调制)原理与实现_第2页
PWM(脉冲宽度调制)原理与实现_第3页
PWM(脉冲宽度调制)原理与实现_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、PWM(脉冲宽度调制)原理与实现1、 PWM 原理2、调制器设计思想3、具体实现设计一、PWM(脉冲宽度调制 PulseWidthModulation)原理:脉冲宽度调制波通常由一列占空比不同的矩形脉冲构成,其占空比与信号的瞬时采样值成比仞图 1 所示为脉冲宽度调制系统的原理框图和波形图。该系统有一个比较器和一个周期为 Ts的锯齿波发生器组成。语音信号如果大于锯齿波信号,比较器输出正常数 A,否则输出 0。因此,从图 1 中可以看出,比较器输出一列下降沿调制的脉冲宽度调制波。-innnn悦悦1脉冲宽度调制过程脉冲宽度调制过程谒制爆腿图谒制爆腿图1卜)卜)典制的波形图典制的波形图通过图 1b 的

2、分析可以看出,生成的矩形脉冲的宽度取决于脉冲下降沿时刻 tk 时的语音信号幅度值。因而,采样值之间的时间间隔是非均匀的。在系统的输入端插入一个采样保持电路可以得到均匀的采样彳 t 号,但是对于实际中 tk-kTs三、8051 中的 PWM 模块设计:应该称为一个适合语音处理的 PWM 模块,输出引脚应该外接一积分电路。输出波形的方式适合作语音处理。设计精度为 8 位。PWM 模块应包括:1、 比较部分(Comp):2、 计数部分(Counter):3、状态及控制信号寄存/控制器(PWM_Ctrl);1) 状态积寄存器:(Flags),地址:E8H;EN:PWM 模块启动位,置位为,1?各使 P

3、WM 模块开始工作;(留空备用)解调速率标志位:00-无分频;01-2 分频;10-10 分频;11-16 分频。(RESET 后为 00)(留空备用)(留空备用)(留空备用)(留空备用)注意:该寄存器可以位操作情况下可写,不可读;只能在字节操作方式下读取。2) 数据寄存器(DataStore),地址:F8H;注意:该寄存器值不可读,只可写。4、端口:1) 数据总线(DataBus);(双向)2) 地址总线(AddrBus);(IN)3) PWM 波输出端口(PWMOut);(OUT)4)控制线:CLK:时钟;(IN)Reset:异步复位信号;(IN 低电平有效)3WR:写 PWMRAM 信号

4、;(IN 低电平有效);4RD:读 PWMRAM 信号;(IN 低电平有效)DONE:接受完毕反馈信号;(OUT 高电平有效)INT:中断申请信号;(OUT 低电平有效)IntResp:中断响应信号;(In 低电平有效)ByteBit:字节/位操作控制信号(IN1-BYTE0-BIT);中断占用相当于 MCU8051 的外部中断 2,则可保证在 5 个指令周期之内,读取数据”中断必定得到响应。PWM 模块使用方法:因为占用了 8051 外部中断 1,所以在不使用该模块时,应该把外部中断 2 屏蔽。而 PWM 模块产生的中断请求可以看作是能接受数据”的信号。中断方法如后中断读取数据过程”。使用

5、PWM 模块,应该先对内部地址 8FH 的数据寄存器写入数据,然后设置地址 8EH 的状态寄存器最低位(0)为,1?,即 PWM 模块开始工彳并输出 PWM 调制波(如 TIMER 模块)。在输出 PWM 调制波过程中,应及时对 PWM 写入下一个调制数据,保证 PWM 连续工作,输出波形连续。(待改进)中断读取数据过程:1.PWM 模块可以读取数据,申请中断信号 INT 置位为,0?,等待 8051 响应;2.8051 接受到中断申请后,作出中断响应,置位 IntResp 信号线为,0?3.PWM 模块 U到 IntResp 信号后,把中断申请信号 INT 复位为,1?,等待 8051 通知

6、读取数据WR 信号;4.8051 取出要求数据放于数据总线(DataBus)上,并置 WR 信号为,0?5.PWM 模块发现 WR 信号为,0?,由数据总线(DataBus)上读取数据到内部数据寄存器,将DONE 位置位为,1?6.8051 发现 DONE 信号的上跳变为,1?,释放数据总线;7.PWM 模块完成当前输出周期, 复位 DONE 为,0?,从此当前数据寄存器可以再次接受数据输入。注意事项:1)输出的 PWM 信号中的高电平部分必须处于一个输出周期的中间,不能偏离,否则输出语音经过低通后必定是一失真严重的结果。2)对于 8 位精度的 PWM,每个输出周期占用 256(28)个机器周

7、期,但是包含 256 个机器周期至少有22 个指令周期,亦即 264(22*12)个机器周期,由于语音信号的连续性,256 与 264 之间相差的 8 个机器周期是不能由之丢空的,否则也会使输出信号失真。如果将须输出数字量按 256/264 的比例放大输出,亦不可行,因为如此非整数比例放大,放大倍数很小,则经过再量化后小数部分亦会被忽略掉,产生失真。举例:输出数字量为 16,按比例放大后为 16.5,更会产生难以取舍的问题。故采取以下办法:该模块以时钟周期为标准,而与 TMBus 无关,即基本上与 8051 部分异步工作。读取数据方式为每次读取足够数据段储存于模块内的 RAM 内(暂定每次读取 8 字节),储存字节数必须能保证 PWM 输出该段数据过程中,有足够时间从 RAM 处继续读取数据。由于占用了 8051 的外部中断 2,中断申请在 3 个指令周期(36 个时钟周期)内必定能得到响应,而 PWM 模块处理一个数据需要固定耗时

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论