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

news2024/11/15 13:53:37

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.coloradmin.cn/o/1430991.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

LabVIEW风力发电机在线监测

LabVIEW风力发电机在线监测 随着可再生能源的发展,风力发电成为越来越重要的能源形式。设计了一个基于控制器局域网(CAN)总线和LabVIEW的风力发电机在线监测系统,实现风力发电机的实时监控和故障诊断,以提高风力发电的…

Python使用zdppy_es国产框架操作Elasticsearch实现增删改查

Python使用zdppy_es国产框架操作Elasticsearch实现增删改查 本套教程配套有录播课程和私教课程,欢迎私信我。 Docker部署ElasticSearch7 创建基本容器 docker run -itd --name elasticsearch -p 9200:9200 -e "discovery.type=single-node" -e ES_JAVA_OPTS=&quo…

上位机图像处理和嵌入式模块部署(linux开发板的选择)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing 163.com】 很多图像算法是通过上位机来完成的,比如说工业视觉当中的halcon,一般都是要运行在windows平台上面,并且需要高性…

Blender教程(基础)-面的填充-13

一、准备 新建一个立方,删除其中一个面。 二、三角面填充 首先是编辑模式下,选择需要填充的所有边。 鼠标右键弹出填充 填充完是以三角面的形式填充的 编辑模式下,面选择模式,选择刚才填充的两个三角面,然后右键…

谈谈BlueStore

目录 未完待续前言组成前期准备工作基础概念对象PextentextentBlobNode 线程事务磁盘的抽象与分配位图法分层位图 上电流程写流程读流程参考资料 未完待续 前言 BlueStore是什么? Ceph是一个统一的分布式存储系统。BlueStore是Ceph的存储引擎。 它的作用是什么&am…

STM32标准库——(10)ADC模数转换器

1.ADC简介 12位ADC是一种逐次逼近型模拟数字转换器。它有多达18个通道,可测量16个外部和2个内部信号源。各通道的A/D转换可以单次、连续、扫描或间断模式执行。ADC的结果可以左对齐或右对齐方式存储在16位数据寄存器中。 模拟看门狗特性允许应用程序检测输入电压是…

[机器学习]LFM梯度下降算法

一.LFM梯度下降算法 2.代码实现 # 0. 引入依赖 import numpy as np import pandas as pd# 1. 数据准备 # 评分矩阵R R np.array([[4,0,2,0,1],[0,2,3,0,0],[1,0,2,4,0],[5,0,0,3,1],[0,0,1,5,1],[0,3,2,4,1],]) # 0分表示还未进行评价 # 二维数组小技巧:取行数R.s…

云端录制直播流视频,上传云盘

前言 哪一天我心血来潮,想把我儿子学校的摄像头视频流录制下来,并保存到云盘上,这样我就可以在有空的时候看看我儿子在学校干嘛。想到么就干,当时花了一些时间开发了一个后端服务,通过数据库配置录制参数,…

JavaScript鼠标拖放(Drag and Drop)

🧑‍🎓 个人主页:《爱蹦跶的大A阿》 🔥当前正在更新专栏:《VUE》 、《JavaScript保姆级教程》、《krpano》、《krpano中文文档》 ​ ​ ✨ 前言 拖放是现代界面不可或缺的交互方式之一。本文将介绍如何用JavaScript…

Redis核心技术与实战【学习笔记】 - 19.Pika:基于SSD实现大容量“Redis”

前言 随着业务数据的增加(比如电商业务中,随着用户规模和商品数量的增加),就需要 Redis 能保存更多的数据。你可能会想到使用 Redis 切片集群,把数据分散保存到不同的实例上。但是这样做的话,如果要保存的…

C# 程序不显示控制台

C# 程序不显示控制台。 C# 使用代码隐藏控制台。 文章目录 代码效果 代码 class Program {// 导入kernel32.dll库中的AllocConsole函数[DllImport("kernel32.dll")]static extern bool AllocConsole();// 导入kernel32.dll库中的FreeConsole函数[DllImport("k…

鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之Menu组件

鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之Menu组件 一、操作环境 操作系统: Windows 10 专业版、IDE:DevEco Studio 3.1、SDK:HarmonyOS 3.1 二、Menu组件 TextClock组件通过文本将当前系统时间显示在设备上。支持不同时区的时间…

Mysql运维篇(四) MySQL常用命令

一路走来,所有遇到的人,帮助过我的、伤害过我的都是朋友,没有一个是敌人。如有侵权,请留言,我及时删除! 一、MySQL命令速查表 https://www.cnblogs.com/pyng/p/15560059.html Mysql DBA运维命令大全 - 墨…

记录Git无法连接Github(443报错)的一种可能——代理问题

参考文章: Git安装配置与使用(超级详细)_git配置-CSDN博客 github代理报错_valueerror: unable to determine socks version from-CSDN博客 速通 如果在使用 git 时遇到了这样的报错: OpenSSL SSL_connect: SSL_ERROR_SYSCAL…

[office] excel表格怎么绘制股票的CCI指标- #媒体#学习方法#笔记

excel表格怎么绘制股票的CCI指标? excel表格怎么绘制股票的CCI指标?excel表格中想要绘制一个股票cci指标,该怎么绘制呢?下面我们就来看看详细的教程,需要的朋友可以参考下 CCI指标是一种在股票,贵金属,货…

嵌入式软件工程师面试题——嵌入式专题 (五十二)

说明: 面试群,群号: 228447240面试题来源于网络书籍,公司题目以及博主原创或修改(题目大部分来源于各种公司);文中很多题目,或许大家直接编译器写完,1分钟就出结果了。但…

【新书推荐】5.2 位运算符

本节必须掌握的知识点: 位运算 示例十七 代码分析 汇编解析 5.2.1 位运算 位运算符如表5-2所示: 运算符 作用 示例 & 按位与 两个操作数同时为1,结果为1; | 按位或 两个操作数只要有一个为1,结果就为1&a…

Apollo配置中心之Server端

一、通知机制 二、架构思考 1、配置变更如何通知客户端? (1)如何建立长轮询? 2、客户端如何拉取数据? (1)如何拉取数据? 3、如何发现变更数据? (1&…

全国医院及文体设施相关情况数据,shp+excel格式,多字段可查询,所见即所得

基本信息. 数据名称: 全国医院及文体设施相关情况数据 数据格式: shpexcel 数据几何类型: 面 数据坐标系: WGS84 数据来源:网络公开数据 数据字段: 序号字段名称字段说明1province省级名称2city城市名称3city_dm城市代码4tsgcss2020公共图书馆图…