基于SOPC的嵌入式系统应用研究

上传人:沈*** 文档编号:64146412 上传时间:2022-03-21 格式:DOC 页数:37 大小:138KB
收藏 版权申诉 举报 下载
基于SOPC的嵌入式系统应用研究_第1页
第1页 / 共37页
基于SOPC的嵌入式系统应用研究_第2页
第2页 / 共37页
基于SOPC的嵌入式系统应用研究_第3页
第3页 / 共37页
资源描述:

《基于SOPC的嵌入式系统应用研究》由会员分享,可在线阅读,更多相关《基于SOPC的嵌入式系统应用研究(37页珍藏版)》请在装配图网上搜索。

1、基于SOPC的嵌入式系统应用研究 10701 1020121201 代号 学号公开 分类号 TP311 密级题 ( 中 、 英 文 ) 目 基于 SOPC 的嵌入式系统 应用研究The Application and Research of SOPC-based Embedded System作者姓名 韩涵 指导教师姓名 、职务 马志欣 副教 授学科门类 学科专业 工学 计算机系 统结构提 交 论 文 日 期 二?一三 年 三月西安电 子科技大学 学位论 文 创新性声明本人声明所呈交的论文是我个人在导师指导下进行的研究工作及取得的研究成果。尽我所知,除了文中特别加以标注和致谢中所罗列的内容以外

2、,论文中不包含其他人已经发表或撰写过的研究成果;也不包含为获得西安电子科技大学或其它教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中做了明确的说明并表示了谢意。 申请学位论文与资料若有不实之处,本人承担一切相关责任。本人签名:日期 西安电 子科技大学 关于论 文使用授权的说明本人完全了解西安电子科技大学有关保留和使用学位论文的规定,即:研究生在校攻读学位期间论文工作的知识产权单位属西安电子科技大学。本人保证毕业离校后,发表论文和使用论文工作成果时署名单位仍然为西安电子科技大学。学校有权保留送交论文的复印件,允许查阅和借阅论文;学校可以公布论文的全部或部分

3、内容, 可以允许采用影印、 缩印或其它复印手段保存论文。 保密的论文在解密后遵循此规定本人签 名:日期导师签 名:日期摘要随 着 电 子 和 计 算机 技 术的 不 断 发 展 , 嵌入 式 系统 应 用 越 来 越 广泛 、 功能 越 来越丰富,故而嵌入式系统开发的平台和技术有所更新和发展。本文首先研究了嵌入式系统,包括嵌入式系统的类别、特点、功能结构以及未来的发展趋势。然后介绍了 各种可编程逻辑器件的 功能及其应用。论文针对赛灵思公司提供的 Zynq-7000 芯片,介绍了其处理系统PS 、可编程逻辑PL 、PS和 PL 两个模块内部互 连接口以及开发工具的使用。 在硬件系统设计部分, 本

4、文首先介绍了集成在 Zynq-7000 的 Zedboard 上 的硬件资源。 然后 使用赛灵思提供的定制工具, 配置 PS 的 CPU 及其他接口资源, 构建一个完整的硬件平台。 在硬件平台配置完毕后,根 据板上硬件资源,确定其引导模式, 配置 BootROM 参数,设计并生成其 BootROM 。在软件系统设计部分, 本文首先研究了 U-Boot 的启动流程,介绍了 Linux 内核裁剪和根文件系统定制的内容。然后 整合定制硬件平台生成的 BootROM 和交叉编译生成的 U-Boot 镜像、Linux 内核镜像、根文件系统镜像,生成嵌入式 Linux 系统的启动镜像。最后在定制好的嵌入式

5、 Linux 平台上实现 KVM ,主要包括键鼠控制模块、以及 视频模块。本文通过在 SOPC 上嵌 入式软硬件系统的构建以及一个应用程序实例的设计与实现,旨在介绍 SOPC 嵌入式系统设计的灵活性和 便捷性,提供一种新的嵌入式系统开发的思路。关 键词 :嵌入 式系 统 SOPC 嵌 入式 Linux KVM Abstract With the continuous development of electronics and computer technology, the embedded system has been used more and more widely, and its

6、 fuction is more and more abundant, so the embedded system development platform and technology have been updated and developedThis paper firstly studies the embedded system, including embedded system category, characteristics, fuctional structure and future trends. Then describes the function and ap

7、plication of a variety of programmable logic devices.Targeting Xilinx Zynq-7000 chip, the paper describes its processing system PS and programmable logic PL, interconnect interfaces between PS and PL as well as development tools.In the hardware system design, this paper firstly introduces the hardwa

8、re resources integrated on the Zynq-7000 Zedboard.Then by configuring the PS CPU core and other interface resources with Xilinx tools, a complete hardware platform can be built.After the hardware platform configuration, according to the on-board hardware resources, we can determine the boot mode, co

9、nfigure BootROM parameters,design and generate the BootROM.In the software system design, this paper firstly studies the U-Boot boot process, introduces the tailor of Linux kernel and customization of root file system.Secondly, it intergrates BootROM generating from customized hardware platform and

10、U-Boot image,Linux Kernel image and root file system image which are corss-complied to generate embedded Linux system startup image. Finally, it realizes KVM on a customized embedded Linux platform, including mouse and keyboard control module as well as video moduleThis paper by introducing the real

11、ization of hardware and software system on SOPC and the design and implementation of an application instance, intends to illustrate the flexibility and convenience in SOPC embedded system design, providing a new embedded system development ideas Keywords: Embedded system SOPC Embedded Linux KVM目录 目录

12、 第一章 绪论1 1.1 课 题研 究背 景1 1.2 基于SOPC 的嵌 入式 系 统发展 现状 1 1.3 论 文章 节安 排3 第二章 基于SOPC 的 嵌入 式系统 5 2.1 嵌 入式 系统 简介 5 2.1.1 嵌入 式系 统的 分类. 5 2.1.2 嵌入 式系 统的 特点. 5 2.1.3 嵌入 式系 统的 结构. 6 2.1.4 嵌入 式系 统的 发展 趋势 7 2.2 片 上可 编程 系统 7 2.2.1 可编 程器 件简 介与 应用 7 2.2.2 片上 系统 简介 与应 用9 2.2.3 片上 可编 程系 统简 介与应 用. 10 2.3 Zynq-7000 平台 简介

13、12 2.3.1 处理 系统Processing System, PS 13 2.3.2 可编 程逻 辑Programmable Logic, PL 15 2.3.3 PS 和PL 的互 联 15 2.3.4 Zynq-7000 开 发工 具介绍. 16 第三章 构建Zynq-7000 嵌 入式硬 件平 台. 21 3.1 硬 件系 统整 体设 计 21 3.2 基础 PS 系 统搭 建. 21 3.3 存 储器 接口 配置23 3.3.1 DDR3 接口23 3.3.2 SPI 接口 25 3.3.3 SD 接口. 25 3.4 I/O 及 外设 接口 配置26 3.4.1 时钟 接口26

14、3.4.2 USB 接口 27 3.4.3 Ethernet 接口28 3.4.4 用户 I/O 接口. 29 3.5 PS 系 统测 试 30 3.6 平 台配 置与 引导30 目录3.6.1 Zynq-7000 配 置引 导过程. 30 3.6.2 Zynq-7000 配 置引 导模式. 32 3.6.3 Zynq-7000 BootROM 资源. 33 3.6.4 Zynq-7000 BootROM 的实 现34 第四章 构建Zynq-7000 嵌 入式软 件平 台37 4.1 软 件系 统整 体设 计. 37 4.2 交 叉编 译环 境37 4.3 Bootloader. 39 4.3

15、.1 U-Boot 启动 流程39 4.3.2 U-Boot 移植 40 4.4 Linux 内核. 41 4.4.1 Linux 内 核模 块简 介41 4.4.2 Linux 内 核裁 剪 42 4.5 根 文件 系统. 44 4.5.1 根文 件系 统结 构 44 4.5.2 根文 件系 统定 制 45 4.6 启 动嵌 入 式Linux. 46 第五章 KVM 的 设计 与实 现49 5.1 系 统整 体设 计方 案. 49 5.2 键 鼠控 制模 块设 计与 实现. 50 5.2.1 键鼠 信号 接收 端 50 5.2.2 键鼠 信号 发送 端 52 5.3 视 频模 块设 计与 实

16、现56 5.3.1 VGA 视频 显示 接口. 57 5.3.2 VGA 视频 采集 模块. 58 第六章 结论63 致谢 65 参考文 献67 第一章 绪论 1 第一章 绪论 1.1 课题 研究背 景 进入新世纪以来 ,数字化和智能化的设备逐渐进入到工业生产和个人生活之 中,产品更新换代的频率加快,专业化、个性化的设 备层出不穷:如 消费类电子产品、网络设备、移动计算设备、工控、仿真、医疗器械 等。在上述的领域中嵌入式系统的设计和开发 技术得到了广泛的应用和长足的发展。嵌入式系统Embedded System 是嵌入式计算 机系统的简称, 其包含硬件和软件系统,拥有计算机系统的基本特性,是一

17、个专用的计算机系统。嵌入式系统的嵌入性体现在设计人员基于计算机技术并根据用户定义的应用功能,对系统进行1软硬件裁剪, 以满足其严格的性能、 效率、 功 耗、 体积、 成本和可靠 性 等要求 。嵌入式系统强调软硬件的协同工作, 是电子技术、控制技术、计算机技术和通信技术进步的成果。 而 以 信 息 家 电 、智 能 终端 为 代 表 的 互 联网 时 代的 嵌 入 式 产 品 需要 支 持日 趋 增2长 的 功 能密 度 、灵 活 的网 络 连 接、 轻 便的 移 动应 用 和 多媒 体 信息 处 理等 ,那 么一个功能齐备、开发灵活便捷的新型嵌入式平台必不可少,而集成了 ARM 微处理器和可编

18、程器件 FPGA 的 SOPC 则正好填补 了这方面的需求,通过对 ARM 微处理器硬核平台的构建, 加上 FPGA 方便的逻 辑结构修改和配置软核的设计, 可以迅速完成对系统和设备功能的更新和升级,以便迅速的适应市场的要求。 1.2 基于 SOPC 的嵌 入式系统 发展现 状 嵌 入 式 系 统 行 业是 一 个面 向 应 用 、 技 术密 集 、高 度 分 散 、 不 可垄 断 的行 业 。随着嵌入式系统的各个领域应用需求的多样化,嵌入式设计和芯片技术也进行了一次又一次的技术 革新。 ASICApplication Specific Integrated Circuit 和FPGAFiel

