设备管理_niosii外围设备--sopc技术与应用_第1页
设备管理_niosii外围设备--sopc技术与应用_第2页
设备管理_niosii外围设备--sopc技术与应用_第3页
设备管理_niosii外围设备--sopc技术与应用_第4页
设备管理_niosii外围设备--sopc技术与应用_第5页
已阅读5页,还剩97页未读 继续免费阅读

下载本文档

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

文档简介

第5章NiosII外围设备 SOPC技术与应用 北京航空航天大学出版社出版周立功等编著 主要内容 本章介绍了NiosII处理器常用外围设备 Peripherals 内核的特点 配置以及软件编程 供读者在使用这些外设定制NiosII系统时查阅 这些外设都是以IP核的形式提供给用户的 用户可以根据实际需要把这些IP核集成到NiosII系统中去 主要介绍 硬件结构 内核的特性核接口 SOPCBuilder中各内核的配置选项 软件编程 第5章目录 5 1并行输入 输出 PIO 内核5 2SDRAM控制器内核5 3CFI 通用Flash 控制器内核5 5EPCS控制器内核5 5定时器内核5 6UART内核5 7JTAG UART内核5 8SPI内核5 9DMA内核 5 10带Avalon接口的互斥内核5 11带Avalon接口的邮箱内核5 12SystemID内核 第5章目录 5 1并行输入 输出 PIO 内核5 2SDRAM控制器内核5 3CFI 通用Flash 控制器内核5 5EPCS控制器内核5 5定时器内核5 6UART内核5 7JTAG UART内核5 8SPI内核5 9DMA内核 5 10带Avalon接口的互斥内核5 11带Avalon接口的邮箱内核5 12SystemID内核 5 1并行输入 输出内核 并行输入 输出内核 PIO内核 提供Avalon从控制器端口和通用I O口 间的存储器映射接口 PIO内核提供简单的I O访问用户逻辑或外部设备 例如 控制LED读取开关量控制显示设备配置并且与片外设备通信 说明 SOPCBuilder中提供了PIO内核 可以很容易将PIO内核集成到SOPCBuilder生成的系统中 通用I O端口既连接到片内逻辑又连接到外部设备的FPGAI O管脚 5 1并行输入 输出内核 PIO内核简介 最多32个I O端口 CPU内核 寄存器 NiosII系统 Pio 31 Pio 30 Pio 29 Pio 3 Pio 2 Pio 1 Pio 0 Pio 7 Pio 6 Pio 5 Pio 5 Pio 3 Pio 2 Pio 1 Pio 0 端口数可设置 每个Avalon接口的PIO内核可提供32个I O端口且端口数可设置 用户可以添加一个或多个PIO内核 CPU通过I O寄存器控制I O端口的行为 I O口可以配置为输入 输出和三态 还可以用来检测电平事件和边沿事件 CPU通过寄存器控制I O端口行为 PIO内核结构框图 5 1并行输入 输出内核 PIO内核寄存器描述 注 该寄存器是否存在取决于硬件的配置 如果该寄存器不存在 那么读寄存器将返回未定义的值 写寄存器无效 写任意值到边沿捕获寄存器将清除所有位为0 该寄存器是否存在取决于硬件的配置 如果该寄存器不存在 那么读寄存器将返回未定义的值 写寄存器无效 5 1并行输入 输出内核 PIO内核配置选项 双击 5 1并行输入 输出内核 PIO内核配置选项 BasicSettings选项卡 I O口宽度 可设置为1 32的任何整数值 5 1并行输入 输出内核 PIO内核配置选项 BasicSettings选项卡 5 1并行输入 输出内核 PIO内核配置选项 InputOptions选项卡 边沿捕获寄存器 中断寄存器 RisingEdge 上升沿FallingEdge 下降沿EitherEdge 上升或下降沿 Level 输入为高电平且中断使能 则PIO内核产生一个IRQ Edge 边沿捕获寄存器相应位为1且中断使能 则PIO内核产生一个IRQ 说明 当指定类型的边沿在输入端口出现时 边沿捕获寄存器对应位置1 说明 中断只有高电平中断 如果希望低电平时中断 则需在该I O输入引脚前加一个 非 门 5 1并行输入 输出内核 PIO内核配置选项 Simulation选项卡 当需要对外进行仿真时 要设置simulation选项卡 5 1并行输入 输出内核 软件编程 PIO内核提供了对硬件进行寄存器级访问的文件 该文件定义了内核的寄存器映射并提供硬件设备访问宏定义 可通过阅读上述文件以熟悉PIO设备的软件访问方法 但不应该修改文件 第5章目录 5 1并行输入 输出 PIO 内核5 2SDRAM控制器内核5 3CFI 通用Flash 控制器内核5 4EPCS控制器内核5 5定时器内核5 6UART内核5 7JTAG UART内核5 8SPI内核5 9DMA内核 5 10带Avalon接口的互斥内核5 11带Avalon接口的邮箱内核5 12SystemID内核 5 2SDRAM控制器内核 SDRAM控制器内核概述SDRAM控制器内核提供一个连接片外SDRAM芯片的Avalon接口 并可以同时连接多个SDRAM芯片 SDRAM控制器内核具有不同数据宽度 8 16 32或65位 不同内存容量和多片选择等设置 SDRAM控制器不支持禁能的时钟模式 SDRAM控制器使cke引脚永久地有效 5 2SDRAM控制器内核 SDRAM控制器内核概述 PPL 片内锁相环 通常用于调整SDRAM控制器内核与SDRAM芯片之间的相位差 Avalon三态桥 SDRAM控制器可与现有三态桥共用引脚 这用能减少I O引脚使用 但将降低性能 fMAX 最高时钟频率 目标FPGA的系列和整个硬件设计都会影响硬件设计可实现的最高时钟频率 5 2SDRAM控制器内核 SDRAM内核配置选项 可直接选择预定义的SDRAM芯片型号 对话框将自动改变下面两个选项卡的值来匹配指定配置 MemoryProfile 用于指定SDRAM的结构 5 2SDRAM控制器内核 数据宽度允许值 8 16 32 64默认值 32描述 该值确定dq总线 数据 和dqm总线 字节使能 的宽度 具体数值请查阅SDRAM数据手册 5 2SDRAM控制器内核 结构设置 片选允许值 1 2 4 8默认值 1描述 独立芯片的数目在SDRAM子系统中选择 通过使用多个片选信号 SDRAM控制器可组合多个SDRAM芯片为一个存储器子系统 5 2SDRAM控制器内核 结构设置 区允许值 2 4默认值 4描述 区的数目 该值确定连接到SDRAM的ba总线 区地址 宽度 具体数值请查阅SDRAM数据手册 5 2SDRAM控制器内核 地址宽度设计 行允许值 11 12 13 14默认值 12描述 行地址位的数目 该值确定addr总线的宽度 具体数值请查阅SDRAM数据手册 5 2SDRAM控制器内核 地址宽度设计 列允许值 8 且小于行的值默认值 8描述 列地址位的数目 例如 SDRAM排列为4096行 512 29 列 所以列的值为9 具体数值请查阅SDRAM数据手册 5 2SDRAM控制器内核 通过三态桥共用管脚允许值 是 否默认值 否描述 当设为No时 所有管脚都专用于SDRAM芯片 当设为Yes时 addr dq和dqm管脚在系统内可与三态桥共享 5 2SDRAM控制器内核 包括系统测试台的功能存储模块允许值 是 否默认值 是描述 当打开选项时 SOPCBuilder创建SDRAM芯片的功能仿真模型 该默认的存储器模型加速创建的过程和检验使用SDRAM控制器的系统 5 2SDRAM控制器内核 SDRAM内核配置选项 Timing 根据在SDRAM芯片数据手册中提供的参数来设置芯片的时序规范 5 2SDRAM控制器内核 CAS等待时间允许值 1 2 3默认值 3描述 从读命令到数据输出的等待时间 以时钟周期计算 5 2SDRAM控制器内核 初始化刷新周期允许值 1 8默认值 2描述 复位后 该值指定SDRAM控制器将执行多少个刷新周期作为初始化序列的一部分 5 2SDRAM控制器内核 每隔一段时间执行一个刷新命令允许值 默认值 15 625us描述 该值指定SDRAM控制器多久刷新一次SDRAM 典型的SDRAM每65ms需要5 096刷新命令 通过每65ms 5 096 15 625us执行一个刷新命令来符合这个要求 5 2SDRAM控制器内核 在初始化前 上电后延时允许值 默认值 100us描述 从稳定的时钟和电源到SDRAM初始化的延时 5 2SDRAM控制器内核 刷新命令 t rfc 的持续时间允许值 默认值 70ns描述 自动刷新周期 5 2SDRAM控制器内核 预充电命令 t rp 的持续时间允许值 默认值 20ns描述 预充电命令周期 5 2SDRAM控制器内核 ACTIVE到READ或WRITE延时允许值 默认值 20ns描述 ACTIVE到READ或WRITE延时 5 2SDRAM控制器内核 访问时间 t ac 允许值 默认值 5 5ns描述 时钟边沿的访问时间 该值由CAS的等待时间决定 5 2SDRAM控制器内核 写恢复时间 t wr 无自动预充电 允许值 默认值 15ns描述 如果执行了明确的预充电命令 写恢复 该SDRAM控制器总是执行明确的预充电命令 5 2SDRAM控制器内核 软件编程当通过Avalon接口访问时 SDRAM控制器操作起来像简单的SRAM存储器 没有可配置的软件设置 没有存储器映射的寄存器 处理器访问SDRAM控制器不需要软件驱动程序 5 2SDRAM控制器内核 SDRAM应用 一个带32位数据总线的128MbitSDRAM芯片 5 2SDRAM控制器内核 SDRAM应用 两个带16位数据总线的65MbitSDRAM芯片 5 2SDRAM控制器内核 SDRAM应用 两个带32位数据总线的128MbitSDRAM芯片 第5章目录 5 1并行输入 输出 PIO 内核5 2SDRAM控制器内核5 3CFI 通用Flash 控制器内核5 4EPCS控制器内核5 5定时器内核5 6UART内核5 7JTAG UART内核5 8SPI内核5 9DMA内核 5 10带Avalon接口的互斥内核5 11带Avalon接口的邮箱内核5 12SystemID内核 5 3CFI控制器内核 CFI控制器内核综述对于NiosII处理器 Altera为CFI控制器提供硬件抽象层 HAL 驱动程序 驱动程序提供了遵循CFI接口规范的Flash存储器的通用访问函数 因此 用户不需要写任何代码就可以访问遵循CFI接口规范的Flash器件 5 3CFI控制器内核 CFI控制器内核综述 CFI控制器框图 5 3CFI控制器内核 CFI控制器内核设置 CFI控制器框图 Attributes 用于完成Presets size和BoardInfo这3个选项的设定 Presets 选择预设好的CFIFlash Size 地址宽度 Flash地址总线宽度 数据宽度 Flash数据总线宽度 BoardInfo 用于映射CFI控制器目标系统板元件的已知芯片 5 3CFI控制器内核 CFI控制器内核设置 CFI控制器框图 Timing 用于完成时序设置 包括建立时间 等待周期 保持时间等 Setup chipselect有效后 read或write信号有效前所需的时间 Wait 每次数据传输过程中 read或write信号需要保持的时间 Hold write信号无效后 chipselect信号无效前所需要的时间 Units 用于Setup Wait和Hold值的时间单位 可以是ns us ms和时钟周期 5 3CFI控制器内核 软件编程Avalon主控制器可以直接读Flash芯片 对于NiosII处理器用户 Altera提供HAL系统库驱动程序和API函数来支持对Flash存储器的擦除和写操作 第5章目录 5 1并行输入 输出 PIO 内核5 2SDRAM控制器内核5 3CFI 通用Flash 控制器内核5 4EPCS控制器内核5 5定时器内核5 6UART内核5 7JTAG UART内核5 8SPI内核5 9DMA内核 5 10带Avalon接口的互斥内核5 11带Avalon接口的邮箱内核5 12SystemID内核 5 5EPCS控制器内核 EPCS控制器内核综述AlteraEPCS串行配置器件 EPCS1和EPCS5 它可用于存储程序代码 非易失性程序数据和FPGA配置数据 带Avalon接口的EPCS设备控制器内核 EPCS控制器 允许NiosII系统访问AlteraEPCS串行配置器件 Altera提供集成到NiosII硬件抽象层 HAL 系统库的驱动程序 允许用户使用HAL应用程序接口 API 来读取和编写EPCS器件 5 5EPCS控制器内核 EPCS控制器内核综述EPCS控制器可用于 在EPCS器件中存储程序代码 存储非易失性数据 管理FPGA配置数据 5 5EPCS控制器内核 EPCS控制器内核综述 EPCS控制器结构框图 Boot Loader ROM EPCS控制器 配置存 储空间 通用存 储空间 EPCS配置器件 Avalon 总线 NiosII CPU 片内外设 AlteraFPGA 存储FPGA配置数据 剩余空间可用于存储用户非易失性数据 1KB的片内存储器 5 5EPCS控制器内核 软件编程Altera提供的HALFlash设备驱动程序已经完全屏蔽了Flash的硬件访问细节 访问EPCSFlash的软件编程和访问CFIFlash的软件编程完全一样 EPCS控制器提供了硬件的底层接口和HAL驱动程序 5 5EPCS控制器内核 软件编程定义集成到HAL系统库所需的驱动程序的头文件和源文件 通过直接控制EPCS设备来进行读写操作的头文件和源文件 第5章目录 5 1并行输入 输出 PIO 内核5 2SDRAM控制器内核5 3CFI 通用Flash 控制器内核5 4EPCS控制器内核5 5定时器内核5 6UART内核5 7JTAG UART内核5 8SPI内核5 9DMA内核 5 10带Avalon接口的互斥内核5 11带Avalon接口的邮箱内核5 12SystemID内核 5 5定时器内核 定时器内核综述定时器是挂载在Avanlon总线上的32位定时器 特性如下 两种计数模式 单次减1和连续减1计数模式定时器到达0时产生中断请求 IRQ 可选择设定为看门狗定时器 计算到达0时复位系统 可选择输出周期性脉冲 在定时器计算到达0时输出脉冲 可由软件启动 停止或复位定时器 可由软件使能或屏蔽定时器中断 5 5定时器内核 定时器内核综述 EPCS控制器结构框图 Status Control Periodh Periodl Snaph Snapl 控制 逻辑 计数器 寄存器文件 Timeoutpulse IRQ Reset 数据总线 地址总线 看门狗 Avanlon 总线从机 接口到内 核逻辑 5 5定时器内核 定时器内核综述定时器可进行的基本操作如下所述 Avalon主控制器通过对控制寄存器执行不同的写操作来控制 启动和停止定时器使能 禁能IRQ指定单次减1计数或连续减1计数模式处理器读状态寄存器获取当前定时器的运行信息 处理器可通过写数据到periodl和periodh寄存器来设定定时器周期 5 5定时器内核 定时器内核综述定时器可进行的基本操作如下所述 内部计数器计数减到0 立即从周期寄存器开始重新装载 处理器可以通过写snapl或snaph获取计数器的当前值 当计数器计数到达0时 如果IRQ被使能 则产生一个IRQ 可选的 脉冲发生器输出有效持续一个时钟周期 可选的 看门狗输出复位系统 5 5定时器内核 定时器寄存器描述 EPCS控制器结构框图 RUN TO STOP START CONT ITO periodl Periodh snapl snaph 注 表示该位保留 读取值未定义 5 5定时器内核 定时器内核配置选项 CFI控制器框图 Initialperod 用于预设硬件生成后的定时器周期 即perodl和periodh寄存器的值 5 5定时器内核 定时器内核配置选项 CFI控制器框图 PresetConfigurations 可选择的预定义的硬件配置 5 5定时器内核 定时器内核配置选项 CFI控制器框图 Writeableperod 使能 主控制器可通过写period而改变向下计数周期 禁能 向下计数周期由TimeoutPeriod确定 且period寄存器不在硬件中存在 Readablesnapshot 使能 主控制器可读当前向下计数器的值 禁能 计数器的状态仅通过状态寄存器或IRQ信号来检测 Snap寄存器不在硬件中存在 Start Stopcontrolbits 使能 主控制可通过写START和STOP位来启动和停止定时器 禁能 定时器连续运行 5 5定时器内核 定时器内核配置选项 CFI控制器框图 Timeoutpulse 使能 定时器到0时 timeout pulse输出一个时钟周期的高电平 禁能 timeout out信号不存在 Systemresetontimeout 使能 定时器到0时 resetrequest信号输出一个时钟周期的高电平使系统复位 禁能 resetrequest信号不存在 5 5定时器内核 软件编程Altera为NiosII处理器用户提供硬件抽象层 HAL 系统库驱动程序 允许用户使用HAL应用程序接口 API 函数来访问定时器内核 HAL系统库支持系统时钟驱动程序时间标记驱动程序软件文件 第5章目录 5 1并行输入 输出 PIO 内核5 2SDRAM控制器内核5 3CFI 通用Flash 控制器内核5 4EPCS控制器内核5 5定时器内核5 6UART内核5 7JTAG UART内核5 8SPI内核5 9DMA内核 5 10带Avalon接口的互斥内核5 11带Avalon接口的邮箱内核5 12SystemID内核 5 6UART内核 UART内核综述UART内核 通用异步接收器 发送器内核 执行RS 232协议时序 并提供可调整的波特率 用户可配置奇偶校验位 停止位和数据位 以及可选的RTS CTS流控制信号 内核提供一个简单的Avalon从控制器接口 该接口允许Avalon主控制器 例如NiosII处理器 通过读写寄存器与UART内核进行通讯 5 6UART内核 UART内核综述 UART内核的结构框图 5 6UART内核 UART内核综述RS 232接口发送逻辑接收逻辑波特率生成 5 6UART内核 UART内核的寄存器描述 UART内核寄存器映射 发送数据 txdata 接收数据 rxdata 状态 status 控制 control 除数 divisor 数据包结束符 endopacket 5 6UART内核 UART内核配置页 BaudRate 波特率设置 数据位设置 流控制 流数据控制 5 6UART内核 软件编程HAL系统支持驱动程序选项Ioctl 操作软件文件 第5章目录 5 1并行输入 输出 PIO 内核5 2SDRAM控制器内核5 3CFI 通用Flash 控制器内核5 4EPCS控制器内核5 5定时器内核5 6UART内核5 7JTAG UART内核5 8SPI内核5 9DMA内核 5 10带Avalon接口的互斥内核5 11带Avalon接口的邮箱内核5 12SystemID内核 5 7JTAG UART内核 JTAG UART内核综述JTAGUART内核通过Avalon从控制器接口连接到Avalon总线 JTAGUART内核包含2个32位寄存器 数据和控制 它们可通过Avalon从控制器端口进行存取 Avalon主控制器访问寄存器来控制内核并在JTAG连接上传输数据 JTAGUART内核提供高电平有效的中断输出 该输出在读FIFO几乎为满或写FIFO几乎为空时申请一个中断 有读写FIFO也是JTAGUART内核与UART内核的不同点之一 FIFO可以改善JTAG连接的带宽 FIFO深度可由用户设置 5 7JTAG UART内核 JTAG UART内核综述 UART内核寄存器映射 5 7JTAG UART内核 JTAG UART的寄存器描述 UART内核寄存器映射 数据 控制 5 7JTAG UART内核 JTAG UART配置选项卡 JATG UART配置选项卡 WriteFIFO 写FIFO设置 ReadFIFO 读FIFO设置 5 8SPI内核 SPI内核综述 SPI内核框图 SPI发送逻辑 SPI接收逻辑 5 8SPI内核 SPI内核综述 SPI内核框图 主控制器模式端口配置 5 8SPI内核 SPI内核综述 SPI内核框图 从控制器模式端口配置 5 8SPI内核 SPI内核的寄存器描述 UART内核寄存器映射 txdat status control 保留 slaveselect rxdata 接收数据寄存器 发送数据寄存器 状态寄存器 控制寄存器 从控制器选择寄存器 5 8SPI内核 SPI配置选项卡 SPI配置选项卡 Master Slave 主控制器 从控制器设置 GenerateSelectSignals 通用选择信号 SPIClockRate SPI时钟率 SpecifyDelay 指定延时 DataRegister 数据寄存器设置 Timing 时序设置 Waveforms 波形显示 5 8SPI内核 软件编程Altera提供一个访问SPI的函数alt avalon spi command 该函数为配置生成主控制器的SPI内核提供通用访问 第5章目录 5 1并行输入 输出 PIO 内核5 2SDRAM控制器内核5 3CFI 通用Flash 控制器内核5 4EPCS控制器内核5 5定时器内核5 6UART内核5 7JTAG UART内核5 8SPI内核5 9DMA内核 5 10带Avalon接口的互斥内核5 11带Avalon接口的邮箱内核5 12SystemID内核 5 9DMA内核 DMA内核综述带Avalon接口的直接存储器存取控制器 DMA控制器 替代Avalon主控制器执行储存器对储存器或者储存器与IO设备间的批量数据传输 当DMA控制器执行数据传输任务时 主控制器可自由执行其它并行的任务 5 9DMA内核 DMA内核综述 DMA控制器结构框图 5 9DMA内核 DMA寄存器描述 DMA控制器结构框图 源地址 目的地址 长度 控制 状态 5 9DMA内核 DMA配置选项卡 SPI配置选项卡 TransferSize DMA长度寄存器的宽度 BurstTransactions 允许突发传输 FIFOImplementation FIFO的构成 5 9DMA内核 DMA配置选项卡 SPI配置选项卡 高级选项 5 9DMA内核 软件编程Ioctl 操作软件文件 第5章目录 5 1并行输入 输出 PIO 内核5 2SDRAM控制器内核5 3CFI 通用Flash 控制器内核5 4EPCS控制器内核5 5定时器内核5 6UART内核5 7JTAG UART内核5 8SPI内核5 9DMA内核 5 10带Avalon接口的互斥内核5 11带Avalon接口的邮箱内核5 12SystemID内核 5 10带Avalon接口的互斥内核 互斥内核描述 互斥内核描述 5 10带Avalon接口的互斥内核 互斥内核配置选项硬件设计者可利用互斥内核的SOPCBuilder配置向导来设定内核的硬件特性 配置向导提供了以下设置 InitialValue 复位后VALUE字段的初始值 如果InitialValue设置成非零值 还必须设定InitialOwner InitialOwner 复位后OWNER字段的初始值 当InitialOwner被设定时 此时的互斥体拥有者必须在互斥体被其它拥有者占用之前将互斥体释放 5 10带Avalon接口的互斥内核 软件编程对于Nios 处理器用户 Altera提供了可用来访问互斥内核硬件的驱动程序 利用驱动程序可以直接对低层的硬件进行操作 互斥内核不能通过HALAPI或ANSIC标准库来访问 在Nios 处理器系统中 处理器通过将它的cpuid控制寄存器的值写入mutex寄存器的OWNER字段来锁定互斥体 Altera为互斥内核提供下列驱动程序文件 altera avalon mutex regs h altera avalon mutex haltera avalon mutex c 5 10带Avalon接口的互斥内核 软件编程 硬件互斥体函数 5 11带Avalon接口的邮箱内核 邮箱内核配置选项MoreSettings选项卡提供以下选项 Memorymodule 指定哪个存储器用作邮箱缓冲区 如果所需的共享存储器没有包含Memorymodule列表 那么存储器在系统中不能正确连接 SharedMailboxMemoryOffset 指定存储器中的偏移量 邮箱消息缓冲区从该偏移量处开始 5 11带Avalon接口的邮箱内核 邮箱内核配置选项MoreSettings选项卡提供以下

温馨提示

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

评论

0/150

提交评论