基于单片机的便携数字存储示波器
路前并联了两个钳位稳压二极管, 保证在输入交流信号过压时钳位在安全范围内, 此时程序判断到A/ D 的输出大于量程, 也会自动切换衰减倍数, 转到更高档位, 起到保护A/ D 和单片机芯片的作用。
2. 3 单片机与液晶模块接口电路
单片机使用C8051F020, 它是一种高集成度的混合信号片上系统, 有按8 位端口组织的64 个数字I/ O 引脚, 所有引脚都耐5 V 电压, 都可以被配置为漏极开路或推挽输出方式和弱上拉。液晶模块采用TFT 液晶,TFT( Thin Film T ransistor) 为薄膜晶体管有源矩阵液晶显示器件。每个液晶像素点都是由集成在像素点后面的薄膜晶体管来驱动, 从而可以做到高速度、高亮度、高对比度显示屏幕信息。它以行扫描信号和列寻址信号控制作用于被写入像素电极上的薄膜晶体管有源电路, 使有源电路产生足够大的通断比, 从而间接控制像素间呈TN 型的液晶分子排列, 达到显示目的。
液晶模块采用ILI9320片上系统( SoC) 驱动器, 支持26 万色显示, 分辨率为240RGB@320 像素, 图像数据存储区的大小为172, 800 字节, 同时还集成了电源电路。其内部结构框图如图3 所示。
图3 ILI9320 内部结构框图
ILI9320 与MCU 之间有4 种总线接口方法, 分别为i80 系统总线, 串行总线, RGB 总线和VSYNC 总线。在此采用i80 系统总线进行控制, 通过读使能( RDB) 和写使能(WRB) 两条控制线进行读写操作, 其中数据宽度为8 位。由于LCD 模块中的数据线为16 位, 实际中只用到了8 位, 因此要对低8 位接地。液晶模块中,DB8~DB15为双向数据总线, RS 为数据/ 寄存器的选择信号, 当RS 为低电平时, 表示对液晶模块内部的寄存器操作, 为高电平时对显存中的数据进行操作, CS 为片选信号, RESET 为复位信号。这些信号线直接与单片机的GPIO 总线相连, 不需要设计外围的电路。
3 系统软件设计
系统软件设计主要完成对程控衰减放大电路的控制, 波形数据的处理与存储, 触发设置以及LCD 模块的波形显示功能初始化编程, 软件设计总体框图如图4所示。
3. 1 触发器的软件实现
触发器是示波器的重要组成部分, 通过触发器产生的控制信号, 控制示波器对波形数据的存储和显示, 达到稳定同步的目的。本系统设计的触发器, 采用全数字化结构, 大大降低了系统硬件电路的复杂性, 并且触发条件的调整比较方便。触发器通过引用单片机内部的RAM 资源定制了一个FIFO 作为采集数据的暂存区,将波形数读入该缓存区, 按照预先设定的触发门限,将缓存区中的数据读出, 如果满足触发条件, 则将数据在屏幕上显示出来。
图4 软件设计总体框图
3. 2 波形显示的插值算法
采样得到的波形数据可以直接显示, 这样在屏幕上看到的是一些离散的亮点, 波形的显示不是连续的, 不利于观察分析信号, 因此需要进行插值算法, 也就是说利用少数采样点来推算出完整波形数据的处理方法。插值的方法有多种, 比如矢量式内插、正弦内插、抽样函数内插等, 结合各自的特点, 本系统使用了正弦内插技术, 使得波形的显示具有很好的连续性, 提高了视觉效果。正弦内插是一种专门用于信号重建的方法, 一般情况下, 每个周期使用2. 5 个数据字就可以构成一个较完整的正弦波形。它的理论基础是信号重建的抽样内插公式, 即:
式中: T 为采样周期; x(mT ) 为A/ D 采样得到的数据。式( 3) 表明, 可以通过抽样信号恢复出原始的连续时间信号。本文中不需要恢复原始信号, 只是为了增加采样点数据, 因此要对时间t 离散化, 一般来说, t 为0. 1T ~0. 2T, 也就是说每一个采样周期内要插入5 ~ 10 个波形数据, 同时, 求和范围也要进行限制, 计算点区间为( 0, m) , m的取值不能太大, 否则会降低运算速度[ 9] 。使用Matlab 对插值算法进行仿真, 仿真结果如图5 所示, 其中图5( a) 、图5( b) 、图( c) 分别为原始信号、采样以后的离散信号以及经插值算法处理以后的采样信号,可见, 正弦内插算法插入的数据点接近原始信号的幅值。经理论计算可知, 当求和区间为( 0, 30) 时, 引起的幅度显示误差小于0. 9%。
图5 正弦内插算法仿真
4 系统调试和测试
在完成了系统的硬件设计和软件设计以后, 需要进行综合调试和测试。通过调试, 不断优化程序代码, 对程序中的问题及时更正修改, 使系统的性能得以提高,工作状态更加稳定。测试的过程中可以修正电路中元器件的参数等, 以免理论分析与实际状态的差距引起的波形显示效果不佳以及显示中噪声的影响。
在进行系统联调时, 要不断修正程控衰减放大电路的程序, 将输入信号调整到最佳的显示量程范围内, 手持示波器的实物图如图6 所示。
图6 手持示波器实物图
当输入500 Hz, 峰峰值
单片机数字存储示波 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)