车载以太网:PHY(物理层)介绍

0 工具准备

TJA1101B芯片手册
TJA1101B automotive Ethernet PHY手册
IEEE802.3-2018.pdf

1 车载以太网PHY(物理层)介绍

常见的普通以太网分为10BASE-2、10/100BASE-TX和1000BASE-T,一般都使用RJ45接口,对于1000BASE-T来说,它使用4对双绞线一共8根线来传输数据。而车载以太网一般采用T1标准,例如TJA1101使用的100BASE-T1,它使用一对双绞线一共2根线来传输数据,最大支持长度为15米。2个车载以太网phy芯片连接方式如下:
在这里插入图片描述
车载以太网除了物理层和普通以太网有所区别外,应用层、传输层、数据链路层和普通以太网并无区别。在IEEE802.3-2018中的描述如下:
在这里插入图片描述
其中物理层通过PHY芯片实现,车载以太网PHY芯片组成框架(参见IEEE802.3-2018)如下:
在这里插入图片描述
所有车载以太网PHY芯片都应该按照上图设计,以TJA1101为例,它的设计框图如下:
在这里插入图片描述

1.1 车载以太网的编码格式

车载以太网和普通以太网使用0、1电平表示逻辑“0”和“1”不一样,车载以太网使用-1、0、1的电平表示3个逻辑。因此同样实现100Mbps通信,车载以太网的载波频率只需要为100*2/3=66.67MHz即可。下面这张图就演示了从MII发送过来的2进制数据是如何编码完成的:
在这里插入图片描述
通过上图可以看到,24bit的2进制数据被编码成了16bit的3进制数据,因此车载以太网只需要66.67MHz的载波频率便能实现100MHz的数据传输速率。

1.2 车载以太网如何实现的全双工

常见的CAN、RS485使用一对双绞线的差分信号传输数据,是无法做到全双工的。车载以太网通过回声消除(echo cancellation)技术实现全双工。它的基本实现原理如下:
(1)PHY芯片发送数据时将自己的PAM3电压加到双绞线上
(2)PHY芯片接收数据时将双绞线上的电压减去自己的施加的PAM3电压,得到对端PHY芯片发送的数据
以上2个步骤是同时进行的,因此可以实现全双工通信。

1.3 车载以太网主机和从机

普通以太网在物理层是没有主从之分的,一般都是人为在应用层定义通讯双方的主从关系,而车载以太网在物理层就定义了主、从关系。
之所以会在物理层定义主机和从机,就是为了实现1.2中介绍的回音消除功能。2个PHY芯片一个作为主机,另一个作为从机。当2个PHY芯片连接时,它们会经过训练过程,从而使被测设备(DUT)和链路伙伴以相同的频率和相位传输信息。主机和从机建立连接的状态机切换如下:
在这里插入图片描述
一次主从正常配对流程如下:
(1)主机进入TRAINING(训练)状态,训练从机的扰码器、均衡器、时钟
(2)训练完成后主机和从机均进入SEND IDLE OR DATA(发送空闲或数据)状态

1.4 RMII(简化媒体独立接口)/MII(媒体独立接口)

在这里插入图片描述
RMII/MII是MAC层和PHY进行通信的一部分,对于100Mbps的phy芯片而言,使用的工作时钟为25MHz。

1.5 PCS(物理编码子层)

在这里插入图片描述
PCS主要负责数据编码、解码。PCS将从MAC层(通过RMII/MII)传过来的数据按照物理层实现要求转换为特定的比特序列,然后传输给PMA。在接收到PMA传输过来的数据后,又将数据解码传输给MAC层(通过RMII/MII)。
PCS层实现的工作如下:
在这里插入图片描述
在这里插入图片描述

1.6 PMA(物理媒介附加)

在这里插入图片描述
PMA负责将PCS创建的比特组转换为比特流然后向下发送给PMD子层。收到数据后,PMA执行相反的操作。此外,PMA还履行冲突检测和时钟恢复功能。
在这里插入图片描述
PMA层实现的工作如下:
在这里插入图片描述
在这里插入图片描述
PMA子层做的PAM3转换都是数字信号,还需要MDI物理介质转换为模拟信号。

1.7 PMD(物理媒介相关)

该子层用来生成和传输模拟信号(电信号或光信号)来发送数据,同时还负责接收和解释模拟信号(电信号或光信号)来接收数据。在某些情况下不需要PMD子层,该子层直接由PMA子层提供。
在这里插入图片描述
PMD层实现的工作如下:
在这里插入图片描述

1.8 MDI(与媒介有关接口)

该接口为以太网物理层和数据传输媒介间的物理接口,通常是指以太网自主局或控制器连接至电缆的物理连接器(例如RJ45网口)。
在这里插入图片描述

1.9 物理媒介

物理媒介也就是传输数据的实际物理导线或电缆,对于100BASE-T1车载以太网来说就是一对非屏蔽双绞线。
在这里插入图片描述

