第二节——计算机网络(四)物理层

  • 车载以太网采用差分双绞线
  • 车载以太网并未指定特定的连接器,连接方式更为灵活小巧,能够大大减轻线束重量。传统以太网一般使用RJ45连接器连接。
  • 车载以太网物理层需满足车载环境下更为严格的EMC要求,100BASE-T1\1000BASE-T1对于非屏蔽双绞线的传输距离可达15m(屏蔽双绞线可达40m)
  • 车载以太网(如100BASE-T1)可以通过回音消除技术实现在一对双绞线上进行全双工通信。回音消除技术的主要过程:作为发送方时,节点会将自己的差分电压施加到双绞线上;而作为接收方时,节点会从总电压中减去自己施加的电压,从而得到对方节点发送的电压。此机制属于回音消除技术,也应用在其它以太网系统中。所以在全双工通讯的情况下,示波器是无法读取有效的波形,在单向发送或接收时就可以通过示波器测量相应的数据。

  • 车载以太网通信架构的每一条链路都是点对点连接,即每根电缆只连接2个节点。

  • CAN总线中,波特率=比特率。但在以太网中,波特率≠比特率。 这是因为以太网使用了不同的编码方案来传输数据。波特率是指每秒钟传输的符号数(symbols per second),而比特率是指每秒钟传输的比特数(bits per second)。编码方案决定了每个符号代表多少个比特。所以100BASE-T1中的100Mbps指的是比特率为100Mbps,而不是波特率。

  •  汽车以太网,涵盖了ISO/OSI分层模型的所有层

        

1、车载以太网诞生背景

        汽车以太网源于刷写时间的要求,当时BMW需要将1GB的数据在15min内刷完,使用CAN总线大概需要16h,而使用快速以太网100Base-TX可以达到目标。

        于是BMW在2008年将100Base-TX应用到OBD口。也就有了我们现在常听到的DoIP!

        而100Base-TX是基于两对双绞线的以太网,CAN等传统总线技术是基于一对双绞线,100Base-TX以太网相对于CAN来说,在总线上是没有优势的。

        因此BMW通过与Broadcom等公司合作,发明了基于一对双绞线的BroadR-Reach汽车以太网,这也就是后来被IEEE规范化的100Base-T1的以太网技术!

        当然,现在大多数厂商除了100Base-T1以外,也已经使用了1000Base-T1。现在可能1Gbps也都无法解决带宽需求。

2、车载以太网与其他总线对比 

3、车载以太网分类

汽车上使用的以太网分为两种,

 一个是车外:OBD对外的通信:一般通过100BASE-Tx技术。OBD对外通信是两对双绞线。在ISO13400-3中有一些描述,常规使用的是3、11、12、13 这四个引脚,当然还要外加一个8引脚的激活(Activation)线。这是一个通过OBD的对外的DoIP的诊断。

100BASE-TX,加激活线的原因(减少电磁干扰):100BASE-TX如果在车辆运行时使用,会对EMC的辐射干扰很大,辐射干扰超出限值限,并将在调频广播中引起声音接受失真。为了确保100BASE-TX的UTP以太网连接不会在运行时造成失真,所以添加了“激活线”,这种激活线可确保只有当外部的测试仪被连接时,车内100BASE-TX的UTP以太网连接才会被激活

标准:车载诊断标准ISO+13400-3中文 - 百度文库

一个是车内:ECU之间的通信:一般通过 100BASE-T1 或 1000BASE-T1 两种技术,具体使用哪种看ECU对通信速率的需求。出于对EMC干扰的考虑,我们选择使用1000BASE-T1的时候,会选择使用一对屏蔽双绞线。  

T1(1对双绞线,通过回音消除在一对双绞线上实现发送和接收):用于车内节点的通信

Tx(2对双绞线,一对专门用于发送数据TX±,另一对专门用于接收数据RX±):用于车内节点与车外节点的通信,常用于诊断

100BASE-T1:1对非屏蔽双绞线,最大传输距离为 15米。不支持自动协商机制。

1000BASE-T1(1G):1对屏蔽双绞线,最大传输距离为 15米

100BASE-TX:2对非屏蔽双绞线,最大传输距离为 100米。在汽车以太网中,100BASE-TX 标准本身并不强制要求使用激活线(Wake-up Line),但为了适应汽车环境的特殊需求,很多系统会添加激活线。

这个XXBASE的XX指的是比特率,不是波特率。

