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

【U5L4】 RLIN3 LIN 主从通信

说明

LIN(Local Interconnect Network)是低成本、单线、主从式汽车通信总线。网络中由唯一主节点发送 Break、Sync 和 PID 帧头,从节点根据 ID 接收数据或返回响应。

本工程将 RLIN35 配置为 LIN 主机,通过调度表发送一帧数据并读取一帧从机响应,验证基础主从收发通信。

环境说明

  • 软件环境:e2 studio 2025-12;R-Car U5L FSP V1.1.1;TCANLINPro v3.1
  • 开发环境:Visual Studio Code 1.129.0.0、CMake、Ninja、ARM GNU Toolchain 13.3
  • 目标芯片:U5L411001EBFC,LQFP100封装
  • 调试器:Renesas E2 Emulator
  • 工程名称:rlin3_lin_master_slave_ep

本次实验采用了由霆宝科技开发的 R-Car U5L4 评估板(型号: R7F711001EBFC)。

RLIN3 支持 LIN 主从通信、Break/Sync 生成与检测及校验和处理。本实验使用主机连续调度模式完成无条件帧收发。

功能设计

MCU 作为 LIN 主机,图莫斯作为从机:

帧 ID操作数据
0x3C主机发送0F 06 B2 00 FF 7F FF FF
0x3D从机应答0F 06 F2 34 12 21 43 FF

MCU 作为LIN从机,图莫斯作为主机:

帧ID操作数据
0x24主机发送01 02 03 04 05 06 07 08
0x25从机应答01 02 03 04 05 06 07 08

普通数据帧采用增强校验。增强校验同时覆盖PID和Data,错误检测能力高于标准校验。

软件配置

RLIN3 与 LIN Stack

工程配置主机、从机两个 LIN Stack 实例,底层均使用 RLIN3 LIN 驱动,通信速率统一为 19200 bit/s,允许的波特率最大误差为 5%。

从机配置

从机底层实例为g_lin1,使用 RLIN3 通道 8,Operation Mode设为Slave,并启用Slave auto baud rate。从机根据主机发送的 Sync 同步场校准位时间,初始波特率设为 19200 bit/s。

驱动回调为lin_stack_lin_callback,公共、接收、发送和状态中断优先级均设为 10。收到0x24帧头后,从机接收 8 Byte 数据;收到0x25帧头后,返回0F 06 F2 34 12 21 43 FF

主机配置

主机底层实例为g_lin0,使用 RLIN3 通道 5,Operation Mode设为Master,从机模式关闭,波特率设为 19200 bit/s。主机负责产生 Break、Sync 和 PID,并按调度表依次发送0x24数据帧和0x25响应请求。

主机 LIN Stack 还需配置 Transport Layer Timer 和 Schedule Timer:前者提供协议超时基准,后者按设定间隔推进调度表。

Pins 与接线

MCU 引脚功能用途
P10_1RLIN35TXMCU→板载 LIN 收发器
P10_2RLIN35RX板载收发器→MCU
P09_1RLIN38TXMCU→板载 LIN 收发器
P09_0RLIN38RX板载收发器→MCU
P10_0GPIO OutputSLP_N,High 为正常工作

外部分析仪接开发板 P2 的 12V、LIN、GND。不得将分析仪 LIN 端直接接到 MCU 的 TX/RX 逻辑引脚。

代码编写

两个无条件帧均使用增强校验:

staticuint8_tg_master_tx_data[8]={0x0FU,0x06U,0xB2U,0x00U,0xFFU,0x7FU,0xFFU,0xFFU};staticuint8_tg_master_rx_data[8];staticlin_stack_frame_info_tframes[]={{LIN_STACK_FRAME_TYPE_UNCD,LIN_STACK_FRAME_DIR_PUB,50U,{0x24U,{g_master_tx_data},8U,LIN_CHECKSUM_TYPE_ENHANCED}},{LIN_STACK_FRAME_TYPE_UNCD,LIN_STACK_FRAME_DIR_SUB,60U,{0x25U,{g_master_rx_data},8U,LIN_CHECKSUM_TYPE_ENHANCED}}};

