通信与接口协议面试八、CAN通信

发布时间:2026/7/12 2:04:48

通信与接口协议面试八、CAN通信
CANControllerAreaNetwork。异步半双工。汽车的电气部分就采用CAN 总线实现通信。低速CAN【IS011519-2 标准】通信速率为10125kbpS总线长度可达1000米结构开环总线高速CAN 【ISO11898标准】通信速率为125Kbps~1Mbps总线长度≤40米结构闭环总线也称为经典CAN闭环有终端电阻1.原理每个部分的多个器件都挂载在CAN 总线上—个CAN 总线上的所有器件通讯速率必须相同)各个部分再汇集到网关由网关分配实现各个不同速率的部分之间通讯。CAN的组成一般有两种方式1CPU与CAN控制器集成到一起、再外接CAN收发器2另一种是CPU与CAN 控制器分开的使用的时候需要配置CAN接口电路。STM32将CAN接口集成在芯片内使用的时候再外接CAN收发器。CAN 收发器是用于TTL 电平与差分电压信号相互转换的TTL 电平即单片机引脚直接提供的电平2.逻辑电平逻辑0代表低电平逻辑1代表高电平CAN_High- CAN_LoW 0.5V 时候为隐性的逻辑信号表现为逻辑1即高电平。CAN_High- CAN_Low0.9V 时候为显性的逻辑信号表现为逻辑0即低电平。没有数据发送或者发送数据0时两条线的电平一样都为2.5V。3.通信过程CAN 控制器将 CPU传来的信号转换为逻辑电平即逻辑0-显性电平或者逻辑1-隐性电平)。CAN收发器再把逻辑电平转换为差分电平输出到CAN总线上。在总线空闲状态下任意节点都可以向总线上发送信息。最先向总线发送信息的节点获得总线的发送权当多个节点同时向总线发送消息时优先权高的那个节点获得总线的发送权。这个数据里不仅有数据还有本身的 ID 信息或者其他的控制指令应称为数据包(数据帧)。数据帧是以一个显性位(逻辑 0)开始以7 个连续的隐性位(逻辑 1)结束。分为仲裁段、控制段、数据段、CRC段和ACK段。4.位同步时序由于CAN没有时钟信号线采用位同步时序。CAN 通讯协议的每一个数据帧可以看作一连串的电平信号每一个电平信号代表一位一个字节8位的位)所以一帧中包含了很多个位由发送单元在非同步的情况下发送的每秒钟的位数称为位速率。一位又分为4段同步段(SS)、传播时间段(PTS)、相位缓冲段1(PBS1)、相位缓冲段2 (PBS2)。

相关新闻

从 KV Cache 到分布式状态机设计,一文讲透 AI Agent 的底层运行机制

从 KV Cache 到分布式状态机设计,一文讲透 AI Agent 的底层运行机制

2026/7/12 11:15:42

网罗开发(小红书、快手、视频号同名)大家好,我是 展菲,目前在上市企业从事人工智能项目研发管理工作,平时热衷于分享各种编程领域的软硬技能知识以及前沿技术,包括iOS、前端、Harmony OS、Java、Python等方…

大模型企业级智能体产品对比:百度、阿里、腾讯、华为、字节、实在智能哪家强?

大模型企业级智能体产品对比:百度、阿里、腾讯、华为、字节、实在智能哪家强?

2026/7/12 9:35:24

一、市场速览:两类智能体,赛道分化 2026年,企业级AI智能体已进入规模化落地阶段。但当前市场产品可清晰分为两大阵营: 通用对话型智能体:以百度千帆、阿里百炼、腾讯ADP、华为AgentArts、字节扣子为代表,核…

前端转行Agent开发,我写了一个企业级开源项目,附教程

前端转行Agent开发,我写了一个企业级开源项目,附教程

2026/7/12 3:13:02

三个月时间,从后端开发崽逐渐转型为 agent 工程师,想聊聊自己的三个小技巧。读官方文档。LangChain、Anthropic、Manus 等公司或组织的官方文档、博客质量很高,特别是 LangChain,文档简直手把手教读者怎么做一个 agent看大佬分享。…

如何快速上手Qwopus3.6-35B-A3B-Coder:5个简单步骤提升代码生成效率

如何快速上手Qwopus3.6-35B-A3B-Coder:5个简单步骤提升代码生成效率

2026/7/12 22:25:20

如何快速上手Qwopus3.6-35B-A3B-Coder:5个简单步骤提升代码生成效率 【免费下载链接】Qwopus3.6-35B-A3B-Coder-MTP-GGUF 项目地址: https://ai.gitcode.com/hf_mirrors/Jackrong/Qwopus3.6-35B-A3B-Coder-MTP-GGUF Qwopus3.6-35B-A3B-Coder是一款专为高效代…

如何在CI/CD中集成publish-please实现自动化npm发布

如何在CI/CD中集成publish-please实现自动化npm发布

2026/7/12 22:25:20

如何在CI/CD中集成publish-please实现自动化npm发布 【免费下载链接】publish-please Safe and highly functional replacement for npm publish. 项目地址: https://gitcode.com/gh_mirrors/pu/publish-please publish-please是一个安全且功能强大的npm publish替代工具…