19、d Programmable Gate Array 都是 嵌入 式 系统 开发 中 常用 到的 集 成电 路IC , 但 是 它 们 又 互相 有区 别 :ASIC 是面向专门用途 、 专门 用 户和 专门 功能 的电路,设计人员能使用它 以较低的成本、较短的周期开发出质量稳定并可以实时检验的产品。FPGA 是可 编程逻辑器件,相较于 ASIC 而言,其可重 复编程可以实2 基于 SOPC 的嵌 入式 系统 应用研 究现更灵活的开发过程, 通过在片上运行程序来修改芯片, 降低了设计风险和成本,而且随着电子技术的不断发展,其性价比也可以同 ASIC 相抗衡,所 以在嵌入式3系统开发领域越来越多的

20、使用到了以 FPGA 核 心的可编程逻辑芯片 。与 ASIC 相比,可编程逻辑器件研制周期较短、先期成 本较低,同时随着片上 RAM 和单芯片 ASIC/ 可编程逻辑混合器件的数量越来越多,以及可预测的摩尔定律集成度的发展趋势,正在促进的有效的门电路数量爆炸性增长 这些因素使得 以 FPGA 为核心 的可 编程逻辑器件 产品进一步扩大了其可编程芯片的范围, 向复杂高端、专用芯片起了挑战。FPGA 的发展 趋势主要体现在以下几个方面: 门级电路密度更高、容量更大 ; 电源电压、系统功耗和使用成本越来越低,更加环保 ; IP 资源复用简化了系统 的开发流程并提高了系统的开发效率 ; FPGA 应用

21、的控制核心 采用内嵌的 MCU 、DSP 、ARM 硬核或嵌入式处理器 IP 软核; ASIC 和 FPGA 之间的 界限越来越模糊,SOPC 成为 FPGA 的重要发展方向。 SOPCSystem On Programmable Chip ,可编程片上系统 是一种高效的灵活的 SOC 解决方案。它将处理器、存储器、I/O 口、LVDS 、CDR 等系 统设计需要的4功 能 模 块集 成 到一 个 可编 程 器 件上 , 构成 一 个可 编 程 的片 上 系统 ,这 种 面 向 单片系统级专用集成设计电路, 仅仅只在计算机上就可以为用户提供从电路级描述、硬件模块设计、综合及调试、软件模块设计和

22、系统设计的全套解决方案, 而且它的设计技 术直接面向设计人员,并为他们 提供了系统级专用集成电路实现的新思路 从 ASIC 到 PLD 。已经 实现的 SOPC 有三 种类型: 第一种是直接在可编程器件 FPGA 中 嵌入 CPU内核,获得可编程平台;第二 种是将可编程模块置于 ASIC 之中,得 到具有可编程功能的 ASIC ,最后 一种是将功能设计完毕,经测试有效无误后的 FPGA 上的SOPC 系统 转化成为 ASIC 芯片 的 HardCopy 技术。 以下将简要介绍 基于第一种设计思路由 赛灵思Xilinx 公司 提供的 SOPC 产品 的解决方案。赛灵思 Zynq-7000 可扩

23、展处理平台EPP 将双 ARM Cortex-A9 MPCore 处理器系统与可编程逻辑和硬 IP 外设紧密集成在 一起。 其采用了 28nm 的制造工艺, 通过硬连线集成了包括 L1、L2 缓存、存储器控 制器以及常用的外设。该芯片的独 第一章 绪论 3 到之处在于它是由 ARM 处理器系统而非可编程逻辑元件来进行控制,故 系统可以在 FPGA 逻 辑 之 前 进 行 开 机 时 的 引 导 工 作 , 并 且 独 立 的 运 行 位 于 可 编 程 逻辑Programmable Logic, PL 之外的操作系统。同时设计人员可以对处理器系统进行编程,根据需要来配置可编程逻辑器件,在软件编

24、程模式下,该芯片和全功能的标准 ARM 处理器芯片毫无区别。 赛灵思提供芯片配套的嵌入式开发工具,包括PlanAhead 、XPS 、ISE 等开发 组件 以及采用赛灵思平台与嵌入式 ARM 或者Microblaze 硬、软核处理器的嵌入式应用中所需的技术文档和应用手册, 这样使得系统的设计流程得到了简化, 同时减少了学习曲线和难度。概括而言, 可编程 片上 系统SOPC 使用 一个芯 片来实现整 体系统 ,它 可以灵活的裁剪、扩充其软硬件系统,其软硬件系统也具备可编程功能。可编程片上系5统SOPC 是一种特殊的嵌入式系统 。目前常见的基于 FPGA 的嵌入式系统平台的设计和开发,很多都是 F

