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
    +关注

    关注

    57

    文章

    2938

    浏览量

    468970
  • 通信
    +关注

    关注

    18

    文章

    6221

    浏览量

    138208
  • bus
    bus
    +关注

    关注

    0

    文章

    121

    浏览量

    48766

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

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

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

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

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

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

    作为CAN总线的升级产品,CANFD相较于传统的CAN总线,拥有如下几个方面的优势。
    的头像 发表于 08-05 11:47 ?372次阅读
    广成科技<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 ?254次阅读
    <b class='flag-5'>CANFD</b>节点的采样点如何测量?

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

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

    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

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

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

    CANFD协议转换器:搭建通讯桥梁

    局域网络灵活数据速率)协议与其他协议进行转换,以便在物联网环境中实现设备之间的互联互通。近期发现了两款产品USR-CAN315(CANFD转以太网)、USR-CAN316(CANFD转RS485/RS232)各位不妨随我瞅瞅。
    的头像 发表于 04-19 09:48 ?438次阅读
    <b class='flag-5'>CANFD</b>协议转换器:搭建<b class='flag-5'>通讯</b>桥梁

    技术解析 | “兆瓦闪充”超级充电桩中的CANFD通讯应用

    ”,奠定通信基石。一、超充桩CANFD通讯网络充电桩涉及到多个子系统,比如功率转换、液冷控制、安全保护、通信模块等。充电桩需协调多个子系统,通信需求包括:●高实时性:
    的头像 发表于 03-20 08:31 ?807次阅读
    技术解析 | “兆瓦闪充”超级充电桩中的<b class='flag-5'>CANFD</b><b class='flag-5'>通讯</b>应用

    如何使用ZPS-CANFD观察CAN数据链路层的工作过程

    CAN总线在数据链路层中的应用是其通信协议中的关键部分、它负责在物理层之上实现数据的可靠传输。致远第二代CAN总线分析仪ZPS-CANFD,除了可以完成CAN、CANFD
    的头像 发表于 03-18 11:38 ?513次阅读
    如何使用ZPS-<b class='flag-5'>CANFD</b>观察CAN数据链路层的工作过程

    新品发布 | TOSUN同星发布多总线仿真测试工具,突破传统通讯瓶颈!

    端出现通讯瓶颈。Windows系统免驱设计,具备极佳的系统兼容性。TOSUN01产品简介TC1038Pro是一款多总线仿真测试工具,支持12路CANFD、12路L
    的头像 发表于 02-28 20:02 ?931次阅读
    新品发布 | TOSUN同星发布多<b class='flag-5'>总线</b>仿真测试工具,突破传统<b class='flag-5'>通讯</b>瓶颈!

    I2C总线应用实例分析

    在现代电子系统中,I2C总线因其简单、灵活和高效的特点而被广泛应用于各种设备之间的通信。 I2C总线概述 I2C总线由Philips(现为NXP)在1980年代初期开发,最初用于音频和
    的头像 发表于 01-17 15:09 ?904次阅读

    CAN/CANFD?总线干扰仪TESTBASE-BDI

    总线干扰仪是CAN/CANFD总线一致性测试中必不可少的重要设备,用于实现采样点以及故障注入等测试项配合桌面式车载网络自动化测试系统TESTBASE-DESKNAT以及基于VBA的CAN/CA
    的头像 发表于 12-26 11:24 ?1262次阅读
    CAN/<b class='flag-5'>CANFD</b>?<b class='flag-5'>总线</b>干扰仪TESTBASE-BDI

    控制模块通讯总线关闭怎么修

    控制模块通讯总线关闭是一个涉及多个可能原因和复杂修复步骤的问题。 一、问题概述 控制模块通讯总线关闭通常指的是车辆或其他系统中的控制模块之间的通信链路出现问题,导致信息无法正常传递。这
    的头像 发表于 08-29 15:44 ?3075次阅读