《时域测试技术综合实验》 -数字示波器协议触发与解码应用测试 实验目的 1学习数字示波器协议触发与解码的基本原理: 2.掌握利用协议触发获取串行波形数据的方法: 二. 实验内容 1.通过数据采集模块,产生特定的UART串行协议信号: 2.通过示波器的协议触发和解码功能,获取UART波形和数据: 三.预备知识 1.了解异步串行通信接口UART的协议标准。 2.熟悉数字存储示波器协议使用测试方法。 四.实验设备与工具 数字存储示波器、数据采集模块(产生协议信号)、同轴线1根。 五.实验原理与说明 (一)协议触发与解码的原理 在电子系统中,通过各种数据通信协议,实现了各个系统之间的数据交换。其中串行协 议包括UART、USB、SPI、PC、CAN、LIN等总线协议应用广泛。开发设计人员在系统调 试和验证过程中,经常需要对传输协议信号的链路进行测试,确定协议信号传输是否正常和 继续故障定位。由于串行传输协议信号通常是非规则周期的二进制高低电平序列,并不容易 稳定触发和被准确识别,因此对该类信号的时域测试提出了要求:稳定触发协议信号波形 和串行协议解码的数据。 协议触发 传统的边沿触发已经不能满足需求(无法选择究竞应该用哪个边沿触发,得到的波形不 稳定)。所以需要研究协议触发,在测试协议信号的时候获取稳定显示的波形
1 《时域测试技术综合实验》 -----数字示波器协议触发与解码应用测试 一. 实验目的 1.学习数字示波器协议触发与解码的基本原理; 2.掌握利用协议触发获取串行波形数据的方法; 二. 实验内容 1.通过数据采集模块,产生特定的 UART 串行协议信号; 2.通过示波器的协议触发和解码功能,获取 UART 波形和数据; 三. 预备知识 1.了解异步串行通信接口 UART 的协议标准。 2.熟悉数字存储示波器协议使用测试方法。 四. 实验设备与工具 数字存储示波器、数据采集模块(产生协议信号)、同轴线 1 根。 五. 实验原理与说明 (一)协议触发与解码的原理 在电子系统中,通过各种数据通信协议,实现了各个系统之间的数据交换。其中串行协 议包括UART、USB、SPI、I 2C、CAN、LIN等总线协议应用广泛。开发设计人员在系统调 试和验证过程中,经常需要对传输协议信号的链路进行测试,确定协议信号传输是否正常和 继续故障定位。由于串行传输协议信号通常是非规则周期的二进制高低电平序列,并不容易 稳定触发和被准确识别,因此对该类信号的时域测试提出了要求: 稳定触发协议信号波形 和串行协议解码的数据。 协议触发 传统的边沿触发已经不能满足需求(无法选择究竟应该用哪个边沿触发,得到的波形不 稳定)。所以需要研究协议触发,在测试协议信号的时候获取稳定显示的波形
在数字示波器中,协议信号的数据获取有两个途径,一个是根据比较器整形得到的脉冲 数据流:另一个是通过高速ADC采样获取的二进制编码数据流,通过对数据流进行数字比较, 产生脉冲数据流:在FPGA中设计相应的协议信号触发模块,该模块通过实时检车脉冲数据流, 一旦检测到符合相应协议规范的特征数据流,则产生相应触发脉冲,控制采集,从而获取稳 定显示的波形。 协议触发实现流程:获取串行协议的数据→分析协议传输信号的格式→检测特定序列 信号→产生同步脉冲信号→控制采集。 协议解码 为了方便开发人员直观的获取并识别串行协议脉冲数据流代表的数据信息,数字示波器 中,将采集的数据按照特定的协议格式,提取脉冲数据流代表的信息,然后以字符或数值的 方式显示出来,方便开发人员判定所传输的数据是否正常。 协议解码实现流程:获取串行协议的数据→分析协议传输信号的格式→获取采集的序列 信号→软件按特定格式提取传输的数据→显示。 本实验以UART串行协议为例,应用数字示波器的协议触发和协议解码功能。 六.实验步骤 1.UART协议信号产生 在前序实验中,设计的数据采集模块通过UART串行接口,将采集模块的数据上传到 计算机端,并在计算机端开发相应软件,获取并显示采集的波形。这里通过在PGA中将 数据采集模块用于通信的串行发送接口Tx和串行接收接口Rx,分别通过DA模块引出,作 为本实验测试用的“UART协议信号源”。 数据采集模块Tx和Rx的数据说明如下: Tx信号:数据采集模块采集并存储1024个波形数据加五位包尾(f,00,f,00,F) 后传输,此为一帧数据。连续发送多帧数据,每帧数据之间有固定发送时间间隔。 Rx信号:上位机(计算机)发送控制命令给数据采集模块,这些命令通常是读写寄 存器指令,其由ff(包头)+一字节读写控制及地址数据(最高位是控制读写命令,1写0 读,低7位为读写操作的寄存器地址)+一字节写入数据(发送写命令时写入下位机寄存器 中,读命令时忽略)
2 在数字示波器中,协议信号的数据获取有两个途径,一个是根据比较器整形得到的脉冲 数据流;另一个是通过高速ADC采样获取的二进制编码数据流,通过对数据流进行数字比较, 产生脉冲数据流;在FPGA中设计相应的协议信号触发模块,该模块通过实时检车脉冲数据流, 一旦检测到符合相应协议规范的特征数据流,则产生相应触发脉冲,控制采集,从而获取稳 定显示的波形。 协议触发实现流程: 获取串行协议的数据→分析协议传输信号的格式→检测特定序列 信号→产生同步脉冲信号→控制采集。 协议解码 为了方便开发人员直观的获取并识别串行协议脉冲数据流代表的数据信息,数字示波器 中,将采集的数据按照特定的协议格式,提取脉冲数据流代表的信息,然后以字符或数值的 方式显示出来,方便开发人员判定所传输的数据是否正常。 协议解码实现流程:获取串行协议的数据→分析协议传输信号的格式→获取采集的序列 信号→软件按特定格式提取传输的数据→显示。 本实验以UART串行协议为例,应用数字示波器的协议触发和协议解码功能。 六. 实验步骤 1. UART 协议信号产生 在前序实验中,设计的数据采集模块通过 UART 串行接口,将采集模块的数据上传到 计算机端,并在计算机端开发相应软件,获取并显示采集的波形。这里通过在 FPGA 中将 数据采集模块用于通信的串行发送接口 Tx 和串行接收接口 Rx,分别通过 DA 模块引出,作 为本实验测试用的“UART 协议信号源”。 数据采集模块 Tx 和 Rx 的数据说明如下: Tx 信号:数据采集模块采集并存储 1024 个波形数据加五位包尾(ff,00,ff,00,ff) 后传输,此为一帧数据。连续发送多帧数据,每帧数据之间有固定发送时间间隔。 Rx 信号:上位机(计算机)发送控制命令给数据采集模块,这些命令通常是读写寄 存器指令,其由 ff(包头)+一字节读写控制及地址数据(最高位是控制读写命令,1 写 0 读,低 7 位为读写操作的寄存器地址)+一字节写入数据(发送写命令时写入下位机寄存器 中,读命令时忽略)
FPGA I 抽取控 抽取藤冲 AD_CLK 制模块 触发控 比较 制模块 整形 触发藤冲 AD_CLK ↑AD_CLK Vin 信号调理 ADC 接口 机 FIFO_WR FIFO FIFO_RD LED 航发使脱 AD_CLK KEY1 接 KEY2 低通滤波器 DAC FF/00 DFF ◇ Rx/Tx KEY3 KEY4 AD_CLK DCM 晶振 50MHz 1- 图1通过DAC模块获取内部UART信号 (可以设计:按下开发板的ky3按键可以切换TxRx数据,选择输入到DAC的UART信 号) 2.示波器中设置协议信号触发和解码 将DAC输出的协议信号连接到示波器中,在示波器中设置协议触发和解码,实现对 UART协议信号的获取。 示波器中关于协议触发和解码的操作,详见示波器的用户数据手册 “SDS1000X-E&sDSl000X-U UserManual..pdf”。 3
3 低通滤波器 DAC FF/00 DFF DCM 晶振 50MHz 控 制 接 Vo 口 KEY1 KEY2 KEY3 KEY4 LED FPGA 信号调理 ADC Vin FIFO FIFO_DATA FIFO_WR FIFO_RD AD_CLK DA_CLK AD_CLK AD_DATA 触发控 比较 制模块 整形 比较电平 AD_CLK FIFO_W R FIFO_R D 预触发深度 触发使能 触发使能 AD_CLK 通讯 接口 上位 机 触发脉冲 抽取控 AD_CLK 制模块 抽取比例参数 抽取脉冲 Rx/Tx 图 1 通过 DAC 模块获取内部 UART 信号 (可以设计:按下开发板的 key3 按键可以切换 Tx/Rx 数据,选择输入到 DAC 的 UART 信 号) 2. 示波器中设置协议信号触发和解码 将 DAC 输出的协议信号连接到示波器中,在示波器中设置协议触发和解码,实现对 UART 协议信号的获取。 示 波 器 中 关 于 协 议 触 发 和 解 码 的 操 作 , 详 见 示 波 器 的 用 户 数 据 手 册 “SDS1000X-E&SDS1000X-U_UserManual.pdf
知 293 mdhv 关闭 回 R523 200 00m 500m 0s 图2通过示波器协议触发获取的UART波形(负逻辑)。 性E义义 无 回 400 js Sertal RS232 20 50,0mv 00 MRes 1Ckpts 图3UART解码功能直观的读取数据 4
4 图 2 通过示波器协议触发获取的 UART 波形(负逻辑)。 图 3 UART 解码功能直观的读取数据
R523 00m 6800s 图4UART协议解码功数据 如图2所示,将解码通道打开,协议类型选择RS232。再切换选项卡(不同示波器操作 有差别)。 在图3中设置总线类型为单端,并选择信源,波特率自定为256000,位宽设置为8位, 一位停止位,位顺序为LSB到MSB,无奇偶校验位,极性根据实际情况设置为正极性或者负 极性。 在图4中设置触发条件为数据触发,当检测到一字节f数据后触发,从而可以得到稳 定显示的数据。 图4中显示的数据为Tx数据一帧数据的结尾,后五位为包尾,包尾前为下位机向上位 机发送的波形数据。 图5所示,调节时基后可看到每帧数据之间间隔。 依据协议触发可直观显示出下位机采集数据并传输至上位机的效率。 5
5 图 4 UART 协议解码功数据 如图 2 所示,将解码通道打开,协议类型选择 RS232。再切换选项卡(不同示波器操作 有差别)。 在图 3 中设置总线类型为单端,并选择信源,波特率自定为 256000,位宽设置为 8 位, 一位停止位,位顺序为 LSB 到 MSB,无奇偶校验位,极性根据实际情况设置为正极性或者负 极性。 在图 4 中设置触发条件为数据触发,当检测到一字节 ff 数据后触发,从而可以得到稳 定显示的数据。 图 4 中显示的数据为 Tx 数据一帧数据的结尾,后五位为包尾,包尾前为下位机向上位 机发送的波形数据。 图 5 所示,调节时基后可看到每帧数据之间间隔。 依据协议触发可直观显示出下位机采集数据并传输至上位机的效率
HAIAHAITNN 回 R323 200 00m 00 1960m 图5观察UART数据包所用的时间 按下ky3按键后将数据切换为Rx,并将触发模式切换为单次触发,控制上位机发送命 令,并利用单次触发模式捕捉控制命令,捕捉到的信号如图6所示: 学 0 20.0s R323 400.00n HRes 1akpls 图6Rx接收端数据 由于解码的延时性,不能直接由示波器解码读取发送命令的值,由图看出解码后的命令 数据为:f(包头)、85(读写控制及地址:意为将数据写入地址为05的寄存器)、00(写 入寄存器的数据)。 6
6 图 5 观察 UART 数据包所用的时间 按下 key3 按键后将数据切换为 Rx,并将触发模式切换为单次触发,控制上位机发送命 令,并利用单次触发模式捕捉控制命令,捕捉到的信号如图 6 所示: 图 6 Rx 接收端数据 由于解码的延时性,不能直接由示波器解码读取发送命令的值,由图看出解码后的命令 数据为:ff(包头)、85(读写控制及地址:意为将数据写入地址为 05 的寄存器)、00(写 入寄存器的数据)
七.思考题 1、针对本实验中的256000波特率,需要具体如何设置有哪些参数,来确保UART触发? 2、针对本实验中的256000波特率,需要具体如何设置有哪些参数,来解码采集的串行数据? 7
7 七. 思考题 1、针对本实验中的 256000 波特率,需要具体如何设置有哪些参数,来确保 UART 触发? 2、针对本实验中的 256000 波特率,需要具体如何设置有哪些参数,来解码采集的串行数据?