本帖最后由 MXWL 于 2025-7-11 09:35 编辑
视频中仅对串口进行解码演示,正好我们从客户手中拿到了一块USB转CAN/CANFD模块,如下图所示, 本文借此对自定义解码功能中的CANFD解码功能进行讲解。 首先进行设备连接,使用USB转CAN/CANFD模块与一块开发板进行通信,之后使用BNC公转双夹子测试线接入两模块间的通信线,红色夹子接入CANH,黑色接入CANL,测试线另一端接入LOTO示波器的通道A,如下图所示。 在上位机ZQWL-CANFD-Tool中,连接设备,将仲裁阈和数据域设置为500kbps,选用标准帧格式,CANFD协议,设置ID为120,数据长度8,数据内容01 02 0304 05 06 07 08。持续发送这段数据,间隔为一毫秒,如下图所示: 在LOTO示波器上位机软件中使用软件触功能发抓取数据波形,在获取波形后点击软件顶部工具栏中的“示波器”,待弹出功能界面窗口后点选择“协议解码”,再在弹出的解码选择界面中点击“自定义解码”进入自定义解码功能界面。 在自定义解码界面中,按照下图所示顺序依次进行解码设置,首先勾选解码开关,会在波形显示界面会有2,3,4,5这4条绿色的虚线,拖动 2设置解码开始的位置,3设置解码截止的位置,4设置穿过该线的波形为待解码波形,5用于设置解码数据的位置,完成后选择CANFD,软件默认数据波特率和标准帧格式,选择CANH逻辑,点击“设置”则会根据CANFD的标准帧格式进行解码格式的预设。 设置完成后如下图所示,在虚线5的下方显示了解码的结果,ID,DLC,以及数据与上文串口助手软件所发送的一至。选则“数字化设置”可以进一步对解码的数据格式进行自定义设置,每位data支持0-16bits设置,支持64个数据字节。 ID:120,数据长度8,发送数据:01 23 45 67 89 ab cd ef,解码结果如下: ID:120,数据长度8,发送数据:ff ff ff ff ff ff ff ff,解码结果如下:
我们改变发送的数据长度和ID,分别发送两条数据。相应的在示波器上位机软件中打开“数字化设置”,进行CANFD数据帧格式的自定义。数据格式和解码结果如下: 数据1:ID 120,数据长度12,发送数据:01 02 03 04 05 06 07 08 09 1011 12 。 图1 数据2:ID 155,数据长度20,发送数据:01 02 03 04 05 06 07 08 09 1011 12 13 14 15 16 17 18 19 20。 图2 控制位为0x8,表示发送的时CANFD报文,值得一提的是,CANFD的DLC是非线性的,我们参考下表,图1 DLC=9,对应数据长度12,图2 DLC=b,对应数据长度20,与所发送的数据长度一致。
|