Menu Close

RISC-V PWM中断设计与应用(1)PWM简介和设计

1.PWM 简介

 

相关参考文章:

RISC-V教学教案

 

PWM(pulse-width modulation),脉冲宽度调制是一种将电信号切割成离散部分来有效降低电信号传递的平均功率的方法。简单来说,PWM通过控制开关闭合相对于开关打开的时间,来控制电压和电流的平均值。PWM的周期(period)指生产一个全波所需的时间。占空比(duty cycle)描述了“接通”时间与周期的比例, 100%为一直接通,50%为一半时间接通,一半时间关闭(见图1所示数字信号在不同的占空比下的波形)。

IMG_256

 

图1 数字信号在不同占空比下的波形

 

PWM的应用十分广泛,因为可以控制开关,设置相应的占空比,它可以用来作升压转换器(boost converter)的调制,将低电压转换为高电压;或是作为逆变电路(inverter circuit)的调制,将直流电压转换为交流电压。实际上,许多数位控件都常常与之配合使用。PWM也用于某些通信系统,在这些系统中,占空比通过通信信道传递消息。

 

 

2.PWM设计

  • PWM可以通过设定生成近似定时器的精准中断,该中断产生后,同样由PLIC进行处理。
  • 每个生成的PWM波形都由32位宽的寄存器描述,包括周期,占空比等。
  • PWM可连接到GPIO输出管脚上生成不同的波形图。
  • 整数寄存器Period Duty Cycle (PWM时钟周期占空率寄存器)和Period (PWM时钟周期寄存器)配合使用,表示真实的占空比, Duty Cycle = (Period Duty Cycle/ Period)X 100%

图3以周期=8(4’b1000)来示例:

IMG_257

 

图2 时钟周期寄存器和时钟周期占空率寄存器

IMG_258

 

图3 配置占空率寄存器

  • PWM控制寄存器是对PWM的全局使能,打开后开始产生波形,如图4所示。

IMG_259

 

图4 PWM控制寄存器

 

  • PWM计数寄存器表示PWM持续多少个周期。例如,计数寄存器等于0x8000,当产生过0x8000个全波后,PWM停止工作。特殊情况是,当计数器为0,使能立起来后,PWM一直产生波形。pwm计数寄存器的定义如图5所示。

IMG_260

 

图5 PWM计数寄存器

 

  • 中断使能(interrupt enable),中断屏蔽(interrupt mask)和中断清除(interrupt clear)协同处理中断,如图6所示。

IMG_261

IMG_262

 

 

图6 PWM中断相关寄存器

 

  • PWM寄存器所在的地址区间如图7所示。

 

 

IMG_263

IMG_264

图7 PWM寄存器所在的地址区间

 

 

3.PWM CPU模块设计(部分)

FII RISC-V V2.02及以后版本的CPU都具有总线结构,所以在完成并验证好PWM的模块功能后,需要将PWM模块连接到总线上,如图8所示,以及需要注意添加PWM的基地址参数,如图9所示。

 

IMG_265

图8 添加总线中PWM的片选

IMG_266

 

图9 添加PWM的基地址参数

 

产生PWM波形的模块示例如图10所示。将PWM模块的产生中断请求送到PLIC模块,如图11所示。

IMG_267

 

图10 PWM模块接口设计

IMG_268

IMG_269

 

 

图11 PWM模块产生的中断请求

 

 

 

Posted in RISC-V, RISC-V, RISC-V 外设, RISC-V 教案, 应用开发, 开发板, 教材与教案, 文章

发表评论

相关链接