[精选]外围设备培训课件32466.pptx
《[精选]外围设备培训课件32466.pptx》由会员分享,可在线阅读,更多相关《[精选]外围设备培训课件32466.pptx(103页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第4 章 Nios II 外围设备本章介绍了Nios II 处理器常用外围设备(Peripherals)内核的特点、配置以及软件编程,供大家在使用这些外设定制Nios II 系统时查阅。这些外设都是以IP 核的形式提供给用户的,用户可以根据实际需要把这些IP 核集成到Nios II系统中去。主要介绍:硬件结构;内核的特性核接口;SOPC Builder 中各内核的配置选项;软件编程。主要内容第4 章 目录 4.1 并行输入/输出(PIO)内核 4.2 SDRAM 控制器内核 4.3 CFI(通用Flash)控制器内核 4.4 EPCS 控制器内核 4.5 定时器内核 4.6 UART 内核 4
2、.7 JTAG_UART 内核 4.8 SPI 内核 4.9 DMA 内核 4.10 带Avalon 接口的互斥内核 4.11 带Avalon 接口的邮箱内核 4.12 System ID 内核第4 章 目录 4.1 并行输入/输出(PIO)内核 4.2 SDRAM 控制器内核 4.3 CFI(通用Flash)控制器内核 4.4 EPCS 控制器内核 4.5 定时器内核 4.6 UART 内核 4.7 JTAG_UART 内核 4.8 SPI 内核 4.9 DMA 内核 4.10 带Avalon 接口的互斥内核 4.11 带Avalon 接口的邮箱内核 4.12 System ID 内核4.1
3、 并行输入/输出内核并行输入/输出内核(PIO 内核)提供Avalon 从控制器端口和通用I/O 口间的存储器映射接口。PIO 内核提供简单的I/O 访问用户逻辑或外部设备,例如:控制LED 读取开关量 控制显示设备 配置并且与片外设备通信说明:1.SOPC Builder 中提供了PIO 内核,可以很容易将PIO 内核集成到SOPC Builder 生成的系统中。2.通用I/O 端口既连接到片内逻辑又连接到外部设备的FPGA I/O 管脚。4.1 并行输入/输出内核 PIO 内核简介最多32 个I/O 端口CPU内核PIO内核寄存器Nios II 系统PIO内核Pio31Pio30Pio29
4、Pio3Pio2Pio1Pio0Pio7Pio6Pio5Pio4Pio3Pio2Pio1Pio0PIO内核端口数可设置每 个Avalon 接 口 的PIO 内 核可 提 供32 个I/O 端 口 且 端 口 数 可设 置,用 户 可 以 添 加 一 个 或 多 个PIO 内 核。CPU 通 过I/O 寄 存 器控 制I/O 端 口 的 行 为。I/O 口 可 以配 置 为 输 入、输 出 和 三 态,还 可以用来检测电平事件和边沿事件。CPU 通过寄存器控制I/O 端口行为PIO 内核结构框图4.1 并行输入/输出内核 PIO 内核寄存器描述偏移量寄存器名称 R/W(n-1)2 1 00数据寄
5、存器读访问 R 读入输入引脚上的逻辑电平值写访问 W 向PIO 输出口写入新值1 方向寄存器R/W控制每个I/O 口的输入输出方向。0:输入;1:输出。2 中断屏蔽寄存器 R/W使能或禁止每个输入端口的IRQ。1:中断使能;0:禁止中断。3边沿捕获寄存器 R/W 当边沿事件发生时对应位置1。注:该寄存器是否存在取决于硬件的配置。如果该寄存器不存在,那么读寄存器将返回未定义的值,写寄存器无效。写任意值到边沿捕获寄存器将清除所有位为0。“该寄存器是否存在取决于硬件的配置。如果该寄存器不存在,那么读寄存器将返回未定义的值,写寄存器无效。”4.1 并行输入/输出内核双击 PIO内核配置选项4.1 并行
6、输入/输出内核 PIO内核配置选项Basic Settings 选项卡I/O 口宽度:可设置为1 32 的任何整数值。Direction 中文描述Bidirectional(tri-state)ports双向(三态)端口Input ports only 仅为输入端口Output ports only 仅为输出端口Both input and output ports输入和输出端口4.1 并行输入/输出内核 PIO内核配置选项Basic Settings 选项卡Direction 中文描述Bidirectional(tri-state)ports双向(三态)端口Input ports only
7、仅为输入端口Output ports only 仅为输出端口Both input and output ports输入和输出端口4.1 并行输入/输出内核 PIO内核配置选项Input Options 选项卡边沿捕获寄存器中断寄存器Rising Edge:上升沿Falling Edge:下降沿Either Edge:上升或下降沿Level:输入为高电平且中断使能,则PIO 内核产生一个IRQ。Edge:边沿捕获寄存器相应位为1 且中断使能,则PIO 内核产生一个IRQ。说明:当指定类型的边沿在输入端口出现时,边沿捕获寄存器对应位置1。说明:中断只有高电平中断,如果希望低电平时中断,则需在该I/
8、O 输入引脚前加一个“非”门。4.1 并行输入/输出内核 PIO内核配置选项Simulation 选项卡当需要对外进行仿真时,要设置simulation 选项卡。4.1 并行输入/输出内核 软件编程PIO 内核提供了对硬件进行寄存器级访问的文件。Altera_avalon_pio_regs.h该 文 件 定 义 了 内 核 的 寄 存 器 映 射 并 提 供 硬 件 设 备 访 问 宏 定 义。可 通 过 阅 读 上 述 文 件 以 熟 悉PIO 设 备 的 软 件 访 问 方 法,但 不 应 该修改文件。例:红色发光二极管LEDR在LEDR 上输出显示data 数据的C/C+语句格式为:IO
9、WR _ALTERA_AVALON_PIO_DATA(LED_RED_BASE,data)或者:4.1 并行输入/输出内核 IOWR_ALTERA_AVALON_PIO_DATA(0 x00B81090,data)IOWR(LED_RED_BASE,0,data);IOWR(0 x00B81090,0,data)第4 章 目录 4.1 并行输入/输出(PIO)内核 4.2 SDRAM 控制器内核 4.3 CFI(通用Flash)控制器内核 4.4 EPCS 控制器内核 4.5 定时器内核 4.6 UART 内核 4.7 JTAG_UART 内核 4.8 SPI 内核 4.9 DMA 内核 4.
10、10 带Avalon 接口的互斥内核 4.11 带Avalon 接口的邮箱内核 4.12 System ID 内核4.2 SDRAM 控制器内核 SDRAM 控制器内核概述SDRAM 控制器内核提供一个连接片外SDRAM 芯片的Avalon 接口,并可以同时连接多个SDRAM 芯片。SDRAM 控制器内核具有不同数据宽度(8、16、32或64 位)、不同内存容量和多片选择等设置。SDRAM 控制器不支持禁能的时钟模式。SDRAM 控制器使cke 引脚永久地有效。4.2 SDRAM 控制器内核 SDRAM 控制器内核概述PPL(片 内 锁 相 环):通 常 用 于 调 整SDRAM 控 制 器
11、内 核 与SDRAM 芯片之间的相位差。Avalon 三 态 桥:SDRAM 控 制 器 可 与 现 有 三 态 桥 共 用 引 脚,这用能减少I/O 引脚使用,但将降低性能。fMAX(最 高 时 钟 频 率):目 标FPGA 的 系 列 和 整 个 硬 件 设 计 都会影响硬件设计可实现的最高时钟频率。4.2 SDRAM 控制器内核 SDRAM内核配置选项可直接选择预定义的SDRAM 芯片型号,对话框将自动改变下面两个选项卡的值来匹配指定配置。Memory Profile:用于指定SDRAM 的结构。4.2 SDRAM 控制器内核数据宽度 允许值:8、16、32、64 默认值:32 描述:该
12、值确定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、12、13、14 默认值:12 描述:行地址位的数目。
13、该值确定addr 总线的宽度。具体数值请查阅SDRAM 数据手册。4.2 SDRAM 控制器内核地址宽度设计 列 允许值:=8,且小于行的值 默认值:8 描述:列地址位的数目。例如,SDRAM 排列为4096 行、512(29)列,所以列的值为9。具体数值请查阅SDRAM 数据手册。4.2 SDRAM 控制器内核通过三态桥共用管脚 允许值:是、否 默认值:否 描述:当设为No 时,所有管脚都专用于SDRAM 芯片。当设为Yes 时,addr,dq 和dqm 管脚在系统内可与三态桥共享。4.2 SDRAM 控制器内核包括系统测试台的功能存储模块 允许值:是、否 默认值:是 描述:当打开选项时,S
14、OPC 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 控制器内核每隔一段时间执行一个
15、刷新命令 允许值:-默认值: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
16、.2 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 控制器内核 软件编程当通过Avalon 接口访问时,SDRAM 控制器操作起来像简单的SRAM 存储器,没有
17、可配置的软件设置,没有存储器映射的寄存器。处理器访问SDRAM 控制器不需要软件驱动程序。4.2 SDRAM 控制器内核 SDRAM 应用一个带32 位数据总线的128Mbit SDRAM 芯片4.2 SDRAM 控制器内核 SDRAM 应用两个带16 位数据总线的64Mbit SDRAM 芯片4.2 SDRAM 控制器内核 SDRAM 应用两个带32 位数据总线的128Mbit SDRAM 芯片第4 章 目录 4.1 并行输入/输出(PIO)内核 4.2 SDRAM 控制器内核 4.3 CFI(通用Flash)控制器内核 4.4 EPCS 控制器内核 4.5 定时器内核 4.6 UART 内
18、核 4.7 JTAG_UART 内核 4.8 SPI 内核 4.9 DMA 内核 4.10 带Avalon 接口的互斥内核 4.11 带Avalon 接口的邮箱内核 4.12 System ID 内核4.3 CFI 控制器内核 CFI 控制器内核综述对于Nios II 处理器,Altera 为CFI 控制器提供硬件抽象层(HAL)驱动程序。驱动程序提供了遵循CFI 接口规范的Flash 存储器的通用访问函数。因此,用户不需要写任何代码就可以访问遵循CFI 接口规范的Flash 器件。4.3 CFI 控制器内核 CFI 控制器内核综述CFI 控制器框图4.3 CFI 控制器内核 CFI控制器内核
19、设置CFI 控制器框图Attributes:用于完成Presets、size和 Board Info 这3 个选项的设定。Presets:选择预设好的CFI Flash。Size:地址宽度:Flash 地址总线宽度。数据宽度:Flash 数据总线宽度。Board Info:用于映射CFI 控制器目标系统板元件的已知芯片。4.3 CFI 控制器内核 CFI控制器内核设置CFI 控制器框图Timing:用于完成时序设置,包括建立时间、等待周期、保持时间等。Setup:chipselect 有效后,read 或write信号有效前所需的时间。Wait:每次数据传输过程中,read 或write信号需
20、要保持的时间。Hold:write 信号无效后,chipselect 信号无效前所需要的时间。Units:用于Setup、Wait 和Hold 值的时间单位,可以是ns、us、ms 和时钟周期。软件编程Avalon 主控制器可以直接读Flash 芯片。对于Nios II 处理器用户,Altera 提供HAL 系统库驱动程序和API 函数来支持对Flash 存储器的擦除和写操作。4.3 CFI 控制器内核第4 章 目录 4.1 并行输入/输出(PIO)内核 4.2 SDRAM 控制器内核 4.3 CFI(通用Flash)控制器内核 4.4 EPCS 控制器内核 4.5 定时器内核 4.6 UAR
21、T 内核 4.7 JTAG_UART 内核 4.8 SPI 内核 4.9 DMA 内核 4.10 带Avalon 接口的互斥内核 4.11 带Avalon 接口的邮箱内核 4.12 System ID 内核4.4 EPCS 控制器内核 EPCS 控制器内核综述Altera EPCS 串行配置器件(EPCS1 和EPCS4),它可用于存储程序代码、非易失性程序数据和FPGA 配置数据。带Avalon 接口的EPCS 设备控制器内核(“EPCS 控制器”)允许NiosII 系统访问Altera EPCS 串行配置器件。Altera 提供集成到NiosII 硬件抽象层(HAL)系统库的驱动程序,允许
22、用户使用HAL 应用程序接口(API)来读取和编写EPCS 器件。4.4 EPCS 控制器内核 EPCS 控制器内核综述EPCS 控制器可用于:在EPCS 器件中存储程序代码。存储非易失性数据。管理FPGA 配置数据。4.4 EPCS 控制器内核 EPCS 控制器内核综述EPCS 控制器结构框图Boot-LoaderROMEPCS 控制器配置存储空间通用存储空间EPCS 配置器件Avalon总线NiosIICPU片内外设Altera FPGA存储FPGA配置数据剩余空间可用于存储用户非易失性数据。1KB 的片内存储器4.4 EPCS 控制器内核 软件编程Altera 提供的HAL Flash
23、设备驱动程序已经完全屏蔽了Flash 的硬件访问细节,访问EPCS Flash 的软件编程和访问CFI Flash 的软件编程完全一样。EPCS 控制器提供了硬件的底层接口和HAL 驱动程序。4.4 EPCS 控制器内核 软件编程定义集成到HAL 系统库所需的驱动程序的头文件和源文件。Altera_avalon_epcs_flash_controller.h通过直接控制EPCS 设备来进行读写操作的头文件和源文件。Altera_avalon_epcs_flash_controller.cepcs_commands.hepcs_commands.c第4 章 目录 4.1 并行输入/输出(PIO)
24、内核 4.2 SDRAM 控制器内核 4.3 CFI(通用Flash)控制器内核 4.4 EPCS 控制器内核 4.5 定时器内核 4.6 UART 内核 4.7 JTAG_UART 内核 4.8 SPI 内核 4.9 DMA 内核 4.10 带Avalon 接口的互斥内核 4.11 带Avalon 接口的邮箱内核 4.12 System ID 内核4.5 定时器内核 定时器内核综述定时器是挂载在Avanlon 总线上的32 位定时器,特性如下:两种计数模式:单次减1 和连续减1 计数模式 定时器到达0 时产生中断请求(IRQ);可选择设定为看门狗定时器,计算到达0 时复位系统;可选择输出周期
25、性脉冲,在定时器计算到达0 时输出脉冲;可由软件启动、停止或复位定时器;可由软件使能或屏蔽定时器中断。4.5 定时器内核 定时器内核综述定时器内核结构框图StatusControlPeriodhPeriodlSnaphSnapl控制逻辑计数器寄存器文件Timeout pulseIRQReset数据总线地址总线(看门狗)Avanlon总线从机接口到内核逻辑4.5 定时器内核 定时器内核综述定时器可进行的基本操作如下所述:Avalon 主控制器通过对控制寄存器执行不同的写操作来控制:启动和停止定时器 使能/禁能IRQ 指定单次减1 计数或连续减1 计数模式 处理器读状态寄存器获取当前定时器的运行信
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 精选 外围设备 培训 课件 32466
限制150内