802.3cg单对以太网标准详解:10BASE-T1L/T1S、PLCA与PoDL
简介IEEE 802.3cg-2019标准文档是IEEE 802.3的重要修订版面向网络工程师、硬件开发者及物联网从业人员系统规定了在单对平衡导线上实现10兆比特每秒传输的物理层规范、管理参数与可选供电方式。修订案在继承IEEE 802.3-2018框架的基础上定义了10BASE-T1L和10BASE-T1S两种物理层类型并引入物理层冲突避免PLCA机制有效改善多点共享网络的冲突管理同时支持通过同一线缆供电简化远端设备部署。文档内容涵盖信号编码、调制解调、噪声抑制、链路监测及电源管理等技术细节为工业自动化、智能家居和远程传感器网络等低速高可靠场景提供统一依据。压缩包内含1个PDF文件大小约5.41MB为官方正式出版文本目录结构清晰便于快速查阅章节及追溯修订历史。目前已有1074人下载学习适合需要深入理解IEEE 802.3cg协议、开展合规设计或进行标准引用的技术人员。1. 先把概念钉死IEEE 802.3cg 到底解决了什么做工业总线或者智能楼宇的工程师这两年大概率都听过「单对以太网」这个词它的正式出处就是 IEEE 802.3cg-2019。这是一份对 IEEE 802.3-2018 的修订案核心干了两件事一是在一根双绞线上跑 10 Mb/s 以太网二是能顺带在这根线上供电。注意是「单对」不是平常网线里的四对线缆成本、连接器体积、布线施工量全都压下来了。它不是给数据中心用的主要盯的是传感器网络、工业现场总线替代、楼宇温控面板这一类低速但数量庞大的场景。这份 PDF 适合三类人做 PHY 芯片或模组选型的硬件工程师、写链路层驱动的软件工程师、以及需要给项目定通信方案的系统工程师。它把 10BASE-T1L 和 10BASE-T1S 的物理层、管理参数、供电机制一次说全了属于那种「先立住标准、再谈实现」的原始文件。下面我会按阅读顺序带你把这份文档拆开顺便讲清楚哪些参数直接决定选型。2. 三种物理层先分清T1L、T1S 点对点、T1S 多点参数差在哪802.3cg 里最容易翻车的一点是很多人把 10BASE-T1L 和 10BASE-T1S 当成同一个东西。虽然都是 10 Mb/s、都是单对线但一个是长距离点对点一个是短距离多点编码方式、电平、拓扑约束完全不同。读标准的第一件事就是先把这三个 PHY 归类别拿 T1L 的参数去设计 T1S 的节点。2.1 10BASE-T1L冲着一公里去的长距点对点10BASE-T1L 的目标是替代传统的 4~20 mA 模拟信号和低速现场总线所以标准把链路预算做到了 1000 米以上。这个 PHY 只支持点对点也就是一根线上就两个节点一个 MASTER、一个 SLAVE。支持极性自动校正也就是说你在现场把两根线接反了PHY 自己能识别这对施工来说是很实在的特性。从物理层看T1L 采用了低幅度的三电平信令线速约 7.5 MBd通过 4B3B 编码把 10 Mb/s 的有效速率映射到线路上并且针对长距离做了发送端的频谱成形和接收端的均衡。标准里给出了完整的链路损耗预算表我在实际项目中一般会按这段逻辑估算24 AWG 单对线1000 米时的插入损耗预算在标准规定的范围内每个连接器会吃掉一部分损耗预算现场如果有中转端子排要把这部分一起算进去直流供电时线上电压降还要叠加在链路损耗之外单独核算。注意T1L 的「1000 米」是理论预算不是保票。标准给的是在指定线规和温度范围下的损耗余量你实际用了 26 AWG 细线或者现场温度偏高距离就得打折。这是后面避坑部分重点讲的。2.2 10BASE-T1S 点对点短距离但门槛低10BASE-T1S 点对点模式适合不超过 15 米左右的设备互联比如一个传感器直接连到控制器。它的编码是 4B5B线速 12.5 MBd比 T1L 高所以同样时间能发更多码元但距离短很多。发送电平和接收灵敏度要求跟 T1L 也不是一套不能混用。如果你只是把两个设备短距离拉通点对点 T1S 是最省事的不需要 PLCA也不需要处理多点冲突PHY 上电后做 MASTER-SLAVE 握手链路就起来了。标准里对这种应用的描述集中在物理层信号规格和管理接口上驱动工程师主要关注的就是链路状态机和寄存器映射。2.3 10BASE-T1S 多点真正体现 802.3cg 价值的部分多点模式是 802.3cg 相对传统以太网最有意思的地方。它允许在一根总线标准里叫 mixed segment上挂多个节点比如工业现场的一条主干线上并接若干传感器节点。这打破了传统以太网必须点对点、必须带交换机的约束拓扑退化成了现场总线那种「一根线串一串」的形式。但多点意味着冲突而原来的 CSMA/CD 在 10 Mb/s 单对线上并不实用所以标准引入了 PLCAPhysical Layer Collision Avoidance。PLCA 的思路不复杂总线上选一个节点当协调者按节点 ID 轮流发数据避免碰撞。这种机制在标准里占了整整一章我会在后面单独展开。先明确一个结论同一根线上T1L 和 T1S 不能混挂。它们的信令速率、编码和链路时序都不一样标准里也没有为混合拓扑留接口。选型的第一步就是确定你的拓扑结构再决定 PHY 类型。2.4 三个型号怎么选一张表说清边界下面这张表是我自己项目里常用的对照方式直接对应 802.3cg-2019 的章节划分参数项10BASE-T1L10BASE-T1S 点对点10BASE-T1S 多点典型距离1000 m15 m 以内25 m 总线长度拓扑点对点点对点多点共享总线冲突处理不需要不需要PLCA 调度编码方式4B3B4B5B4B5B应用场景过程自动化、远距离传感设备近距离互联传感器总线、车内网络注意「25 m 总线长度」是包含所有分支的总长度上限不是每段长度。标准对分支线 stub 长度也有明确限制调试时很容易因为一个短接头超限导致眼图闭合。具体数值以 PDF 原文为准我这边做项目时一般会留 20% 余量。3. PLCA 与 MASTER-SLAVE多点总线上怎么把冲突摁住要读懂 802.3cg绕不开 PLCA。这一章如果你能完全啃下来基本就可以直接做驱动层调试了。PLCA 不算复杂但它的时序细节和传统的以太网退避算法完全不同惯性思维容易踩坑。3.1 从 CSMA/CD 到 PLCA为什么标准换了一套调度逻辑传统共享介质以太网靠的是「先听再说、冲突退避」也就是 CSMA/CD。但在 10BASE-T1S 多点上这种算法有两个问题一是效率低节点多了之后冲突概率非线性上升二是它要求每个节点都能在发送期间检测到碰撞这在单对线上实现起来很不舒服。所以 802.3cg 定义了一个可选的功能层叫 PLCA。它的模型是总线上有一个协调节点作为 COMM其余节点按 Node ID 编号。COMM 周期性地发送 BEACON 信号每个节点在收到 BEACON 之后按自己的编号依次获得发送机会。每个节点在自己的时隙里可以发一帧或多帧发完就闭嘴轮到下一个。整个过程是预约式的不存在碰撞。这套机制对节点数量的限制、对 BEACON 超时时间的设定、以及节点在掉线后如何重新接入标准里都做了明确规定。你要是只跑两个节点的点对点模式PLCA 可以关掉但一旦上了多点就必须保证 PHY 和 MAC 都按 PLCA 的时序走。3.2 MASTER-SLAVE 握手链路是怎么建立起来的不管 T1L 还是 T1S链路建立都依赖 MASTER-SLAVE 机制。上电后PHY 芯片之间要做一次握手确定谁是主、谁是从然后交换训练序列让接收端把均衡器调整到最佳状态。这个过程的寄存器映射和状态机转换是标准里驱动开发必看的部分。我自己调试时的建议是先用带寄存器读写功能的调试工具把 PHY 的 link status 寄存器读出来确认物理层已经 UP再往上调试 MAC 层。别一上来就查应用层很多「链路不通」的问题其实是 MASTER-SLAVE 协商没完成。3.3 PLCA 相关的管理参数调试时你会用到哪些标准里给 PLCA 配了对应的管理参数一般在 PHY 的管理寄存器里能读到。主要包括PLCA 使能开关、节点 ID 配置、BEACON 间隔、突发计数上限等。其中最容易忽略的是节点 ID 的分配——总线上的每个节点 ID 必须唯一而且 ID 范围跟标准允许的最大节点数相关。/* 举例配置 PLCA 工作模式伪代码实际寄存器地址需要对照 PHY 数据手册 */ uint8_t node_id 0x03; /* 当前节点的 ID必须全网唯一 */ uint8_t pcs_id 0x01; /* 该节点所属的 PCS 实例 */ uint16_t burst_count 0x01; /* 每次轮询最多连续发送的帧数 */ phy_write_reg(PLCA_CONTROL_REG, 0x03); /* 使能 PLCA、启用多点模式 */ phy_write_reg(PLCA_NODE_ID_REG, node_id); phy_write_reg(PLCA_BURST_COUNT_REG, burst_count);这段代码的逻辑是先把 PHY 切到多点模式再写入节点 ID 和突发上限。注意 burst_count 不能设置得太大否则一个节点会独占总线影响其他节点的实时性。标准对 BEACON 和轮询周期有推荐值实际做系统设计时节点数越多周期就得拉得越长端到端的时延预算要从这里开始算。4. PoDL 供电设计同一根线上送电的边界条件802.3cg 的另一半内容是 Power over Data Line简称 PoDL。它和你在安防工程里见到的 PoE 不是一回事PoDL 是专门为单对以太网设计的供电方案电流路径、功率等级、握手方式都有单独定义。4.1 PoDL 与 PoE 的区别别拿老经验套PoE 走的是四对线里挑两对或四对同时送电功率大、协议复杂。PoDL 是在一对线上既跑数据又送直流数据信号和电源在物理上是叠加的通常通过耦合网络把直流电源馈到线上再用对端的中压电容把直流隔开。别想当然照着 PoE 的变压器和整流方案画原理图单对线的共模电感和耦合电容取值直接影响信号完整性。标准里把 PoDL 的功率等级做了分级从低功耗传感器级别到几十瓦级别都有定义。选型时先看受电设备的功率需求再反推供电设备的等级和线缆的载流能力。注意不是所有 802.3cg 的 PHY 都强制支持 PoDL它是可选项。如果只是做数据传输不供电那相关章节可以跳过但如果要供电就涉及功率分级、握手超时、过流保护三个关键点。4.2 供电分段和握手逻辑上电顺序错了会怎样PoDL 的上电不是一个简单的「给线送电」它分了探测、分级、供电三个阶段。供电设备先输出一个低电压探测信号确认线上有受电设备并且功率等级匹配然后才把电压提到工作值。这个过程的时序参数标准里写得非常细包括每步的电压阈值和等待时间。如果你在调试中发现受电设备反复重启大概率是握手失败要么是探测电阻的阻值偏离导致分级不正确要么是受电设备的电容太大导致分级阶段电压建立太慢、超时掉线。我在项目里碰到过一次现象是设备通电后 5 秒内必然重启一次查到最后是因为受电端并了一个大电解电容分级阶段的上升沿被拉平了供电设备认为握手失败。这种问题用示波器看电压台阶就能定位但前提是你知道标准预期的波形是什么样的。4.3 一个最小 PoDL 供电链路的参数清单参数典型值范围说明探测电压标准指定区间低于正式工作电压分级电流由功率等级决定受电端电阻决定正式供电电压标准按等级划分不能超过线缆绝缘约束过流阈值每等级有上限需要和 PHY 芯片规格核对实际设计时供电设备和 PHY 芯片通常不是一个器件需要确认它们之间的协作时序是否一致。有些 PHY 芯片自带 PoDL 接口有些是外挂独立 PSE 控制器后者要特别注意和 PHY 的电源管理寄存器做联动否则会出现数据链路已 UP、但供电还没建立的情况。5. 落地避坑从标准读到原理图五条真实踩坑记录这份 PDF 读起来是一回事做出来是另一回事。我把自己和同行在实际项目里踩过的坑集中整理一下按「现象 → 原因 → 解决」的方式写每条都是可以直接对照排障的经验。5.1 拿着 T1L 参数设计 T1S 电路信号根本拉不开现象按 T1L 的发送电平和均衡参数选了 T1S 的 PHY 外围器件结果在 10 米线上就出现大量 CRC 错帧。原因T1L 和 T1S 的线速、编码方式不同对共模电感和端接电阻的要求不一样。把 T1L 的磁珠参数用到 T1S 上高频分量被压得过狠。解决严格按标准里 T1S 章节的发送模板设计滤波器。涉及磁珠和电容取值时以 PHY 芯片参考设计为准不要跨 PHY 类型复用。5.2 多点总线上挂 20 个节点总有节点掉线现象总线长度 15 米挂了 20 个节点运行一段时间后深处的几个节点间歇性失联。原因PLCA 的节点 ID 分配随机配置没有做唯一性规划。两个节点 ID 冲突导致 BEACON 之后的轮询顺序错乱。解决给每个节点做硬件拨码或出厂配置强制节点 ID 唯一并在软件里上电自检时读取邻居节点 ID 做查重。5.3 PoDL 握手正常但数据眼图抖动严重现象供电建立后数据传输的误码率升高眼图测试发现眼高明显下降。原因PoDL 的耦合网络和 PHY 的接收端形成了额外的谐振电源噪声叠加到了信号频带内。解决调整耦合电感和隔直电容的参数或者在供电链路里加一级 LC 滤波把开关电源的纹波在进入信号路径前压掉。5.4 1000 米的链路在面板测试能过现场就翻车现象实验室里用 1000 米线轴测试通过到客户现场装完之后链路直接 DOWN。原因现场布线穿管时用了两个中间端子排每个端子排的连接损耗和反射把链路预算吃掉了。解决把连接器损耗计入预算按「每个连接器预留损耗」的方式重新计算可用距离。现场有条件的话尽量用整根线缆减少接头。5.5 只读物理层寄存器忽略管理参数配置现象两个 PHY 都能各自完成 MASTER-SLAVE 握手但上层协议始终收不到数据。原因PHY 的管理参数没有按标准要求配置比如 MII 模式选错或者自适应开关没打开。解决先按标准的管理参数章节逐项核对 PHY 寄存器再用回环模式做数据面自测。物理层 UP 只代表链路层准备好了不代表数据通路通。6. 拿到 PDF 后怎么快速定位条款一份我自己的索引速查法802.3cg-2019 这份文档很长正文加附录得有一两百页如果从头到尾逐字读效率很低。我拿到一份新标准 PDF 时的习惯是先花半小时建立索引再按需跳到对应章节。这套方法对 802.3cg 尤其好用因为它涉及的内容正好可以按「物理层种类、冲突避免、供电、管理接口」四块来切。具体做法是先把 PDF 的书签目录展开找到 PHY 类型定义那几章标记成第一优先级再把 PLCA 和 PoDL 相关章节标记成第二优先级最后把管理参数和寄存器映射的章节标记成第三优先级。读的时候按优先级跳不追求顺序读完全文。# 如果 PDF 自带书签可以用工具把目录导出来快速浏览章节结构 pdfinfo IEEE_8023cg-2019.pdf | head -20 pdftk IEEE_8023cg-2019.pdf dump_data output bookmarks.txt这段命令做的事是先用 pdfinfo 查看文档基本信息再把书签数据导出到文本文件。导出的书签里会列出每个章节标题和对应页码把它当成目录增强版来用。对 802.3cg 来说我要找的就是 10BASE-T1L、10BASE-T1S、PLCA、PoDL 这几个关键词在书签文件里一搜就能定位到准确页码。然后是「参数倒查」的第二个习惯按需要查的参数名去找定义页。比如我在设计 PoDL 的探测电压时直接搜索「probe」或者「detect」关键词而不是从头翻供电章节。PDF 阅读器一般都支持全文搜索配合书签定位效率能翻几倍。之后把找出来的条款和对应的 PHY 芯片规格书对照用荧光笔在打印件上标出互相约束的参数形成一份项目专属的参数清单。从那以后我每次拆任何标准 PDF都强制自己先走一遍「书签导出、关键词定位、参数倒查」的流程再动手画原理图或者写驱动。标准文档不是小说它是一份工具快速找到你要的那一页才是关键。希望这个索引速查法也能帮你把 802.3cg 这份 PDF 从「吃灰文件」变成真正能落地的参考手册。本文还有配套的精品资源点击获取