Nios Ⅱ系统Avalon总线PWM设计_第1页
Nios Ⅱ系统Avalon总线PWM设计_第2页
Nios Ⅱ系统Avalon总线PWM设计_第3页
Nios Ⅱ系统Avalon总线PWM设计_第4页
Nios Ⅱ系统Avalon总线PWM设计_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Nios 系统Avalon总线PWM设计摘要:在nis系统设计中,spbuilder开发环境提供许多常用的设备模型,供开发者在系统中添加和调用。而对于其他新设备设计人员可以按照avaln总线标准将设备驱动程序集成到spbuilder的硬件抽象层中,同样可以加载使用,方便了用户开发一个自定制的片上系统。介绍nis嵌入式系统内集成avaln总线的p从外设,将p应用在嵌入式智能小车监控系统。关键词:p;nis系统;avaln总线;智能小车中图分类号:tp306文献标识码:a文章编号:1004-373x(2021)01-183-03pdesignfavalnbusnnissysteangyuhua,g

2、ushujun(llegeinfratinfengineering,nrthhinauniversityftehnlgy,beijing,100041,hina)abstrat:inthedesignfnissyste,spbuilderintegratesanygenerideviesdefrdevelpertuse.butfrtherdevies,thedriveranbeintegratedinthardareabstratlayerfthespbuilderardingtavalnbusnrs.italsanbeladedanddevelpsauser-definedsnvenient

3、ly.theethdfdesigningauser-definedavalndeviethrughintegratingpinthenissyste,andpisappliednintelligentvehilesysteareintrdued.keyrds:p;nissyste;avalnbus;intelligentvehile在nis系统的构建过程中,spbuilder开发环境集成了许多常用类型的设备模型,供开发者调用。在日新月异的嵌入式系统设计中开发环境所集成的接口设备是非常有限的,有时无法满足开发者的需要,spbuilder开发工具允许用户根据规那么扩展自己的所需设备,完成系统的设计

4、和开发,开发者按照avaln总线标准将设备驱动程序集成到spbuilder的硬件抽象层(hal)中,在spbuilder环境下加载使用,方便了用户开发一个自定制的片上系统1。本文通过在nis嵌入式系统内部集成了基于avaln总线的脉冲宽度调制(p)从外设,介绍了自定制avaln设备的过程。将其应用在嵌入式智能小车监控系统,为采用nisii处理器的开发者提供了一些方法和建议。1定制基于avaln总线的用户外设介绍nis的avaln总线不同于其他微处理器的固定外设,nis的外设是可以任意定制的,这使得用户可以根据详细的应用需求而定制。所有的nis系统外设都是通过avaln总线与nis软核相连,从而

5、进展数据交换。因此对于用户定义的外设必须遵从该总线协议才可与nis之间建立联络2。avaln信号接口定义了一组信号类型片癣读使能、写使能、地址、数据等,用于描绘主从外设上基于地址的读写接口。外设使用准确的信号与其内核逻辑进展接口,并删除会增加不必要开销的信号。在nis系统中一个自定义设备由如下几部分组成:(1)硬件文件:用hdl语言编写的描绘自定义设备元件逻辑的硬件描绘文件。(2)软件文件:用语言编写的设备存放器文件以及设备的驱动程序文件。(3)设备描绘文件(ptf):本文件描绘了设备的构造,包含spbuilder配置以及将其集成到系统中时所需要的信息。本文件由spbuilder根据硬件文件以

6、及软件文件自动生成。2基于nis系统的p设计p是利用数字输出来对模拟电路进展控制的一种非常有效的技术,广泛应用于从测量、通信到功率控制与变换的许多领域中。实际上p是一种对模拟信号电平进展数字编码的方法,通过高分辨率计数器的使用,方波的占空比被调制用来对一个详细模拟信号的电平进展编码。p信号仍然是数字的,因为在给定的任何时刻,满幅值的直流供电或者完全有,或者完全无。电压或电流源是以一种通或断的重复脉冲序列被加到模拟负载上。通即是直流供电被加到负载上,断即是供电被断开。只要带宽足够,任何模拟值都可以使用p进展编码。2.1硬件设计硬件文件指的是hdl文件,由以下几个模块组成:逻辑模块:描绘设备的逻辑

7、功能;存放器映射模块:为内部逻辑模块和avaln总线提供了通信接口;avaln总线接口模块:使avaln总线访问存放器从而完成相应的逻辑功能3。对于自定义的p也是由以上几部分模块组成。p按照以下要求设计:(1)任务逻辑按一个简单时钟进展同步操作。(2)任务逻辑使用32位计数器为p提供一个一定范围的周期和占空比,最大周期可设为232个lk。(3)可以使用微控制器来设置p的周期和占空比的值,因此要提供一个可对存放器进展读写的接口和控制逻辑。(4)定义存放器来存储p周期和占空比的值。(5)微控制器可以通过控制存放器的制止位关闭p输出。p任务逻辑的构造图如图1所示。图1p任务逻辑构造图p任务逻辑由输入

