《[精选]第4讲__NIOS_II_外围设备__标准系统搭建.pptx》由会员分享,可在线阅读,更多相关《[精选]第4讲__NIOS_II_外围设备__标准系统搭建.pptx(84页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第第4 4讲讲 NIOS II NIOS II 外外围设备围设备标标准系准系统统搭建搭建SunSun主要内容本讲主要以一个标准硬件平台的搭建,介绍了Nios II处理器常用外围设备Peripherals内核的特点、配置,供读者在使用这些外设定制Nios II系统时查阅。这些外设都是以IP核的形式提供给用户的,用户可以根据实际需要把这些IP核集成到Nios II系统中去。主要介绍:硬件结构;内核的特性核接口;SOPC Builder中各内核的配置选项第4讲 主要内容4.1 并行输入/输出PIO内核4.2 SDRAM控制器内核4.3 ram/rom片上存储4.4 EPCS控制器内核4.5 定时器内
2、核4.6 UART内核4.7 JTAG_UART内核4.8 lcd控制器4.9 System ID内核4.10 课程实验第4讲 主要内容4.1 并行输入/输出PIO内核4.2 SDRAM控制器内核4.3 ram/rom片上存储4.4 EPCS控制器内核4.5 定时器内核4.6 UART内核4.7 JTAG_UART内核4.8 lcd控制器4.9 System ID内核4.10 课程实验4.1 并行输入/输出内核并行输入/输出内核PIO内核提供Avalon从控制器端口和通用I/O口间的存储器映射接口。PIO内核提供简单的I/O访问用户逻辑或外部设备,例如:控制LED读取开关量控制显示设备配置并且
3、与片外设备通信说明:明:1.SOPC Builder中提供了PIO内核,可以很容易将PIO内核集成到SOPC Builder生成的系统中。2.通用I/O端口既连接到片内逻辑又连接到外部设备的FPGA I/O管脚。4.1 并行输入/输出内核PIO内核简介最多32个I/O端口CPU内核PIO内核存放器Nios II 系统PIO内核Pio31Pio30Pio29Pio3Pio2Pio1Pio0Pio7Pio6Pio5Pio4Pio3Pio2Pio1Pio0PIO内核端口数可设置每个Avalon接口的PIO内核可提供32个I/O端口且端口数可设置,用户可以添加一个或多个PIO内核。CPU通过I/O存放
4、器控制I/O端口的行为。I/O口可以配置为输入、输出和三态,还可以用来检测电平事件和边沿事件。CPU通过存放器控制I/O端口行为PIO内核结构框图4.1 并行输入/输出内核PIO内核存放器描述偏移量存放器名称R/Wn-12100数据存数据存放器放器读访问R读入输入引脚上的逻辑电平值写访问W向PIO输出口写入新值1方向存放器方向存放器R/W控制每个I/O口的输入输出方向。0:输入;1:输出。2中断屏蔽存放器中断屏蔽存放器 R/W使能或禁止每个输入端口的IRQ。1:中断使能;0:禁止中断。3边沿捕获存放器边沿捕获存放器 R/W当边沿事件发生时对应位置1。注:注:该存放器是否存在取决于硬件的配置。如
5、果该存放器不存在,那么读存放器将返回未定义的值,写存放器无效。写任意值到边沿捕获存放器将去除所有位为0。“该存放器是否存在取决于硬件的配置。如果该存放器不存在,那么读存放器将返回未定义的值,写存放器无效。4.1 并行输入/输出内核PIO内核配置选项双击4.1 并行输入/输出内核PIO内核配置选项Basic Settings 选项卡I/O口口宽度度:可设置为132的任何整数值。Direction中文描述Bidirectionaltri-state ports双向三态端口Input ports only仅为输入端口Output ports only仅为输出端口Both input and outp
6、ut ports输入和输出端口4.1 并行输入/输出内核PIO内核配置选项Basic Settings 选项卡Direction中文描述Bidirectionaltri-state ports双向三态端口Input ports only仅为输入端口Output ports only仅为输出端口Both input and output ports输入和输出端口4.1 并行输入/输出内核PIO内核配置选项Input Options 选项卡边沿捕获存放器中断存放器Rising Edge:上升沿Falling Edge:下降沿Either Edge:上升或下降沿Level:输入为高电平且中断使能,则
7、PIO内核产生一个IRQ。Edge:边沿捕获存放器相应位为1且中断使能,则PIO内核产生一个IRQ。说明:当指定类型的边沿在输入端口出现时,边沿捕获存放器对应位置1。说明:中断只有高电平中断,如果希望低电平时中断,则需在该I/O输入引脚前加一个“非门。4.1 并行输入/输出内核PIO内核配置选项Simulation 选项卡当需要对外进行仿真时,要设置simulation选项卡。4.1 并行输入/输出内核添加Led_pio 发光二极管LED PIO设置和button_pio类似,只是模式是Output ports only,不再需要中断生成,本例中配置了8位的LED输出。添加1个按钮在此选Inp
8、ut ports only。在Input Options选项单我们配置了上升沿触发,生成中断请求的模式第4讲 主要内容4.1 并行输入/输出PIO内核4.2 SDRAM控制器内核4.3 ram/rom片上存储4.4 EPCS控制器内核4.5 定时器内核4.6 UART内核4.7 JTAG_UART内核4.8 lcd控制器4.9 System ID内核4.10 课程实验4.2 SDRAM控制器内核SDRAM控制器内核概述SDRAM控制器内核提供一个连接片外SDRAM芯片的Avalon接口,并可以同时连接多个SDRAM芯片。SDRAM控制器内核具有不同数据宽度8、16、32或64位、不同内存容量和
9、多片选择等设置。SDRAM控制器不支持禁能的时钟模式。SDRAM控制器使cke引脚永久地有效。4.2 SDRAM控制器内核SDRAM控制器内核概述PPL片内锁相环:通常用于调整SDRAM控制器内核与SDRAM芯片之间的相位差。Avalon三态桥:SDRAM控制器可与现有三态桥共用引脚,这用能减少I/O引脚使用,但将降低性能。fMAX最高时钟频率:目标FPGA的系列和整个硬件设计都会影响硬件设计可实现的最高时钟频率。4.2 SDRAM控制器内核 SDRAM内核配置选项可直接选择预定义的SDRAM芯片型号,对话框将自动改变下面两个选项卡的值来匹配指定配置。Memory Profile:用于指定SD
10、RAM的结构。4.2 SDRAM控制器内核数据宽度 允许值:8、16、32、64 默认值:32 描述:该值确定dq总线数据和dqm总线字节使能的宽度。具体数值请查阅SDRAM数据手册。4.2 SDRAM控制器内核结构设置片选 允许值:1、2、4、8 默认值:1 描述:独立芯片的数目在SDRAM子系统中选择。通过使用多个片选信号,SDRAM控制器可组合多个SDRAM芯片为一个存储器子系统。4.2 SDRAM控制器内核结构设置区 允许值:2、4 默认值:4 描述:区的数目,该值确定连接到SDRAM的ba总线区地址宽度。具体数值请查阅SDRAM数据手册。4.2 SDRAM控制器内核地址宽度设计行 允
11、许值:11、12、13、14 默认值:12 描述:行地址位的数目。该值确定addr总线的宽度。具体数值请查阅SDRAM数据手册。4.2 SDRAM控制器内核地址宽度设计列 允许值:=8,且小于行的值 默认值:8 描述:列地址位的数目。例如,SDRAM排列为4096行、51229列,所以列的值为9。具体数值请查阅SDRAM数据手册。4.2 SDRAM控制器内核通过三态桥共用管脚允许值:是、否默认值:否 描述:当设为No时,所有管脚都专用于SDRAM芯片。当设为Yes时,addr,dq和dqm管脚在系统内可与三态桥共享。4.2 SDRAM控制器内核包括系统测试台的功能存储模块允许值:是、否默认值:
12、是 描述:当翻开选项时,SOPC Builder创立SDRAM芯片的功能仿真模型。该默认的存储器模型加速创立的过程和检验使用SDRAM控制器的系统。4.2 SDRAM控制器内核 SDRAM内核配置选项Timing:根据在SDRAM芯片数据手册中提供的参数来设置芯片的时序标准4.2 SDRAM控制器内核CAS等待时间允许值:1、2、3默认值:3 描述:从读命令到数据输出的等待时间以时钟周期计算。4.2 SDRAM控制器内核初始化刷新周期允许值:1-8默认值:2 描述:复位后,该值指定SDRAM控制器将执行多少个刷新周期作为初始化序列的一局部。4.2 SDRAM控制器内核每隔一段时间执行一个刷新命
13、令允许值:-默认值:15.625us 描述:该值指定SDRAM控制器多久刷新一次SDRAM。典型的SDRAM每64ms需要4,096刷新命令,通过每64ms/4,096=15.625us执行一个刷新命令来符合这个要求。4.2 SDRAM控制器内核在初始化前、上电后延时允许值:-默认值:100us 描述:从稳定的时钟和电源到SDRAM初始化的延时。4.2 SDRAM控制器内核刷新命令t_rfc的持续时间允许值:-默认值:70ns 描述:自动刷新周期。4.2 SDRAM控制器内核预充电命令t_rp的持续时间允许值:-默认值:20ns 描述:预充电命令周期。4.2 SDRAM控制器内核ACTIVE到
14、READ或WRITE延时允许值:-默认值:20ns 描述:ACTIVE到READ或WRITE延时。4.2 SDRAM控制器内核访问时间t_ac允许值:-默认值:5.5ns 描述:时钟边沿的访问时间。该值由CAS的等待时间决定。4.2 SDRAM控制器内核写恢复时间t_wr,无自动预充电允许值:-默认值:14ns 描述:如果执行了明确的预充电命令,写恢复。该SDRAM控制器总是执行明确的预充电命令。4.2 SDRAM控制器内核SDRAM应用一个带32位数据总线的128Mbit SDRAM芯片4.2 SDRAM控制器内核SDRAM应用两个带16位数据总线的64Mbit SDRAM芯片4.2 SDR
15、AM控制器内核SDRAM应用两个带32位数据总线的128Mbit SDRAM芯片4.2 SDRAM控制器内核添加外部sdram通常的系统都需要用户指定一个空间,这个是指ram可以使片上的,也可以使片外的sdram或sram等。如果用户程序较大,超出了所能定制的最大片上ram容量,则也可以将程序放在sdram中运行4.2 SDRAM控制器内核第4讲 主要内容4.1 并行输入/输出PIO内核4.2 SDRAM控制器内核4.3 ram/rom片上存储4.4 EPCS控制器内核4.5 定时器内核4.6 UART内核4.7 JTAG_UART内核4.8 lcd控制器4.9 System ID内核4.10
16、 课程实验4.3 ram/rom片上存储使用FPGA内部RAM资源,可以构成RAM或ROM,速度快,特别在调试时因为很少受外部连线等因素的限制很有用。组件栏中选择Legacy ponents-On-Chip Memory翻开界面,如图第4讲 主要内容4.1 并行输入/输出PIO内核4.2 SDRAM控制器内核4.3 ram/rom片上存储4.4 EPCS控制器内核4.5 定时器内核4.6 UART内核4.7 JTAG_UART内核4.8 lcd控制器4.9 System ID内核4.10 课程实验4.4 EPCS控制器内核EPCS控制器内核综述Altera EPCS 串行配置器件EPCS1和E
17、PCS4,它可用于存储程序代码、非易失性程序数据和FPGA配置数据。带Avalon接口的EPCS设备控制器内核“EPCS控制器允许NiosII系统访问Altera EPCS串行配置器件。Altera提供集成到NiosII硬件抽象层HAL系统库的驱动程序,允许用户使用HAL应用程序接口API来读取和编写EPCS器件。4.4 EPCS控制器内核EPCS控制器内核综述EPCS控制器可用于:在EPCS器件中存储程序代码。存储非易失性数据。管理FPGA配置数据。4.4 EPCS控制器内核EPCS控制器内核综述EPCS控制器结构框图Boot-LoaderROMEPCS控制器配置存储空间通用存储空间EPCS
18、配置器件Avalon总线NiosIICPU片内外设Altera FPGA存储FPGA配置数据剩余空间可用于存储用户非易失性数据。1KB的片内存储器4.4 EPCS控制器内核第4讲 主要内容4.1 并行输入/输出PIO内核4.2 SDRAM控制器内核4.3 ram/rom片上存储4.4 EPCS控制器内核4.5 定时器内核4.6 UART内核4.7 JTAG_UART内核4.8 lcd控制器4.9 System ID内核4.10 课程实验4.5 定时器内核定时器内核综述定时器是挂载在Avanlon总线上的32位定时器,特性如下:两种计数模式:单次减1和连续减1计数模式定时器到达0时产生中断请求I
19、RQ;可选择设定为看门狗定时器,计算到达0时复位系统;可选择输出周期性脉冲,在定时器计算到达0时输出脉冲;可由软件启动、停止或复位定时器;可由软件使能或屏蔽定时器中断。4.5 定时器内核定时器内核综述EPCS控制器结构框图StatusControlPeriodhPeriodlSnaphSnapl控制逻辑计数器存放器文件Timeout pulseIRQReset数据总线地址总线看门狗Avanlon总线从机接口到内核逻辑4.5 定时器内核定时器内核综述定时器可进行的基本操作如下所述:Avalon主控制器通过对控制存放器执行不同的写操作来控制:启动和停止定时器使能/禁能IRQ指定单次减1计数或连续减
20、1计数模式处理器读状态存放器获取当前定时器的运行信息。处理器可通过写数据到periodl和periodh存放器来设定定时器周期。4.5 定时器内核定时器内核综述定时器可进行的基本操作如下所述:内部计数器计数减到0,立即从周期存放器开始重新装载。处理器可以通过写snapl或snaph获取计数器的当前值。当计数器计数到达0时:如果IRQ被使能,则产生一个IRQ可选的脉冲发生器输出有效持续一个时钟周期可选的看门狗输出复位系统4.5 定时器内核定时器存放器描述偏移量名称R/W位描述15432100statusRW*RUNTO1controlRW*STOPSTART CONT ITO2periodlRW
21、超时周期1位15.03periodhRW超时周期1位31.164snaplRW计数器快照位15.05snaphRW计数器快照位31.16EPCS控制器结构框图RUNTOSTOPSTART CONT ITOperiodlPeriodhsnaplsnaph注:注:*表示表示该位保存,位保存,读取取值未定未定义。4.5 定时器内核 定时器内核配置选项CFI控制器框图Initial perod:用于预设硬件生成后的定时器周期,即perodl和periodh存放器的值。4.5 定时器内核 定时器内核配置选项CFI控制器框图Preset Configurations:可选择的预定义的硬件配置。4.5 定时
22、器内核 定时器内核配置选项CFI控制器框图Writeable perod:使能:主控制器可通过写period而改变向下计数周期。禁能:向下计数周期由Timeout Period确定,且period存放器不在硬件中存在。Readable snapshot:使能:主控制器可读当前向下计数器的值。禁能:计数器的状态仅通过状态存放器或IRQ信号来检测。Snap存放器不在硬件中存在。Start/Stop control bits:使能:主控制可通过写START和STOP位来启动和停止定时器。禁能:定时器连续运行。4.5 定时器内核 定时器内核配置选项CFI控制器框图Timeout pulse:使能:定时
23、器到0时,timeout_pulse输出一个时钟周期的高电平。禁能:timeout_out信号不存在。System reset on timeout:使能:定时器到0时,resetrequest信号输出一个时钟周期的高电平使系统复位。禁能:resetrequest信号不存在。在组件拦中双击选择Other-Interval timer进入配置界面,我们选用Full feature,1ms一次溢出事件第4讲 主要内容4.1 并行输入/输出PIO内核4.2 SDRAM控制器内核4.3 ram/rom片上存储4.4 EPCS控制器内核4.5 定时器内核4.6 UART内核4.7 JTAG_UART内核
24、4.8 lcd控制器4.9 System ID内核4.10 课程实验4.6 UART内核UART内核综述UART内核通用异步接收器/发送器内核执行RS-232协议时序,并提供可调整的波特率。用户可配置奇偶校验位、停止位和数据位,以及可选的RTS/CTS流控制信号。内核提供一个简单的Avalon从控制器接口,该接口允许Avalon主控制器例如NiosII处理器通过读写存放器与UART内核进行通讯。4.6 UART内核UART内核综述UART内核的结构框图4.6 UART内核UART内核综述1.RS-232接口2.发送逻辑3.接收逻辑4.波特率生成4.6 UART内核UART内核的存放器描述偏移量
25、存放器名称R/W描述/存放器位1513 12111098765432100接收数据rxdataRO接收数据1发送数据txdataWO发送数据2状态status RWeopctsdctserrdytrdytmt toe roe brkfepe3控制controlRWieoprtsidctstrbkieirrdyitrdyitmt itoe iroe ibrk ifeipe4除数divisor RW波特率除数5数据包结束符endopacket RW数据包结束符值UART内核存放器映射发送数据txdata接收数据rxdata状态status控制control除数divisor 数据包结束符endop
26、acket 4.6 UART内核 UART内核配置页Baud Rate:波特率设置数据位数据位设置置流控制流控制流数据控制流数据控制在组件选择栏中选择 munication-UARTRS232 series port配置UART第4讲 主要内容4.1 并行输入/输出PIO内核4.2 SDRAM控制器内核4.3 ram/rom片上存储4.4 EPCS控制器内核4.5 定时器内核4.6 UART内核4.7 JTAG_UART内核4.8 lcd控制器4.9 System ID内核4.10 课程实验4.7 JTAG_UART内核JTAG_UART内核综述JTAG UART内核通过Avalon从控制器接
27、口连接到Avalon总线。JTAG UART内核包含2个32位存放器数据和控制,它们可通过Avalon从控制器端口进行存取。Avalon主控制器访问存放器来控制内核并在JTAG连接上传输数据。JTAG UART内核提供高电平有效的中断输出,该输出在读FIFO几乎为满或写FIFO几乎为空时申请一个中断。有读写FIFO也是JTAG UART内核与UART内核的不同点之一。FIFO可以改善JTAG连接的带宽。FIFO深度可由用户设置。4.7 JTAG_UART内核JTAG_UART内核综述UART内核存放器映射4.7 JTAG_UART内核JTAG_UART的存放器描述偏移量 存放器名称R/W位描述
28、3116151411109872100数据RWRAVAILRVALID保存DATA1控制RWWSPACE保存ACWIRI保存WRUART内核存放器映射数据控制4.7 JTAG_UART内核 JTAG-UART配置选项卡JATG_UART配置选项卡Write FIFO:写写FIFO设置置Read FIFO:读FIFO设置置4.7 JTAG_UART内核在组件栏中选择 munication-JTAG UART,弹出JTAG UART配置界面如第4讲 主要内容4.1 并行输入/输出PIO内核4.2 SDRAM控制器内核4.3 ram/rom片上存储4.4 EPCS控制器内核4.5 定时器内核4.6
29、UART内核4.7 JTAG_UART内核4.8 Lcd控制器4.9 System ID内核4.10 课程实验4.8 Lcd控制器The LCD controller core consists of two user-visible ponents:Eleven signals that connect to pins on the Optrex 16207 LCD panelThese signals are defined in the Optrex 16207 data sheet.EEnable output RSRegister Select output R/WRead or W
30、rite output DB0 through DB7Data Bus bidirectional An Avalon Memory-Mapped Avalon-MM slave interface that provides access to 4 registers.4.8 Lcd控制器使用标准16027字符型液晶显示器,在display-character lcd,如图第4讲 主要内容4.1 并行输入/输出PIO内核4.2 SDRAM控制器内核4.3 ram/rom片上存储4.4 EPCS控制器内核4.5 定时器内核4.6 UART内核4.7 JTAG_UART内核4.8 lcd控制器4
31、.9 System ID内核4.10 课程实验4.9 System ID内核System ID存放器描述系统ID内核提供只读的Avalon从控制器接口。系统ID内核存放器映射偏移量存放器名称R/W位描述 3100idRSOPC Builder系统ID 1timestampRSOPC Builder生成时间4.9 System ID内核System ID存放器描述使用系统ID内核有两种基本的方法:其一,在下载新的软件到系统之前验证系统ID。其二,复位后检查系统ID。4.9 System ID内核添加SYSTEM ID4.10 课程实验完成一个包含以下外设的标准硬件平台PIOBUTTON、LEDSdram片上存储EPCS定时器UART内核JTAG_UART内核lcd控制器System ID内核4.10 课程实验实验步骤建立工程添加NIOS系统nios选择E型添加系统到工程配置管脚综合4.10 课程实验系统结果4.10 课程实验平台结果4.10 课程实验注意这里有一个复位延时模块4.10 课程实验谢谢!