25、PGA 内 部下载芯片公司提供的软核处理器,移植 uClinux 作为操作系统,典 型的应用如Xilinx 公司的 microblaze+uClinux 方案或者 Altera 公司 的 nios2+uClinux 等方案,虽然这些基于软核处理器 方案在功能和技术指标上已经可以满足一些嵌入式应用的开发及功能要求,然而这些软核本身不支持 MMU ,uClinux 和 在以支持 MMU的 ASIC 芯片上面运行 的标准嵌入式 Linux 也 不能做到无缝移植,在 进行更加丰富功能的开发和应用上依然存在问题,降低了 开发工作的可复用性、增加了额外的工作量。 基于 SOPC 的嵌入式系统技术发展到今天

26、, 在 FPGA 中集 成硬核、 以其 为 控 制 核 心 操 作 各 种 外 设 和 可 编 程 逻 辑 模 块 , 并 在 其 之 上 移 植 标 准 嵌 入 式Linux ,Android 系统进行更加智能,复杂的开发已经成为必然。而当前在此类系统上的研究工作还比较少, 所以本文主要进行 在已经集成 ARM 硬核 的 SOPC 芯片 Zynq-7000 上面进行 嵌入式硬件系统的构建、操作系统的移植, 应用软件的设计三部分工作, 从而实现一 个能够快捷设计, 并且功能完备的嵌入式 KVM 系统。通过这一系列的工作,整理出在集成硬核的 SOPC 平台上面嵌入式系统开发的软硬件平台的构建以及

27、应用开发的方法和步骤。 1.3 论文 章节安 排 本文共分五章,各章的主要内容如下: 第一章:介绍课题研究背景,SOPC 概念及本 论文的研究工作 和各个章节的 4 基于 SOPC 的嵌 入式 系统 应用研 究主要内容 。 第二章: 以电子技术发展的顺序, 逐步阐述了可编程器件 FPGA ,SOC ,SOPC 的基本概念和应用;然后 引入 了嵌入式系统原理,详细的分析了嵌入式系统的特点和组成,以及讨论了在 SOPC 上进行嵌入式 应用研究的可行性和优势,提出了基于 SOPC 的嵌入式系 统设计的问题,并且对 SOPC 上嵌入式设计 流程进行了明确的说明 ;最后介绍了 Zynq-7000 SoC

28、 嵌入式开发平台的架构,资源 ,开发工具等基本知识。第三章:以 Xilnx 公司 提供的 Zedboard 开发板为例, 进行嵌入式软硬件平台的设计: 首先完成对开发板上硬件 资源的定制,包括 CPU 的配置、 总线的规划、外设的选择 ,并加以测试确定其能够正常工作。 然后介绍了 Zynq-7000 硬件系统启动配置流程、工作模式,配置并生成了可以启动配置硬件系统的 BootROM 。第四章: 简要说明了一下嵌入式 Linux 系统,阐述了构建基本嵌入式 Linux系统需要设 计完成的功能。 配置了交叉编译环境, 分析了 U-Boot 工 作机制和启动流程,介绍了内核模块和裁剪的方法和文件系统

29、的构建方式。在软件系统定制完毕之后, 使用 Zynq-7000 平台提供的工具生成整个系统的启动镜像,启动整个嵌入式操作系统,完成嵌入式软硬件平台的整合。第五 章: 首先介绍 KVM 切换器的概念, 然后基于已经定制好的嵌入式系统,设计其键鼠控制模块和视频采集显示模块, 最后通过软硬件联调, 实现 一个 KVM切换器 。第六 章:论文的总结及对未来的展望。 第二章 基于 SOPC 的嵌 入 式系统 5 第二章 基于 SOPC 的嵌入式系统 2.1 嵌入 式系统 简介嵌入式系统是“ 用 于 控 制 、 监 视 或 者 辅 助 操 作 的 机 器 、 设 备 或 装 置” 原 文 为device

30、used to control, monitor or assist the operation of equipment, machinery or plants 。 嵌 入 式 系 统 通常 是 执 行 特 定 功 能 的 设备 , 其 核 心 是 嵌 入 式 微处 理 器 , 嵌6入式系统有严格的执行时序和稳定性要求,嵌入式系统是全自动的操作系统 。 2.1.1 嵌入式系统的分类嵌 入 式 系 统 广 泛应 用 于人 类 社 会 的 各 个行 业 和领 域 , 其 数 量 大、 品 种多 、 规7格复杂。根据其控制技术的复杂程度可以把嵌入式系统分为三类 : 无操作系统控制的嵌入式系统,其

31、硬件主体由 IC 芯片,4 位/8 位 单片机构成,这一类嵌入式系统的控制软件不含操作系统。 小型操作系统控制的嵌入式系统的硬件主体一般是指 8 位/16 位单片机或32 位处理器构成。 其控制软件主要由一个小型嵌入式操作系统 如 COS2和一个小规模的应用程序组成。 这类嵌入式系统的操作系统功能模块不齐备, 并且无法为应用程序开发提供一个完备的程序编写接口, 同时它也没有图形用户界面或图形用户界面功能较弱, 数据处理和联网通信功能也比较弱。 大型操作系统控制嵌入式系统的硬件主体通常由 32 位/64 位处理器 、32位软核处理器或者 32 位 SOPC 组成。控制软 件通常包含一个功能齐全的

