单相逆变电源软件设计 |
您所在的位置:网站首页 › 逆变程序 › 单相逆变电源软件设计 |
单相逆变电源软件设计
文章目录
单相逆变电源软件设计一、题目要求1.题目2.系统总体框图
二、控制核心及环境配置1.CCS环境配置2.Quartus环境配置
三、软件核心功能1.产生SPWM波2.PID算法调控输出电压3.顶层设计
四、其他1.FPGA生成固化文件2.其他代码
总结
一、题目要求
1.题目
tiva系列单片机:TM4C123GH6PM Cyclone IVE 系列FPGA:EP4CE6E22C8 IDE:Code Composer Studio 以及 Quartus 17.0 1.CCS环境配置Code Composer Studio配置: Quartus 17.0配置: 方案一:单极性调制 产生正弦查找表的代码如下: ADDR_WIDTH=12; DATA_WIDTH=16; depth=2^ADDR_WIDTH; x=ceil(((2^DATA_WIDTH/2-1)*sin(0:pi*2/depth:2*pi)+2^DATA_WIDTH/2)); fid=fopen('sinrom1.mif','w'); fprintf(fid,'width=%d;\n',DATA_WIDTH); fprintf(fid,'depth=%d;\n',depth); fprintf(fid,'address_radix=uns;\n'); fprintf(fid,'data_radix=uns;\n'); fprintf(fid,'Content Begin\n'); for(k=1:depth) fprintf(fid,'%d:%d;\n',k-1,x(k)); end fprintf(fid,'end;');产生三角波查找表的代码如下: ADDR_WIDTH=12; DATA_WIDTH=16; depth=2^ADDR_WIDTH; x=ceil(2*(2^DATA_WIDTH/2-1)*sawtooth(0:pi*2/depth:2*pi)+2^DATA_WIDTH - 1); y=ceil(-2*(2^DATA_WIDTH/2-1)*sawtooth(0:pi*2/depth:2*pi)+2^DATA_WIDTH - 1); fid=fopen('trirom1.mif','w'); fprintf(fid,'width=%d;\n',DATA_WIDTH); fprintf(fid,'depth=%d;\n',depth); fprintf(fid,'address_radix=uns;\n'); fprintf(fid,'data_radix=uns;\n'); fprintf(fid,'Content Begin\n'); for(k=1:depth/2) fprintf(fid,'%d:%d;\n',k-1,x(k)); end for(j=depth/2+1:depth) fprintf(fid,'%d:%d;\n',j-1,y(j)); end fprintf(fid,'end;');然后在Quartus中利用IP核生成rom查找表实例。 生成正弦波和三角波后,比较生成互补的SPWM波,注意要设置死区! 生成SPWM波代码如下: always @(posedge clk, negedge rst_n) begin if(!rst_n) begin spwm1_tmp |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |