2024年1月15日发(作者:)

逻辑分析仪─从入门到精通讲座(33)
逻辑分析仪的数据导出功能介绍
1. 引言
广州致远电子有限公司出品的LAB系列逻辑分析仪,拥有强大的数据采集能力,采样率最高可达5GHz,存储深度最大为2Gbits。逻辑分析仪上位机zlgLogic软件,具有丰富的插件分析与触发功能,可轻松完成日常应用中数字信号的调试与检测工作。
zlgLogic软件还提供了数据导出功能,方便用户的二次开发与使用测量数据。使用此功能,用户可在LAB系列逻辑分析仪所采集数据的基础上,运用丰富的第三方数据分析与处理软件,对数据进行高效地分析与检查。
2. 功能描述
zlgLogic软件为用户提供两个层次的数据导出功能。第一层次是原始的采样数据,即在用户设定的采样信号、采样速率、采样深度下逻辑分析仪所采集到的0/1数据,当几根信号线组成总线时,数据会以总线的形式予以导出;第二层次是在协议解析基础上的数据导出,zlgLogic提供了丰富的协议解析功能,该功能可以将协议解析后的协议内容给予导出。
2.1 原始数据的导出
原始数据的导出,在使用上有两种导出格式:二进制文件与CSV文件格式。
原始数据的二进制文件导出
在zlgLogic的主界面上,选择“文件”|“导出为二进制文件”,即可选择该功能。在此种模式下,软件会将所有的通道的数据,组成相应的字节数据予以导出,导出的文件为纯二进制的bin文件。为了便于理解这一点,可以将软件自带的8051时序文件打开,在总线设置对话框里新建一条名称为ALL的总线,把所有位都选上。可以看到ALL总线的第一个值是0xFFF6IE0C,而二进制文件的前四个字节是0x0C,0x1E,0xF6,0xFF。
图1 逻辑分析仪采集的数据与导出二进制文件的格式
在此模式下,可选择保存数据的时间范围,从“标签”或“时间”两方面限定范围。
“标签”是系统或用户在软件界面数据段上标识的位置点,由系统自动生成或用户 1 / 4
放置,默认情况可选择“数据开始”、“T”、“M1”、“M2”、“数据结束”这几个标签,标签“T“标识触发位置。当用户手动添加其他标签时,亦可选择此些标签。
“时间”即是屏幕所采集数据的时间属性,可直接选取感兴趣的时间段数据。
原始数据的CSV文件导出
在zlgLogic的主界面上,选择“文件”|“导出为CSV文件”,即可选择该功能。在此种模式下,软件会将用户所定义的总线数据予以导出,导出文件为以逗号分隔数据的CSV文件。
在此模式下,可选择保存数据的时间范围与数据格式,“范围设置”与上文一致,在此不再重复。
图2 导出数据格式设置
“导出设置”可以设置输出数据CSV的文件内容与数据格式。“导出时间”即在输出每一行采样数据时,都添加该数据点的时间信息;“压缩”、“不压缩”是对采样数据而言的。由于采样时钟较快,而采集信号变化率较低,则在多个采样时钟下,所采样得到的“信号总线”数据是一致的,此时数据可以被压缩。当选择压缩数据时,将会在“信号总线”数据发生变化时,将数据与时间信息予以输出,而数据无变化时则予以忽略;当选择不压缩数据时,将会把每一个采样时钟采样所得的数据予以输出。在应用上来说,“压缩数据”便于阅读与观看,“不压缩数据”便于第三方软件分析。
当将下图波形导出为CSV文件时,结果如下:
图3 导出有时间信息压缩数据时的CSV文件数据
2.2 协议解析数据的导出
广州致远电子LAB系列逻辑分析仪支持包括UART、IIC、SPI在内的数十种协议解析与触发,极大地方便了客户调试带有协议的数字信号。zlgLogic软件目前支持协议的解析与显示,但不支持协议解析后数据的查找,而协议解析后数据的导出功能则在某一程度上解决了这一问题。下面以UART为例描述下此操作的过程。
在zlgLogic软件界面上,选择“工具”|“插件分析器”中,在弹出的窗口中勾选”UART总线分析”,然后点击左下角的“设置”。在弹出的“Uart设置”窗口中,在右下角可观察到如下窗口:
图4 协议解析数据导出设置
2 / 4
勾选“保存为CSV文件”后,便可选择CSV文件保存的路径。
软件会将采样深度内的数据全部解析后的数据,添加上时间信息然后保存在文件中。这样使用第三方软件,例如Excel就可以很方便地打开与查找数据。
图5 UART数据捕获、解析以及数据导出示意图
3. 数据导出功能应用
在日常电路调试中,逻辑分析器凭借其强大的数据捕获能力能有效地准确地采样到数字信号,下面以简单的ADC信号的捕获来阐述一下数据导出功能的应用。
3.1 ADC信号的分析
ADC,即模拟-数字转换器,可以将模拟信号转化成计算机可以识别的数字信号。ADC转化的过程中,由于量化误差、时钟抖动、电源噪声等多种因素影响下,导致转化后的数据与实际信号有一定的偏离。此偏离可以使用信噪比(SNR)、最大动态范围(SFDR)、总谐波失真(THD)等指标来衡量。对ADC采样后的数据进行快速傅里叶变换(FFT),经过简单计算便可得到如上指标。下文将利用zlgLogic的数据导出功能,求取ADC性能指标。
本文使用的是8bit的ADC,将逻辑分析仪PODA口的0-7pin分别连接到ADC的数据输出D0-D7上,然后设置好zlgLogic上的采样率、存储深度等参数,点击捕获,然后选择“文件”|“导出为CSV文件”。
在这过程中,有两方面需要注意。首先是采样设置问题:由于逻辑分析仪采样8位宽度的数据,为了能使所有信号都能满足建立保持时间要求,采样时最好使用同步采样,不然数据会出现毛刺,若调试板中无同步采样时钟输出,则在采样参数设置时选择“数字滤波”。在数据导出时,不能选择“数据压缩”,因为进行FFT需要等时间间隔的样本点。
得到CSV数据后,就可以使用第三方软件对数据进行分析。本文使用Matlab软件对该数据进行FFT变换。将CSV数据导入到Matlab数据区内,然后调用fft函数,立马得到各频率点下信号能量的分布。根据SNR、SFDR、THD等指标的定义,求得基波有效值、最大谐波有效值、前6次谐波有效值和后,进行简单的相除求对数,即可得到以上指标。下图是FFT变换后的频谱图。
3 / 4
图6 输入信号频率1.514k,采样率50KSa/s,样本点512K的频谱图
可求得SNR=39.71dB,SFDR=48.0dBC,THD=-50.12dB。
4. 总结
逻辑分析仪在电路调试过程中,是一款很好的调试工具,强大的采样能力与协议分析功能为调试提供了极大的方便,而本文所描述的数据导出功能,将有力地将调试扩展到第三方软件,如Excel、Matlab,方便用户发现与查找问题,分析数据。
4 / 4