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

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

3天内不再提示

CANFD总线异构通讯简单实例

STM32单片机 来源:STM32单片机 作者:STM32单片机 2021-01-15 15:22 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

本例程主要讲解 CANFD 总线异构通讯简单实例。把 CANFD 分配给 M4 核,然后另外一块开发板发送,M4 接收 CANFD 数据并通过异构通讯方式发送给 A7 在终端回显。

1.硬件资源

USB-TTL Debug 线两根

两块开发板

开发板配件

2.软件资源

Linux 5.4.31

STM32CubeIDE 1.3.0

STM32CubeMX5.6.0

3.环境准备

预先安装好 CubeIDE,CubeMX 等开发软件。

4.操作步骤

4.1.A7 核操作

由于 CAN 可以被 A7 和 m4 同时使用,现在是要分配给 m4,所以在 A7 端通过设备树把 CAN 分配给 m4。操作步骤如下:

1) 配置设备树

进入内核源码目录 stm32mp15xc-kernel5.4/arch/arm/boot/dts,vim 打开stm32mp15xx-ya157c.dtsi 设备树文件,把 can1 分配给 m4,并屏蔽掉 A7 端的 can1。

f2cc925c-56e0-11eb-8b86-12bb97331649.png

接着配置资源管理器,分配异构通讯的 SRAM

f3694700-56e0-11eb-8b86-12bb97331649.png

2) 编译并更新设备树

配置完成之后编译并拷贝对应设备树到 bootfs 分区。

f3bc6296-56e0-11eb-8b86-12bb97331649.png

另官方已经默认配置了 RPMSG_TTY 驱动。

4.2.M4 核操作

创建一个 STM32 工程,在 STM32CubeMX 里,依次配置 CANFD 用于发送报文、以及配置 IPCC 和 OPENAMP 用于通信

f40886a8-56e0-11eb-8b86-12bb97331649.png

图 4-1.配置 IPCC

f4608bf0-56e0-11eb-8b86-12bb97331649.png

图 4-2.配置 openamp

f4f8b86c-56e0-11eb-8b86-12bb97331649.png

图 4-3.CANFD 配置

注意配置 IPCC 时,需要在 NVIC Settings 选项卡里,将 IPCC RX1 occupiedinterrupt 和 IPCC TX1 free interrupt 的使能勾选上,不然后面的 OPENAMP 的 Activated始终为灰色,无法激活。这里计划创建两个 RPMsg tty 通道,一个用来传输 canfd 报文,一个用来统计 canfd报文的数量。

初始化两个 RPMsg tty 虚拟串口 。

f596d5ec-56e0-11eb-8b86-12bb97331649.png

注册回调函数以按通道接收消息 。

f5f8b7e4-56e0-11eb-8b86-12bb97331649.png

设置 canfd 接收滤波器和发送数据 buf,并注册回调函数和 canfd 接收中断。

f63e3cec-56e0-11eb-8b86-12bb97331649.png

f68bc34a-56e0-11eb-8b86-12bb97331649.png

f6f6f5ca-56e0-11eb-8b86-12bb97331649.png

f74d722e-56e0-11eb-8b86-12bb97331649.png

主函数轮询 RPMsg 消息 OPENAMP_check_for_message() 查询 MailBox 状态 ,主函数并根据运行时间向外发送报文同时不停的查询接收报文。

f78b60b6-56e0-11eb-8b86-12bb97331649.png

f7e7f48e-56e0-11eb-8b86-12bb97331649.png

f858cbd2-56e0-11eb-8b86-12bb97331649.png

当 M4 核接收到 canfd 报文的时候,存入 buf,主函数检测到有 buf 数据,就会调用虚拟串口发送给 A7 端。

f8914ebc-56e0-11eb-8b86-12bb97331649.png

f8de6a76-56e0-11eb-8b86-12bb97331649.png

4.3.测试步骤

J12 的 CANH、CANL 引脚和同类型的板子 CANH、CANL 相连,把编译生成的 M4 固件拷贝到 A7,并启动固件.....

原文标题:应用开发笔记|MYD-YA157-V2开发板CAN BUS 总线通信实例

文章出处:【微信公众号:STM32单片机】欢迎添加关注!文章转载请注明出处。

责任编辑:haq

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

    关注

    59

    文章

    3097

    浏览量

    473579
  • 通信
    +关注

    关注

    18

    文章

    6457

    浏览量

    140284
  • bus
    bus
    +关注

    关注

    0

    文章

    122

    浏览量

    49798

原文标题:应用开发笔记|MYD-YA157-V2开发板CAN BUS 总线通信实例

