FPGANios-II-开发实例.docx
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- FPGANios II 开发 实例
- 资源描述:
-
5.4 Nios II 开发实例 5.4.1系统软硬件需求分析(见ppt) 根据所用到的外设和器件特性,在Qsys中建立系统要添加的模块如下: (l)Nios Ⅱ 32 bit CPU。 (2)Jtag uart。 (3)on-chip memory。 (4)定时器 timer。 (5)按键PIO。 (6)LCD PIO。 5.4.2 系统硬件设计 1.创建一个Quartus Ⅱ工程 在Quartus Ⅱ软件中,利用创建工程向导新建工程clock,根据所用开发板类型选择相应器件,本例所用的是台湾友晶科技的DE2-115开发板,开发板上的FPGA器件为Cyclonc IV E系列EP4CE115F29C7芯片。在QuartusⅡ中选择该芯片,如图5 .31所示。 File->New 选Project 工作目录:D:/altera_design/my_clock 工程名:my_clock Page 2 of 5 Page 3 of 5 Page 4 of 5 Page 5 of 5 点finish 2.创建NiosⅡ系统模块 (1)启动Qsys ①在Quartus Ⅱ中选择菜单Tools®Qsys命令,或者直接点击上具栏中Qsys的图标弹出如图5.32所示的Qsys界面。 ②点击Clock Setting进行时钟设置,这里设为默认值,即50M,如图5.33所示。 13.1中View->Clock (2)添加CPU和外围器件。从Qsys的元件池中选择以下元件加入到当前设计的系统中: Nios Ⅱ32 bit CPU、jtag uart、片上存储器on-chip memory、定时器、按键PIO、LCD。 ①添加Nios Ⅱ32 bit CPU。 a. 在Embedded Processors模块下,选择Nios ⅡProcessor。 b. 双击或点击Add,会出现Nios Ⅱ的设置向导(名为nios2_qsys_0)。 e.在Nios Ⅱ Core栏中选择Nios Ⅱ /S选项,如图5.34所示。 d.点击Caches and Memory Interfaces标签页,在Instruction Cache中选择4Kbytes,如图5.35所示。 e. 点击JTAG Debug Module标签页,Debug level选择Level 1,如图5.36所示。 f. 点击Finish回到Qsys界面。 g. 将nios2_qsys_0重命名为cpu,如图5.37所示。 选Rename ,输入cpu h. 将cpu的clk和reset_n分别与系统时钟clk_0的clk和clk_reset相连,如图5.38所示。 注意:对模块命名时应遵循以下规则: 名字最前面应该使用英文。 能使用的字符只有英文字母、数字和下划线“_”。 不能连续使用下划线“_”符号,在名字的最后也不能使用下划线“_”。 ②添加JTAG UART接口 JTAG UART是NiosⅡ系统嵌入式处理器新添加的接口元件,通过内嵌在Altera FPGA内部的JTAG电路,可实现在PC主机和Qsys系统之间进行串行字符流通信。 a. 在Qsys左侧的搜索栏中输入JTAG UART; 选择Interface protocols®Serial®JTAG UART并双击,或点击Add按钮,会出现JTAG UATT-jtag_uart_0的设置向导,如图5.39所示。 b. 系统其他选择默认设置,点击JTAG UART设置向导Finish按钮,返回Qsys窗口。 c. 将jtag_uart_0重命名为jtag_uart。 d. 进行clk、reset以及master-slave的连线,如图5 .40所示。 ③添加定时器 定时器对于HAL系统库中器件的驱动非常有用。比如JTAG UART驱动使用定时器来实现10秒钟的暂停。添加定时器执行以下步骤: a. 在Qsys搜索栏中输入timer,选择 Peripherals下Microcontroller peripherals下的interval timer并双击鼠标左键,或点击Add按钮,会出现Avalon Timer-timer_0的设置向导,如图5.41所示。 b.在设置向导的Timeout Period选项中选择1 ms,其他选项保持默认设置。 c.点击Finish按钮,返回Qsys窗口。 e. 将timer_0重命名为system_timer。 f. 进行clk、reset和s1的连线,连线如图5 .42所示。 ④添加片上存储器on-chip memory a. 在Qsys搜索栏中输入On-Chip Memory, 选择Memories and Memory controllers下On-Chip下On-Chip Memory(RAM or ROM)并双击鼠标左键,或点击Add按钮,会出现On-Chip Memory(RAM or ROM)-onchip_memory2_0的设置向导,如图5 .43所示。 b. Memory type选择RAM,Total memory size选择102400(100K)。 c. 点击Finish按钮,返回Qsys窗口。 d.进行clk1、reset1和s1的连线,连线如图5.44所示。 ⑤添加Button PIO a. 在Qsys搜索栏中输入pio, 选择peripherals®Mierocontroller peripherals®pio并双击鼠标左键,或点击Add按钮,会出现PIO(Parallel I/O)-pio_0的设置向导,如图5 .45所示。 b. 确定以下选项:Width为4bits,Direction选择Input。 c. 在Edge captue register 选取Synehronously capture, Edge Type选择FALLING。 d.在Interrupt下选择Generate IRQ,IRQ Type选择EDGE。 e.设置完成,如图5.45所示。点击Finish按钮,返回Qsys窗口。 f. 将pio_0重命名为button_pio。 g. 进行clk、reset和s1的连线,连线如图5.46所示。 ⑥添加LCD a. 在Qsys搜索栏中输入lcd, 选择Peripherals ®Display®Altera Avalon LCD 16207并双击鼠标左键,或点击Add按钮,会出现Altera Avalon LCD 16207-lcd_16207_0的设置向导。 b. 直接点击Finish,返回Qsys窗口。 c. 将Icd_16207_0重命名为lcd。 d. 进行clk、reset和control_slave的连线,连线如图5.47所示。 (3)指定基地址和分配中断号 ①Qsys会给所添加的系统模块分配默认的基地址。 设计者可以更改Qsys分配给系统模块基地址的默认值。 没有分配给系统模块基地址时Address Map标签页中显示 在Qsys中选择菜单System->Auto Assign Base Adderss命令。 Auto Assign Base Address可以使Qsys给其他没有锁定的地址重新分配地址,从而解决地址映射冲突问题。 图5.48所示的Address Map标签页中显示了完整的系统配置及其地址映射。 ②中断号的分配 本实例工程中用到了定时器和按键两个中断,根据系统功能,已知按键中断优先级要高于定时器中断,这里将定时器中断优先级设为6,按键中断优先级设为5。 具体设置方法是:先将定时器中断与cpu中断连接,用鼠标右键点击system-timer,选择connections®System_timer.irq®cpu.d_irq,如图5.49所示; 然后在其后面自动生成的中断号“0”上双击鼠标左键,将其修改为“6”。按键中断的设置与此类似,最终中断分配后如图5.50所示。 考虑Jtag-uart中断 此时尚有2个错误 (4)Nios Ⅱ处理器参数设置 在Qsys的System Contents标签页中,在添加的Nios Ⅱ处理器上双击鼠标左键,弹出如图5.51所示的Nios Ⅱ Processor对话框, 在该界面中设置Reset Vector和Exception vector。 由于本例中Nios Ⅱ的程序存储器和程序执行区均为片上RAM,因此这里Reset Vector和Exception Vector均选择片上存储器onchip_memory2_0.s1。(错误消失了) 实际工程中可以根据需要将Reset Vector指定为系统中添加的Flash控制器,将Exception Vector指定为系统中添加的SDRAM控制器。 点击Finish按钮返回到Qsys界面,可以看到所有Qsys系统错误都消失了。 (5)生成系统模块 ①在Qsys界面中选择Generation标签页,如图5 .52所示。 应该是:在Generate菜单下选择Generate… ②在Generation标签页中进行系统生成前最后一步的设置,该工程中均使用默认设置。 ③点击左下角Generate按钮。Qsys根据用户设定的选项不同,在生成的过程中执行的操作过程将有所不同。 点save 生成过程 生成完毕 点close ④系统成功产生后,可点击菜单File®Exit命令退出Qsys。 3.在原理图(BDF)文件中添加Qsys生成的系统符号 在Qsys系统成功产生后会生成用户系统模块的元件符号(symbol),可以像添加其他QuartusⅡ的元件符号一样将其添加到当前项目的原理图(B DF)文件中。 在本例中就可将生成的clock系统元件符号添加到BDF文件中。步骤如下: File->New 选Block Diagram/Schematic File,结果如下图所示: (1) 双击BDF文件窗口,出现Symbol对话框,如图5.53所示。 (2)在对话框中点击Project目录。 (3)在project下选择clock,会出现代表所建立的NiosⅡ系统的元件符号。 (4)点击OK,将其放入BDF文件中。 (5)将clock与输入、输出接口相连。 (6)右击该图标,选择Generate Pins for symbol Ports, 然后编译工程。 (7)分配引脚,完成系统的硬件设计,如图5.54所示。 Assignment->Pin Planner 分配引脚如下: 选processing->Start I/O Assignment Analysis 结果有9个错误 删除前4个引脚的分配 再进行processing->Start I/O Assignment Analysis 结果错误消失。 选close退出pin planner。可见引脚都已经分配。 4.编译Quartus Ⅱ的工程设计文件 选择菜单Processing®start Compilation命令对工程设计文件进行完全编译。 最后一步由于没有license而无法完成。 5.配置FPGA(返回教材和ppt) 将QuartusⅡ编译后产生的FPGA配置文件(clock.sof)下载到目标板上。展开阅读全文
咨信网温馨提示:1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。




FPGANios-II-开发实例.docx



实名认证













自信AI助手
















微信客服
客服QQ
发送邮件
意见反馈



链接地址:https://www.zixin.com.cn/doc/3373389.html