

)中以决定载波频率即开关频率。PWM波的实时脉宽计算是由中断程序完成的,每次PWMMC模块中的PCTN(H
)计数器计数到PMOD(H
)中的值时就引起中断。预先将0~360°的正弦值制成表格存于FLASH某一区域中,每次中断时从中取一正弦值,经过一定计算后得一数值,将其送入PVALX(H
)寄存器中,单片机将PVALX(H
)中的值与PMOD(H
)中的值比较后自动生成SPWM信号并由PWM引脚发出。为了防止同一桥臂两个管子同时导通的现象发生,在无信号发生器DEADTIME中的寄存器DEADTM中写入一数值以确定死区时间。本系统设计死区时间为2.5μs,载波频率为10kHz,制成包括200个放大的正弦值的正弦表。PWMMC模块还有4路故障保护端口FAULT1~FAULT4,当端口为高电平时,PWMMC就能根据初始化设定来封锁相应的PWM输出,本系统中的过流保护正是利用了这个功能,当发生过电流时,就置位FAULT1端口从而封锁全部六路PWM端口。本系统使PWMMC工作在中心对齐模式,在PWM时钟频率为8MHz下其载波周期计算公式为
)×(1/8M)×2
)=$0190(注:$为MR16中十六进制符号) 

)值的计算,从而改变了占空比也即调节了输出电压。按照SPWM的规则2采样的方法,结合初始化中对PWMMC的设定得脉宽的实时计算公式为
)=PMOD(H:L)/2+M×SIN(PTR) 

| 欢迎光临 DIY编程器网 (http://diybcq.com/) | Powered by Discuz! X3.2 |