扫一扫,分享给好友
由于今天连续多次无法发布该文章,心态真的是崩了,由于基础的PWM比较简单,此次先给大家展示个半成品,完整状态对应的PWM频率、占空比均可调节,对应的模块结构图如下:
对应的基本code如下:
module creat_PWM ( input wire clk, //系统时钟为50MHz input wire rst, input wire key_flag1, input wire key_flag2, output reg PWM ); parameter Frequency_CNT_MAX = 16'd49_999; //输出PWM为1KHz,1ms=5000*20ns //PWM频率生成计数器模块 reg [15:0] couter; always @(posedge clk or negedge rst) if( rst == 1'b0 ) couter <= 0; else if( couter == Frequency_CNT_MAX ) couter <= 0; else couter <= couter + 1'b1; //占空比调节模块 reg [15:0] duty_counter; always @(posedge clk or negedge rst) if( rst == 1'b0 ) duty_counter <= 16'd24_999; else if( key_flag1 == 1'b1 ) duty_counter <= duty_counter + 16'd49; else if( key_flag2 == 1'b1 ) duty_counter <= duty_counter - 16'd49; else duty_counter <= duty_counter; //生成PWM always @(posedge clk or negedge rst) if( rst == 1'b0 ) PWM <= 1'b0; else if( duty_counter <= Frequency_CNT_MAX ) PWM <= 1'b1; else PWM <= 1'b0; endmodule
由于是第一次在电子发烧友上发文章,体验感觉真的不太友好,希望能够把文章的自动保存功能给加上,否则没有备份真的让人不开心
发布
FPGA入门PWM模块fpga
【有奖提问】关于盘古1K2K开发板你有什么想知道的?一起来留言获取答案吧!
盘古22K开发板
盘古200 pro开发板
盘古50 pro开发板
盘古50K开发板
盘古100 pro开发板
FPGA在图像处理领域的优势有哪些?
紫光同创——PLL IP 的使用(Logos2)
谈一谈FPGA设计中的功率计算
硬件工程师的开发心得
电子发烧友网
电子发烧友论坛