APP下载

数字示波器的设计与实现

2020-06-04何佳林郑琳

卫星电视与宽带多媒体 2020年6期

何佳林 郑琳

【摘要】本文提出了一种简易数字示波器的设计方案。其设计方案基于STM32103C8T6单片机,实现数字示波器基本功能。系统将传感器输出的4~20mA的标准信号通过以A/D转换电路调理后,经由单片机进行数据处理,最后由LCD显示波形相关值。与传统的模拟示波器相比有许多优点,易操作、体积小、精度高、可永久存储波形数据、反复重现波形数据等。特别适合电子制作群体,故其使用面更加广。

【关键词】波形检测;上位机开发;A/D转换;

1. 系统方案设计

数字示波器由7部分组成:单片机部分;信号调理电路A/D转换部分;人机界面和交互式界面部分。系统组成框图如图1.1所示。

2. 硬件设计

2.1 单片机系统电路设计

本设计采用STM32103C8T6作为主控芯片,通过液晶屏幕显示数据。整个系统的硬件设计大致可以分为四个模块,分别是:电源电路、串口模块、单片机最小系统(晶振电路和复位电路)、波形检测电路。电源电路负责为单片机、复位电路、串口模块和波形检测电路供电,从而使单片机波形检测电路和串口模块正常运行,绿色指示灯也因此点亮,表示当前供电正常。整个系统的智能控制部分是单片机最小系统,该系统也是整个系统的核心部分。

2.2显示电路设计

JLX2.4TFT液晶模块也叫JLX2.4TFT字符型液晶其是一种专门用来显示字母、数字以及符号等的点阵型液晶集成模块,该模块有很多个5x7或者5x11等的点阵字符位构成,每个点阵字符位都能够显示一个字符的功能。每个显示的位之间有一个点距将其隔开,每一行显示的字符之间也有间隔,起到了字符间距和行间距等的的作用,但是其不能显示图形(用自定义CGRAM,显示效果也不好)JLX2.4TFT液晶显示的内容可以显示多行,每行有128X64个字符液晶模块(可以显示字符和数字数据)目前市面上字符液晶模块大多是基于HD44780液晶芯片控制的,控制原理是差不多相同的,因此以HD44780为基础写的控制程序可以很方便地应用于市面上绝大部分的字符型。

2.3按键电路设计

系统有四个按键分别为,波形对应PB12,倍率对应PB13,数值+对应PA11,數值对应PA12,PB12起到了波形调节的作用,选择不同的波形,PB13为倍率设计按键,当设定过波形后通过PA11和PA12进行调节。

2.4通讯电路设计

串口模块采用HC-05主从一体的串口模块。模块为单电压输入电压为3.3V。整个板子由Micro USB接口供电,兼容安卓手机的充电线,对应该USB口添加了一个发光二极管D8,用于指示整版上电。模块旁边放置了电源开关SW110,左右波动可以实现模块的单独上电和掉电。对应电源开关有一个发光二极管D110,用于指示模块上电。当串口设备连接后,可以忽视串口内部的通信协议。当建立连接时,只需观察串口是否已经设置完成AT模式是否连接好。

3. 软件设计

3.1 系统主程序设计

本数字示波器的软件设计部分采用模块化程序设计,主要由A/D转换子程序,LCD液晶显示子程序,EEPROM读写子程序,按键处理子程序组成。通过AD采集波形数据然后用按键调节波形,最后进行波形处理,就可以在LCD上显示完整的波形,整个系统的主程序流程图如图2.1所示。

3.2 串口通讯程序设计

串口通讯子程序的功能主要是作为调试时使用,由于单片机采集信号数据后,是存储在RAM中的,有时候需要对采集到的数据进行分析,这时就使用串口,将RAM中的这些数据信息发送到电脑的串口上,这样就能很方便的对数据进行分析。

从机器端的通信协议是:①关闭中断以判断当前状态是否是接收状态(EA=0、RI=1),如果是则开始计数(记录所收到的数据的字节数);如果不是则直接清除接收到的信息同时打开中断(EA=1、RI=0)。②根据第一个字节是否为0xAA来判断所接收到的数据帧是否为命令帧。③根据字节数是否大于5字节来判断所接收到的数据帧的字节是否符合要求。④按字节逐个个判断所接收到的信息:首先确定是不是本机的地址、校验是否正确;如果判断及效验正确则继续判断主机是向哪种类型数据发出要求命令,并在发送数据的命令后做出对应的反应,检验完一帧数据后直接将数据接收(RI=0),并打开中断等待下一次的命令的到来。该模块主要包括串口数据的发送与接收。

4. 系统调试

基于PC控制的硬件模块和软件模块全部调试调试完成后,下面就可以对系统的整体进行调试。首要部分依然是检查整个电路的连接是否正常,将整个电路通过USB连接到电脑上之后。指示灯点亮,表示整个电路运行正常。将PC串口助手打开,搜索到COM后,再进行测试。用波形发生器发生波形然后手动调试接收到的波形形态,并尝试复位能功能。如果全部都能实现,那么总体的调试基本完成,该设计与预期相比能实现示波器基本功能,但后期波形调试还可以加以改善。与传统模拟示波器相比,该设计不仅具有可存储波形、体积小、功耗低,使用方便等优点,而且还具有强大的信号实时处理分析功能。

5. 结论

简易示波器的工作流程分为三步:采集、存储、显示,其工作原理为由高速A/D器件采集待测波形的电压值,并将采集到数据存储到RAM区,然后由单片机对数据进行运算,并控制波形的显示,本设计解决了如下问题:1.在本设计中所采用的核心控制器为STM32单片机,该单片机的主频比较低,所以对于采集较高频率的波形比较困难。采取的措施为提高单片机的晶振频率,改进示波器数据采集算法。2.由于波形显示的问题,ADC0809所采用的时钟为500KHz,可以通过单片机的ALE信号分频得来,单片机晶振采用12MHz,则ALE信号的频率为2MHz,产生500KHz的时钟,需经过74LS908分频后得到。

参考文献:

[1]陈明荧.MCU课程设计实训教材[M].北京:清华大学出版社,2015:25-27.

[2]王鹏.上拉电阻在数字电路中的应用[N].河南机电高等学校学报,2016-02-12(3).

[3] 于志赣,刘国平.液显LCDJLX2.4TFT模块的应用[J].机电技术,2015(3):21-23.

[4] 张琛,耿标.16*16点阵LED的设计[J].硅谷,2016(15):30-31.

作者简介:何佳林,男,沈阳工学院,学生。郑琳(通讯作者),女,汉族,辽宁人,沈阳工学院,教师,讲师,硕士学位。