第10章 CPLDFPGA的高级应用.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第10章 CPLDFPGA的高级应用

PWM控制器的各个寄存器设定介绍 PWM 控制器内部包括占空比设定寄存器、周期设定寄存器以及使能控制寄存器,在该设计中将各个寄存器映射为Avalon Slave端口地址空间内一个单独的偏移地址,每个寄存器都能进行读/写访问。 表 10–1 寄存器列表 寄存名 地址偏移量 属性 描述 CLOCK_DIVIDER 0x00 R/W PWM的周期=系统频率/ CLOCK_DIVIDER DUTY_CYCLE 0x01 R/W PWM的占空比=DUTY_CYCLE / CLOCK_DIVIDER ENABLE_CTRL 0x02 R/W D31..D1 一直为0,D0 为使能位 D0= 1,使能PWM D0 = 0,关闭PWM -- 0x03 -- 不使用 表 10–2 PWM接口信号列表 HDL中的信号名 Avalon接口类型 宽度/位 方向 描述 clk Clock 1 input 同步数据传输 resetn reset_n 1 input 复位信号,低有效 chip_select chipselect 1 input 片选信号 address Address 2 input 2位地址 write Write 1 input 写使能信号 write_data Writedata 32 input 32位写数据值 read Read 1 input 读使能信号 read_data readdata 32 output 32位读数据值 pwm_out 1 output PWM输出信号,不属于Avalon 接口信号 将PWM 控制器设计为SOPC Builder 元件步骤介绍 将PWM 控制器设计文件封装为SOPC Builder 元件 编写PWM Controller的HDL 设计文件,具体参考实例16 新建一个Quartus II 工程。 在SOPC Builder中,单击“Create new component”,添加HDL设计文件。 图 10–28 定制元件和添加HDL设计文件窗口 信号的设置 图 10–29 信号设置 修改Avalon Slave名称 为“PWM_Slave”,在 “Slave addressing”栏 中选择端口的地址对齐 方式为NATIVE,即静态 地址对齐方式,修改 “Read Wait =0, Write Wait=0”。 图 10–30 Avalon Slave接口设置 图 10–31 Component Wizard 选项卡 点击 按钮 图 10–32 创建元件的消息框 图 10–33 创建的PWM元件 编写PWM 控制器的HAL驱动并验证创建的元件 添加刚才创建的pwm元件,双击 ,即可添加pwm元件 单击 重新生成系统,成功后单击 退出,并返回Quartus II。在Quartus II中将弹出是否要更新符号提示,选择“Yes”更新,将pwm_out分配到LED0 上面,用PWM 来控制LED0的亮度。选择File-Save,然后选择Processing-Start Compilatioion或者单击 开始全程编译。将生成的配置文件下载到FPGA中。 启动Nios II IDE,选择File-New Project-Altera Nios II-Nios II C/C++ Application,建立一个新工程,在“Select Project Template”下选择“Hello World”,在Name 中输入工程名称,如Test_pwm。设置完成后0,按 完成工程创建。 图 10–34 创建PWM测试工程 编写底层硬件的HAL驱动程序,主要是编写pwm_regs.h,altera_avalon_pwm.c,altera_avalon_pwm.h,编写完成添加到工程中,具体程序请参考实例16。 图 10–35 添加PWM HAL驱动程序 在hello_world.c中使用编写好的API 函数。 图 10–36 程序清单 右击Test_pwm,在弹出的快捷菜单中选择Builder Project。在Build完成之后,选择Run-Run AS-Nios II Hardware。 图 10–37 Console 端口信息 10.4 基于HardCopy技术的FPGA设计 FPGA因为可编程的特性,在产品开发上市、问题跟踪与解决等方面都有着无与伦比的优势,而且整体价钱比较低,但是当一个产品成型并且要量产的时候,FPGA总体的价格比ASIC会高很多,另外FPGA

文档评论(0)

ligennv1314 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档