论文网首页|会计论文|管理论文|计算机论文|医药学|经济学论文|法学论文|社会学论文|文学论文|教育论文|理学论文|工学论文|艺术论文|哲学论文|文化论文|外语论文|论文格式
中国论文网

用户注册

设为首页

您现在的位置: 中国论文网 >> 计算机论文 >> 计算机应用论文 >> 正文 会员中心
 计算机应用论文   计算机理论论文   计算机网络论文   电子商务论文   软件工程论文   操作系统论文   通信技术论文
Nios Ⅱ系统Avalon总线PWM设计
摘 要:在nios ⅱ系统设计中,sopc builder开发环境提供许多常用的设备模型,供开发者在系统中添加和调用。而对于其他新设备设计人员可以按照avalon总线规范将设备驱动程序集成到sopc builder的硬件抽象层中,同样可以加载使用,方便了用户开发一个自定制的片上系统。介绍nios ⅱ嵌入式系统内集成avalon总线的pwm从外设,将pwm应用在嵌入式智能小车监控系统。
  关键词:pwm;nios ⅱ系统;avalon总线;智能小车
  中图分类号:tp306文献标识码:a
  文章编号:1004-373x(2010)01-183-03
  
  pwm design of avalon bus on nios ⅱ system
  wang yuhua,guo shujun
  (college information of engineering,north china university of technology,beijing,100041,china)
  abstract:in the design of nios ⅱ system,sopc builder integrates many generic devices mode for developer to use.but for other devices,the driver can be integrated into hardware abstract layer of the sopc builder according to avalon bus norms.it also can be loaded and develops a user-defined soc conveniently.the method of designing a user-defined avalon device through integrating pwm in the nios ⅱ system,and pwm is applied on intelligent vehicle system are introduced.
  keywords:pwm;nios ⅱ system;avalon bus;intelligent vehicle
  
  在nios ⅱ系统的构建过程中,sopc builder开发环境集成了许多常用类型的设备模型,供开发者调用。WwW.11665.com在日新月异的嵌入式系统设计中开发环境所集成的接口设备是非常有限的,有时无法满足开发者的需要,sopc builder开发工具允许用户依据规则扩展自己的所需设备,完成系统的设计和开发,开发者按照avalon总线规范将设备驱动程序集成到sopc builder的硬件抽象层(hal)中,在sopc builder环境下加载使用,方便了用户开发一个自定制的片上系统[1]。本文通过在nios ⅱ 嵌入式系统内部集成了基于avalon总线的脉冲宽度调制(pwm)从外设,介绍了自定制avalon设备的过程。将其应用在嵌入式智能小车监控系统,为采用nios ii 处理器的开发者提供了一些方法和建议。
  
  1 定制基于avalon总线的用户外设介绍
  
  nios ⅱ的avalon 总线不同于其他微处理器的固定外设,nios ⅱ的外设是可以任意定制的,这使得用户可以根据具体的应用需求而定制。所有的nios ⅱ系统外设都是通过avalon 总线与nios ⅱ软核相连,从而进行数据交换。因此对于用户定义的外设必须遵从该总线协议才可与nios ⅱ之间建立联系[2]。
  avalon信号接口定义了一组信号类型片选、读使能、写使能、地址、数据等,用于描述主从外设上基于地址的读写接口。外设使用准确的信号与其内核逻辑进行接口,并删除会增加不必要开销的信号。
  在nios ⅱ系统中一个自定义设备由如下几部分组成:
  (1) 硬件文件:用hdl语言编写的描述自定义设备元件逻辑的硬件描述文件。
  (2) 软件文件:用c语言编写的设备寄存器文件以及设备的驱动程序文件。
  (3) 设备描述文件(ptf):本文件描述了设备的结构,包含sopc builder配置以及将其集成到系统中时所需要的信息。本文件由sopc builder根据硬件文件以及软件文件自动生成。
  
  2 基于nios ⅱ系统的pwm设计
  
  pwm是利用数字输出来对模拟电路进行控制的一种非常有效的技术,广泛应用于从测量、通信到功率控制与变换的许多领域中。实际上pwm是一种对模拟信号电平进行数字编码的方法,通过高分辨率计数器的使用,方波的占空比被调制用来对一个具体模拟信号的电平进行编码。pwm信号仍然是数字的,因为在给定的任何时刻,满幅值的直流供电或者完全有,或者完全无。电压或电流源是以一种通或断的重复脉冲序列被加到模拟负载上。通即是直流供电被加到负载上,断即是供电被断开。只要带宽足够,任何模拟值都可以使用pwm进行编码。
  2.1 硬件设计
  硬件文件指的是hdl文件,由以下几个模块组成:
  逻辑模块:描述设备的逻辑功能;
  寄存器映射模块:为内部逻辑模块和avalon总线提供了通信接口;
  avalon总线接口模块:使avalon总线访问寄存器从而完成相应的逻辑功能[3]。
  2.1.1 逻辑结构
  对于自定义的pwm也是由以上几部分模块组成。pwm按照以下要求设计:
  (1) 任务逻辑按一个简单时钟进行同步操作。
  (2) 任务逻辑使用32位计数器为pwm提供一个一定范围的周期和占空比,最大周期可设为232个clk。
  (3) 可以使用微控制器来设置pwm的周期和占空比的值,因此要提供一个可对寄存器进行读写的接口和控制逻辑。
  (4) 定义寄存器来存储pwm周期和占空比的值。
  (5) 微控制器可以通过控制寄存器的禁止位关闭pwm输出。
  pwm任务逻辑的结构图如图1所示。
  图1 pwm任务逻辑结构图
  pwm任务逻辑由输入时钟(clock)、输出信号端口(pwmout)、使能位、32位计数器以及一个32位比较电路组成。clk作为32位计数器的时钟信号,32路比较电路比较32位计数器的当前值与占空比设定寄存器(duty cycle value register)中的值来决定pwmout的输出为高或低。当当前计数器中的值小于或等于占空比寄存器中的值时,pwmout输出低电平,否则输出高电平。pwm周期设定寄存器(modulon value register)用来设置pwmout的信号周期,当当前计数器的值等于周期设定寄存器中的设定时,产生一个复位信号来清除计数器中的值。使能控制寄存器(enable control register)能使时钟信号有效或无效,即控制计数器是否计数,从而保持pwmout输出保持当前不变。
  pwm内部包括使能控制寄存器(enable control register)、周期设定寄存器(modulon value register)以及占空比设定寄存器(duty cycle value register),如图1所示。设计中将各寄存器映射成avalon 从端口地址空间内一个单独的偏移地址。每个寄存器都能进行读/写访问,软件可以读回寄存器中的当前值。表1是pwm寄存器以及偏移地址列表。

