从零开始认识CAN网通信
从零开始认识CAN网通信引言为什么需要CAN总线物理层差分信号与“线与”逻辑电平定义“线与”逻辑为什么用差分信号数据链路层报文、仲裁与帧结构CAN通信模型非破坏性仲裁机制标准帧 vs 扩展帧CAN报文接收与发送流程引言为什么需要CAN总线想象一下现代的汽车里装着几十个电子控制单元ECU发动机控制、ABS防抱死、自动空调、车窗控制……如果每个模块之间都单独拉线那汽车里的线束会多得像一团乱麻不仅成本高、接线麻烦还容易出故障。传统点对点通信CAN总线通信每个ECU之间都需要独立连线所有ECU挂载在同一对双绞线上节点数量增加线束呈指数增长节点增加只需并联接入线束不变故障排查困难维护成本高分布式诊断故障定位方便CAN总线就是为了解决这个问题而生的。它全称是控制器局域网Controller Area Network由德国博世BOSCH公司在1986年开发后来成为国际标准ISO 11898。简单来说它就像一条数据高速公路让所有电子控制单元都能挂在这条“路”上通过一对双绞线进行高效、可靠的通信大大减少了线束数量。如今CAN总线不仅统治了汽车电子在工业自动化、医疗设备、船舶控制、机器人等领域也是应用广泛。物理层差分信号与“线与”逻辑CAN总线物理层只用两根线CAN_H 和 CAN_L。它通过两根线之间的电压差差分信号来传输数据而不是像串口那样依赖对地电压。电平定义信号类型CAN_H电压CAN_L电压差分电压逻辑值显性Dominant约3.5V约1.5V2V0隐性Recessive约2.5V约1.5V2V0“线与”逻辑总线执行线与机制。可以把显性0理解为“强势”信号隐性1理解为“弱势”信号。节点A输出节点B输出总线最终电平隐性 (1)隐性 (1)隐性 (1)显性 (0)隐性 (1)显性 (0)隐性 (1)显性 (0)显性 (0)显性 (0)显性 (0)显性 (0)为什么用差分信号抗干扰能力强外界噪声几乎同时耦合到两根线上接收端只关心差分值共模干扰相互抵消。电磁辐射低两根线绞在一起双绞线对外辐射相互抵消。数据链路层报文、仲裁与帧结构CAN总线通信是以“报文”为单位的。它不指定发送者和接收者而是通过报文标识符ID 来区分不同的消息。CAN通信模型注意CAN总线两端必须各接一个120Ω的终端电阻用于匹配阻抗防止信号在总线末端反射造成数据错误。非破坏性仲裁机制这是CAN最精妙的设计。当多个节点同时要发送数据时它们会从ID的最高位开始一位一位地比较。谁先发送出隐性位1而总线上却是显性位0谁就立即停止发送转为接收状态。关键结论ID数值越小优先级越高所以一般比较重要的任务ID号都比较小标准帧 vs 扩展帧对比项标准帧 (Standard Frame)扩展帧 (Extended Frame)ID位数11位29位ID范围0x000 ~ 0x7FF0x00000000 ~ 0x1FFFFFFF帧格式ID RTR IDE DLCID SRR IDE ID扩展 RTR DLC可挂载节点数最多 2048 个最多 5.3 亿个数据字节数0 ~ 8 字节0 ~ 8 字节应用场景简单系统、传统汽车复杂系统、J1939协议标准帧格式帧起始位1位仲裁段11位ID控制段6位数据段0~64位CRC段16位ACK段2位帧结束7位扩展帧格式帧起始位1位基ID11位SRR1位IDE1位扩展ID18位控制段6位数据段0~64位CRC段16位ACK段2位帧结束7位CAN报文接收与发送流程发送流程图Created with Raphaël 2.3.0开始发送检查总线是否空闲连续11个隐性位发送帧起始SOF显性位0发送仲裁段ID逐位发送并监听仲裁是否失败退出发送转为接收状态继续发送遥控段/数据段发送CRC校验段等待ACK确认位监测显性电平是否接收ACK发送帧结束7个隐性位重发或报错错误帧yesnoyesno接收流程图Created with Raphaël 2.3.0等待接收检测到帧起始SOF显性位下降沿接收仲裁段ID逐位接收并存储ID是否通过过滤器继续接收控制段/数据段接收CRC校验段本地计算CRCCRC校验是否通过发送ACK确认位显性位接收帧结束EOF7个隐性位处理并存储数据触发回调函数发送错误帧显性位忽略该帧不发送ACKyesnoyesno

相关新闻

缓存命中率的艺术:深度解析Oracle Buffer Cache命中率提升策略

