USB接口键盘输入电路设计.doc_第1页
USB接口键盘输入电路设计.doc_第2页
USB接口键盘输入电路设计.doc_第3页
USB接口键盘输入电路设计.doc_第4页
USB接口键盘输入电路设计.doc_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

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

文档简介

本科毕业设计论文本科毕业设计论文 题题 目目 USB 接口键盘输入设计 专业名称 微 电 子 学 学生姓名 吴 开 拓 指导教师 张 盛 兵 毕业时间 2011 年 6 月 摘 要 基于 FPGA Field Programmable Gate Array 的嵌入式系统的设计与开发 在中国还刚刚起步 本文旨在学习和研究 FPGA 嵌入式系统的实现键盘接口的 具体应用 通过使用 ISE Design Suite 的 Xilinx Platform Studio XPS 开发工 具 在 Genesys FPGA 开发板上实现 USB 接口的键盘设计 实现了通过一个 SOPC 片上系统 并配合相应的 IP 核控制器 固件和应用程序 控制外围设 备的功能 本文分别从开发工具介绍 硬件平台搭建 应用程序编写 以及下 载配置选择方法四个方面进行了对本设计进行了详细的介绍 由于是基于 FPGA 的嵌入式开发 设计的系统简便 体积小 功耗低 关键词 FPGA USB 键盘 接口 XILINX ABSTRACT The design and development of embedded system based on FPGA Field Programmable Gate Array in China has just started This paper aims to study and implementation the specific application of keyboard interface to embedded system of FPGA To implement the USB interface keyboard design on Genesys FPGA development board this paper using the Xilinx Platform Studio XPS development tool of the ISE Design Suite Through a SOPC System on Chip with the corresponding IP controller firmware and applications achieving the control of peripheral devices This paper introduced four aspects of the design in detail from the development tools hardware platform structures application programming and the configuration selection method of download The system is simple small size and low power as the design is based on FPGA embedded development KEY WORDS FPGA USB keyboard interface XILINX 4 目录 第一章第一章 绪论绪论 5 第二章第二章 开发工具介绍开发工具介绍 6 2 1 基于 ISE DESIGN SUITE的嵌入式开发基础 6 2 1 1ISE Design Suite软件介绍 6 2 1 2ISE Design Suite主要组件 7 2 1 3软件安装 8 第三章第三章 嵌入式平台硬件开发嵌入式平台硬件开发 9 3 1 完整的 EDK 开发流程 9 3 2 本设计系统整体结构设计 11 3 2 1系统设计流程概述 11 3 2 2硬件平台设计步骤 12 3 2 3XPS软件开发包 SDK 介绍 18 第四章第四章 基于硬件平台的基于硬件平台的 USBUSB 键盘软件工程开发键盘软件工程开发 19 4 1 软件工程在设计中的作用 19 4 2 算法设计 20 4 2 1读写主程序算法设计 20 4 2 2LCD显示算法设计 21 4 2 3MicroBlaze的BSP 22 第五章第五章 下载和实现下载和实现 24 5 1 下载实现 24 5 1 1FPGA配置电路综述 24 5 1 2JATG模式简介 25 5 1 3下载实现步骤 25 5 2 设计的显示结果 27 第六章第六章 全文总结全文总结 29 参考文献参考文献 30 致谢致谢 30 毕设小结毕设小结 31 5 第一章第一章 绪论绪论 System on a Programmable Chip 即可编程片上系统 用可编程逻辑技术 把整个系统放到一块硅片上 称作 SOPC SOPC 技术融合了 SoC 和 FPGA 的 优点 将处理器 片上总线 片上存储器 内部外设 I O 接口以及自定义逻辑 集成在同一片 FPGA 中 而且软硬件可裁剪 可升级 可修改 具有软硬件在 系统编程能力 在保证高性能的同时具有非常高的灵活性 由于大部分功能部 件在 FPGA 内实现 外部只需要很少的器件 如大容量的 RAM Flash DAC ADC 等 具有较高的应用价值 1 目前 USB 接口键盘是一项成熟的应用技术 已经大范围应用与实际生活 特别是笔记本电脑上 基于 SOPC 系统的 USB 接口键盘设计 作为片上系统的 应用之一 也是一项比较成熟的技术 本文以此作为本科毕业设计的研究 主 要旨在了解 SOPC 的结构框架 了解 Xilinx 嵌入式开发的具体流程 熟悉 Genesys 开发板的应用 学习嵌入式开发工具并使用工具搭建硬件平台 最后 在系统上编写软件工程实现简单的功能设计 因此 本文将从硬件和软件两个方面进行学习和研究 首先介绍软件的开 发工具 ISE Design Suite 了解 SOPC 设计的不同设计方法 并重点了解基于 FPGA 的嵌入式开发 然后介绍使用 Xilinx Platform Studio 构建硬件平台 以及 硬件平台的相关配置 之后是基于所构建的硬件平台的软件开发 主要是算法 的介绍 最后是构建的软件和硬件混合系统的下载和实现方式 包括下载模式 的分类以及下载实现的具体方法和相关的配置 6 第二章第二章 开发工具介绍开发工具介绍 2 1 基于基于 ISE Design Suite 的嵌入式开发基础的嵌入式开发基础 2 1 1ISE Design Suite 软件介绍软件介绍 ISE Design Suite 是 Xilinx 推出的业内领先设计工具 也是 SOPC 设计的开 发工具之一 提供了完美的设计性能和生产率组合 无论您的设计是需要灵活 的嵌入式处理解决方案 DSP 开发专用流程 还是最佳的高性能逻辑 ISE Design Suite 均能帮您迅速实现设计目标 本设计安装的是 ISE Design Suite 11 1 并升级到 ISE Design Suite 11 4 版本 ISE Design Suite 提供 终极生产率 最佳系统性能和世界级 FPGA 设计解 决方案 该款 ISE 设计套件拥有完整的新一代领域专用开发平台 可支持 逻辑设计 DSP 设计 适用于硬件与算法开发人员 嵌入式设计 适用于软 硬件编程人员 集成嵌入式处理与 DSP 算法的完整系统设计 ISE Design Suite 包含了 ISE Foundation 软件 ISE WebPACK 软件 免费下载 带有 ISE 仿真器的 ISE Foundation 软件 Platform Studio 和嵌入式开发套件 EDK PlanAhead 设计和分析工具与 PlanAhead Lite ChipScope Pro 工具 ChipScope Pro 串行 I O 工具套件 System Generator for DSP AccelDSP 综合工具 ISE Design Suite 10 1 提供了业内独有的解决方案 可以满足您的设计需求 此外 他还有以下优点 逻辑设计工具 为性能更高 功耗更低的设计提供了最佳时序收敛 自动嵌入式设计向导 加快了开发过程和面市时间 7 为算法 系统和硬件开发人员量身打造的 DSP 设计流程与 IP 2 1 2ISE Design Suite 主要组件主要组件 ISE Design Suite 涉及了 FPGA 设计的各个应用方面 包括逻辑开发 数字 信号处理系统以及嵌入式系统开发等 FPGA 开发的主要应用领域 主要包括 ISE Foundation 嵌入式开发套件 EDK System Generator Accel DSP 综合 工具 ChipScope Pro 分析仪 PlanAhead 设计和分析工具等组成部分 2 1 ISE Foundation ISE Foundation 软件是 Xilinx 公司推出的 FPGA CPLD 集成开发环境 不仅 包括逻辑设计所需的一切 还具有大量简便易用的内置式工具和向导 使得 I O 分配 功耗分析 时序驱动设计收敛 HDL 仿真等关键步骤变得容易而直观 ISE 的主要功能包括设计输入 综合 仿真 实现和下载 涵盖了 FPGA 开发的全过程 从功能上讲 其工作流程无需任何第三方 EDA 软件 各种功能 的实现可以使用不同的工具 表 2 1 列出了一些参考的使用工具 表 2 1 设计输入综合仿真实现下载 HDL 文本编辑器 ECS 原理图编辑器 StateCAD 状态机编 辑器 Core Generator Constraint Editor XST FPGA Express Synplify LeonardoSpectrum HDL Bencher ModelSim Translate MAP Place and Route Xpower BitGen iMPACT 2 嵌入式开发套件 EDK 嵌入式系统经历了从单片计算机 工业控制计算机 集中分布式控制系统 发展到嵌入式的平台的几个阶段 从独立单机使用发展到联网设备 从以模拟 电路为主发展到以数字电路为主 数 模混合型 进而进入全数字时代 总的来 说 嵌入式系统向着更高性能 更小体积 更低功耗 更廉价 无处不在的方 向发展 嵌入式系统的设计和实现朝着基于芯片 特别是片上可编程系统 SOPC 的方向发展 嵌入式开发套件 EDK 是用于设计嵌入式可编程系统的全面解决方案 该套件包括嵌入式软件工具 Platform Studio 以及嵌入式 IBM PowerPC 硬件 处理器核和 或 Xilinx MicroBlaze 软处理器核进行 Xilinx 平台 FPGA 设计时所 8 需的技术文档和 IP 注意 这里的嵌入式软件工具指用来产生 编辑 编译 链接 加载和调试高级编程语言 通常是 C 或 C 代码的工具 以便在处理 器引擎上执行 EDK 自带了许多工具和 IP 可以用来设计完整的嵌入式处理器系统 主要 包括 Xilinx 平台工作室 XPS 和软件开发套件 SDK 需要注意的是 只有安装 了 ISE 软件 才能正常运行 EDK 且二者的版本要一致 2 1 3 软件安装软件安装 1 准备好安装文件 解压 双击 Xilinx exe 直接打开安装 如果使用的是 光盘镜像文件 则需要通过虚拟光驱打开 本实验使用虚拟光驱工具 DAEMON Tools Lite 安装 如图 2 1 所示 图 2 1 2 打开后 接受所有安装条件 设置安装地址 选择安装的相关软件 便 可以在计算机上安装了 3 安装好软件之后 选择开始 程序 Xilinx ISE Design Suite 11 Manage Xilinx Licenses 点击 Acquire a License 可以选择使用开发套件的方法 包括 直接试验 30 天 无需许可证 使用 ISE WebPack 版本 免费使用 缺少部分功能 适用于个人使用 9 使用 30 天评估版 使用购买的许可证 使用本地许可证 如图 2 2 所示 图 2 2 选择使用的使用方法 点击 Next 按钮 根据说明获得许可证 4 解压文件夹中附带的 Xilinx ISE Design Suite 11 4 升级包 在安装了 Xilinx ISE Design Suite 11 的情况下 可以自动升级到 Xilinx ISE Design Suite 11 4 第三章第三章 嵌入式平台硬件开发嵌入式平台硬件开发 3 1 完整的完整的 EDK 开发流程开发流程 完整的 EDK 开发流程如图 3 1 所示 其主要步骤有 10 1 创建硬件平台 利用 XPS 的板级开发包向导 BSB Wizard 快速构建 设计的硬件平台 是 EDK 设计的第一步 图 3 1 2 添加 IP Core 以及用户定制外设 在 XPS 中添加所需的 IP Core 对 于 XPS 库中缺少的模块 需要用户自行设计 同样 XPS 提供了建立用户自 定义外设的向导 可简化该过程 3 生成仿真文件并测试硬件系统 生成硬件系统的仿真文件 可选择行 为级 结构级以及时序级仿真 利用 ModelSim 等工具测试系统 特别是用户 自定义的外设 如果测试失败 需要返回上一步修改 4 生成硬件比特流 生成硬件网表和比特流文件 这个步骤类似于传统 FPGA 设计的综合 布局布线 生成编程文件这 3 个操作 5 开发软件系统 针对软件需求编写硬件代码 确定软件的操作系统 库 外设驱动等属性 针对每个应用软件工程 设置编译器 优化级别 使用 的连接文件等信息 等设置完成后 编译生成 elf 格式的可执行代码 6 合并软 硬件比特流 编译软件后 需要将软 硬件可执行文件合并 在一起 生成最终的二进制比特文件 7 下载 使用 JTAG 编程电缆或编程器将更新后的最终比特流烧写到 FPGA PROM FLASH 以及 CF 卡 8 在线调试 可利用 XMD 工具或 ChipScope 工具调试 通过 JTAG 编 11 程电缆在线调试 下载可执行软件代码 控制执行 并监控相关信息 3 2 本设计系统整体结构设计本设计系统整体结构设计 3 2 1 系统设计流程概述系统设计流程概述 在Xilinx的FPGA中设计嵌入式微处理器系统要利用其专门的软件工具 嵌 入式开发包 EDK Embedded Development Kit 这个嵌入式系统卡发工具 包包括设计带IBM Power PC405硬核处理器和MicroBlaze软核处理器嵌入式系统 所要求的全部工具 IP核和说明文件等 能够对嵌入式微处理器系统的硬件和 软件各个部件进行二者的集成 实现SOPC的嵌入式系统 EDK提供一个图形化集成设计环境 Xilinx Platform Studio XPS 它 的功能包括设计项目管理 设计平台管理和软件应用管理 并安装了全部的嵌 入式系统设计工具 可以无缝地产生设计项目的硬件和软件部件 以及可选择 的仿真部件 嵌入式处理器系统的设计流程 包括标准的嵌入式系统硬件部分的设计流 程和软件部分设计流程 硬件部件的设计是原始的微处理器硬件技术条件 MHS文件 和VHDL Verilog的源代码程序经由PlatGen的综合工具展示IP网表 文件 再按照用户的约束文件对嵌入式处理器在内的硬件进行布局和布线 产 生编程FPGA的位流文件 软件部分的设计流程是原始的微处理器软件技术条件 MSS文件 和C语言的应用程序经由LibGen的源程序的编译 链接等过程产生 可执行文件 最后将系统硬件的位流文件和应用软件的可执行文件再组合一起 更新成下载文件 Download bit 这个过程主要是修改嵌入式处理器指令数据 存储器的内容 下载文件加载到FPGA中即可进行硬件和软件的设计校验 诊断 设计的正确性 编制EDK应用软件工程的基本流程包括 代码输入 库设置 操作系统设置 设置编译连接选项 建立C C 交叉编译环境 连接代码 并调试代码 选择文件类型 并生成可执行文件 与硬件比特流文件合成烧录文件 并下载到目标板相应载体 本设计是基于Standalone操作系统的设计 我们可以简单地认为 Standalone是在裸CPU核上直接运行的 这样的运行 方式无疑是最快的 单由于缺少操作系统的支持 它能够实现的功能有限 一 12 般用户使用Standalone方式编写板级驱动包BSP Board Support Package 驱动 代码 硬件测试代码等直接驱动硬件模块的代码 3 Standalone方式的另一个重要应用是提供板极驱动代码BSP 这部分代码给 用户提供一些简单初级的API函数 帮助用户实现对硬件 主要是处理器核 的操作 从而使软件程序与硬件程序分离 帮助同步构建硬件和应用软件 虽然Standalone方式结构较为简单 但配合Xilinx提供的库文件 除可以简 单地对硬件直接操作外 还可以实现网络处理 文件处理等较为复杂的功能 对于不太复杂的嵌入式处理 如安防控制 家用媒体网关和简单手持设备等 是非常合适的一种选择 由于本设计的应用较为简单 所以本设计采用的是最 为简单的Standalone方式 即直接基于硬件平台的嵌入式工程结构开发 并不使 用XPS软件开发包 Software Development Kit SDK 具体步骤为 点击 Software Add Software Application Project 输 入工程名 USB hpi demo 便生成了软件控制工程 这样便可以在 Sources 和 Headers 中添加工程代码 并通过右击工程 点击 Build Project 进行工程的修改和编译 3 2 2 硬件平台设计步骤硬件平台设计步骤 本设计的EDK工程具体系统架构如图3 2所示 图3 2 13 其中 PLB 总线挂载XPS GPIO XPS EPC 和XPS UART16550 三个外 围设备 XPS GPIO 作为LCD 的控制器 XPS EPC则是USB 控制器 而 XUP UART16550 是UART 的控制器 具体步骤为 1 启动Xilinx Platform Studio 在软件弹出的对话框选中 Base System Builder wizard 点击 OK 进入硬件平台搭建向导 如图3 3所示 图3 3 2 在弹出的对话框中点击Browse 选择一个目标磁盘并建立一个工程文件 夹 双击进入所建立的文件夹 点击保存 如图3 4所示 14 图3 4 3 在欢迎对话框内 选择 I would like to creat a new design 项 然后点 击 next 按钮 4 配置Board name Virtex 5 其他保持默认值 点击 Next 按钮 如 图3 5所示 15 图3 5 5 在 System 栏中选择 Single Processor Systems 点击 Next 6 在 Processor 栏保留默认值 点击 Next 7 在 Peripheral 栏选择RS232和SDRAM 如图3 6所示 其中RS232作 为串口终端的的接口 SDRAM作为系统的存储器 点击 Next 图3 6 8 在 Cache Application Summary 栏中保持默认值 生产系统如 图3 7所示 16 图3 7 9 在XPS界面左下角的 IP Catalog 中 选择 XPS External Peripheral Controller 和 XPS General Purpose IO 两个IP核 并把 XPS General Purpose IO 改名为 Char LCD 其中 XPS External Peripheral Controller 为外围设备控制器 集成了Cypress的USB控制器 实现USB接口的控制 XPS General Purpose IO 是标准输入输出接口 作为LCD显示器接口控制器 17 图3 8 10 在 Bus Interface 中把 XPS epc 0 Char LCD RS232 Uart 0 连接到PLB总线上 如图3 8所示 11 在 Ports 中连接相应的端口信号 如图3 9所示 在添加的端口连接 上PLB总线之后 只需在 Ports 端口配置时钟参数 18 图3 9 12 在 Addresses 中点击 Generate Addresses 至此 硬件平台生成完 毕 3 2 3XPS 软件开发包 软件开发包 SDK 介绍 介绍 XPS软件开发包 Software Development Kit SDK 对XPS是完全的图形用 户界面 GUI 为软件应用项目提供一个开发环境 由于Eclipse是一个卡放源 代码的基于Java的可扩展开发平台 所以基于Eclipse标准的SDK具有的特点包 括 基于Java的应用开发环境 基于有Eclipse开放代码的效力 特性丰富的C C 代码编辑和编译环境 项目管理 应用的构造配置和自动Makefile产生 错误定位 优良的集成环境可无缝地诊断嵌入的对象 19 源代码版本控制 Xilinx将软件扩展到Eclipse SDK依靠Eclipse添加代码开发工具 Code Development Tool CDT 包括项目管理 Project Management Makefile Builder 代码编辑器 Code Editor 错误定位 Error Navigation 诊断 调试 Debug 和搜索 Search 使得SDK的价值添加到CDT 如利用 XMD的诊断集成 为PowerPC和MicroBlaze处理器的定制编译器设置框架 流程和可视化 以及生产效率 图3 10表示XPS的SDK的作用 图3 10 第四章第四章 基于硬件平台的基于硬件平台的 USB 键盘软件工程开发键盘软件工程开发 4 1 软件工程在设计中的作用软件工程在设计中的作用 由上文介绍 基于Microblaze软核的SOPC系统的嵌入式设计包含硬件和软 件部分 硬件部分主要是提供嵌入式系统实现的平台 而软件部分实现系统中 20 芯片的复位 内部寄存器的初始化 以及所有的系统控制操作 编码转换 寄 存器的读写 显示器的清屏和转换控制 显示器的初始化和打印 4 2 算法设计算法设计 本设计是基于Hardware Platform Interface HPI接口 即主机接口构成 的 USB接口键盘设计 主程序包括USB接口数据的读写控制以及LCD显示器的显 示控制 以下将分别介绍 4 2 1 读写主程序算法设计读写主程序算法设计 算法简介 处理器通过HPI接口 把数据写入到USB控制器的内部存储器中 然后 USB控制器的内部处理器开始处理数据 并开始执行低级的USB命令 以此和USB键盘进行通信 来自于USB键盘的数据经过mailbox寄存器通过HPI 接口传送到FPGA的嵌入式处理器中 USB键盘上键入的键值将被显示到串口终 端和LCD显示器上 首先 程序首先加载Cypress控制器固件程序 固件担任着一个系统最基础 最底层工作的软件 而在硬件设备中 固件就是硬件设备的灵魂 因为一些硬 件设备除了固件以外没有其它软件组成 因此固件也就决定着硬件设备的功能 及性能 本例的固件是Cypress公司提供的 然后进行USB控制器的初始复位 等待确认信号之后 进入等待循环 每当键盘键值输入时 读取mailbox寄存器 力的码值 算法流程图如图4 1所示 21 图4 1 下面介绍主要函数的功能 void UsbWriteBin Xuint16 UsbBaseAddress 把USB键盘的测试二进制文件 通过HPI接口加载到USB芯片的内部存储器中 void UsbSoftReset 函数执行Cypress CY7C67300USB控制器的软件复位功 能 void UsbSetPc Xuint16 UsbAddress 函数执行Cypress CY7C67300USB控制 器内部处理器程序计数器功能 代码从所给的地址开始执行 void UsbReadMailbox 函数读取Cypress CY7C67300USB控制器的mailbox 寄存器并把键值输出到串口终端 void UsbWrite Xuint16 Address Xuint16 Data 函数把数据写入到Cypress CY7C67300USB控制器内部寄存器中 Xuint16 UsbRead Xuint16 Address 函数从Cypress CY7C67300USB控制器 内部寄存器读取数据 4 2 2LCD 显示算法设计显示算法设计 在系统上电后 必须必须传送给液晶显示屏控制芯片初始化命令 初始化 完成后 还要传输指定地址寄存器地址和显示字符的编码数据 接通电源后 22 FPGA向液晶显示屏芯片发送指令的流程如图4 2所示 2 图4 2 本设计LCD显示的函数是嵌入到函数void UsbReadMailbox 中 在判断接 入的设备是键盘后 对标识符Modifier进行处理 并根据输入字符的数目调整显 示的方式 如画面移动方式和换行方式 下面介绍主要函数的功能 void LCDPrintandShift char c u8 FirstPrint u8 LinePos u8 CurrentLine 这个函数在LCD屏幕上打印一个字符 被显示到LCD屏幕上的第一个字符时进 行清屏 光标闪烁表示启用 假如显示到LCD屏幕上的字符大于16 画面左移 假如显示在一行的字符大于40 也就是当前的行满 LCD屏幕跳转到下一行 并且光标移动到行首 void LCDInitAndPrint char First Line char Second Line 这个函数初始 化LCD屏幕 并在其上打印一段文字 4 2 3MicroBlaze 的的 BSP 基于Standalone的软件与普通的C语言程序基本相同 比较简单 Xilinx用 23 户提供了一些BSP Board Support Package 函数 方便用户访问处理器特殊功 能 BSP是最底层的软件 根据选用CPU核的不同而有所区别 当用户选用 MicroBlaze核 采用Standalone方式时 系统自动在当前工程的libxil a库中建立 基于Microblaze的BSP BSP实质上是一组函数集合 通过了解这些函数的功能 可以知道BSP的运行方式 下面对其中操作类进行介绍 了解核学习这些函数将 有助于软件程序的编写 1 中断操作类 这类函数中断相关操作 使用这类函数 需要包含头文件mb interface h 关于中断句柄信息 可以在软件平台设置窗口Interrupt Handle子窗口观察得 到 void microblaze enable interrupts 函数是使能中断 void microblaze disable interrupts 函数是关闭中断 void microblaze register handler XinterruptHandler Handler void DataPtr 函数为登记中断句柄到中断向量列表 2 异常操作类 这类函数异常相关操作 需要注意 只能在版本高于3 00 a的Microblaze核 中使用 使用这些函数 需要包含头文件mb interface h void microblaze disable exceptions 函数为关闭硬件异常 void microblaze enable exceptions 函数为使能硬件异常 void microblaze register exception handler Xuint8 ExceptionId XexceptionHandler Handler void DataPtr 函数是登记异常句柄 无返 回值 3 指令缓存操作类 这类韩式用于指令缓存相关操作 使用这些函数 需要包含头文件 mb interface h void microblaze enable icache 函数是使能Microblaze指令缓存 无参数 无返回值 void microblaze disable icache 函数是关闭Microblaze指令缓存 无参 数 无返回值 void microblaze update icache int tag int instr int lock valid 函数是更新 指令缓存 失效和锁定指令缓存某行 无返回值 void microblaze init icache range int cache addr int cache size 函数是初 始化指令缓存一定区域 4 数据缓存操作类 这类函数用于执行数据缓存相关操作 使用这些函数 需要包含头文件 24 mb interface h void microblaze enable dcache 函数是使能Microblaze数据缓存 无参 数 无返回值 void microblaze disable dcache 函数是关闭Microblaze数据缓存 无参 数 无返回值 void microblaze update dicache int tag int data int lock valid 函数是更 新数据缓存 失效和锁定数据缓存某行 void microblaze init dcache range int cache addr int cache size 函数是 初始化数据缓存一定区域 第五章第五章 下载和实现下载和实现 5 1 下载实现下载实现 5 1 1FPGA 配置电路综述配置电路综述 FPGA配置电路可看成用户设计和硬件电路之间的连接纽带 随着制造工艺 的发展和应用范围的扩展 FPGA配置电路呈多元化发展 最终目的都是在一定 的外部条件下 准确 快速地实现FPGA系统配置 只有正确地理解配置电路 才能在实际开发中选择最优的配置方案 本节主要从宏观上介绍FPGA配置电路 的组成 工作流程以及不同方式之间的差异 FPGA芯片是基于SRAM工艺的 不具备非易失性 因此断电后将丢失内部 逻辑配置 芯片在每次上电后 都需要从外部非易失存储器中导入配置比特流 硬件配置是FPGA开发最关键的一步 完成FPGA配置 需要有类似于单片机仿 真器的下载线缆 FPGA配置方式灵活多样 根据芯片是否能够自己主动加载配置数据 分为 主模式 从模式以及JTAG模式 典型的主模式都是加载片外非易失性存储器中 的配置比特流 配置所需的时钟信号由FPGA内部产生 且FPGA控制整个配置 过程 从模式需要外部主智能终端 如处理器 为控制器或者DSP等 将数据 下载到FPGA中 其优点是FPGA的配置数据可以放在系统任何存储部位 JATG 模式为调试模式 可将PC中的比特流下载到FPGA中 断电即丢失 此外 目 前Xilinx还有基于Internet的 成熟的可重构逻辑技术System ACE解决方案 25 5 1 2JATG 模式简介模式简介 本设计是基于Genesys开发板的SOPC系统设计 硬件开发平台Xilinx Platform Studio XPS 可以自动综合 布局布线 并生成比特流文件 所以本 设计采用JATG模式下载实现开发板配置 下面简要介绍JATG电路 JATG的全称是Joint Test Action Group 即联合测试行动小组 目前 JATG 已成为一种国际标准测试协议 主要用于各类芯片的内部测试 现在的大多数 高级器件 包括FPGA MCU DSP以及CPU等 都支持JATG协议 标准的 JATG接口是4线接口 即TMS TCK TDI以及TDO 分别为模式选择 时钟 数据输入和数据输出信号线 JATG最初是用来对芯片进行测试的 基本原理是在器件内部定义一个 TAP Test Access Port 测试访问口 端口 通过专门的JATG测试工具对内部 节点进行测试 此外 JATG协议允许多个器件通过JATG接口串联在一起 形 成一个JATG链 能实现对各个器件分别测试 此外 JATG接口还用于实现 ISP In System Programmable 在线编程 对Flash等器件进行编译 JATG在 线编程的特征也改变了传统生产流程 将以前的先对芯片进行预编程再装到板 子上的工艺简化为 先固定器件到电路板上 再用JATG编程 从而大大加快了 工程进度 本设计使用的是开发板自带的JATG下载线 一端以JATG的方式和FPGA开 发板 另一端则通过USB接口和计算机相连 为设计人员提供了有PC配置 FPGA芯片的数据链路 5 1 3 下载实现步骤下载实现步骤 1 点击 Hardware Generate Netlist 等待几分钟 便可以自动生成 网表文件 如图13所示 2 点击 Hardware Generate Bitstream 等待几分钟 便可以自动 生成system bit文件 如图5 1所示 26 图5 1 3 点击 Project USB hpi demo Build Project 编辑软件工程 等 待几分钟 便可以自动生成elf文件 如图5 2所示 图5 2 4 点击 Device Configuration Update Bitstream 等待几分钟 便 可以自动生成download bit文件 如图5 3所示 27 图5 3 5 点击 Device Configuration Download Bitstream 将生成的比特 流文件通过JATG接口下载到FPGA开发板上 如图17 6 由于本设计是将键盘输入的键值显示到LCD显示器和串口终端上 所以 在检验设计结果之前 必须先对串口终端端口参数进行设置 具体参数如图5 4 所示 图5 4 5 2 设计的显示结果设计的显示结果 完成以上所有操作后 串口终端便显示出如图5 5所示的文本 其中 除最 后一行外 其余文本都是通过函数xil printf 输出直接 对应的源代码如下 xil printf Please connect a USB Keyboard to the Genesys board r n xil printf Keypresses will appear on the UART terminal and the LCD screen r n 28 xil printf The Enter key is also handled r n xil printf Note USB Keyboard must not have a built in hub r n r n 从键盘输入 便可以显示到串口终端上 图5 5 Genesys开发板的链接和显示情况如图5 6所示 其中图上方接口为Genesys 开发板的电源线 左端连线从上到下 分别为JATG下载线的JATG接口 串口 USB键盘接口 LCD显示器上显示出了键盘输入的键值 图5 6 29 第六章第六章 全文总结全文总结 USB是一种IT行业新发展起来的通用接口标准 目前很多应用主要集中在 PC机的外设和一些消费类电子上 由于USB的使用简单 即插即用 热插拔 开放性 高速 稳定 可靠性高等优点 它特别适用于仪器仪表 虚拟仪器 数据采集 数据采集设备 监控设备和加密设备等等场合 本毕业设计主要在 基于Microblaze 一个被Xilinx公司优化过的可以嵌入在FPGA中的RISC处理器 软核 软核的SOPC系统中 通过使用Microblaze软核处理器IP核和USB控制器 IP核 并设计使用相应的控制电路实现USB键盘识别 并将USB键盘的输入字 符信息显示到LCD显示器和串口终端上

温馨提示

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

评论

0/150

提交评论