1. 选择适合的 DSP 芯片和开发板,如 TMS320F28335。
2. 根据具体需求编写 PWM 模块的程序。
3. 确定死区时间的控制方法。可以使用固定的时间,也可以通过 ADC 模块读取外部电压来动态调整死兆前区时间。
4. 在程序中加入死区时间的计算和设置模块。
5. 配置 PWM 模块输出的周期、占空比和相位差。
6. 调试程序并验证输出波形的正确性。
具体实现方式需根据所选的 DSP 芯片和开贺敬发环境进行调整,建议参考相关资禅猜慎料或进行实验验证。
死区主要是针对IGBT开关管来说的,理想情况下,逆变器的单桥臂的IGBT总是互补地导通和关断。但由于IGBT在关断过程中,存在拖尾效应,故关断时间比开通时间相对较长。若在关断过程中,手差同一桥臂上地IGBT立即导通,则必然导致直流母线电压直通而损害IGBT。这在高频开关电路显更为显著,因此,在实际应用中,使同一桥衫薯嫌臂的上下IGBT的导通和关断错开一定的时间,即死区时间,以保证同一桥臂的上下IGBT总是先关断后导通。注入死区时间地方法有多种,如对称式,混合式、延时导通以及提前导通或手补偿等。但最简单的实现方法是延时导通。硬件上可采取一个RC延时和一个或门来实现;软件则可直接调用延时程序来实现;对于2000系列DSP来说,可直接设置死区时间。
module d_asyn(clk,clr,d,q)//模块输入输出口,共四个信号,每个都是1bit的input clk,clr,d //这些是作为输入
output q//这些是作为输出
reg q//q在作为寄存器类的输出,就是说可以用<= 箭头赋悔凳值(见下面)
always @(posedge clr) //posedge:上升沿。就是说在clr信号的上升沿的时候都会触发这个旅物 *** 作
begin //可拆前液以忽略,就是多条语句在一块的时候要用
q<=0 //清0
end
always @(necedge clk) //negedge:下降沿,你肯定拼错了 ,在clk下降沿的时候触发
begin
#10 q<=d //延迟10个单位,这个在#timescale那里定义,这个只在仿真的时候有用,在器件上的时候不能这样做延迟
end
endmodule
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)