0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

虹科案例|基于MATLAB实现PEAK CAN卡的报文收发

虹科汽车电子 2022-01-10 11:45 次阅读

虹科案例

基于MATLAB实现PEAK CAN卡的报文收发

引言

本样例基于MATLAB 2021B,使用CAN/CAN FD Explorer工具箱展示PCAN USB FD接收的报文数据以及信号的可视化图形,采用MATLAB函数进行CAN报文发送,详细请看下文。

操作步骤

1.安装PEAK驱动(此处不详细展开,请点击左下角“阅读原文”了解详细)2.安装VehicleNetworkToolbox Support Package for PEAK-System CAN Devices

先打开MATLAB然后插上PCAN USB FD,在命令行窗口会弹出图示提示文字,点击红框内蓝色字体,即可跳转到MATLAB PEAK支持包安装界面。

1af0ea4a-70a2-11ec-86cf-dac502259ad0.png

1b57493e-70a2-11ec-86cf-dac502259ad0.png

3.打开CAN Explorer在命令行canExplorer,然后回车,即可跳转到CANExplorer界面,在Device List区域选择需要连接的PEAK CAN卡设备。1b9d9c0e-70a2-11ec-86cf-dac502259ad0.png 4. 配置通讯参数 CAN的通讯参数需要配置只有波特率,即Bus Speed。CAN FD需要配置Bus Frequency以及仲裁段和数据段相关参数,只要保证收发的通讯参数一致就可用,不再详细展开。1bed35fc-70a2-11ec-86cf-dac502259ad0.png1c0ba596-70a2-11ec-86cf-dac502259ad0.png1c64fb0a-70a2-11ec-86cf-dac502259ad0.png

通讯参数配置:CAN FD(左),CAN(右)

5. 导入dbc文件

通过一下几步,选择dbc文件,完成导入。

1c9744fc-70a2-11ec-86cf-dac502259ad0.png

6. 配置显示和可视化信号

点击Signals,配置信号显示表格和信号显示图窗。

1ce42844-70a2-11ec-86cf-dac502259ad0.png

如配置信号显示表格,下图所示配置为在表格中展示speedVoltage两个信号。

1d1753e0-70a2-11ec-86cf-dac502259ad0.png

7. 在MATLAB中编辑M文件,实现CAN报文的发送

这里使用PCAN_USBBUS2设备,在编写M文件时,可以通过canChannelList函数查看可用的CAN设备。然后点击Run 按钮,即可实现CAN报文的发送。

1d65dc22-70a2-11ec-86cf-dac502259ad0.png CAN报文发送代码如下,如果需要发送CAN FD报文,需要使用CAN FD相关的函数,如canFDChannel等,具体请查看MATLAB的帮助文档。1d9a92d2-70a2-11ec-86cf-dac502259ad0.png

8. 在CAN Explorer展示接收的报文信息

CAN Explorer中的报文接收界面如下图所示:

1df6be7c-70a2-11ec-86cf-dac502259ad0.png 
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • CAN
    CAN
    +关注

    关注

    56

    文章

    2467

    浏览量

    459239