文章出处:【微信号:STM32_STM8_MCU,微信公众号:STM32单片机】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    CAN总线信号衰减、干扰不断?EID101-B111隔离中继,让CANFD通信稳如磐石!

    CAN总线通信距离受限,信号质量下降?工业现场电磁干扰导致数据丢包?节点扩容需要额外匹配电阻,布线繁琐?EID101-B111集线器CANFD——是亿佰特自主研发的导轨式CANFD隔离中继设备,支持
    的头像 发表于 03-05 19:34 622次阅读
    CAN<b class='flag-5'>总线</b>信号衰减、干扰不断?EID101-B111隔离中继,让<b class='flag-5'>CANFD</b>通信稳如磐石!

    一种新型直流二总线供电+通讯=抢占通讯方式

    POWERBUS二总线是一种可供电现场总线,不同于4根线的485通信,可实现无极性二总线自由拓扑,如下图: 早些年,我们与RS485一样只能轮询通讯,低效! 但PB332与EV62
    发表于 01-30 12:59

    CANFD总线多节点扩展技术:节点数量限制与突破方案

    在工业控制、汽车电子等 CANFD 总线应用场景中,节点数量直接影响系统覆盖范围与数据交互效率。节点数量并非无限制扩展,其受总线特性、硬件设计、协议配置等多重因素约束。本文将深入解析 CANF
    的头像 发表于 12-15 17:35 1648次阅读
    <b class='flag-5'>CANFD</b><b class='flag-5'>总线</b>多节点扩展技术:节点数量限制与突破方案

    【CPKCOR-RA8D1】+ 4. 解析CANFD 的DBC协议,破解整车厂奥秘

    DBC文件是一种集成了CAN和CANFD报文格式帧的数据库,和整车厂合作开发项目时,必定会接触到DBC文件,解析DBC文件是考验一个汽车诊断工程师的终极水平题目!!!!!! 手头上刚好有和宝马
    发表于 10-18 18:12

    ZPS-CANFD总线分析仪:一键操作,全面评估CAN/CANFD节点健康状态

    功能,让复杂的信号质量检测变得简单而高效。为什么需要专业的信号质量检测?在CAN/CANFD总线系统中,信号质量直接决定通信可靠性,微小的信号畸变都可能导致系统通信
    的头像 发表于 09-26 11:46 722次阅读
    ZPS-<b class='flag-5'>CANFD</b><b class='flag-5'>总线</b>分析仪:一键操作,全面评估CAN/<b class='flag-5'>CANFD</b>节点健康状态

    国产CANFD芯片技术特性与应用前景综述:以ASM1042系列为例

    本文综述了国科安芯推出的国产CANFD芯片ASM1042系列的技术特性与应用前景。ASM1042系列作为一款高性能的CANFD收发器,支持5Mbps的高速通信和高达±70V的总线耐压,广泛应用于汽车电子、工业控制和航空航天等领域
    的头像 发表于 08-27 18:02 1587次阅读

    如何使用 M460 系列微控制器 (MCU) 接收和打印 CANFD 总线上的所有消息?

    使用 M460 系列微控制器 (MCU) 接收和打印 CANFD 总线上的所有消息
    发表于 08-20 06:17

    广成科技CANFD转CAN总线GCAN-418的优势

    作为CAN总线的升级产品,CANFD相较于传统的CAN总线,拥有如下几个方面的优势。
    的头像 发表于 08-05 11:47 1327次阅读
    广成科技<b class='flag-5'>CANFD</b>转CAN<b class='flag-5'>总线</b>GCAN-418的优势

    stm32支持canfd和dma结合使用吗?

    stm32支持canfd和dma结合使用吗
    发表于 08-01 07:15

    CANFD节点的采样点如何测量?

    的采样点测量功能,介绍其测量原理及具体操作流程。采样点是CAN/CANFD控制器在一个位时间(bittime)内读取总线电平、判断位逻辑值(显性/隐性)的关键位置。
    的头像 发表于 07-31 11:34 1596次阅读
    <b class='flag-5'>CANFD</b>节点的采样点如何测量?

    无人机电池通讯接口应用:CANFD工业级芯片的选型与技术要点

    摘要 :随着无人机技术的飞速发展,其电池管理系统对于高可靠、高速通讯接口的需求日益凸显。本文深入探讨了在无人机电池通讯接口应用中,选用国科安芯推出的CANFD工业级芯片ASM1042I的关键考量因素
    的头像 发表于 07-24 10:44 1155次阅读

    CANFD 0 通道 2 上收到的所有消息传递到 CANFD 1 通道 0,是否可以使用 DAM 通道?

    你好 我正在尝试将 CANFD 0 通道 2 上收到的所有消息传递到 CANFD 1 通道 0,是否可以使用 DAM 通道?如何。 我在配置 CANFD 1 通道 0 中的源 FiFo 0 和目标 FiFo 0 的 DMA 描述
    发表于 07-14 06:56

    CANFD模块中的CLK_GR5如何配置?

    ,其中描述CANFD会用到两个时钟,其中的CLK_GR5 (CLK_SYS)在SDL例程中没有找到相关配置代码,请问这部分在哪里配置,还是使用默认配置即可?
    发表于 07-14 06:06

    方案分享 | ARXML 规则下 ECU 总线通讯与 ADTF 测试方案

    汽车电子开发新进展:ARXML 规则与 ADTF 框架结合,实现 ECU 总线通讯高效测试
    的头像 发表于 06-25 09:53 3180次阅读
    方案分享 | ARXML 规则下 ECU <b class='flag-5'>总线</b><b class='flag-5'>通讯</b>与 ADTF 测试方案

    单片机实例项目:485与CAN总线运用实例

    单片机实例项目:485与CAN总线运用实例,推荐下载!
    发表于 06-03 20:48