第4讲__NIOS_II_外围 设备——标准系统搭建_第1页
第4讲__NIOS_II_外围 设备——标准系统搭建_第2页
第4讲__NIOS_II_外围 设备——标准系统搭建_第3页
第4讲__NIOS_II_外围 设备——标准系统搭建_第4页
第4讲__NIOS_II_外围 设备——标准系统搭建_第5页
已阅读5页,还剩79页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 主要内容 本讲主要以一个标准硬件平台的搭建,介绍了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 定时器内核 4.6 UART内核 4.7 JTAG_UART内核 4

2、.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 内核 Pio31 Pio30 Pio29 Pio3 Pio2 Pio1 Pio0 Pio7 Pio6 Pio5 Pio4 Pio3 Pio2 Pio1 Pio0 PIO 内核 端口数可 设置 每个Avalon接口的PIO内核 可提供32个I/O端口

4、且端口数可 设置,用户可以添加一个或多个 PIO内核。CPU通过I/O寄存器 控制I/O端口的行为。I/O口可 以配置为输入、输出和三态,还 可以用来检测电平事件和边沿事 件。 CPU通过寄存 器控制I/O端 口行为 PIO内核结构框图 4.1 并行输入/输出内核 PIO内核寄存器描述 偏移 量 寄存器名称R/W(n-1)210 0 数据寄数据寄 存器存器 读访问R读入输入引脚上的逻辑电平值 写访问W向PIO输出口写入新值 1方向寄存器方向寄存器 R/W 控制每个I/O口的输入输出方向。 0:输入;1:输出。 2中断屏蔽寄存器中断屏蔽寄存器 R/W 使能或禁止每个输入端口的IRQ。 1:中断使

5、能;0:禁止中断。 3边沿捕获寄存器边沿捕获寄存器 R/W当边沿事件发生时对应位置1。 注:注: 该寄存器是否存在取决于硬件的配置。如果该寄存器不存在,那么读寄存器将返回未定义的值,写寄存器无效。 写任意值到边沿捕获寄存器将清除所有位为0。 “ 该寄存器是否存在取决于硬件 的配置。如果该寄存器不存在, 那么读寄存器将返回未定义的值, 写寄存器无效。” 4.1 并行输入/输出内核 PI O 内 核 配 置 选 项 双 击 4.1 并行输入/输出内核 PI O 内 核 配 置 选 项 Basic Settings 选项卡 I/O口宽度口宽度:可设置为 132的任何整数值。 Direction中文描

6、述 Bidirectional(tri-state) ports双向(三态)端口 Input ports only仅为输入端口 Output ports only仅为输出端口 Both input and output ports输入和输出端口 4.1 并行输入/输出内核 PI O 内 核 配 置 选 项 Basic Settings 选项卡 Direction中文描述 Bidirectional(tri-state) ports双向(三态)端口 Input ports only仅为输入端口 Output ports only仅为输出端口 Both input and output ports

7、输入和输出端口 4.1 并行输入/输出内核 PI O 内 核 配 置 选 项 Input Options 选项卡 边沿捕获寄存器 中断寄存器 Rising Edge:上升沿 Falling Edge:下降沿 Either Edge: 上升或下降沿 Level:输入为高电平且中断使能,则PIO内 核产生一个IRQ。 Edge:边沿捕获寄存器相应位为1且中断使能, 则PIO内核产生一个IRQ。 说明:当指定类型的边沿在输入端口出现时, 边沿捕获寄存器对应位置1。 说明:中断只有高电平中断,如果希望低电 平时中断,则需在该I/O输入引脚前加一个 “非”门。 4.1 并行输入/输出内核 PI O 内

8、核 配 置 选 项 Simulation 选项卡 当需要对外进行仿真时,要设置 simulation选项卡。 4.1 并行输入/输出内核 添加Led_pio 发光二极管LED PIO设置和button_pio类似, 只是模式是Output ports only,不再需要中 断生成,本例中配置了8位的LED输出。 添加1个按钮 在此选Input ports only。在Input Options选 项单我们配置了上升沿触发,生成中断请求 的模式 第4讲 主要内容 4.1 并行输入/输出(PIO)内核 4.2 SDRAM控制器内核 4.3 ram/rom片上存储 4.4 EPCS控制器内核 4.5

