芯片资讯
你的位置:芯片交易网IC交易网-亿配芯城 > 芯片资讯 > 基于FPGA的SPWM调制实现过程
基于FPGA的SPWM调制实现过程
- 发布日期:2024-01-03 06:31 点击次数:186
SPWM(Sinusoidal Pulse Width Modulation),即正弦脉宽调制,它以频率与期望的输出电压波相同的正弦波作为调制波,以频率比期望波高得多的等腰三角波作为载波,当调制波与载波相交时,由它们的交点确定逆变器开关器件的通断时刻, EEPROM带电可擦可编程存储器芯片大全从而获得幅值相等、宽度按正弦规律变化的脉冲序列。双极性控制的PWM方式如图1所示。
图1 双极性控制的PWM方式
接下来介绍FPGA的实现过程,CMOS图像传感器集成电路芯片首先用Quartus II软件、波形生成工具或者matlab等生成一定频率的正弦波和等腰三角波的mif格式的文件, 芯片交易网IC交易网如图2所示。
图2 生成的mif文件
建立工程, ATMEGA系列ATMEL芯片COM芯片交易网IC交易网并使用两个单端口rom的ip核, 电子元器件PDF资料大全分别存放正弦波和三角波的mif文件的数据,如图3所示。
图3 配置rom的ip核
编写设计文件和仿真文件,并包含到工程中,同时设置仿真参数。设计文件的核心语句如下:
//cnt_sine:正弦波rom对应地址 always @ (posedge sys_clk or negedge sys_rst_n) begin if(!sys_rst_n) cnt_sine11'd0; else if(cnt_sine==CNT_SINE_MAX) cnt_sine11'd0; else cnt_sine1'b1; end //cnt_triangle:三角波rom存放地址 always @ (posedge sys_clk or negedge sys_rst_n) begin if(!sys_rst_n) cnt_triangle8'd0; else if(cnt_triangle==CNT_TRIANGLE_MAX) cnt_triangle8'd0; else cnt_triangle1'b1; end //生成PWM信号 assign pwm_0=(q_sine > q_triangle) ? 1'b1 : 1'b0; assign pwm_1=~pwm_0; assign pwm_2=pwm_0; assign pwm_3=pwm_1;
接下来对工程进行编译,编译通过后启动功能仿真。在modelsim进行一些基本的配置后,生成的仿真波形如图4所示,验证通过。
图4 仿真波形
相关资讯
- 基于C51单片机的通信测试仪器设计2024-11-22
- 基于FPGA器件和DSP系统实现自适应回波抵消器的设计2024-11-06
- 基于CAN总线和CAN8423控制器实现切水器的开发和应用2024-11-02
- 电路模拟是FPGA的经典流行用例2024-10-25
- 基于FPGA芯片XC4005E-4IPQ100实现频信号发送系统的方案设计2024-09-24
- 基于DSP器件TMS320F2812实现同步采样模块的方案设计2024-09-18