8、时钟(lk)、输出信号端口(put)、使能位、32位计数器以及一个32位比拟电路组成。lk作为32位计数器的时钟信号,32路比拟电路比拟32位计数器的当前值与占空比设定存放器(dutyylevalueregister)中的值来决定put的输出为高或低。当当前计数器中的值小于或等于占空比存放器中的值时,put输出低电平,否那么输出高电平。p周期设定存放器(dulnvalueregister)用来设置put的信号周期,当当前计数器的值等于周期设定存放器中的设定时,产生一个复位信号来去除计数器中的值。使能控制存放器(enablentrlregister)能使时钟信号有效或无效,即控制计数器是否计数,

9、从而保持put输出保持当前不变。p内部包括使能控制存放器(enablentrlregister)、周期设定存放器(dulnvalueregister)以及占空比设定存放器(dutyylevalueregister),如图1所示。设计中将各存放器映射成avaln从端口地址空间内一个单独的偏移地址。每个存放器都能进展读/写访问,软件可以读回存放器中的当前值。表1是p存放器以及偏移地址列表。表1p存放器以及偏移地址列表存放器名称地址偏移量r/描绘lkdivide00r/用来设定p输出周期的时钟数dutyyle01r/用来设定一个周期内p输出低电平的时钟个数enable10r/使能和关闭p输出,为1时

10、使能p输出保存11-p的avaln接口需要一个简单的从端口,该端口使用avaln总线信号完成存放器的读/写传输。p与avaln总线接口所需的信号如表2所示。表2p信号名称和avaln信号类型列表信号名称位宽方向描绘lk1输入同步数据传输与任务逻辑resetn1输入复位信号,低有效hipselet1输入片选信号address2输入2位地址,只有其中3个译码被使用rite1输入写使能信号ritedata32输入32位写数据值read1输入读使能信号readdata32输出32位读数据值p硬件设计文件包含表3所示的三个verilg编写的hdl文件。表3p硬件设计文件文件名描绘ptasklgi.vp的

11、核心代码,用于实现p的功能pregisterfile.vp的存放器逻辑文件pavalninterfae.v设计的顶层文件,为p任务逻辑模块文件和存放器模块文件提供avaln从接口逻辑ptasklgi.v完成p的逻辑功能,图2是此文件在quartus环境下的仿真波形。图2p的逻辑功能设计仿真波形图2中:lkdivide信号设定p输出周期的时钟数,dutyyle信号设定一个周期内p输出低电平的时钟个数,两个信号设定值决定p信号的占空比和周期。2.2软件设计假如要使nis软核可以访问自定义的设备,就必须根据先前的硬件设计按照硬件提取层的文件构造编写设备驱动程序4。以p为例说明hal的文件构造,如表4

12、所示。表4p的hal文件构造文件名描绘/ps软件驱动程序目录/in硬件接口文件目录avalnslavepregs.h存放器头文件/hal硬件抽象层驱动程序目录alteraavalnprutines.hp函数原型访问声明文件alteraavalnprutines.访问p的函数/testsftare系统测试程序目录p.用户程序2.3将p设计封装为spbuilder元件当硬件文件和软件文件都已建立好后,便可以通过spbuilder中带有的设备编辑器将自定义设备封装到开发环境内部,在构建nis系统时可以对其直接调用。在spbuilder中单击reatnepnent,创立新元件向导添加hdl文件、设置信

13、号和接口添加软件,最终生成包含描绘文件、用户存放硬件描绘文件的文件夹以及用来包含hal软件文件的hal文件夹。2.4构建nis系统构建好的内核文件在quartus中编译,生成pf配置文件下载到e2pr芯片中,接下来就可以使用niside开发环境编辑用户程序,以及通过jtagblaster或者usbblaster在目的板上对应用程序进展调试。3自定制外设p在嵌入式智能小车监控系统中的应用智能小车监控系统设计应用周立功公司sartsp核心板,fpga为altera公司的ep112,nis处理器作为嵌入式pu,机器人车电机共有两个,左轮电机和右轮电机。该部分包括电机驱动电路和电机控制电路,即左电机的

14、驱动与控制以及右电机的驱动与控制。驱动电路采用tireletrnis公司的大功率直流电机驱动芯片l289,调速控制采用p来控制汽车的前进速度,由fpga写入控制字,可得到不同占空比的p驱动信号,此p信号送入电机驱动芯片的控制端来调节速度。调用电机驱动程序,改变p占空比,输出p波,实现电机的速度控制。用p信号控制直流电动机速度,频率较低时,电动机不会稳定运转,频率较高时,p信号的驱动效率降低。经过屡次实际电路的测试,调试结果显示当频率在5001000hz时,效果较好。部分语言控制代码如下:vidritevelity(intdata)ir(ypbase,0,0 xff);ir(ypbase,1,data);4结语nis嵌入式处

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论