表1 pwm寄存器以及偏移地址列表
  寄存器名称地址偏移量r/w描 述
  clockdivide00r/w用来设定pwm输出周期的时钟数
  dutycycle01r/w用来设定一个周期内pwm输出低电平的时钟个数
  enable10r/w使能和关闭pwm输出,为1时使能pwm输出
  保留11--
  pwm的avalon接口需要一个简单的从端口,该端口使用avalon总线信号完成寄存器的读/写传输。pwm与avalon总线接口所需的信号如表2所示。
  表2 pwm信号名称和avalon信号类型列表
  信号名称位宽方向描 述
  clock1输入同步数据传输与任务逻辑
  resetn1输入复位信号,低有效
  chipselect1输入片选信号
  address2输入2位地址,只有其中3个译码被使用
  write1输入写使能信号
  writedata32输入32位写数据值
  read1输入读使能信号
  readdata32输出32位读数据值
  2.1.2 硬件设计文件与仿真
  pwm硬件设计文件包含表3所示的三个verilog编写的hdl文件。
  表3 pwm硬件设计文件
  文件名描 述
  pwmtasklogic.vpwm的核心代码,用于实现pwm的功能
  pwmregisterfile.vpwm的寄存器逻辑文件
  pwmavaloninterface.v设计的顶层文件,为pwm任务逻辑模块文件和寄存器模块文件提供avalon从接口逻辑
  pwmtasklogic.v完成pwm的逻辑功能,图2是此文件在quartus ⅱ环境下的仿真波形。
  图2 pwm的逻辑功能设计仿真波形
  图2中:clockdivide信号设定pwm输出周期的时钟数,dutycycle信号设定一个周期内pwm输出低电平的时钟个数,两个信号设定值决定pwm信号的占空比和周期。
  2.2 软件设计
  如果要使nios软核能够访问自定义的设备,就必须根据先前的硬件设计按照硬件提取层的文件结构编写设备驱动程序[4]。以pwm为例说明hal的文件结构,如表4所示。
  表4 pwm的hal文件结构
  文件名描 述
  /pwmsw软件驱动程序目录
  /inc硬件接口文件目录
  avalonslavepwmregs.h寄存器头文件
  /hal硬件抽象层驱动程序目录
  alteraavalonpwmroutines.hpwm函数原型访问声明文件
  alteraavalonpwmroutines.c访问pwm的函数
  /testsoftware系统测试程序目录
  pwm.c用户程序
  2.3 将pwm设计封装为sopc builder元件
  当硬件文件和软件文件都已建立好后,便可以通过sopc builder中带有的设备编辑器将自定义设备封装到开发环境内部,在构建nios ⅱ系统时可以对其直接调用。在sopc builder中单击creat new component,创建新元件向导添加hdl文件、设置信号和接口添加软件,最终生成包含描述文件、用户存放硬件描述文件的文件夹以及用来包含hal软件文件的hal文件夹。
  2.4 构建nios系统
  构建好的内核文件在quartus ⅱ中编译,生成pof配置文件下载到e2prom芯片中,接下来就可以使用nios ide开发环境编辑用户程序,以及通过jtag blaster或者usb blaster在目标板上对应用程序进行调试。
  
  3 自定制外设pwm在嵌入式智能小车监控系统中的应用
  
  智能小车监控系统设计应用周立功公司smartsopc核心板,fpga为altera公司的ep1c12,nios ⅱ处理器作为嵌入式cpu,机器人车电机共有两个,左轮电机和右轮电机。该部分包括电机驱动电路和电机控制电路,即左电机的驱动与控制以及右电机的驱动与控制。驱动电路采用ctmicroelectronics 公司的大功率直流电机驱动芯片l289,调速控制采用pwm来控制汽车的前进速度,由fpga写入控制字,可得到不同占空比的pwm驱动信号,此pwm信号送入电机驱动芯片的控制端来调节速度。调用电机驱动程序,改变pwm占空比,输出pwm波,实现电机的速度控制。用pwm信号控制直流电动机速度,频率较低时,电动机不会稳定运转,频率较高时,pwm信号的驱动效率降低。经过多次实际电路的测试,调试结果显示当频率在500~1 000 hz时,效果较好。部分c语言控制代码如下:
  void writevelocity(int data)
  {
  iowr(mypwmbase,0,0xff);
  iowr(mypwmbase,1,data);
  }
  
  4 结 语
  
  nios ⅱ嵌入式处理器是用户可配制的通用risc嵌入式处理器,是一个非常灵活和强大的处理器。基于此种技术的嵌入式系统设计可以方便地将一般设备和自定义设备模块集成到系统中,丰富了接口资源,从而能使用户快速地开发一个自定制片上系统,提高了效率,缩短了开发周期。本文通过自定制pwm外围设备的方法,并通过硬件测试证明了方案的可行性和正确性,希望能够为采用nios ⅱ处理器的开发人员提供一些方法和建议。
