二进制数据处理方法分享
随着不断增长的测试需求、更加复杂的系统集成和更多的数据处理,程序控制在示波器的应用中越来越多。在程序控制中很重要的一部分就是如何把数据从示波器中传输到我们的上位机上,并且当数据传输到我们的上位机上时,我们如何去解析数据并且应用它们。本次的技术分享文章,我们就从如何传输数据和解析二进制数据来一步一步剥丝抽茧,搞清楚他的运作原理和二进制数据的数据结构。
首先介绍一下力科示波器波形的保存格式,如图1所示,力科示波器可以把波形保存成多种格式:Binary、ASCII、Excel、Matlab和Mathcad等。 Binary的格式其实就是原始的二进制数据。对ASCII、Excel、Matlab这三种格式其实示波器已经对原始的二进制波形进行了解析,已经转换成了string类型,虽然这几种格式便于观察,已经解析出了幅值和时间,但是他们最大的问题就是保存下来的波形文件非常的巨大而且保存的时间相对较长,因为示波器还要对其运算和解析来得到string类型。使用二进制的格式来保存波形无论是对数据的后期处理和保存速度相对于前几种都是有很大优势的,通常情况下二进制波形的大小只有前几种格式大小的十分之一左右,问题就是我们如何解析和读懂其中的波形内容?

图1:示波器保存波形界面
在保存的二进制波形数据中,我们每一个采样点的电压值是用一串二进制数字表示的,力科的HDO系列示波器使用的是12位的ADC,也就是说一个采样点的电压会被量化成一串12bit的数据,使用2个字节去传输,2个字节是16bit,多出的四个字节补零处理即可。
想解析二进制波形那么就必须知道我们保存下来的二进制文件中都有些什么?力科官网有相应的格式模板(如图2),目前的版本是template2_4。其中解释了二进制波形文件中都包含哪些数据块,每个数据块的内容和含义是什么还有每个数据块出现的顺序。

图2:力科波形解析模板
通常情况下我们的波形包括几部分(如图3):头字节(一些数字);WAVEDESC1(波形描述符,解析二进制数据的关键);DATA_ARRAY_1(其中存储的就是我们采样点的数据)。在我们使用上位机指令去读取波形时,数据块也就是block是指令中的可选参数,通常情况下解析出波形需要WAVEDESC1和DATA_ARRAY_1就足够了。在这里的DATA_ARRAY_1里面的数据是示波器ADC采到的原始数据,我们称它为raw data,它在这里只有大小没有单位,可以把它理解成一个波形的形状,通过raw data乘上相应的系数再加上相应的偏置才可以得到我们最终的电压值。

图3:数据block示意图
上面提到了原始数据需要加工才能得到最终的电压值,那么需要乘的系数和加的偏置从哪里获得呢?就是需要从WAVEDESC1这个数据块获得。WAVEDESC1数据块由346字节组成,每几个字节就会代表一些信息,这些信息对我们解析波形有至关重要的作用,我们可以把WAVEDESC1理解成解析二进制数据的字典。


图4:WAVEDESC1数据块描述
可以看到WAVEDESC1中包含的内容非常的多。

图5:WAVEDESC1数据块内部结构(1)

图6:WAVEDESC1数据块内部结构(2)

图7:WAVEDESC1数据块内部结构(3)
下面介绍一些在WAVEDESC1中比较重要的参数。0-15字节是他的一个标识符用ASCII编码翻译过来就是WAVEDESC,标志着WAVEDESC1数据块的开始(如图8)。

图8:wavedesc标识符示意图
第34字节开始的COMM_ORDER字段就代表着高位读取还是低位读取。第60字节开始的WAVE_ARRAY1字段读取出的内容就是DATA_ARRAT1的字节长度也就是它的数据量。(如图9)

图9:字段截图
第156字节开始的VERTICAL_GAIN字段和第160字节开始的VERTICAL_OFFSET字段就是我们需要加工raw data(DATA_ARRAY1)的比例系数和偏置。
在图10中,也可以看到最终数据的计算方式VERTICAL_GAIN*data -VERTICAL_OFFSET。

图10:VERTICAL_GAIN和VERTICAL_OFFSET字段
总结
在处理二进制数据的时候,我们需要DATA_ARRAY1和WAVEDESC1两个数据块。在WAVEDESC1中最重要的就是VERTICAL_GAIN和VERTICAL_OFFSET。找到这些信息就可以解析出具体的电压,连点成线恢复出我们采集的波形。
关于我们
特励达力科(Teledyne Lecroy)是高端示波器、协议分析仪和其他测试仪器的专业制造商,可快速全面地验证电子系统的性能和合规性,并进行复杂的调试分析。
1964 年成立以来,公司一直专注于将强大的工具整合到创新产品中,以提高“洞察时间”。更快的洞察时间使用户能够快速查找和修复复杂电子系统中的缺陷,从而显著缩短产品的上市时间。
全部0条评论
快来发表一下你的评论吧 !