缓存命中率的艺术:深度解析Oracle Buffer Cache命中率提升策略

一、开篇&#xff1a;Buffer Cache命中率为什么重要&#xff1f;某天DBA发现数据库物理读突然飙升&#xff0c;业务响应时间从5ms增加到200ms。<font color#D32F2F>AWR报告显示Buffer Cache命中率从98%骤降到75%——这意味着75%的数据请求需要从磁盘读取&#xff0c;而不…

2026/7/12 18:35:47 阅读更多 →
深度解析my-tv密码保护系统的3层安全架构设计

深度解析my-tv密码保护系统的3层安全架构设计

深度解析my-tv密码保护系统的3层安全架构设计 【免费下载链接】my-tv 我的电视 电视直播软件&#xff0c;安装即可使用 项目地址: https://gitcode.com/GitHub_Trending/my/my-tv my-tv是一款专为智能电视设计的开源直播应用&#xff0c;采用Kotlin语言开发&#xff0c;…

2026/7/12 18:33:46 阅读更多 →
仅限前500名开发者获取:ChatGPT正则生成安全白皮书v2.1(含OWASP正则注入检测规则、DFA预编译校验插件、17个金融级合规表达式库)

仅限前500名开发者获取:ChatGPT正则生成安全白皮书v2.1(含OWASP正则注入检测规则、DFA预编译校验插件、17个金融级合规表达式库)

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;ChatGPT正则表达式生成安全白皮书v2.1发布背景与核心价值 随着大语言模型在开发辅助场景中的深度应用&#xff0c;ChatGPT被广泛用于正则表达式&#xff08;Regex&#xff09;的生成与优化。然而&#…

2026/7/12 18:33:46 阅读更多 →

最新新闻

第7篇:六大设计原则在模板方法中的体现

第7篇:六大设计原则在模板方法中的体现

第7篇&#xff1a;六大设计原则在模板方法中的体现 摘要&#xff1a;模板方法模式如何体现单一职责、开闭原则、里氏替换等六大设计原则&#xff1f;本文用一张对照表和逐条解读&#xff0c;帮你建立模式与原则之间的深层联系&#xff0c;不仅会用&#xff0c;还能讲出设计背后…

2026/7/12 19:29:59 阅读更多 →
【Midjourney材质质感终极指南】:20年AI视觉工程师亲授17种金属/织物/玻璃质感提示词配方与参数调优逻辑

【Midjourney材质质感终极指南】:20年AI视觉工程师亲授17种金属/织物/玻璃质感提示词配方与参数调优逻辑

更多请点击&#xff1a; https://kaifayun.com 第一章&#xff1a;材质质感在AI图像生成中的底层逻辑与视觉心理学基础 材质质感并非图像中简单的纹理叠加&#xff0c;而是人类视觉系统对光—物交互的长期经验建模结果。当AI模型生成一张“磨砂玻璃”图像时&#xff0c;其有效…

2026/7/12 19:29:59 阅读更多 →
Canva AI模板效率翻倍:3步解锁自动适配多平台尺寸的隐藏技巧(92%用户从未启用)

Canva AI模板效率翻倍:3步解锁自动适配多平台尺寸的隐藏技巧(92%用户从未启用)

更多请点击&#xff1a; https://codechina.net 第一章&#xff1a;Canva AI社交媒体模板的核心价值与适用场景 Canva AI社交媒体模板并非简单的设计素材库&#xff0c;而是融合自然语言理解、视觉生成与平台适配能力的智能内容生产引擎。其核心价值在于将模糊的创意意图&…

2026/7/12 19:27:58 阅读更多 →
为什么92%的团队测错了ChatGPT文案?——从提示词扰动、温度系数耦合到用户意图分层的深度拆解

为什么92%的团队测错了ChatGPT文案?——从提示词扰动、温度系数耦合到用户意图分层的深度拆解

更多请点击&#xff1a; https://codechina.net 第一章&#xff1a;为什么92%的团队测错了ChatGPT文案&#xff1f;——从提示词扰动、温度系数耦合到用户意图分层的深度拆解 当团队用“写一段吸引人的产品介绍”作为测试提示时&#xff0c;他们其实正在用一把钝刀解剖一只量子…

2026/7/12 19:23:57 阅读更多 →
Kimi-K2.5-W4A8多模态处理:图像与文本融合的终极架构解析

Kimi-K2.5-W4A8多模态处理:图像与文本融合的终极架构解析

Kimi-K2.5-W4A8多模态处理&#xff1a;图像与文本融合的终极架构解析 【免费下载链接】Kimi-K2.5-W4A8 项目地址: https://ai.gitcode.com/hf_mirrors/amd/Kimi-K2.5-W4A8 Kimi-K2.5-W4A8是一款基于AMD硬件优化的先进多模态AI模型&#xff0c;专为图像与文本融合处理而…