4、车载以太网应用的网络拓扑(域控制器)

车载以太网典型的网络拓扑是基于Domain架构的,在这种架构里,按逻辑功能将整车功能分为几个功能域,各家的分法可能有些差异,但大致上分为如信息娱乐域,自动驾驶域,车身域,动力域等;各个控制器通过以太网主干网连接,各子网节点通过CAN/LIN/ETH等连接到域控制器。  

在上图所示的以太网典型拓扑图里,OBD端通过快速以太网100BASE-TX连接(DoIP,一般做诊断的时候会用到快速以太网),车内主干网/子网通过T1以太网连接,根据带宽需求不同,可以选择100BASE-T1/1000BASE-T1。

 5、以太网命名规则

6、主流车载以太网 

        当下主流的车载以太网协议主要为IEEE 100BASE-T1以及IEEE 1000BASE-T1,常规使用可采用100BASE-T1,如果需要更高带宽,可选择1000BASE-T1。 

100Mbps或者1000Mbps并不是Ethernet的全双工模式,仅仅是它的半双工通信速率,如果全双工,按照CAN总线通信速率计算方式,Ethernet的通信速率翻倍。(指的是收和发均为100/1000Mbps,而不是收和发加起来才100/1000Mbps)

 100BASE-TX"带宽不共享" 意味着在全双工模式下,100BASE-TX的100Mbps带宽在每个方向上都是独立的,每个方向都可以达到100Mbps的带宽。这种模式下,数据传输效率更高,不存在数据冲突的问题。(100BASE-T1通常工作在全双工模式下,这意味着带宽是不共享的,每个方向都有独立的100Mbps带宽。1000BASE-T1同理。)

100BASE-T1、1000BASE-T1、100BASE-Tx,这三个都是同时收发,收支持100/1000,发支持1000,数据的发送和接收是同时进行的,并且不共享带宽。

100BASE-T1在物理连接上使用了一对双绞线实现全双工的信息传输(回音消除技术),而100BASE-TX则使用了两对双绞线实现全双工,一对用于收,另一对用于发。

同步方式:同步符号流。利用主节点和从节点可以解决此问题:主节点生成一个连续符号流,从节点与之同步。(100BASE-T1:微控制器的基础软件将PHY配置为主节点或从节点;1000BASE-T1:主/从节点不是固定的,而是使用自动协商机制进行协商)

100 BASE-T1相比100BASE-Tx具有更好的抗电磁干扰和抗噪声性能,以便于车辆可以在雷雨等恶劣天气中稳定通信。

6.1 100BASE-T1

"

7、100/1000BASE-T1编码规则

PHY模块结构:我们这里需要注意的是RXD 和TXD都是4个bit。

  • 物理层编码规则(以100BASE-T1、1000BASE-T1为例):首先,总线上的电平信号有三种:-1、0、1。数据和电平的编码转换关系如下表:(即2根线的电平即可表示3位bit
  • 主要数据到电平转换过程为以下四步:
  1. 首先从MII接收到数据(4bit 4bit...)
  2. (4B→3B时钟转换)接下来分割成(3bit3bit...)进行处理;接收MII传递的数据后,PHY层首先进行4B/3B转换。这种转换不是分块编码,仅是一种时钟转换,25MHz传输的4bit数据块(4B)转换成时钟频率为33.33MHz的3bit数据块(3B)(100/3=33.33)
  3. (3B→2T编码)根据上表,电平与数据编码的关系,转换为申平信号。即每3bit数据(3B)编码成一对三进制符号(2T),标称值分别为-1,0和+1。
  4. (2T→PAM3)完成了3B/2T编码的一对三进制符号(2T)后,为了能在双绞线上传输,需要将2T中的-1,0,+1对应成低电平,0或高电平,这种三电平脉冲幅度调制方式即PAM3。对应的电平值分别是-1V、0V、1V。

注:1)上面步骤的2、3是PCS子层。4是PMA层。

2)4B->3B时钟转换时,当输入数据位数不是3的倍数则必须插入1或2个填充位。填充位的值并不重要,因为他们将在接收端被移除,因而标准中没有规定填充位的值

总结一下,100BASE-T1物理层的工作原理就是通过4B/3B转换,3B/2T编码,PAM3调制,最终通过一对双绞线上的差分信号以及回音消除技术实现100Mb/s的全双工通信。

    

  

100Mbps 速度的由来:

