基于FPGA简易数字频率计设计.doc_第1页
基于FPGA简易数字频率计设计.doc_第2页
基于FPGA简易数字频率计设计.doc_第3页
基于FPGA简易数字频率计设计.doc_第4页
基于FPGA简易数字频率计设计.doc_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

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

文档简介

毕业设计 基于 FPGA 的简易数字频率计设计 学 院 信息科学技术学院 电子科学与技术 黄锐填 0601521013 专 业 姓 名 指导老师 张应省 黄相杰 学 号 职 称 副教授 助教 中国 珠海 北京理工大学珠海学院 2010 届本科生毕业设计 II 二 一 年 五月 北京理工大学珠海学院 2010 届本科生毕业设计 I 基于 FPGA 的简易数字频率计设计 摘 要 本设计是基于FPGA的一个简易数字频率计 利用Verilog硬件描述语言设计实现了频 率计内部功能模块 采用了等精度测量的方法 并结合NIOS软核CPU嵌入FPGA 构成SOPC 系统 利用NIOS软核对数据浮点运算处理 管理人机交换界面实时显示 跟传统FPGA 单 片机的多芯片系统方案相比更加灵活 系统体积小和功耗小等优势 具备软硬件在系统 可编程的功能 本设计测量频率的方法采用的是等精度测量法 相比直接测频法和测周法有精度更 高的特点 前端信号输入调理采用宽带放大器AD811对微弱信号进行放大 经过比较器整 形调理后 FPGA进行采用测量 系统实时性好 精度高 关键词 等精度 频率计 FPGA NIOS Verilog 北京理工大学珠海学院 2010 届本科生毕业设计 II The Design Of Simple Digital Frequency Meter Base On FPGA ABSTRACTABSTRACT The design is based on FPGA digital frequency of a simple plan use Verilog hardware design realized the frequency of internal function module the accuracy of the measurement method etc NIOS and FPGA soft nuclear CPU embedded systems using the SOPC constitute NIOS soft check data management man machine floating point calculations exchange with real time display interface chip traditional FPGA MCU solutions system is much more flexible than small volume and low consumption have advantages of hardware and software systems in programmable functions This design method of measuring frequency by measuring method is compared with direct frequency measurement method and the measuring accuracy of ZhouFaYou characteristics Front end signal input by AD811 amplifier to recuperate broadband amplification weak signal by comparator plastic after using measurements on FPGA system of good real time high precision Key words Equal precision Frequency counter FPGA NIOS Verilog 北京理工大学珠海学院 2010 届本科生毕业设计 III 目 录 摘 要 I ABSTRACT II 1 概 述 1 2 系统方案分析及比较选择 3 2 1 方案构想 3 2 2 方案比较及选用依据 4 3 工作原理及其系统框图 5 3 1 计数式直接测频法 5 3 2 计数式直接测周期 6 3 3 等精度测量原理 7 4 硬件系统实现 10 4 1 硬件系统原理图 10 4 1 1 放大电路的选择 10 4 1 2 整形电路 13 4 2 FPGA 控制电路 15 4 2 1 FPGA 芯片选型 15 4 2 2 FPGA 最小系统搭建 16 4 3 FPGA 内部模块 19 4 3 1 系统总体框图 19 北京理工大学珠海学院 2010 届本科生毕业设计 IV 4 3 2 同步预置模块 20 4 3 3 频率计数模块 时间计数模块 21 4 3 4 数据输出模块 计数器清零模块 21 5 软件系统实现 23 5 1 主程序框图 23 5 2 NIOS II 软核 23 5 3 NIOS 外部接口与内部介绍 24 5 3 1 nios 软核原理框图 24 5 3 2 nios 软核外部接口 24 6 遇到问题 分析问题 解决问题 25 6 1 输入阻抗问题 25 6 2 放大器选择问题 25 7 电路抗干扰措施 26 8 系统指标测试 27 9 结束语 28 参考文献 29 附录 1 FPGA 硬件描述语言代码 30 附录 2 NIOS C 语言程序代码 33 谢 辞 40 北京理工大学珠海学院 2010 届本科生毕业设计 1 1 概述 随着微电子技术和计算机技术的迅速发展 特别是单片微机和片上可编程系统的出 现和发展 使传统的电子测量仪器在原理 功能 精度及自动化水平等方面都发生了巨 大的变化 形成一种完全突破传统概念的新一代测量仪器 频率计广泛采用了高速集成 电路和大规模集成电路 使仪器在小型化 耗电 可靠性等方面都发生了重大的变化 传统的频率计测量误差较大 等精度频率计以其测量准确 精度高 方便等优势将得到 广泛的应用 频率计是电子计数器的一种 在电子技术领域内 频率与电压一样 也是一个基本参数 目前 随着电子技术 微电子技术 数字技术 计算机科学的发展 电子计数器已经大 量采用大规模 超大规模集成电路 尤其是与微处理器相结合 实现了程控化和智能化 频率计不断得到发展和完善 尤其是近代以来 随着电子工业的飞速发展 EDA 技术的问 世 新型的频率计具有测量精度高 速度快 自动化程度高 直接数字显示 操作简便 等特点 在此基础上附加参数转换电路 可以完成多参数 多功能测量 应用前景非常 广阔 传统的测频方法有直接测频法和测周法 在一定的闸门时间内计数 门控信号和被 测信号不同步 计数值会产生一个脉冲的误差 等精度测频法采用门控信号和被测信号 同步 消除对被测信号计数产生的一个脉冲的误差 等精度频率测量方法消除了量化误 差 可以在整个测试频段内保持高精度不变 其精度不会因被测信号频率的高低而发生 变化 采用 FPGA 作为控制核心的等精度频率计 可以充分利用 FPGA 高速数据采集技术 较容易实现等精度测频 通过 FPGA 对同步门的控制 使被测信号和标准信号在闸门时间 内同步测量 为了提高精度 将电子计数功能转为测周期 采用多周期同步测量技术 实现等精度测量 随着电子设计技术的飞速发展 专用集成电路 ASIC 用户现场可编程门阵列 FPGA 及复杂可编程逻辑器件 CPLD 的复杂度越来越高 数字通信 工业自动化控制等领域所 用的数字电路及系统的复杂程度也越来越高 设计这样复杂的电路及系统也不再是简单 的个人劳动 而需要综合许多专家的经验和知识才能够完成 硬件描述语言 Verilog 顺 应这种潮流 迅速发展 目前已得到广泛的应用 FPGA 的结构灵活 其逻辑单元 可编程内部连线和 I O 单元都可以由用户编程 可以实现任何逻辑功能 满足各种设计需求 其速度快 功耗低 通用性强 特别适用 于复杂系统的设计 使用 FPGA 还可以实现动态配置 在线系统重构 可以在系统运行的 不同时刻 按需要改变电路的功能 使系统具备多种空间相关或时间相关的任务 及硬 件软化 软件硬化等功能 北京理工大学珠海学院 2010 届本科生毕业设计 2 在大多数的研制过程中 人们习惯把 FPGA 技术跟 MCU 技术相结合的方式来完成设计 FPGA 有速度快 灵活等特点 速度快的优势来源于 FPGA 的硬逻辑方式 由于 FPGA 的逻 辑功能全部用硬件电路实现 故所有的延迟只来源于门电路 而一般门电路的延迟都在 ns 级别 但与 MCU 相比 FPGA 实现的功能较为简单 你无法想象用硬件电路可以实现一 个 windows 操作系统 所以人更习惯把 FPGA 在绝大多数系统中充当配角 比如 为系统 的主控 MCU 扩展某种接口等等 现在 FPGA 有向 MCU 发展的趋势 当然 最终 FPGA 不会 变成 MCU 最终 FPGA 会发扬其优点 成为比 MCU 更为强大的东西 目前有些 FPGA 已带有 模拟 IO 很多 FPGA 可嵌入 8051 ARM 等软核 尽管现在由于成本等因素 这类应用并不 多 但是这个发展路线不会错 一些厂商已经考虑把软核变成硬核 也就是在 FPGA 中嵌 入 MCU 一旦类似的产品出现 实现 systerm on one chip 便变得非常容易 本设计采用 的就是目前相对成熟的 NIOS 软核嵌入到 FPGA 中实现 SPOC 北京理工大学珠海学院 2010 届本科生毕业设计 3 2 系统方案分析及比较选择 2 1 方案构想 方案一 方案一 系统测频部分采用中小规模数字集成电路 用机械式功能转换开关换档 完 成测频率功能 该方案的特点是中小规模集成数字电路应用技术成熟 能可靠的完成频 率计的基本功能 但由于系统功能要求较高 所以电路过于复杂 而且多量程换档开关 使用不便 此方案对输入信号作分频整形处理后 再与 1 秒脉宽带信号共同输入与非门 其输出作为计数脉冲 由计数器计数 然后锁存 译码输出到数码管显示 原理框图如图 2 1 所示 图 2 1 中小规模数字集成电路方案框图 方案二 方案二 采用 MCS 51 系列单片机 将欲测量的输入信号 1Hz 10MHz 进行限幅 放大 整形和分频处理 利用单片机进行频率 周期的测量和计算处理 运算结果并行 输出到数码显示 如图 2 2 所示 显然此种方案由于采用单片机技术 利用定时器计时 一段时间 在通过计数器在这段时间内计数 实现用计数法测量频率 图 2 2 基于单片机方案框图 方案三 方案三 采用 FPGA nios 软核 cpu 组合 外围信号输入电路经放大整形调理 fpga 采集 模块负责输入信号的采集 nios 负责对采集信号的运算及人机界面的控制 如图 2 3 所 北京理工大学珠海学院 2010 届本科生毕业设计 4 示 为了进一步提高测量频率的精度和实时性 采用等精度测量频率 用 FPGA 可以容易实现 等精度频率的测量 放大 整形 50Mhz晶振 频率计数器 时间计数器 同步预置阀门 阀门 NIOS软核cpu 显示 FPGA 图 2 3 基于 FPGA 方案框图 2 2 方案比较及选用依据 显然方案二要比方案一简洁 新颖 但从系统设计的指标要求上看 要实现频率的测 量范围 1Hz 10MHz 但由于使用的是计数法测量频率 在频率较低时会产生较大的误差 方案三利用 FPGA 高速的信号采集处理能力 采用等精度测量频率 在整个频率范围测 量内都能达到相同的精度 不随频率变化而变化测 因此选用方案三作为具体实施的方 案 北京理工大学珠海学院 2010 届本科生毕业设计 5 3 工作原理及其系统框图 常见的测量原理有三种计数式直接测频法 计数式直接测周法 等精度测量法 3 13 1 计数式直接测频法 计数式直接测频的原理方框图如图 3 1 所示 图 3 1 直接测频法原理图 其中主门具有与门的逻辑功能 主门的一个输入端送人的是频率为 fx 的窄脉冲 它 是由被测信号经放大整形后得到的 主门的另一个输入端送入的是来自门控闸门信号时 间 Ts 因为门控是受时基控制 所以 Ts 既准确有稳定 设计时通过晶振和分频器的配合 可以获得 0 1s 1s 10s 等闸门时间 由于主门的与功能 其输出端只有在闸门信号 Ts 有效期间才有频率 fx 的窄脉冲输出 并送到计数器去计数 计数值为 N Ts Tx Ts fx 它与被测信号的频率 fx 成正比 由此可得 fx N Ts 3 1 由上式可知 当闸门时间 Ts 为 1s 时 N 值即为被测信号的频率 计数式直接测频方 法由于主门的开启时间与被测信号之间不同步 而使计数器值 N 带有 1 量化误差 且当 被测信号频率越低时 该量化误差的影响越大 若再考虑由晶体振荡器引起的闸门时间 误差 则对式 3 1 进行误差的累积与合成运算后 可得到计数式直接测频误差的计算 公式如下 1 fc fc TsfxTs Ts N Nx fx fx 北京理工大学珠海学院 2010 届本科生毕业设计 6 3 2 上式右边第一项为量化误差的相对值 其中 Nx 1 第二项为闸门时间的相对误 差 数值上等于晶体振荡器基准频率的相对不确定度 fc fc 分析表明 在 fx 一定时 闸门时间 Ts 选得越长 测量准确度越高 而当 Ts 选定后 fx 越高 由于 1 误差对测试结果的影响减小 测量准确度越高 但是随着 1 误差影响 的减小 闸门时间自身的准确度对测量结果的影响不可忽略 这时可认为 fc fc 是 计数式直接测频率准确度的极限 3 23 2 计数式直接测周期计数式直接测周期 周期测量基本原理图如图 3 2 所示 图 3 2 直接测周法原理图 与计数式直接测频原理方框图相比 其中门控改由输入信号放大 整形和分频后的 脉冲控制 所以闸门时间的宽度就等于 K 倍被测信号的周期 KTx 而主门的另一个输入端 有晶体振荡器和分频器产生周期为 T0 的时标脉冲信号 由于主门的与功能 它只在 kTx 期间有时标脉冲信号输出 并由计数器计数 其值为 N 不难看出 被测信号的周期为 Tx NT0 K 3 3 与计数式测频类似 由于 Tx 和 T0 之间也不是同步的 所以计数值 N 也带有 1 量化 误差 此外 由于晶振的不确定度 时标的周期 T0 也存在误差 最后 由于被测输入信 号中噪声的影响 使经放大整形后的脉冲周期 Tx 中还引入一种触发误差 对式 3 3 北京理工大学珠海学院 2010 届本科生毕业设计 7 进行误差累积和合成的运算 可以得到测周期误差的计算公式如下 3 4 20 00 0 0 10 32 0 Rx Xx x kfc fc k fT T T fc fc kT TN T T N Nx Tx Tx 上式右边第一项为量化误差的相对值 其中计数误差 Nx 1 第一项为时标的相 对误差 第三项为触发误差 其中 R 为被测信号 Vx 与噪声 Vn 比 可有公式 R 20lg Vx Vn 计算 单位 dB 要降低触发误差 就必须增大信噪比 R 并采用多周 期测量 还可以在整型电路中采用具有滞回特性的施密特电路来减小噪声的影响 分析表明 在倍率 K 和时标 T0 固定是 与测频率相反 测量周期的误差随被测信号 的频率升高而增大 此外 由于有限的信噪比 是触发误差成为影响测量周期准确度的 主要因素 采用多周期测量可以有效的降低触发误差的影响 3 33 3 等精度测量原理等精度测量原理 与直接测量法相比 等精度测量法的优点是 可在整个测频范围内获得同样高的测 试精度和分辨率 图 3 3 a 所示 其工作原理时间波形图如 3 3 b 所示 预设阀门 D Q C 放大整形 阀门A 时钟发生器 阀门B 计数器A 计数器B 运算电路显示器 同步电路 同步后的闸门 脉冲 U0 事件计数器 时间计数器 fc fx信号输入 预设阀门 D Q C 放大整形 阀门A 时钟发生器 阀门B 计数器A 计数器B 运算电路显示器 同步电路 同步后的闸门 脉冲 U0 事件计数器 时间计数器 fc fx信号输入 图 3 3 a 等精度原理图 fx 为输入信号频率 fc 为时钟脉冲的频率 A B 两个计数器 分别为时间计数器和 时间计数器 在同一闸门时间 T 内分别对 fx 和 fc 进行计数 计数器 A 的计数值 Na fxT 计数器 B 的计数值为 Nb fcT 由于 Na fx Nb fc T 则被测频率 fx 和周期 Tx 分 别为 3 5 T N f N N f A c B A x 北京理工大学珠海学院 2010 届本科生毕业设计 8 3 6 c A B x T N N T 式 3 5 中 T Nb fc 为时钟的周期 图 3 3 a 中的同步电路 D 触发器 的作用在于使计数闸门信号与被测信号同步 实现同步开门 并且开门时间 T 准确地等于被测信号周期的整数倍 故式 3 5 式 3 6 中的计数值 Na 没有 1 量化误差 计数值 Nb 虽然有 1 量化误差 但由于 fc 很 高 Nb 1 所以 Nb 的 1 量化误差的相对值为 1 Nb 很小 且该误差与被测频率 fx 无关 因此在整个测频范围内 倒数计数器能够实现等精度的测量 该测试方法需要的 除法运算功能 由于有加入 NIOS 微处理器所以不难实现 预置闸门脉冲P 输入信号放 大整形后fx 同步后的闸门U 计数器A计数Na 时钟信号Fc 计数器B的计 数Nb T 图 3 3 b 等精度原理波形图 图 3 3 a 中的预置闸门脉冲相当于普通计数器的闸门时间脉冲 通常有 10s 1s 0 1s 等值 在倒数计数器中该阀门被同步化闸门 T 取代 从而使 A 计数器消除 了 1 量化误差 这正是它能够获得很高的等精度测量效果的关键所在 但同步化闸门 T 也是未知量 所以需要增加另一个计数器 B 来测量 T 的宽度 通过其计数值 Nb 来计算出 T 的宽度 再根据频率的定义 由公式 fx Na T 就能计算出被测信号的频率 其中 Na 为 计数器 A 的计数值 若将 T Nb fc 代入次式 就可得到与式 3 5 3 6 一样的结果 考虑计数值 Nb 中的 1 量化误差 时钟 fc 的不确定度和同步门 T 的触发误差时 根 据式 3 5 3 6 可推导出测量误差计算公式如下 北京理工大学珠海学院 2010 届本科生毕业设计 9 3 7 20 10 32 0 R c xc x X x x kf f T T T T f f 式 3 7 中 R 20lg Ux Un 为输入被测信号的信噪比 k 为多周期倍率 与式 3 2 式 3 4 相比较 式 3 7 中没有对被测信号计数引起的 1 量化误差 只有 Nb 计数器在同步门 T 期间的 1 计数误差 Tc 而且与被测信号的频率无关 即在整个测 量段上是等精度的 假定输入通道放大器的制作工艺较高 它所产生的噪声可以忽略 这时触发误差仅由被测信号本身质量来决定 在评价测量方法时只应考虑内因 而不考 虑外因 也即不考虑式 3 7 中第三项 以典型数据为例 频率基准的不确定度c fcf 通常为 1010 7 7 10 9 9 假设时钟频率为 10Mhz 则 TC 等于 0 1us 若闸门选为 1s 则 Nb 的 1 计数误差 Tc T 仅为 1010 7 7 由此可见 这时等精度测量的精度在整个频段上均可达 10 10 7 7 量级 北京理工大学珠海学院 2010 届本科生毕业设计 10 4 硬件系统实现 4 4 1 1 硬件系统原理图硬件系统原理图 5V 5V 5V R2 R1 信号输入 宽带放大器 过零比较器 FPGA 5V 5V 5V 图 4 1 硬件电路原理图 当被测信号进入频率计系统 需先经过宽带放大器 在经过比较器输出 TTL 电平 输入通道对 200mV 5V 频率从 1Hz 到 10MHz 的信号进行放大和整形 成为 TTL 电平的标 准数字信号 4 4 1 1 1 1 放大电路的选择放大电路的选择 本系统在设计放大电路比较多种方案来实现 通过不断改进来达到系统要求的性能 对放大电路的要求是把 0 5V 3V 的信号转换为 TTL 电平 频带宽度为 1hz 10Mhz 所以 放大电路应具有较大的输入阻抗 较小的输入电流 较强的抗干扰能力 并有很宽的通 频带 1Hz 10MHz 和输出幅值达到 TTL 电平幅值 有以下几种方案 1 1 高频三极管 高频三极管 三极管是一种控制元件 主要用来控制电流的大小 以共发射极接法为例 信号从 基极输入 从集电极输出 发射极接地 当基极电压 UB有一个微小的变化时 基极电流 IB也会随之有一小的变化 受基极电流 IB的控制 集电极电流 IC会有一个很大的变化 基极电流 IB 越大 集电极电流 IC也越大 反之 基极电流越小 集电极电流也越小 即 基极电流控制集电极电流的变化 但是集电极电流的变化比基极电流的变化大得多 这 就是三极管的放大作用 IC 的变化量与 IB变化量之比叫做三极管的放大倍数 IC IB 表示变化量 采用单级高频三极管 采用单级高频三极管 如图 4 2 所示 三极管工作在放大信号时 首先要进入导通状态 即要先建立合适 北京理工大学珠海学院 2010 届本科生毕业设计 11 的静态工作点 否则放大信号会出现失真 在三极管的集电极与电源之间接一个电阻 可将电流放大转换成电压放大 当基极 电压 UB升高时 IB变大 IC也变大 IC 在集电极电阻 RC的压降也越大 所以三极管集电 极电压 UC会降低 且 UB 越高 UC 就越低 UC UB 图 4 2 单级三极管放大电路 该电路参数达到在 100Hz 到 1 5MHz 频段中电压增益 20DB 而更高频段三极管放大 倍数锐减 显然一级的三极管放大电路增益带宽积满足不了要求 采用多级晶体三极管采用多级晶体三极管 使用射极输出器作为输入级 以提高输入阻抗 中 后级作为放大级 级与级之间 电容耦合 前后级静态工作点相互独立 互不影响 使用截止频率为 1000MHz 的三极管 9018 做放大级 由于放大器本身特性受到结电容影响 在高频时放大倍数下降 为补偿 高频段放大倍数的下降 采用了 RC 高频补偿电路 实验情况如下图 4 3 所示 在图中 由于低频不能通过 103 而通过 220uF 信号 被衰减 而在数百千赫兹以上的高频带 由于电容电抗减小 所以信号不衰减 这就达 到了降低低频增益 使频率特性均匀的目的 北京理工大学珠海学院 2010 届本科生毕业设计 12 图 4 3 三级三极管放大电路 本电路经过多次调试 参数仍不能达到题目的要求 且外围电路比较复杂 各偏置 电阻受各三极管质量参次不齐需逐个调试 因而分立元件不予考虑 下面使用集成电路 进行实验 2 2 采用集成运算放大器 采用集成运算放大器 运算放大器是集成器件 集成电路中大量使用有源器件组成的有源负载 以获得大 电阻 提高放大电路的放大倍数 将其组成电流源 以获得稳定的偏置电流 所以一般 集成运放的放大倍数与分立元件的放大倍数相比大得多 而且其相对精度好 故对称性 能好 特别适宜制作对称性要求高的电路 AD811 是一款宽带放大器 在增益为 10 的情况下 频带宽带可达到 10M 以上 可以 轻松满足系统的要求 图 4 5 增益 带宽 图 4 4 AD811 电路图 北京理工大学珠海学院 2010 届本科生毕业设计 13 4 4 1 1 2 2 整形电路整形电路 1 1 施密特整形电路 施密特整形电路 施密特整形电路具有回滞比较特性 利用多级反相器对放大后的波形进行施密特整 形 使输出变为脉冲波形 由于 CMOS 门电路有一个固定的阀值电平 对于信号脉冲中低于阀值电平的部分 门 电路的输入端不予响应 利用门电路的这一特点 常将其直接用于对脉冲的整形 在实 际电子电路中 集成门电路是其中应用最多的电路之一 如图 4 6 所示 图 4 6 74HC04 原理图 它的用途除了作控制门之外 还用来组成时钟脉冲发生器 由于一块集成门电路中 往往包含几个独立的门电路 在组成一些电路的主要结构之后总有一些多余的部分 可 以利用这些多余的部分来作脉冲的整形 反相以及放大等用途 对于某些要求较高的电 路 直接用门电路整形 有时还不能满足要求 而是将门电路组成一个施密特触发器 利用施密特触发器的滞后特性 使脉冲的整形符合电路的要求 北京理工大学珠海学院 2010 届本科生毕业设计 14 图 4 7 74HC04 串联 本系统使用 74HC04 六反相器 采用串联三个配合前置放大电路输出的反相位 使整 形信号保持不失真状态 而由于采用了 HC 型号 输出转换时间 tTHL tTLH仅为 7ns 能够 满足系统要求 2 2 采用比较器 采用比较器 集成电压比较器比集成运放的开环增益低 失调电压大 共模抑制比小 但其响应 速度快 传输延迟时间短 而且可将模拟信号转换成二值信号 即只有高电平和低电平 两种状态的离散信号 不需外加限幅电路就可直接驱动 TTL CMOS 等集成数字电路 如 图 4 8 所示 图 4 8 比较器电路原理 所以采用比较器可以简单地地完成设计 采用高速比较器 MAX901 可以处理高达 10MHz 的输入信号 MAX901 有低输入失调电压和电压范围灵活等特点 响应时间最大仅 7ns 输出电平可与 TTL 电平相配合 且在后置电路中不需整形电路 大大简化了电路设 计 综合考虑使用比较器作为整形电路 北京理工大学珠海学院 2010 届本科生毕业设计 15 4 4 2 2 FPGAFPGA 控制电路控制电路 4 2 14 2 1 FPGAFPGA 芯片选型芯片选型 FPGA 系统是整个硬件系统的核心 它既是协调整机工作的控制器 又是数据处理器 本设计使用 Altera 公司生产的 Cyclone II 系列的 EP2C5Q208 作为控制核心 如下图 4 9 所示 图 4 9 EP2C5 引脚图 在 Altera 大获成功的第一代 Cyclone 器件系列基础之上 Cyclone II FPGA 从根本 上针对低成本进行设计 为成本敏感的大批量应用提供用户定制特性 Cyclone II FPGA 以低于 ASIC 的成本实现了高性能和低功耗 Cyclone II FPGA 由使用方便的免费 Quartus II 网络版设计软件 多种知识产权 IP 和硬件开发套件提供支持 可以迅速实现低成本 FPGA 方案开发 Cyclone II 器件提供针对低成本应用的用户定制 FPGA 特性 其密度分布范围广 含 有丰富的存储器和嵌入式乘法器 并提供多种封装选择 Cyclone II 器件还支持低成本 应用中常见的各种外部存储器接口和 I O 协议 Cyclone II 接口和协议应用 Altera Cyclone II 采用全铜层 低 K 值 1 2 伏 SRAM 工艺设计 裸片尺寸被尽可能最小的优化 采用 300 毫米晶圆 以 TSMC 成功的 90nm 工艺技术为基础 Cyclone II 器件提供了 4 608 到 68 416 个逻辑单元 LE 并具有一整 套最佳的功能 包括嵌入式 18 比特 x18 比特乘法器 专用外部存储器接口电路 4kbit 嵌 北京理工大学珠海学院 2010 届本科生毕业设计 16 入式存储器块 锁相环 PLL 和高速差分 I O 能力 本设计所选 FPGA 型号 EP2C5 参数如表 4 1 所示 表 4 1 Cyclone II FPGA 简介 器件EP2C5EP2C8EP2C20 EP2C35 EP2C50EP2C70 逻辑单元4 6088 25618 75233 21650 52868 416 M4K RAM 块 4 k 比特 512 校验比特 263652105129250 总比特数119 808 165 888 239 616 483 840 594 432 1 152 000 嵌入式 18x18 乘法器1318263586150 PLLs224444 最多用户 I O 管脚142182315475450622 差分通道5877132205193262 4 2 24 2 2 FPGAFPGA 最小系统搭建最小系统搭建 1 1 电源模块电源模块 in 3 gnd 1 out 2 U4 LM1085 3 3 104 C34 gnd 1 out 2 in 3 U5 1117 1 2 C33 C 22UF 104 C36 104 C37 VCC 3 3V C32 C 22UF104 C35 VCC 1 2 D2 D FG 1k R15 VCC 3 3V 100UH L1 h 100UH L2h VCC 1 2 104 C6 10UF C7 104 C8 102 C9 VCC PLLA PLL 1GND 1 2 p5 jp 1 2 3 U6 POWERDC VCC IN VCC IN 470uf C42 104 C43 VCC IN VCC 5V S1 S 图 4 10 电源模块 3 3V 电源直接由 5V 输入电源经 LM1085 稳压芯片并经滤波得到 用于给 FPGA 所以 IO 口 外围存储电路 串行配置器件 复位电路等供电 1 2V 电源由 LM1117 1 2 稳压 并经滤波得到 给 FPGA 内核已经 FPGA 里面集成的 PLL 供电 北京理工大学珠海学院 2010 届本科生毕业设计 17 2 2 存储电路 存储电路 a SDRAM 存储器 SDRAM 通常用于需要大量存储并且有成本要求的系统 SDRAM 比较便宜 但需要实 现刷新操作 行列管理 不同延时和命令序列等逻辑 Nios II SDRAM 控制器完成了 SDRAM 的所有逻辑 可实现 Avalon 总线接口 透明的 SDRAM 初始化处理 刷新和其他 SDRAM 需要的操作 SDRAM 与 FPGA 相连 SDRAM 控制器 IP 核 允许 Nios II 处理器将 SDRAM 器件作为大容量线性可寻址存储器使用 因此用户只需要通过简单的操作就可以像 使用 SRAM 一样使用 SDARM 本设计使用的是 32M 的 K4S561632H 电路图如图 4 11 所示 VDD 1 DQ0 2 VDDQ 3 DQ1 4 DQ2 5 VSSQ 6 DQ3 7 DQ4 8 VDDQ 9 DQ5 10 DQ6 11 VSSQ 12 DQ7 13 VDD 14 DQML 15 WE 16 CAS 17 RAS 18 CS 19 BA0 20 BA1 21 A10 22 A0 23 A1 24 A2 25 A3 26 VDD 27 VSS 28 A4 29 A5 30 A6 31 A7 32 A8 33 A9 34 A11 35 A12 36 CKE 37 CLK 38 DQMH 39 NC 40 VSS 41 DQ8 42 VDDQ 43 DQ9 44 DQ10 45 VSSQ 46 DQ11 47 DQ12 48 VDDQ 49 DQ13 50 DQ14 51 VSSQ 52 DQ15 53 VSS 54 U2 K4S641632H VCC 3 3V B2 1 B2 2 B2 3 B2 4 B2 5 B2 6 B2 7 B2 8 B2 9 B2 10 B2 11 B2 12 B2 13 B2 14 B2 15 B2 16 B2 17 B2 18 B2 19 B2 20 B2 21 B2 22 B2 23 B2 24 B2 25B2 26 B2 27 B2 28 B2 29 B2 30 B2 31 B2 32 B2 34 B2 35 SDRAM DQH SDRAM A11 SDRAM A12 SDRAM CKE SDRAM CLK 1k R3 1k R4 1k R5 1k R6 1k R8 VCC 3 3V C1 C 22UF 104 C2 104 C3 104 C4 104 C5 VCC 3 3V 图 4 11 SDRAM 模块 b 串行配置存储器 EPCS Cyclone 系列 FPGA 基于 SRAM 查找表 在器件上电时配置数据必须重新加载 因此 北京理工大学珠海学院 2010 届本科生毕业设计 18 必须使用掉电保持的器件来保存配置数据 然后在 FPGA 上电时将配置数据加载到 FPGA 中 Altera 串行配置器件是具有串行接口的 Flash 器件 可存储 Cyclone Cyclone II 以及 Stratix II 系列器件的配置数据 并在上电或者重新配置时将配置数据装入 FPGA 器件 本设计选用的是 EPCS4 拥有 4M 的存储空间足以满足中小型设计的要求 电路如 图 4 12 所示 TDO 16 TMS 17 TCK 18 TDI 19 DATA0 20 DCLK 21 nCE 22 nCONFIG 26 nSTATUS 121 CONF DONE 123 MSEL1 125 MSEL0 126 U1C EP2C8Q208C8N 12 34 56 78 910 JATG Header 5X2 12 34 56 78 910 ASP Header 5X2 nCS 1 DATA 2 VCC 3 GND 4 ASDI 5 DCLK 6 VCC 7 VCC 8 U3 EPCS4SI8 DATAO DATAO DATAO nCE nCETMS TMS TD0 TD0 TD1 TD1 TCK TCK VCC 3 3V VCC 3 3V 104 C15 104 C16 DCLK DCLK nCONFIG CONF DONE DCLK 1k R1 1k R2 1k R7 VCC 3 3V 1k R12 1K R10 10K R11 VCC 3 3V 10K R9 VCC 3 3V VCC 3 3V ASD0 ASD0 nCS nCS 图 4 12 EPCS 配置电路 3 配置电路 a 主动配置 ASP 在脱机运行情况下 采用串行配置器件 EPCS 进行主动配置 AS 主动串行配置模式 AS 是将配置数据存储在串行配置器件 EPCS 中 在每次系统上电时 FPGA 会自动使用 EPCS 中 的配置数据进行配置 在脱机运行之前 要实现将配置数据通过编程器写入 EPCS 中 ASP 电路图如图 b JATG 配置 调试时 使用运行在计算机上的 quartus ii 软件 用过 JATG 电缆连接到 JATG 接口直接 下载数据到 FPGA 用户随时可以进行 JATG 模式的配置 但要注意 JTAG 模式是直接对 FPGA 中 SRAM 单元编程掉电后丢失 因此重新上电要重新下载 电路图如图 4 其他电路 a 显示电路 北京理工大学珠海学院 2010 届本科生毕业设计 19 人机界面采用的是 12864LCD 液晶 人机界面亲和力好 b 晶振电路 晶振选用的是有源晶振 50Mhz 电路图如图 4 13 所示 CLK0 LVDSCLK0p INPUT 23 CLK1 LVDSCLK0n INPUT 24 CLK2 LVDSCLK1p INPUT 27 CLK3 LVDSCLK1n INPUT 28 CLK7 LVDSCLK3n INPUT 129 CLK6 LVDSCLK3p INPUT 130 CLK5 LVDSCLK2n INPUT 131 CLK4 LVDSCLK2p INPUT 132 U1E EP2C8Q208C8N 1 1 2 2 3 3 4 4 P2 50M 104 C30 104 C31 VCC 3 3V REST S 1k R13 104 C29 VCC 3 3V 100UH L3 h 20 R14 CLK2 CLK3 CLK4 CLK5 CLK6 CLK7 图 4 13 晶振电路 4 4 3 3 FPGAFPGA 内部模块内部模块 4 3 14 3 1 系统总体框图系统总体框图 如图 4 14 FPGA 系统内部设计由同步预置阀门 频率计数器 时间计数器 PLL NIOS 软核组成 波形原理图如图 4 15 所示 频率计数器 时间计数器 分频为1hz 同步预置阀门 阀门 NIOS软核cpu FPGA PLL 50M 晶振 被测信号输入f in 50Mhz 图 4 14 系统框图 北京理工大学珠海学院 2010 届本科生毕业设计 20 预置闸门脉冲P 输入信号放 大整形后fx 同步后的闸门U 计数器A计数Na 时钟信号Fc 计数器B的计 数Nb T 图 4 15 波形原理图图 4 3 24 3 2 同步预置模块同步预置模块 本设计取样为自触发 周期为 1s 即每个 1s 从信号输入端口读取脉冲 阀门时间也 是 1s Verilog 程序如下 always posedge clk or negedge reset begin if reset cnt 0 else if cnt 26 d100 为仿真方便假设计数 100 为 1s 实际程序为 50000000 begin cnt 0 clk 1hz clk 1hz end else cnt cnt 1 b1 end always posedge f in or negedge reset posedge f in 同步化闸门脉冲 begin if reset u 0 else if clk 1hz u 1 u 1 时启动预设闸门 北京理工大学珠海学院 2010 届本科生毕业设计 21 else u 0 end 4 3 34 3 3 频率计数模块 时间计数模块频率计数模块 时间计数模块 always posedge f in or negedge reset 同步 f in 上升沿 begin if reset begin fcounter 0 end else if u fcounter fcounter 1 b1 当 u 1 允许计数 且 f in 上升沿触发 else if clear fcounter 0 end always posedge clk or negedge reset begin if reset begin tcounter 0 end else if u tcounter tcounter 1 b1 当 u 1 允许计数 时间计数器计数 else if clear tcounter 0 end 4 3 44 3 4 数据输出模块 计数器清零模块数据输出模块 计数器清零模块 always negedge u or negedge reset begin if reset begin fout 0 tout 0 end else if u begin 北京理工大学珠海学院 2010 届本科生毕业设计 22 fout fcounter tout tcounter end end reg clear buff always posedge clk or negedge reset begin if reset begin clear 0 clear buff 0 end else if u begin clear buff 1 b1 clear buff 延时一个 clk 输出清零命令 clear clear buff end else begin clear buff 0 clear 0 end end 系统仿真图如图 4 16 所示 图 4 16 仿真波形图 北京理工大学珠海学院 2010 届本科生毕业设计 23 5 5 软件系统实现软件系统实现 5 5 1 1 主程序框图主程序框图 初始化 读取计数器输出 计算频率 显示 图 5 1 软件流程图 本设计的主要工作已经在 FPGA 里完成 NIOS 只是读取 FPGA 发送过来的两个数据 一个是频率计数器的值 一个是时间计数器的值 然后再通过计算得出信号的频率 5 5 2 2 NiosNios IIII 软核软核 现今 可将 SOPC 视为是基于 FPGA 解决方案的 SOC 与 ASIC 的 SOC 解决方案相 比 SOPC 系统及其开发技术具有更多特色 也有多种途径可构成 SOPC 方案 NIOS 系列软核是目前最有代表性的处理器 用户可随意配置和构建 32 位嵌入式处 理器 采用 Avalon 总线结构通信接口 包含有 JTAG 调试内核 还可以通过 SOPC builder 对 Nios ii 及其外围进行构建 是该嵌入式系统在硬件结构 功能特点 资源占用 等方面全面满足用户系统设计的要求 NIOS II 核在同一个 FPGA 中植入的数量没有限制 只要 FPGA 资源足够即可 NIOS II 系列 32 位 RISC 嵌入式处理器具有超过 200DMIP 的性能 在低成本 FPGA 中实现成本只有 35 美分 由于处理器是软核形式 所以具有很大的灵活性 可以在多种 系统配置中选择满足成本和功能的要求 NIOS II 包括三种内核 快速的 nios ii f 经济的 nios ii e 标准的 nios ii s 内核 每种软核可以根据需要由 quartus 软件 SOPC Builder 创建 任意添加自己需要的外 设 IP 核 使用非常方便 北京理工大学珠海学院 2010 届本科生毕业设计 24 5 5 3 3 NIOSNIOS 外部接口与内部介绍外部接口与内部介绍 5 5 3 3 1 1 niosnios 软核原理框图软核原理框图 如图 5 2 所示 clk reset n in port to the fin 31 0 in port to the tin 31 0 out port from the en out port from the lcd date 7 0 out port from the led date 7 0 out port from the rs out port from the rw zs addr from the sdram 11 0 zs ba from the sdram 1 0 zs cas n from the sdram zs cke from the sdram zs cs n from the sdram zs dqm from the sdram 1 0 zs ras n from the sdram zs we n from the sdram zs dq to and from the sdram 15 0 f cpu inst 图 5 2 CPU 软核 5 5 3 3 2 2 niosnios 软核外部接口软核外部接口 In port to the fin 31 0 频率计数器值输入端口 In port to the tin 31 0 时间计数器值输入端口 Out put from the en 12864 en端口输出 Out put from the lcd date 7 0 12864数据端口输出 Out put from the rs 液晶12864 RS输出端口 Out put from the rw 液晶12864 RW输出端口 Zs开头的端口为SDRAM端口 NIOS ii 已经把SDRAM控制设置为自动控制 所以只需要在 北京理工大学珠海学院 2010 届本科生毕业设计 25 端口连接好即可 北京理工大学珠海学院 2010 届本科生毕业设计 26 6 6 遇到问题 分析问题 解决问题遇到问题 分析问题 解决问题

温馨提示

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

评论

0/150

提交评论