2026/7/12 19:23:57 阅读更多 →
AMD MiniMax-M2.1-MXFP4 API使用指南:从基础调用到高级配置

AMD MiniMax-M2.1-MXFP4 API使用指南:从基础调用到高级配置

AMD MiniMax-M2.1-MXFP4 API使用指南&#xff1a;从基础调用到高级配置 【免费下载链接】MiniMax-M2.1-MXFP4 项目地址: https://ai.gitcode.com/hf_mirrors/amd/MiniMax-M2.1-MXFP4 AMD MiniMax-M2.1-MXFP4是一款基于MXFP4量化技术的高效能语言模型&#xff0c;专为AM…

2026/7/12 19:21:56 阅读更多 →

日新闻

互联网大厂 Java 求职面试:燕双非的搞笑回答与技术探讨

互联网大厂 Java 求职面试:燕双非的搞笑回答与技术探讨

互联网大厂 Java 求职面试&#xff1a;燕双非的搞笑回答与技术探讨 在一个阳光明媚的上午&#xff0c;互联网大厂的面试官坐在桌前&#xff0c;准备迎接他的面试候选人——燕双非&#xff0c;一个以搞笑和幽默著称的程序员。第一轮提问 面试官&#xff1a;燕双非&#xff0c;作…

2026/7/12 0:03:13 阅读更多 →
车载以太网PMA测试设备选型:示波器、VNA、信号源3类仪器关键参数与预算评估

车载以太网PMA测试设备选型:示波器、VNA、信号源3类仪器关键参数与预算评估

车载以太网PMA测试设备选型&#xff1a;示波器、VNA、信号源3类仪器关键参数与预算评估在智能驾驶和车联网技术快速发展的今天&#xff0c;车载以太网作为新一代车载网络的核心传输技术&#xff0c;其物理层性能直接决定了数据传输的可靠性和稳定性。1000BASE-T1作为当前主流的…

2026/7/12 0:03:14 阅读更多 →
VSCode EIDE 插件 2.0:APM32/STM32 项目迁移实战,5步完成Keil工程转换

VSCode EIDE 插件 2.0:APM32/STM32 项目迁移实战,5步完成Keil工程转换

VSCode EIDE 插件 2.0&#xff1a;APM32/STM32 项目迁移实战指南嵌入式开发领域正经历一场工具链的静默革命。当传统Keil用户首次打开VSCode的扩展市场搜索EIDE时&#xff0c;往往会惊讶于这个看似简单的插件竟能重构十余年的开发习惯。本文将揭示如何用五个精准步骤&#xff0…

2026/7/12 0:03:14 阅读更多 →

周新闻

互联网大厂 Java 求职面试:燕双非的搞笑回答与技术探讨

互联网大厂 Java 求职面试:燕双非的搞笑回答与技术探讨

互联网大厂 Java 求职面试&#xff1a;燕双非的搞笑回答与技术探讨 在一个阳光明媚的上午&#xff0c;互联网大厂的面试官坐在桌前&#xff0c;准备迎接他的面试候选人——燕双非&#xff0c;一个以搞笑和幽默著称的程序员。第一轮提问 面试官&#xff1a;燕双非&#xff0c;作…

2026/7/12 0:03:13 阅读更多 →
车载以太网PMA测试设备选型:示波器、VNA、信号源3类仪器关键参数与预算评估

车载以太网PMA测试设备选型:示波器、VNA、信号源3类仪器关键参数与预算评估

车载以太网PMA测试设备选型&#xff1a;示波器、VNA、信号源3类仪器关键参数与预算评估在智能驾驶和车联网技术快速发展的今天&#xff0c;车载以太网作为新一代车载网络的核心传输技术&#xff0c;其物理层性能直接决定了数据传输的可靠性和稳定性。1000BASE-T1作为当前主流的…

2026/7/12 0:03:14 阅读更多 →
VSCode EIDE 插件 2.0:APM32/STM32 项目迁移实战,5步完成Keil工程转换

VSCode EIDE 插件 2.0:APM32/STM32 项目迁移实战,5步完成Keil工程转换

VSCode EIDE 插件 2.0&#xff1a;APM32/STM32 项目迁移实战指南嵌入式开发领域正经历一场工具链的静默革命。当传统Keil用户首次打开VSCode的扩展市场搜索EIDE时&#xff0c;往往会惊讶于这个看似简单的插件竟能重构十余年的开发习惯。本文将揭示如何用五个精准步骤&#xff0…

2026/7/12 0:03:14 阅读更多 →

月新闻