32、嵌入式操作系统VxWorks 、Linux 、Windows CE 以及封装良好的 API ,其实时性强,具备 DSP 处理能力,具备良好的图形用户界面和网络互联能力,可运行多种数据处理功能较强的应用程序。 2.1.2 嵌入式系统的特点嵌入式系统已经从 8 位 CPU 加 74 系列芯片及晶体管、采用一体化监控程序的无操作系统的早期系统架构, 发展成为集成 如 16 位、32 位 CPU 或特殊功能微处理器、特定功能芯片、FPGA 或 CPLD 等复杂硬件构件,并且其软件系统通常在移植嵌入式操作系统的基础上进行复杂应用开发。嵌入式系统的特点如下: 嵌入式系统专用性强、 功耗低、 体积小。 嵌入

33、 式系统不像 PC 这种通 用型6 基于 SOPC 的嵌 入式 系统 应用研 究系统, 它大多都工作在面向特定用户的特定 系统之中, 将 PC 中许多 板载8卡的任务集成在芯片内部,使得其设计趋于小型化 。 不像通用系统把软件存储在磁盘上, 为了提高软件执行效率和系统的可靠性,一般都把嵌入式系统软件固化在存储器芯片上。 嵌入式系统精简化。其应用软件和操作系统一般都集成在一块。 嵌入式系统一般在宿主机上开发, 在目标机上运行。 并且其开发和调试都在专有的开发环境下进行,并且需要特定的开发和调试工具。 嵌入式软件对代码要求很高,应该尽最大可能避免“ 死机” 的发生。 2.1.3 嵌入式系统的结构

34、如图 2.1 所示嵌入式系统的总体架构可以分为硬件层、 中间层、 软件层和功能层。 硬件层主要由微处理器、 内存储器、 各种特殊功能芯片A/D、D/A 芯片 及外围设备构成,硬件层是嵌入式系统的基础,是嵌入式系统实现的载体。中间层主要是指板级支持包Board Support Package, BSP , 板级支持包为板子的硬件模块提供了统一的软件接口,包括硬件的初始化、中断的产生和处理、硬件时钟和计时9器 管 理 、居 于 和总 线 内存 地 址 映射 、 内存 分 配等 。软 件 层包 含 了嵌入 式 操 作 系统、文件系统、任务管理和图形用户管理这些模块,嵌入式操作系统是为了更好的管理嵌入

35、式系统的硬件资源, 实现多任务和实时性,方便软件开发人员开发大型应用程序。 功能层为具体的应用软件, 是开发人员针对嵌入式系统的应用要求,结合嵌入式系统硬件平台的结构和资源而设计的程序。 嵌 入 式 应 用 程 序功 能 层图 形 用 户 接文 件 系 统 任 务 管 理口嵌 入 式 操 作 系 统软 件 层BSP/HAL 板 级 支 持 包/ 硬 件 抽 象 层中 间 层D/A通 用 接 口嵌 入 式 微 处A/DROM理 器I/O SRAM硬 件 层图 2.1 嵌入 式系 统的 结构 第二章 基于 SOPC 的嵌 入 式系统 7 2.1.4 嵌入式系统的发展趋势随 着 半 导 体 制 造技

36、 术 的进 一 步 提 高 , 嵌入 式 硬件 从 低 端 面 向 小的 控 制系 统 应用为对像的 8 位、 16 位单片机向 32 位嵌入式微处理器构成的复杂单片系统发展。同时也出现了处理器从单核到多核、将存储器之外的部分设计到单个芯片上的SOPC 系统。硬件 部分 的提升促使嵌入式操作系统越来越完善,为开发人员提供各种嵌入式协议栈、软件设计组件和良好的人机界面,而且很多嵌入式开发平台也集成网络接口,将设备用于网络环境中,使得整个系统平台变得更加完备。 嵌 入 式 系 统 是 面向 用 户、 产 品 和 应 用 的, 所 以它 具 备 很 强 的 专用 性 ,必 须 根据其具体的实际需求进

37、行裁剪, 以最小的成本实现可靠的、 满足功能需求的设计,基于 ASIC 和 FPGA 的 嵌入式系统都可以满足其最小系统要求。而 FPGA 的技术在不断发展,芯片的集成度也越来越高,功能也更强,速度更快,功耗更低,故在 FPGA 中嵌入处理器 的 SOPC 系统也成为了 其发展的趋势。 因为基 于 SOPC 设计的嵌入式系统既可以满足日益增加的各种功能设计需求,也可以有效的减少类似 ASIC 设计中所涉及 的投片的成本和风险,提供了设计的效率和速度。 2.2 片上 可编程 系统 2.2.1 可编程器件简介与应用可编程逻辑器件Programmable Logic Device, PLD 是指可以

38、通过软件 编程修10改其逻辑电路、 为客户提供具有多种功能的标准部件 。在 20 世纪 70 年代可编程阵列逻辑Programmable Array Logic 出现, 它由可编程的“ 与” 门阵 列和固定的“ 或” 门阵列构成。PAL 采用熔丝编程,双极性工艺制造,器件的工作速度很高,PAL 是第一个得到普遍 应用的可编程逻辑器件。 之后在 PAL 基础上又 发展了一种通用阵列逻辑Generic Array Logic, GAL ,GAL 采用 EEPROM 工艺 , 实现了电可擦除、电可改写、其输出结构是可编程的逻辑宏单元,因而它的设计具有很强的灵活性,至今也有很多人使用。进入 20 世纪

