数字示波器是一种用于显示电信号波形的仪器,主要由模拟前端处理电路、单片机电路、电源电控制电路、触发电路、校准电路等电路组成。主要包括以下电路:
模拟前端处理电路:负责将输入的检测模拟信号进行处理后给单片机进行识别,具体电路包括了交直流耦合选择电路、电压衰减电路、信号处理电路以及频率检测电路,是整个电路的核心。
电源电路:负责给运放提供正负电源以及系统供电,是保障电路正常运行的基础;
单片机电路:给系统提供控制核心,负责对输入信号的采集与处理输出工作;
人机交互电路:用于控制示波器功能,包括按键、旋钮、LED灯、显示屏以及其它输入输出接口为示波器功能的开发提供基础。
一个优秀的数字示波器设计及工作原理非常复杂,其中还包含了许多细节和技术内容,各个电路相互配合,使得数字示波器能够准确地获取、存储和显示输入信号的波形。
硬件部分:
前段模拟电路:
在整个示波器电路设计过程中,模拟前端处理电路是最为重要的,其中大量应用了模拟电路的知识,其中包括输入交直流耦合切换电路、输入信号衰减电路、以及信号调理电路所组成
1 – 交直流耦合电路
信号类型可以分为直流信号和交流信号,现实中的信号往往都是都不是理想波形。比如直流电源信号应该是一条水平的直流信号,但都会存在电源纹波(交流信号);在采集交流信号时也可能混入直流信号对波形的峰峰值造成影响。
为了保障对输入交流信号的准确测量,利用电容通交隔直的特性,将电容串联到电路中就可以过滤到信号中的直流分量,这就是交流耦合(Ac coupling)的概念。而直流耦合(Dc coupling)就是不对输入信号做任何处理。
绿色的U2信号,是一条直流信号,电压为1V,红色的U1是一个正弦信号,峰值电压是2V。两个信号一起输入,交流耦合后会将直流信号滤除,产生的U3信号和U1信号一模一样。直流耦合后,输出的信号U3是U2整体往上抬高了一个单位。
电路中通过一个拨动开关SW2对输入交直流耦合信号进行切换,当开关2与1接到一起时为直流耦合当开关2接到3时为交流耦合。
电容的频率特性理想状态下隔直电容的选择应该是越大越好,但由于不同容值的自谐振频率不同,低于自谐振频率时电容呈现容性状态,高于该频率时存在感性状态。电容越大,其自谐振频率越低,简单来说就是大电容通低频小电容通高频。如下图可知当瓷片电容为0.1uF(100nF)时,其自谐振频率为4Mhz,一般要求电容的截止频率fc=1/5*fo,其中fo为电路中工作频率。由此可知在该项目中100nF是足够应用的,但如果输入信号频率更高就应该选择更小的电容。
2 – 输入信号衰减电路:
信号经过交直流耦合选择电路后由开关SW3选择两个通道,开关2和3接到一起时,输入信号直接流入后级的电压跟随器电路;当开关2和1接到一起时,输入信号经过R7、R11、R14三个电阻构成的电阻分压网络后将信号衰减到了1/50倍
由此可知,当输入信号幅值较小时,可优先选择低压档位,如果测量时不确定输入信号幅值可先用高压档位测量后如满足低压范围内,可用低压档位测量以得到更为精准的测量结果,同时保护电路。
3-信号调理电路
在信号调理电路中包含了一个电压跟随器以及由运放构成的信号放大电路,在分析该这部分电路时需要掌握运放的虚断与虚短原理。
虚断:
理想运放的输入阻抗是无穷大,然而真实的运放输入阻抗却是有限的。如果给运放的输入端加一个电压然后测量该输入端的电流会发现电流读数接近为0,感觉运放内部断开,没有电流流入一样,但实际又是连接
的,这种现象称为虚断。也可以用欧姆定律U=I*R来理解,当电压一定时,电流与电阻成反比,电阻无限大那电流也就无限小接近为0。
虚短:
在运放处于深度负反馈时会出现虚短现象,使两个输入端的电位相等,就好像两个输入端短接到了一起可以近似为V+=V-。在负反馈中,运放的输出信号的一部分被取出并反馈到输入端。这种反馈作用使得运放的两个输入端(正输入和负输入)的电压差趋近于零,、两个输入端的电压几乎相等。因为尽管运放的两个输入端在电气上并没有被直接短路、,但由于负反馈的作用,两个输入端的电压却几乎相等,就好像它们被短路了一样,故称为虚短。
电压跟随器:
电压跟随器的特点是输出的电压幅度和极性都与输入电压相同,且具有输入阻抗高,输出阻抗低的特点,常用于做缓冲级和隔离级。
存在负反馈电路,所以运算放大器存在的虚短特性,会导致V+=V-,由于Vin = V+,Vout = V-,所以Vin = Vout,即TP6测试点电压与TP7测试点电压一致
反相比例放大器:
输入信号从运算放大器的反相输入端输入,具有输出极性相反且放大输入信号的功能。
当运放同相输入端接地,U+ = 0。此时构成反相比例放大电路,由运放的虚断特性可知反相输入引脚流入运放的电流为0,可以将R13和R15看做串联,所以流经电流相同。存在负反馈电路,由于虚短特性可知V+ = V- = 0, i+ = i- = 0,R13左边接了一个电源,从左边流入的电压是Vi,电流流出R13后,就串联流入了R15,但因为虚短特性,R15左端也是0v,加在R15的电阻上的电压为0 – Vout由此可得:
(Vin – 0) / R13 = (0 – Vout)/ R15
可推出反相比例放大器计算公式中输出端的电压,也就是R15的Vout电压为:
Vout = – (R15 / R13) * Vin
将Vin = 1V,R13 = 20K,R15 = 10K带入得Vout = -0.5V
同相比例放大电路:
输入信号从运算放大器的同相输入端输入,具有输出极性相同且放大输入信号的功能。
当运放反向输入端接地,U-=0。此时构成正相比例放大电路。同相输入端游5V电源,受到R4和R8电阻的分压,Vin电压变为原来的1/3即5/3V,但是因为虚断,所以电流为0。由运放的虚断特性可知运算放大器两个输入引脚流过的电流为0,即流过R4的电流为0,Vin = V+,可以看做R13和R15串联所以流过的电流也相同。由虚短特性可知两个输入引脚的电压相同,即V+=V-,所以有Vin=V+=V-。Vout与R13和R15构成回路,因为R13左边接地,所以R13左边的电位应该为0,串联到R15的右边电位又为Vout,则流过的电流为:
I = Vout – 0/ (R13 + R15)
单独对R13来看,流过的电流也等于它两端的电压除以它的电阻值,R13左边接地,所以左边的电位为0,右边电位为V-。代入Vin=V+=V-得到以下公式:
I = ((V-)- 0) / R13 = (V+ – 0)/ R13 = (Vin – 0) / R13
结合两公式可推导出 Vout = Vin * (1 + (R15 / R13))
将Vin = 5/3V,R13 = 20K,R15 = 10K代入得Vout = 2.5V
总和电路:
将正相比例放大电路与反相比例放大电路结合起来共同分析:
当运放正相输入端接地,U+=0时,Vout = -(R15/R13) * Vin 代入R15 = 10K, R13 = 20K,V1 = 0.5V
当运放反相输入端接地,U-=0时,Vout = Vin * (1 + (R15/R13)) 代入R15 = 10K,R13 = 20K,Vin = 5/3V,V2 = 2.5V
当两电路共同作用时Vout=V2+V1=2.5-0.5V,整理可得:
我们也可以直接来分析,首先电路采用了负反馈电路,会产生虚短,A点电位应该和同相输入端的电位相同,我们可从同相输入端的电源处分析出,经过R4和R8两个电阻的分压,到同相输入端的电压应该是5/3V,所以A点电位为5/3V。在R13电阻左边还接入了一个1V的电源,R13电阻的右边电位5/3V大于左边的电位1V,所以电流从右流向左,又因为运放器的虚断效应,A点左边几乎不会产生电流,通过基尔霍夫定律我们可以知道,A点向左流出电流,右边没有电流,那么A点下方的电流只能是流入的了,所以流过R15电阻的电流应该是从C流向B的,也就是从右流向左的,也就是说C点的电位是比B点的电位高的,也可以认定R13和R15是串联的,所以经过两个电阻的电流相同。我们就可以利用经过R13电阻的电流来求出R15电阻两端的电压。
I = (Ua – 1V) / R13 = (Uc – Ub) / R15
B点的电位我们知道是和A点的电位应该相同的,也就是同相输入端的电压5/3V,整个等式中就只有Ub是未知的了。运算可以求出Ub = 2V也就是Vout = 2V。
我们再结合前面的衰减电路进行分析:
Vout信号将直接接到单片机的ADC引脚,由于单片机采集到ADC的电压范围值为0~3.3V,由此可以计算出该示波器输入电压范围。
当输入信号Vin不衰减时,将Vo=0、Vo=3.3V分别代入公式得:
当输入信号Vin衰减1/50时,将Vo=0、Vo=3.3V分别代入公式得:
可得以下结论:
当SW3开关2和3接到一起时可以测量的输入信号幅值为-1.6V-5V
当SW3开关2和1接到一起时,1可以测量的输入信号幅值为-80V-250V
4-比较器测频电路:
为了实现频率检测的功能,将ADC输入信号通过一个滞回比较器对输入信号进行比较,实现频率的测量功能。滞回比较器是属于电压比较器中的一种,常规的电压比较器是一个单限比较器,电路中只有一个阈值电压,但在输入电压在阈值附近有微小变化时都会引起输出电压的越变。为了增强电路的抗干扰能力,在单限比较器的基础上引入了正反馈,保障了在一定范围内信号的稳定性。通过滞回比较器电路后输出一个方波信号,使用单片机的定时器捕获功能计算出输入波形的周期大小。
电源电路
1-USB电源输入:
该项目使用STM32最小系统板为核心,板载了5V转3.3V降压电路,所以在设计扩展板时只需要设计一个5V电源输入电路即可,这里选用了主流的Type-c为输入接口,且该接口只有两根线,插件封装,方便新手焊接学习,但需要注意的是这个Type-C接口仅用于供电,不能传输数据,如果需要使用传输数据,可以使用核心板上的Type-C接口。SW1为电源总开关、C1为输入滤波电容,R1是LED1的限流电阻。
2-负电压产生电路:
除了电源输入电路为,为保障运算放大器对于负电压的测量性能,使用了XD7660负压产生电路得到个负电压,该芯片外围电路简单,只需要两个电容和一个二极管即可工作,理论上输入电压为+5V,也可以输出一个-5V的电压,由于芯片内部存在一定压降及转换效率,实际测量负电压为-4.3V左右,也能满足运算放大器的要求。
人机交互电路
1-液晶显示屏
1.8 TFT是一款彩色显示屏,具有128×160个彩色像素使用四线SPI通信方式与单片机进行连接,,一共有八根引脚,模块引脚说明及与单片机连接情况如下所示:
2-旋转编码器:
旋转编码器属于一种特殊的按键,该项目使用的EC11旋转编码器有五个引脚,其中DE两个引脚类似于普通按键引脚,按下导通,松手断开,其余ABC三个引脚用于检测旋钮的转动方向,c脚为公共端,直接接地就行。
在旋转编码器时,A和B两个信号引脚存在相位差,也就是有一个引脚信号变化后另一个引脚信号再跟着变化,即两个引脚不同时变化,通过检测哪个引脚先变就能判断是正转还是反转功能。
3-LED灯指示电路:
LED指示电路设计比较简答,采用低电平驱动的方式,当单片机引脚输出为低电平时,LED两端存在电势差:LED点亮;当单片机引脚输出为高电平时,LED灯熄灭。
4-按键输入检测电路:
除了旋转编码器外,该项目还使用了三个独立按键对系统进行控制,三个按键一侧直接接地,另一侧连接到单片机引脚,当单片机引脚检测到按键按下时,单片机引脚直接接到GND接地,单片机收到该引脚接地信号的反馈后再去实现对应的功能,为节约硬件成本,可以在软件设计时引入消抖功能,避免机械按键抖动时的误触发。
5-波形输出接口:
除了示波器检测功能外,单独引出了一个PWM信号用于模拟一个简易的函数发生器功能,可以通过改变输出PWM的频率和占空比输出一个简易方波信号输出。