9、 定时器内核 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位)、 不同内存容量和多片选择等设置。 SDRAM控制器不支持禁能的时钟模式。SDRAM控制器使 cke引脚永久地有效。 4.2 SDRAM控制器内核 SDRAM控制器内核概述 PPL(片内锁相环):通常用于调整SDRAM控制器内核与

10、SDRAM芯片之间的相位差。 Avalon三态桥:SDRAM控制器可与现有三态桥共用引脚, 这用能减少I/O引脚使用,但将降低性能。 fMAX(最高时钟频率):目标FPGA的系列和整个硬件设计都 会影响硬件设计可实现的最高时钟频率。 4.2 SDRAM控制器内核 SDRAM 内 核 配 置 选 项 可直接选择预定义的 SDRAM芯片型号,对话 框将自动改变下面两个选 项卡的值来匹配指定配置。 Memory Profile : 用于指定SDRAM的结构。 4.2 SDRAM控制器内核 数据宽度 允许值:8、16、32、64 默认值:32 描述:该值确定dq总线(数据)和 dqm总线(字节使能)的

11、宽度。具体 数值请查阅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、12、13、14 默认值:12 描述:行地址位的数目。该值确 定addr总线的宽度。具体数值请 查阅SD

12、RAM数据手册。 4.2 SDRAM控制器内核 地址宽度设计列 允许值:=8,且小于行的值 默认值:8 描述:列地址位的数目。例如, SDRAM排列为4096行、512(29) 列,所以列的值为9。具体数值请 查阅SDRAM数据手册。 4.2 SDRAM控制器内核 通过三态桥共用管脚 允许值:是、否 默认值:否 描述:当设为No时,所有管脚都 专用于SDRAM芯片。当设为Yes 时,addr,dq和dqm管脚在系统内 可与三态桥共享。 4.2 SDRAM控制器内核 包括系统测试台的功能存储模块 允许值:是、否 默认值:是 描述:当打开选项时,SOPC Builder创建SDRAM芯片的功能 仿

13、真模型。该默认的存储器模型 加速创建的过程和检验使用 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控制器内核 每隔一段时间执行一个刷新命令 允许值:-

14、默认值: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

15、SDRAM控制器内核 ACTIVE到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应用 SDRAM 控制器 128Mbits 16Mbytes 32位数据宽度 SDRA

16、M器件 Altera FPGA Avalon 从机接 口到片 内逻辑 addr Ctl nCS Data(32bit) 一个带32位数据总线的128Mbit SDRAM芯片 4.2 SDRAM控制器内核 SDRAM应用 两个带16位数据总线的64Mbit SDRAM芯片 SDRAM 控制器 64Mbits 8Mbytes 16位数据宽度 SDRAM器件 Altera FPGA Avalon 从机接 口到片 内逻辑 addr Ctl nCS Data(32bit) 64Mbits 8Mbytes 16位数据宽度 SDRAM器件 16bit 16bit 4.2 SDRAM控制器内核 SDRAM应用

17、 两个带32位数据总线的128Mbit SDRAM芯片 SDRAM 控制器 128Mbits 16Mbytes 32位数据宽度 SDRAM器件 Altera FPGA Avalon 从机接 口到片 内逻辑 addr Ctl nCS0 Data(32bit) 128Mbits 16Mbytes 32位数据宽度 SDRAM器件 32bit 32bit nCS1 4.2 SDRAM控制器内核 添加外部sdram 通常的系统都需要用户指定一个空间, 这个是指ram可以使片上的,也可以使 片外的sdram或sram等。如果用户程序 较大,超出了所能定制的最大片上ram 容量,则也可以将程序放在sdram

18、中运 行 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 课程实验 4.3 ram/rom片上存储 使用FPGA内部RAM资 源,可以构成RAM或 ROM,速度快,特别 在调试时因为很少受外 部连线等因素的限制很 有用。组件栏中选择 Legacy Components- On-Chip Memory打开 界面,如图 第4讲 主要内容