39、 80 年代, 与标准门阵列类似的 FPGAField Programmable Gate Array 出现了,与以往 的 PAL 、GAL 等相比 较,FPGA 提高了门级 电路密度,丰富了门级电路的功能特性,克服了可编程逻辑器件门 级电路数有限的 缺点,同时它内置了硬核处理器ARM 、PowerPC ,存储器,解决 了 可编程逻辑器件定制电路不足的缺点。FPGA 一般分为三个部分:可编程逻辑块 CLB 、可 编程 I/O 模块和可编程内部连线。 FPGA 内部可含有多个独 立的 CLB , 互相之间可 以灵活连接。CLB 不仅能够实现逻辑 函数功能,而且可以配置成 RAM 等复杂应用资源。

40、 8 基于 SOPC 的嵌 入式 系统 应用研 究 使用 FPGA 进行开发,可以反复编程、擦除、使用, 能够保证在外围电路不动的基础上,通过下载不同的配置比特 流来实现不同的功能, 减少设计人员的投片风险和费用,并帮助设计人员在实验室相关的软硬环境中完成对芯片的最终功11能设计 。 设 计 输 入综 合功 耗 分 析布 局 布 线 调 试工 程 更 改管 理时 序 分 析仿 真 时 序 逼 近编 程 配 置图 2.2 FPGA 的 设计 流程 12如图 2.2 所示,FPGA 设计需要完成以下六个步骤 :? 设计输入: 设计者通过 硬件描述语言HDL 、 状态图以及原理图三种途径来实现对电路

41、设计的输入 。 设计综合: 设计者通过设定管脚约束和时钟约束条件, 针对设计目标使用计算机进行运算优化, 获得一个可行的满足设计要求的 方案。 不同的综合工具可能会获得不同的综合结果 。 仿真验证: 这是前仿真 过程, 只是通过测试和模拟 的手段来确保逻辑功能可以满足 设计的需求 , 不需要加入因时序和具体硬件特性所导致的延时特性等仿真 条件。 设计实现: 这个步骤把设计好的 功能逻辑分配 到目标 FPGA 芯片的 逻辑资源 中, 规划最优的从逻辑到 I/O 功能的布线 通道并连线, 决定逻辑的 优化 布局,生成对应的文件 。 时序分析: 即后仿真, 是指在前仿真的结果之上添加 连线和器件延时

42、以及其他时序 参数后进行的仿真。这种仿真和器件真实运行的结果非常接近 。 下载验证: 就是芯片的 配置, 在确保功能和时 序仿真都正确后, 把之 前 综 第二章 基于 SOPC 的嵌 入 式系统 9 合获得的比特流 通过电缆线或者外围器件这两种方式下载到 FPGA 芯片对其进行配置。 下载后进行实际器件的物理测试为电路验证, 验证通过后就可以进行投片生产过程。 2.2.2 片上系统简介与应用 随着 IC 设计技术与工 艺水平的发展, 集成电路的集成度越来越高, 规模越来越大,在 20 世纪 90 年代出现了片上系统System On Chip, SOC 技术 ,该技术是指将一个完整产品的功能集

43、成在一个芯片上或芯片组上。在这个集成系统中通常包括一个主控单元和一些功能模块,主控 单元一般是一个处理器,这个处理器可以是一个通用的处理器的核,也可以是数字信号处理的核,还可以是一个专用的运算控制逻辑单元,主控单元周围集成了一些功能模块,分别完成不同的功能。SOC 从系统的整体角度出发, 以 IPIntellectual Property 核为基础, 以硬件描述语13言作为系统功能和结构的描述手段, 借助以计算机为平台的 EDA 工具进行开发 。由于 SOC 设计能够综合、 全盘考虑整个系统的情况, 因而可以实现更高的系统性能。IP 核Intellectual Property 是知识产权的意

44、思 , 集成电路 IP 核遵循业 界普遍认同的设计规范和设计标准,通过预先的功能设计和仿真验证,生成可独立并重复利用的电路模块和子系统, 比如 Microblaze 软核微处理器。 因为集成电路 IP 模块占用芯片 面积 小、运 行 速度快、 功耗低 并且 可 以重复多 次使用 ,所 以 IP 模块在SOC 、SOPC 和复杂的 ASIC 设计当中得到了 广泛的应用。IP 核模块有行为Behavior 、结构Structure 和物理Physical 三个不同级别的设计,对应其不同的 描述功能可以分为三类,即软核、 硬核和固核。 软核Soft IP Core :IP 核把通过 RTL 级设计

45、优化和功能验证后的 HDL 文本形式提交给用户, 但其中不含有任何具体的物理信息。 用户根据 HDL文本代码综合处理生成正确的门电路设计网表, 灵活的进行后续的结构设计。 外部逻辑电路可以通过 EDA 工具和 IP 核 融合在一起, 在不同的半导体工艺 下设计 生成 不同 的性能 的器件 。IP 软 内核 也 可以被 成为 虚拟 组件Virtual Component, VC 。 硬核Hard IP Core : IP 硬核包括电路物理结构掩模版图和全套工艺文件,用户可 以拿来 直接 使用 。IP 硬核 是基 于半导 体工艺 的物理 描述 ,其 拓扑布局和工艺已经确定并通过验证,其工作性能可以