在微控制器的每个时钟周期中,MII接口到来的数据是4个bit,PHY从MII接口收到数据后,会首先进行一个4B3B的转换,为了匹配25MHz*4bit=100Mbit/s的速率,PHY的MI接口时钟周期应该是33.3333M每次接收3bit,也实现了33.3333M*3bit=100Mbi t/s的速率。之后PHY要再进行3B2T的操作,将每次接收到的3个bit转化为2个申平值(取值范围是-1,01),具体的对应关系如上图中的表所示。3个bit有8种组合(即2的三次方),两个电平值有9种组成(即3的平方),所以后者可以覆盖前者。此时时钟周期仍然是33.333M,但是每个时钟周期中的两个电平就能够表示3个bit了,所以此时的数据速率仍然是100Mb it/s,每个电平实际上包含了1.5bit信息。最后一步是 PAM3,将逻辑的-1,0,1转化为在双绞线上的电压,所以,最终在总线上信号的波特率(每秒传输的符号数量)是66.666MH z,但是它实现了100Mbit/s的通信速率(每秒传输的比特数量)(66.66*1.5=100)即:66.6MHz的电压频率即可完成100Mbps数字信号的模拟传输

8、物理层

物理层主要作用:1)定义硬件接口;2)定义信号与编码;3)定义数据与信号之间的转换收发;4)确保发送方和接收方的时钟同步,以便正确接收数据。

 以太网设计的硬件主要由三个部分组成:

  • Processor:常见的MCU,MPU,SoC等
  • MAC:Media Access Control。介质访问控制,是典型的数字电路。
  • PHY:physical layer。物理层收发器,包含大量模拟器件。

        如下图所示,Processor通过DMA直接存储访问与MAC之间进行数据的交互,MAC通过MII介质无关接口与PHY之间进行数据的交互,考虑到芯片面积,以及数模电路混合架构等原因,常见的以太网硬件结构是:将MAC集成进Processor芯片,将PHY留在Processor片外,做成单独的收发器芯片。这也是为什么目前我们在市场看到不同的独立的PHY芯片。

MAC:将数字信号发送给PHY,又能接收PHY转换好的数字信号。

8.1 PHY模块

 对于其他总线(egCANLINFlexray),我们习惯简称TransceiverTrcv对于Ethernet,我们称对应Transceiver芯片为PHY芯片(Physical Layer,物理接口层)。PHY的主要作用是进行数/模转换,而软件处理中,只关注数字信号。

以太网所有物理层的功能全部集中在一个称为PHY的模块中,它将以太网控制器以及物理介质连接在一起,并且通过一个标准化接口MII连接,同时PHY模块与底层介质通过MDI接口连接,以100BSASE-T1所示,如下图所示:

PHY是IEEE802.3定义的标准模块,主要结构组成如下图所示。在发送数据时,PHY接收从MAC过来的数据,将并行的数据转化为串行流数据,按照物理层的编码规则把数据编码,再变为模拟信号把数据发出去。接收数据时的流程则相反。 

Process通过MII接口与PHY进行数据的交互,通过MIIM接口(MDIO/MDC)使用管理帧对PHY进行管理/控制。

1) 100BASE-TX PHY结构

PHY的内部分为了三个子层

PCS:Physical coding Sublayer编码子层,主要进行初始编码,实现特定于以太网速度和传输介质要求的子层中的一部分。

PMA:Physical Medium Attachment介质连接层,结余PMA和PCS之间,其中PM D是按照bit串行处理方式,而PCS则是按照数据块处理方式,因此PMA则是起到中间转换的作用,此外还起到数据冲突检测的功能。

PMD:Physical Medium Dependent介质依赖层,主要职责是转换PMA的数据与实际网络上的信号。发送时,它从PMA读取数据并执行实现该功能所需的必需的低级行编码功能设计的媒介。接收时,它会读取并解释这些内容编码信号,然后将它们转换回位以发送到PMA。

2) 100BASE-T1 PHY结构

PHY的内部分为了两个子层:

PCS物理编码子层:实现MII接口和PMA的数据收发,进行4B/3B和3B/2T编码,

PMA物理介质连接子层:实现PCS和物理介质之间的收发,并且提供连接管理和PHY控制功能。

同样​以信号发送为例,100BASE-T1在进行信号传输时,主要进行了以下几个过程处理。

1. PHY的PCS物理编码子层以25MHz的速率从MII接收数据位宽为4bit的数据,然后使用4B/3B分块编解码技术进行编码,把4Bit的数据转换为3bit的code-Group,如果数据长度不是3bit的整数倍,在帧结束时还需要插入1或2bit的填充位。