编辑整理  
  参考文献
  [1]高枫,玉松.基于nios自定制avalon设备的设计与实现[j].
  • 上一个计算机论文:
  • 下一个计算机论文:
  •  作者:王玉花 [标签: 系统 总线 ]
    姓 名: *
    E-mail:
    评 分: 1分 2分 3分 4分 5分
    评论内容:
    发表评论请遵守中国各项有关法律法规,评论内容只代表网友个人观点,与本网站立场无关。
    浅析Mostaganem700套项目工期索赔案例
    浅谈利用GHOST软件维护操作系统
    CDIO模式下《计算机操作系统》课程教学改革
    基于CDIO理论的《计算机应用基础》课程教学
    基于CDIO的高职软件开发类专业课程体系的研
    基于CDIO理念的软件开发类课程教学项目设计
    展望Dextroscope虚拟现实手术规划系统在神经
    PHOTOSHOP教学网站的应用研究
    基于Cent OS操作系统的虚拟机应用系统设计探
    浅议计算机校园网络中DOS命令的应用技巧
    用Action script动作脚本制作flash下雨特效
    浅析论提高 Photoshop平面设计 课程教学效果
    | 设为首页 | 加入收藏 | 联系我们 | 网站地图 | 手机版 | 论文发表

    Copyright 2006-2013 © 毕业论文网 All rights reserved 

     [中国免费论文网]  版权所有