工欲善其事 必先利其器——我与Keysight示波器那些事儿
[多图长文预警:全文有22张图,5700余字]
0x00 NULL
子曾经曰过:“工欲善其事,必先利其器”(《论语·卫灵公》)。
自从总理明确提出要培育 “工匠精神”的号召以来,工匠精神已经成为目前的一个热点。我的理解是,所谓的工匠精神,其主要内涵就是工程师文化,毕竟现在的工程师,放在以前可不就是工匠么。工匠精神简单的说是一种精益求精,追求完美和卓越的精神。作为电子工程师,这几年我逐渐地体会到了“工欲善其事,必先利其器”也是一个工匠要有的基本精神。一个合格工程师,需要选择合适仪器,熟练且准确的利用它们。这关系到的不止是事半功倍还是事倍功半的问题,有时候更加关系到目标系统能不能做成,能不能做好。示波器作为电子通讯行业的必备仪器,我和Keysight也是结下了不解之缘,以下是过去几年使用Keysight示波器的一些感悟。
0x01 初见
常言道“人生若只如初见”,但是我和示波器的初见却不见得那么美好。和广大学生一样,我第一次接触示波器是大学的相关实验课程上,当时的示波器品牌已经记不清了,只记得是一款低端的模拟示波器(毕竟是学习基本操作,够用了)。当然记得比较清楚的是体验并不好。现在回想,当时的实验非常基本,但是我们调试了很久都没有调好。一方面是初次使用不熟悉仪器,另一方面是设备经常掉链子。印象最深刻的一点是,大概是示波器的旋钮接触不好,导致显示的波形并不稳定。但是对于波形不出现,不稳定的情况,原因实在是太多了。工作点设定不对?导线没固定结实?电源是否稳定?连接是否准确?示波器上各参数是否设定正确?实际上那时的电路规模不大,如果有个合适的“基准”,例如示波器上的数据是值得信赖的,调试起来并不难。所以当时遇到的最大困难是示波器也不稳定,从一个每个环节都可能出问题的系统中debug,实在不是一种痛苦的体验。
所以,某天当发现我要使用如下这台示波器时,一开始我是拒绝的。
这是实验室“标配”:“伊拉克”成色的Agilent 54622D(2通道,100MHz,200 MSa/s)
从外观和标配的软盘驱动器,不难估计它已经是身经百战了。
开机,上校准波形。虽然外观上可能比我当时用的模拟示波器还要破旧,但是简单操作几次后,发现居然没有任何问题,几乎所有的常用功能都是好的,包括我最担心的旋钮和按键会不会接触不好,都一点没发生。波形显示也十分平稳清晰,可谓老当益壮。
上面2张图也是我使用它时,发现它居然还能正常工作时兴奋不已而拍下的照片。
这台示波器,让我注意到了Agilent这个品牌(现在是Keysight),也纠正了我对示波器难用的片面看法。
当时万万没想到的是,这才是我和Keysight故事的开始。
补充:
这个型号的示波器,也是电路仿真软件Multisim中集成的虚拟仪器。其实在Multisim里集成了不少Agilent的仪器。
0x02 进阶
日常简单的测量工作,Agilent 54622D已经基本满足了需求,但是需求总是没有止境的。
有一个实验需要我们复现它的结果,简单的说就是文献里的一个波形。
这个测量需求是我们之前从来没有见过的,测量的是某MCU的瞬时功耗。论文里的结果可以清晰的区分9.5个patterns。但是我们的复现结果全是噪声,啥也看不到,这使我们苦恼不已。
因为借用的是某款看上去够“高级”示波器,从指标上看似乎也是够用的,所以从一开始我们就没有怀疑示波器的问题。日子一天天过去,还是全是噪声,而且示波器本身的底噪就很大。有一天突发奇想决定研究下论文里用的是什么示波器。根据图片上的一点点线索,居然很快锁定到了是Agilent MSO 6000系列的示波器。老师也很快帮我们打听了“隔壁”实验室的设备,刚好有一台Agilent MSO 6054A(4通道,500 MHz,4GSa/s),我们抱着板子就过去测试了。
只用了半天时间,我们就重现了结果,然后拍下了这张(具有历史意义)的照片。上面是我们调试的结果,下面是论文里别人的工作,可见吻合度非常高。这里面用到了带宽限制功能,也就是示波器内置了25MHz的硬件低通滤波器,减少带外的噪声对测量的影响,而有些示波器不带这个硬件滤波器,需要外围系统额外增加一个滤波器。
这个事情最后我们得出的结论是:不是屏幕大,标称的指标高的示波器一定好(虽然也是一个比较知名品牌的产品)。实际测试表明那台屏幕更大,指标更高的示波器的噪声远比Agilent MSO 6000系列来得高(在外围的模拟滤波条件相似的情况下)。而且相似条件下,其波形刷新很慢,显示的效果也没有Agilent MSO 6000系列来得好,这应该是仪器内置的算法不同。
之所以称呼MSO 6000系列是因为“隔壁”实验室的设备我们不能长期借用,而这个测量需求还有很多后续工作要做,老师给我们从合作单位调了一台Agilent MSO6032A(2通道,300 MHz,2GSa/s)
这台示波器后来还完成了诸多测量任务,我们一直身在福中不知福。直到合作方一句话点醒了我们:“这台设备你们可要好好用,在我们那可是当宝贝的”。我们这才知道其实Agilent MSO 6000系列是中端示波器中的中流砥柱。因为用途广泛,网上资料很多,我们才能轻而易举的通过通过一张图片锁定了型号,才能正好在“隔壁”实验室借用到,才能后续碰巧从合作方那里又调到一台同系列的机器啊。
实际上Keysight示波器涉及到广泛的科研和生产领域,后来留心观察发现,甚至稍微专业一点的电子实验室或多或少都有Keysight的产品。
对于MSO 6032A,除了指标够用,我的最大感受是做工好,旋钮的阻尼适中,段落感清晰,按键回弹利落,有确认感,操作起来不费劲,每个机械部件又固定的很结实,没有松松垮垮的感觉。另外一个感受可以用“快”字概括。开机快,电源按钮是开关式的,从上电到就绪只需要短短几秒钟(当然精确测量还是需要预热的),波形刷新很快,大部分场景下可以媲美模拟示波器。菜单,功能的选择反应也很灵敏,特别是“Auto Scale”,也就是自动测量,简直是一键自动档,基本上刷一下就可以调整好并稳定住波形(一般都是先Auto再细调)。而之前提到的另一台“高级”示波器的自动测量功能根本没法比,响应非常慢,需要等待很久才能完成自动量程,有时候甚至还不如手动调节来得快,甚至它的手动调节响应也没有MSO 6032A来得快。“天下武功,唯快不破”,这种差距没有真正操作过很难感受到,在仪器的规格参数里也不好体现,但是确实非常影响测量体验。就好比早几年Android手机还很卡的时候那样,和iOS相比,虽然都能完成一样的功能,但是iOS的操作就更丝般顺滑,用户体验会更好。
0x03 惊喜
这是全面了解示波器的开始。目的主要是做一个全自动的采集,需要十分熟练地利用示波器的采集功能,主要情况可以用如下框图说明。
框图里箭头旁的5个环节都需要编程实现。其中计算机和目标板的双向通信倒是比较常规,使用USB转串口通信就可以。示波器采集目标板上的波形,如果只采集少量波形,只要手动完成就可以了。难的是自动测量,需要协调好几个事件的顺序。计算机在这里充当主控制器,首先配置好示波器各参数,通知示波器准备好,使之处于等待触发的状态,然后控制目标板执行特定程序,等示波器触发后,采集需要的波形,计算机收到回传的波形数据。如此循环数千到数万次(每次目标板上执行的程序参数会略有差异)。
因为循环次数多,整个采集过程会持续半天甚至1天以上,总数据量会有数GB以上,对各软硬件的稳定性都有一定要求。而接手前,我们的已有的成果只停留在勉强能手动控制采集几次,还时常出问题。
在调试示波器的控制和数据回传程序时,我们也尝试使用了不同品牌不同规格的示波器,甚至使用了不同的编程语言,Keysight示波器又体现出了很多优势。
1、首先是性能好。示波器连接计算机通常可以用USB或者以太网,USB2.0理论上有480Mbps速率,以太网根据规格不同有100Mbps或者1000Mbps的速率,都是满足要求的。但是有些示波器在回传波形数据时,速度很慢,或者速度不稳定,有时候一条波形传输需要快1分钟了,这种情况是不能容忍的(想想一天一夜才1440分钟,是不是很短暂)。Keysight的示波器通常在相同环境下,传输速度是最快的,而且速度稳定,稳定的让人觉得手动控制延时都可以。
2、其次触发系统十分可靠。实验中控制目标板的GPIO跳变来产生边沿触发信号,所以只需要简单的边沿触发就可以了。作为最基本的触发模式,当然所有的示波器都支持。但是并不是所有的示波器都能做好,在几千数万次的采集循环中,漏掉触发是常有的事情。这种情况不是很好调试,因为它是随机出现的,而我们不可能守在示波器前一直看着数万次的采集过程。通常一直不触发会产生一个触发超时异常,计算机上的程序可以处理这种情况。如果不触发的情况比较多,我们就要增加准备触发到开始采集的时间间隔,让示波器又足够长的时间做好准备。而每增加1秒钟,1万次的采集就会增加约3小时的采集时间。最坑人的是,偶尔会有示波器反馈给主机已经触发了,实际上并没有。这种情况下,示波器的数据缓冲区里没有波形数据,而计算机认为示波器已经触发,就会去读取波形数据,导致程序出错。或者反馈触发,但是数据缓冲区里的数据是全0,,即数据错误。这些情况是偶尔发生的,越是偶尔,调试起来就越艰难。由于这是示波器内部控制程序的问题,我们没有办法去改进,只能指望厂家的程序能写的健壮一点,这个程序,毫无疑问的是Keysight的产品胜出了。
3、还有一个是文档完善。编写控制示波器的程序是要调用示波器提供的程序接口,而我们对于示波器编程是没有基础的,全靠厂家的文档支持。这一方面,Keysight的文档是最完善的,而且细节也是最丰富的。我记得将Agilent改名为Keysight那段时间,我看到过的几个老示波器的文档很快就把Agilent的标志都换成了Keysight。只是一个小小的符号变化,也体现了Keysight对于用户的负责态度,更是一种有力的提示:Keysight没有忘记老用户,是德科技,即实事求是,以德为本,并不会因为是老产品的文档就放任不管。
因为存储深度的原因,MSO 6000系列不能满足要求,正好有条件可以试用MSO-S系列的示波器,正是这台示波器又一次刷新了我对示波器的认知。
仪器的型号是Agilent MSO-S 804A(4通道,8GHz,20GSa/s,10-bit ADC)。大概是因为试用的关系,规格比较高,模拟带宽和采样率我们其实用不到那么高,但是10-bit的ADC是用上了。确实如宣传所说,10-bit有效地降低了量化噪声,甚至波形放大看,都能看出来明显是更清晰了。有一种从看标清电影转为看高清电影的感觉,但要说起这里面的技术含量,相信每一个做过模拟电路的人都能或多或少的感受到Keysight研发人员付出的无数心血。
回到第一次打开这台机器的时候:
居然是电脑的开机画面,只是LOGO换成了Agilent,
居然是熟悉的Windows 7系统,
试着操作一把,居然是电容触摸屏,这下会用手机就会用示波器了。
后面仔细了解操作后发现,大部分操作都可以通过点按触摸屏完成,当然基本的操作也是可以用右边的按键和旋钮完成的,2种操作重叠的部分是联动的,也就是说通过触摸屏的操作也会反馈到按键的指示灯上。
接口方面,除了示波器必备的信号输入输出端子,计算机的接口也是一应俱全,包括USB、以太网、显示输出等。
计算机的硬件配置也是向高看齐,甚至配备了当时在PC上还没全面普及的固态硬盘(SSD)。
这一切都太熟悉了(常见的PC上都可以有,触摸屏也不是新鲜玩样),又太陌生了(这一切居然是在一台示波器上)。
用触摸操作使得仪器的使用门槛大幅减低,波形缩放拖动非常直观,参数测量也只需要轻点几下。
回到自动采集系统,一流的仪器自然带来了一流的测量体验,我们取消了原来的主控计算机,直接使用示波器内置的计算机完成控制,并根据触摸屏设计了相应的图形界面。
或者外接显示器进行双屏操作:
示波器内部的Windows系统是装好了全套驱动程序的,甚至附了全套文档,我们的程序在PC上调试好,复制过去就能运行,没有遇到任何障碍。
0x04 正轨
MSO-S 804A短暂的试用很快就结束了。后来用过的最接近S系列的示波器是Agilent 的DSO 9000系列。例如这台DSO9404A(4通道,4GHz,20GSa/s)
经历了MSO-S系列的狂热,再看到这样的示波器,我们的内心是平静的,它也真正成为了我们的一个研发利器,编写采集程序,调试电路,一切都进展的井然有序。它和采集程序配合的很好。9000系列的示波器和MSO-S系列很接近,应该是它的前身,但是该有的都有,一点也不含糊。
9000系列偶尔还能充当逻辑分析仪,频谱分析仪,跨界完成一些额外的工作。
这里真心再赞一下Keysight的示波器。采集程序中控制示波器的部分,一开始在MSO6032A上着手开发的,后来换成了MSO-S 804A,再后来换成DSO9404A,这是3个不同系列的产品。通常来说,这种硬件平台不固定,软件要跟着改工作量是非常可观的,也是最令人心累的。但是这次是个例外,Keysight的程序接口定义的非常规范有规律,可以说只要这3个示波器里,调熟悉了任意一台,换个设备只要简单看一下编程手册,针对性地调整命令,很短的时间就可以移植完毕,甚至比MCU换一个系列都要简单的移植都要简单。最后我们的采集程序对台式示波器的支持,是只支持Keysight示波器,一方面是效果好,另一方面Keysight示波器使用广泛,具有普遍意义。
0x05 细节
天下大事,必作于细(《道德经·第六十三章》)。
细节在日常的使用中才能真切感悟,要一时列举还真是困难。这里有一些零散拍摄的照片,可以一窥Keysight在细节上的功力。
对于MSO-S系列或者9000系列这样大小的设备,个人要想搬动还是很麻烦的,好在原厂其实是有配有箱子的,这样搬运的话,还带一个拉杆,一个人就可以搞定啦。
(小伙伴友情出镜)
示波器标配的鼠标还是很耐用的,仔细看看,原来是罗技代工的。看来Keysight对于鼠标这样外围的外设都一点不含糊,可见其用心。
罗技代工的鼠标
使用示波器内置的截图功能,除了会把屏幕上的内容抓下来以外,还会在底下附上示波器的配置参数,这个功能初看没啥技术含量,实际上非常实用。尤其是在截图比较多的情况下,一一记录参数不仅麻烦,还容易搞混,这样直接附在图后面的方式反而简单直接。
最后补几张相关图,是当年为了方便借用仪器拍摄的(记下型号,需要的时候再过去借用)。Keysight的逻辑分析仪,信号分析仪,频谱分析仪等也都是业界标杆。
正在服役的仪器中,有Keysight的前身Agilent,以及爷爷辈HEWLETT PACKARD(HP)。
Keysight新品牌启用没多久,在电子市场看到经销商的牌子也已经换好了,顺手就拍下了这张照片。确实是“电子测试工具的精品”。
0x06 后记
本文只提到了使用Keysight示波器的感悟,但绝不是无脑的夸赞Keysight示波器。事实上市面上主流的几大品牌示波器我都或多或少摸过用过,但是用来用去,大部分的场景里,还是Keysight的最好用。那个采集程序还考虑过使用USB示波器,工业采集卡,最后也是Keysight示波器效果最好。在日常使用时,尤其是对着编程手册写控制程序的时候,看到了Keysight示波器许多的强大之处,有时候真感叹,原来测量还可以这么做。有很多独具匠心的功能大部分时候都只是静静地躺在仪器里,说明文档里,而并没有发光发热。工欲善其事,必先利其器,选择一款合适的示波器,摸透它的脾气,会发现原来时域测量会变得这么得心应手,电路的世界也可以变得这么美好。