基于Nios II 的自定制PWM模块设计与实现
- 格式:pdf
- 大小:198.99 KB
- 文档页数:3
微 处 理 机M I CROPROCE SSORS基于N i os II软核处理器的P WM控制器设计*冯志华1,高社生1,张云安2(1.西北工业大学,西安710072;2.西安理工大学,西安710048)摘 要:介绍了A ltera公司最新开发的SOPC解决方案 N ios II软核处理器,提出了基于N i o s II嵌入式软核处理器的脉宽调制P WM控制器的硬件、软件设计方法,并给出了脉宽调制P WM 软件编写的程序。
实验结果表明,与现有的其它方法相比,该方法具有灵活、稳定、易维护、高效率等优点。
关键词:片上可重构系统(SOPC);脉宽调制(P WM);N ios II软核处理器中图分类号:TN4 文献标识码:B 文章编号:1002-2279(2008)01-0134-04The P WM Contro ller D esi gn Based on N i o s II So ft-C ore Pro cessorFE NG Zhi-hua1,GAO She-sheng1,Z HANG Yun-an2(1.N ort hw este rn Pol y te chnical Universit y,X i an710072,Ch i na;2.X i An Universit y Of T ec hnology,X i an710048,China)A bstract:F irstl y,t h e ne w techn i q ue o f SOPC N ios II so ft-core Processor i s introduced,Then based on the N ios II the m ethod about the hardw are and so ft w are design of P WM contro ller is proposed,A t last the soft w are prog ra m is g i v ed.Co mpared w ith the other design techn ique,this m e t h od has the advantage of flex i b ility,stab ility,easy-m ainta i n ability and h i g n-effic i e ncy.K ey w ords:SOPC;P WM;N i o s II So ft-C ore Processor1 引 言随着微电子和计算机技术的发展以及半导体生产工艺的提高,工业生产、信息家电中的监测控制、信号处理等集成电路设计已经进入了片上可重构系统(Syste m On a Progra mm able Ch i p)时代。
基于N I O SⅡ的P W M控制器I P核的设计梁 浩 王亚平(内蒙古科技大学信息工程学院,内蒙古包头014010)摘 要:提出了一种基于N I O SⅡ的P W M控制器I P核的设计方法,给出了P W M控制器的工作原理,阐述P W M控制器I P核的设计。
将设计好的P W M控制器安装到S O P CB u i l d e r与A v a l o n e总线挂接,最后将P W M控制器I P核添加到N I O SⅡ系统中进行测试。
测试结果表明该I P核测试效果良好,可以方便地应用在各种嵌入式系统中。
关键词:片上可编程系统;脉宽调制;N i o sⅡ软核处理器0 前言脉冲宽度调制(P W M),是英文“P u l s eW i d t h M o d u l a t i o n”的缩写,简称脉宽调制,是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术,P W M控制技术以其控制简单,灵活和动态响应好的优点而成为电力电子技术最广泛应用的控制方式,在计算机技术领域和自动化控制领域都有非常广泛的应用。
在很多嵌入式C P U中都有P W M 和定时计数器模块的I/O口供用户使用,在测量、通信到功率控制与变换等实际应用系统中,P W M是整个系统的技术核心,在嵌入式操作系统中定时计数器也是不可缺少的部分。
但是现在的F P G A市场上没有现成的P W M控制器I P核,给很多嵌入式设计者在使用时带来不便。
本文提出了一种基于N I O SⅡ的P W M控制器I P核的设计方法,设计中I P 核是基于A l t e r a公司的c y c l o n e I I芯片,该功能模块不仅可以作为独立的模块使用,而且可以嵌入到A l-t e r a公司提供的任何N I O S I I处理器中使用,并通过嵌入式系统对该模块进行控制和调试。
总体元件逻辑的硬件描述是通过V H D L语言实现。
V H D L语言是一种用于电路设计的高级语言。
基于Nios Ⅱ的PWM控制电路设计
余毅;马骋;贾惠波
【期刊名称】《微计算机信息》
【年(卷),期】2008(24)16
【摘要】本文详细论述了基于Altera Nios Ⅱ软核处理器的PWM控制电路的设计方法,介绍了系统设计的各个步骤.该电路在一块基于Altera Cyclone Ⅱ FPGA 的SOPC Board评估板上实现,完全满足设计要求.本文对基于NIOS II进行系统设计具有实际参考价值.
【总页数】2页(P7-8)
【作者】余毅;马骋;贾惠波
【作者单位】100084,北京,清华大学精密仪器与机械学系;100084,北京,清华大学精密仪器与机械学系;100084,北京,清华大学精密仪器与机械学系
【正文语种】中文
【中图分类】TP36
【相关文献】
1.基于SPWM的48V/500A全数字交流调速控制器主MOS管控制电路设计 [J], 康少华;杨成禹;吴学深;刘宏;颜庭辉;刘晴阳
2.基于NIOSⅡ的PWM 控制器IP核的设计 [J], 梁浩;王亚平
3.基于NiosⅡ软核处理器的PWM控制器设计 [J], 冯志华;高社生;张云安
4.基于PWM快速电磁阀的驱动控制电路设计 [J], 于正同; 时培燕; 孙锴
5.基于六西格玛设计的PWM信号控制电路设计应用 [J], 费帮国;吴军;蒋先庆
因版权原因,仅展示原文概要,查看原文内容请购买。
技术创新《微计算机信息》(测控自动化)2009年第25卷第9-1期360元/年邮局订阅号:82-946《现场总线技术应用200例》控制系统采用LabVIEW 的PWM 控制系统的设计Development of a PWM system based on LabVIEW(中国矿业大学徐州)纵慧慧郝继飞闫文杰杨思军ZONG Hui-hui HAO Ji-fei YAN Wen-jie YANG Si-jun摘要:本文介绍了虚拟仪器软件LabVIEW 的NI LabVIEW 仿真模块,并且利用LabVIEW 的可视化技术,直观、生动地模拟了PWM 控制系统的运行状况,使仿真具有良好的效果。
通过对PWM 控制系统的仿真研究,在工程实际应用中具有一定指导意义。
关键词:LabVIEW;PWM;仿真中图分类号:TP375文献标识码:AAbstract:The virtual instrument software LabVIEW and Simulation Module are introduced in this paper,by using LabVIEW visualiza -tion technology,it provides direct and vivid operating conditions of the PWM control system,the simulation can have good results.It has a certain significance in the practical application through the simulation of PWM control system.Key words:LabVIEW;PWM;Simulation文章编号:1008-0570(2009)09-1-0066-021引言伴随着微电子技术、计算机技术和网络技术的迅速发展及其在电子测量技术领域的应用,测量仪器不断进步,依次出现了数字化仪器、智能化仪器和虚拟仪器。
基于Nios Ⅱ的片上可编程系统(SOPC)实现的直流电机的
PWM调速系统
朱科星;郁建平
【期刊名称】《机械制造与自动化》
【年(卷),期】2007(036)001
【摘要】介绍了一种基于Nios Ⅱ软核处理器的直流电机PWM调速系统,并以此说明了SOPC思想及其实现途径.该系统以一片PFGA为核心,结构紧凑,体现了SOPC系统集成度高、灵活性强、扩展性好的特点.并且能大大缩短产品的开发周期.
【总页数】3页(P113-115)
【作者】朱科星;郁建平
【作者单位】东南大学,机械工程学院,江苏,南京,211189;东南大学,机械工程学院,江苏,南京,211189
【正文语种】中文
【中图分类】TM3
【相关文献】
1.基于NiosⅡ片上可编程系统(SOPC)实现的雷达监控系统 [J], 谢东辉;齐伟民
2.基于NiosⅡ的直流电机PWM调速系统设计 [J], 陶东娅;何剑春
3.探究基于单片机用软件实现直流电机PWM调速系统 [J], 马文
4.探究基于单片机用软件实现直流电机PWM调速系统 [J], 马文
5.基于单片机用软件实现直流电机PWM调速系统 [J], 李维军;韩小刚;李晋
因版权原因,仅展示原文概要,查看原文内容请购买。
NiosII软件模块规划一.概述。
由于本软件采用uCLinux嵌入式操作系统,所以各功能模块采用独立的线程实现其模块功能。
线程间通信采用邮箱或全局结构变量,线程同步、临界资源保护采用信号量。
整个软件主要包括以下模块:1,主启动模块;2,本地模块3,远程通讯模块4,告警模块5,输入输出模块6,存储处理模块二.各模块的主要功能实现和全局结构变量介绍1.主启动模块:程序入口点,负责初始化所有数据,启动其他各线程模块,并不断做数据合法性检查,若有异常,则复位CPU,其实现大体如下:void AppStartTask (void *p_arg){(void)p_arg;LED_ON_OFF(FALSE,COM_LED);LED_ON_OFF(TRUE,COM_LED);#if OS_TASK_STA T_EN > 0OSStatInit(); /* Determine CPU capacity */#endifLED_ON_OFF(FALSE,COM_LED);LED_ON_OFF(TRUE,COM_LED);GetLastReset();LED_ON_OFF(FALSE,COM_LED);LED_ON_OFF(TRUE,COM_LED);WatchDogInit();LED_ON_OFF(FALSE,COM_LED);LED_ON_OFF(TRUE,COM_LED);InitAllData(); //==== by szd 2006-03-09Init_Tasks(); //==== by szd 2005-10-10OSTimeDlyHMSM(0, 0, 0, 1);mWDT.en_dog_Start = TRUE;while (TRUE){mWDT.dog_Start = CLEAR_DOG;OSTimeDlyHMSM(0, 0, 0, 500);mWDT.dog_Start = CLEAR_DOG;////For LCD_Task Function#if (STORE_ENABLE > 0)Get2Str4RT(RealTime.GetTime);#endifmWDT.dog_Start = CLEAR_DOG;CheckSram();}}2.本地模块本地通信模块负责把串口接收的协议按直连协议解包,设置入相应的数据结构,或是从数据结构中读出。
收稿日期:2009-03-05基金项目:河南省教育厅科技攻关项目(2007480001)作者简介:石新峰(1973-),男,河南巩义人,讲师,硕士,主要从事基于FPGA 的嵌入式系统开发研究.基于Nios II 的自定制PWM 模块设计与实现石新峰,牟光臣(河南机电高等专科学校电子通信工程系,河南新乡453002)摘要:详细论述了基于NiosII 软核处理器的PWM 外设模块的整个设计过程,最后构建SOPC 系统,并在开发装置上进行了功能验证。
文中所述的方法对于开发其它的用户自定义外设具有一定借鉴意义,按照Avalon 总线规范将各种自定义外设的驱动程序集成到SOPC Builder 的硬件抽象层中,进行设计复用,可以大大提高设计效率和提升数字系统的性能。
关键词:NiosII ;PWM ;Avalon 总线;SOPC Builder 中图分类号:TP332文献标识码:A文章编号:1673-6060(2009)03-0060-03NiosII customized based on the PWM module of the design and implementationShi Xinfeng ,M ou Guangchen(Henan Electrical and Electronics Communication Engineering College,Xinxiang 453002,China )Abstract:The designing process of PWM ’peripheral module had been detailed based on NiosII,build the SOPCsystem and undertakes a functional verification on it.The design gives some referential help for developing other user -defined peripherals and it could improve the design efficiency and promote the performance function of the digital system by the means of integrating various user-defined peripheral driver in the rule of Avalon bus into the hardware abstract layer of SOPC Builder for design multiplxing.Key words:Nios II ;PWM ;Avalon bus ;SOPC Builder近年来,随着大规模FPGA 芯片的出现及相关开发平台的完善,为实现各种全数字化的PWM 系统提供了充分的技术基础.在开发各种信息家电或者其他工业控制系统时,将Nios II 软核处理器和PWM 等外设集成到系统主控FPGA 芯中,可以使得系统体积更小,成本更低,可靠性更高,更适合嵌入式系统的要求,而且具有现场可编程性,能够进行升级换代,具有广阔应用前景.1Nios II 嵌入式系统外设的基本结构Nios Ⅱ嵌入式处理器的外设除了SOPC Builder 编辑器中提供的常用模块外,还可以由设计者根据自己的需要,按照Nios Ⅱ硬件抽象层(HAL )的元件定义规范编写自己的设备文件,并予以封装,从而在以后的开发中像其它常用外设一样进行复用.自定义设备的文件系统如图1所示,通常由如下几部分组成,①硬件文件(.v 或.vhd ):用HDL 语言编写的自定义设备文件;②软件文件(.h ):用C 语言编写的设备寄存器定义文件以及设备的驱动程序文件;③设备描述文件(.Ptf ):本文件描述设备的结构,以及将其集成到系统中时所需要的信息.由SOPCBuilder 根据其硬件及软件文件自动生成.硬件抽象层(HAL )为用户程序控制一般类型的外围硬件设备提供了标准的C 语言函数库,接口函第37卷第3期373Vol.No.河南科技学院学报Journal of Henan Institute of Science and Technology2009年9月2009Sep.60数与外设的读写操作等密切相关.对于自定义设备可将驱动程序集成到HAL 库中,使系统对其操作透明化.2PWM 组件定制2.1组件功能要求本设计的PWM 按下列功能要求进行设计[1]:(1)任务逻辑使用32位计数器为PWM 提供一个一定范围的周期和占空比,最大周期可设为232个CLK;(2)使用Nios II 32位软核处理器来设置PWM 的周期和占空比的值.为此需提供一个可对PWM 寄存器进行读/写的接口和控制逻辑;(3)定义寄存器来存储PWM 周期和占空比;(4)Nios II 软核可通过控制寄存器的禁止位来关闭PWM 输出.PWM 的输出将连接到FPGA 芯片外的一个直流电机上,通过控制PWM 外设的寄存器对电机转速进行控制.按照设计要求,设定PWM 外设共有3个寄存器,分别为:①Clock_Div :32位,控制信号周期;②Duty_Cycle :32位,控制脉冲宽度(即占空比);③Control :32位,最后一位有效.2.2PWM 模块的硬件设计经过上述分析,可知PWM 设计的主要内容为以下几个方面:(1)功能逻辑设计:用硬件描述语言描述模块功能,这是设计的关键步骤;(2)寄存器定义:寄存器提供功能逻辑模块与外界交换信息的途径,通过访问控制寄存器的值,用户可以对Avalon 接口的外设进行控制,所以需要正确完备地定义寄存器名称并设定其各自地址;(3)Avalon 接口:Avalon 接口信号(即功能逻辑电路的接口信号)是硬件逻辑与Avalon 总线进行连接的通道,使Nios II 软核通过Avalon 总线访问寄存器,实现相关控制功能,故而在定制模块时应该正确指定接口的端口类型及数据类型.2.3PWM 功能逻辑设计PWM 功能逻辑结构如图2所示,由时钟(CLK )、PWM 输出、周期设置寄存器、使能控制寄存器、占空比寄存器、32位计数器以及32位的比较电路等组成.CLK 作为32位计数器的时钟信号,计数器的计数值通过32位比较电路与占空比设定寄存器中的值进行比较,从而决定PWM 输出高电平或低电平.计数器的值小于或等于占空比寄存器时,PWM 端子输出低电平,否则输出为高电平.用PWM 周期设定寄存器来设置PWM 输出信号的周期.计数器的值等于周期设定寄存器中的设定值时,产生复位信号来清除计数器中的值.使能控制寄存器控制时钟信号CLK 有效或无效,即控制计数器记数与否,从而开启或者禁止PWM 波形的输出.2.4PWM 寄存器定义及地址指定为了实现灵活控制,需要将使能控制寄存器、周期设定寄存器以及占空比设置寄存器等3个寄存器映射到Avalon 端口地址空间内的单独偏移地址[2],以使每个寄存器都能被读写.为此,需要设计两位地址,产生4个地址空间,用以区分三个寄存器.其定义及地址指定如表1所示,寄存器定义文件扩展名为“.h ”.2.5PWM Avalon 接口逻辑的设计本设计接口信号列表如表2所示.除此以外还有一个pwm_out 接口,但它图2PWM 功能逻辑结构图1Nios II 外设基本结构用户程序(C/C++语言编写)C 标准库HAL 用户接口函数设备驱动程序(HDL 编写)系统硬件电路系统外部被控对象或输入设备Avalon Slave端口信号周期设置寄存器使能控制寄存器占空比设置寄存器清零信号使能信号CLK32位计数器PWM 输出石新峰等:基于Nios II 的自定制PWM 模块设计与实现第3期61表1寄存器定义及地址偏移量寄存器名称地址偏移操作属性功能描述Clock_Div Duty_Cycle Control Reservd00011011R/W R/W R/W --周期设定占空比设定输出控制保留定义表2接口信号信号名Avalon总线类型宽度方向描述clk reset cs addr write Wr_data read rd_dataClock Resetn Chip selectn Address Write Writedata Read Readdata1112132132输入输入输入输入输入输入输入输出时钟复位片选地址写使能32位写读使能32位读不属于Avalon 总线信号,故在表中不予列出.一个Avalon Slave 接口可以有clk ,address ,chipselect_n ,read ,readdata_n ,write 及writdat_n 等信号,但这些信号都不是必需的.Nios II 外设通过Avalon 总线与CPU 相连,作为从外设受处理器的控制,所以必须按照Avalon 接口规范定义接口信号,才能实现对寄存器读写[3].2.6在SOPC 编辑器中完成组件定制在SOPC Builder 编辑器完成定制,步骤如下:(1)执行SOPC Builder 编辑器的File/New Component 命令,弹出Component Editor 编辑界面;(2)单击HDL Files 标签,添加HDL 文件,编译通过后进入下一步;(3)单击Signals 标签定义端口类型;(4)单击Component 标签填写相关信息,然后单击Finish 完成定制.3SOPC 系统构建建立一个SOPC 系统,添加cpu 、jtag_uart 、sys_clk_timer 、epcs_controller 、button_pio 、led_pio 、seven_seg_pio 、ext_sram 、flash_8M 、my_pwm1、my_pwm2、ext_mem 、sysid 等组件.本系统中添加了两个PWM 模块,用于两个对象的控制,根据控制要求,其功能可不同.自动分配地址及中断后,单击generate按钮生成系统,然后返回Quartus II 原理图编辑器添加必要外部逻辑模块,完成整体设计并锁定引脚.根据控制要求,在Nios II IDE 环境中新建项目并编写程序,程序编译链接完成后,键入相应的速度级别,可看到电机开始以不同转速运转[4].4嵌入式逻辑分析仪为了实时观测PWM 信号及其它接口信号,可以设计一个Signal Tap II 嵌入式逻辑分析仪,并添加到当前工程中.逻辑分析仪和NiosII IDE 软件可以同时利用JTAG 下载线进行数据传输,改变转速时,利用嵌入式逻辑分析仪看到的波形如表3所示,随着转速设定的提高,占空比增大,电机转速加快.在Quartus II8.0以及NiosII IDE8.0软件中,Signal Tap II 嵌入式逻辑分析仪可以和编译器共用JTAG 下载线,软件调试和运行中每一个单步的运行结果都可以在Signal Tap II 嵌入式逻辑分析仪界面中看到,大大提高了设计的成功率.5结束语基于Nios II 软核处理器的SOPC 系统具有良好开放性和灵活性,用户可以利用SOPC Buider 工具将自己设计中需要的各种外设组件完成定制后集成到系统中,可以使用户自主开发一个自定制片上系统,提高了效率,缩短了开发周期.本文通过PWM 设计实例,详细地说明了如何自定制外围设备的方法,并通过硬件测试证明了其可行性和正确性.参考文献:[1]徐光辉,程东旭.基于FPGA 的嵌入式开发与应用[M ].北京:电子工业出版社,2005:185-200.[2]方茁,陈泽文,彭澄廉.SOPC 设计中的用户自定义逻辑[J ].计算机工程,2004,30(17):35-38.[3]王玉峰,郭春凤.SOPC 中自定义外设和自定义指令性能分析[J ].单片机与嵌入式系统应用,2007,(11):42-45.[4]陶东娅,何剑春.基于Nios II 的直流电机PWM 调速系统设计[J ].电子元器件应用,2008,10(12):52-56.(责任编辑:刘明)河南科技学院学报2009年62。