首 页文档资料下载资料维修视频包年699元
请登录  |  免费注册
当前位置:精通维修下载 > 文档资料 > 家电技术 > 单元电路介绍 > 电源电路
基于FPGA的可编程PWM电路设计
来源:本站整理  作者:佚名  2010-06-20 10:37:22



3 PWM编程

PWM的工作模式由外部引脚与内部控制字寄存器决定。

3.1PWM芯片的工作模式

PWM芯片的工作模式可由PWMh_b来设定:

当其为1时,为全局使能输出,此时为正常工作模式,但各Channel工作模式可取决于其PWMEN位的值;而当PWMh_b为0时,全局禁止输出,此时整个芯片不工作,芯片进入低功耗模式,同时时钟被禁止输入到内部通道模块。

3.2 PWM芯片的控制字寄存器

对于控制字寄存器ControlReg[7:0]:在其地址[A1,A0]=00的情况时,其操作格式如表1所列。

由于控制字寄存器仅有一个,但实际各通道都有一个备份的控制字寄存器来控制对应的通道。因此并不会由于对某通道控制字的操作而影响其它无关的通道。本格式中的各位定义如下:

PWMEN:当芯片全局使能输出时,此位可决定各通道PWM的输出使能,当PWMh_b为1时,各通道的输出正常,为0时,则通道禁止输出;

Channel2Cs:选通Channel2。使能对Channel2模块的操作,并将控制字信息存储到通道2的备份控制字;

ChannellCs:选通Channell。使能对Channell模块的操作,并将控制字信息存储到通道1的备份控制字;

Channel0Cs:选通Channel0。使能对Channel0模块的操作,并将控制字信息存储到通道0的备份控制字;

[B2,B1,B0]:内部寄存器片选译码。每个通道的PWM内部都有8个寄存器地址。通过ChannelX的选通结合[B2,B1,B0]的译码,可产生内部通道Regs的片选信号。

3.3 PWM编程

PWM芯片的引脚排列如图4所示,当其在上电加载时钟后,所有通道都禁止输出。系统通过采样DataWidth来确定外围数据接口的宽度,如果采用16bits传输(DataWidth=1),则Data[15:0]都使用;如果采用8bits传输(DataWidth=0),则仅使用Data[7:0],而将高8bits接地。

复位(Reset_b)结束后,在片选(Cs_b)有效的情况下,可以对芯片进行读写操作。对通道的一次完整的读写包括写控制字与读写通道寄存器两个过程,写控制字选中通道内寄存器,读写通道寄存器则可获取通道寄存器信息,只有当合理的数据写入后,且在PWMH-_b有效(PWMH_b=1)时,PWM内部通道才使能输出信号。一般情况下,各通道的输出使能由各通道的控制字寄存器的PWM_EN位决定。

采用控制字自动备份的方式可使控制字的编程更加灵活。它既可以使同一个类型的寄存器(不同通道)一起写控制字,亦可对同一个通道一块操作。但是所有控制字命令都可以在PWM的控制字命令列表中查询。

4 PWM的仿真及验证

PWM的仿真是PWM功能验证的必要环节。可以Modelsim结合脚本文件进行仿真,并采用89C51结合FPGA验证板对整个设计进行验证。

上一页  [1] [2] [3] [4]  下一页

关键词:

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分)
Copyright © 2007-2017 down.gzweix.Com. All Rights Reserved .
页面执行时间:143,742.20000 毫秒