46、得到保证。 固核Firm IP Core :IP 固核是介于软核和硬核的设计, 一般以门级电路网表的 形式提 交给 用户 。IP 固核 在 完 成软核 所有的 设计 基 础上 ,还 完成10 基于 SOPC 的嵌 入式 系统 应用研 究了门极电路综合和时序仿真等设计环节。 IP 核的开发和复用技术 是 SOC 高级应用的技术基础和有力支持。IP 复用技 是指在设计过程中, 购买, 共享需要的 IP 核 , 在此基础进行再次设计、 综合、 验证, 加速系统设计过程, 降低开发成本和风险。 使用 SOC 进行大规模的系统设计,采用 IP 复用是很必要 的,并且也成为系统设计的重要手段。 2.2.3

47、 片上可编程系统 简介与应用 SOC 是专用集成系统, 设计周期长, 设计成本高; 而片上可编程系统System On a Programmable Chip, SOPC 是基于 FPGA 的可重构 SOC ,其设计周期短、设计成本低,是一种新的软硬件协同设计的系统设计技术,它将处理器、存储器ROM 、 RAM 等 、 总线 和总线控制器、 I/O 端 口、 DSP 、 锁相环等集成到一块 FPGA芯片中。SOPC 以嵌入 式系统为核心,集软、硬件于一体,并且可以使用很多设计公司提供的开发工具和 IP 核, 实现具体的应 用功能和整体解决方案的设计, 是电子系统设计发展的必然趋势和最终目标,

48、是现代电子系统设计的最佳解决方案。 SOPC 结合了 SOC 和 FPGA 的各自优点,一般具备以下特征: 内置嵌入式处理器 硬软核处理器 和小容量高速 RAM 。 可 选的丰富 IP 核资源 。 片上集成充分的 可编程逻辑资源。 拥有 FPGA 和内嵌处理 器 的编程及调试接口。 集成 模拟器件电路。 微封装 单芯片、功耗低 。 构成 SOPC 的方案有很 多途径,主要有以下三种: 1. 基于 FPGA 集成嵌入式 硬核处理器的 SOPC 系统 就是 在 FPGA 中内嵌一 个 嵌入式硬核处理器。目前较为常见的是含 ARM 知 识 产权处理器核的器 件。但是由于通常要为此处理器配置多种接口器

49、件, 会减少了由 IP 软核实现的外 设接口的使用次数, 降低了 FPGA 芯片可编程 逻辑资源 的利用率 。 常见的集成嵌入式硬核处理器的 SOPC 有 Altera 公司在 Excalibur 系列上植入 ARM922T 嵌入式系统处理器 的解决方案以及 Xilinx 公司在 Virtex-II Pro 系列中植入 IBM PowerPC405 处理器 和在 Zynq-7000 系列中植入了 ARM Cortex-A9 双14 核处理器 的解决方案 。2. 基于 FPGA 嵌入 IP 软 核的 SOPC 系统 利用软核嵌入式处理器可以克服原硬核处理的结构无法改变、 功能相对固定、 硬件资源

50、无法裁剪、知识产权费用增加等缺点。目前最具代表性嵌入式软核处理15器为 Altera 公司的 Nios II 软核处理器和 Xilinx 公司的 Microblaze 软核 处理器 。 第二章 基于 SOPC 的嵌 入 式系统 11 3. 基于 HardCopy 技术的 SOPC 系统 HardCopy 就是利用原 有的 FPGA 开发工具, 将成功实现于 FPGA 器 件上的 SOPC 系统通过特定的 技术直接向 ASIC 转换 , 从而克服传统 ASIC 设计中普遍存在的设计周期长、修改困难等问题。 硬 件 开 发 软 件 开 发软 核 处 理 Bootloader配 置 处 理 器 器

51、、 硬 核 处 内 核理 器 及 其 库 文 件 系 统选 择 并 配 置 外 设 库 、IP 库 和 驱 动外 设 核 模 块 用 户 代 码连 接 模 块 编 译 、 连 接软 件 可 执 行 程 序硬 件 配 置 文 件编 译 生 成 二 下 载 到SOPC验 证 、 调 试进 制 流 文 件 配 置 芯 片 上图 2.3 SOPC 嵌 入式 系统 开 发流程如图 2.3 所示,SOPC 嵌入式系统开发 共分三步: 1. 构建硬件平台使用所采用的 SOPC 公司提供的系统开发套件中的硬件生成向导工具,可以很迅速的构建一个嵌入式处理器系统。在该向导中主要对处理器的类型、处理总线频率、调试接