19、 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和EPCS4),它可用于存 储程序代码、非易失性程序数据和FPGA配置数据。 带Avalon接口的EPCS设备控制器内核(“EPCS控制器”)允 许NiosII系统访问Altera EPCS串行配置器件。Altera提供集

20、成 到NiosII硬件抽象层(HAL)系统库的驱动程序,允许用户使用 HAL应用程序接口(API)来读取和编写EPCS器件。 4.4 EPCS控制器内核 EPCS控制器内核综述 EPCS控制器可用于: 在EPCS器件中存储程序代码。 存储非易失性数据。 管理FPGA配置数据。 4.4 EPCS控制器内核 EPCS控制器内核综述 EPCS控制器结构框图 Boot-Loader ROM EPCS控制器 配置存 储空间 通用存 储空间 EPCS配置器件 Avalon 总线 NiosII CPU 片内外设 Altera FPGA 存储FPGA 配置数据 剩余空间可用于 存储用户非易失 性数据。 1KB

21、的片 内存储器 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时产生中断请求(IRQ); 可选择设定为看门狗定时器,计算到达0时复位系统; 可选择输出周期性脉冲,在定时器计

22、算到达0时输出脉冲; 可由软件启动、停止或复位定时器; 可由软件使能或屏蔽定时器中断。 4.5 定时器内核 定时器内核综述 EPCS控制器结构框图 Status Control Periodh Periodl Snaph Snapl 控制 逻辑 计数器 寄存器文件 Timeout pulse IRQ Reset 数据总线 地址总线 (看门狗) Avanlon 总线从机 接口到内 核逻辑 4.5 定时器内核 定时器内核综述 定时器可进行的基本操作如下所述: Avalon主控制器通过对控制寄存器执行不同的写操作来控制: 启动和停止定时器 使能/禁能IRQ 指定单次减1计数或连续减1计数模式 处理器

23、读状态寄存器获取当前定时器的运行信息。 处理器可通过写数据到periodl和periodh寄存器来设定定时器 周期。 4.5 定时器内核 定时器内核综述 定时器可进行的基本操作如下所述: 内部计数器计数减到0,立即从周期寄存器开始重新装载。 处理器可以通过写snapl或snaph获取计数器的当前值。 当计数器计数到达0时: 如果IRQ被使能,则产生一个IRQ (可选的)脉冲发生器输出有效持续一个时钟周期 (可选的)看门狗输出复位系统 4.5 定时器内核 定时器寄存器描述 偏移量名称R/W 位描述 1543210 0statusRW*RUNTO 1controlRW*STOPSTART CONT

24、 ITO 2periodlRW超时周期1(位15.0) 3periodhRW超时周期1(位31.16) 4snaplRW计数器快照(位15.0) 5snaphRW计数器快照(位31.16) EPCS控制器结构框图 RUNTO STOPSTART CONT ITO periodl Periodh snapl snaph 注:注:*表示该位保留,读取值未定义。表示该位保留,读取值未定义。 4.5 定时器内核 定 时 器 内 核 配 置 选 项 CFI控制器框图 Initial perod: 用于预设硬件生成后的定时器周期, 即perodl和periodh寄存器的值。 4.5 定时器内核 定 时 器

25、 内 核 配 置 选 项 CFI控制器框图 Preset Configurations: 可选择的预定义的硬件配置。 4.5 定时器内核 定 时 器 内 核 配 置 选 项 CFI控制器框图 Writeable perod: 使能:主控制器可通过写period 而改变向下计数周期。 禁能:向下计数周期由Timeout Period确定,且period寄存器不在 硬件中存在。 Readable snapshot: 使能:主控制器可读当前向下计 数器的值。 禁能:计数器的状态仅通过状态 寄存器或IRQ信号来检测。Snap 寄存器不在硬件中存在。 Start/Stop control bits: 使

