毕业设计论文-基于fpga的嵌入式系统设计内容摘要:

备可以映射到 32 位地址空间的任何地方。 换句话说, CPU( 或其他的总线控制器 ) 有多达 4GB 的可寻址存储器范围。 ( 4)同步接口 所有的 Avalon 信号和 Avalon 总线时钟同步,这使相应的 Avalon 交换结构总线时间性能简单化,便于高速外围设备的集成。 ( 5)嵌入的地址译码 SOPC Builder 创建的 Avalon 交换结构总线自动地为所有外围设备 ( 甚至用户自定义外围设备 ) 形成片选信号,这可极大地简化基于 Nios 处理器系统的设计。 14 分离 的地址和数据通路为片内用户逻辑提供了一个极其容易的连接,用户自定义外围设备不需要数据和地址总线周期译码。 ( 6)带延迟的读写传输 Avalon 交换结构总线可以完成带延迟的读写操作,这种延迟传输是很有用的。 这是因为,控制器可以先发出读写请求,在执行一个无关的任务后接收数据。 这项特性对发送多个读写请求到一个已知延迟的从属设备也非常有用。 例如,这对在连续的地址内同时进行取指令操作和 DMA 传输非常有好处。 在这种情况下, CPU 或 DMA控制器可以预取预定的数据,以减少同步存储器的平均存取延迟。 ( 7)数据流处理 带 Avalon 交换矩阵的数据流处理在数据流控制器和数据流从属设备之间建立一个开放的通道,以完成连续的数据传送。 这些通道允许数据在控制器和从属设备对之间流动。 控制器不必连续地读取从属设备中的状态寄存器来决定从属设备是否可以发送或接收数据。 数据流处理在控制器和从属设备对之间获得最大的数据吞吐量,并避免在从属设备上出现数据溢出。 这对 DMA 传输尤其有用。 ( 8)动态的外围设备接口大小 动态的总线大小允许 Nios 开发者使用低成本的窄的存储器件,这些存储器件可以和 Nios CPU 的总线大小不匹配。 例如, 32 位数据总线的系 统可以容易地集成 8 位闪速存储器器件。 在这样的系统中,如果必要的话,动态的总线大小调整逻辑自动地执行多总线周期,以便从窄的外围设备中取出宽的数据值。 SOPC Builder自动地添加完成大小调整和定位调整所需要的专用逻辑。 15 第 2 章 Nios 嵌入式系统开发板整体分析 系统 设计目标 以 Altera 公司的 Cyclone 系列的 FPGA— EP1C6 为核心, 在其外围扩展 FLASH、 SRAM、 A/D、 D/A、键盘、 LED 显示、 LCD 显示、 串口通信 、 VGA 接口、 PS2 接口、 USB 接口 等器件,使其成为一个完整的嵌 入式开发系统, 系统 要尽量 采用模块化设计,各个模块之间可以自由组合。 系统设计 原理 系统设计原理框图如下图 21 所示。 图 21 系统设计原理框图 当开发板加电时,开发板上的配置逻辑使用保存在串行配置器件 EPCS1中的硬件配置数据配置 Cyclone,器件配置完成后 Cyclone 中的 Nios 处理器开始工作,执行 Flash 中的启动代码程序,然后 Flash 中的用户程序加载到 SRAM 中执行。 系统提供 、 稳定电压,支持 JTAG 下载口配置 FPGA,通过两个欧式 396 插座引出剩余用户I/O 口 、 FPGA 锁相环输出、 稳定电源和多个接地引脚等。 系统设计时,在器件的每一电源引脚上都并接 , , 三个滤波电容,不仅滤除低频干扰信号,而且有效的消除了高频干扰,保证了系统能够稳定可靠的工作。 系统布线 时充分考虑到 PCB 布局对信号传输的影响,尽量使所有的地址线到达 FPGA 的距离接近,避免 16 高频信号传输过程中的相位变化引起误判,数据线的布局也遵循同样的原则。 最终,用两层板实现了一般四层板的功能,不仅面积合适、工作稳定,而且降低了开发板成本。 与主开发板配套使用的,还有另一 块底板,底板可以看作是一个载体,在其上不仅留出了主开发板的接口,而且留出了 A/D、 D/A、 LCD 和键盘等模块的接口,这些模快即插即用,配合主开发板工作,使其能够完成复杂的 EDA 设计。 主板和底板的配合使用见图 22 所示。 图 22 开发板组合结构图 开发板组件与理论分析 Nios 嵌入式系统 开发板为开发嵌入式系统提供硬件平台, 本毕设 这次使用 的 FPGA 为 Cyclone 系列的EP1C6Q240C8,其具有 5980 个逻辑单元和 234kbits 的片内存储器。 另外,开发板上有 Cyclone 器件专用的串行 配置器件( EPCS1)及其 JTAG 插座。 默认参考设计提供从主计算机向开发板下载新的用户定义硬件和软件配置数据的功能,下载可以使用串行电缆、 JTAG 电缆等。 GERMS 监控程序( Altera 提供的 Nios 处理器监控程序)通过 RS232 串行口进行控制。 Nios 开发板具有如下组件:  Cyclone EP1C6Q240C8 器件  8MBit Flash  256kByte SRAM  两个 RS232 DB9 串行口  两个 扩展插座,一共包括 92 个 Cyclone 用户 I/O 引脚  八个连接到 Cyclone 用户 I/O 引 脚的发光二极管  四个连接到 Cyclone 用户 I/O 引脚的按钮开关  EPCS1 串行配置器件  用 Altera 下载电缆连接 Cyclone 器件的 JTAG 插座  50MHz 振荡器和零偏移时钟分配电路  加电复位电路 当开发板加电时,开发板上的配置逻辑使用保存在串行配置器件 EPCS1 中的硬件配置数据配置 Cyclone,器件配置完成后 Cyclone 中的 Nios 处理器开始工作,执行 Flash 中的启动代码程序。 Nios 开发板的组件简单介绍如下。 ( 1) Cyclone EP1C6Q240C8 器件 17 本 Nios 开发板上的 FPGA 是 240 脚 FBGA 封装的 Cyclone EP1C6Q240C8 器件 ,其特性如下表 21 所示。 表 21 Cyclone EP1C6Q240C8 器件特性 特性 数目 逻辑单元数 5980 M4K RAM 块数 20 总 RAM 位数 92160 锁相环个数 2 用户 I/O 引脚数 185 Cyclone 器件有两种配置方法:  使用运行在主机算计上的 QuartusⅡ软件,通过连接到 JTAG 插座的 Altera 下载电缆直接配置Cyclone 器件  通过主动串行配置器件 EPCS1/EPCS4 配置 Cyclone 器件 ( 2) Flash 存储器件 Nios 上用的 Flash 为 8MBit 的存储器件 AM29LV800B,它用于两个目的:  在 FPGA 器件上实现的 Nios 嵌入式处理器可以使用 Flash 存储器作为通用只读存储器和非易失性存储器  Flash 存储器可以保存 FPGA 配置数据,配置数据在加电时通过配置控制器装入 FPGA 器件 Nios 参考设计的硬件配置数据预存在 Flash 存储器中,参考设计的硬件配置数据装入后,其中的监控程序可以将文件下载到 Flash 存储器, Nios 嵌入式处理器软件包括擦写 Flash 存储器的程序。 Flash 存储器与 SRAM 共用地址和数据总线。 ( 3)双 SRAM 器件 Nios 开发板上有两个 64k 16 位的异步 SRAM 器件 IDT71V016S,它们和 FPGA 器件相连作为 Nios 嵌入式处理器的通用存储器使用,两个 16 位器件可以构成 32 位存储器,预装的 Nios 参考设计把 SRAM 器件作为连续的 128k 16 位零等待主存储器。 SRAM 和 Flash 存储器共用地址和数据总线。 ( 4) RS232 串行口插座 Nios 开发板上有两个标准的 9 针串行口插座,用连接到串行口的标准 9 针串行电缆实现与主计算机的串行通信。 开发板上的两个串行口一个用来 调试,另一个用来提供给用户使用,两个串行口以相同的方式连接到 FPGA, Nios 处理器系统可以将任何一个串行口用于任何目的,不受原理图上标记的限制。 两个 FPGA 逻辑端口能够传送所有的 RS232 信号,设计时可以只使用需要的信号,例如 RXD(接收数据)和 TXD(发送数据)。 当发送或接收数据时 RXD 和 TXD 信号的发光二极管给出相应的指示。 ( 5)扩展插座 在 Nios 开发板上有两个 96 针的欧式插座 396 作为 FPGA 用户 I/O 引脚的扩展插座。 两个插座包含以下引脚:  96 个用户 I/O 引脚,全部连接到 FPGA 器件的用 户 I/O 引脚,每个信号与扩展插座之间有一个 33欧姆以实现隔离和电平保护  经过缓冲的零偏移 FPGA 锁相环 PLL 输出  电源引脚  5V 电源引脚  多个地引脚 ( 6)发光二极管 Nios 开发板上有八个发光二极管 LED1— LED8,其直接连接到 FPGA 的 I/O 引脚上,当 FPGA 引脚输出高电平时对应的发光二极管亮。 ( 7)按钮开关 Nios 开发板上有五个按钮开关,其中四个为普通按键开关,每个开关一端通过下拉电阻接地,同时这一 18 端还要通过带史密特触发的反向器连接到 FPGA 的通用 I/O 引脚,以实现消抖功能,另一端直接接 电源,当开关按下时 FPGA 引脚输入高电平。 另一个位是复位开关,用于系统的全局复位,按下时输入低电平。 ( 8)串行配置器件 串行配置器件是具有串行接口的 Flash 存储器件,可以存储 Cyclone 器件的配置数据并在上电或重新配置时将配置数据重新装入到 Cyclone 器件。 利用 Cyclone 器件新的数据压缩特性,设计者可以使用较小的串行配置器件配置大的 Cyclone 器件 ,串行配置器件不能级连。 SOPC Builder 主动串行存储器接口组件允许微处理器系统访问串行配置存储器。 ( 9)电源电路 Nios 开 发板可以用 5V 未稳压的电压源,板上电源电路产生 、 稳定电源。 电源用于所有 Cyclone 器件 I/O 引脚的电源,也用于 FLASH 和 SRAM 等 供电的器件。 电源只用做 Cyclone 器件核心的电源,不用于任何插座。 ( 10) JTAG 连接 JTAG 插座直接与 Cyclone 器件的专用 JTAG 引脚相联( TCK、 TDI、 TDO 和 TMS), Quartus 软件可以通过 ByteBlasterⅡ下载电缆用新的硬件映像直接配置 Cyclone 器件, Nios 嵌入式处理器调试程序也可以通过连接到插座的 电缆访问 Nios 片内调试模块 OCI。 开发板 电路设计 原理图 与 PCB 布线图 原理图如下图 23 所示。 图 23 Nios 嵌入式开发板原理图 印制电路板 PCB 图如下图 24 所示。 19 图 24 印制电路板 PCB 图 20 第 3 章 Nios 嵌入式系统开发板硬件开发 硬件开发环境概述 Nios 开发板为开发嵌入式系统提供硬件平台 , Nios 开发板具有如下组件: Cyclone EP1C6Q240C8 器件、8MBit Flash、 256kByte SRAM、两个 RS232 DB9 串行口、两个 扩展插座,一共包括 92 个 Cyclone 用户 I/O 引脚、八个连接到 Cyclone 用户 I/O 引脚的发光二极管、四个连接到 Cyclone 用户 I/O 引脚的按钮开关、EPCS1 串行配置器件、用 Altera 下载电缆连接 Cyclone 器件的 JTAG 插座、 50MHz 振荡器和零偏移时钟分配电路和加电复位电路等。 下面详细的介绍主要组件。 FPGA: EP1C6QC240C8 的特性和电路设计 Cyclone 器件是基于 、 、全铜 SRAM 工序,多达 20200 个逻辑单元( LE)和 288KB SRAM的 FPGA 器件,具有时钟锁相环路( PLL)、连接 DDR SDRAM 的双数据速率( DDR)接口和快速环路RAM(FCRAM)内存需求,支持不同的 I/O 标准,包含数据速率达 311Mb/s 的 LVDS 和 66MHz 32 位外 设组件互连( PCI)接口。 特性和封装 Cyclone 器件具有如下特性,如表 31 所示。  2910— 20200 个逻辑单元( LE)  多达 294912 位 RAM(36864B)  支持低成本串行配置器件( EPCS1 或 EPCS4)配置  支持 LVTTL、 LVCMOS、 SSTL2 和 SSTL3I/O 标准  支持 66MHz 32 位 PCI 标准和高速( 311Mb/s) LVDS  两个 PLL 提供时钟倍频和相移  多达八个全局时钟线,每个逻辑块阵列( LAB)可用六个时钟源  支持 DDR SDRAM(133MHz)、 FCRAM 和单数据速率 (SDR)SDRAM  支持知识产权 (IP)核,包含 Altera MegaCore 函数和 AMPP mega 函数 表 3。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。