存储深度被称为数字示波器的第三大指标。存储深度=采样率*采样时间。这个关系式被笔者称为数字示波器的第一关系式。
1、存储深度的基本概念
“存储深度”是个翻译过来的词语,英文叫“Record Length”。有的将它翻译成“存储长度”,“记录长度”,等。它表示示波器可以保存的采样点的个数。存储深度是“1千万个采样点”,示波器厂商写作10Mpts,10MS或10M的都有。这里,pts可以理解为points的缩写,S理解为Samples的意思。
存储深度表现在物理介质上其实是某种存储器的容量,存储器英文就是“Memory”。该存储器容量的大小也就是“存储深度”。存储器保存满了,达到存储深度的极限之后怎么办? 我们可以将示波器的存储器理解为环形存储器。示波器不断采样得到新的采样点会填充进来,老的采样点会自动地溢出,这样周而复始的过程直到示波器被“触发信号”“叫停”或者间隔一定长的时间被强迫“叫停”为止。“叫停”一次,示波器就将存储器中保存的这些采样点“搬移”到示波器的屏幕上显示。这两次“搬移”之间等待的时间相对于采样的时间极其漫长,被称为“死区时间”。
上述过程经常被笔者这样打比方:存储器就像一个“水缸”,“水缸”的容量就是“存储深度”。如果使用一个“水龙头”以恒定的速度对水缸注水,水龙头的水流速度就是“采样率”。当水缸已经被注满水之后,水龙头仍然在对水缸注水,水缸里的水有一部分会溢出来,但水缸的总体容量是保持不变的。在某种条件下,水缸里的水将被全部倒出来,周而复始。图1形象地表示了这种环形存储器的概念。
图1 数字示波器的环形存储器
2、数字示波器存储器的物理介质
存储器的物理介质是什么? 是否就是我们熟悉的DDR内存呢? 容量为什么那么小?为什么不可以用硬盘或者SD卡等大容量介质作为物理介质呢? 如果是硬盘作为存储介质,示波器不就可以作为数据记录仪了吗?
回答上述问题其实并不容易!
据笔者了解,早期的示波器包括现在的高带宽示波器使用的存储器都是示波器厂商自己设计的专用芯片,甚至一度存储器芯片和ADC芯片之间的配合是A公司(后来叫K公司)的一个技术瓶颈。在若干年之前,K公司的所有示波器在存储深度达到每通道2Mpts采样点之后,采样率会自动降低到4GS/s,直到2006年(好象是这个年份,也许更晚点),当年的A公司收购了某芯片公司才解决这个技术瓶颈。现在K公司的低带宽示波器的所有系列中,存储深度指标一直不能突破每通道2Mpts,我猜想它可能采用的还是老款芯片。
对于高端示波器,存储器芯片一直是核心技术,对于里面的技术细节笔者知之甚少。示波器中的ADC速率太快,普通的存储介质根本来不及在这么短的时间内“吞吐”那么大量的数据量。
还是用具体的数字来理解高速ADC的超大数据量对存储器“吞吐量”提出的要求。譬如ADC的采样率是20GS/s,也就是说每秒钟要采样20G个点,而每个点是由8个0和1组成。如果ADC的输出是完全按照串行数据的传输到存储器中,那么传输速率就是160Gbps。这是什么概念? 现在的PCI-Express 3.0的速率是 8Gbps,最高速的高速芯片在单板上传输速率能达到25Gbps,但还不成熟,也没有用到示波器上。高速ADC的采样点怎么传输到存储器中,这是一个难题! 其实这么高速的ADC也不可能是单芯片设计的,内部是由很多2.5GS/s或1.25GS/s,250MS/s的“小的”ADC“交织拼接”实现的。既然不完全是串行的方式实现,采用并行传输之后,传输到存储器的数据又怎么校准、对齐,再通过触发机制规整地显示到示波器屏幕上呢? 这是示波器厂商的一点点小秘密。示波器发展到今天这方面门槛谈不上多高,但还是有那么一点点的。
大家可能又会问另外一个问题,存储器的数据又是怎么传输CPU中被分析、被显示呢? 这也是一个问题,这问题涉及到示波器的数据处理的架构。随着示波器技术的发展,目前存在的两种架构,一种是基于PC平台的,另外一种是嵌入式的,主要是基于FPGA实现的。随着DDR内存速率的提高和FPGA计算能力的增强,现在基于FPGA计算平台的存储器芯片已经不再神秘,多是采用工业上的DDR内存颗粒了,因此存储深度这个指标,在不顾及存储的采样点是否真的被显示、被分析的情况下,可以做得特别大了。但往往真实情况是,虽然存储深度很高,但显示的采样点数和分析的采样点数可能只有千分之几,这主要取决于FPGA的“计算资源”或者说取决于成本,换句话说,取决于示波器产品的定义了。当然在不顾及成本的情况下,可以向外行人吹嘘一下是算法的优势。在这类产品中,在屏幕上看到的波形对应的存储深度并不等于采样率乘以采样时间,这有时侯确是让人很纠结的。
3、存储深度和采样率的关系
存储深度=采样率*采样时间。笔者一直执着地将它称为示波器中的第一关系式,因为很多工程师在使用示波器过程中因为忘记这个关系式而产生错误。如图2为中国首款智能示波器SDS3000的显示界面。右下方红色方框中,右边两个数值50MS/s和20ms/div相乘,再乘以10,就等于左边的数10MS。当前采样率为50MS/s,当前时基为20ms/div,因为水平轴是10格(有些示波器是12格或14格),因此采样时间为200ms, 50MS/s * 200ms = 10MS。就是说以50MS/s的采样率捕获200ms的波形,需要示波器的存储幅度是10MS。这和水缸里面注水是一个概念,如果“水龙头”的流速是每秒5千万(50M)滴水,那么持续向“水缸”注水200ms,水缸中就有了1千万(10M)滴水了。 就是这么简单的乘积关系。
图2 鼎阳科技SDS3000的显示界面
这个第一关系式被数字示波器厂商用很多美妙的比喻来强化。其中最经典的一个比方和“蒙娜丽莎那迷人的微笑”有关:当存储深度太低的时候,也就相当于数码相机的像素太低,拍摄这个名画的照片就无法生动复现蒙娜丽莎那迷人的微笑,但是却能够逼真地拍摄出蒙娜丽莎那俏丽的鼻子,因为拍摄迷人的微笑需要拍摄完整的面部,需要更高的像素,而鼻子只是局部,像素的要求并不高。
图3的示意图也清晰地演绎了这个关系式的重要性。第一个图形表明在采样率足够的前提下观察多个周期的样本,需要的存储深度深度很长,图示中需要36个采样点。第二个图形采样率依然保持不变,但存储深度变小,只有9个采样点,因此只能采样一个周期多点的波形。第三个波形仍然是存储深度很小,只有9个采样点,但仍然要采样和第一个图形一样多个周期的波形,其结果是采样率变小,测量得到的波形就会失真。
图3 采样率和存储深度之间关系的演绎
4、最大存储深度,当前设置的最大存储深度,存储深度的叠加使用,可显示的存储深度,可分析存储深度
每台示波器标配的最大存储深度和加了选件之后的最大存储深度可能不一样。 每台示波器的最大存储深度受到物理介质限制。 已经购买的示波器最大存储深度需要在菜单中设置。示波器厂商为了追求操作体验,出厂默认的存储深度往往并不是这台示波器可达到的最大存储深度。
一旦设置好当前的最大存储深度之后,调节水平时基,随着采样时间的增加,示波器的存储深度会自动增加,这个过程中采样率保持不变; 存储深度随采样时间增加到当前设置的最大存储深度后,如果继续增加采样时间,采样率会自动下降,存储深度保持不变。但是,有些情况下,因为采样率和采样时间的步进是在固定的若干个档位下跳变,并不是连续细调的,两者相乘不一定和最大存储深度的数值相同,这时候示波器可能会自动调整当前的采样率或存储深度,使得它们三者满足乘积关系。如图4所示用具体数值演绎了这三者之间的乘积关系。
图4 存储深度、采样率、采样时间(水平时基)之间的关系
数字示波器多个通道同时工作时,采样率和存储深度可以工作在叠加模式。多数示波器是2个通道叠加,也有的是4个通道叠加。如图5所示表示两个通道叠加使用的工作原理示意图。通道1和通道2交替采样,一个通道延迟1/2的采样周期使得采样率加倍,示波器在采样过程中交替读取存储器中的采样点,整体存储深度也相应加倍。因此,为了获得最大的采样率和存储深度,在只使用两个通道进行测量时,对于两两叠加的模式,建议只打开1、2通道中的一个,3、4通道中的一个。
图5 数字示波器两个通道工作在叠加模式示意图
现代示波器的存储深度虽然很高,动辄捕获成千上万个数据样本,可是示波器的显示屏在水平方向上的图像分辨率往往只有1280个甚至更少的像素。示波器是如何将那么多的点挤在这么小的屏幕上显示出来的呢? 显示的压缩算法解决了这个问题。压缩算法将捕获的大量数据样本分成很多小段,每一段只抽取最大值和最大值的数据点显示在屏幕上,如图6所示,显示屏幕上只显示了捕获的1K-1M数据样本的770个样本,最大值和最小值点成对地显示在屏幕上。这种压缩算法在显示上加重了信号的峰峰值在视觉上的效应,表现为波形看起来比展开之后的局部放大的没有被压缩的波形有更多的噪声,波形轨迹显得更粗。
图6 压缩算法的简单图示
但是,也有些示波器即使采用了显示压缩算法,但屏幕上显示的存储深度并不等于当前的采样率乘以采样时间。屏幕上显示的只是部分波形,对应的是“采样时间”的一部分。还有一部分“采样时间”在屏幕的“外部”!需要旋转示波器面板上的“position”键将屏幕外面采集的波形“移动”到屏幕显示的窗口。这是很令人纠结的。
有些示波器不只是无法通过压缩算法完整地显示捕获到的数据,也更无法对捕获到的数据进行完整地测量和分析。这正是泰克示波器的一大“通病”。这类示波器即使存储深度很大,但对用户的实用价值并不是很大,波形只是被压缩地“堆积”在那里让用户看一下“大概”。鼎阳科技的智能示波器SDS3000没有这样的问题。请看下面的图7和图8就一目了然!图7中鼎阳科技SDS3000测量脉宽变化的信号,脉宽最小值13.9ns,最大值399.8898us,和实际相符; 图8中使用泰克MDO3000测量脉宽变化的信号,脉宽最小值37.32us,最大值37.52us。肉眼看到屏幕上的最小脉宽只有13.9ns左右,在屏幕中间,但是泰克示波器无法测量出来。
图7 鼎阳科技SDS3000测量脉宽变化的信号,脉宽最小值13.9ns,最大值399.8898us,和实际相符
图8 泰克MDO3000测量脉宽变化的信号,脉宽最小值37.32us,最大值37.52us。肉眼看到屏幕上的最小脉宽在屏幕中----间,但是无法测量出来
5、存储深度的应用价值
有些低频信号中有高频噪声,有些高速信号包含了低频调制,有些信号的变化过程非常缓慢,有些分析本身只有样本数足够多才有意义,这四种情况下都需要长存储。 而前两种情况都需要将感兴趣的低频成分完整地捕获下来,才能进行有意义的分析。在很多的实际应用中都属于上述四种长存储的应用范畴,如电源软启动过程的测量,电源纹波和电源噪声的测量, FFT分析,扩频时钟分析,发现随机或罕见的错误,统计分析,抖动追踪分析,眼图,等。关于这方面有非常多的应用文档,该文不再细述。