在本文中我们通过TI 公司32 bit 控制器TMS320F2812 来实现SPWM 算法。TMS320F2812的波形发生器属于DSP 芯片的外部事件管理模块,占用CPU 的时间很少,可以方便地生成6路带编程死区和输出极性的PWM 波[2]。通过对比较单元的寄存器进行适当的设置可以方便地生成所需的SPWM 波。
TMS320F2812 有两个事件管理器模块(EVA 或EVB),每个EV 都内含2 个通用定时器,三个全比较单元,死区单元及输出逻辑,事实上一个事件管理器模块就可以生成三相六路SPWM 脉冲波形。为了产生PWM 输出,通过设定通用定时器T1(我们使用EVA 中的T1)的周期寄存器T1PR,并选择通用定时器T1 处于连续增/减计数模式,以产生SPWM 算法中的对称三角波载波信号。定时器计数器T1CNT 从0 递增到T1PR,然后再从T1PR 递减到0,循环计数,同时比较寄存器(CMPRx ,x=1、2、3)的值不断地与定时器计数器的值进行比较,当两个值发生匹配后,比较单元的输出信号送入PWM 电路中的对称/非对称波行形发生器,由它产生一路PWM 脉冲信号,再经过死区单元以及输出逻辑后,产生一对具有可编程死区的可以驱动同一桥臂IGBT 的互补信号PWMy,y+1。当两个功率器件串连放在主电路中组成一个桥臂时,上下两个器件绝对不能同时导通,否则会发生短路。因此导通上一桥臂的PWM 须互不重叠,这就要求一个器件导通前,另一个器件要完全关闭,所以需要一个延迟的死区时间。如图2 示,比较单元1、2、3 的对称/非对称波形发生器提供的输入信号PHn(n=1,2,3)作为死区单元的输入,对于每一个输入信号PHn ,死区单元产生两路输出: PHx 和PHx_。如果死区单元未被使能,那这两路输出的信号是完全相同的;当死区单元使能时,两路输出信号的跳变沿被一段死区时间间隔开。
4.DSP 软件设计
整个程序分为主程序和中断子程序两大部分。主程序任务是:初始化启动系统后,扫描键盘输入,更新调制波频率fm,根据调制波频率fm计算载波比N 和定时器T1 周期寄存器的值,由负载压频U/f 曲线计算调制比M,并将N 值,M 值等信息显示液晶显示屏上;除主程序外一共开放了三个中断,分别是:
①定时器T1 中断子程序:完成三个比较寄存器(CMPRx ,x=1、2、3)的计算、赋值,用于更新PWM1~PWM6 的占空比。②定时器T2 周期中断,用于扫描按键,更新调制波频率fm。
③PDPA 中断,用于保护功率模块,一旦PDPA 脚为低便封锁PWM1~PWM6。主程序流程图与中断子程序流程是程序的主要组成部分,详细见图(3)、图(4)。
5.实验波形及结论
通过键盘设定调制波频率,我们设定为25Hz,用数字示波器测量PWM1/CMP1 引脚,所得实验波形如图5 所示。从图中可知,PWM 波形的占空比是按正弦规律实时变化的,所得正弦调制波频率也期望值一致,系统同时实现了死区功能。实践证明,以TMS320F2812 为核心基于不对称规则采样算法的SPWM 波的设计是成功的。该系统具有很好的控制精度和较强的实时响应,实时控制能力。
就爱喝红牜:
求例程序啊学习啊~
在本文中我们通过TI 公司32 bit 控制器TMS320F2812 来实现SPWM 算法。TMS320F2812的波形发生器属于DSP 芯片的外部事件管理模块,占用CPU 的时间很少,可以方便地生成6路带编程死区和输出极性的PWM 波[2]。通过对比较单元的寄存器进行适当的设置可以方便地生成所需的SPWM 波。
TMS320F2812 有两个事件管理器模块(EVA 或EVB),每个EV 都内含2 个通用定时器,三个全比较单元,死区单元及输出逻辑,事实上一个事件管理器模块就可以生成三相六路SPWM 脉冲波形。为了产生PWM 输出,通过设定通用定时器T1(我们使用EVA 中的T1)的周期寄存器T1PR,并选择通用定时器T1 处于连续增/减计数模式,以产生SPWM 算法中的对称三角波载波信号。定时器计数器T1CNT 从0 递增到T1PR,然后再从T1PR 递减到0,循环计数,同时比较寄存器(CMPRx ,x=1、2、3)的值不断地与定时器计数器的值进行比较,当两个值发生匹配后,比较单元的输出信号送入PWM 电路中的对称/非对称波行形发生器,由它产生一路PWM 脉冲信号,再经过死区单元以及输出逻辑后,产生一对具有可编程死区的可以驱动同一桥臂IGBT 的互补信号PWMy,y+1。当两个功率器件串连放在主电路中组成一个桥臂时,上下两个器件绝对不能同时导通,否则会发生短路。因此导通上一桥臂的PWM 须互不重叠,这就要求一个器件导通前,另一个器件要完全关闭,所以需要一个延迟的死区时间。如图2 示,比较单元1、2、3 的对称/非对称波形发生器提供的输入信号PHn(n=1,2,3)作为死区单元的输入,对于每一个输入信号PHn ,死区单元产生两路输出: PHx 和PHx_。如果死区单元未被使能,那这两路输出的信号是完全相同的;当死区单元使能时,两路输出信号的跳变沿被一段死区时间间隔开。
4.DSP 软件设计
整个程序分为主程序和中断子程序两大部分。主程序任务是:初始化启动系统后,扫描键盘输入,更新调制波频率fm,根据调制波频率fm计算载波比N 和定时器T1 周期寄存器的值,由负载压频U/f 曲线计算调制比M,并将N 值,M 值等信息显示液晶显示屏上;除主程序外一共开放了三个中断,分别是:
①定时器T1 中断子程序:完成三个比较寄存器(CMPRx ,x=1、2、3)的计算、赋值,用于更新PWM1~PWM6 的占空比。②定时器T2 周期中断,用于扫描按键,更新调制波频率fm。
③PDPA 中断,用于保护功率模块,一旦PDPA 脚为低便封锁PWM1~PWM6。主程序流程图与中断子程序流程是程序的主要组成部分,详细见图(3)、图(4)。
5.实验波形及结论
通过键盘设定调制波频率,我们设定为25Hz,用数字示波器测量PWM1/CMP1 引脚,所得实验波形如图5 所示。从图中可知,PWM 波形的占空比是按正弦规律实时变化的,所得正弦调制波频率也期望值一致,系统同时实现了死区功能。实践证明,以TMS320F2812 为核心基于不对称规则采样算法的SPWM 波的设计是成功的。该系统具有很好的控制精度和较强的实时响应,实时控制能力。
Johnson Chen1:
回复 就爱喝红牜:
楼主贴的这篇文章是TI的吗?
楼主可以将详细的需求提出来,我们看一下是否有这方面的例程。
在本文中我们通过TI 公司32 bit 控制器TMS320F2812 来实现SPWM 算法。TMS320F2812的波形发生器属于DSP 芯片的外部事件管理模块,占用CPU 的时间很少,可以方便地生成6路带编程死区和输出极性的PWM 波[2]。通过对比较单元的寄存器进行适当的设置可以方便地生成所需的SPWM 波。
TMS320F2812 有两个事件管理器模块(EVA 或EVB),每个EV 都内含2 个通用定时器,三个全比较单元,死区单元及输出逻辑,事实上一个事件管理器模块就可以生成三相六路SPWM 脉冲波形。为了产生PWM 输出,通过设定通用定时器T1(我们使用EVA 中的T1)的周期寄存器T1PR,并选择通用定时器T1 处于连续增/减计数模式,以产生SPWM 算法中的对称三角波载波信号。定时器计数器T1CNT 从0 递增到T1PR,然后再从T1PR 递减到0,循环计数,同时比较寄存器(CMPRx ,x=1、2、3)的值不断地与定时器计数器的值进行比较,当两个值发生匹配后,比较单元的输出信号送入PWM 电路中的对称/非对称波行形发生器,由它产生一路PWM 脉冲信号,再经过死区单元以及输出逻辑后,产生一对具有可编程死区的可以驱动同一桥臂IGBT 的互补信号PWMy,y+1。当两个功率器件串连放在主电路中组成一个桥臂时,上下两个器件绝对不能同时导通,否则会发生短路。因此导通上一桥臂的PWM 须互不重叠,这就要求一个器件导通前,另一个器件要完全关闭,所以需要一个延迟的死区时间。如图2 示,比较单元1、2、3 的对称/非对称波形发生器提供的输入信号PHn(n=1,2,3)作为死区单元的输入,对于每一个输入信号PHn ,死区单元产生两路输出: PHx 和PHx_。如果死区单元未被使能,那这两路输出的信号是完全相同的;当死区单元使能时,两路输出信号的跳变沿被一段死区时间间隔开。
4.DSP 软件设计
整个程序分为主程序和中断子程序两大部分。主程序任务是:初始化启动系统后,扫描键盘输入,更新调制波频率fm,根据调制波频率fm计算载波比N 和定时器T1 周期寄存器的值,由负载压频U/f 曲线计算调制比M,并将N 值,M 值等信息显示液晶显示屏上;除主程序外一共开放了三个中断,分别是:
①定时器T1 中断子程序:完成三个比较寄存器(CMPRx ,x=1、2、3)的计算、赋值,用于更新PWM1~PWM6 的占空比。②定时器T2 周期中断,用于扫描按键,更新调制波频率fm。
③PDPA 中断,用于保护功率模块,一旦PDPA 脚为低便封锁PWM1~PWM6。主程序流程图与中断子程序流程是程序的主要组成部分,详细见图(3)、图(4)。
5.实验波形及结论
通过键盘设定调制波频率,我们设定为25Hz,用数字示波器测量PWM1/CMP1 引脚,所得实验波形如图5 所示。从图中可知,PWM 波形的占空比是按正弦规律实时变化的,所得正弦调制波频率也期望值一致,系统同时实现了死区功能。实践证明,以TMS320F2812 为核心基于不对称规则采样算法的SPWM 波的设计是成功的。该系统具有很好的控制精度和较强的实时响应,实时控制能力。
Johnson Chen1:
回复 就爱喝红牜:
楼主贴的这篇文章是TI的吗?
楼主可以将详细的需求提出来,我们看一下是否有这方面的例程。
在本文中我们通过TI 公司32 bit 控制器TMS320F2812 来实现SPWM 算法。TMS320F2812的波形发生器属于DSP 芯片的外部事件管理模块,占用CPU 的时间很少,可以方便地生成6路带编程死区和输出极性的PWM 波[2]。通过对比较单元的寄存器进行适当的设置可以方便地生成所需的SPWM 波。
TMS320F2812 有两个事件管理器模块(EVA 或EVB),每个EV 都内含2 个通用定时器,三个全比较单元,死区单元及输出逻辑,事实上一个事件管理器模块就可以生成三相六路SPWM 脉冲波形。为了产生PWM 输出,通过设定通用定时器T1(我们使用EVA 中的T1)的周期寄存器T1PR,并选择通用定时器T1 处于连续增/减计数模式,以产生SPWM 算法中的对称三角波载波信号。定时器计数器T1CNT 从0 递增到T1PR,然后再从T1PR 递减到0,循环计数,同时比较寄存器(CMPRx ,x=1、2、3)的值不断地与定时器计数器的值进行比较,当两个值发生匹配后,比较单元的输出信号送入PWM 电路中的对称/非对称波行形发生器,由它产生一路PWM 脉冲信号,再经过死区单元以及输出逻辑后,产生一对具有可编程死区的可以驱动同一桥臂IGBT 的互补信号PWMy,y+1。当两个功率器件串连放在主电路中组成一个桥臂时,上下两个器件绝对不能同时导通,否则会发生短路。因此导通上一桥臂的PWM 须互不重叠,这就要求一个器件导通前,另一个器件要完全关闭,所以需要一个延迟的死区时间。如图2 示,比较单元1、2、3 的对称/非对称波形发生器提供的输入信号PHn(n=1,2,3)作为死区单元的输入,对于每一个输入信号PHn ,死区单元产生两路输出: PHx 和PHx_。如果死区单元未被使能,那这两路输出的信号是完全相同的;当死区单元使能时,两路输出信号的跳变沿被一段死区时间间隔开。
4.DSP 软件设计
整个程序分为主程序和中断子程序两大部分。主程序任务是:初始化启动系统后,扫描键盘输入,更新调制波频率fm,根据调制波频率fm计算载波比N 和定时器T1 周期寄存器的值,由负载压频U/f 曲线计算调制比M,并将N 值,M 值等信息显示液晶显示屏上;除主程序外一共开放了三个中断,分别是:
①定时器T1 中断子程序:完成三个比较寄存器(CMPRx ,x=1、2、3)的计算、赋值,用于更新PWM1~PWM6 的占空比。②定时器T2 周期中断,用于扫描按键,更新调制波频率fm。
③PDPA 中断,用于保护功率模块,一旦PDPA 脚为低便封锁PWM1~PWM6。主程序流程图与中断子程序流程是程序的主要组成部分,详细见图(3)、图(4)。
5.实验波形及结论
通过键盘设定调制波频率,我们设定为25Hz,用数字示波器测量PWM1/CMP1 引脚,所得实验波形如图5 所示。从图中可知,PWM 波形的占空比是按正弦规律实时变化的,所得正弦调制波频率也期望值一致,系统同时实现了死区功能。实践证明,以TMS320F2812 为核心基于不对称规则采样算法的SPWM 波的设计是成功的。该系统具有很好的控制精度和较强的实时响应,实时控制能力。
就爱喝红牜:
回复 Johnson Chen1:
就是想找DPS产生SPWM波的例程序啊~找了很久没找到~
在本文中我们通过TI 公司32 bit 控制器TMS320F2812 来实现SPWM 算法。TMS320F2812的波形发生器属于DSP 芯片的外部事件管理模块,占用CPU 的时间很少,可以方便地生成6路带编程死区和输出极性的PWM 波[2]。通过对比较单元的寄存器进行适当的设置可以方便地生成所需的SPWM 波。
TMS320F2812 有两个事件管理器模块(EVA 或EVB),每个EV 都内含2 个通用定时器,三个全比较单元,死区单元及输出逻辑,事实上一个事件管理器模块就可以生成三相六路SPWM 脉冲波形。为了产生PWM 输出,通过设定通用定时器T1(我们使用EVA 中的T1)的周期寄存器T1PR,并选择通用定时器T1 处于连续增/减计数模式,以产生SPWM 算法中的对称三角波载波信号。定时器计数器T1CNT 从0 递增到T1PR,然后再从T1PR 递减到0,循环计数,同时比较寄存器(CMPRx ,x=1、2、3)的值不断地与定时器计数器的值进行比较,当两个值发生匹配后,比较单元的输出信号送入PWM 电路中的对称/非对称波行形发生器,由它产生一路PWM 脉冲信号,再经过死区单元以及输出逻辑后,产生一对具有可编程死区的可以驱动同一桥臂IGBT 的互补信号PWMy,y+1。当两个功率器件串连放在主电路中组成一个桥臂时,上下两个器件绝对不能同时导通,否则会发生短路。因此导通上一桥臂的PWM 须互不重叠,这就要求一个器件导通前,另一个器件要完全关闭,所以需要一个延迟的死区时间。如图2 示,比较单元1、2、3 的对称/非对称波形发生器提供的输入信号PHn(n=1,2,3)作为死区单元的输入,对于每一个输入信号PHn ,死区单元产生两路输出: PHx 和PHx_。如果死区单元未被使能,那这两路输出的信号是完全相同的;当死区单元使能时,两路输出信号的跳变沿被一段死区时间间隔开。
4.DSP 软件设计
整个程序分为主程序和中断子程序两大部分。主程序任务是:初始化启动系统后,扫描键盘输入,更新调制波频率fm,根据调制波频率fm计算载波比N 和定时器T1 周期寄存器的值,由负载压频U/f 曲线计算调制比M,并将N 值,M 值等信息显示液晶显示屏上;除主程序外一共开放了三个中断,分别是:
①定时器T1 中断子程序:完成三个比较寄存器(CMPRx ,x=1、2、3)的计算、赋值,用于更新PWM1~PWM6 的占空比。②定时器T2 周期中断,用于扫描按键,更新调制波频率fm。
③PDPA 中断,用于保护功率模块,一旦PDPA 脚为低便封锁PWM1~PWM6。主程序流程图与中断子程序流程是程序的主要组成部分,详细见图(3)、图(4)。
5.实验波形及结论
通过键盘设定调制波频率,我们设定为25Hz,用数字示波器测量PWM1/CMP1 引脚,所得实验波形如图5 所示。从图中可知,PWM 波形的占空比是按正弦规律实时变化的,所得正弦调制波频率也期望值一致,系统同时实现了死区功能。实践证明,以TMS320F2812 为核心基于不对称规则采样算法的SPWM 波的设计是成功的。该系统具有很好的控制精度和较强的实时响应,实时控制能力。
就爱喝红牜:
回复 Johnson Chen1:
就是想找DPS产生SPWM波的例程序~找了很久没找到~
在本文中我们通过TI 公司32 bit 控制器TMS320F2812 来实现SPWM 算法。TMS320F2812的波形发生器属于DSP 芯片的外部事件管理模块,占用CPU 的时间很少,可以方便地生成6路带编程死区和输出极性的PWM 波[2]。通过对比较单元的寄存器进行适当的设置可以方便地生成所需的SPWM 波。
TMS320F2812 有两个事件管理器模块(EVA 或EVB),每个EV 都内含2 个通用定时器,三个全比较单元,死区单元及输出逻辑,事实上一个事件管理器模块就可以生成三相六路SPWM 脉冲波形。为了产生PWM 输出,通过设定通用定时器T1(我们使用EVA 中的T1)的周期寄存器T1PR,并选择通用定时器T1 处于连续增/减计数模式,以产生SPWM 算法中的对称三角波载波信号。定时器计数器T1CNT 从0 递增到T1PR,然后再从T1PR 递减到0,循环计数,同时比较寄存器(CMPRx ,x=1、2、3)的值不断地与定时器计数器的值进行比较,当两个值发生匹配后,比较单元的输出信号送入PWM 电路中的对称/非对称波行形发生器,由它产生一路PWM 脉冲信号,再经过死区单元以及输出逻辑后,产生一对具有可编程死区的可以驱动同一桥臂IGBT 的互补信号PWMy,y+1。当两个功率器件串连放在主电路中组成一个桥臂时,上下两个器件绝对不能同时导通,否则会发生短路。因此导通上一桥臂的PWM 须互不重叠,这就要求一个器件导通前,另一个器件要完全关闭,所以需要一个延迟的死区时间。如图2 示,比较单元1、2、3 的对称/非对称波形发生器提供的输入信号PHn(n=1,2,3)作为死区单元的输入,对于每一个输入信号PHn ,死区单元产生两路输出: PHx 和PHx_。如果死区单元未被使能,那这两路输出的信号是完全相同的;当死区单元使能时,两路输出信号的跳变沿被一段死区时间间隔开。
4.DSP 软件设计
整个程序分为主程序和中断子程序两大部分。主程序任务是:初始化启动系统后,扫描键盘输入,更新调制波频率fm,根据调制波频率fm计算载波比N 和定时器T1 周期寄存器的值,由负载压频U/f 曲线计算调制比M,并将N 值,M 值等信息显示液晶显示屏上;除主程序外一共开放了三个中断,分别是:
①定时器T1 中断子程序:完成三个比较寄存器(CMPRx ,x=1、2、3)的计算、赋值,用于更新PWM1~PWM6 的占空比。②定时器T2 周期中断,用于扫描按键,更新调制波频率fm。
③PDPA 中断,用于保护功率模块,一旦PDPA 脚为低便封锁PWM1~PWM6。主程序流程图与中断子程序流程是程序的主要组成部分,详细见图(3)、图(4)。
5.实验波形及结论
通过键盘设定调制波频率,我们设定为25Hz,用数字示波器测量PWM1/CMP1 引脚,所得实验波形如图5 所示。从图中可知,PWM 波形的占空比是按正弦规律实时变化的,所得正弦调制波频率也期望值一致,系统同时实现了死区功能。实践证明,以TMS320F2812 为核心基于不对称规则采样算法的SPWM 波的设计是成功的。该系统具有很好的控制精度和较强的实时响应,实时控制能力。
yongle jia:
回复 就爱喝红牜:
您好,有SPWM的程序可以分享下吗?课程设计难住了,谢谢您了