基于FPGA的波形发生器设计 本科生毕业设计.pdf_第1页
基于FPGA的波形发生器设计 本科生毕业设计.pdf_第2页
基于FPGA的波形发生器设计 本科生毕业设计.pdf_第3页
基于FPGA的波形发生器设计 本科生毕业设计.pdf_第4页
基于FPGA的波形发生器设计 本科生毕业设计.pdf_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

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

文档简介

扬州大学本科生毕业设计 论文 本 科 生 毕 业 设 计 毕业设计题目 基于 FPGA 的波形发生器设计 学 生 姓 名 王 欢 所 在 学 院 能源与动力工程学院 专 业 及 班 级 电气工程及其自动化 指 导 教 师 于 海 东 完 成 日 期 2013年 5 月 27 日 扬州大学本科生毕业设计 论文 摘 要摘 要 作 为 信 号 源 的 波 形 发 生 器 在 测 量 中 的 应 用 是 很 广 泛 的 常 用 的 信 号 有 正 弦 波 矩 形 波 锯 齿 波 三 角 波 等 要 得 到 频 率 稳 定 的 信 号 有 很 多 种 方 法 运 用 EDA 技 术 一 般 采 用 软 硬 件 相 结 合 的 方 法 来 实 现 FPGA 即 现 场 可 编 程 门 阵 列 是 一 种 可 以 由 用 户 自 己 定 义 配 置 的 高 密 度 专 业 集 用 电 路 FPGA 具 备 阵 列 行 PLD 的 优 点 结 构 又 类 似 掩 膜 可 编 程 门 阵 列 因 而 具 有 更 高 的 集 成 度 和 更 强 大 的 逻 辑 实 现 能 力 使 设 计 变 得 更 加 灵 活 并 且 更 加 容 易 实 现 使 用 FPGA 的 开 发 数 字 电 路 大 大 地 缩 短 了 设 计 需 要 的 时 间 与 此 同 时 也 可 以 减 小 印 制 电 路 板 的 面 积 使 得 系 统 的 可 靠 性 和 灵 活 性 得 到 提 高 首 先 本 文 系 统 地 介 绍 了 波 形 发 生 器 的 研 究 背 景 接 着 着 重 地 叙 述 了 利 用 FPGA 和 MAX PLUS 完 成 波 形 发 生 器 的 设 计 过 程 本 设 计 是 基 于 FPGA 设计的一款波形发生器 并利用 MAX PLUS 仿真软件对设计方 案进行仿真 验证方案的可行性与正确性 详细介绍了硬件电路各部分的原理 软 件代码分析及 MAX PLUS 仿真软件的使用方法 通过选择信号选定正 弦 波 矩 形 波 锯 齿 波 三 角 波 等 常 规 波 形 的 输 出 在各个模块的介绍中都给出 了详尽的流程图 关键词 波形发生器 FPGA MAX PLUS EDA 扬州大学本科生毕业设计 论文 Abstract As signal source generator is very useful application in the measurement the commonly used signal has a sine wave square wave sawtooth wave triangle wave etc there are many ways to obtain frequency stability of signal using EDA technology generally by the method of combining the software and hardware to implement FPGA namely the field programmable gate array FPGA is a kind of can be defined by the user s own professional sets by using circuit configuration FPGA has the advantages of line array PLD structure and similar mask programmable gate array FPGA and thus has a higher level of integration and more powerful logic implementation ability make the design become more flexible and more easy to implement Using FPGA development digital circuit the time is greatly shortened the design need at the same time also can reduce the area of the printed circuit board First of all this paper systematically introduces the research background of waveform generator then emphatically describes the use of FPGA and MAX PLUS complete waveform generator design process This design is a signal generator based on FPGA design and USES the MAX PLUS simulation software simulation for design validation plan the feasibility and correctness Detailed introduces the principle hardware circuit of each part code analysis software and the use of simulation software MAX PLUS method selected by selecting signal sine wave square wave sawtooth wave triangle wave etc Conventional waveform of the output In the introduction of the various modules of the detailed flow chart is given Key words waveform generator the FPGA the MAX PLUS EDA 扬州大学本科生毕业设计 论文 1 目录目录 目录目录 1 1 绪论绪论 2 1 1 背景及意义 2 1 1 1引言 2 1 1 2国内外发展现状 3 1 2 现场可编程门阵列 FPGA 概述 4 1 2 1 FPGA简介 4 1 2 2 FPGA的优缺点 5 1 3 VHDL 语言概述 7 1 3 1 VHDL语言简介 7 1 3 2 VHDL语言的优缺点 8 1 4 MAX PLUS 概述 9 1 4 1 Max plus 简介 9 1 4 2 Max plus 设计流程及注意事项 10 2 波形发生器理论分析波形发生器理论分析 12 2 1 设计方案选择 12 2 2 信号产生原理分析 13 2 3 设计要求 14 3 波形发生器的硬件电路分析波形发生器的硬件电路分析 15 3 1 硬件电路组成 15 3 2 单元电路设计 16 3 2 1 JTAG程序下载设计 16 3 2 2 输入模块设计 18 3 2 3 波形发生模块设计 18 3 2 4 D A转换模块的设计 19 3 2 5 信号放大单元设计 20 4 波形发生器软件设计波形发生器软件设计 22 4 1 软件设计思路 22 4 2 各个模块的 VHDL 程序设计 23 4 2 1 各波形生成模块程序的设计 23 4 2 2信号控制器的设计 31 5 系统性能测试系统性能测试 33 6 结论与展望结论与展望 37 致谢致谢 38 参考文献参考文献 39 扬州大学本科生毕业设计 论文 2 1 绪论绪论 1 1 背景及意义背景及意义 1 1 1 引言引言 波形发生器是一种常用的信号源 在通信 雷达 测控 电子对抗以及现代化 仪器仪表等领域都有着广泛的应用 是一种为电子测量工作提供符合严格技术要求 的电信号设备 波形发生器和示波器 电压表 频率计等仪器一样 是最普通 最 基本也是应用最广泛的电子仪器之一 几乎在所有电参量的测量都有着波形发生器 的身影 波形发生器作为一种测量仪器 历史由来已久 是电子信息领域中必不可 少的调试设备为待调试的系统提供精确的信号 如正弦波 三角波等 最早出现在 20 年代电子设备刚出现之时 随着通讯和雷达技术的发展 40 年代的时候 用于 测试各种接收机的标准波形发生器诞生了 这是波形发生器从定性分析的测试仪器 到定量分析的测试仪器的发展和进步 而可用来测量脉冲电路或用作脉冲调制器的 脉冲波形发生器也在同一时间出现在人们的生活中 从 60 年代开始 波形发生器有了迅速的发展 出现了函数发生器 这一时期 的波形发生器采用的多是模拟电子技术 由分立元件 模拟集成电路组成 这种波 形发生器机构复杂 并且产生的波形也只有正弦波 方波 锯齿波和三角波等几种 简单波形 自 80 年代以后 随着数字技术日益成熟 绝大部分的波形发生器开是采用数 字电路取代以前一直使用的机械驱动 从一个频率基准由数字合成电路产生可变频 率信号 真正高性能的几种函数波形发生器出现在 90 年代末 例如 HP 公司推出 的型号为 HP770S 的 由 HP8770A 任意波形数字化和 HP1770A 波形发生软件组成 的信号模拟装置系统 信号发生技术发展至今 引导技术潮流的仍然是国外的几大仪器公司 如日本 横河 Agilent Tektronix 等 美国的 FLUKE 公司的 FLUKE 25 型函数发生器是现 有的测试仪器中多样性功能最强的几种仪器之一 和频率计数器组合在一起的这种 仪器 在任何条件下给出的波形质量都很高 给出的正弦波和三角波失真率都很低 扬州大学本科生毕业设计 论文 3 还能给出过冲很小的快沿方波 其最高频率可以达到 50MHZ 最大输出幅度也达到 10Vpp 当然国内也有不少的公司生产出了类似的仪器 如南京盛普仪器科技有限 公司的 SPF120DDS 波形发生器 华高仪器生产的 HG1600H 型数字合成函数 任意 波形波形发生器 虽然国内波形发生器起步比较晚 但是发展到今天 已经渐渐跟 上国际的脚步 1 1 2 国内外发展现状国内外发展现状 在 70 年代前的波形发生器主要分为两类 正弦波波形发生器和脉冲波波形发 生器 这个时期的波形发生器采用的多是模拟电子技术 模拟器件构成的电路多存 在着尺寸大 价格贵 功耗大等缺点 且若想要产生较为复杂的信号波形 则需要 的电路结构就非常的复杂 在 70 年代后期 微处理器的出现 可以利用处理器 A D 转换器和 D A 转换器 硬件和软件相结合使波形发生器的功能得到扩大 产生 更加复杂的波形 这时期的波形发生器大多以软件为主 即通过微处理器对 DAC 的程序控制 得到各种简单的波形 1978 年 美国 Wavetek 公司和日本东亚电波工业公司共同公布了最高取样频 率为 5MHz 可形成 256 点存储长度的波形数据 其垂直分辨率为 8bit 主要用于 振动 医疗 材料等领域 这就是第一代高性能信号源 90 年代末期 才出现了 几种真正高性能 高价格的波形发生器 这段期间 HP 公司推出了型号为 HP770S 的信号模拟装置系统 该装置系统由 HP8770A 任意波形数字化和 HP1776A 波形发 生软件组成而成 HP8770A 实际上不仅只能产生 8 种波形 而且价格昂贵 到了 21 世纪 随着集成电路技术的高速发展 多种工作频率可过 GHz 的 DDS 芯片面世 了 同时也推动了波形发生器的发展 2003 年 Agilent 的产品 33220A 能够产生 17 种波形 最高频率可达到 20M 2005 年的产品 N6030A 能够产生的频率高达 500MHz 采样的频率也可达 1 25GHz 近几年来 伴随着集成电路技术以及器件 水平的提高 国外的一些公司先后推出各种各样的 DDS 专用芯片 如 Qualcomm 公司的 Q2230 Q2334 AD 公司的 AD9955 AD9850 AD9851 AD9852 等 历经近 30 年的发展 伴随着电子元器件 电路 及生产设备的高速化 高集 成化 波形发生器的性能有了飞速的改善 最显而易见的便是 越来越简单的操作 和越来越完善的输出波形 波形操作方法的好坏 取决于波形发生器的控制软件的 扬州大学本科生毕业设计 论文 4 质量 编辑功能增加的越多 波形形成的操作性也就越好 函数波形发生器的发展 很快 近几年来 国际上的波形发生器技术的发展主要体现在以下几个方面 过去的波形发生器频率很低 因而应用的范围比较狭小 而现在由于输出波形 频率的提高 波形发生器在越来越广的领域得到应用 波形发生器软件方面的开发 也使得波形数据的输入变得更加方便和容易 通常来说波形发生器可以用一系列的 点 直线或者固定的函数段把波形数据存入存储器 同时还可以利用一种强有力的 数学方程输入方式 复杂的波形可以由几个比较简单的公式复合成 V f t 形式的波 形方程的数学表达式产生 使得函数波形发生器可以向任意波形发生器的方向发 展 各类计算机语言的飞速发展也对任意波形发生器软件技术起到了推动作用 目 前来说 就可以利用可视化编程语言 如 Visual Basic Visual C 等等 来编写任意 波形发生器的软面板 这样便可以从计算机显示屏上输入任意波形 来实现波形的 输入 与 VXI 资源结合 目前 波形发生器有独立的台式仪器和适用于个人计算机 的插卡以及新近开发的 VXI 模块 由于 VXI 总线逐渐成熟和对测量仪器的要求变 高 使得在很多领域需要使用 VXI 系统测量产生复杂的波形 VXI 的系统资源有着 明显的优越性 但由于开发 VXI 模块的周期比较长 并且需要专门的 VXI 机箱配 套使用 使得波形发生器 VXI 模块的使用存在一定的局限性 仅用于航空 军事 及国防等大型领域 在民用方面 VXI 模块的应用远远不如台式仪器更为方便和广 泛 伴随着信息技术的蓬勃发展 经历了一段下坡路的台式仪器 又重新变得普及 起来 不过现在的新式台式仪器 和几年前的仪器己有很大的不同 这种新式的台 式仪器具有多种特性 可执行的功能越来越多 而且不论外形尺寸还是价格 都比 过去的类似产品减少了一半 1 2 现场可编程门阵列 现场可编程门阵列 FPGA 概述 概述 1 2 1 FPGA 简介简介 FPGA 是 Field Programmable Gate Array 的缩写 也就是现场可编程门阵列 FGPA 按工艺主要分为 Flash 工艺和 SRAM 工艺 工艺是针对它们的编程开关来说 扬州大学本科生毕业设计 论文 5 的 两类 它是在基于 PAL GAL CPLD 等可编程器件的基础上进一步发展的产 物 它是作为专用集成电路 ASIC 领域中的一种半定制电路而出现的 既解决 了定制电路的不足 又克服了原有可编程器件门电路数有限的缺点 众所周知 构成数字逻辑系统最基本单元的与门 或门 非门等门电路是由用 二极管 三极管以及电阻等元件构成的 然后与门 或门 非门又构成了各种触发 器实现状态记忆 FPGA 同样是数字逻辑电路的一种 由最基本的门电路元件构成 一片 FPGA 的内部可以集成上亿个门电路 打破以往实现电子装置需要使用数量繁 多的分立器件的历史 使得新装置不仅电路面积 成本大大减小 且可靠性也得到 了大幅度的提升 FPGA 内部一般是由 LE 最小的物理逻辑单位 输入输出模块 布线网络与片内外设组成的 而最小物理逻辑单元是指用户无法修改的 固定的最 小单元 设计者只可以将这些单元通过互联线连接起来 方可实现特定的功能 一 个最小物理逻辑单元通常是由 LUT 触发器与控制逻辑组成 从而同样能够实现时 序逻辑和组合逻辑 随着 FPGA 集成度不断增加 FPGA 内部的片内外设亦越来越多 可集成 SRAM AD Flash RTC 等外设 却是真正使用单芯片方案完成的系统设计 故 我们所理解的 FPGA 其实最底层是由一些实实在在的门电路构成的 然后由门电路 构成最小的物理逻辑单元 再通过布线层连接成用户需要的特定功能 因而我们所 需要控制的仅是布线层之间的互连开关 也就是我们编程的对象 用户便是通过这 些开关来改变 FPGA 的功能的 基于 EDA 工具的 FPGA 开发流程包括 文本 原理图编辑与修改 编译 综合 行为仿真和功能仿真 适配 功能仿真和时序仿真 下载 硬件仿真与测试 1 2 2 FPGA 的优缺点的优缺点 FPGA 器件用于设计数字电路 不仅能够简化其设计过程 而且可以减少整个 系统的成本和体积 是系统的可靠性得到加强 它们不需要花费传统数字电路制造 集成电路所需耗费的大量时间和精力 同时又避免了投资风险 因而成为电子器件 行业中发展最快的一族 使用 FPGA 器件来设计数字系统电路的优势主要包括以下几个方面 1 设计灵活 使用 FPGA 器件 不仅可以不像标准系列器件一样在逻辑功能 扬州大学本科生毕业设计 论文 6 上有所限制 而且可以在系统设计以及使用过程中的任一阶段进行逻辑修改 并且 只需通过对 FPGA 器件进行重新编程即可 使得系统设计提的灵活性得到大大地提 高 2 增大功能密集度 所谓功能密集度就是指在给定的空间所能集成的逻辑功 能数量 可编程逻辑芯片内组件门数高 一片 FPGA 便可以代替几片 几十片乃至 上百片中小规模的数字集成电路芯片 用 FPGA 器件实现数字系统时的芯片数量 少 从而减少芯片的使用数目 减少印刷线路板面积和印刷线路板数目 最终导致 系统规模的全面缩减 3 提高可靠性 减少芯片和印刷板数目 不仅能缩小系统规模 而且它还极 大地提高了系统的可靠性 具有较高集成度的系统比用许多较低集成度的标准组件 设计的相同系统具有高得多的可靠性 使用 FPGA 器件减少实现系统所需要的芯片 的数目 在印刷线路板上的引线以及焊点数量也就随之减少了 故而系统的可靠性 得到提高 4 缩短设计周期 由于 FPGA 器件的可编程性和灵活性 用它来设计一个系 统所需要的时间比传统方法大为缩短 FPGA 具有较高的集成度和简单的印刷线路 板电路布局 在样机设计成功之后 由于具有先进的开发工具 较高的自动化程度 因而对其进行逻辑修改便也十分简便迅速 因此 使用 FPGA 器件可以较大程度上 地缩短系统的设计周期 使得产品投放市场的速度得以提高 产品的竞争能力得以 增强 5 工作速度快 FPGA 器件具有较快的工作速度 一般可达到几百兆赫兹 这一点远远大于 DSP 器件 同时 使用 FPGA 实现系统所需要要的电路级数又相 对较少 这就使得整个系统的工作速度会大大提高 6 增加系统地保密性能 很多 FPGA 器件都具有加密功能 也就是说 FPGA 器件的使用可以有效地防止产品被他人非法仿制 7 降低成本 FPGA 器件用于实现数字系统设计时 如果仅考虑器件本身的 价格 它的优势并不明显 但如果从多方面综合考虑 成本的优越性就很明显了 首先来说 FPGA 器件修改设计方便 设计周期又短 使系统地研制开发费用就会 降低 其次 使用 FPGA 器件可以让印刷线路板面积和需要的插件减少 这就使得 系统的制造费用降低 最终 FPGA 器件的使用使系统的可靠性得到提高 维修工 作量减少 维修费用也就随之降低 总而言之 使用 FPGA 器件进行系统设计节约 扬州大学本科生毕业设计 论文 7 成本 当然 FPGA 也是存在一些缺点的 比如 掉电后一般会丢失原有逻辑配置 时 序难规划 不能处理多事件 不适合条件操作 存储空间小 不易使用 不能直接用 C 语言编程等 1 3 VHDL 语言概述语言概述 1 3 1 VHDL 语言简介语言简介 传统的硬件电路设计方法是采用自下而上的设计方法 即根据系统对硬件的要 求 详细编制技术规格书 并画出系统控制流图 然后根据技术规格书和系统控制 流图 对系统的功能进行细化 合理地划分功能模块 并画出系统的功能框图 接 着就进行各功能模块的细化和电路设计 各功能模块电路设计 调试完成后 将各 功能模块的硬件电路连接起来再进行系统的调试 最后完成整个系统的硬件设计 采用传统方法设计数字系统 特别是当电路系统非常庞大时 设计者必须具备较好 的设计经验 而且繁杂多样的原理图的阅读和修改也给设计者带来诸多的不便 为 了提高开发的效率 增加已有开发成果的可继承性以及缩短开发周期 各 ASIC 研 制和生产厂家相继开发了具有自己特色的电路硬件描述语言 Hardware Description Language 简称 HDL 但这些硬件描述语言差异很大 各自只能在自己的特定设 计环境中使用 这给设计者之间的相互交流带来了极大的困难 因此 开发一种强 大的 标准化的硬件描述语言作为可相互交流的设计环境已势在必行 于是 美国 国防部于1981年提出了一种新的 标准化的 HDL 称之为 VHSIC Very High Speed Integrated Circuit Hardware Description Language 简称 VHDL 其目的是供美军 提高设计的可靠性以及缩减开发周期 但仅在较小的范围内使用 VHDL 主要用于描述数字系统的结构 行为 功能和接口 除了含有许多具有 硬件特征的语句外 VHDL 的语言形式 描述风格以及语法是十分类似于一般的计 算机高级语言 VHDL 的程序结构特点是将一项工程设计 或称设计实体 可以是 一个元件 一个电路模块或一个系统 分成外部 或称可视部分 及端口 和内部 或 称不可视部分 既涉及实体的内部功能和算法完成部分 在对一个设计实体定义 了外部界面后 一旦其内部开发完成后 其他的设计就可以直接调用这个实体 这 扬州大学本科生毕业设计 论文 8 种将设计实体分成内外部分的概念是 VHDL 系统设计的基本点 1 3 2 VHDL 语言的优缺点语言的优缺点 VHDL 语言是一种用形式化方法来描述数字电路和设计数字逻辑系统的语 言 设计者可以利用这种语言来描述自己的设计思想 然后利用电子设计自动化工 具进行仿真 再自动综合到门级电路 最后用 PLD 实现其功能 综合起来讲 VHDL 语言具有如下优点 功能强大 设计灵活 支持广泛 易于修改 覆盖面广 描述 能力强 是一个多层次的硬件描述语言 VHDL 支持惯性延迟和传输延迟 还可以 准确地建立硬件电路模型 使用期长 独立于器件的设计 与工艺无关 很强的移 植能力 易于共享 支持大规模设计的分解和已有设计的再利用 具有良好的可读 性 即容易被计算机接受 也容易被读者理解 综上所述 VHDL 语言的优势有 与其他的硬件描述语言相比 VHDL 具有更强的行为描述能力 从而决定了他 成为系统设计领域最佳的硬件描述语言 强大的行为描述能力是避开具体的器件结 构 从逻辑行为上描述和设计大规模电子系统的重要保证 VHDL 丰富的仿真语句和库函数 使得在任何大系统的设计早期就能查验设计 系统的功能可行性 随时可对设计进行仿真模拟 VHDL 语句的行为描述能力和程序结构决定了他具有支持大规模设计的分解和已 有设计的再利用功能 符合市场需求的大规模系统高效 高速的完成必须有多人甚 至多个代发组共同并行工作才能实现 对于用 VHDL 完成的一个确定的设计 可以利用 EDA 工具进行逻辑综合和优 化 并自动的把 VHDL 描述设计转变成门级网表 VHDL 对设计的描述具有相对 独立性 设计者可以不懂硬件的结构 也不必管理最终设计实现的目标器件是什么 而进行独立的设计 但 VHDL 也并非完美无缺的 自身存在一些缺点 主要体现在以下 3 个方面 1 对设计者的硬件电路功底要求较高 若要采用 VHDL 描述硬件电路需要设 计人员具有较多的硬件电路知识 甚至芯片结构方面的知识 应该摆脱一般的高级 语言程序设计思路 因为电路世界里的事件往往是并行发生的 硬件电路系统内部 的模块可以是相互独立的 也可以是互为因果的 先构思思路 然后才能描述 扬州大学本科生毕业设计 论文 9 2 系统抽象描述能力较差 虽然 VHDL 能够描述系统级电路 但系统的抽象 性不能太强 否则 EDA 工具无法综合 目前 VHDL 中的一部分运算和数据类型只 能适用于系统建模 如果要综合成实际的硬件电路 存在比较大的困难 3 不具备描述模拟电路能力 对于模拟电路而言 VHDL 并不是一种理想的 硬件描述语言 现在 IEEE 正致力于设计 VHDL 的超级 VHDL AMS 这种语言将 能够对模拟电路和数模混合电路进行描述 可以预见的是 支持模拟电路和数模混 合电路描述将是硬件描述语言的发展方向 采用 VHDL 设计硬件电路系统的设计流程一般可以分为以下几个步骤 确定 电路具体功能 设计输入 功能仿真 综合 优化和布局布线 时序仿真 编程下 载 硬件测试 1 4 Max plus 概述 概述 1 4 1 Max plus 简介 简介 Max plus 的全称是 Multiple Array Matrix and Programmable Logic User System 多阵列矩阵及可编程逻辑用户系统 从最初的第一代 A PLUS 第二 代 Max plus 发展到第三代 Max plus 在发展中不断完善 版本不断升级 功 能不断强大 Max plus 是 Altera 公司上一代的 PLD 开发软件 是 Altera 公司推 出的 EDA 工具 提供了具有完全集成化的 FPGA CPLD 开发环境 Altera 是世界上 最大可编程逻辑器件的供应商之一 Max plus 具有界面友好 灵活高效和使用便 捷的特点 被誉为业界最易用易学的 EDA 工具软件 设计者无需精通器件内部的 复杂结构 只需用熟悉的设计输入工具就可以进行设计了 它支持原理图 VHDL 语言甚至是波形 EDIF 等格式的文件作为设计输入 并支持这些文件的任意混合设 计 在 Max plus 中具有门级仿真器 在完成设计输入 元件适配后 可以进行 时序仿真和功能仿真仿真结果满意后可以自动将设计转换成目标文件并下载到器 件中去 它提供了一种与结构无关的设计环境 能够使设计者方便地进行各种方式 的设计输入 快速处理以及器件编程 扬州大学本科生毕业设计 论文 10 1 4 2 Max plus 设计流程及注意事项 设计流程及注意事项 使用 Max plus 软件设计流程由以下几部分组成 如图 1 1 所示 图 1 1 开发流程图 1 设计输入 可以采用原理图输入 HDL 语言描述 EDIF 网表输入及波形 输入等几种方式 2 编译 先根据设计要求设定编译参数和编译策略 如器件的选择 逻辑综 合方式的选择等 然后根据设定的参数和策略对设计项目进行网表提取 逻辑综合 和器件适配 并产生报告文件 延时信息文件及编程文件 供分析仿真和编程使用 3 仿真 仿真包括功能仿真 时序仿真和定时分析 可以利用软件的仿真功 能来验证设计项目的逻辑功能是否正确 4 编程与验证 用经过仿真确认后的编程文件通过编程器 Programmer 将 设计下载到实际芯片中 最后测试芯片在系统中的实际运行性能 在设计过程中 如果出现错误 则需重新回到设计输入阶段 改正错误或调整 电路后重复上述过程 Max plus 编译设计主要包括设计输入编辑 编译网表提取 数据库建立 逻 辑综合 逻辑分割 适配 延时网表提取 编程文件汇编 装配 以及编程下载 9 个步骤 Max plus 设计的具体步骤及注意事项如下 1 编辑设计源文件 2 存盘检查并设为工程 扬州大学本科生毕业设计 论文 11 注意事项 为工程建立新目录 路径中不能有中文字符 不能把设计文件直接 放到根目录中去 否则建立工程时要出错 扩展名应与文件类型一致 原理图 gdf VHDL vhd 文件名必须与实 体名相同 Max plus 的错误定位及错误类型判断不是很准确 VHDL 查错时如果在当前 位置不能发现错误 应往回查找 不要使用中文全角的 与 等标点符号 应该使用对应的英文半角的 与 原理图的文件名不能和原理图中调用的任何一个元件符号名称相同 否则会引 起冲突 如果使用到用户生成的元件符号 如 keyncode 双击该元件符号 看能不能 正确打开生成该元件符号的设计文件 keyncode vhd 如果不能正确打开设计文件 则编译时肯定会出错 需要手动打开该设计文件并重新生成元件符号 然后关闭调 用它的原理图文件再重新打开并再次进行编译 3 指定目标器件 并锁定引脚 修改编译参数设置 在选择慢速器件时应该 去掉 Show Only Fastest Speed Grades 选项 4 编译设计 5 编辑仿真输入波形文件 注意事项 仿真时间长度 End Time 和栅格长度 Grid Size 的合理设置 是否打开了 Snap to Grid 选项且输出不需要设置 6 存盘并关闭仿真输入波形文件 注意事项 文件名与项目名相同 如果项目中存在多个仿真输入波形文件 只 会对文件名与项目名称相同的进行仿真 因此需要将原来的输入波形文件改名 再 将当前需要仿真的输入波形文件改名为与项目名相同 存盘后关闭仿真输入波形文件 不然会很影响仿真速度 7 打开仿真器窗口 运行仿真过程 注意事项 去掉其中所有的选项 确认 Simulation Input 给出的仿真输入文件 与期望的一致 8 编程下载 注意事项 应确认编程硬件 下载电缆 类型是否已经正确设置 扬州大学本科生毕业设计 论文 12 2 波形发生器理论分析波形发生器理论分析 2 1 设计方案选择设计方案选择 硬件电路设计中 所遵循的原则是 尽量使电路简单和模块化 并充分利用软 件智能化 因为硬件多了 不但增加体积和成本 而且也使系统的可靠性和性价比 下降 因此 本次波形发生器设计遵循这一原则 在实现硬件电路功能的前提下 尽量简化硬件电路设计 并将设计清晰地分成多个模块 根据以上设计原则在以下 备选方案中选择方案 图 2 1 为波形发生器的结构框图 图 2 1 波形发生器的结构框图 方案一 采用模拟分立元件或单片机压控函数发生器来完成设计 可产生方波 正弦波 三角波 通过调整外部元件可以改变输出频率 但是采用模拟器件分散性 大 产生的频率稳定性较差 精度低 抗干扰能力差 成本也比较高 方案二 由单片机来完成设计 目前 单片机的功能已比较强大 集成度日益 增高且其设计和控制比较容易 但是由于在传统的单片机设计系统中必须使用许多 分立元件组成单片机的外围电路 因此整个系统显得十分复杂 随着正弦波或三角 波采用数据的增加 需要占用系统很多存储资源 造成其抗干扰性差 在运行过程 扬州大学本科生毕业设计 论文 13 中容易死机或进入死循环 可靠性降低 而功耗费用增高 方案三 利用 FPGA 来完成设计 FPGA 编程灵活 可以实现三角波和正弦波 的数字化处理 将一个周期内的采样点存储起来 生成频率和幅值都可调的正弦波 或者三角波 再通过 D A 转换便可得到模拟波形 利用该方法 编程简单 实现灵 活 综上所述 选择方案三来完成设计 2 2 信号产生原理分析信号产生原理分析 完整的系统由 5 个部分组成 波形发生控制电路 波形数据 ROM D A 转换 和信号控制电路以及信号放大电路 波形发生控制电路由 FPGA 来完成 正弦波在 一个周期内的波形可以通过数字采样 即用 N 个幅值离散的等间隔采样点表示 如 图 2 2 为正弦波波形采样的原理 图 2 3 为三角波波形采样的原理 设其周期为 T 采样点数为 N 采样间隔为 t T N t 那么就可以得到图示的数字信号 要改 变其频率只需要改变其采样的时间间隔 t 由于采样点数 N 不变 N t T 因此 t 越小 T 就越大 对应的频率就越小 再通过数模转换 便可以得到光滑的正弦 波和三角波 根据采样精度的不同用户可以设定不同步长的采样正弦数据文件 将做好的数 据放入做好的 ROM 中待用 这就是产生正弦波信号所使用的查表法 三角波产生的原理比较简单可以采用 0 255 0 的循环 加减法计数器来实 现 方波产生原理则是让计数器在 0 和 255 时各保持输出半个周期 锯齿波和阶梯 波的产生方法类似 图 2 2 正弦波波形采样原理 扬州大学本科生毕业设计 论文 14 图 2 3 三角波波形采样原理 FPGA 波形发生控制电路通过外来控制信号和高速时钟信号 向波形数据 ROM 发出地址信号 ROM 的大小由采样点的个数决定 波形 ROM 中存有发生器的波 形数据 如正弦波或三角波数据 当接受来自 FPGA 的地址信号后 将从数据线输 出相应的波形数据 取出采样点的幅值 这样就可以产生数字化的波形 采样点越 多 那么得到的波形就越光滑 输出波形的失真度越小 但是相应的存储器的容量 就需要得越大 编写就越麻烦 因此 就需要正确的选择采样点数 一般 在要求 不是很严格的情况下取 64 点即可 2 3 设计要求设计要求 用 VHDL 设计一个多能波形发生器 根据输入信号的选择输出正弦波 三角 波 方波 锯齿波 阶梯波 5 种信号并在 FPGA 上实现 波形发生器的控制模块可 以用数据选择器来实现 5 种信号的选择可以用 5 选 1 或 8 选 1 数据选择器来实现 扬州大学本科生毕业设计 论文 15 3 波形发生器的硬件电路分析波形发生器的硬件电路分析 3 1 硬件电路组成硬件电路组成 多功能波形发生器的硬件电路由 FPGA D A 转换器 运算放大器 信号输出 选择装置 和程序下载等组成 输出波形可用示波器观察 图 3 1 为多功能波形发 生器的硬件电路 信号产生模块将产生需要的各种功能的信号 这些信号产生可以用多种方式 如计数器直接产生信号输出 或者用计数器产生存储的地址 在存储器中存放信号 输出数据 波形发生器的控制模块可以用数据选择来实现 最后将波形数据送入 D A 转换器 将数字信号转换为模拟信号 再经过放大器放大后 便能得到一定频 率的信号 可由示波器观察输出波形 图 3 1 多功能波形发生器硬件电路 扬州大学本科生毕业设计 论文 16 3 2 单元电路设计单元电路设计 3 2 1 JTAG 程序下载设计程序下载设计 JTAG 是一种国际标准测试协议 IEEE 1149 1兼容 主要用于电路的边界扫 描测试和可编程芯片的在线系统编程 现在大多数的高级器件都支持 JTAG 协议 如 DSP FPGA ARM 部分单片机器件等 标准的 JTAG 接口是4线 TMS TCK TDI TDO 分为 TCK 为测试时钟输入 TDI 为测试数据输入 数据通过 TDI 引 脚输入 JTAG 接口 TDO 为测试数据输出 数据通过 TDO 引脚从 JTAG 接口输出 TMS 为测试模式选择 TMS 用来设置 JTAG 接口处于某种特定的测试模式 TRST 为测试复位 输入引脚 低电平有效 JTAG 最初是用来对芯片进行测试的 基本原理是在器件内部定义一个 TAP Test Access Port 测试访问口 通过专用的 JTAG 测试工具对内部节点进行测试 JTAG 测试允许多个器件通过 JTAG 接口串联在一起 形成一个 JTAG 链 能实现 对各个器件分别测试 现今 JTAG 接口还常用于实现 ISP In System Programmable 在线编程 对 FLASH 等器件进行编程 JTAG 编程方式是在线编程 传统生产流程中先对芯片进行预编程后再装到板 上因此而改变 简化的流程为先固定器件到电路板上 再用 JTAG 编程 从而大大 加快工程进度 JTAG 接口可对 PSD 芯片内部的所有部件进行编程 在硬件结构上 JTAG 接口包括两部分 JTAG 端口和控制器 与 JTAG 接口 兼容的器件可以是微处理器 MPU 微控制器 MCU PLD CPL FPGA DSP ASIC 或其它符合 IEEE1149 1 规范的芯片 IEEE1149 1 标准中规定对应于数字集 成电路芯片的每个引脚都设有一个移位寄存单元 称为边界扫描单元 BSC 它将 JTAG 电路与内核逻辑电路联系起来 同时隔离内核逻辑电路和芯片引脚 由集成 电路的所有边界扫描单元构成边界扫描寄存器 BSR 边界扫描寄存器电路仅在进行 JTAG 测试时有效 在集成电路正常工作时无效 不影响集成电路的功能 边界扫描测试是在20世纪80年代中期作为解决 PCB 物理访问问题的 JTAG 接 口发展起来的 这样的问题是新的封装技术导致电路板装配日益拥挤所产生的 边 界扫描在芯片级层次上嵌入测试电路 以形成全面的电路板级测试协议 利用边界 扫描 自1990年以来的行业标准 IEEE 1149 1 您甚至能够对最复杂的装配进行测 扬州大学本科生毕业设计 论文 17 试 调试和在系统设备编程 并且诊断出硬件问题 边界扫描的优点 通过提供对扫描链的 IO 的访问 可以消除或极大地减少对 电路板上物理测试点的需要 这就会显著节约成本 因为电路板布局更简单 测试 夹具更廉价 电路中的测试系统耗时更少 标准接口的使用增加 上市时间更快 除了可以进行电路板测试之外 边界扫描允许在 PCB 贴片之后 在电路板上对几 乎所有类型的 CPLD 和闪存进行编程 无论尺寸或封装类型如何 在系统编程可通 过降低设备处理 简化库存管理和在电路板生产线上集成编程步骤来节约成本并提 高产量 边界扫描原理 IEEE 1149 1 标准规定了一个四线串行接口 第五条线是可选 的 该接口称作测试访问端口 TAP 用于访问复杂的集成电路 IC 例如微 处理器 DSP ASIC 和 CPLD 除了 TAP 之外 混合 IC 也包含移位寄存器和状态 机 以执行边界扫描功能 在 TDI 测试数据输入 引线上输入到芯片中的数据存 储在指令寄存器中或一个数据寄存器中 串行数据从 TDO 测试数据输出 引线 上离开芯片 边界扫描逻辑由 TCK 测试时钟 上的信号计时 而且 TMS 测试 模式选择 信号驱动 TAP 控制器的状态 TRST 测试重置 是可选项 根据相关 数据手册中的说明 TRST TDI TMS 引脚上需要接一个10K 的上拉电阻 而 TCK 需要接一个10K 的下拉电阻 在 PCB 上可串行互连多个可兼容扫描功能的 IC 形成一个或多个扫描链 每 一个链都由其自己的 TAP 每一个扫描链提供电气访问 从串行 TAP 接口到作为 链的一部分的每一个 IC 上的每一个引线 在正常的操作过程中 IC 执行其预定功 能 就好像边界扫描电路不存在 但是 当为了进行测试或在系统编程而激活设备 的扫描逻辑时 数据可以传送到 IC 中 并且使用串行接口从 IC 中读取出来 这样 数据可以用来激活设备核心 将信号从设备引线发送到 PCB 上 读出 PCB 的输入 引线并读出设备输出 在嵌入式系统设计中 一些高档的微处理器都带有 JTAG 接口 方便多目标系 统进行测试 同时还可以实现 flash 编程 扬州大学本科生毕业设计 论文 18 图 3 2 JTAG 实物图 3 2 2 输入模块设计输入模块设计 作为输入模块的信号控制器采用的是普通的按键输入 即通过按键选择输出波 形是正弦波 三角波 方波 阶梯波还是是锯齿波 同时协调各种波形的正常输出 3 2 3 波形发生模块设计波形发生模块设计 由于波形发生控制器和波形数据 ROM 都是利用硬件描述语言 VERILOG HDL 编程实现的 所以统称为波形发生模块 波形发生控制器的作用是利用 FPGA 选择 产生正弦波或者三角波 然后再发出地址信号 取 ROM 中存好的正弦波或三角波 的采样数据 在前面已经介绍过正弦波发生的原理 基于此原理 在程序设计的时 候 只要合适的改变采样点的时间间隔就可完成频率设置 ROM 数据存储模块主 要是用来存储正弦波的数据 当接收来自 FPGA 的地址信号后 将从数据线输出相 应的波形数据 这样便得到数字化的波形 由于所选的 D A 转换器一次只能转化 8 位二进制码 而且模拟波的电压幅度由幅度比例系数决定 Vo Vr K 所以限定 了波形的幅值比例系数为 0 255 对波形采样点数目越多 波形的精准度越高 但 随着采样点数的增加 需要的 ROM 数量也会增加 会消耗系统更多资源 实验证明 只要在一个周期内的取样点数超过 32 个就可实现较准确的正弦波 形 在本系统中 取采样点数为 64 个 每个采样点都对应了该点的幅值比例系数 每个 ROM 单元对应一个地址值 FPGA 只要向 ROM 存储器输入相应的地址值就可 以确定其幅值 正弦波形发生器由计数器或地址发生器 6 位 正弦信号数据 ROM 6 位地址线 8 位数据线 含有 64 个 8 位数据 一个周期 原理图顶 层设计和 8 位 D A 转换器 实验中用 DAC0832 代替 组成 扬州大学本科生毕业设计 论文 19 其中信号产生模块将产生所需的各种信号 这些信号的产生可以有多种方式 如用计数器直接产生信号输出 或者用计数器产生存储器的地址 在存储器中存放 信号输出的数据 波形发生器的控制模块可以用数据选择器实现 用8 选1 数据 选择器实现对5 种信号的选择 最后将波形数据送入 D A 转换器 将数字信号转 换为模拟信号输出 用示波器测试 D A 转换器的输出 可以观测到5 种信号的输 出 本设计使用的 FPGA 器件是 EP1K100QC208 1 该适配板是以 Altera 公司的 EP1K100QC208为器件核心 为方便下载程序二提供的立插 JTAG 接口 实现 FPGA 用户 I O 口连接 3 2 4 D A 转换模块的设计转换模块的设计 D A 转换器负责将 ROM 输出的数据转换成模拟信号 经放大电路后输出 输 出波形分频率上限与 D A 器件的转换速度由重要关系 采用的是 DAC0832 作为 D A 转换器件 DAC0832 是 8 位 D A 转换器 转换周期为 1 s 其引脚信号可以直接与 FPGA 目标芯片相接 图 3 3 DAC0832 芯片的引脚图 图 3 3 为 DAC0832 芯片的引脚图 各引脚的说明如下 CS chip selected 芯片选择 片选 片选信号 低电平有效 WR1 输入寄存器的写选通信号 GND 第 3 脚的 GND 为模拟信号地 第 10 脚的 GND 为数字信号地 扬州大学本科生毕业设计 论文 20 DI0 DI7 DI 表示 Digital Input 数字输入 8 位数据输入端 TTL 电平 VREF Reference voltage input 参考电压输入 基准电压输入引脚 要求外接精 密电压源 10 10V RFB FeedBack Resistor 反馈电阻 反馈信号输入引脚 反馈电阻集成在芯片 内部 IOUT1 IOUT2 电流输出引脚 电流 IOUT1 和 IOUT2 的和为常数 约为图 3 3 中的 VREF R 当输入全为 1 时 Iout1 最大 当输入为全 0 时 IOUT2 最大 IOUT1 和 IOUT2 随 DAC 寄存器内容线性变化 单极性输出时 IOUT2 通常接地 XFER 数据传送信号 低电平有效 WR2 DAC 寄存器写选通信号 ILE input

温馨提示

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

评论

0/150

提交评论