收藏 分销(赏)

FPGANios-II-开发实例.docx

上传人:快乐****生活 文档编号:3373389 上传时间:2024-07-03 格式:DOCX 页数:35 大小:10.43MB
下载 相关 举报
FPGANios-II-开发实例.docx_第1页
第1页 / 共35页
FPGANios-II-开发实例.docx_第2页
第2页 / 共35页
FPGANios-II-开发实例.docx_第3页
第3页 / 共35页
FPGANios-II-开发实例.docx_第4页
第4页 / 共35页
FPGANios-II-开发实例.docx_第5页
第5页 / 共35页
点击查看更多>>
资源描述

1、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芯片。在

2、Quartus中选择该芯片,如图5 .31所示。File-New 选Project工作目录:D:/altera_design/my_clock工程名:my_clockPage 2 of 5Page 3 of 5Page 4 of 5Page 5 of 5点finish2创建Nios系统模块(1)启动Qsys在Quartus 中选择菜单ToolsQsys命令,或者直接点击上具栏中Qsys的图标弹出如图5.32所示的Qsys界面。点击Clock Setting进行时钟设置,这里设为默认值,即50M,如图5.33所示。13.1中View-Clock(2)添加CPU和外围器件。从Qsys的元件池中选择

3、以下元件加入到当前设计的系统中: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

4、 Module标签页,Debug level选择Level 1,如图5.36所示。f. 点击Finish回到Qsys界面。g. 将nios2_qsys_0重命名为cpu,如图5.37所示。选Rename ,输入cpuh. 将cpu的clk和reset_n分别与系统时钟clk_0的clk和clk_reset相连,如图5.38所示。注意:对模块命名时应遵循以下规则:名字最前面应该使用英文。能使用的字符只有英文字母、数字和下划线“_”。不能连续使用下划线“_”符号,在名字的最后也不能使用下划线“_”。添加JTAG UART接口JTAG UART是Nios系统嵌入式处理器新添加的接口元件,通过内嵌在A

5、ltera FPGA内部的JTAG电路,可实现在PC主机和Qsys系统之间进行串行字符流通信。a 在Qsys左侧的搜索栏中输入JTAG UART;选择Interface protocolsSerialJTAG 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系统库中器件的驱动非常

6、有用。比如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所示。添加片

7、上存储器on-chip memorya 在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所示。

8、添加Button PIOa. 在Qsys搜索栏中输入pio,选择peripheralsMierocontroller peripheralspio并双击鼠标左键,或点击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所示。点击F

9、inish按钮,返回Qsys窗口。f. 将pio_0重命名为button_pio。g. 进行clk、reset和s1的连线,连线如图5.46所示。添加LCDa. 在Qsys搜索栏中输入lcd,选择Peripherals DisplayAltera 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)指定基地址和分

10、配中断号Qsys会给所添加的系统模块分配默认的基地址。设计者可以更改Qsys分配给系统模块基地址的默认值。没有分配给系统模块基地址时Address Map标签页中显示在Qsys中选择菜单System-Auto Assign Base Adderss命令。Auto Assign Base Address可以使Qsys给其他没有锁定的地址重新分配地址,从而解决地址映射冲突问题。图5.48所示的Address Map标签页中显示了完整的系统配置及其地址映射。中断号的分配本实例工程中用到了定时器和按键两个中断,根据系统功能,已知按键中断优先级要高于定时器中断,这里将定时器中断优先级设为6,按键中断优先

11、级设为5。具体设置方法是:先将定时器中断与cpu中断连接,用鼠标右键点击system-timer,选择connectionsSystem_timer.irqcpu.d_irq,如图549所示;然后在其后面自动生成的中断号“0”上双击鼠标左键,将其修改为“6”。按键中断的设置与此类似,最终中断分配后如图5.50所示。考虑Jtag-uart中断此时尚有2个错误(4)Nios 处理器参数设置在Qsys的System Contents标签页中,在添加的Nios 处理器上双击鼠标左键,弹出如图5.51所示的Nios Processor对话框,在该界面中设置Reset Vector和Exception v

12、ector。由于本例中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

13、标签页中进行系统生成前最后一步的设置,该工程中均使用默认设置。点击左下角Generate按钮。Qsys根据用户设定的选项不同,在生成的过程中执行的操作过程将有所不同。点save生成过程生成完毕点close系统成功产生后,可点击菜单FileExit命令退出Qsys。3在原理图(BDF)文件中添加Qsys生成的系统符号在Qsys系统成功产生后会生成用户系统模块的元件符号(symbol),可以像添加其他Quartus的元件符号一样将其添加到当前项目的原理图(B DF)文件中。在本例中就可将生成的clock系统元件符号添加到BDF文件中。步骤如下:File-New 选Block Diagram/Sch

14、ematic 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 的工程设计文件选择菜单Processingstart Compilation命令对工程设计文件进行完全编译。最后一步由于没有license而无法完成。 5配置FPGA(返回教材和ppt) 将Quartus编译后产生的FPGA配置文件(clock.sof)下载到目标板上。

展开阅读全文
部分上传会员的收益排行 01、路***(¥15400+),02、曲****(¥15300+),
03、wei****016(¥13200+),04、大***流(¥12600+),
05、Fis****915(¥4200+),06、h****i(¥4100+),
07、Q**(¥3400+),08、自******点(¥2400+),
09、h*****x(¥1400+),10、c****e(¥1100+),
11、be*****ha(¥800+),12、13********8(¥800+)。
相似文档                                   自信AI助手自信AI助手
百度文库年卡

猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服