基于嵌入式NIOS软核的SPWM波形的形成方法及装置 【技术领域】
本发明涉及一种嵌入式系统,尤其涉及一种基于嵌入式NIOS软核的SPWM波形的形成方法及装置。
背景技术
正弦脉宽调制,即SPWM技术在以电压源逆变电路为核心的电力电子装置中有着广泛的应用,如何产生SPWM脉冲序列及其实现手段是SPWM技术的关键。
利用模拟比较法,对三角载波与正弦调制波进行比较,即可产生SPWM脉冲;利用数字算法和定时逻辑,也可产生SPWM脉冲。
目前已有多种微处理器芯片,如80C196MC、TMS320F240等,本身集成有数字化PWM发生电路。模拟方法简单直观,但与数字控制器接口不便,难以满足复杂要求;数字方法结构灵活,尤其是微处理器内置了PWM发生器的,使用更加方便。
通常状况下,微处理器通过定时中断服务程序产生SPWM脉冲,在每个载波周期必须进行中断处理,对处理速度要求较高,从而也限制了载波频率进一步的提高,同时微处理器的处理任务也更加繁重。微处理器中不确定的中断响应会导致PWM脉冲的相位抖动。
随着现代工业的要求和微电子技术的进步,交流传动已经迅速地从模拟控制转向数字控制,其中PWM技术与方法是其核心内容。但数字化PWM电路一直是设计中的难点,除了集成三相PWM发生器的80C196MC、TMS320F240等微处理器外,均采用中小规格集成电路设计思想产生SPWM,这是非常复杂的,往往使电路复杂、可靠性差。
下面介绍了一种用单片大规模FPGA实现的三相PWM发生器,它具有三相脉冲中心对称、PWM周期和死区时间可编程等特点,且性能优异、灵活性和可靠性高。
现有技术一:
利用FPGA现场可编程门阵列器件作为控制核心,结合DDS数字频率合成技术直接形成SPWM脉宽调制波。
现有技术二:
图1是用FPGA实现的PWM部分设计框图,它主要由脉宽寄存器、缓冲寄存器、周期寄存器、死区寄存器、死区发生器、数值比较器、控制逻辑等几部分构成。脉宽寄存器,决定三相PWM信号的脉宽;缓冲寄存器,实现对脉宽数据的双缓冲;周期寄存器,决定PWM的斩波周期;死区寄存器,决定上下桥臂的死区时间。脉宽寄存器在每个开关周期中由微处理器与更新一次,其输出数据经缓冲以后与基准计数器进行数值比较,得到三相PWM信号PA、PB、PC。再经过死区电路处理,最后产生6个中心对称的PWM驱动信号,驱动三相逆变器的6个功率器件。PWM算法可采用SPWM,即正弦PWM或者SVPWM,即空间矢量PWM。
FPGA中的基准计数器,用来产生类似模拟电路中的三角波基准,是一个最小计数值为0、最大计数值为周期寄存器中保存的数值、计数方向交替变化的可逆计数器。基准计数器单元在最大计数值时产生一个同步信号SYN,当它有效时将三个脉宽寄存器的数据存入各自的缓冲寄存器,实现双缓冲,使三个脉宽寄存器在SYN无效时可依次由微处理器更新而不影响最终的三相同步关系。同时基准计数器单元产生一个方向信号DIR,可作为微处理器的外部中断源(边缘触发方式),在PWM开关周期的起始点产生中断。
微处理器软件设计较简单,在初始化阶段设置好周期寄存器、死区寄存器,以后只需在PWM中断服务程序中将计算好的三相脉宽数据分别送到各自的脉宽寄存器,然后退出中断服务程序,等待控制器在SYN脉冲控制下将三个脉宽寄存器的数据锁存到各自的缓冲寄存器中。在下一个PWM周期中输出相应的脉冲,同时中断被触发,便开始了下一个PWM中断服务程序。程序要求PWM中断服务程序运行时间小于PWM周期,由此决定了PWM最高运行频率。图2为PWM波形图。
现有技术三:
采用传统的HEF4752控制芯片组成的三相脉宽调制逆变器控制电路,该控制电路具有需要较多的外围元件,且编程较复杂等缺点.
以上现有技术的分别存在以下不足:在技术一中利用FPGA为控制核心结合DDS产生SPWM波形,这种方式产生的控制信号可以满足一般的控制系统的要求,但对于对时事性和控制精度要求都很高的UPS这种控制方式是远远不能满足系统的控制精度。
在技术二中控制系统的建立复杂且对设计人员不论在硬件和软件的要求都很高不利于技术的推广。
利用传统的专用控制芯片大大降低产品的可靠性,而对于UPS这种对可靠性要求极高的产品这种方式已经被全数字化控制方式所取代,高成本也是模拟控制方式所面临的巨大挑战,软件和硬件可移植性以及产品的生命周期在设计时就已经定型不利于产品的升级换代。
【发明内容】
本发明所要解决的技术问题是提供一种可以在多种系统配置组合中进行选择,性能和特性优良且成本低的基于嵌入式NIOS软核的SPWM波形的形成方法。
为解决上述技术问题,本发明采用下述技术方案:
基于嵌入式NIOS软核的SPWM波形的形成方法,包含以下步骤:
建立包括NIOS核,PWM模块,I/O端口,定时器,存储器和寄存器地SOPC系统,
PWM包括一个输入时钟(CLK),一个输出信号(PWM_OUT),一个允许位,一个32位的模N计数器和一个32位的比较器,CLK驱动32位的模N计数器,建立PWM_OUT信号的周期;比较器比较模N计数器的当前值和占空比值,决定PWM_OUT的输出;若当前值小于或等于占空比值,则PWM_OUT驱动逻辑0;否则驱动逻辑1;
对NIOS系统中PWM、I/O口、定时器进行初始化。
相应地,本发明还提供实现上述方法地装置,其技术方案为:
基于嵌入式NIOS软核的SPWM波形的形成装置,其特征在于该装置包括NIOS核、PWM模块、I/O端口、定时器、存储器和寄存器。
所述PWM模块包括一个输入时钟CLK,一个输出信号PWM_OUT,一个允许位,一个32位的模N计数器和一个32位的比较器。
本发明技术方案带来的有益效果:
采Nios II处理器进行设计,可以将产品迅速推向市场,延长产品生命周期,防止出现处理器逐渐过时。理由分述如下:
一:可定制特性集
采用Nios II处理器,您将不会局限于预先制造的处理器技术,而是根据自己的标准定制处理器,按照需要选择合适的外设、存储器和接口。此外,您还可以轻松集成自己专有的功能,使您的设计具有独特的竞争优势。
二:配置系统性能
您所需要的处理器,应该能够满足当前和今后的设计性能需求。由于今后发展具有不确定性,因此,Nios II设计人员必须能够更改其设计,加入多个NiosII CPU、定制指令集、硬件加速器,以达到新的性能目标。采用Nios II处理
TM器,您可以通过Avalon交换架构来调整系统性能,该架构是Altera的专有互联技术,支持多种并行数据通道,实现大吞吐量应用。
三:低成本实现
在选择处理器时,为了实现需要的功能,您可能要购买比实际所需数量多的处理器,也可能为了节省成本,而不得不购买比实际需要数量少的处理器。低成本、可定制NiosII处理器能够帮助您解决这一难题。采用Nios II处理器,您TM可以根据需要,设置功能,在价格低至35美分的Cyclone(R)II FPGA等低成本Altera器件中实施。在单个FPGA中实现处理器、外设、存储器和I/O接口,可以降低您的系统总体成本。
四:产品生存周期管理
为实现一个成功的产品,您需要将其尽快推向市场,增强其功能特性以延长使用时间,避免出现处理器逐渐过时。您可以在短时间内,将Nios II嵌入式处理器由最初概念设想转为系统实现。这种基于Nios II处理器的系统具有永久免版税设计许可,完全经得起时间考验。此外,由于在FPGA中实现软核处理器,因此可以方便实现现场硬件和软件升级,产品能够符合最新的规范、具备最新特性。
综上所述,在进行系统级开发时可有效的降低研发成本;可以延长产品的生命周期;根据产品的性能要求裁剪出符合要求的处理器结构达到资源的合理利用和节约成本的目的;有效的提高系统的集成度;有效降低系统功耗。
【附图说明】
下面结合附图及具体实施方式,对本发明作进一步说明。
图1是现有技术二的电路图;
图2是PWM波形图;
图3是本发明PWM模块的工作原理图;
图4是本发明PWM模块的工作原理程序流程图;
图5是本发明中断程序流程图;
图6是本发明的电路图。
【具体实施方式】
本发明实施例利用ALTERA公司提供的FPGA芯片EP2C35F484C8N和嵌入式软核NIOS II实现三电平中点钳位逆变器的SPWM驱动信号。根据系统要求设计基于嵌入式软核NIOS II的硬件平台;在NIOS II硬件平台基础之上利用NIOS软件开发环境NIOS IDE实现系统的软件开发;利用SOPC BUIDING中的SPI核实现对外部A/D转换芯片AD7927的数据转换控制;定制基于AVALON的用户外设——PWM外设的实现。利用SOPC软硬件协同技术基于FPGA或CPLD可编程器件进行SOC设计。
系统设计包括硬件设计和软件设计两大部分。硬件设计是指建立NIOS核和添加该核和其他必要系统模块,建立TCL脚本文件,编译下载等过程。软件设计是在NIOS IDE中完成的。此软件不仅支持硬件描述语言,而且支持C语言,因此,可以很容易对硬件部分进行加载及对系统软件进行设计。本设计是基于ALTER公司的FPGA芯片EP2C35F484C8N完成了整个系统的设计通过SOPC BUILDER向导裁剪符合系统要求的SOPC系统,再利用NIOS IDE完成整个系统软件的设计。
以下对各系统进行分述:
SOPC系统建立(硬件系统建立):
系统的主要由是NIOS核,PWM模块,I/O端口,定时器和存储器等模块组成;PWM任务逻辑由一个输入时钟(CLK),一个输出信号(PWM_OUT),一个允许位,一个32位的模N计数器和一个32位的比较器组成。CLK驱动32位的模N计数器,建立PWM_OUT信号的周期。比较器比较模N计数器的当前值和占空比值,决定PWM_OUT的输出。若当前值小于或等于占空比值,则PWM_OUT驱动逻辑0;否则驱动逻辑1。
参见图3所示,寄存器文件提供了对使能位,模N计数器的值和占空比值的访问。其中CLK_DIVIDE寄存器决定在PWM输出的一个周期中的时钟周期数。DUTY_CYCLE寄存器决定了PWM输出为低电平的时钟周期数。对以上两个寄存器的读写控制就可得到三相三电平逆变控制波形;在完成了SOPC系统设计和PWM工作原理后重点介绍如何在此基础上实现三相三电平逆变器的驱动信号SPWM波形的产生方式。当对CLK_DIVIDE进行写时此值就决定了PWM波形的周期,使DUTY_CYCLE的值按正弦变化时,就得到三相逆变器的驱动波形,这一过程的实现是在NIOS集成开发环境NIOS IDE中完成的,其具体的程序流程图如图4所示。
参见图5,在NIOS系统中PWM,I/O口,定时器等组件的一部分配置是在调用组件的时已经配置好了,在软件编程的时候只需要对进行一些必要的初始化就可以很方便的使用这些组件完成设计。
此中断只能同时产生六路SPWM波形,在我们研究了三电平的逆变驱动波形时发现在A相上桥臂和下桥臂的四只功率开关管的驱动波形中两两是互补的,对于FPGA来说产生互补信号只需在FPGA内部对两路SPWM波形取反再分别输出及可获得四路SPWM波形用于驱动A相的四个功率开关的导通完成A相逆变输出。
如图6所示,本发明的一个具体实施方式的电路图,本图只示出单相的SPWM驱动波形的形成电路。用同样的方法可就可以产生另外两相的SPWM驱动波形。
下面对本发明的工作原理进行详细介绍:
首先介绍载波调制控制原理,对于三相三电平逆变器,每相采用两个具有相同频率fc和相同峰值Ac的三角载波与一个频率为fm峰值为Am的正弦波相比较,两个三角载波所在区域连续。当正弦波与三角载波相交的时刻,如果调制波的幅值大于某个三角载波的幅值,则开通相应的开关器件,反之,如果调制波的幅值小于某个三角载波的幅值,则关断相应的开关器件。
利用SOPC软硬件协同技术基于FPGA或CPLD可编程器件进行SOC设计。系统设计包括硬件设计和软件设计两大部分。硬件设计是指建立NIOS核和添加该核和其他必要系统模块,建立TCL脚本文件,编译下载等过程。通过SOPCBUILDER向导裁剪符合系统要求的SOPC系统,在利用NIOS IDE完成整个系统软件的设计。软件设计是在NIOS IDE中完成的。此软件不仅支持硬件描述语言,而且支持C语言,因此,可以很容易对硬件部分进行加载及对系统软件进行设计。
三电平中点钳位逆变器拓扑结构的优点:每个功率器件仅承受一半的母线电压,故可用耐压低的器件实现高压输出;与传统的逆变器电压输出波形相比,三电平逆变器电压输出波形更接近正弦波,且谐波含量减少;电流上升率和电压变化率降低,电磁干扰大大降低等。因其优越的性能目前研究和应用的最为成熟的多电平逆变器结构之一。