收藏 人收藏

    评论

    相关推荐

    CAN报文为什么会发送失败?

    CAN总线调试过程中出现报文发送失败。很多工程师都对此只知其一不知其二,今天我们就以CAN报文发送失败的问题来做一次探讨。在了解CAN
    的头像 发表于 04-12 08:25 185次阅读
    <b class='flag-5'>CAN</b><b class='flag-5'>报文</b>为什么会发送失败?

    在STM32的CAN收发通信中,接收超时为什么不能发出一个报文的功能?

    在STM32的CAN收发通信中,当接收超时(即在限定的时间内仍然没有接收到数据),发出一个报文的功能,查询pending的返回值,为什么不能实现这个功能?超时没有接收也没能发出。 vo
    发表于 03-29 07:11

    思瑞浦推出高速CAN收发器TPT133X系列

    半导体领域的领军企业思瑞浦3PEAK近日正式发布了TPT133X系列高速CAN收发器,该系列产品以其卓越的性能和全面的故障保护功能受到市场的广泛关注。
    的头像 发表于 03-25 10:55 309次阅读

    思瑞浦推出高性能CAN收发器TPT133X系列

    近日,备受瞩目的半导体供应商思瑞浦3PEAK正式推出了一款全新的3.3V供电、带故障保护功能的高速CAN收发器——TPT133X系列产品。这一创新产品的发布,标志着思瑞浦3PEAK在高
    的头像 发表于 03-14 11:12 278次阅读

    思瑞浦发布高速CAN收发器TPT133X系列

    聚焦高性能模拟芯片和嵌入式处理器的半导体供应商思瑞浦3PEAK(股票代码:688536)正式推出3.3V供电、带故障保护功能的高速CAN收发器TPT133X系列产品。
    的头像 发表于 03-12 14:56 315次阅读
    思瑞浦发布高速<b class='flag-5'>CAN</b><b class='flag-5'>收发</b>器TPT133X系列

    TC275多路CAN节点,报文接收时需要开启多路的CAN接收中断吗?

    TC275配置使用一路CAN0时,收发都可以,收报文是开启的CAN0接收中断,然后接收报文;现在使用两路
    发表于 02-20 08:27

    TC39x的can报文过滤规则怎么设置?

    TC39x的can报文过滤规则怎么设置
    发表于 02-19 06:12

    想用TC275的一个CAN节点往外发不同周期(10ms的、20ms的、50ms的)的报文,如何实现呢?

    想用TC275的一个CAN节点往外发不同周期(10ms的、20ms的、50ms的)的报文,如何实现CAN模块我已经配置好了,可以多多条不同ID的message,但现在是有些
    发表于 02-06 06:42

    VCU的CAN通讯问题

    单独接整车CAN或动力CAN报文正常,电压2.5V ; 但是用PEAK二合一把整车CAN和动力CAN
    发表于 10-17 14:00

    影响报文超时上报的机制有哪些

    前言 最近遇到一个CAN报文超时Notification不上报导致ECU不休眠的偶发问题,本文分享解决问题的思路及影响报文超时上报的机制,希望能给各位读者一点启发。 参考文档: 1.
    的头像 发表于 08-07 09:16 892次阅读
    影响<b class='flag-5'>报文</b>超时上报的机制有哪些

    求一种基于infineonPSOC62开发板的多功能CAN报文记录仪设计方案

    在汽车领域,经常会涉及到CAN报文收发,目前应用最广泛的就是是CAN2.0B协议。CAN报文对整
    的头像 发表于 07-18 16:17 759次阅读
    求一种基于infineonPSOC62开发板的多功能<b class='flag-5'>CAN</b><b class='flag-5'>报文</b>记录仪设计方案

    一帧CAN报文多少字节

    一帧CAN FD报文位数 根据CAN FD帧结构组成,可以算出一帧CAN FD报文位数: CAN
    的头像 发表于 07-18 10:48 4804次阅读

    【教程】CAN报文自定义协议转发

    CAN总线通信的应用领域中,很多客户需要将CANID放在CAN报文中,这样更方便接入不同的设备,有利于用户通过模块更方便地组建自己的网络,使用自定的应用协议。但是要实现这样的应用,用
    的头像 发表于 05-31 17:03 848次阅读
    【教程】<b class='flag-5'>CAN</b><b class='flag-5'>报文</b>自定义协议转发

    【教程】CAN报文固定协议转发

    CAN总线通信的应用领域中,很多客户需要将CANID放在CAN报文中,这样更方便接入不同的设备,有利于用户通过模块更方便的组建自己的网络,使用自定的应用协议。但是要实现这样的应用,用
    的头像 发表于 05-15 10:30 476次阅读
    【教程】<b class='flag-5'>CAN</b><b class='flag-5'>报文</b>固定协议转发

    CAN报文固定协议转发教程

    CAN总线通信的应用领域中,很多客户需要将CANID 放在CAN报文中,这样更方便接入不同的设备,有利于用户通过模块更方便的组建自己的网络,使用自定的应用协议。但是要实现这样的应用,
    的头像 发表于 05-12 10:40 594次阅读
    <b class='flag-5'>CAN</b><b class='flag-5'>报文</b>固定协议转发教程