




已阅读5页,还剩58页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
I 一种基于 PIC18 单片机的数字存储示波器设计 摘 要 本设计是制作简易数字存储示波器 它是以PIC18F8720为核心 采用PIC和FPGA 构架 主要实现一路信号测量 可测量被测信号频率 峰峰值 波形等 测量频率范 围在1 20Khz 采用320 240液晶显示 可存储一定深度信号参数 实现数字存储示波 器的基本功能 设计当中将数据直接从 FIFO 中取出后 直接显示在屏幕上 使得实时性得到了很 大的提高 由于使用 Spartan3A 作为 FIFO 相对于速度比较快 体积也小 功耗低 有 利于降低功耗 1 主控制芯片为 PIC18F 系列的单片机 这个芯片的优势在于高达 40M 的输入时钟 和有较多的管脚 这样会有较快的速度 以及低功耗 有利于示波器的 设计 2 关键词 示波器 PIC FPGA 存储 II PIC18 Microcontroller Based Digital Storage Oscilloscope Design ABSTRACT This design aims to make a simple Digital Storage oscillograph which takes PIC18F8720 as its core and PIC as well as FPGA as its structure It aims to measure one channel signal It can also used to measure the frequency Vpp and the waveform of the signal The measuring frequency range is from 1HZ to 10KHZ it adopts the 320 240 liquid crystal display it can store a certain quantity of the signal s parameters thus it can realize the basic function of the DSO Since the date can be showed straightly on the screen after it was read directly from FIFO it s quality of real timing can be greatly improved We choose Spartan3A as FIFO because it can result in reducing power dissipation with its faster speed smaller volume and lower power consumption The major controller chip is the single chip microcomputer of PIC18F series of which the advantage is that it has a input clock of 40MHZ and it has a lot of base pins Thus it can has faster speed and lower power consumption which is good for the designing of the DSO KEY WORDS oscilloscope digital PIC FPGA III 目 录 摘 要 ABSTRACT 目 录 1 绪 论 1 1 1 数字存储示波器概 述 1 1 2 本论文的研究内容及要 求 1 2 整体方案的设 计 2 2 1 系统主要技术指标分 析 2 2 1 1 实时采样和等效采样技 术 2 2 1 2 垂直分辨 率 2 2 1 3 存储深 度 2 2 1 4 触 发 3 2 2 关键技术难点与解决途 径 4 3 数字存储示波器具体设 计 5 3 1 总体实现原理概 IV 述 5 3 2 程控电路设 计 6 3 2 1 程控调幅原 理 6 3 2 2 补偿调整部 分 9 3 2 3 程控末级调整部 分 9 3 3 时基电路模块设 计 10 3 4 触发器设 计 1 1 3 5 液晶数显示与键盘控制设 计 12 3 5 1 界面和波形的显 示 12 3 5 4 键盘控制设 计 17 3 6 频率计设 计 1 9 2 6 1 频率计输入信号调整电 路 19 3 6 2 等精度频率计设 计 21 3 7 峰值测量设 计 22 3 8 稳压直流电源设 计 24 4 系统调 试 25 4 1 测试仪 V 器 25 4 2 作品照 片 25 4 3 指标测 试 27 4 4 测试结果分 析 27 5 总 结 28 参考文 献 29 致 谢 30 附录 31 附录 33 一种基于 PIC18 单片机的数字存储示波器设计 1 1 绪论 1 1 数字存储示波器概述 在现代电子测量 仪器仪表等领域 示波器是测量电子信号的常用仪器之一 也 是电子工程人员最为熟悉的测量仪器 它能把肉眼看不见的电信号变换成看得见的图 象 便于人们研究各种电现象的变化过程 利用示波器能观察各种不同信号幅度随时 间变化的波形曲线 还可以用它测试各种不同的电量 如电压 电流 频率 调幅度 等等 模拟示波器作为一种十分有效的信号测试 调试工具 已经从二十世纪五十年代 的电子管示波器 发展到今天功能齐全 性能优越 携带方便的数字存储示波器 与 传统模拟示波器相比 模拟示波器要观察偶发事件需要使用长时间记录 然后作信号 处理 这种办法会漏掉非周期性出现的信号和不能显示信号的动态特性 数字存储示波器 DSO 是20世纪70年代初发展起来的一种新型示波器 与传统模拟 示波器不同 数字存储示波器不是一种模拟信号的存储 也不是将波形存储在示波器 管内的存储栅网上 而是将捕捉到得波形通过A D转换进行数字化 而后存入示波管外 的数字存储中 它可以方便实现对模拟信号的量化 并且可以利用微处理系统 DSP ARM等 对存储的信号作一步的处理 从而获得所需的各种信号参数 比如对被 测信号的频率 幅值 前后沿时间 平均值等参数的自动测量以及多种复杂的处理 数字存储示波器的出现使传统示波器的功能发生了重大变革 3 与传统的模拟示波器相比 数字存储示波器具有许多优点 主要表现在 能长时间地保存信号 具有多种存储方式 能够长期存储波形 测量准确度高 很强的数据处理能力 具有加 减 乘 除 微分 积分 对数 指数 FFT 等多种运算功能 丰富的外部数据通信接口 1 2 本论文的研究内容及要求 本设计当中本人的主要工作如下 1 数字存储示波器数据采集与控制电路的设计与调试 高速数据流存储电路的设计与 调试 触发系统的设计与调试 控制系统与数字系统通信体系的设计与调试 峰值检 测模块等其他示波器功能模块的设计与调试 2 配合控制系统完成了示波器数字系统整机的调试 2 3 数字频率计等其他示波器功能相关模块的设计与优化 一种基于 PIC18 单片机的数字存储示波器设计 3 2 整体方案的设计 本章通过对本数字存储示波器项目的技术指标进行分析 在结合数字存储示波器 的基本原理的基础上 提出了一种基于PIC的数字存储示波器总体设计方案 2 1 系统主要技术指标分析 本文所研究的内容主要是数字存储示波器的一些关键主要技术指标 包括 实时 采样率 存储深度 触发类型 带宽 分辨率等 这些数字存储示波器的关键技术指 标是相互制约 相互影响的 2 1 1 实时采样和等效采样技术 实时采样率是指示波器一次采集 一次触发 采样间隔的倒数 在很多应用场合 实时采样方式所提供的时间分辨率仍然不能满足测量的要求 在这些应用场合中 要观察的信号常常是周期性的 对于这些信号来说 示波器可以 从若干连续的信号周期中采集到的多组采样点来重建波形 每一组新的采样点都是由 一个新的触发事件来启动采集的 并将其存储在同一存储器的不同位置 当存储器存 储够了足够的采样点以后 就可以在屏幕上重建一个完整的波形 这称为等效采样技 术 如果要增加实时采样的带宽 只能通过提高实时采样速率来实现 而高速ADC和 相应的数据存储器都比较昂贵 这将会大大的增加产品的成本 但是等效采样要求对待测信号的频率准确测量 这对频率计提出了很高的要求 在多次的测量中发现频率计误差比较大 因此本设计只采用实时采样 2 1 2 垂直分辨率 在数字存储示波器中 屏幕上的点不是连续的而是 量化 的 分辨率反映存储 信号波形细节的综合特性 它又包括了垂直分辨率 电压分辨率 和水平分辨率 时间分 辨率 ADC通过把采样电压和参考电压进行比较来确定采样电压的幅度 构成ADC所用 的比较器越多 ADC可以识别的电压层次也越多 这个特性称为垂直分辨率 垂直分 辨率越高 则示波器上的波形中可以看到的信号细节越小 垂直分辨率用比特来表示 按照数字存储示波器的一般选择原则 通常都选择为8位 这个指标是由元器件来保证 的 在本设计中 我们选择的ADS826的垂直分辨率为8bit 2 1 3 存储深度 存储容量通常定义为获取波形的取样点的数目 用直接存放A D变换后数据的获 取存储器的存储单元数来表示 在数字存储示波器内 记录时间 取样速率以及存储 深度三者之间的关系 本科毕业设计说明书 4 可以用下面的公式来表示 本设计中采用的显示屏每屏方向有10大格 则 记录时间 扫描速度 t div 10 由以上公式可知 通过以上分析 我们知道数字存储示波器的存储深度越大 则数字存储示波器存 储采样数据的能力越强 尤其更善于捕获像毛刺这类通常偶尔发生的信号 但是随着 存储深度的不断加大 其成本和硬件实现难度也会越大 在本项目中采用较小深度的 FIFO 4 2 1 4 触发 触发的作用就在于保证每次采集的数据 都是从输入信号上的一个精确确定的点 作为参考点来显示 显示波形重复而且稳定 如果没有触发电路在屏幕上看到的将是 杂乱无章的现实波形 有无触发信号对显示波形的影响所示 本设计采用两种触发方式 上升沿触发和下降沿触发 既是通过在波形上查找指 定极性和电压电平识别触发 按照信号极性包括上升沿触发和下降沿触发 设定一个 适当的触发电平以后 出发电路开始捕捉触发脉冲 完成数据采集 显示出来的波形 是以信号的某个上升沿或某个下降沿为触发参考点的 图2 1 触发器原理图 10 存储深度 取样速率 扫面速度 存储深度 记录时间 取样速率 一种基于 PIC18 单片机的数字存储示波器设计 5 2 2 关键技术难点与解决途径 通过以上对目标系统的技术指标进行分析 结合数字存储示波器的基本原理 不 难发现 设计该数字存储示波器的数据采集与控制电路存在的关键问题如下 高速海量数据流的接收和存储技术 触发起到稳定显示的作用 程控对待侧信号有较好的优化 频率计精确测量 时基信号频率值不稳定 针对以上四个关键技术难点 在本设计中采用了以下的解决措施 1 在制作硬件电路时 采用PCB 科学的布线 减少外界的干扰 特别是在地的设 计上尽可能的将他们的线路压差降到很低 2 使用硬件电路判定触发点的方法很不稳定 将其改为在FPGA当中使用AD产生的 数据做比较触发 大大提高了稳定性 3 采用ADS9850模块 产生的信号稳定准确 而且范围0到30M 极大的提高了本 设计的性能 4 频率计的设计使用FPGA设计 在一块Spartan3A的班子上实现 由于芯片的高性 能 使得基准时钟频率为80M 计数器稳定可靠 本科毕业设计说明书 6 3 数字存储示波器具体设计 本章通过对本数字存储示波器所采用具体电路做出做出分析 说明作品的原理 采用方式以及一些具体的计算方法等 3 1 总体实现原理概述 硬件电路主要由三部分组成 程控电路 采样电路和控制显示部分 程控是将波形 幅值通过比例缩放显示在屏幕上 之后再周边加上标尺注明 将波形调整到合适的采 集范围 之后交给采集电路 它的核心为ADC 经过ADC转换 那么就可以方便单片 机的识别 FPGA在这实际上是模拟些硬件电路 这样可带来很多开发的好处 他代替 的FIFO和触发逻辑电路 大大的节省了空间 PIC在这自然做为主要的控制电路 处理 人机交换和部分元件的控制 起到协调整个系统的作用 总之 这三部分组合在一起 实现了数字存储示波器 将未测信号很好的显示在液晶上 频率计是通过程控电路分出的一个信号 信号通过优化后送入FPGA的频率计 他 的测量是以标准时钟为参考 比较运算得到的结果 将其结果送入PIC当中处理显示在 屏幕上 图3 1 系统框图 板层1为程控电路 后面的电路是对波形的调整 其上还有电源部分 程控是基于 运放的非线性运用 将波形做比例缩放处理 从而实现将幅值调整 方便AD的采集 那么我们就可以在屏幕上看到波形 通过横坐标的对比 我们可轻易的知道待测信号 的幅度 峰峰值等信息 见附录 图4 板层 2 为下图为 AD 采集电路 触发 PIC 和 FPGA 的连接电路等 它是整个设计 的核心部分 AD 为一块高速 ADS826 它可以满足高频率待测信号的测量 连接电路部 一种基于 PIC18 单片机的数字存储示波器设计 7 分将 PIC 和 FPGA 最小系统版连接在一起 时基连接部分也在上面 实际上实际是 AD9850 的一块板子 它由 PIC 来控制 见附录 图 5 3 2 程控电路设计 3 2 1 程控调幅原理 此部分对波形放大调整使的 波形可以在 ADS 的采样范围内 这样完成的波形才 能呈现在我们面前 程控放大器的作用是对输入信号进行衰减或放大调整 使输出信 号电压在 AD 转换器输入电压要求范围内 达到最好的测量与观察效果 所以程控放 大器电路在规定带宽内的增益一定要平坦 故对运算放大器的要求比较高 在本电路 中我选用的是 NSC 公司生产的高速运算放大器 LM6172 双运放 带宽为 100MHz 转换速率 3000v s 每通道消耗电流 2 3mA 输出电流可达 50mA 完全满足本电路 的要求 选择该芯片的另一个原因是价格 邮购价格为 5 元一片 相比 ADI MAX 等公司几十元一片的高速运放芯片来说算是很廉价了 电源采用正负双电源供电 图 3 2 程控电路原理图 1 本科毕业设计说明书 8 图 3 3 程控电路原理图 2 图 3 4 程控电路原理图 3 程控放大器电路如图 3 2 4 所示 被测信号从 BNC 插孔输入 S6 继电器决定输 入耦合方式 S6 吸合为直流偶和方式 S6 断开为交流耦合方式 信号通过交直流耦 一种基于 PIC18 单片机的数字存储示波器设计 9 合选择开关后被送入 由 R16 R22 R24 R25 R29 和 C9 C11 组成的 X0 5 X0 05 的衰减电路 衰减 倍数由 S1 控制 当 S1 吸合时接在 3 端 对应的衰减被数为 当 S1 未吸合时接在 1 端 对应的衰减被数为 242529 0 5 1622242529 RRR RRRRR C9 C10 对高频信号进行补偿 经过衰减的信号进入由 29 0 05 1622242529 R RRRRR 高速运算放大器 U1A 组成的缓冲器缓冲 然后被送入由 U2A 组成的 X 0 8 X 2 X 4 的反相放大电路 放大倍数由 S2 和 S3 控制 当 S2 S3 均吸合时对应的放大倍数为 当 S2 未吸合 S3 吸合对应的放大倍数为 当 S3 未吸 913 2 21 RR R 13 0 8 21 R R 合则不用考虑 S2 的情况 此时对应的放大倍数为 输出信号又通过 S4 15 4 21 R R 选择是否经由 U2A 组成的同相放大器放大 当 S4 未吸合 则不经过同相放大 当 S4 未吸合 则信号被放大倍 最后信号被送入由 U2B 组成的放大倍数 2827 10 28 RR R 为 1 倍的反相放大器来消掉由第一级反相放大器所带来的负号 与此同时 U9 送来的 反相基线电压由 U6A 反相后作为 AD 转换器的输入中点电压被叠加在被测信号上被 送入 AD 转换器 放大倍数灵敏度 S1S2 S3 S4 0 045VLLHH 0 12VLHHH 0 21VLHLH 0 40 5VHLHH 10 2VHHHH 20 1VHHLH 450mVHLHL 1020mVHHHL 2010mVHHLL 表 3 1 电压灵敏度与 S1 S4 的关系 本科毕业设计说明书 10 3 2 2 补偿调整部分 在未进行补偿调整之前一般会出现两种情况 分别如图 3 6 和图 3 7 所示 图 3 6 所示的波形 显示的情况是补偿过量 图 3 7 所示的波形显示 的情况是补偿不足 在这种情况下仔细调整程控 放大器电路中的两个可变电容 C9 和 C10 直到 波形正常 如图 3 8 所示 在调试过程中需要调 动两个可变电容来使波形得到真实的显示 图 图 3 5 补偿电路图 图 3 6 补偿效果图 a 图 3 7 补偿效果图 b 图 3 8 补偿效果图 c 3 2 3 程控末级调整部分 一种基于 PIC18 单片机的数字存储示波器设计 11 图 3 9 程控末级调整电路图 因 ADS836 的模拟输入电压范围是 1 5V 3 5V 输入中点电压为 2 5V 所以基线 电压应为 2 5V 调节可变电位器 Rw11 将调整基线电压的值 从而调整基线的位置 但是如果采用第二层班子上 ADS 前的调整基准电路 那么这里只是作为辅助调整电压 的部件 经过试验第二班子上的运放效果不好 而且会使其反相所以只采用此电路做基线电 压 3 3 时基电路模块设计 时基的作用是提供抽样信号 在抽样信号控制下 ADS836 开始采样 它使用的是 DDS 模块 核心的芯片是 AD9850 最高不失真为 20M 左右 它可以产生幅值为 5V 的 方波 上图显示的是 100KHz 时 通过示波器取得的波形 本科毕业设计说明书 12 图 3 10 AD9850输出波形图 本设计只采用实施采样 所以所选取抽样频率的计算方法为 T 每横格代表时间 25 每个格由 25 个点横向组成 1 25f T 具体不同 ADC 采样频率和示波器扫描速率的关系 扫面频率 25us50us100us250us500us1ms2 5ms5ms DDS 频率 25M1M500K250K100K50K25K10K 扫面频率 10ms25ms50ms100ms250ms500ms1s DDS 频率 5K2 5K1K500Hz250Hz100Hz50Hz 表 3 2 ADC 采样频率对应示波器扫描速率表 3 4 触发器设计 触发控制模块根据要求产生系统触发信号 从而实现信号特征点的捕捉及波形显示 的同步 本论文所涉及的数字存储示波器的做法利用 AD 产生的 8 位数据 在 FPGA 当中和 自己设定的触发值 做比较处理 这样找到触发点 本设计当中的触发方式主要是边沿触发 分为上升沿和下降沿方式 触发点为可调 的 通过两个键 可以粗调和细调 但是只能同向调节 一种基于 PIC18 单片机的数字存储示波器设计 13 下面是 FPGA 仿真图 用 DDS 的 IP 模拟采样信号 实现示波器采集效果 图 3 11 触发器后仿图 在最初使用外部电路 LM6172 做比较器产生信号 但是效果很不理想 不能稳定显 示 改用 FPGA 比较后发现还是不太理想 仔细阅读 FIFO 核的数据手册后发现使用 FIFO 的空满信号做判断不好 它不能准确的显示存储了多少组数据 后来使用计数器 做判断标准 使得效果好了很多 触发器的原理 主要是利用比较器和计数器 输入信号通过比较器比较后 满足触 发条件产生触发 将数据打入 FIFO 当中 计数器开始计数 保证一定量的数据存入 FIFO 当中 当足后开启 FULL 标志位 允许 FIFO 被读取 此时停止采样 保证数据 完整性 3 5 液晶数显示与键盘控制设计 3 5 1 界面和波形的显示 液晶采用一块 320 240 的液晶 8 位并行输入 这块液晶显示的刷新速度比较快 屏幕也很大 这样显示效果也比较好 但是它需要要提供 36V 交流电压来开启背光灯 本科毕业设计说明书 14 图 3 12 液晶连接电路图 图 3 12 为液晶连接图 其中 U11 为变压器 由直流 5V 电压供电产生 36V 交流电 压 这是由于液晶需要 36V 的电压开启背光 在 PIC 最小系统板上驱动液晶也要一个 18V 的电压 它主要是用来调节对比度的 本次设计液晶显示主要是打点程序为主 屏幕上的点都是由下面的程序画出 至于 画什么图形主要有坐标运算得到 以下两段函数 他们在 RAM 中的存储地址不同 相差 0 x2580 液晶有分层显示的 功能 它要求在液晶的 RAM 中存储的数据放在不同的数据段上 这样使得液晶可分层 显示 基于此功能我们在界面显示和波形的绘制上达到了很好的效果 波形有了参照 的网格 又加快了显示的速度 在视觉上效果更好 void lcd setxy unint x unint y unint addr addr 40 unint y x 8 write command 0 x46 光标定位 write data addr 32K 显存 write data addr 8 void lcd setxy1 unint x unint y 一种基于 PIC18 单片机的数字存储示波器设计 15 unsigend int addr addr 40 unint y x 8 addr 0 x2580 第二显示区的起始地址 write command 0 x46 光标定位 write data addr 32K 显存 write data addr 8 显示的核心是在不同的坐标位置上打点 众多的点联系在一起就成了图形 下面一 段函数是画点函数中的一部分 显示是基于这点程序的 它主要功能是将需要显示为 黑点或亮点的参数存于 ROM 中 这样达到显示的目的 dot 是判断显示的类型 具体 显示在什么地方是调用前面的 lcd setxy lcd setxy1 函数 调用不同则显示在不同层上 if dot write write data 0 x80 x 8 tmp else clear write data 0 x7f x 8 特别说明的是在函数中 我们对符号 数字和字符做了一个很全面的数组 这样在 图形显示时可以随时调用 很方便 数组存在 ROM1 h 的文件里 当我们按下键 屏幕上会连同继电器状态的变化 我们是在显示上调用了如下函数 将键值同屏幕的刷新数据相结合 达到改变显示的目的 if DC 0 LcdWtHanZi 272 34 0 40 交流 将直流滤去 并在屏幕上显 示交流 else LcdWtHanZi 272 34 0 40 直流 DC 是这静态变亮受键盘的控制 在按下键后 他会在 0 和 1 间切换 至于对垂直档位和扫描档位显示上 我做了个数组 按动键 反映到对数组中不同 数组的调用 之后对当前显示擦除 重新显示到屏幕上 下面一段程序就是实现擦出 本科毕业设计说明书 16 和显示的功能 LcdWtNum4x8 clr 146 214 40 清除以前显示在屏幕上的字符 p TimeInterval code p scan time change time TimeInterval code UnitTime 改变采样频率 write num n8 146 214 write num n8 146 p display witch 0 214 对屏幕上内容作刷新 write num n8 146 p display witch 3 214 由于 PIC 读取数据的速度跟不上高速的采样速率造成了在接受中要有个缓存的部 分 FIFO 的特点是有速度很快 双端口 输入和输出可分开 而且拥有空满标志 这 使得 FIFO 在这但当起了重要的角色 它可以从一端读入数据 不会使得 ADS 和 PIC 共用一个 I O 口 在处理数据上很方便 特别是它的标志位 使我们不必去用复杂的 方法判断采集到了我们所需数量的数据 还有就是它用的是 RAM 我们可以保证在高 速的数据输入下它能跟上 这里 FIFO 为 FPGA 中的核 存储的类别是 RAM 宽度 8 深度 2047 如图 3 13 u0 fifo din din Bus 7 0 rd clk rd clk 读时钟 rd en 1 b1 读使能 rst rst ip FiFO 复位 wr clk wr clk 写读时钟 wr en 1 b1 写使能 dout dout Bus 7 0 empty empty 空标志 full full 慢标志 PIC 对采集到的数据显示的过程是先对 FIFO 的 满判断 确认采集到足够的数据来显示 首先清除 屏幕上已有的图像 当然第一次显示时没必要的 但为了简化程序没有做处理 每个 8 个点清除一次 首先是判断是否为整个显示的第一次 因为刚开始 前一个数 图 3 13 一种基于 PIC18 单片机的数字存储示波器设计 17 FIFO 管脚图 据位 0 那么通过运算会在屏幕上画条竖线很不好看 之后判断数据是否在屏幕显示的 范围内 如超出 227 或低于 28 做 277 或 28 处理 将两组合理的数据数据后相减得到 早屏幕上所要显示的数据 通过调用 write dot wave 函数显示出来 后面的数据只要 读的一组就可以了 通过和之前的数据运算和处理显示出来 这样就可绘制出连续的 波形了 这个显示的函数 强调跟快速直接从 FIFO 中取出显示在屏幕上 没有在 PIC 中存 储 这样既节省了时间 又减少了资源的浪费 if Full 1 数据采集完成标志位 frist entry 1 for i 10 i227 temp0 227 取其中一段有效的数据 本科毕业设计说明书 18 else if temp0 227 temp1 227 else if temp1 28 temp1 28 temp temp0 temp1 得到之间的间距点数 write dot wave i temp0 1 temp 在屏幕上绘制图形 其中如下这段程序是分断的删除原来在屏幕上显示的波形 这样分段的清除和显示 提高了波形的显示的连续性 比全屏刷新显示在视觉效果上好了很多 if i 10 vertical clr i 12 if i 8 0 vertical clr i 12 第一个数据由于在之前没有数据 可能在屏幕上画一条竖线 看起来很不好看 这就需要第一此读取两个数据 使得第一个数不为 0 x00 之后的就可以每次读一个数据 了 这样一组新采集的数据不会在屏幕上出现竖线 3 5 4 键盘控制设计 键盘电路 此键盘巧妙地运用了 6 个信号接口控制 24 个键 可以大大节省了单片 机控制所使用的 I O 口 一种基于 PIC18 单片机的数字存储示波器设计 19 图 3 14 键盘电路图 键盘的具体工作原理是 24 个键被分为 3 组 这三组每一组对应于一个 74ls148 他 是一个 38 译码器 当有一个键被按下 这三个其中一个被置低电平 则确定了YEX 这组 8 个键有一个被按下 那么我们只要确定这 8 个之中那个按下 74ls148 有三个口 D0 D1 D2 这三个口可指出其中哪个键被按下 如 Y1 检测电平拉低 则 D0 D1 D2 对应是 101 键盘要用六个 I O 口控制 下面是两个通过键盘调节显示的程序 具体原理是根据 硬件上设计所说 流程图如下 图 3 15 键盘工作流程图 if temp if GS2 0 查看那一组键盘有键按下 while GS2 break case 4 20 垂直单位调整 大 if lockkey 0 keyValue 20 lockkey 0 键值 本科毕业设计说明书 20 VerticalMange 0 x1 调用幅度调整函数 while GS2 break 3 6 频率计设计 等精度测频通过被测信号来控制闸门的打开和关闭 使得闸门时间精确的等于整数 倍的被测信号的周期 消除了普通计数法由于闸门开启和关闭不严格的同步于被测信 号带来的 1 误差 由于基准时钟频率很高 因此基准时钟闸门产生的 1 误差比较小 测频开始前 首先发出 1 个清零信号 clr n 使 2 个计数器和 D 触发器均置 0 同 时通过计数使能信号 EN 禁止 2 个计数器计数 然后单片机发出允许测频命令 即令 预置门控信号 Start n 为高电平 这时 D 触发器要等待被测信号的上升沿到达 Q 端才 被置 1 即令 EN 为高电平 同时 计数器将同时启动 分别对被测信号和标准频率 信号同时计数 当 200ms 秒后 预置门控信号 Gate 被 FPGA 置为低电平 但此时 2 个计数器停止计数 Ready 置高 表示一次采集结束 如果 PIC 响应 Ready 读取数据 计算 显示于屏幕上 图 3 16 频率计原理图 2 6 1 频率计输入信号调整电路 一种基于 PIC18 单片机的数字存储示波器设计 21 图 3 17 频率计整波电路图 其中由 UA3 和 U5 两运放构成的电路主要是来调整信号的基准电压的 尽可能将 波形的中间电位控制在零点 这样通过施密特触发器产生占空比为 50 的方波 对于 用等精度测量频率的方法 可以准确的测得待测信号的频率 施密特触发器在电子电路常用来完成波形的变换 幅度的鉴别等工作 这里利用施 密特触发器可以将非矩形波变换成矩形波 方波就方便于 FPGA 的频率测量 原理如 下图所示 图 3 18 施密特触发器原理图 本科毕业设计说明书 22 3 6 2 等精度频率计设计 如上原理所示 80M 的基准时钟控制 对输入信号要求占空比为 50 这样才能准 确的测量频率 下面是频率计的调用函数和同 PIC 交换数据的函数 fr u1 CLK 50M CLK 50M 基准时钟输入 CLK X CLK X 待测信号经过整形后输入 Start n Start n 重新测频率 CountA CountA 基准计数输入 CountB CountB 待测计数输入 Ready Ready always begin if fr read 读频率值使能 begin case select 区分取那段值 3 b001 Fr data CountA 7 0 3 b011 Fr data CountA 23 16 3 b101 Fr data CountB 7 0 3 b111 Fr data CountB 23 16 default Fr data 8 bzzzz zzzz endcase end else Fr data a a temp0 else if temp05 避免频繁换数据 disp volt 调用电压值计算显示子程序 e 0 a 128 b 127 电压值计算显示子程序 switch vertical position 根据不同的垂直灵敏度计算峰峰值 应选择的档位不同 进行不同的数据运算处理 case 1 c c 0 4 break 0 010V case 9 c c 200 0 break 5V 对数据处理 转为文本模式 vot unsigned int c 计算坐标 dot unsigned int c 10 10 LcdWtNum4x8 clr 12 230 68 显示数字 一种基于 PIC18 单片机的数字存储示波器设计 25 write num n8 12 230 write num n8 37 230 显示 mvPP write num n8 45 230 write num n8 65 230 2 8 稳压直流电源设计 本设计中运放需要 5V 所采用的运放 AD 以及单片机都用的是 5V 的电压供电 特别是 ADC 需要稳定的 5V 电压 所以此部分是由 8V 8V 提供电压 在经过 LM7805 和 LM7905 变为 5 5 这主要是想给电路提供稳定的电压 在 ADC 板子上也 有个 LM7805 主要是用来提供数字电源 数字电源和模拟电源分开 以减少他们之间 的干扰 其设计也需要个负 18V 的电压 他是给液晶用的 主要功能是对比度的调节 他可以通过开关关闭 它对稳定性要求不高 所以直接由外部接进来 图 3 19 电源电路图 本科毕业设计说明书 26 4 系统调试 4 1 测试仪器 信号源 EE1643 型函数信号发生器 计数器 数字示波器 TeKtronix TDS 2022B 数字存储示波器 稳压电源 HY3003F 3 双路稳压电源 4 2 作品照片 图 4 1 照片 1 图 4 2 照片 2 一种基于 PIC18 单片机的数字存储示波器设计 27 图 4 3 照片 3 图 4 4 照片 4 图 4 5 照片 5 本科毕业设计说明书 28 图 4 6 照片 6 4 3 指标测试 使用自制的数字存储示波器和 Tektronix TDS 2022B 型数字存储示波器量输入信号 频率实测周期误差频率实测频率误差 500Hz455Hz8 86 10KHz9 395KHz6 05 1KHz929Hz7 05 50KHz45 070KHz9 86 5KHz4 707KHz5 86 表 4 1 频率计测试 1 注 幅值为 1 21V 的方波 峰值实测峰值误差峰值实测峰值误差 654mv720 6mv10 2 1 51v1604 5mv6 26 968mv1047 0mv8 16 2 24v2312 4mv3 23 1 14v1114 3mv3 69 表 4 2 峰值频率计测试 1 注 频率为 1K 的正弦波 4 4 测试结果分析 1 频率计有较大的误差 主要是由于占空比不稳定 其二是等精度频率计本身的误 差造成的 对于高频的信号测量相对好些 主要是测频方法所决定的 2 峰峰值的误差是缩放比例不准确 但是误差较小 效果相对较好 一种基于 PIC18 单片机的数字存储示波器设计 29 5 总结 经历的努力 终于完成了毕业设计 在此一种基于PIC18单片机的数字存储示波器 设计我采用了性能较强的PIC18F8720单片机作为整个设计中的主控芯片 本设计中 能够实现实现一路信号测量 可测量被测信号频率 峰峰值 波形等 测量频率范围 在1 20Khz 采用320 240液晶显示 可存储一定深度信号参数 实现数字存储示波器 的基本功能 毕业设计是每个大学生必须面临的一项综合素质的考验 如果说在过去四年里 我们的学习是一个知识的积累过程 那么现在的毕业设计就是对过去所学知识的综合 运用 是对理论进行深化和重新认识的时间活动 在这近两个月的毕业设计中 我们 有艰辛的付出 当然更多的是丰收的喜悦 知识固然得到了巩固和提高 但我相信在 实践中的切身体会将会使我在以后的工作和学习中终身受用 在整个毕业设计过程中 我遇到过需要问题 但通过书籍或网络查阅了很多相关 文章和向导师请教后终于解决了 在这个过程中 我学到了更多课堂上接触不到得东 西 通过这次毕业设计 我不仅对理论有了更深一步的认识 增强了和外界技术的沟通 还培养了自学能力和分析解决问题的能力 更重要的是 培养了克服困难的勇气和信 心 本科毕业设计说明书 30 参 考 文 献 1 张亦华 延明 数字电路 EDA 入门 VHDL 程序实例集 M 北京邮电大学出版社 2003 3 3 28 2 刘和平等 PIC18Fxxx 单片机程序设计及应用 M 北京航空航天大学出版社 2005 2 1 30 3 陈长龄 测试技术与仪器仪表当前发展综述 M 四川省电子学会电子测量与仪器 专委会第十三届学术年会论文集 2007 10 80 4 蒋焕文 孙续编著 电子测量 第三版 M 北京 计量出版社 2008 2 35 5 郭小虎 陈鹏鹏 基于单片机和 FPGA 的简易数字存储示波器设计 J 国外电子元 器件 2008 6 5 30 6 马杨云 牟方锐 王章瑞 100 MHz 虚拟示波器数据采集卡的设计与实现 J 计算机 测量与控制 2003 12 3 50 7 孙航 Xilinx 可编程逻辑器件的高级应用与设计技巧 M 电子工业出版社 2004 8 1 60 8 梁志国 曹英杰 蔡新泉 等 数字存储示波器的总体评价 J 仪器仪表学报 1999 5 545 9 陈林志 DSO 高速触发与时间内插电路模块设计与验证 M 电子科技大学 2005 10 Microchip Pic18f8720 Data Sheet EB OL 2007 1 11 Altera Performing Equivalent Timing Analysis Between the Altera Quartus II Software and Xilinx ISE EB OL 2003 8 12 李广军 孟宪元 可编程 ASIC 设计及应用 M 电子科技大学出版社 2003 8 50 90 13 张原 可编程逻辑器件设计及应用 M 机械工业出版社 2003 3 10 45 14 Xilinx Xilinx ISE 6 Software Manuals M Xilinx 2003 20 24 15 张延伟 杨金岩 葛爱学 Verilog HDL 程序设计实例详解 J 人民邮电出版社 2006 4 192 200 16 美 Muhammad Ali Mazidi Rolin McKinlay Danny Causey M PIC 技术宝典 人民邮电出版社 2008 4 15 40 17 ICM 精量电子 2007 8 25 18 谭浩强 C 程序设计 第二版 M 北京 清华大学出版社 2002 一种基于 PIC18 单片机的数字存储示波器设计 31 19 康华光 电子技术基础 数字电路 第五版 M 浙江 高等教育出版社 2006 1 536 20 胡烨 Protel99SE 电路设计与仿真教程 M 北京 机械工业出版社 2005 1 282 致 谢 本科阶段的学习生活即将结束 四年的大学生活是快乐而短暂的 毕业设计是我 们在大学中最后一次也是最重要的一次作业 它将会为我们的毕业画上一个完美的句 号 在这近四年的学习生活中 我的老师 同学 朋友和家人给予了我无微不至的关 心 毫无保留的指导和耐心细致的帮助 借此本科论文完成之际 谨向他们致以我最 诚挚的感谢 首先我衷心的感谢我的导师 XXX 老师 XXX 老师积极上进 治学严谨 平易近人 具有高度的创业精神 他以其宽广的视野 敏锐的洞察力 严谨的治学态度在学术上 给了我悉心的指导 使我在学术上不断进步 导师勤勉的敬业精神和一丝不苟的工作 态度使我深深感动 这将成为我一生工作和学习的好榜样 XXX 老师不光在我的学习上 帮助过我 更是对我的生活有着无微不至的关怀 再一次感谢他曾经给予我的帮助 感谢挚友 XXXXXXXXXXXXXXXXX 等 在学习 生活和思想上给予我的鼓励和支持 其次感谢所有关心爱护我的亲人 他们这么多年对我的关爱和支持 使我能够全 身心地投入学习生活 我所走过的每一步都凝聚着他们的爱 最后再次感谢所有关心爱护我的良师益友和亲人们 此致 敬礼 XXXX 2010 年 5 月 20 日 本科毕业设计说明书 32 附 录 附录 图 1 PCB 1 一种基于 PIC18 单片机的数字存储示波器设计 33 附录 图 2 PCB 2 本科毕业设计说明书 34 附录 图 3 触发 RTL 附录 相关程序 PIC PIC main c include include include include include include include unsigned int point location 10 extern char lockkey extern unsigned long fre extern char Display Mode 显示方式 extern char Fre Change 频率改变 extern char RealEqu 等效 实时采样判断 unsigned float c 0 0 void main port init 端口初始化 lcd init 320240 初始化 init dds dds 初始化 wave inite 绘制波形 change time 25000 PORTB 0 x0B AC DC 0 trig change 0 contrl void contrl void 一种基于 PIC18 单片机的数字存储示波器设计 35 TRISHbits TRISH1 0 Start n TRISHbits TRISH5 0 Rst ip TRISJbits TRISJ5 0 RD clk TRISHbits TRISH7 0 RD en TRISHbits TRISH6 1 Full TRISHbits TRISH0 1 ready Start n 1 重新采集频率 Rst ip 0 重新采集数据 RD en 1 RD clk 0 while 1 static char frist entry 1 unsigned int i e unsigned int temp0 temp1 前一点 后一点 static unsigned int p long temp 距离结果 static unsigned int a 128 b 127 checkkey TRISE 0 xFF if lockkey 0 if 1 Display Mode if RealEqu 等效 实时采样判断 equivalent sampling if ready 1 check fre else Fre Change 0 if Fre Change 频率改变 fre is changed 本科毕业设计说明书 36 display fre CalculateSampTime else fre not changed if Full 数据采集完成标志位 RD en 1 frist entry 1 TRISE 0 xFF for i 0 i 5 i RD clk 1 Nop RD clk 0 for i 10 ia a temp0 else if temp0227 temp0 227 else if temp0 227 temp1 227 else if temp1 5 避免频繁换数据 disp volt 调用电压值计算显示子程序 e 0 a 128 b 127 Rst ip 1 重新采集数据 RD en 1 Rst ip 0 重新采集数据 else 本科毕业设计说明书 38 real tiem sampling TRISE 0 xFF if Full 1 数据采集完成标志位 for i 10 i227 temp0 227 else if temp0 227 temp1 227 else if temp1 28 temp1 28 temp temp0 temp1 write dot wave i temp0 1 temp 一种基于 PIC18 单片机的数字存储示波器设计 39 Rst ip 1 check fre 检查频率改变 if Fre Change 频
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2030工业软件云化转型过程中的客户迁移成本研究
- 2025-2030工业视觉检测系统精度提升与行业应用拓展研究
- 2025-2030工业视觉检测算法精度提升方法论研究
- 2025-2030工业节能设备产业市场现状供需分析及投资评估规划分析研究报告
- 2025-2030工业自动化控制系统信息安全威胁与防护策略升级报告
- 2025-2030工业级指纹采集仪环境适应性技术突破
- 2025-2030工业级3D打印设备市场供需结构与技术路线选择报告
- 2025-2030工业窑炉余热回收装置能效等级与经济回报
- 2025-2030工业物联网安全防护体系构建与标准认证制度探讨
- 搜索引擎自然排名提升服务创新创业项目商业计划书
- 2022年高考全国Ⅰ卷语文真题及参考答案-全国Ⅰ卷
- 天津市普通高中学业水平考试英语词汇表
- Wagstaff低液位自动控制铸造-课件
- 锂电池安全培训课件
- 妇科护士进修汇报护理课件
- 消防验收竣工报告
- 法院调令申请书范本
- GB/T 23451-2023建筑用轻质隔墙条板
- 驻足思考瞬间整理思路并有力表达完整版
- 第二章 盛唐诗歌边塞诗派公开课一等奖课件省赛课获奖课件
- 滚筒干燥机设计毕业设计
评论
0/150
提交评论