52、口、内 存大小和类型、通用外 设GPIO 、UART 、 定 时 器 等 等进行定制和配置。在完成对硬件平台的构建后,一般会生成一个开发板描述文件,它定义了开发板外设和外设同 FPGA 设备的连 接方式。 然后根据系统应用设计的要求, 选择一个或多个 IP 核, 选定它们和硬件 平台的接口和连接方式, 添加到硬件平台上。 最后在确定 硬件平台的处理器、 外设和 IP 核等都配置无 误、 连接正确后,编译生成二进制流文件。 2. 构建软件平台首先确定要使用的嵌入式操作系统, 如 Vxworks ,Linux ,COS2 等 , 通过裁剪 、 配 置 和 交叉 编 译 bootloader 、 内

53、 核 、 文 件系 统 后 生 成 符合 应 用 需求 的 操 作 系统。然后在操作系统之上开发具体的嵌入式功能软件,待软件代码编写完成后,交叉编译功能软件,并把它添加到已经定制好的嵌入式操作系统中。最后使用SOPC 芯片所提供的软 件开发工具把其压制成为可执行文件。 3. 合并、软硬件平台 12 基于 SOPC 的嵌 入式 系统 应用研 究使用 SOPC 提供的合并 工具把配置硬件平台 生成的二进制流文件和编写的软 件可执行文件下载 SOPC 的配置芯片上,通过软件跟踪、硬件断点等手段验证调试整个系统,确定无误后,完成整个嵌入式系统开发。 2.3 Zynq-7000 平台 简介 Zynq-7

54、000 系列器件基 于赛灵思公司的全编程All Programmable 架 构,该系列器件把一个功能丰富包含有 ARM Cortex-A9 双核的处理系统Processing System, PS 和赛灵思可编程逻辑器件Programmable Logic, PL 集成在一个单 独的设备上,建 立 了 一 个最 先 进的 、高 性 能 的 、低 功 耗的 、28nm 制 程 的以 处 理 器为 核 心 的 处理技术。 这个 ARM Cortex-A9 处理器是处理系统PS 的核心, 包含了片上存储器、外部存储器和一系列丰富外设的接口。Zynq-7000 SoC 可以在自动辅 助驾驶、驾驶信息

55、收集、娱乐、工业自动化系控制、工业网络设计、机器视觉、智能相机、LTE 广播和基带、医疗 诊断和成像、多功能打印机、视频和夜视设备等广泛的应用设计中发挥作用。 处 理 系 统 PS可 编 程 逻 辑 PL静 态 存 储 控 制 器 动 态 存 储 控 制 器Quad-SPI 、NAND 、NOR DDR2 、DDR3 、LPDDR2标SPI 准AMBA 互 联 开 关 AMBA 互 联 开 关可复可I2C用复A的A用CAN 输MM的入BB输 输AUARTA 出入互ARM Cortex-A9 端输支 持DMA联口互的SDIO出开 3联端.3关支 持DMA开口V的SDIO关或支 持DMA 1.AC

56、P 通 路的USB8V支 持DMAAMBA 互 联 开 关的GigEXADC PCIe标 准 可 复 用 的 输 入 输 出 端 口3.3V 或1.8V Gigabit 接 收 发 送 端 口图 2.4 Zynq7000 系 列器 件 的体系 结构Zynq-7000 系列器件将 处理器的软件可编程能力与 FPGA 的硬件可编程能力完美结合,以低功耗和低成本等系统优势来实现无以伦比的灵活可扩展的系统性 第二章 基于 SOPC 的嵌 入 式系统 13 能。与传统的 SoC 处 理解决方案不同,Zynq-7000 器件的灵活可编程逻辑能实现优化和差异化功能,使设计人员可以根据大部分应用的要求添加外设

57、。 Zynq-7000 系列器件特 性如下: 以处理器为核心的高价值应用结构。该系列芯片使用 ARM Cortex-A9 双核处理器,可以独立于可编程逻辑运行系统,处理器在复位时进行启动,和任何基于处理器的器件一样 , 处理器作为“ 系统主控单元” , 可用于控制可编程逻辑的配置, 以实现在操作系统器件对可编程逻辑的部分或完整的配置,而且其标准开发流程为软件开发者提供了一个熟悉的编程环境。 灵活且不会过时的技术。 因为处理系统与可编程逻辑紧密集成, 可以让设计人员能够创建定制化 ASSP , 并按照被广 泛采用的业界标准轻松互联外设和控制器, 从而满足 特定的应用功能、 性能 和延迟要求。 而

58、且无论 是 对可编程逻辑进行静态还是动态的部分或完整重配置, 都可以在 ARM 处理系统的控制下完成。 可扩展平台。 通用处理系统可在设计上实现纵向和横向扩展。 设计人员能在支持开源和业界领先商用操作系统和工作套件的开发工具环境下, 最大限度的减少开发投资, 同时一个设计好的代码库也可以在多个产品线和多种应用中进行扩展。 减少的物料消耗。Zynq-7000 单芯片解决方案提供了综合的处理系统和可编程逻辑, 能在单一的 架构中进行软硬件开发, 简化了设计的复杂性 , 减少了系统组件数量, 减低了电源数量和电源要求, 有助于开发板的设计开发。 2.3.1 处理系统Processing System, PS处理系统由双核 ARM 的 CPU、 缓存资源、 片 上存储器、 外部存储器接口、8通道的 DMA 控制器以及功能丰富数目众多的 I/O 外

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!