主机完成0x25接收后,将g_master_rx_data与期望数组比较:

staticuint8_tconstexpected_rx_data[8]={0x0FU,0x06U,0xF2U,0x34U,0x12U,0x21U,0x43U,0xFFU};bool response_matches=(0==memcmp(g_master_rx_data,expected_rx_data,sizeof(expected_rx_data)));

功能验证

MCU 作为主机

图莫斯配置为 LIN 从机,波特率为 19200 bit/s。0x3C接收 MCU 发送的0F 06 B2 00 FF 7F FF FF0x3D返回0F 06 F2 34 12 21 43 FF;诊断帧采用标准校验。

逻辑分析仪测得 Break 低电平宽度约为 672.72 μs,与 13 Tbits 的理论值 677.1 μs 接近,时序满足 LIN 通信要求。

图莫斯能够正确识别0x3C0x3D帧,显示的收发数据与设定值一致,且错误帧数为 0,MCU 主机通信验证通过。

MCU 作为从机

图莫斯配置为 LIN 主机,波特率为 19200 bit/s。主机通过0x24发送01 02 03 04 05 06 07 08,再通过0x25读取 MCU 从机返回的相同数据;两个普通数据帧均采用增强校验。

测试中0x24主机写和0x25主机读均正常完成,收发各 2 帧且错误帧数为 0,MCU 从机收发功能验证通过。

http://www.jsqmd.com/news/1379635/

相关文章:

  • 终极AO3镜像站解决方案:3分钟解锁全球同人创作宝库
  • STM32CubeMX驱动SD卡:SDIO与SPI模式配置及FATFS文件系统实战
  • 物流海鲜化工冷库安装一站式服务:广州华雪冷库服务有限公司 - 甄选测评馆
  • Spring Cloud 安全排查:Actuator、网关改写与 Nacos 凭据
  • 初级工程师(助理)职称怎么评定?助理职称含金量高吗?
  • 数字媒体资源本地化整理:从《Alphablocks》动画管理到个人媒体库搭建
  • Flutter路由进阶:从Navigator到GoRouter的完整实践指南
  • 以太网物理层一致性测试:从信号原理到硬件调试实战
  • 计算机毕业设计之高校毕业生毕业去向数据核查工作平台
  • IHO S-57标准电子海图(ENC)结构
  • 终极音乐解锁指南:如何3步释放被锁住的音乐宝藏
  • 华硕笔记本风扇静音终极指南:用G-Helper实现完美平衡
  • 马鞍山本地防水维修科普:漏水原因、施工方案与选择建议 - 筑宅安
  • 如何在Windows、Mac和Linux上免费投屏控制Android设备:QtScrcpy完整指南
  • 2026别墅外墙仿石漆厂家品牌推荐大盘点:正规服务商选型攻略、避坑指南及多品牌客观对比 - U渠道
  • 大模型生成JSON格式错误的五大解决方案:从提示词到后处理全解析
  • 开源代码编辑器使用技巧与开发环境配置指南
  • 本地部署轻量级语言模型:从 Hugging Face 获取到运行 Ling-3.0-tiny-int4 的完整指南
  • TVA-World驱动的具身智能高效迭代研究
  • 半导体行业2027展望:工程师该储备什么能力
  • Latent Box:基于Next.js的AI知识图谱平台架构设计与技术实现方案
  • 力控组态软件入门实战:储罐液位监控项目全流程解析
  • 《我的世界》YSM模型全攻略:从方块小猫到自定义角色部署
  • Modular 26.5 发布:Mojo 1.0 重磅来袭,开启高性能编程新时代!
  • C++ MySQL连接池与防注入实战:从零构建学生管理系统后端骨架
  • Typora字体自定义全攻略:提升写作效率与视觉舒适度
  • SQL窗口函数详解:从核心语法到实战应用与性能优化
  • 2026甄选:常州天宁区宠物诊疗服务公司实力解析与专业选择参考 - 卓企推荐
  • SpringBoot+Vue前后端分离项目联调实战:从接口开发到联调部署
  • 天禹智控多技术融合助力工业仪表国产化升级 - 趣闻早乐评