2 总结

(1)车载以太网需要定义连接双方的主从关系,可以使能自协商功能(耗时较长)或者指定主从关系及速率
(2)PCS、PMA、PMD组成了车载以太网PHY的核心部分
(3)某些情况下PMD的实现可以包含在PMA内
(4)有关车载以太网PHY的简易框图可以表示如下:

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Open3D 深度图像转点云

目录 一、算法原理1、算法过程2、主要函数3、算法源码二、代码实现三、结果展示1、深度图像2、点云四、测试数据

centos7安装oracle

1 安装虚拟机 设置4G内存,硬盘40G 2 配置网络环境 2.1配置主机名 # vi /etc/hostname 修改为 oracle2.2 配置IP地址 # vi /etc/sysconfig/network-scripts/ifcfg-ens33 修改 BOOTPROTO"static" ONBOOT"yes" IPADDR192.168.109.110 NETMAS…

位运算之妙用:识别独特数字(寻找单身狗)

目录 找单身狗1 图解: 代码如下: 找单身狗2 图解: 代码如下: 寻找单身狗1 从数组中 的1 2 3 4 5 1 2 3 4 中找出没有另一个相同的数与其匹配的数 这个问题的原理是利用异或运算的性质。异或运算(XOR&#xff09…

Kafka常见生产问题详解

目录 生产环境常见问题分析 消息零丢失方案 1、生产者发消息到Broker不丢失 2、Broker端保存消息不丢失 3、消费者端防止异步处理丢失消息 消息积压如何处理 如何保证消息顺序 ​问题一、如何保证Producer发到Partition上的消息是有序的 问题二:Partition中…

Echarts+Vue 首页大屏静态示例Demo 第三版

效果图: 源码: <template><div class="content bg" style="height: 100vh;overflow-y: auto" :class="{ fullscreen-container: isFullScreen }"><div class="reaDiv" style="height: 10vh"><div…

阿里云AI通义千问出bug,今天修复了,一切都是莫名其妙,国产AI又可以了?

怎么隔一天就好了&#xff1f; 引言我的处理感想再次提问AI代码结尾 引言 前天我的阿里云AI 通义千问 不是抽风了嘛 详情见 阿里云AI通义千问出bug,解决不了直接弃,开始对国产AI由支持变失望 就是我的一些对话莫名消失了 我的处理 我在这里进行了反馈 但是没有回应 我以为…

【leetcode题解C++】98.验证二叉搜索树 and 701.二叉搜索树中的插入操作

98. 验证二叉搜索树 给你一个二叉树的根节点 root &#xff0c;判断其是否是一个有效的二叉搜索树。 有效 二叉搜索树定义如下&#xff1a; 节点的左子树只包含 小于 当前节点的数。节点的右子树只包含 大于 当前节点的数。所有左子树和右子树自身必须也是二叉搜索树。 示例…

Jupyter Notebook中的%matplotlib inline详解

Jupyter Notebook中的%matplotlib inline详解 &#x1f335;文章目录&#x1f335; &#x1f333;引言&#x1f333;&#x1f333;什么是魔术命令&#x1f333;&#x1f333;%matplotlib inline详解&#x1f333;(&#x1f448;直入主题请点击)&#x1f333;小结&#x1f333;&…

如何把vue项目打包成桌面程序 electron-builder

引入 我们想要把我们写的vue项目,打包成桌面程序&#xff0c;我们需要使用electron-builder这个库 如何使用 首先添加打包工具 vue add electron-builder 选择最新版本 下载完毕 我们可以看到我们的package.json中多了几行 electron:build&#xff1a;打包我们的可执行程序 e…

[python]基于opencv实现的车道线检测

【检测原理】 一、首先进行canny边缘检测&#xff0c;为获取车道线边缘做准备 二、进行ROI提取获取确切的车道线边缘&#xff08;红色线内部&#xff09; 三、利用概率霍夫变换获取直线&#xff0c;并将斜率正数和复数的线段给分割开来 四、离群值过滤&#xff0c;剔除斜率…

重写Sylar基于协程的服务器(5、IO协程调度模块的设计)

重写Sylar基于协程的服务器&#xff08;5、IO协程调度模块的设计&#xff09; 重写Sylar基于协程的服务器系列&#xff1a; 重写Sylar基于协程的服务器&#xff08;0、搭建开发环境以及项目框架 || 下载编译简化版Sylar&#xff09; 重写Sylar基于协程的服务器&#xff08;1、…

Unity | YooAssetV2.1.0 + HybridCLR热更新

目录 一、项目更改 二、使用YooAsset热更 1.资源配置 2.资源构建 3.将两个文件夹下的资源上传CDN服务器 4.修改代码 5.运行效果 本文记录利用YooAssetHybridCLR来进行资源和dll的更新。YooAsset使用的是新版V2.1.0。相比于旧版&#xff0c;dll(原生文件)和资源要建两个p…