2. PCS进一步会把3bit的比特字映射到三级符号,即3B/2T映射。把经过扰码后的3比特字Sdn[2:0]映射到三级符号向量(An,Bn)。当PHY处于不同的模式(空闲模式,数据模式)时,有不同的映射关系。

3. PCS转换后的数据以33.3MHz(25MHz*4bit/3bit = 33.3MHz)的速率传递给PMA物理介质连接子层,接着PMA将2D的三级符号向量转换为1D,然后使用PAM3三级脉冲幅度调制发送信号。

4. 经过上述处理后,PHY以66.7MBaud(100/3*2)波特率将数据传输到双绞线上。

常见的100BASE-T1车规级的物理层(PHY)有以下几种,

博通:BCM89810、BCM89811;

恩智浦:TJA1100、TJA1102。

使用不同的速率的Ethernet,对应的PHY芯片不同。不同通信速率的以太网标准有不同的物理层要求,因此需要不同的PHY芯片来实现这些要求。

虽然不同速率的以太网通常需要不同的PHY芯片,但市场上也存在一些多速率PHY芯片,它们可以支持多种速率。例如,有些PHY芯片可以同时支持10/100/1000 Mbps的速率,或者支持1000BASE-T和10GBASE-T。这些多速率PHY芯片通常用于需要灵活适应不同网络环境的设备,如交换机、路由器和网络适配器

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/927318.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Next.js - app 路由器之动态路由与并行路由

#题引:我认为跟着官方文档学习不会走歪路 动态路由的约定 (1) 通过将文件夹名称用方括号括起来可以创建动态段:[folderName] 动态段会作为 params 属性传递给 layout、page、route 和 generateMetadata 函数。 例如,一个博客可以包含以下…

电脑还原重置Windows系统不同操作模式

电脑有问题,遇事不决就重启,一切都不是问题!是真的这样吗。其实不然,主机系统重启确实可以自动修复一些文件错误,或者是设置问题,但是,当你由于安装了错误的驱动或者中毒严重,亦或是蓝屏,那么重启这个方子可能就治不了你的电脑了。 那么,除了当主机出现异常故障现象…

基于Java Springboot蛋糕订购小程序

一、作品包含 源码数据库设计文档万字PPT全套环境和工具资源部署教程 二、项目技术 前端技术:Html、Css、Js、Vue、Element-ui 数据库:MySQL 后端技术:Java、Spring Boot、MyBatis 三、运行环境 开发工具:IDEA/eclipse 微信…

git 上传代码时报错

在上传代码时,显示无法上传 PS E:\JavaWeb\vue3-project> git push To https://gitee.com/evening-breeze-2003/vue3.git! [rejected] master -> master (non-fast-forward) error: failed to push some refs to https://gitee.com/evening-breeze-20…

【学习笔记】GoFrame框架

文章目录 什么是GoFrame框架 and 安装项目初始化 什么是GoFrame框架 and 安装 我也是用过许多框架的程序员了,但是GoFrame框架确实是没听说过,今天就来学习一下。 首先是我们熟悉的选手自我介绍环节 GoFrame 是一款模块化、高性能、企业级的 Go 语言基…

探索温度计的数字化设计:一个可视化温度数据的Web图表案例

随着科技的发展,数据可视化在各个领域中的应用越来越广泛。在温度监控和展示方面,传统的温度计已逐渐被数字化温度计所取代。本文将介绍一个使用Echarts库创建的温度计Web图表,该图表通过动态数据可视化展示了温度值,并通过渐变色…

