




已阅读5页,还剩31页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
简易手持式智能示波表的系统设计简易手持式智能示波表的系统设计 摘要 摘要 可编程片上系统 System On a Programmable Chip 设计是一个崭新的嵌入 式系统设计方向 它试图将尽可能大而完整的电子系统在单一 FPGA 芯片中实 现 与此同时 高性能 低功耗 微型化是现代数字示波器发展的一个方向 SOPC 技术的出现为数字示波器的这种发展方向带来了一种新的开发技术 本文介绍了一种基于 FPGA 的手持式数字存储示波表的设计方案 在这种 方案中 使用了在 CycloneII 系列芯片 EP2C5Q208C8 中嵌入 Nios II CPU 软核作 为控制核心 并用 FPGA 芯片中剩余的其他可编程逻辑资源构成该嵌入式系统 的 外围器件控制器 借助于 Avalon 总线 对外围 SDRAM FLASH ADC LCD 显示器 按键等器件进行控制 形成数字示波表的数字核心模块 另外本设计 配以模拟通道电路对前端采集的模拟信号进行处理 采用 MAXIM 公司的 MAX114 进行高速数据采集 使用 320 240 液晶屏做为终端显示设备 由此组 成了一个完整的数字示波表 最后 通过实际硬件测试 本系统不仅完成了设计目标 而且保证了系统 的可扩展性和升级性 验证了本系统方案设计的正确性和基于 Nios II 处理器 实现可编程片上系统的可行性 关键词 关键词 SOPC 示波表 FPGA Nios II Summary table handheld oscilloscope Intelligent Design Abstract Programmable System on Chip System On a Programmable Chip design is a new embedded system design direction as large as possible while it tries to complete electronic system is implemented in a single FPGA chip At the same time high performance low power consumption miniaturization is the development of a modern digital oscilloscope direction SOPC technology presents a digital oscilloscope that has brought a new direction of development of technology This paper introduces a FPGA based handheld digital storage oscilloscope table design In this scenario use the chips in the CycloneII EP2C5Q208C8 embedded soft core Nios II CPU as the control and use the FPGA chip with the rest of programmable logic resources of the embedded system peripheral device controller by means of Avalon bus of external SDRAM FLASH ADC LCD display buttons etc to control the device to form a digital oscilloscope number of core modules table also accompanied by the design on the front end analog circuit the analog signal processing use of MAXIM s MAX114 high speed data acquisition using 320 240 LCD display as a terminal display device thereby to form a complete digital oscillograph Finally the actual hardware testing the system not only completed the design goals and ensure the system scalability and upgradeability to verify the accuracy of the system design and the Nios II processor based Programmable System on Chip feasibility Keywords SOPC oscilloscope FPGA Nios II 目目 录录 1 1 绪论绪论 1 1 1 示波器简介 1 1 1 1 示波器的基本工作原理 1 1 1 2 数字示波器的优势及发展现状 1 1 1 3 走在研究前沿的数字示波表 2 1 2FPGA 可编程逻辑器件 2 1 2 1 FPGA 可编程逻辑器件简介 2 1 2 2 FPGA 与 SOPC 技术 2 1 3NIOS II 软核处理器系统 3 1 3 1 NIOS II 结构及特点 3 1 3 2 NIOSII 处理器总线 3 1 4 课题研究内容 4 1 4 1 本文主要工作 4 1 4 2 课题意义与前景 4 2 2 系统整体设计方案论证与系统整体设计方案论证与分分析析 4 2 1 系统设计功能目标 4 2 2 系统设计方案分析 4 3 3 硬件电硬件电路路设计设计 5 3 1 前端数据处理及采集部分电路设计 5 3 1 1 信号调理电路 5 3 1 2 信号整形电路 6 3 1 3 ADC 转换电路 7 3 2FPGA 硬件电路 7 3 3FPGA 内部逻辑控制电路 8 3 3 1 FIFO 存储器模块 8 3 3 2 PLL 锁相环倍频模块 9 3 3 3 采集频率数控模块 10 3 3 4 等精度测频模块 10 3 4NIOS II CPU 及其接口电路 11 3 4 1 NIOS II CPU 电路 11 3 4 2 FLASH 接口电路 12 3 4 3 SDRAM 接口电路 12 3 4 4 LCD 液晶接口电路 13 3 4 5 键盘接口电路 14 3 5 电源模块设计 15 4 4 软件设软件设计计 16 4 1 可编程器件的程序设计 16 4 1 1 QUARTUS II 设计软件 16 4 1 2 VERILOG HDL 语言 16 4 1 3 等精度测频模块 17 4 1 4 采集频率数控模块 18 4 2NIOS II CPU 程序设计 20 4 2 1 NIOS II IDE 设计软件 20 4 2 2 系统整体程序设计 21 4 2 3 数据采集处理程序设计 21 4 2 4 液晶显示部分程序设计 21 4 2 5 键盘扫描部分程序设计 22 5 5 系统性能测系统性能测试试及分析及分析 23 5 1 测试仪器 23 5 2 功能测试 23 5 3 数据测试 24 5 4 测试结果分析 24 6 6 结束语结束语 25 参考文献参考文献 26 附附 录录 27 致致 谢谢 30 第 1 页 1 1 绪论绪论 1 1 1 1示波器简介示波器简介 示波器是一种用途十分广泛的电子测量仪器 它能把肉眼看不见的电信号 变换成看得见的图象 便于人们研究各种电现象的变化过程 在现代电子测量 仪器仪表领域中 示波器是最常使用的仪器之一 1 1 1 1 1 1 示波器的基本工作原理示波器的基本工作原理 电子设备可以划分为两类 模拟设备和数字设备 模拟设备的电压变化连 续 而数字设备处理的是代表电压采样的离散二元码 同样 示波器也能分为 模拟和数字类型 模拟示波器工作方式是直接测量信号电压 并通过从左到右穿过示波器屏 幕的电子束在垂直方向描绘电压 但模拟示波器只能对波形进行实时显示 并 且不能够进行存储和调出 这在某些测量环境下并不利于测量工作的进行 与模拟示波器不同 数字示波器通过模数转换器 ADC 把被测电压转换 为数字信息 它捕获的是波形的一系列样值 并对样值进行存储 存储限度是 判断累计的样值是否能描绘出波形为止 随后 数字示波器重构波形 将波形 显示在屏幕上 7 图图 1 1 数字存储示波器顺序处理体系结构数字存储示波器顺序处理体系结构 1 1 1 1 2 2 数字示波器的优势及发展现状数字示波器的优势及发展现状 数字存储示波器是 20 世纪 70 年代初发展起来的一种新型示波器 示波器 可以方便地实现对模拟信号波形进行长期存储并能利用机内微处理器系统对存 储的信号做进一步的处理 相对于模拟示波器 它具有以下几个显著的优点 无闪烁地观察频率很低的信号 长时间地保存信号 具有先进的触发功能 测 量精度高 具有强大的处理能力 具有数字信号的输入 输出能力等等 6 随着液晶显示屏和可编程器件的发展和广泛使用 数字示波器也将引用这 些技术 可编程数字存储示波器将成为趋势 它采用了先进的液晶显示技术和 第 2 页 可编 程逻辑器件 FPGA 可以根据需要随时对功能升级 另外 数字示波器的体积 也会减小很多 像手持式数字示波器 可以方便携带 未来数字示波器将会得 到更进一步的发展 能够进行实时显示 存储和分析复杂的信号 利用三维信 息 振幅 时间性 及多层次辉度显示幅度分量显示的频率 充分展现信号的 特征 1 1 1 1 3 3 走在研究前沿的数字示波表走在研究前沿的数字示波表 数字示波表是数字示波器的一种 但是相对于普通的示波器 其优点表现 在具有普通示波器的基本功能的基础上 大大缩小了整体体积 便于使用者操 作和携带 对实际测量极为方便 目前数字示波表主要由高性能微处理器 高速 A D 及数据处理电路组成 被测信号经过输入通道进行信号调理 然后经过 A D 转换 存入 FIFO 供微 处理器进行处理 微处理器根据菜单输入 执行相应算法 满足用户的测量需 求 8 最近几年兴起的 FPGA 芯片采用全新的硬件结构 可以在内部实现数字电 路 包括 FIFO 存储器 DSP 高速处理内核 Nios II 软核处理器等 这对数字 示波表的硬件电路设计大大提供了方便 在最后设计的系统硬件中缩小了体积 并且还保证了系统的可升级和扩展性 1 1 2 2FPGAFPGA 可编程逻辑器件可编程逻辑器件 1 1 2 2 1 1 FPGAFPGA 可编程逻辑器件简介可编程逻辑器件简介 FPGA 是英文 Field Programmable Gate Array 的缩写 即现场可编程门阵 列 它是作为专用集成电路 ASIC 领域中的一种半定制电路而出现的 既解决 了定制电路的不足 又克服了原有可编程器件门电路数有限的缺点 5 其主要 特点就是完全由用户通过软件进行配置和编程 从而完成某种特定的功能 且 可以反复擦写 在修改和升级时 不需额外地改变 PCB 电路板 只是在计算机 上修改和更新程序 使硬件设计工作成为软件开发工作 缩短了系统设计的周 期 提高了实现的灵活性并降低了成本 1 1 2 2 2 2 FPGAFPGA 与与 SOPCSOPC 技术技术 SOPC 即 System on a Programmable Chip 中文全称是可编程片上系统 可 第 3 页 编程片上系统 SOPC 是一种特殊的嵌入式系统 首先它是片上系统 SOC 即由单个芯片完成整个系统的主要逻辑功能 其次 它是可编程系统 具有灵 活的设计方式 可裁减 可扩充 可升级 并具备软硬件在系统可编程的功能 3 SOPC 技术与 FPGA 结合起来的应用方向主要包括 IP 硬核嵌入 IP 软核嵌 入以及 HardCopy 技术应用三个方面 本文中的设计就属于基于 FPGA 嵌入 IP 软核的应用 在 FPGA 中嵌入 Nios II 软核 作为本设计的主控核心 1 1 3 3NiosNios IIII 软核处理器系统软核处理器系统 1 1 3 3 1 1 NiosNios IIII 结构及特点结构及特点 Nios II 系列软核处理器是 Altera 的第二代 FPGA 嵌入式处理器 其性能超 过 200DMIPS Nios II 是通用的 32 位 RISC 软核处理器 是 Altera 公司特有的 基于通用 FPGA 架构的软 CPU 内核 它支持 1 完全的 32 位指令集 数据总线和地址空间 2 32 位通用目的寄存器 3 32 个外部中断源 4 单指令 32 32 位乘和除指令得到 32 位结果 5 计算 64 位和 128 位乘积专用指令集 6 对多种片上外设进行访问 提供片外储理器和外设接口 7 具有超过 150DMIPS 的性能 使用 Nios II 处理器具有如下优势 1 提高系统性能 2 延长产品的生命周期 3 功能强大 易用的开发工具 1 1 3 3 2 2 NiosIINiosII 处理器总线处理器总线 Nios II 系统的所有外设都是通过 Avalon 总线与 Nios II CPU 相接的 Avalon 总线是一种协议较为简单但功能很强大的片内总线 Nios II CPU 通过 Avalon 总线与外界进行数据交换 Avalon 总线的特点有 1 所有外设接口与 Avalon 总线时钟同步 不需要复杂的握手 应答机制 第 4 页 2 所有的信号都是高电平或低电平有效 便于信号在总线中高速传输 3 为了方便外设设计 地址 数据和控制信号使用分离的 专用的端 口 此外 Avalon 总线还包括许多其他特性和约定 用以支持 SOPC Builder 软 件自动生成系统 总线和外设 包括 最大 4GB 的地址空间 内置地址译码 多主设备总线结构 采用向导帮助用户配置系统 动态地址对齐等 1 1 4 4课题研究内容课题研究内容 1 1 4 4 1 1 本文主要工作本文主要工作 本文在 FPGA 内部嵌入 IP Intellectual Property 软核的 SOPC 设计并实 现了一款手持式数字示波表 显示采用 320 240 液晶 与现有数字示波器相比 本设计在保持其原有基本功能的基础上 大大缩小了硬件体积 并且能够根据 需求进行扩展升级 1 1 4 4 2 2 课题意义与前景课题意义与前景 本课题成果可以作为通用测量仪器 广泛用于电子研发 维修及调试等领 域 同时也可用于教育及职业学习 如 EDA 实验室的建设 电子设计的教学等 另外 本设计中等效采样部分采用 Verilog HDL 语言编写 与目前一般采 用步进延迟电路的方案不尽相同 与目前等效采样部分的实现方案 具有一定 的超前意义 2 2 系统整体设计方案论证与分析系统整体设计方案论证与分析 2 2 1 1系统设计功能目标系统设计功能目标 本系统要求能对较宽幅值范围和频率范围的被测号进行较高精度的模数转 换并存储 再经过数据处理 送到液晶显示 考虑到实际需求和实现难度 确定了本系统的主要技术参数如下 带宽 10MHZ 信号输入范围 20mv 20v 通道 单通道 垂直灵敏度 20mV div 0 2V div 2 0V div 第 5 页 水平灵敏度 200ns div 50ms div 输入阻抗 1M 欧 工作模式 单次 连续 存储 调出 显示 波形显示区域 200 200 点 分为 20 格 20 格 2 2 2 2系统设计方案分析系统设计方案分析 本系统是采用 FPGA Nios II 软核处理器的架构实现的 利用 FPGA 构建出 频率计 FIFO 存储器及控制器 数控分频器 频率锁相环等模块 然后将采集 的频率 幅度等数据通过 Avalon 总线传输给 Nios II 软核处理器 经过处理之 后 在液晶屏幕上显示 整体硬件框图如图 2 所示 系统的工作流程为 输入信号首先经过初步调理 实现阻抗匹配 然后分 为两路 一路经信号整形电路后转换成相等频率的方波信号供等精度频率计进 行频率计数 这部分完成了频率参数的测量 另外一路信号经过多路选择开关 后进入不同的信号进阶调理电路 处理成 ADC 采集电压范围内的信号 以便于 ADC 完成对信号幅度的采集 因为本系统需要完成智能采集的功能 即自动根据输入信号的频率选择合 适频率的采集信号对输入信号进行采集 然后显示在液晶屏幕上 这一功能的 实现机制是 Nios II 根据等精度频率计计算得到输入波形的频率 然后指定相 应的信号给数控分频器 然后控制采样频率模块产生相应频率的采集波形给 ADC 转换器 完成对输入波形的智能采集 第 6 页 图图 2 2 整体硬件框图整体硬件框图 3 3 硬件电路设计硬件电路设计 3 3 1 1前端数据处理及采集部分电路设计前端数据处理及采集部分电路设计 此部分硬件电路主要包括信号调理电路 信号整形电路 ADC 转换电路以 及 ADC 与 FPGA 的接口电路 3 3 1 1 1 1 信号调理电路信号调理电路 信号调理电路的主要作用是配合探头不失真地探测 衰减或放大信号 并 转换成 ADC 需要的信号 同时实现信号的交直流耦合选择和信号偏移等 9 本设计中的信号调理电路为了保证最终输入 ADC 的信号是在 ADC 转换器的 采样范围内 因此针对不同幅度的信号 分为三路进行调理的 首先信号进入 阻抗匹配电路 然后手动选择多路开关 进行处理通道选择 第一路为信号衰 减 0 25 倍 信号输入范围为 2V 20V 第二路为信号放大 2 5 倍 信号输入范 围为 200mV 2V 第三路为信号放大 62 5 倍 考虑一级电路难以实现 故采用 两级分级放大 第一级放大 6 25 倍 另外一级放大 10 倍 信号输入范围是 20mV 200mV 图 3 为信号调理原理图 图中所采用运放为 TI 公司的 OPA690 13 该芯片 是一个具有电压反馈特性 宽工作电压 高输出电流的宽带放大器 其芯片特 第 7 页 性能够很好的满足本设计信号处理电路中所需放大器的需求 图图 3 3 信号调理原理图信号调理原理图 3 3 1 1 2 2 信号整形电路信号整形电路 输入信号经过比例放大后 经过比较器可以将任何信号变换成标准方波波 形 然后送入 FPGA 内部的测频模块测量信号的频率 本系统中采用 TL3016 高 速比较器来实现 通过电位器 R24 调节比较电压 可以实现非过零比较 经过 整形后的输出电平与 TTL CMOS 电平兼容 可以直接送至 FPGA 内部进行频率测 量 图 4 为信号整形电路 第 8 页 图图 4 4 信号整形电路图信号整形电路图 3 3 1 1 3 3 ADCADC 转换电路转换电路 ADC 转换器采用 MAXIM 公司的 MAX114 12 它是具有 4 路采集通道 转换数据长度 8 bit 采集速率可达 1Msps 的低功耗 ADC 芯片 由于 MAX114 具有 4 路通道 这样可以在以后的需求中进行多路采集 具有可扩展的升级性 能 MAX114 的最高转换速率是 1Msps 我们在读取转换完成后的数据时需要 给 RD 引脚一个低电平 所以我们需要控制读取信号的频率在 1Msps 以下 则 可以完全无误的读取转换后的数字信号 ADC 转换电路图如图 5 所示 图中的 R22 是一个电位器 可以控制基准电压 即 ADC 转换的比较电压 图图 5 5 MAX114MAX114 ADCADC 采集电路采集电路 3 3 2 2FPGAFPGA 硬件电路硬件电路 本设计中采用的 FPGA 芯片为 CycloneII 系列芯片 EP2C5Q208C8 14 该芯 片共有 208 个引脚 内部 LE 数目为 4608 个 RAM 共有 119808 位 且内部含有 2 个硬件 PLL 和 13 个硬件乘法器 这些硬件需求已经能够大大的满足本设计的 需求 并且在完成本设计的基础上 仍然具有相当可观的可升级和扩展性 附录一为 FPGA 硬件电路图 该电路图主要包括 FPGA 芯片电路 EPCS 串行存储器的电路 时钟电路 JTAG 接口电路以及复位电路五个部分 这五个部分组成了 FPGA 的最小系统 FPGA 只有具备这五个电路 才能够进行基本的工作 第 9 页 EPCS 存储器是对 FPGA 内部电路进行存储的的存储器 由于 FPGA 基于 SDRAM 结构 掉电之后不能够对内部电路进行保存 所以需要一个 Flash 存储 器进行存储 本设计中选取 EPCS1 其具有 1M 的存储空间 时钟电路部分使用了 50M 的有源晶振 其在电压的作用下 能够输出非常 准确的频率时钟 经由 FPGA 内部的 PLL 电路 可以使系统工作时钟高达 200MHz JTAG 接口电路主要包括 JTAG 接口和 AS 下载接口 JTAG 主要用于仿真程序 下载 便于系统调试 AS 接口用于固化程序至 EPCS 芯片 复位电路采用芯片 MAX811T 对 3 3V 系统电源电压进行监控 当供电电压超 过或低于芯片内部阈值时 芯片将执行强制复位 这可以有效的防止电源电压 过高时烧毁芯片和电源电压过低时而导致 FPGA 芯片无法工作等情况的发生 3 3 3 3FPGAFPGA 内部逻辑控制电路内部逻辑控制电路 本系统中在 FPGA 内部实现的逻辑控制电路有 FIFO 存储器模块 PLL 锁 相环倍频模块 采集波形频率数控模块 等精度测频模块 Nios II CPU 电路模 块 3 3 3 3 1 1 FIFOFIFO 存储器模块存储器模块 本设计中采用了 Altera 公司提供的硬件 FIFO 来实现对数据的缓冲 FIFO 存储器是一个先入先出的双口缓冲器 FIFO 主要实现了 ADC 与 Nios II 处理器 之间的数据缓冲问题 由于其读写可以异步 很好的解决了两者速度不兼容的 问题 由 FPGA 内部生成的 FIFO 模块如图 6 所示 图图 6 6 FIFOFIFO 模块电路模块电路 在此模块中 端口 data 7 0 为 ADC 数据输入端 q 7 0 为存储数据输出端 第 10 页 wrclk rdclk 分别为写 读时钟 wrfull 为 FIFO 写满信号 当 FIFO 存储满时 该信号置位 rdempty 为读空信号 当 FIFO 内容被读空时 该位置位 aclr 为 异步清零 使能该位可以清空 FIFO 内部所有数据 3 3 3 3 2 2 PLLPLL 锁相环倍频模块锁相环倍频模块 本模块采用 FPGA 硬件 IP 进行调用生成 该模块的主要功能是可以对源输 入时钟进行时钟倍频和相位变化 产生多个系统需要的时钟 4 图图 7 7 PLLPLL 模块电路模块电路 此模块中 inclk0 是外部输入时钟 为 50M Hz 经过 PLL 后产生三路倍频 信号 c0 不做更改 驱动 Nios II CPU 作为 CPU 的工作时钟 c1 经过 72 度相位偏移 用于 SDRAM 的时钟信号 c2 经过 4 倍倍频 为 200M Hz 用于等效采样模块中的 t 的产生 3 3 3 3 3 3 采集频率数控模块采集频率数控模块 此模块根据需要 主要分为两个部分 即实时采样分频模块和等效采样模 块 在 FPGA 中实现后的模块图如图 8 所示 第 11 页 图图 8 8 频率数控模块电路频率数控模块电路 在此模块电路中 tdiv 模块即为实时采样分频模块 equ sa clk 为等效采样 模块 tdiv data 为数控传递的分频信号 等效采样信号 当系统采集被采集信号 的频率大于 1M 时 即采用等效采样方式 否则采用实时采样模式 根据分频 信号对时钟进行合适的分频后 输出给 ADC 的采集端 系统需要确保采样时钟 频率是被采样信号频率的 10 20 倍 这样在采集回来一个波形周期的采样点数 在合理的显示范围内 3 3 3 3 4 4 等精度测频模块等精度测频模块 为了准确测量信号的频率 系统采用等精度测频模块 将产生的数据送入 CPU 中进行处理 然后送出显示 整个频率的测试范围为 0 1HZ 50MHz 测 频全域相对误差恒为百万分之一 图 9 等精度测频模块 RTL 转换图 将信号经过整形电路得到待测信号 Fx 送入 TCLK 输入端 采用 50MHz 标准信号 Fs 从 BZH 时钟输入端输入 在一定闸门时间内 计算出被测信号的 计数值 Nx 和对标准频率信号的计数值 Ns 计算公式为 3 1 Ns Fs Nx Fx 测得的频率为 3 2Nx Ns Fs Fx 在对标准信号和被测信号进行采集时 模块采用对波形的上升沿进行敏感 计数 即当信号波形的上升沿来到时 模块会自动为相应的寄存器的值加一 寄存器长度为 32 位 加以控制模块计数时间 确保寄存器计数值不会溢出 第 12 页 图图 9 9 等精度测频模块等精度测频模块 RTLRTL 转换图转换图 3 3 4 4NiosNios IIII CPUCPU 及其接口电路及其接口电路 Nios II CPU 电路是通过 SOPC Builder 在 FPGA 内部定制而成的 在 CPU 的接口模块上 本系统定制了 Flash 接口 SDRAM 接口 EPCS 接口 LCD 液 晶接口 按键接口 JTAG 模块和其他一些需要和 FPGA 内部逻辑控制模块进 行通信的数据端口 3 3 4 4 1 1 NiosNios IIII CPUCPU 电路电路 本设计采用 Altera 公司提供的标准 32 位 Nios II 软核 Nios II 软核作为系 统的流程控制中心 可以通过 SOPC Builder 对 Nios II 进行定制 极大地减少 系统的使用资源 由于系统中有多个模块需要与 Nios II 交互 因此需要在 CPU 中扩充 Avalon 总线接口 达到将自定义模块挂入 Nios II 的目的 系统中挂入 Avalon 总线上的模块有 FIFO 控制模块 按键采集模块 液晶屏驱动模块 FLASH SDRAM 等设备以及各种参数传送模块 Nios II CPU 通过 Avalon 总 线与这些模块进行数据通信 完成对整个系统的调控 最终 Nios II CPU 定制模 块附录二所示 第 13 页 3 3 4 4 2 2 FlashFlash 接口电路接口电路 由于 FPGA 内部存储空间有限 因此需要在外部扩展一片 FLASH 存储器 来存储程序 支持 Nios II 软核的程序设计 本设计中采用 JS28F640 其存储空 间为 64M 已完全能够满足本设计的需要 通过 SOPC Builder 在内部加入 Flash Memory 控制器 完成程序设计后可以在使用 Nios II IDE 里面的 Flash Programmer 将程序下载至 Flash 中 当系统每次上电时 会自动从 Flash 中读取 程序 图 10 是 FLASH 芯片的硬件电路图 图图 1010 FlashFlash 芯片硬件电路图芯片硬件电路图 3 3 4 4 3 3 SDRAMSDRAM 接口电路接口电路 本系统在运行时需要对大量的数据进行处理 如果放在 Flash 中进行处理 在运算速度上会严重影响系统整体性能 需要在运算速度比较快的 RAM 中进 行 而仅仅靠 FPGA 内部的 RAM 是远远不够的 处于设计需求考虑 本设计 采用 HY57V641620 作为外部扩展的 SDRAM 该芯片具有 8M 的存储空间 已能够 满足设计需求 通过在 SOPC Builder 中定制 SDRAM 控制器 并挂接在 Avalon 总线上 图 11 为 SDRAM 芯片的硬件连接图 第 14 页 图图 1111 SDRAMSDRAM 硬件电路图硬件电路图 3 3 4 4 4 4 LCDLCD 液晶接口电路液晶接口电路 本系统采用松山公司的 CA320240B 液晶模块对所需数据信息进行显示 该 液晶分辨率为 320 240 模块采用 RA8835 控制器 该控制器支持多种操作时 序 可以方便的用 C 语言进行程序设计 然后模拟时序对液晶模块进行控制显 示 该液晶可以分为文本显示和图形显示 最多能够设置 3 个图层 内部自带 32K 数据存储器 可以自由配置每一个图层的内部数存储起始地址 向相应的 地址写入数据 则在相应的点上显示相应的数据 其硬件电路图如图 12 所示 该液晶数据端口是 8 位 包括命令数据和显示数据 图中的 RW1 可以调节 液晶的背光电压 从而达到调节液晶显示对比度的目的 由于液晶在显示时灌 电流比较大 而 FPGA 承受电流能力与输出电流能力比较有限 为了防止对 FPGA 进行干扰和伤害 因此在考虑其与 FPGA 端口相连时 在与 FPGA 相连 的每个数据线上都串入 1K 的电阻 进行限流和滤波 第 15 页 图图 1212 液晶模块硬件电路图液晶模块硬件电路图 3 3 4 4 5 5 键盘接口电路键盘接口电路 键盘一般都由多个按键组成 主要用于嵌入式产品中的人机交互 在系统 设计时 产品设计者可以根据用户不同的按键输入指定相应的功能 以便用户 能够更好的控制系统 在本设计中 为了满足用户对示波表的功能操作 共采用了六个按键 其 功能分别是 单次 连续 存储 调出 水平扫描调节 垂直扫描调节 对于 按键抖动 本系统中利用软件状态机进行避免 在软件设计部分有详细说明 图 13 是按键模块的硬件电路图 图图 1313 按键模块硬件电路图按键模块硬件电路图 第 16 页 3 3 5 5电源模块设计电源模块设计 在本系统中 各部分工作需要 6 种电源电压 12V 12V 5V 5V 3 3V 1 2V 12V 电压主要用于信号调理电路中的运算放大器芯片的 供电 5V 电压主要用于一般芯片的工作电压 3 3V 和 1 2V 电压主要用于 FPGA 系统中其他芯片的工作电压 在设计中采用 LM7812 和 LM7912 产生 12V 采用 LM7805 和 LM7905 产生 5V 用 AMS117 产生 3 3V 和 1 2V 电源电压 具体实现电路图如图所示 图图 1414 3 3V 3 3V 和和 1 2V 1 2V 电源电路图电源电路图 图图 1515 5V 5V 电源电路图电源电路图 图图 1616 12V 12V 电源电路图电源电路图 第 17 页 4 4 软件设计软件设计 要完成一个系统 且需保持其具有升级性 则必须有软件支持 在本系统 中 软件设计主要包括液晶驱动设计 键盘扫描程序的编写 数据处理程序以 及 FPGA 内部用 Verilog HDL 语言编写的各种模块 4 4 1 1可编程器件的程序设计可编程器件的程序设计 4 4 1 1 1 1 QuartusQuartus IIII 设计软件设计软件 Quartus II 是 Altera 公司的综合性 PLD 开发软件 支持原理图 VHDL VerilogHDL 以及 AHDL Altera Hardware Description Language 等多 种设计输入形式 内嵌自有的综合器以及仿真器 可以完成从设计输入到硬件 配置的完整 PLD 设计流程 15 其设计流程如图 17 所示 图图 1717 QuartusQuartus IIII 设计流程示意图设计流程示意图 4 4 1 1 2 2 VerilogVerilog HDLHDL 语言语言 Verilog HDL 是一种硬件描述语言 HDL Hardware Discription Language 是一种以文本形式来描述数字系统硬件的结构和行为的语言 用它可以表示逻 第 18 页 辑电路图 逻辑表达式 还可以表示数字逻辑系统所完成的逻辑功能 Verilog HDL 支持硬件设计的开发 验证 综合和测试 硬件数据之间的通信 硬件的 设计 维护和修改 1 本系统中选取 Verilog HDL 作为描述语言 运用了结构描述与行为级描述 相结合的模块化设计方法 既保证了高速的要求 又便于程序的设计修改和维 护 在本系统中利用 Verilog HDL 构建的主要模块有等精度测频模块和采集频 率的数控模块 2 下面对两个模块进行代码说明 4 4 1 1 3 3 等精度测频模块等精度测频模块 名称 等精度测频模块 功能 标准频率为 50MHz 在相同时间内分别对标准脉冲和待测方波 进 行计数 然后计算出待测方波的频率 module fre test BCLK TCLK CLR CL input START DBZQ DTSQ output input BCLK TCLK CLR CL output START output 31 0 DBZQ 标准频率计数器 output 31 0 DTSQ 测试频率计数器 reg ENA reg 31 0 DBZQ reg 31 0 DTSQ assign START ENA always posedge BCLK or negedge CLR begin 第 19 页 if CLR 1 b0 DBZQ 0 else if ENA 1 b1 DBZQ DBZQ 1 End always posedge TCLK or negedge CLR begin if CLR 1 b0 DTSQ 0 else if ENA 1 b1 DTSQ DTSQ 1 end always posedge TCLK or negedge CLR begin if CLR 1 b0 ENA 1 b0 else ENA 200 20 200 cnt 0 else cnt cnt 1 if cnt 20 1 n 1 begin equ clk 200 n n 1 else n 0 end else equ clk 10 AD clk endmodule 4 4 2 2NiosNios IIII CPUCPU 程序设计程序设计 4 4 2 2 1 1 NiosNios IIII IDEIDE 设计软件设计软件 第 22 页 Nios II IDE 设计软件是 Altera 公司为 Nios II 软核处理器设计的专用开发软 件 Nios II IDE 具有良好的设计界面 相比其他嵌入式设计软件 除了具有基 本的相同的仿真 在线调试等功能外 它还提供了多个设计模板 便于用户开 发 同时它还为 Nios II 软核处理器提供许多专属功能 如代码硬件加速等 16 4 4 2 2 2 2 系统整体程序设计系统整体程序设计 在对 Nios II CPU 进行程序设计中 程序通过 C 语言 11 来进行设计 其设 计内容主要包括数据采集处理程序 液晶显示驱动程序以及按键扫描程序设计 三个部分 下面分别对三个部分的程序设计进行介绍和说明 4 4 2 2 3 3 数据采集处理程序设计数据采集处理程序设计 图 18 为数据采集处理程序的流程图 图图 1818 数据采集处理程序流程图数据采集处理程序流程图 在数据采集处理程序中 包括幅度数据和频率数据 第 23 页 幅度数据存储在 FIFO 中 利用 FIFO 的满信号进行程序中断 当 ADC 向 FIFO 中填满数据时 程序产生中断 我们读取 FIFO 的数据进行处理后显示在 屏幕上 频率数据是由等精度频率计数器提供的 其中包括标准频率计数值和待测 频率计数值 根据算法便可计算出待测波形的频率 更改相应的格式后进行显 示 4 4 2 2 4 4 液晶显示部分程序设计液晶显示部分程序设计 液晶显示采用 320 240 液晶屏 该液晶自带 RA8835 控制器 有丰富的指 令控制集 指令集如下图所示 内部有 32K RAM 存储器 通过修改相应 RAM 地址的内容就可以实现对液晶屏上数据进行修改 图图 1919 指令集指令集 在设计中 波形显示区域为 200 200 点阵 每格 20 点 采用两个层相叠加 进行显示 显示区域 SAD1 为图层 1 用来显示波形数据和其他数据信息 显 示区域 SAD2 为图层 2 用来显示波形显示边框和其他一些固定信息 在波形显示上 由于数据一直在更新 假如采用在写入数据时将整屏数据 清 0 这样在人眼上会有短暂的消失现象 为达到波形的连续显示 每次更新 数据时 先将一列 8 200 的数据清零 然后再将数据写入 由于写入的数据很 快 这样基本看不出抖动的现象 第 24 页 4 4 2 2 5 5 键盘扫描部分程序设计键盘扫描部分程序设计 由于键盘响应要求实时性较高 所以将键盘扫描程序放在定时中断中处理 采用状态机 10 扫描法 每定时 10ms 就进入中断进行扫描 可以有效避开键 盘抖动 而且提高了系统的工作效率 State0 判断是否有键按下 有键按下 则转到 state1 State1 根据扫描判断键值 根据相应的键值执行相应的程序 然后进入 state2 State2 判断键是否释放 松开 则返回到 state0 没有 则在 state2 按键扫描程序的流程图如下 图图 2020 按键扫描程序流程图按键扫描程序流程图 5 5 系统性能测试及分析系统性能测试及分析 5 5 1 1测试仪器测试仪器 SP1641B 函数信号发生器 VC9802A 万用表 TDS2012 数字示波器 SS 7802A 模拟示波器 第 25 页 5 5 2 2功能测试功能测试 1 实现了存储调出波形功能 2 实现了单次触发显示波形功能 3 实现了等精度频率测量功能 4 实现了测量频率自动选择功能 5 实现了电压峰峰值测量功能 6 实现了按键调整垂直灵敏度功能 5 5 3 3数据测试数据测试 1 垂直灵敏度为 2 0V div 信号峰峰值为 5V 时 测试数据如表 5 1 表表 5 15 1 测试数据表测试数据表 1 1 2 垂直灵敏度为 0 2V div 信号峰峰值为 0 5V 时 测试数据如表 5 2 表表 5 25 2 测试数据表测试数据表 2 2 垂直灵敏度 0 1V div 信号峰峰值 VPP 0 5V 频率实测周期误差 实测 Vpp 误差频率实测周期误差 实测 Vpp 误差 10Hz99 49ms0 51 0 500 00 100kHz9 67us3 30 0 512 00 50Hz20 07ms0 35 0 512 00 500kHz1 96us2 00 0 512 00 10kHz99 14us0 86 0 512 00 1MHz995 0ns0 50 0 512 00 50kHz20 01us0 05 0 500 00 10MHz98 75ns1 25 0 500 00 3 垂直灵敏度为 20mV div 信号峰峰值为 50mV 时 测试数据如表 5 3 表表 5 35 3 测试数据表测试数据表 3 3 垂直灵敏度 2mV div 信号峰峰值 VPP 50mV 频率实测周期误差 实测 Vpp 误差频率实测周期误差 实测 Vpp 误差 10Hz99 51ms0 49 56 331 30 100kHz9 67us3 30 48 040 40 50Hz20 07ms0 35 51 530 30 500kHz1 96us2 00 48 040 40 10kHz99 16us0 84 49 351 30 1MHz997 5ns0 25 49 101 80 50kHz20 01us0 05 49 301 30 10MHz98 75ns1 25 48 373 30 垂直灵敏度 2 0V div 信号峰峰值 VPP 5V 频率实测周期误差 实测 Vpp 误差频率实测周期误差 实测 Vpp 误差 10Hz99 55ms0 45 5 000 00 100kHz9 67us3 30 5 010 20 50Hz20 08ms0 40 5 020 40 500kHz1 96us2 00 5 112 20 10kHz99 16us0 84 5 040 80 1MHz997 5ns0 25 5 061 20 50kHz20 01us0 05 5 020 40 10MHz98 75ns1 25 5 234 60 第 26 页 5 5 4 4测试结果分析测试结果分析 经过测试 整个系统在频带为 10Hz 1MHz 的范围内 能够比较准确的对 被测波形进行测量 但是对于频率高于 1MHz 的波形 系统测量误差开始偏大 这是由于该部分采用等效采样方式 等效采样的源时钟为 200MHz 信号比较 微弱构建 因此构建出来的等效采样波
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 老年人春节安全预防
- 老年人护理知识培训活动课件
- 酿酒知识培训目的课件
- 汇源PET新产品命名方向再讨论
- 实数高频基础考题分类训练(12种类型60道)解析版八年级数学上册提分专项训练
- 红米需要泡几个小时
- 天津市2025年中考历史试卷及答案
- 人物传记(第二单元)-2025-2026学年八年级语文上册阅读素养通关训练(原卷版)
- 老年人健康养护知识培训课件
- 太阳活动及其对地球的影响重点考点 专项练-2026年高考地理一轮复习
- 2024春期国开电大本科《商法》在线形考(形成性考核作业一至四)试题及答案
- JJF 1033-2023 计量标准考核规范
- 九年级历史上册教材课后习题参考答案
- 血液透析的标准预防课件
- 全科规培:门诊SOAP病历考核模拟文档
- 《能源概论》课件
- 2023年湖南长沙湘江新区所属事业单位招聘12人笔试参考题库(共500题)答案详解版
- 插花艺术与花艺课件
- CADCAM应用技术(CAXA2020)中职全套教学课件
- 生物医学工程伦理 课件全套 第1-10章 生物医学工程与伦理-医学技术选择与应用的伦理问题
- 仓库管理作业流程规范
评论
0/150
提交评论