第2章 物理层 本章要回答的三个问题:比特在导线上究竟长什么样,为什么两根线绞在一起就能抗住点火系统的干扰?终端电阻为什么必须是两端各约一百二十欧,阻值不对会出什么事?一个比特的时间被切成了几段,采样点挪动几微秒为什么会改变整条总线的容错能力?物理层是CAN这座大厦的地基,本章把地基浇筑实。 为什么会有这一章 总线上百分之七十以上的疑难杂症,根子都在物理层——这是排错老手们的共识。报文间歇性出错帧、高速率下通信距离缩水、低温晨间启动偶发总线离线,这些让软件工程师彻夜难眠的问题,最后往往在端接电阻、双绞质量、采样点配置上找到答案。反过来说,物理层理解扎实的人,看到示波器波形就能预判问题,调试时间能缩短一个量级。
本章要回答的三个问题:比特在导线上究竟长什么样,为什么两根线绞在一起就能抗住点火系统的干扰?终端电阻为什么必须是两端各约一百二十欧,阻值不对会出什么事?一个比特的时间被切成了几段,采样点挪动几微秒为什么会改变整条总线的容错能力?物理层是CAN这座大厦的地基,本章把地基浇筑实。
总线上百分之七十以上的疑难杂症,根子都在物理层——这是排错老手们的共识。报文间歇性出错帧、高速率下通信距离缩水、低温晨间启动偶发总线离线,这些让软件工程师彻夜难眠的问题,最后往往在端接电阻、双绞质量、采样点配置上找到答案。反过来说,物理层理解扎实的人,看到示波器波形就能预判问题,调试时间能缩短一个量级。
物理层之所以重要,还因为CAN的设计哲学在这里定调:显性位覆盖隐性位的"线与"机制,既是抗干扰的来源,也是仲裁和错误处理的地基。后两者是纯协议行为,但它们的前提——任何节点都能把总线拉成显性、也能检测到别人拉成显性——完全建立在物理层的电气特性上。跳过物理层学协议,等于背熟了棋谱却不知道棋子怎么落。
本章的叙述方式与常见的器件手册不同:不罗列参数表,而是沿"信号如何产生、如何传播、如何被正确采样"的因果链推进,每个环节都给出可以用万用表和示波器亲手验证的检查点。
还要提醒一种常见的学习误区:把物理层当成"纯硬件的事"跳过去。实际恰恰相反——位时序参数、采样点配置、终端电阻方案,最终都以软件配置或设计评审的形式落在总线工程师的案头;收发器的使能与唤醒逻辑,也由软件直接控制。本章会刻意在每个电气概念旁边标注它的软件侧抓手,让软硬件两条视角在物理层就完成第一次会师。这对想成为系统型工程师的读者尤其重要:车载领域的难题,多数死在软硬件的接缝上,而不是任何一侧的深处。
读完本章,你应当能用差分电压的原理解释显性与隐性电平的定义,说明为什么共模干扰会被接收器天然抑制;能够画出一条总线的标准拓扑,判断现场接线是否合规,并用万用表测电阻快速验证端接是否正确;能够理解位时序的分段模型——同步段、传播段、相位缓冲段的分工——并根据晶振频率与总线长度计算一组合理的位时序参数,解释采样点为何通常设在百分之七十五到九十之间。更重要的是,你将获得一套物理层排障的肌肉记忆:波形不对查哪里、阻值异常查哪里、错误帧集中爆发查哪里。
| 节号 | 回答的问题 | 关键产出 |
|---|---|---|
| 2.1 差分信号 | 显性与隐性电平如何定义,抗干扰的机理是什么 | 电平判定表与共模抑制原理 |
| 2.2 拓扑、终端电阻与收发器 | 一条合规的总线长什么样,如何用仪表验证 | 拓扑检查清单与电阻判读方法 |
| 2.3 位时序与采样点 | 位时间如何分段,参数如何计算 | 位时序计算实例与采样点选择依据 |
三节的因果链是:先有正确的电平,电平沿正确的拓扑传播,传播完成后必须在正确的时间点采样——任何一环失守,上层看到的都是错误帧。学习时建议按顺序推进,每一节的验证手段都建立在上一节的概念上。
需要欧姆定律与基尔霍夫电压定律的高中水平理解,能看懂简单的电阻并联计算——终端电阻的判读会用到。示波器不是必需的,但本章会描述波形特征,如果手头有双通道示波器和CAN评估板,把每一节的现象亲手复现一遍,收益翻倍。软件侧没有前置要求。
物理层解决"比特如何无误地跑完全程",下一章的数据链路层解决"比特如何组织成有意义的报文,多个节点如何共享线路"。你会发现第3章的仲裁机制,正是本章"显性覆盖隐性"这一物理事实的直接推论;而位时序里的采样点概念,会在错误处理一章再次出现——采样错误正是位错误的一种。物理层不是孤立的知识,它是后面所有机制的物质载体。
学完本章后有个自测的好办法:拿一张空白纸,从"为什么用两根线"开始,把差分、双绞、端接、采样点这条因果链默写出来。能画出链条,说明知识是连通的;画不出的断点,就是你该回到的那一节。本章的每一节都可以这样拆成一条因果链——电平链、拓扑链、时序链——三条链合起来,就是总线的全部物理生命。