论基于可重用技术的介质损耗数据采集系统设计.doc_第1页
论基于可重用技术的介质损耗数据采集系统设计.doc_第2页
论基于可重用技术的介质损耗数据采集系统设计.doc_第3页
论基于可重用技术的介质损耗数据采集系统设计.doc_第4页
论基于可重用技术的介质损耗数据采集系统设计.doc_第5页
已阅读5页,还剩57页未读 继续免费阅读

下载本文档

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

文档简介

摘 要 可重用设计方法是以IP复用和IP设计为基础的一种有效的设计方法与先进的 设计理念 它将传统的停留在板级设计层面的嵌入式系统硬件设计提升到基于可 编程逻辑芯片上的系统级设计 可重用设计方法的引入大大缩短了基于可编程逻 辑器件的嵌入式系统设计周期 更为科研院所将独创的算法模型迅速转化为IP核 加以推广应用和知识产权保护提供一个良好的途径 成为设计系统原型的首选方 式 本文将可重用设计方法成功地应用到实际科研项目 基于FPGA及IP软核的 介质损耗数据采集系统 分析了可重用设计方法在嵌入式系统设计中的重要作用 介绍了电容型设备介质损耗检测原理 深入分析了影响在线检测的因素 并确定 了数据采集系统设计方案 在方案设计的基础上 从系统级设计和功能模块级设计的角度详细介绍了构 成系统的外围电路设计 FPGA内部逻辑的定制 以及基于Nios 处理器的软件设 计 并对系统硬件的抗干扰设计进行了简要叙述 最终设计并实现了基于FPGA 及IP软核的介质损耗数据采集系统 关键词 可重用设计 FPGA IP软核 介质损耗数据采集 Abstract Reuse methodology is an efficiency method and advanced idea of chip design which is based on reusing and design of IP core It changes the focus of system design from the board level of embedded system hardware design to the chip level of programmable logic device based design The use of reuse methodology does not only decrease the cycle of designing the embedded system based on programmable logic device but also is a shortcut to transfer a algorithm to an IP core to be protected better and able to be used in lots of fields for academy or research institute This thesis makes use of reuse methodology to research project Dielectric loss data collecting system based on FPGA and IP core The importance of the reuse methodology to the design of embedded system is analyzed first the principle of the electric capacity equipment dielectric loss examination survey is introduced then and the factor which affected the on line monitor is thoroughly analyzed then the design scheme of the data collecting system is confirmed On the basis of the scheme design the periphery hardware designing the logic customization of FPGA and the software designing based on Nios was introduced from both the system design and the function module design aspects Then the anti jamming principle of hardware design was also simply described in the thesis The dielectric loss data collecting system based on FPGA and IP core was designed and realized on the basis of above research triumphantly Keywords Reuse methodology FPGA IP core Dielectric loss data collection 5 62 目 录 第一章第一章 绪论绪论 1 1 1 1 可重用设计概述 1 1 2 可重用设计方法与嵌入式系统设计 2 1 2 1 嵌入式系统概况 2 1 2 2 嵌入式系统实现方式 2 1 3 介质损耗检测技术 4 1 3 1 国内外研究现状 4 1 3 2 可重用设计在系统中的应用意义 5 1 4 论文工作的主要内容和章节安排 6 第二章第二章 基于基于 FPGAFPGA 和和 NIOS NIOS 的可重用设计方法的可重用设计方法 7 7 2 1 FPGA 的设计方法及可重用技术 7 2 1 1 FPGA 技术 7 2 1 2 FPGA 设计方法 9 2 1 3 基于 FPGA 的可重用设计模式 11 2 2 NIOS 的设计方法 11 2 2 1 Nios 软核处理器 11 2 2 2 Avalon 总线 HAL 库和自定义指令 13 2 2 3 基于 Nios 的嵌入式系统开发流程 15 2 3 本章小结 16 第三章第三章 基于基于 FPGAFPGA 及及 NIOS NIOS 的系统方案设计的系统方案设计 1717 3 1 介质损耗检测 17 3 1 1 介质损耗检测原理 17 3 1 2 介质损耗检测系统工作原理 18 3 2 介质损耗数据采集系统设计要求 19 3 2 1 设计要求 19 3 2 2 影响测量的因素 20 3 3 介质损耗数据采集系统方案设计 21 3 3 1 通信技术的选择 21 3 3 2 数据采集系统方案设计 22 3 4 本章小结 24 第四章第四章 数据采集系统硬件设计及实现数据采集系统硬件设计及实现 2525 4 1 工作原理 25 4 2 同步采样模块设计 26 4 2 1 输入低通滤波器 26 4 2 2 A D 转换的器件选型及应用 28 4 2 3 信号整形模块 29 4 3 FPGA 内部逻辑及配置 30 4 3 1 AD 控制逻辑 30 4 3 2 测频逻辑 32 4 4 通信模块设计 33 4 4 1 GPRS 模块 33 4 4 2 GPS 模块 34 4 5 硬件抗干扰设计 35 4 6 本章小结 36 第五章第五章 数据采集系统软件设计数据采集系统软件设计 3737 5 1 系统软件功能 37 5 2 IP 软核模块定制 38 5 3 应用程序设计与实现 41 5 3 1 算法设计与实现 41 5 3 2 软件宏定义与主要功能函数说明 41 5 3 3 应用软件模块设计 43 5 4 本章小结 45 第六章第六章 实验实验结结果果 4747 第七章第七章 总结与展望总结与展望 4949 致致 谢谢 5151 参考文献参考文献 5353 作者攻读硕士期间的研究成果作者攻读硕士期间的研究成果 5555 1 62 第一章 绪论 1 1 可重用设计概述 近年来 随着半导体工业的持续发展 超大规模集成电路 Very Large Scale Integrated VLSI 的集成度也在不断的提高 1 片上系统 System on Chip SoC 在 这样的环境下产生了 它将以往许多芯片组成的电子系统集成在一个单片的硅片 上 构成了全新的系统 又称为系统芯片 与普通的集成电路相比 系统芯片不 再是一种功能单一的单元电路 而是将信号采集 处理和输入输出等系统功能完 整地集成在一起 成为一个具有专用功能的电子系统芯片 2 现今的电子系统设 计已不再是以往的利用各种通用集成电路实现板上系统 System on Board SoB 即印刷电路板 Printed Circuit Board PCB 级的设计和调试 而是转向以专用 集成电路 Application Specific Integrated Circuit ASIC 或大规模现场可编程门 阵列 Field Programmable Gate Array FPGA 以及复杂可编程逻辑器件 Complex Programmable Logic Device CPLD 为物理载体的系统芯片设计 通常 我们称 ASIC 上完成的设计为 SoC 在 FPGA 或 CPLD 上完成的称为 SoPC System on Programmable Chip 可编程片上系统 3 现在复杂芯片设计中最常用的方法是可重用设计方法 可重用设计方法就是 使用以前设计完成且经过验证的知识产权核 Intelligent Property core IP core 进 行系统构建 2 美国 Dataquest 咨询公司将半导体产业中的 IP 核定义为用于 ASIC Application Specific Integrated Circuits ASSP Application Specific Standard Product 等器件中预先设计好的电路功能模块 从功能上分类 知识产权核包括 微处理器 数字信号处理器 总线结构 外部设备 I O 通道 大容量内存等等 从结构上分类 知识产权核包括 硬核 固核和软核 硬核是一种以 GDS Graphic Design System 第二代版图设计系统 文件形式进行集成的核 它是 己经经过全部设计 布局 布线的核 软核是一种以可综合的 RTL Register Transfer Level 寄存器传输级 代码交付的核 固核介于硬核与软核之间 可以 以 RTL 或网表的形式提交 或者是带有部分布局信息和物理设计信息的 RTL 代 码 2 可重用设计方法是基于IP核的 它在大大提高电子系统设计效率的同时 也 对IP核设计中代码 接口 验证 配置等方面提出了更高的要求 随着可重用设 计方法的不断完善 它将不限于数字IP核重用的范畴和SoC设计 还将在模拟IP 核和软件的可重用设计上逐渐受到重视 4 本文将可重用设计方法从SoC设计领 域延伸到SoPC设计领域 从可重用设计方法角度阐述基于FPGA和IP软核的嵌入 式系统设计方法在介质损耗检测上的应用 1 2 可重用设计方法与嵌入式系统设计 1 2 1 嵌入式系统概况 嵌入式系统是以计算机技术为基础 软件硬件可裁剪 适应应用系统对功能 可靠性 成本 体积 功耗严格要求的专用计算机系统 嵌入式系统的开发设计 都有其特殊的应用场合与特定功能 嵌入性 专用性与计算机系统是嵌入式系统 的三个基本要素 嵌入性是指将计算机系统嵌入到对象系统中 必须满足对象系 统的环境要求 专用性是指最大限度地在针对应用场合定制硬件和软件以提高效 率 计算机系统是指嵌入式系统必须是能满足对象系统控制要求的计算机系统 与上两个特点相呼应 这样的计算机必须配置有与对象系统相适应的接口电路 5 随着硬件性能的提高 系统的软件规模不断扩大 实时多任务操作系统 RTOS Real Time Operating System 成为嵌入式操作系统的主流 6 要求操作系 统的实时性高 能够运行在各种不同类型的微处理器上 能够模块化 具有高度 的扩展性 同时 操作系统必须具备文件和目录管理 设备管理 多任务 网络 图形用户界面等功能 并提供大量的应用程序接口 从而使得应用软件的开发变 得更加简单 1 2 2 嵌入式系统实现方式 相对于通用计算机系统单一的实现方式 嵌入式系统的专用性使嵌入式系统 具备多种实现方式 按照不同的硬件结构分类 目前嵌入式系统实现方式可以分 为以下四种 1 基于 CPU Central Processing Unit 的嵌入式系统 嵌入式系统起源于微型计算机 基于 CPU 的嵌入式系统以微型计算机的中 央处理器为核心 是嵌入式系统最早的实现形式 基于 CPU 的嵌入式系统是将 微型计算机嵌入到一个对象体系中 实现对象体系的智能化控制 将微型计算机 经电气加固 机械加固 并配置各种外围接口电路构成专用系统 当今的微型计 算机系统主要是以 CISC Complex Instruction Set Computer 技术的 x86 系列 CPU 为核心 因此绝大多数基于 CPU 的嵌入式系统也采用 x86 系列 CPU 主要 应用于单板机和工控机 由于目前有大量的基于 x86 的应用程序和调试工具 如 3 62 果需要重复利用已开发的应用程序代码或由于操作系统选择方面的原因采用这一 结构 那么采用传统的 x86 处理器和芯片组还是具有一定优势 硬件设计人员专 注于芯片组的选择和主板的设计 不属于可重用设计的范畴 2 基于 SoC 的嵌入式系统 从 IP 复用的角度看 7 SoC 是以不同模型的电路集成 不同工艺的集成作为 支持基础的 所以要实现基于 SoC 的嵌入式系统 首先必须重点研究器件结构与 设计技术 VLSI 设计技术 工艺兼容技术 信号处理技术和测试与封装技术等 这是基于 SoC 的嵌入式系统设计的重要方面 即 SoC 系统芯片本身的设计和构 建 可重用设计方法正是从 SoC 系统芯片设计总结出来的一套科学的复杂芯片设 计理念 另一方面是 SoC 的应用技术 对现有的 SoC 针对特定的功能要求进行 工程开发的技术 8 以 SoC 为核心的嵌入式系统最大特点是不但能集成嵌入式处理器和专用智能 算法等数字电路 还能集成传感器 模拟信号处理电路 A D 与 D A 电路等模拟 和混合电路 然而 对于一般的科研院所来说 设计 SoC 系统芯片所需要积累的 技术太多 资金投入太高 同时 科研院所专注于其科研领域的算法研究 并不 擅长芯片设计 因此基于 SoC 的嵌入式系统设计大多只能停留在 SoC 的应用层 面 硬件设计人员虽然设计的是基于 SoC 的嵌入式系统 但完成的工作往往只是 SOB 的板级设计工作 这也就脱离了可重用设计方法的范畴 9 3 基于 SoPC 的嵌入式系统 SoPC 的概念是由 ALTERA 公司于 2000 年首先提出 是基于 FPGA 或 CPLD 的解决方案的 SoC 其它可编程逻辑厂商也分别提出各自的解决方案 本文中 SoPC 概念是广义的表示其物理载体是 FPGA 或 CPLD 的 SoC 而不局限于单一 厂商提出的概念 与 SoC 概念的产生相似 CPLD 和 FPGA 的性能 规模 结构 工艺和功耗的重大进步 使生产单片集成度超过数百万门的大规模 FPGA 成为可 能 其 I O 也达到上千的端口 基于 SoPC 的嵌入式系统及其开发技术具有更多 特色 构成 SoPC 的方案又有如下途径 1 基于 IP 硬核的 SoPC 嵌入式系统 在 FPGA 中预先植入嵌入式系统处理器 SoC 虽然集成度高 但是物理载体 是 ASIC 所以其灵活性比较低 如果需要新功能就必须重新设计 SoC 这就给 设计带来巨大的 NRE Non Recurring Engineering 费用 如果将嵌入式处理器 的 IP 核以硬核的方式植入 FPGA 中 利用 FPGA 中的可编程逻辑资源 直接利 用 FPGA 中的逻辑宏单元来构成嵌入式处理器的接口功能模块 就能很好地解决 这些问题 对此 ALTERA 和 XILINX 都相继推出了各自的解决方案 基于 IP 硬核的嵌入式系统一般应用于电信 航空和军事等高端领域应用 它使硬件设计 人员不再只关注板极设计 还需要利用 FPGA 的逻辑资源进行适当的 IP 核设计 或 IP 核集成以发挥其特性 2 基于 IP 软核的 SoPC 嵌入式系统 基于IP软核的SoPC嵌入式系统实现了真正的软件 硬件可裁剪 设计人员可 以针对不同应用定制自己的系统 只要在FPGA的容量范围内 完全可以按照系 统需求选择软核处理器和外设的种类 数量 完全超越了传统处理器给设计带来 的限制 基于IP软核的嵌入式系统适用于多种型号的FPGA 同样 一款主流 FPGA可以支持多种不同类型的嵌入式软核处理器 FPGA物理上的硬件可重用性 使更改SoPC系统设计时不需要支付NRE费用 可重用设计方法对基于FPGA的嵌 入式系统具有更大的指导意义 1 3 介质损耗检测技术 1 3 1 国内外研究现状 在电力系统中 电介质在电压作用下 由于电导和极化将发生能量损耗 统 称为介质损耗 10 11 这种损耗通常会使绝缘介质温度升高 而温度的升高会使绝 缘材料的绝缘性能恶化 甚至因温升过高而导致绝缘材料熔化 焦化 失去绝缘 作用 同时 电气设备在使用过程中 还会由于热 机械力 光 氧化 潮气 微生物 化学物质等因素的长期作用 导致电介质出现物质结构逐渐被损坏 性 能逐渐变差的不可逆现象 进一步将导致电网事故和大面积停电事故的发生 据 统计 我国电网中由于设备故障而直接引发的电网事故约占事故总量的 26 3 因此 提高电力设备运行的可靠性是保证电力系统正常运行的关键 12 电容型设备绝缘在线检测是电力系统中开展较早的项目之一 国外在这方面 的研究始于六十年代初期 但直到 70 80 年代 随着传感 计算机 光纤等高新 技术的发展与应用 绝缘在线检测技术才真正得到迅速发展 美国 加拿大 日 本 前苏联等国陆续研究了油中溶解气体 变压器 发电机 气体绝缘封闭组合 电器 GIs 等的局部放电 电容型绝缘的介质损耗因数等特性 13 我国对在线检测技术的重要性也早有认识 14 早在 60 年代就提出过不少带 电试验的方法 但由于操作复杂 测量结果分散性大 没有得到推广 80 年代以 来 随着高新技术的发展与应用 我国的绝缘在线检测技术也得到了迅猛发展 目前 电容型设备 tan 的在线检测方法基本上采取图 1 1 的原理 所不同的 是如何获取数字化测量信号 即采用何种信号处理方法 由于对这些数字信号处 理和分析等方面的不同而形成了两大分支 一是主要靠 硬件 实现的检测方法 以过零点的相位比较法 也称脉冲计数法 电压比较器法等为代表 15 此外还有 5 62 一些其它方法 如改进的西林电桥法等 二是主要靠 软件 实现的检测方法 其典型代表是谐波分析法 16 tan Ui Uv I U 被测对象传感器 波 形 处 理 A D 转 化 数 据 处 理 图 1 1 tan 在线检测的原理图 1 3 2 可重用设计在系统中的应用意义 早期的设计一般以单片机为核心处理器 随着现代嵌入式技术的飞速发展 介质损耗检测设备也在向高速 高精度 小型化方向发展 以往设计的一些弊端 也逐渐暴露出来 1 由于介质损失角 值较小 通常不大于 1 度 系统抗干扰能力差造成误 差增大 影响测量精度 2 系统体积大 不便于现场移动测量 3 封装保密性差 不利于知识产权的保护 4 系统每次升级都要做出较大的变动 无法适应不断变化的测量需要 因此采用抗干扰能力强的测量方法及合适的系统方案和逻辑电路来保证测量 结果的准确性 提高测量精度是十分必要的 本文充分利用可重用设计思想 将 FPGA 和 IP 软核技术应用到介质损耗检测系统的数据采集部分 借助 FPGA 硬件结构的可重构性与 IP 资源复用技术 可以使介质损耗数据 采集系统设计达到以下优化 1 提高系统集成程度及封装保密性 2 简化对硬件设计的修复和对错误的排除 避免 IP 软核的过时导致的用户 硬件成本增加 用户可以在硬件不变的条件下使用新的 IP 软核 避免可编程逻辑 器件过时导致的设计人员开发成本增加 设计人员可以移植到新系列的可编程逻 辑器件中 从而保护了对应用软件的开发 3 延长了产品生存时间 基于 FPGA 和 IP 软核的独特优势就是它的软硬件 可升级性 即使产品己交付用户 通过网络也可实现远端产品升级 可以不断有 新特性添加到硬件中 1 4 论文工作的主要内容和章节安排 本文将可重用设计方法的思想延伸到以 FPGA 为平台 以 IP 核为核心的基 于 SoPC 的嵌入式系统设计中 将重点放在可重用 IP 核复用设计上 论文对可重 用设计方法理念 嵌入式系统实现方式以及设计方法做了综述性的介绍 结合可 重用设计方法 着重阐述了基于可重用技术的介质损耗数据采集系统的设计与实 现 论文章节安排如下 第一章绪论 介绍可重用设计理念和发展现状 嵌入式系统的概况 实现方 式和设计方法 及其在介质损耗检测系统中的应用意义 第二章基于 FPGA 和 Nios 的可重用设计方法 介绍基于 FPGA 及 Nios 的 可重用设计方法 以 Alera 公司的 FPGA 和 Nios 为例阐述基于 IP 软核的 SoPC 嵌入式系统可重用设计方法和优势 第三章基于 FPGA 及 Nios 的系统方案设计 给出了基于 FPGA 及 Nios 的 系统设计 分析介质损耗检测的原理 介绍介质损耗数据采集系统整体设计方案 和工作原理 阐述了系统需求分析 系统建模和软 硬件划分 并详细描述了数 据采集系统的设计方案 第四章数据采集系统硬件设计及实现 介绍了数据采集系统硬件设计及实 现 阐述基于 FPGA 的介质损耗数据采集系统中 硬件模块设计及外围电路设计 并对系统硬件的抗干扰设计进行了简要叙述 第五章数据采集系统软件设计 介绍了数据采集系统软件设计 总结和归纳 基于 IP 软核的处理器系统设计方法 详细说明了基于 Nios 核的介质损耗数据 采集系统的软件设计过程 第六章总结与展望 总结可重用设计方法对设计基于FPGA和IP软核的嵌入 式系统的意义 以及基于FPGA和IP软核的嵌入式系统的优势和特点 同时指出 介质损耗数据采集系统设计工作中的特点和不足 展望后续工作 7 62 第二章 基于 FPGA 和 Nios 的可重用设计方法 本文第一章简要介绍了可重用的设计方法及其意义 目前要完成超过 100 万 个逻辑门的 ASIC 器件的 NRE 设计成本相当昂贵 如果采用专用标准器件 ASSP 产品 虽然设计制作成本低 却缺乏必要的知识产权保护和特定应用的限制 采 用 FPGA 器件正是回避了 ASIC 和 ASSP 这两者不可更改性的主要缺陷 并针对 工程设计的可重构性和 IP 资源的可重用性而使得系统设计师通过选择 FPGA 达 到降低系统研发成本和延长产品的生存寿命的目的 本章将着重阐述 FPGA 和 Nios 软核 CPU 的特点及相关的可重用设计方法 2 1 FPGA 的设计方法及可重用技术 2 1 1 FPGA 技术 FPGA 是在 PAL GAL EPLD 等可编程器件的基础上进一步发展的产物 它是作为专用集成电路 ASIC 领域中的一种半定制电路而出现的 既解决了定制 电路的不足 又克服了原有可编程器件门电路数量有限的缺点 17 FPGA 采用了逻辑单元阵列 LCA Logic Cell Array 内部包括可配置逻辑模 块 CLB Configurable Logic Block 输出输入模块 IOB Input Output Block 和内 部连线 Interconnect 三个部分 FPGA 的基本特点主要有 采用 FPGA 设计 ASIC 电路 用户不需要投片生产 就能得到合适芯片 FPGA 可以作为其它全定制或半定制 ASIC 电路的样片 FPGA 内部有丰富的触发器和 I O 引脚 FPGA 是 ASIC 电路中设计周期最短 开发费用最低 风险最小的器件之 一 FPGA 采用高速 CHMOS 工艺 功耗低 可以与 CMOS TTL 电平兼容 FPGA 芯片是小批量系统提高系统集成度 可靠性的最佳选择之一 丰富的片上可编程逻辑资源 目前 FPGA 的品种很多 有 XILINX 的 XC 系列 TI 公司的 TPC 系列 ALTERA 公司的 Cyclone 系列等 ALTERA 公司于 2000 年提出了一种灵活 高效的 SoC 解决方案 SoPC 并且推出了一系列支持这种技术的芯片 包括 APEX20K 20KE Stratix Stratix Cyclone 及 Cyclone 等系列 FPGA 实际上是由一系列逻辑单元的阵列构成 而每个逻辑单元均含有一个 四输入函数发生器 一个进位逻辑和一个存储单元 触发器 这些阵列单元通 过可编程连线阵列可实现逻辑单元之间的互连 也可实现和可编程 I O 单元的互 联 如果说半定制门阵列是由晶体管阵列所组成 FPGA 就可称为由逻辑单元的 阵列组成 在门阵列设计中 布线是专门设计且不可编程 而 FPGA 的布线资源 却由密度的可编程开关来实现相互间的连接 且这些布线资源又可实现逻辑单元 与逻辑单元 逻辑单元与 I O 单元之间的可编程连接 总的来说 FPGA 的逻辑 单元从功能上说不算复杂 但它却可由各逻辑单元的级联组合来创建很大的函数 功能 FPGA 具有用户可编程特性的逻辑功能块排成阵列位于芯片的内部 在芯片 四周有可编程的 I O 连接功能块和 I O 的可编程互连线均匀分布于阵列的行与列 之间 按照其编程的方式和功能块的结构可以分为 SRAM 查找表型和反熔丝多路 开关型两大类 前者常以四输入的 SRAM 查找表和一个触发器构成可编程逻辑功 能块 以 SRAM 实现功能的配置 因此配置在掉电后丢失 所以要求每次上电进 行配置 但可以实现系统内可再编程 系统运行器件再编程 网络上远程配置等 特性 后者常以多路转换器构成可编程逻辑功能块 以反熔丝元件作为编程器件 因此为一次编程 不可再编程 为实现片上系统 SoC 的要求 各大 FPGA 厂商分别推出了新一代的可以实 现系统级设计的 FPGA 新一代 FPGA 可以解决一些过去要用各种不同专用器件 才能对付的问题 如锁相环 SRAM 和电压转换缓冲器等 其结构从系统集成 系统存储 系统时钟和系统接口等方面满足片上系统的要求 1 系统集成 新一代 FPGA 结构中 将逻辑单元连同其通用布线资源组合形成一定的可配 置逻辑块或逻辑阵列 通过这样的可配置逻辑块中的四输入查找表的级联 可以 实现多个输入的函数和多路转换器 以完成复杂的逻辑功能 对于高密度的设计 在典型的 FPGA 结构中 长延时互连问题很大 但现在某些新的器件是以大量路 由资源提供快速的互联和可预知的延时性能 围绕着可编程 I O 模块的可配置逻 辑功能块阵列 全部互连于一个高效的分段路由结构 由于芯片内核向量式互连 所以器件性能可以前后一致 而且不论内核体积大小或数目多少 器件性能都不 会因内核以外有外设改动而受到影响 这些结构上的新特性都为单片上集成系统 提供了方便的条件 2 系统存储 系统级设计要求 FPGA 不仅具有可编程的逻辑功能块 I O 功能块和互连布 线资源 还必须提供第四种可编程资源 即片内 RAM SRAM 查找表结构的 FPGA 可以实现片内分布式 RAM 进入深亚微米工艺 芯片尺寸己从逻辑限制变 9 62 为焊盘限制 因此芯片内核由空间实现片内块式 RAM 此外 把延时锁定环和 I O 功能块结合起来 便可以为任意数量的芯片外存储器提供 200MHz 的存取速 度 3 系统时钟 对于高密度的器件 时钟分配是一个大问题 在系统级设计中 时钟脉冲相 位差过大 就会限制系统的性能 在每一个时钟周期内失去宝贵的若干纳秒 新 一代 FPGA 器件中有独立的延时锁相环 允许内 外时钟进行同步来解决这个问 题和消除系统时钟脉冲相位差 可以达到横跨整个器件的时钟到输出的延时小于 4ns 实现对时钟信号的倍频和分频 以及 0 9 180 270 的相位移 芯片到芯片之间的通信达到 200MHz 100 地提高系统的性能 延时锁相环是 FPGA 内第一次完全由数字方式实现的锁相环 利用可编程延时线和控制逻辑一 起来选择延时以匹配时钟信号的分配 数字时延时 锁相环是无条件稳定的 并 且不累加相位误差 4 系统接口 在深亚微米时代进行高性能的系统级设计时 设计者期望有不同的 I O 标准 允许与各种类型的器件连接实现应用 如处理器 存储器 专用标准总线和混合 信号的接口 能提供工业标准 IEEE JDEC I O 标准等 新型系列器件分别采用 不同的技术 使 I O 标准可以与不同的器件连接使用 2 1 2 FPGA 设计方法 可编程逻辑器件的设计是指利用开发软件和编程工具对可编程器件进行开发 的过程 17 一个完整的 FPGA 设计流程包括电路设计与输入 设计验证 功能仿 真 综合 综合后仿真 和设计实现 布局布线 布线后仿真 下板调试 三个 部分 其完整的设计流程如图 2 1 所示 1 设计输入 电路设计与输入是根据工程师的设计方法将所设计的功能描述给 EDA 软件 常用的设计输入方法有原理图设计和硬件描述语言 HDL 输入方法 波形输入 和状态机输入方法是两种常用的辅助设计输入方法 原理图输入方法早期应用得比较广泛 它根据设计要求 选用器件 绘制原 理图 完成输入过程 这种方法的优点是 直观 便于理解 元件库资源丰富 但在大型设计中 这种方法的可维护性差 不利于模块建设与重用 更主要的缺 点是 当所选用芯片升级换代后 所有的原理图都要做相应的改动 目前进行大型工程设计时 最常用的设计方法是 HDL 设计输入法 其中影 响最为广泛的 HDL 语言是 VHDL 和 Verilog HDL 它们的共同特点是 利于由 顶向下设计 利于模块的划分与复用 可移植性好 通用性好 设计不因芯片的 工艺和结构的变化而变化 更利于向 ASIC 的移植 开始 电路设计与 VHDL输入 功能仿真 是否正确 综合优化 是否为原理 设计问题 是否为综合 优化问题 是否为实现 问题 综合后仿真是 否正确 符合 器件要求 实现 翻译 映 射 布局布线 时序仿真 下载程序 在线调试 Y Y Y N Y NY N N Y N N 图 2 1 完整的 FPGA 设计流程 2 设计实现 将所做的原理图或 HDL 设计使用专用的仿真工具进行功能仿真 前仿真 后就可以进行逻辑综合 综合结果的本质是一些由与 或 非门 触发器 RAM 等基本逻辑单元组成的逻辑网表 它与芯片实际的配置情况还有较大差距 这时 应该使用 FPGA 厂商提供的工具软件 根据所选芯片的型号 将综合输出的逻辑 网表适配到具体 FPGA 器件上 这个过程就叫做实现 Implementation 过程 3 设计验证 电路验证的基本思路就是用配置好的 FPGA 替代计算机主板上的 CPU 芯片 让程序在其上运行以验证所设计的 CPU 核的功能 设计开发的最后步骤就是在 线调试或者将生成的配置文件写入芯片中进行测试 11 62 为了正确设计芯片 从设计系统规范到最后布局布线的整个过程中 都必须 在不同的阶段进行仿真和验证 2 1 3 基于 FPGA 的可重用设计模式 对于使用 FPGA 的用户来说 如果想顺畅地使用可重用设计方法 实际上要 按照应用的三个不同层次 逐步认识所使用的可重用设计模式 模式一 从 FPGA 本身的可编程特性 实现系统设计的可重构和可配置的灵 活应用 实际上这是 FPGA 技术在系统设计中的最基本应用 即电路的可重用性 系统设计中的硬件结构可变性称为可定制性 系统设计完成后 即使已成为产品 后仍能随开发者甚至用户的要求随时进行硬件结构的重构 这称为可重配置性 模式二 FPGA 是由大量逻辑宏单元构成的 通过配置可以使这些逻辑宏单 元形成不同的硬件结构 从而构成不同的电子系统 完成不同的功能 正是 FPGA 的这种硬件重构的灵活性 使得设计者能在 FPGA 设计中依赖越来越规范 的 IP 核资源 即利用 IP 核的可重用性 FPGA 的可重用资源库 处理器 协处 理器和外设 IP 核等构成 成为设计的关键 模式三 越来越多的 EDA 设计工具正在使算法模型和软件代码转换成硬件 的这一过程自动化 正是利用可靠的综合工具 使 FPGA 的开发支持更高级别的 抽象设计 可以直接应用算法级仿真结果 完成模型设计到硬件实现的一体化设 计 这就是目前可重用设计的最高层次 即利用算法模型的可重用性 2 2 Nios 的设计方法 2 2 1 Nios 软核处理器 ALTERA 公司的 Nios 系列嵌入式处理器 扩展了目前世界上最流行的软核 嵌入式处理器的性能 将 Nios 嵌入到 ALTERA 的所有 FPGA 中 用户可以获 得超过 200DMIPS 的性能 18 设计师可以从开发系统中选择三种处理器以及超过 60 个的 IP 核 创建最适合他们需要的嵌入式系统 此外 还可以根据需要调整 嵌入式系统的特性 性能及成本 利用其功能强大 易用的开发工具和功能完全 的开发包 将产品推向市场 扩展产品的生命周期 并且避免处理器的更新换代 Nios 核是用户可随意配置和构建的 32 位 16 位总线指令集和数据通道的嵌 入式系统微处理器 IP 核 采用 Avalon 总线结构通信接口 带有增强的内存 调 试和软件功能 此外 基于 Quartus 平台的用户可编辑的 Nios 核含有许多可 配置的接口模块核 包括可配置高速缓存模块 可配置 RS232 通信口 SDRAM 控制器 标准以太网协议接口 DMA 定时器 协处理器等 在植入 FPGA 前 用户可以根据设计要求 利用 Quartus 和 SoPC Builder 对 Nios 及其外围设备 进行构建 使该嵌入式系统在硬件结构 功能 资源占用等方面全面满足用户系 统的设计要求 在 FPGA 资源允许的情况下 同一 FPGA 中还可以被植入多个 Nios 核 除此之外 用户还可以通过 Matlab 和 DSP Builder 或直接使用 VHDL 等硬件描述语言进行设计 为 Nios 嵌入式处理器设计各类加速器 并以 指令形式加入 Nios 的指令系统中 简单说来 Nios 是一个处理器的 IP 核 15 系统设计者可以将它放入 FPGA 中 它只占芯片内部很少的一部分逻辑单元 成本较低 Nios 软核处理器是一 个基于流水线的精简指令集通用微处理器 时钟信号频率最高可达 75MHz 其指 令集的大部分指令均可在一个时钟周期内完成 使用 Nios 软件开发工具能够一键式自动生成适用于系统硬件的专用 C C 运行环境 NIOS 集成开发环境 IDE 提供了许多软件模板 简化了项目设置 软核处理器结合 FPGA 的应用比起使用硬核处理器的优势在于 硬核实现缺乏灵 活性 通常无法使用最新的技术 随着系统日益先进 基于标准处理器的方案会 被淘汰 而基于 Nios 处理器的方案是基于 HDL 源码构建的 能够不断被修改 以满足新的系统需求 具有很大的可塑性 适应性 根据设计者的需要结合 FPGA 芯片形成 新 的处理器 Nios 的优势具体表现在以下几个方面 19 1 嵌入式处理器的灵活配置 Nios 的三种内核可以使设计人员在不同应 用场合下找到性能和面积的平衡点 2 大量支持的外设 储器和接口 Nios 处理器支持的外设种类和数量都 可以根据设计人员需要进行设置 例如 DMA Direct Memory Access 通道的数量完全按需设置和处理器相连 3 不同的调试级别 JTAG 运行控制模块 嵌入式逻辑分析仪等工具为 软 硬件设计人员提供不同的调试等级 而在调试通过后可以从系统中 去掉调试模块以节省逻辑资源 Nios 的具体特性如表 2 1 所示 表 2 1 Nios 嵌入式软核处理器特性 种类特性 32 位指令集和数据宽度 32 个通用寄存器和外部中断源 内部结构 2GByte 寻址空间 32 位地址线 低 2GByte 地址 空间连接 Cache 高 2GByte 地址空间桥接 13 62 Cache 片内调试基于边界扫描测试 JTAG 的逻辑测试 支持硬件 断点 数据触发以及片内 外调试跟踪 定制指令最多 256 个用户自定义指令 设计人员通常需要选择一个比实际所需的性能要高的处理器 从而为设计保 留余地 但这意味着更高的成本 而基于 Nios 的系统性能是可以根据需求进行 裁剪的 用户可以通过下列方法来提升 Nios 系统性能 18 1 快速型内核 快速型 Nios f 内核具备 6 级流水线 动态分支预测 性 能达到 1 16DMIPS MHz 2 高性能的 FPGA Nios 是一个负责的 IP 软核 其性能与 FPGA 紧密联 系 以 Nios 的硬件乘法器为例 设计人员可以选择使用软件模拟方式 进行乘法运算 也可以选择使用 Nios 内置的硬件乘法器来加速乘法运 算 在 Cyclone 器件上 硬件乘法器进行 32 32 的整数乘法需要 3 个时 钟周期 利用 Cyclone 器件内置 18 18 硬件模块 硬件乘法器进行相同 运算需要两个时钟周期 利用 Stratix Stratix 器件内置 DSP 硬件模块 硬件乘法器进行相同运算需要一个时钟周期 3 多核处理器系统 设计人员不仅可以选择快速型 Nios f 内核 还可以 在系统中集成多个处理器来提升系统性能 而且不必重新设计电路板 也不会增加成本 4 自定义指令 用户可以定制最多 512 个自定义指令 是处理复杂算术逻 辑和逻辑运算的最佳途径 从 IP 核复用的角度看 设计人员要选择或自 行设计针对专用运算的 IP 核 并通过定义指令接口标准和 Nios 集成 5 自定义外设 通过将专用的硬件加速器添加到 FPGA 中作为 Nios 处理 器的协处理器 这样系统就可以并行地处理大量数据 同样 设计人员 需要选择或自行设计针对专用算法的 IP 核 通过片内 Avalon 总线或 Nios 的 I O 与 Nios 集成 2 2 2 Avalon 总线 HAL 库和自定义指令 基于 Nios 的嵌入式系统的所有外设都是通过 Avalon 总线与 Nios 相连接 的 Avalon 总线是一种协议简单的片内总线 Avalon 总线除了定义了主设备和 从设备之间的连接端口 还定义了主从设备之间的连接时序 Avalon 总线具有以下的一些特点 19 Avalon 总线最大寻址空间为 4GByte Avalon 总线的所有信号都同步于 Avalon 总线的时钟 Avalon 总线为每个外围设备提供单独的地址线 数据线和控制线 这样 简化了外围设备接口的复杂度 Avalon 总线内的多路选择器会自动为特定的传输建立专门的数据通路 Avalon 总线会自动生成外围设备的片选信号 也即是说它内置了地址解 码功能 这简化了外围设备接口的设计 Avalon 总线为并行多主设备结构 允许多个主设备同时进行数据传输 Avalon 总线可以自动完成不同数据宽度设备之间的数据传输 Avalon 总线具有中断处理功能 每个外围设备均有单独的中断请求信号 线同 Avalon 总线相连 Avalon 总线会生成对应的中断号并传送给 Nios Avalon 总线很好地避免了传统总线中的性能瓶颈 它的每一个主设备和该主 设备需要访问的从设备之间有专门的数据通路 当一个主设备需要访问某一个从 设备时 多路选择器会为两者打开它们的专用通路 Avalon 总线中每一个同多个 主设备有数据交互的从设备都有一个专用的总线仲裁器 Avalon 的总线仲裁不是 仲裁总线的使用权 而是仲裁主设备对从设备的使用权 也就是说当多个主设备 需要访问同一个从设备时总线仲裁机制才发挥作用 可以看出 在 Avalon 总线 结构下多个主从设备可以同时进行数据传输 这对系统的整体性能有很大的提高 HAL 库 Hardware Abstract Layer 为开发基于 Nios 的嵌入式系统的软件 设计人员提供与硬件通信的设备取得接口 将各种硬件设备进行抽象 使软件开 发人员无需考虑硬件的细节差异 HAL 的主要作用包括与 ANSIC 合成标准库 提供设备驱动 提供标准的接口程序如设备访问和中断处理等 系统和设备的初 始化等 在这里介绍 HAL 库的目的有以下三点 1 软件设计人员在开发过程中为了不直接和硬件联系不可避免要使用 HAL 库 2 软件设计人员开发驱动程序必须通过 HAL 库 因此 需要了解基于 HAL 的设计机制 3 设计团队自行设计 IP 核不仅包括 RTL 代码和测试平台 还应该包括驱动 程序和范例程序 这些都需要通过 HAL 库 自定义指令是 Nios 处理器的重要特性 通过它系统设计人员能对消耗时间 较多的组合逻辑或运算逻辑进行加速 自定义指令主要有单周期组合逻辑型指令 单周期运算逻辑型指令 参数扩展型指令三种类型 其原理如图 2 2 所示 15 62 图 2 2 自定义指令结构 自定义逻辑将 Nios 的 ALU Arithemetic Logical Unit 桥接 当用户在软 件代码中调用自定义指令时 Nios 使用自定义逻辑模块实现 而不是用 ALU 模拟实现 从而大幅提升对专用运算的处理速度 2 2 3 基于 Nios 的嵌入式系统开发流程 使用 Nios 进行嵌入式设计在硬件上须使用 ALTERA 公司的 FPGA 基于 Nios 的 SoPC 系统的开发流程如图 2 3 所示 由图中我们可以看到 整个开发可 以分为四个阶段 16 图 2 3 基于 Nios 的嵌入式系统开发流程 第一阶段 系统分析阶段 在这个阶段需要对目标系统的功能进行分析 确 自定义指令 逻辑模块 Nios ALU A B Out DATAbResult DATAa 第一阶段 系统分析 1 分析需求 2 确定系统组成 第二阶段 硬件设计 使用 SoPCBuilder 定 制 Nios 系统 在 Quartus 中分配 管脚并进行系统编译 第三阶段 软件开发 操作系统移植 编写自定义模块 编写代码 HAL 第四阶段设计验证及修正 是否符合设计要求 Nios 顶层模块 Y NN 自定义外设 自定义指令 标准系统组件 UART PIO 等 定系统的性能指标 在此基础上确定系统需要采用哪些组件 第二阶段 硬件设计阶段 本阶段主要借助 SoPC Builder 和 Quartus 这两 种开发工具完成 具体可分为如下步骤 1 使用 Quartus 软件对 ALTERA 中没有提供 IP 核的系统组成部分进行设 计 包括用户自定义逻辑和接口 2 使用 SoPC Builder 对 Nios 处理器 片上 ROM RAM DMA 控制器以及 处理器同外围设备的连接形式等进行定制 这部分类似于 PC 机系统设计 中的主板设计 设计者在 SoPC Builder 的页面中选取需要的部件 然后根 据需要对各个不同的参数进行设置 然后使用 SoPC Builder 进行编译 SoPC Builder 会自动生成相应的硬件描述语言代码 此外 SoPC Builder 在编译过程中还会根据定制的系统生成相应的软件开发 SDK 在这个 SDK 中包含了对硬件进行操作的一些通用函数

温馨提示

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

评论

0/150

提交评论