《《精编》NiosII外围设备--SOPC技术与应用》由会员分享,可在线阅读,更多相关《《精编》NiosII外围设备--SOPC技术与应用(101页珍藏版)》请在金锄头文库上搜索。
1、第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内
2、核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口
3、 间的存储器映射接口 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
4、 端口数可设置 每个Avalon接口的PIO内核可提供32个I O端口且端口数可设置 用户可以添加一个或多个PIO内核 CPU通过I O寄存器控制I O端口的行为 I O口可以配置为输入 输出和三态 还可以用来检测电平事件和边沿事件 CPU通过寄存器控制I O端口行为 PIO内核结构框图 5 1并行输入 输出内核 PIO内核寄存器描述 注 该寄存器是否存在取决于硬件的配置 如果该寄存器不存在 那么读寄存器将返回未定义的值 写寄存器无效 写任意值到边沿捕获寄存器将清除所有位为0 该寄存器是否存在取决于硬件的配置 如果该寄存器不存在 那么读寄存器将返回未定义的值 写寄存器无效 5 1并行输入 输出
5、内核 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 说明 当指定类型的边沿在输
6、入端口出现时 边沿捕获寄存器对应位置1 说明 中断只有高电平中断 如果希望低电平时中断 则需在该I O输入引脚前加一个 非 门 5 1并行输入 输出内核 PIO内核配置选项 Simulation选项卡 当需要对外进行仿真时 要设置simulation选项卡 5 1并行输入 输出内核 软件编程 PIO内核提供了对硬件进行寄存器级访问的文件 该文件定义了内核的寄存器映射并提供硬件设备访问宏定义 可通过阅读上述文件以熟悉PIO设备的软件访问方法 但不应该修改文件 第5章目录 5 1并行输入 输出 PIO 内核5 2SDRAM控制器内核5 3CFI 通用Flash 控制器内核5 4EPCS控制器内核5
7、 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 片内锁相环 通常
8、用于调整SDRAM控制器内核与SDRAM芯片之间的相位差 Avalon三态桥 SDRAM控制器可与现有三态桥共用引脚 这用能减少I O引脚使用 但将降低性能 fMAX 最高时钟频率 目标FPGA的系列和整个硬件设计都会影响硬件设计可实现的最高时钟频率 5 2SDRAM控制器内核 SDRAM内核配置选项 可直接选择预定义的SDRAM芯片型号 对话框将自动改变下面两个选项卡的值来匹配指定配置 MemoryProfile 用于指定SDRAM的结构 5 2SDRAM控制器内核 数据宽度允许值 8 16 32 64默认值 32描述 该值确定dq总线 数据 和dqm总线 字节使能 的宽度 具体数值请查阅S
9、DRAM数据手册 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控制器内核 地址宽度设计 列允
10、许值 8 且小于行的值默认值 8描述 列地址位的数目 例如 SDRAM排列为4096行 512 29 列 所以列的值为9 具体数值请查阅SDRAM数据手册 5 2SDRAM控制器内核 通过三态桥共用管脚允许值 是 否默认值 否描述 当设为No时 所有管脚都专用于SDRAM芯片 当设为Yes时 addr dq和dqm管脚在系统内可与三态桥共享 5 2SDRAM控制器内核 包括系统测试台的功能存储模块允许值 是 否默认值 是描述 当打开选项时 SOPCBuilder创建SDRAM芯片的功能仿真模型 该默认的存储器模型加速创建的过程和检验使用SDRAM控制器的系统 5 2SDRAM控制器内核 SDR
11、AM内核配置选项 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
12、执行一个刷新命令来符合这个要求 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描述 时钟边沿的访问时
13、间 该值由CAS的等待时间决定 5 2SDRAM控制器内核 写恢复时间 t wr 无自动预充电 允许值 默认值 15ns描述 如果执行了明确的预充电命令 写恢复 该SDRAM控制器总是执行明确的预充电命令 5 2SDRAM控制器内核 软件编程当通过Avalon接口访问时 SDRAM控制器操作起来像简单的SRAM存储器 没有可配置的软件设置 没有存储器映射的寄存器 处理器访问SDRAM控制器不需要软件驱动程序 5 2SDRAM控制器内核 SDRAM应用 一个带32位数据总线的128MbitSDRAM芯片 5 2SDRAM控制器内核 SDRAM应用 两个带16位数据总线的65MbitSDRAM芯片
14、 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接口规范的Fla
15、sh存储器的通用访问函数 因此 用户不需要写任何代码就可以访问遵循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 用于完成时序设
16、置 包括建立时间 等待周期 保持时间等 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 它可