Linq(C#)之对数据分组

分组是指将数据分到不同的组&#xff0c;使每组中的元素拥有公共的属性。 下图演示了对字符序列进行分组的结果。 每个组的键是字符。 1、group by List<int> numbers [35, 44, 200, 84, 3987, 4, 199, 329, 446, 208];IEnumerable<IGrouping<int, int>> q…

【字体】Fire Code连字效果开启

Vscode 开启方法 1、设置字体Fire Code 放在最前面的即可&#xff1a; 2、启用连字 继续往下找到“在 settings.json 中编辑”&#xff0c;然后设置"editor.fontLigatures": true &#xff1a; 保存即可。 Sublime 开启方法 设置中设置字体后&#xff0c;启…

区块链学习笔记(2)--区块链的交易模型part1

模型基础 区块链的tx分为两种模型&#xff0c;分别是比特币为代表的UTXO&#xff08;Unspent Transaction Output&#xff09;模型&#xff0c;和以太坊为代表的Account模型。前者适用于货币记账&#xff0c;后者适用于链上应用。 UTXO模型 类似于现金的交易模型 一个tx包含…

ComfyUI节点安装笔记

AI高速发展&#xff0c;版本更新相当快&#xff08;11月25日才安装的版本v.0.3.4&#xff0c;27日版本就已经更新到v.0.3.5了&#xff0c;当然不是说所有的版本更新都需要全部全新安装&#xff09;&#xff0c;在遇到问题&#xff0c;而不能通过update来更新各个节点解决时&…

数据库期末复习题库

1. Mysql日志功能有哪些? 记录日常操作和错误信息&#xff0c;以便了解Mysql数据库的运行情况&#xff0c;日常操作&#xff0c;错误信息和进行相关的优化。 2. 数据库有哪些备份方法 完全备份&#xff1a;全部都备份一遍表备份&#xff1a;只提取数据库中的数据&#xff0…

【经典论文阅读】Transformer(多头注意力 编码器-解码器)

Transformer attention is all you need 摘要 完全舍弃循环 recurrence 和卷积 convolutions 只依赖于attention mechanisms 【1】Introduction 完全通过注意力机制&#xff0c;draw global dependencies between input and output 【2】Background 1&#xff1a;self-…

理解字母形状,从而获得含义

英文字母&#xff0c;都是象形符号&#xff0c;所以&#xff0c;理解其形象&#xff0c;所象之形&#xff0c;是一项重要的工作&#xff0c;和非常有意义事情。也是我们快速记住大量单词&#xff0c;将单词从底层逻辑开始理清&#xff0c;融会贯通扩展记忆容量的重要办法之一。…

CA系统(file.h---申请认证的处理)

#pragma once #ifndef FILEMANAGER_H #define FILEMANAGER_H #include <string> namespace F_ile {// 读取文件&#xff0c;返回文件内容bool readFilename(const std::string& filePath);bool readFilePubilcpath(const std::string& filePath);bool getNameFro…

Linux Shell 脚本题目集(2)

1、使用 case 语句根据用户输入的分数&#xff08;0-100&#xff09;输出相应的成绩等级&#xff08;A, B, C, D&#xff09;。 #! /bin/bashread -p "请输入您的分数&#xff08;0-100&#xff09;&#xff1a;" score# 验证输入是否为数字且在0到100之间 if ! [[ …

混淆零碎知识点

minifyEnabled true //混淆开关 zipAlignEnabled true // Zipalign优化 shrinkResources true // 移除无用的resource文件 &#xff08;必须要混淆开了之后才才可以设置为true&#xff09; proguard-rules.pro 为混淆文件 //整个文件保留 不被混淆 -keep class com.cn…

【Vue3】从零开始创建一个VUE项目

【Vue3】从零开始创建一个VUE项目 手动创建VUE项目附录 package.json文件报错处理: Failed to get response from https://registry.npmjs.org/vue-cli-version-marker 相关链接&#xff1a; 【VUE3】【Naive UI】&#xff1c;NCard&#xff1e; 标签 【VUE3】【Naive UI】&…

常见靶场的搭建

漏洞靶场 渗透测试&#xff08;漏洞挖掘&#xff09;切忌纸上谈兵&#xff0c;学习渗透测试&#xff08;漏洞挖掘&#xff09;知识的过程中&#xff0c;我们通常需要一个包含漏洞的测试环境来进行训练。而在非授权情况下&#xff0c;对于网站进行渗透测试攻击&#xff0c;是触及…

若依项目源码阅读

源码阅读 前端代码分析 代码生成器生成的前端代码有两个&#xff0c;分别是course.js用于向后端发送ajax请求的接口代码&#xff0c;另一个是index.vue&#xff0c;用于在浏览器展示课程管理的视图组件。前端的代码是基于vue3elementplus。 template用于展示前端组件别的标签…

【算法】时间复杂度空间复杂度

0.前言 算法在编写成可执行程序后&#xff0c;运行时需要耗费时间资源和空间(内存)资源 。因此衡量一个算法的好坏&#xff0c;一般是从时间和空间两个维度来衡量的&#xff0c;即时间复杂度和空间复杂度。时间复杂度主要衡量一个算法的运行快慢&#xff0c;而空间复杂度主要衡…