26、能:主控制可通过写START和 STOP位来启动和停止定时器。 禁能:定时器连续运行。 4.5 定时器内核 定 时 器 内 核 配 置 选 项 CFI控制器框图 Timeout pulse: 使能:定时器到0时, timeout_pulse输出一个时钟周期的 高电平。 禁能:timeout_out信号不存在。 System reset on timeout: 使能: 定时器到0时, resetrequest信号输出一个时钟周期 的高电平使系统复位。 禁能: resetrequest信号不存在。 在组件拦中双 击选择Other- Interval timer进入配 置界面,我们 选用Full f

27、eature,1ms 一次溢出事件 第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.6 UART内核 UART内核综述 UART内核(通用异步接收器/发送器内核)执行RS-232协议 时序,并提供可调整的波特率。用户可配置奇偶校验位、停止位和数 据位,以及可选的RTS/CTS流控制信号。 内核提供一个简单的Avalon从控制器接口,该接口允许Ava

28、lon 主控制器(例如NiosII处理器)通过读写寄存器与UART内核进行通 讯。 4.6 UART内核 UART内核综述 波特率除数 接收寄存器 发送寄存器 状态寄存器 数据包结束符 控制寄存器 移位寄存器 移位寄存器 clk Addr Data IRQ endofpacket dataavailable readfordata uart clk TXD RXD RTS CTS Avalon 总线接口 RS232 接口 UART内核的结构框图 4.6 UART内核 UART内核综述 1. RS-232接口 2. 发送逻辑 3. 接收逻辑 4. 波特率生成 4.6 UART内核 UART内核的

29、寄存器描述 偏移 量 寄存器名称R/W 描述/寄存器位 1513 1211109876543210 0 接收数据 (rxdata) RO接收数据 1 发送数据 (txdata) WO发送数据 2状态(status) RWeopctsdctserrdytrdytmt toe roe brkfepe 3控制(control)RWieoprtsidctstrbkieirrdyitrdyitmt itoe iroe ibrk ifeipe 4 除数(divisor) RW波特率除数 5 数据包结束符 (endopacket) RW数据包结束符值 UART内核寄存器映射 发送数据 (txdata) 接收

30、数据 (rxdata) 状态(status) 控制(control) 除数(divisor) 数据包结束符 (endopacket) 4.6 UART内核 UART 内 核 配 置 页 Baud Rate:波特率设置 数据位设置数据位设置 流控制流控制 流数据控制流数据控制 在组件选择栏 中选择 Communicatio n-UART (RS232 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_U

31、ART内核 4.8 lcd控制器 4.9 System ID内核 4.10 课程实验 4.7 JTAG_UART内核 JTAG_UART内核综述 JTAG UART内核通过Avalon从控制器接口连接到Avalon总线。 JTAG UART内核包含2个32位寄存器(数据和控制),它们可通过 Avalon从控制器端口进行存取。Avalon主控制器访问寄存器来控制内 核并在JTAG连接上传输数据。JTAG UART内核提供高电平有效的 中断输出,该输出在读FIFO几乎为满或写FIFO几乎为空时申请一个 中断。 有读写FIFO也是JTAG UART内核与UART内核的不同点之一。 FIFO可以改善J

32、TAG连接的带宽。FIFO深度可由用户设置。 4.7 JTAG_UART内核 JTAG_UART内核综述 数据寄存器 控制寄存器 读FIFO 写FIFO JTAG 集线器 接口 寄存器组 JTAG 集线器 JTAG 控制器 Altera FPGA 内置特性 由QuartusII自动生成 IRQ 使用JTAG接口 的其它节点 JTAG接口 JTAG UART内核 Avalon 从设备接口 Altera FPGA UART内核寄存器映射 4.7 JTAG_UART内核 JTAG_UART的寄存器描述 偏移量 寄存器名称R/W 位描述 311615141110987210 0数据RWRAVAILRV

33、ALID保留DATA 1控制RWWSPACE保留ACWIRI保留WR UART内核寄存器映射 数据 控制 4.7 JTAG_UART内核 JTAG- UART 配 置 选 项 卡 JATG_UART配置选项卡 Write FIFO: 写写FIFO设置设置 Read FIFO: 读读FIFO设置设置 4.7 JTAG_UART内核 在组件栏中选 择 Communicatio n-JTAG UART,弹出 JTAG 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.

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论