基于Nios_的PWM控制电路设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
邮局订阅号:82-946360元/年
技术创新
控制系统
《PLC技术应用200例》
您的论文得到两院院士关注
基于NiosII的PWM控制电路设计
ThePWMControllerDesignBasedonNiosII
(清华大学)
余毅马骋贾惠波
YUYiMAChengJIAHui-bo
摘要:本文详细论述了基于AlteraNiosII软核处理器的PWM控制电路的设计方法,介绍了系统设计的各个步骤。该电路在一块基于AlteraCycloneIIFPGA的SOPCBoard评估板上实现,完全满足设计要求。本文对基于NIOSII进行系统设计具有实际参考价值。
关键词:FPGA;SOPC;NiosII;PWM;硬件平台;移动机器人中图分类号:TP36文献标识码:B
Abstract:ThispaperintroducesthemethodofdesigningaPWMControllerbasedonAlteraNiosIIsoftcoreindetailandanalyseseverystepofthedesign.ThedesignhasbeenimplementedonaSOPCBoardbasedonAlteraCycloneIIFPGA.Thedemandofde-signinghasbeencompletelyreached.ThepaperhasuniversalguidancetoNiosIIsystemdesign..KeyWords:FPGA;SOPC;NiosII;PWM;HardwarePlatform;MobileRobot
文章编号:1008-0570(2008)06-1-0007-02
引言
随着电子技术和计算机技术的进步,在通讯、汽车电子、医疗、军事、仪器仪表等领域的嵌入式应用中,FPGA(现场可编程门阵列)的使用越来越广泛。由于FPGA成本低廉,可反复配置,面向市场速度快,很多领域可以替代ASIC。SOPC(可编程片上系统)是Altera公司开发的基于FPGA的一种SOC解决方案。NIOSII嵌入式软核处理器作为SOPC的核心,是一款通用的32位RISC处理器核。
移动机器人通常由微型直流电机驱动,PWM(脉宽调制)是常用的直流电机控制信号。本文结合Altera公司的CycloneII
FPGA芯片,以产生PWM控制器为例,介绍FPGA硬件平台的设计方法和基于SOPC的系统设计方法。
1系统总体方案
PWM信号的传统实现方法是通过模拟比较器产生,比较器的一端接参考电压A,另一端接计数器的输出B,计数器对时
钟信号计数。因此调节计数器的模数和参考电压可以实现不同频率和不同脉宽比的PWM信号。
传统方法电路复杂,控制精度不高。而由FPGA实现的PWM控制器,具有控制稳定、精度高、效果好等优点。但是通常的FPGA实现方法是由硬件描述语言对PWM控制器进行建模,其缺点是不能实时更改PWM信号的频率和占空比。
随着嵌入式系统在FPGA内的实现,我们可以把PWM控制器设计为SOPC系统的一个IP(元件),结合NIOSII处理器和其它外设,来生成自定义的嵌入式系统,然后对嵌入式系统进行程序设计,用算法控制PWM控制器生成PWM波形。相比前一种方法,它的优势在于:1)把PWM控制器设计成IP,因此大大提高了复用性,一旦设计完成,其它的用户可以方便的使用,而不用去了解其内部结构;2)可以设计该
IP的驱动程序,屏蔽底层操作,提供API接口,应用程序通过
API接口来访问控制器;3)参数化设计的PWM控制器使得用户在应用程序中可以方便的通过API接口来修改控制器
的参数,嵌入式系统一次设计完成,无需更改系统就可以实现任意参数的PWM控制器。
针对基于SOPC和NIOSII的FPGA嵌入式应用,设计并制
作了一块基于AlteraFPGA的实验电路板。
并以此为基础,通过嵌入式系统设计和应用程序设计来实现一种灵活的PWM控制
器。图1描述了方案的总体设计流程。
2系统硬件平台实现
系统硬件平台如图2所示。其核心是AlteraCycloneIIFP-GA,提供可编程逻辑资源,可编程IO资源,用来实现任意数字逻辑和SOPC。同时,平台提供了两种FPGA芯片配置模式:JTAT和AS(ActiveSerial),JTAG通过UsbBlaster下载配置文件,AS通过EPCS16配置芯片提供非易失性配置解决方案。平台也提供了大容量的外部存储设备,包括16MbytesSDRAM,
1Mbytes高速静态存储器SRAM,和1MbytesFlash。平台还提供丰富的输入输出设备:包括脉冲式按键、拨码开关、矩阵键盘、
LED、七段数码管、LCD液晶显示、
扬声器。此外,为了方便与其他模块的连接,平台还提供了扩展电路接口,并提供RS232串
口模块来实现与主机的通讯。
3系统设计
系统设计主要分为两个部分:SOPC系统设计和NIOSII应用程序开发。SOPC系统设计任务是在目标FPGA电路板上实现嵌入式系统;而程序开发则是生成的嵌入式系统基础上,调
余
毅:硕士研究生
图1总体设计流程
7-
-
技术创新
中文核心期刊《微计算机信息》(测控自动化)2008年第24卷第6-1期
360元/年邮局订阅号:82-946
《现场总线技术应用200例》
控制系统
用系统函数,编写实现制定功能的用户程序。
3.1SOPC系统设计
结合上面介绍的FPGA硬件平台,我们设计了一个基于NIOSII软核处理器的SOPC系统,其结构如图3所示。SOPC系统采用Avalon总线结构,将系统的各个组件连接起来。其中NIOSIIProcessorCore,JTAGUART,SDRAMController等都由AlteraIP库提供支持,经过参数配置后添加入系统。
图3中PWM是自定义IP,其基本波形以及逻辑结构如图
4所示。其中Upcounter代表计数器,通过使用比较器,寄存器Clock_divide用来设置PWM信号频率,寄存器Duty_cycle用来设置占空比。逻辑结构中的三个寄存器是与Avalon总线进行数据交换的接口,同时也为驱动程序提供了接口,用户应用程序通过调用驱动程序间接访问寄存器,对其进行读写操作,实现特定的PWM控制器。将SOPC生成的系统添加入QuartusII项目中,与其他电路模块相连,并且正确的分配FPGA管脚后,就可以对整个项目进行编译。如果编译成功,将下载电缆连接到目标电路板,下载成功后,我们就在目标电路板上实现了带有PWM控制器的可编程嵌入式系统。随后,我们可以调用系统函数对其进行程序设计,用软件的方式来灵活生成PWM信号。
3.2NIOSII软件设计
NIOSII软件设计是指对已经下载到目标电路板的SOPC嵌入式系统进行程序设计。为了实现PWM信号发生器,在NIOSIIIDE开发环境下设计了一个c语言应用程序。这里,给出程序头文件的部分代码,里面规定了PWM信号发生器API接口,调用某个API函数便可实现特定功能,如IOWR_PWM_CLOCK_DIVIDER(base,data)函数实现对Clock_de-
vide寄存器写入数据,也就是指定PWM信号频率。
其他函数不再一一例举,通过调用它们,可以实现32位数据精度可变参数的PWM信号发生器。
//Clock_devide寄存器接口函数,
#defineIORD_PWM_CLOCK_DIVIDER(base)IORD(base,0)#defineIOWR_PWM_CLOCK_DIVIDER(base,data)IOWR(base,0,data)
结论
使用NIOSII进行嵌入式设计的优点在于:系统功能可以根据需求定制,硬件设计灵活可靠。将系统PWM信号发生器输出端口通过电机驱动电路与微型直流电机相连,运行程序后,电机正常工作。
本文作者创新点:首次在微型直流电机驱动的移动机器人中,使用了基于NIOSII的PWM控制器,并对PWM控制器实现过程进行了详细地阐述。
参考文献
[1]吴继华,
王诚。AlteraFPGA/CPLD设计.。人民邮电出版社,2005
[2]MarkZwolinski。DigitalSystemDesignwithVHDL。Prentice
Hall,
2002[3]郭文彬,
孙智权等。基于NIOSII的USB接口模块设计。微计算机信息,2006
[4]殷文春,
袁继侠。一种基于CPLD的PWM控制电路设计。国外电子元器件,2003
作者简介:余毅,男,清华大学精密仪器与机械学系,硕士研究生;马骋,男,清华大学精密仪器与机械学系,副教授;贾惠波,
男,清华大学精密仪器与机械学系,教授。
Biography:YuYi,Male,DepartmentofPrecisionInstrumentsand
Mechanology,TsinghuaUniversity,MasterCandidate;MaCheng,Male,DepartmentofPrecisionInstrumentsandMechanology,Ts-inghuaUniversity,AssociateProfessor;JiaHuiBo,Male,Depart-mentofPrecisionInstrumentsandMechanology,TsinghuaUni-versity,Professor.
(100084北京清华大学精密仪器与机械学系)余毅马骋
贾惠波
(100084DepartmentofPrecisionInstrumentsandMechanology,TsinghuaUniversity,Beijing)YuYiMAChenJIAHui-bo
通讯地址:(100084北京北京清华大学精密仪器与机械学系)
余毅
(收稿日期:2008.3.25)(修稿日期:2008.5.10)
电源
晶振50Mhz
RS232端口
Flash(1Mbytes)
液晶显示模块
显示数码管
LED显示
EPCS16UsbBlaster矩阵键盘按钮扩展电路
扬声器
SRAM(1Mbytes)
SRAM(16Mbytes)图2FPGA硬件平台
JTAGInterface
AlteraFPGA
JTAGController
SOPCBuilderSystem
JTAGUART
图3SOPC系统结构
图4PWM波形及其Avalon逻辑结构
8-
-