基于单片机的等效采样示波器设计
3 软件设计
3.1 总体软件流程
总体软件流程如图3所示。MCU1接收MCU2的测频结果,并将幅值信息传递给MCU2,由MCU1根据输入频率确定采样方式,并控制精密时钟发生电路为ADC提供采样时钟。一次采样完成后,由MCU1处理采样数据并送LCD显示。
3.2 实时采样的实现
实时采样中,为了使采样得到的波形尽量精确,系统将1.25MHz以下的信号分为三个频率范围,在每个频率范围内由程控时钟电器产生某一固定的基准时钟,结合相应的分频数进行采样。具体设置如睛:输入频率为1Hz~1kHz,由单片机提供40kHz采样时钟;输入频率为1kHz~1MHz,由芯片SY89429V提供40MHz采样时钟;输入频率为1MHz~1.25MHz,由芯片SY89429V提供50MHz采样时钟。
3.3 等效采样的实现
由于可编程频率合成芯片SY89429V在本系统所使用的25MHz~50MHz频率范围内,步进值始终为0.125MHz。为便于数据处理,软件设计过程中可以将所有的实际频率转换成以0.125MHz为单位的代值,即除以0.125MHz。 系统中所采用的模数转换器TLC5540的转换速率为5MHz~40MHz,当输入频率小于40MHz时,采用每个信号周期采一点的方法;当输入频率超过40MHz时,采用两个信号周期一点的方法。
下面以输入频率在1.25MHz~40MHz之间的情况为例,输入频率大于40MHz的情况可以类推得到。 将输入频率fin转换后的代值(以后简称代值)记为dfin,根据输入频率设定芯片SY89429V的频率字SY(只取整数,用于控制输出信号的频率),经过n分频后产生采样频率。根据等效采样的原理,采样频率与输入频率相近(对于输入频率为40MHz~80MHz的情况,采样频率与输入频率的二分频接近),二者频率代值的差值记做da,则SY可以表示为: SY=(dfin-da) %26;#215;n
(1) 这时复现一个波形所需的采样点数为: d=(dfin-da)/da
(2) 本系统选用的液晶为160%26;#215;160点阵,将x轴上40个点所表示的时间定义为一格时基,记作A,则液晶屏幕上显示的周期个数为: N=160%26;#215;da/(dfin-da) (3) 由此,时基可以表示为: A=N/(4%26;#215;fin)=40%26;#215;da/[fin%26;#215;(dfin-da)]
(4) 一个波形的采样点数也可以用时基和输入频率来表示: d=40/(A%26;#215;fin)
(5) 笔者利用本文介绍的算法,实现了等效采样,能够地1MHz~80MHz的周期信号进行波形复现,效果令人满意。这种简易示波器在人机界面上为用户提供手动和自动两种工作模式,性价比高,有广阔的市场空间。
评论