当前位置: 首页 > news >正文

【正点原子STM32MP257连载】第四章 ATK-DLMP257B功能测试——CAN、CAN FD测试 #FDCAN

1)实验平台:正点原子ATK-DLMP257B开发板
2)浏览产品:https://www.alientek.com/Product_Details/135.html
3)全套实验源码+手册+视频下载:正点原子资料下载中心

文章目录

  • 第四章 ATK-DLMP257B功能测试——CAN测试
    • 4.11 CAN测试
    • 4.12 CAN FD测试

第四章 ATK-DLMP257B功能测试——CAN测试

  ATK-DLMP257B开发板板载三路CAN(均支持CAN FD)。在测试CAN 之前,需要准备好测试CAN 的仪器,比如致远电子的CAN 分析仪、创芯科技的CAN 分析仪和广成科技的CAN 分析仪等,否则只能用两块不同开发板的CAN 或者其他CAN 设备测试。关于CAN 仪器及CAN上位机的使用,请参照各厂商产品的使用说明书。

  开发板所使用的CAN 的主要特性如下:

  • 支持CAN FD,可以理解成CAN 协议的升级版,只升级了协议,物理层未改变。
  • CAN与CAN FD主要区别:传输速率不同、数据长度不同、帧格式不同、ID长度不同。
  • 数据比特率最高5Mbps。

  测试前请将CAN 分析仪或者测试CAN 的设备连接到ATK-DLMP257B开发板的CAN 接口,CANH 端连接CAN 仪器的CANH,CANL 端连接CAN 仪器的CANL。

  下面举例使用FDCAN1 接口来进行CAN 功能测试,FDCAN2和FDCAN3同理。开发板CAN1 接口和CAN分析仪连接方式如下图所示。
在这里插入图片描述

图 4.11 1 CAN接口和接线

  系统中对应的CAN设备如下:

外设接口系统接口
CAN1can0
CAN2can1
CAN3can2

4.11 CAN测试

  CAN 最低数据比特率10kBit/s,最高数据比特率1000kBit/s。

  测试前提示一下,下面示例指令,是基于FDCAN1 接口测试,对应系统设备名称为can0。

  若用户需要测试FDCAN2 接口,则对应系统设备名称为can1;若用户需要测试FDCAN3 接口,则对应系统设备名称为can2注意修改指令即可。

  示例FDCAN1 接口,配置can0 数据比特率为500kBit/s。

ip link set can0 up type can bitrate 500000

  使用cansend 指令发送数据。

cansend can0 123#01.02.03.04.05.06.07.08

  解释:
  (1)can0:can0 表示FDCAN1 接口设备,can1 表示FDCAN2 接口设备,can2 表示FDCAN3 接口设备。
  (2)123:帧ID
  (3)01.02.03.04.05.06.07.08:帧数据

  使用candump 指令接收数据。按Ctrl+c 终止指令。

candump -ta can0

  解释:
  (1)-ta: t 代表打印时间,a 代表开启ASCII 输出。

  下面使用CAN 分析仪,设置CAN 的速率为500000,测试结果如下图。
在这里插入图片描述

图 4.11 2 使用上位机与开发板进行CAN 收发通信

4.12 CAN FD测试

  下面采用CAN 测试设备(支持CAN FD),进行CAN FD 测试。如果CAN 测试设备不支持CAN FD 功能,则不能用于测试CAN FD。

  开发板的CAN FD 波特率最高为1000 kBit/s,数据波特率为5000 kBit/s。可用的速率如下,如需要使用更低的波特率,请使用CAN,而非CAN FD。

  测试前提示一下,下面示例指令,是基于FDCAN1 接口测试,对应系统设备名称为can0。若用户需要测试CAN2 接口,则对应系统设备名称为can1,注意修改指令即可。

  设置不同速率时,需要先关闭CAN 设备,再设置CAN 的速率,如果设置不成功,请重启板子或者上位机软件。

ifconfig can0 down

  这里提供配置CAN FD 的速率示例。

ip link set can0 up type can bitrate 1000000 dbitrate 5000000 fd on

  此处设置波特率为1000 kBit/s,数据波特率为5000 kBit/s 进行测试。

在这里插入图片描述

图 4.12 1开发板设置CAN FD 速率

  CAN测试设备上位机也设置CANFD模式:
在这里插入图片描述

图 4.12 2 上位机配置

  使用cansend 命令发送数据,下面为一行完整指令,请分行复制并组合!

cansend can0 123##300.11.22.33.44.55.66.77.88.99.aa.bb.cc.dd.ee.ff.00.11.22.33.44.55.66.77.88.99.aa.bb.cc.dd.ee.ff.00.11.22.33.44.55.66.77.88.99.aa.bb.cc.dd.ee.ff.00.11.22.33.44.55.66.77.88.99.aa.bb.cc.dd.ee.ff

  解释:
  (1)can0: can0 表示FDCAN1 接口设备,can1 表示FDCAN2 接口设备。
  (2)123: 帧ID
  (3)3:标志(flags)
  (4)00.11.22…: 帧数据

  使用candump 指令接收数据。按Ctrl+c 终止指令。

candump -ta can0

  解释:
  (1)-ta: t 代表打印时间,a 代表开启ASCII 输出

  开发板CAN FD 测试结果如下图。
在这里插入图片描述

图 4.12 3 使用上位机与开发板进行CAN FD 收发通信

相关文章:

  • Qt/C++学习系列之QTreeWidget的简单使用记录
  • IPD项目管理的“黄金三角“在2025年是否需要重构?
  • 基于RV1126开发板获取系统温度
  • WPS Office安卓版文档编辑功能与兼容性评测【高效编辑】
  • uniappx项目上架各手机平台
  • Uniapp:消息提示框
  • vue3 vite创建项目 vite配置、pinia配置
  • 经典算法 判断一个图中是否有环
  • 界面控件DevExpress .NET MAUI v24.2亮点:MVVM功能增强
  • Rust学习之实现命令行小工具minigrep(二)
  • qt/C++面试题自用学习(更新中)
  • Gitlab SSH Jenkins Pipeline Supervisor部署
  • 大模型训练显存压缩实战:ZeRO-3 vs 梯度累积 vs 量化混合策略
  • 深度为16,位宽8bit的单端口SRAM——学习记录
  • 全网通emotn ui桌面免费吗?如何开机自启动
  • leetcode:3210. 找出加密后的字符串(python3解法)
  • 淘宝商品数据高并发采集方案:API 接口限流机制与分布式调用实战
  • SnailJob:分布式环境设计的任务调度与重试平台!
  • Centos/RedHat 7.x服务器挂载ISCSI存储示例(无多路径非LVM)
  • opencv腐蚀的操作过程
  • 关于新冠疫情防控与病毒溯源的中方行动和立场
  • 济南高新区一季度GDP增长8.5%,第二产业增加值同比增长14.4%
  • 浙商银行一季度净赚超59亿微增0.61%,非息净收入降逾22%
  • 辽宁省委书记郝鹏、省长王新伟赶到辽阳火灾事故现场指导善后处置工作
  • 白云山一季度营收净利双降,此前称今年将挖掘盘活自身资源
  • 普京发表声明感谢协助俄军收复库尔斯克州的朝鲜军人