基于FPGA的可编程PWM电路设计

[09-08 10:25:45]   来源:http://www.88dzw.com  电源电路   阅读:8812

文章摘要:0 引言某系统中的H桥驱动电路需要采用2路脉冲宽度调制器(Pulse Width Modulation,PWM)信号来驱动一个电机,以控制其正、反两个方向的运转,且两路信号必须有一定的时间间隔来避免驱动电流过大而损害驱动元件。为使其能灵活应用,针对系统要求,本设计的PWM控制器应具备以下功能:(1)有3路独立PWM输出,每路输出2个驱动信号,而且其周期、占空比、死区时间应可编程;(2)对应10 MHz系统时钟,周期为1μs~6.5536 ms;(3)应用精简地址线,以节省外围引脚及地址资源的占用;(4)能提供与8/16 bits单片机的双向数据接口,并具有内置的地址/数据锁存器(74lS373

基于FPGA的可编程PWM电路设计,标签:电源电路,电路设计,http://www.88dzw.com

0 引言

某系统中的H桥驱动电路需要采用2路脉冲宽度调制器(Pulse Width Modulation,PWM)信号来驱动一个电机,以控制其正、反两个方向的运转,且两路信号必须有一定的时间间隔来避免驱动电流过大而损害驱动元件。为使其能灵活应用,针对系统要求,本设计的PWM控制器应具备以下功能:

(1)有3路独立PWM输出,每路输出2个驱动信号,而且其周期、占空比、死区时间应可编程;

(2)对应10 MHz系统时钟,周期为1μs~6.5536 ms;

(3)应用精简地址线,以节省外围引脚及地址资源的占用;

(4)能提供与8/16 bits单片机的双向数据接口,并具有内置的地址/数据锁存器(74lS373)。

1 PWM电路的结构规划

在采用自顶向下(Top_Down)正向设计PWM器件的过程中,芯片的结构划分和规格定制是整个设计的重要环节,因此合理的结构设计将决定整个设计的成败。

PWM输出信号的周期、脉宽、死区时间等参数可以通过加载内部的寄存器来实现,写人PWM芯片的数据分为数据字与控制字两部分。由内部控制逻辑(ControlLogie)模块来处理控制字信息,并译码产生各内部通道的内部信息寄存器片选信号。数据字则通过内部数据总线在各通道模块来传递PWM的特征信息数据。

PWM芯片内部各模块可通过内部片选结合读写使能来完成数据交换。芯片与外围控制器进行数据交换时,可采用双模式接口(8/16 bits),并可通过外置选择引脚DataWidth来选配。

本芯片的核心是由3个完全独立且相同的通道模块(Channel)构成。通道内部的数据接口用于完成外部读写逻辑(RWLogic)传输到内部数据总线的数据收发工作。PWM周期生成模块(ClkGen)则可依据写入的周期信息,输出PWM的周期控制信号。

PWM输出由通道状态机完成,当通道接收到PWM信息数据后,先进行数据校验,合格的数据将在合适的条件下启动状态机,并在不同的状态下完成PWM输出。而不合格的数据则被忽略。

地址/数据锁存依据通用74LS373的逻辑功能,可以通过编写一个完全可替代的L74LS373来实现。

根据上述总体的构建思路,最终给出的芯片总体结构如图l所示。

2 PWM电路的结构设计

从图1所示的PWM电路总体结构可以看出,该PWM电路主要由模块片选译码、控制逻辑、读写逻辑、通道等四个模块组成。

www.88dzw.com

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的片选信号。

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


Tag:电源电路电源电路,电路设计家电维修 - 单元电路介绍 - 电源电路