动态规划-01背包(模板)、完全背包(模板)、多重背包1(模板)、多重背包2(模板)、背包与魔法、砝码称重

动态规划-01背包(模板)、完全背包(模板)、多重背包1(模板)、多重背包2(模板)、背包与魔法、砝码称重

2026/7/12 22:25:20

问题描述有 NN 件物品和一个体积为 MM 的背包。第 ii 个物品的体积为 vivi​,价值为 wiwi​。每件物品只能使用一次。请问可以通过什么样的方式选择物品,使得物品总体积不超过 MM 的情况下总价值最大,输出这个最大价值即可。输入格式第一行输…

HarmonyOS APP实战-画图APP - 第8篇:图像效果应用(亮度/模糊/灰度)

HarmonyOS APP实战-画图APP - 第8篇:图像效果应用(亮度/模糊/灰度)

2026/7/12 22:25:20

HarmonyOS APP实战-画图APP - 第8篇:使用effectKit处理图像 1. 开篇 上一篇我们实现了在画布上添加文字的功能,用户可以通过对话框输入文字内容、选择字体大小和颜色,并通过拖拽将文字放置在画布任意位置。文字绘制基于CanvasRenderingContex…

HarmonyOS APP实战-画图APP - 第7篇:文本绘制功能

HarmonyOS APP实战-画图APP - 第7篇:文本绘制功能

2026/7/12 22:25:20

HarmonyOS APP实战-画图APP - 第7篇:在画布上添加文字 1. 开篇 在第6篇中,我们完成了绘制模式的切换与交互反馈优化。通过 DrawMode 枚举( Rect 、 Circle 、 FreeDraw )管理当前绘制模式,在工具栏中实现了高亮选中状态…

Open Source Candies生态系统分析:开源项目如何利用免费服务成长

Open Source Candies生态系统分析:开源项目如何利用免费服务成长

2026/7/12 22:15:20

Open Source Candies生态系统分析:开源项目如何利用免费服务成长 【免费下载链接】opensource-candies Free stuff for open source projects 项目地址: https://gitcode.com/gh_mirrors/op/opensource-candies 在开源项目的成长过程中,资源和工具…

Unity游戏文本翻译架构深度解析:XUnity.AutoTranslator的技术实现与工程实践

Unity游戏文本翻译架构深度解析:XUnity.AutoTranslator的技术实现与工程实践

2026/7/12 0:03:42

Unity游戏文本翻译架构深度解析:XUnity.AutoTranslator的技术实现与工程实践 【免费下载链接】XUnity.AutoTranslator 项目地址: https://gitcode.com/gh_mirrors/xu/XUnity.AutoTranslator XUnity.AutoTranslator作为Unity游戏社区中最成熟的文本翻译解决方…

openEuler Raspberry Pi Kernel设备驱动开发指南:为树莓派硬件添加支持

openEuler Raspberry Pi Kernel设备驱动开发指南:为树莓派硬件添加支持

2026/7/12 0:03:42

openEuler Raspberry Pi Kernel设备驱动开发指南:为树莓派硬件添加支持 【免费下载链接】raspberrypi-kernel It provides openEuler kernel source for Raspberry Pi 项目地址: https://gitcode.com/openeuler/raspberrypi-kernel 前往项目官网免费下载&…

openEuler系统集成测试实战:基于smoke-test套件的环境验证技巧

openEuler系统集成测试实战:基于smoke-test套件的环境验证技巧

2026/7/12 0:03:42

openEuler系统集成测试实战:基于smoke-test套件的环境验证技巧 【免费下载链接】integration-test The repo contains test suits for system integration test 项目地址: https://gitcode.com/openeuler/integration-test 前往项目官网免费下载:…

Unity游戏文本翻译架构深度解析:XUnity.AutoTranslator的技术实现与工程实践

Unity游戏文本翻译架构深度解析:XUnity.AutoTranslator的技术实现与工程实践

2026/7/12 0:03:42

Unity游戏文本翻译架构深度解析:XUnity.AutoTranslator的技术实现与工程实践 【免费下载链接】XUnity.AutoTranslator 项目地址: https://gitcode.com/gh_mirrors/xu/XUnity.AutoTranslator XUnity.AutoTranslator作为Unity游戏社区中最成熟的文本翻译解决方…

openEuler Raspberry Pi Kernel设备驱动开发指南:为树莓派硬件添加支持

openEuler Raspberry Pi Kernel设备驱动开发指南:为树莓派硬件添加支持

2026/7/12 0:03:42

openEuler Raspberry Pi Kernel设备驱动开发指南:为树莓派硬件添加支持 【免费下载链接】raspberrypi-kernel It provides openEuler kernel source for Raspberry Pi 项目地址: https://gitcode.com/openeuler/raspberrypi-kernel 前往项目官网免费下载&…

openEuler系统集成测试实战:基于smoke-test套件的环境验证技巧

openEuler系统集成测试实战:基于smoke-test套件的环境验证技巧

2026/7/12 0:03:42

openEuler系统集成测试实战:基于smoke-test套件的环境验证技巧 【免费下载链接】integration-test The repo contains test suits for system integration test 项目地址: https://gitcode.com/openeuler/integration-test 前往项目官网免费下载:…