发明名称 基于定时器产生死区可调的PWM控制信号系统
摘要 本发明公开了一种基于定时器产生死区可调的PWM控制信号系统,通过定时器将溢出中断进程和两个比较寄存器连接起来,使PWM控制信号灵活设置死区时间。同时,按系统需要实际配置比较寄存器个数,并且在设置比较寄存器的数值时,可以根据定时器的计数区间值灵活改变,从而改变死区的大小,具有高灵活性、扩展性和精确性,同时降低了成本。
申请公布号 CN103873035B 申请公布日期 2016.11.02
申请号 CN201410083568.4 申请日期 2014.03.07
申请人 电子科技大学 发明人 王旭;张德源
分类号 H03K7/10(2006.01)I 主分类号 H03K7/10(2006.01)I
代理机构 成都行之专利代理事务所(普通合伙) 51220 代理人 温利平
主权项 一种基于定时器产生死区可调的PWM控制信号系统,其特征在于,包括:连接溢出中断进程和比较寄存器COM1A与COM1B的一个定时器;比较寄存器COM1A对应的输出引脚为OC1A,比较寄存器COM1B对应的输出引脚为OC1B;定时器设置为循环计数方式,其计数区间设置为0x00‑TOP;比较寄存器COM1A和COM1B中的数值设置为OCR1A和OCR1B,且OCR1A=OCR1B;系统启动时,首先开启定时器和比较寄存器COM1A,同时关闭比较寄存器COM1B;定时器开启后并计数,当定时器的计数值与比较寄存器COM1A中的数值OCR1A相等时,记录下当前时间T1,同时比较寄存器COM1A对应的输出引脚OC1A以高电平输出PWM控制信号,而比较寄存器COM1B对应的输出引脚OC1B以低电平输出PWM控制信号;当定时器的计数值到达计数区间的TOP值时,记录下当前时间T2,定时器触发溢出中断进程,溢出中断进程再发送关闭指令将比较寄存器COM1A关闭,输出引脚OC1A并以低电平输出PWM控制信号,溢出中断进程发送开启指令将比较寄存器COM1B开启,输出引脚OC1B以低电平输出PWM控制信号,溢出中断进程并发送清0指令给定时器,定时器将计数清0并进入下一循环周期;当定时器的计数值与比较寄存器COM1B中的数值OCR1B相等时,记录下当前时间T3,同时比较寄存器COM1B对应的输出引脚OC1B以高电平输出PWM控制信号,而比较寄存器COM1A对应的输出引脚OC1A以低电平输出PWM控制信号;当定时器的计数值到达计数区间的TOP值时,记录下当前时间T4,定时器触发溢出中断进程,溢出中断进程再发送关闭指令将比较寄存器COM1B关闭,输出引脚OC1B并以低电平输出PWM控制信号,溢出中断进程发送开启指令将比较寄存器COM1A开启,输出引脚OC1A以低电平输出PWM控制信号,溢出中断进程并发送清0指令给定时器,定时器将计数清0并进入下一循环周期;记录下时间T2到时间T3的区域S,S即为死区可调区域,通过修改比较寄存器中的数值OCR1A和OCR1B来改变死区的大小;其中,所述的定时器计数区间的TOP值确定方法为:TOP的计算公式为:<maths num="0001"><math><![CDATA[<mrow><msub><mi>f</mi><mrow><mi>O</mi><mi>C</mi><mi>n</mi><mi>x</mi><mi>P</mi><mi>W</mi><mi>M</mi></mrow></msub><mo>=</mo><mfrac><msub><mi>f</mi><mrow><mi>c</mi><mi>l</mi><mi>k</mi><mo>_</mo><mi>I</mi><mo>/</mo><mi>O</mi></mrow></msub><mrow><mi>N</mi><mo>&CenterDot;</mo><mrow><mo>(</mo><mn>1</mn><mo>+</mo><mi>T</mi><mi>O</mi><mi>P</mi><mo>)</mo></mrow></mrow></mfrac></mrow>]]></math><img file="FDA0000983024150000021.GIF" wi="486" he="135" /></maths>其中f<sub>clk_I/O</sub>表示系统的工作频率,f<sub>OCnxPWM</sub>表示PWM控制信号的频率,N为系统时钟的分频系数。
地址 611731 四川省成都市高新区(西区)西源大道2006号