网络驱动--汽车ETNB(瑞萨)

以太网AVB (ETNB)


介绍RH850/U2A-EVA的属性,如编号 单元、寄存器的基址。描述了函数和寄存器
ETNB的成员。

两个单元;Units

▪ Fast Ethernet ETNB0
▪ Gigabit Ethernet ETNB1

单元通道特点

For ETNB0 (Fast Ethernet)
▪ Communication interface
▪ MII
▪ RMII
▪ Transfer speed
▪ 100 Mbps
▪ 10 Mbps


For ETNB1 (Gigabit Ethernet)
▪ Communication interface
▪ MII*Note
▪ SGMII
▪ Transfer speed
▪ 1000Mbps
▪ 100 Mbps
▪ 10 Mb

注意点注:RH850/U2A16(373引脚),RH850/U2A16(292针),RH850/U2A8(373针)和
RH850/U2A8(292引脚)不支持MII

MII和RMII区别

MII即“媒体独立接口”,也叫“独立于介质的接口”。它是IEEE-802.3定义的以太网行业标准。它包括一个数据接口,以及一个MAC和PHY之间的管理接口。RMII全称为“简化的媒体独立接口”,是IEEE-802.3u标准中除MII接口之外的另一种实现。

独立于介质的接口(MII)

独立于介质的接口(MII)用于MAC与外接的PHY互联,支持10Mbit/s和100Mbit/s数据传输模式。MII的信号线如下图所示:

MII_TX_CLK:发送数据使用的时钟信号,对于10M位/s的数据传输,此时钟为2.5MHz,对于100M位/s的数据传输,此时钟为25MHz。 
MII_RX_CLK:接收数据使用的时钟信号,对于10M位/s的数据传输,此时钟为2.5MHz,对于100M位/s的数据传输,此时钟为25MHz。 
MII_TX_EN:传输使能信号,此信号必需与数据前导符的起始位同步出现,并在传输完毕前一直保持。                                 
MII_TXD[3:0]:发送数据线,每次传输4位数据,数据在MII_TX_EN信号有效时有效。MII_TXD[0]是数据的最低位,MII_TXD[3]是最高位。当MII_TX_EN信号无效时,PHY忽略传输的数据。 
MII_CRS:载波侦听信号,仅工作在半双工模式下,由PHY控制,当发送或接收的介质非空闲时,使能此信号。 PHY必需保证MII_CRS信号在发生冲突的整个时间段内都保持有效,不需要此信号与发送/接收的时钟同步。 
MII_COL:冲突检测信号,仅工作在半双工模式下,由PHY控制,当检测到介质发生冲突时,使能此信号,并且在整个冲突的持续时间内,保持此信号有效。此信号不需要和发送/接收的时钟同步。 
MII_RXD[3:0]:接收数据线,每次接收4位数据,数据在MII_RX_DV信号有效时有效。MII_RXD[0]是数据的最低位,MII_RXD[3]是最高位。当MII_RX_EN无效,而MII_RX_ER有效时,MII_RXD[3:0]数据值代表特定的信息。   
MII_RX_DV:接收数据使能信号,由PHY控制,当PHY准备好数据供MAC接收时,使能该信号。此信号必需和帧数据的首位同步出现,并保持有效直到数据传输完成。在传送最后4位数据后的第一个时钟之前,此信号必需变为无效状态。为了正确的接收一个帧,有效电平不能滞后于数据线上的SFD位出现。 
MII_RX_ER:接收出错信号,保持一个或多个时钟周期(MII_RX_CLK)的有效状态,表明MAC在接收过程中检测到错误。具体错误原因需配合MII_RX_DV的状态及MII_RXD[3:0]的数据值。 


精简的独立于介质的接口(RMII)

精简的独立于介质接口(RMII)规范减少了以太网通信所需要的引脚数。根据IEEE802.3标准,MII接口需要16个数据和控制信号引脚,而RMII标准则将引脚数减少到了7个。RMII具有以下特性:

时钟信号需要提高到50MHz。   
MAC和外部的以太网PHY需要使用同样的时钟源   
使用2位宽度的数据收发   
RMII的信号线如下图所示:

MII/RMII位传输顺序

MII上的发送/接收的4位数据,在RMII上以2个2位数据的形式发送/接收。方式为:先发送/接收低2位,再发送/接收高2位。

时钟源

瑞萨时钟源配置

时钟clk_axi和clk_chi的最小频率为:
当E-MAC工作在1000mbps模式时,为62.5 MHz (ETNBnGECMR)。速度= 1)
当E-MAC工作在100mbps模式(ETNBnGECMR)时,12.5 MHz。速度= 0)

复位源设置

复位时按模块复位。
需要等待模块复位断言,直到关闭SGMII服务器的电源。
可以通过ETNB1SGSDS检查电源状态。

Ethernet

Ethernet同CAN、 LIN总线一样,发送数据时,需要将数字信号转换成模拟信号(差分电压);接收数据时,需要将模拟信号转换成数字信号。
在数/模转换的过程中, Transceiver是必不可少的物理器件。对于其他总线(e.g.: CAN、 LIN、 Flex ray),我们习惯简称Transceiver为Trcv。
对于Ethernet,对应Transceiver芯片为PHY芯片(Physical Layer,物理接口层)。
PHY的主要作用是进行数/模转换, MAC(Media Access Control)将数字信号发送给PHY,接收PHY转换好的数据信号。
太网的物理连接采用非屏蔽双绞线电缆(UTP: Unshielded Twisted Pair),用于传输模拟信号,即:对称差分电压
发送端,数字信号转换成模拟信号,需要编码(Encoding);接收端,将模拟信号转换成数字信号,需要解码(Decoding)。

接口介绍

MII(Media Independent interface) 即介质无关接口,它是IEEE-802.3定义的行业标准,是MAC与PHY之间的接口。 MII数据接口包含16个信号和2个管理接口信号。MII接口属于公共时钟传输模型,时钟频率25M(100M以太网)或2.5M(10M以太网)。两个时钟都是由Phy发送给MAC的

信号名称描述方向
TX CLK发送时钟PHY -MAC
TX ER发送数据错误MAC-PHY
TX EN发送使能MAC-PHY
TXD0发送数据位0(最先传输)MAC-PHY
TXD1发送数据位1MAC-PHY
TXD2发送数据位2MAC-PHY
TXD3发送数据位3MAC-PHY
RX CLK接收时钟PHY -MAC
RX_DV接收数据有效PHY -MAC
RX ER接收数据错误PHY -MAC
RXD0接收数据位0(最先传输)PHY -MAC
RXD1接收数据位1PHY -MAC
RXD2接收数据位2PHY -MAC
RXD3接收数据位3PHY -MAC
CRS载波监测PHY -MAC
COL冲突碰撞监测PHY -MAC
MDIO管理数据双向
MDC管理数据时钟MAC-PHY

RMII(Reduced Media Independant Interface),精简MII接口,节省了一半的数据线。 RMII收发使
2位数据进行传输,收发时钟均采用50MHz时钟源。*RMII接口信号和MII接口不一样,注意Port口选择和配置(例如ETNB0CRS_DV )其中CRS_DV是MII中RX_DV和CRS两个信号的合并,当物理层接收到载波信号后CRS_DV变得有效将数据发送给RXD。当载波信号消失后, CRS_DV会变为无效。

信号名称描述方向
REF CLK参考时钟MAC-PHY或
由外部时钟源提供
TX EN发送数据使能MAC - PHY
TXD0发送数据位0 (最先传输)MAC - PHY
TXD1发送数据位1MAC - PHY
RX ER接收错误PHY - MAC
RXDO接收数据位0 (最先传输)PHY - MAC
RXDO接收数据位1PHY- MAC
CRS DV载波和接收数据有效PHY - MAC
MDIO管理数据双向
MDC管理数据时钟MAC - PHY

SGMII接口

源同步接口,时钟随着源数据一起送往接收端。因为,数据已经经过8B/10B编码,所以,接收端可以选择不用源时钟进行采样,而使用从数据流中恢复出来的时钟(CDR)作为接收端采样时钟。

接口表

MDIO

MDIO是Management Data Input/Output的缩写。 MDIO接口包含在IEEE802.3协议中,是专用于MAC与PHY管理的串行总线接口。主要用于配置PHY芯片状态、读取寄存器、读取PHY地址、获取LINK状态等操作。与网口MII、 RMII(TX_CLK、 RX_CLK)等数据通讯无关。 MDIO接口最多可以挂载32个PHY设备。MDIO接口是实时、半双工、串行的数据接口。 MDIO接口由MDIO(Management Data Input/Output) 线和MDC(Management Data Clock) 线组成。
1、 MDC信号特点单向传输:由MAC芯片驱动给PHY芯片,在MDC上升沿时对MDIO进行数据采样信号要求: MDC可以是非周期性信号。协议对MDC的高低电平的最大宽度并没有限制,仅限制了MDC的最小高低电平宽度不能小于160ns,最小周期不能小于400ns。这意味着MDC最高频率不能超过2.5MHz(协议要求)
2、 MDIO信号特点双向传输: MDIO为双向信号, MAC和PHY均可以接管。用来在MAC和PHY芯片之间的传递控制和状态信息。写寄存器是MAC驱动,读寄存器时PHY驱动。数据传输:先传高位(MSB),后传低位(LSB)。输出采用三态电路设计: MDIO需要接1.5K~10K的上拉电阻。 MAC芯片内部下拉MDIO:通过MDIO线上是否有上拉电阻,来检测MDIO接口是否连接到PHY芯片上。

帧格式

根据IEEE802.3协议中将MDIO协议分为两种帧格式,分别为Clause 22与Clause 45,其中Clause 22主要用于千兆以下的以太网PHY,而Clause 45则用于千兆以上的以太网PHY。

MCAL的配置

以太网AVB由以下功能单元组成:

DMA传输控制器(AVB-DMAC):处理数据存储区域之间的DMA传输用于在URAM中接收和传输,以及接收和传输FIFO缓冲区


MAC控制器(E-MAC):处理接收和传输FIFO缓冲区之间的传输以及MII/RMII/SGMII使用它的直接内存访问(DMA)功能,AVB-DMAC处理帧数据的DMA传输在目的地之间存储以太网帧数据,以便在URAM中传输和接收以及用于接收和传输的FIFO缓冲器。数据不能直接从FIFO缓冲区。


为了处理DMA传输,AVB-DMAC需要包含存储地址的信息传输数据和接收数据。这些信息被称为描述符。AVB-DMAC从待传输数据的存储区域读取待传输数据并进行写入根据描述符中描述的信息将接收到的数据传输到存储区域。描述符放在URAM中。在描述符列表中安排多个描述符允许
连续接收或传输多个以太网帧


E-MAC支持MII/RMII/SGMII,为外部提供接口格式PHY-LSI相连E-MAC从写入到传输的数据构建以太网帧FIFO并将这些帧传输到MII/RMII/SGMII。它还执行以太网的CRC检查接收来自MII/RMII/SGMII的帧,并将帧写入接收FIFO

单元选择

单元选择和MAC类型选择

配置框架

MAC地址的配置

指定控制器唯一的48位物理地址(MAC地址),以网络字节顺序表示。
正则表达式:[0-9a-fA-F] {2} [:] [0-9a-fA-F] {2}) {5}

达芬奇中的Ctrl Phy address 就是填写该地址,地址号可以参考手册。

EthRxQueueConfig ----配置

该模块可以通过EthRxQueueConfig容器配置18个接收队列
'EthRxQueueBufs'(范围:1到63)。
•EthRxQueueIdx参数指定接收队列号到使用。与数字相关的特性如下。
0:尽最大努力。
1:精确时间协议的网络控制。
2-17:过滤特定AVTP帧的流

传输数列的范围

该模块可以通过EthTxQueueConfig容器配置4个传输队列
我们可以使用参数“EthTxQueueBufs”配置每个传输队列的深度(范围:1到512)

EthTxQueueIdx参数指定要使用的传输队列号。以下相关的特性
数据如下。
0:尽最大努力。
1:精确时间协议的网络控制。
2: B类CBS算法通过以太网AVB。
3:通过以太网AVB实现CBS算法的A类。
如果未启用EthQosSupport参数,则所有传输队列都选择Best Effort

gptp的数据

高阶32位表示秒。对于接下来的32位,计数1对应于通过1ns。低阶的20位是一个分数值(小于1ns)。软件只能读取高阶的32位表示秒,后面的32位表示纳秒。的表示小于1ns的低阶20位是不可读的。它们仅在AVBDMAC内使用,以保持时间测量的准确性。
可以通过在gPTP配置控件中设置定时器控制请求位来复位定时器寄存器。这些位在正常复位完成后被设置为00B定时器的。定时器启动后,gPTP定时器增量寄存器(ETNBnGTI.TIV)中的值被添加到gPTP定时器每个时钟周期的值。在gPTP定时器增量寄存器(ETNBnGTI.TIV)中设置值后,设置定时器增量gPTP配置控制寄存器(ETNBnGCCR.LTI)中的值设置请求位。如果这一点是如果不设置为1,则写入的新值将不会反映在寄存器中。后,该位返回0完成设置。
gPTP定时器的偏移量也是可用的。如果需要,则在gPTP定时器偏移中设置该值注册(ETNBnGTOi.TOV)。在此寄存器中设置一个值后,设置计时器偏移值设置
gPTP配置控制寄存器(ETNBnGCCR.LTO)中的请求位。如果该位不设为1,写入的新值不会反映在寄存器中。设置完成后,该位返回0完成。当添加偏移量时,注意不要超过80位。

gPTP定时器的值可以从gPTP定时器捕获寄存器(ETNBnGCTi.CTV)中读取。集定时器捕获源选择位在gPTP配置控制寄存器选择捕获的定时器值作为gPTP定时器的值,即gPTP定时器的修正值
(值加上偏移量),或AVTP表示时间。设置定时器控制请求位gPTP配置控制寄存器发起捕获。一次
正常的定时器捕获完成后,定时器的值控制请求位在gPTP中配置控制寄存器
gPTP的定时器是自由运行的定时器,但可以与Grandmaster同步时钟

EthCtrlCondig下的

Be Time Stamp Store 配置上

更改gpto定时器计数器更新周期
由于主设备和从设备使用的gptp定时器在物理上不同,因此不可避免地会出现偏差。
目的是纠正这种偏差间隙,使其不会变大。

模式mode

以太网驱动程序支持Bypass模式(手动模式)和不Bypass模式(正常模式)。
当使用非旁路模式时,链路伙伴会将操作模式通告给SGMII + E-MAC PHY通过SGMII自动协商。通过使用此功能E-MAC可以保持PHY的速度设置最新。SGMII自动协商
要使PHY for Not bypass模式正常工作,需要配置该特性。
用户可以使用旁路模式手动设置操作模式。此模式可以是启用EthBypassMode参数。在本例中,指定的操作模式将直接发布到PHY,而无需等待SGMII自动协商。
有关PHY寄存器的详细设置,请参考芯片制造商的数据表。

以太网网卡配置

以太网驱动(网卡)常见的三种特性: Offloading 特性,硬件TimeStamp特性, QoS特性。
Offloading特性
“Offload"顾名思义表示卸载的意思,那么给谁卸载以及卸载什么呢?其实该特性存在的
目的就是为了给CPU卸载,卸载的方式如将CRC计算交给硬件来做,或者分包组包的动作
也放在硬件中来处理,从而减小这部分在以太网协议栈中的占用时间,降低软件运行延迟
造成的性能不足以及CPU loading过高等问题。
在AUTOSAR规范中针对以太网驱动(Eth Driver)发送或者接收报文的CRC进行了
Offloading的特别说明如下:
•对于IPV4帧,如果EthCtrlEnableOffloadChecksumIPv4设置成TRUE, 那么就可以Offloading CRC;
•对于ICMP帧,如果 EthCtrlEnableOffloadChecksumICMP设置成TRUE, 那么就可以Offloading CRC
对于TCP帧,如果 EthCtrlEnableOffloadChecksumTCP 设置成TRUE, 那么就可以Offloading CRC
对于UDP帧,如果 EthCtrlEnableOffloadChecksumUDP设置成TRUE, 那么就可以Offloading CRC
值得注意的是这些CRC计算都仅会在硬件中完成,对于接收方而言, CRC校验检测会通过
硬件来完成,如果CRC校验不通过,那么就会丢弃该接收到的帧

详情这里根据芯片手册配置
 

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

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

相关文章

基于 llama2 的提示词工程案例2

优化大型语言模型(LLMs) 优化大型语言模型(LLMs)中的提示词(prompts)是提高模型性能和输出相关性的重要手段。以下是一些优化提示词的方向: 明确性:确保提示词清晰明确,…

Rust 实战thiserror+自定义错误消息体

导航 一、背景二、实践1、导入thiserror2、自定义错误消息体(1)创建ErrMsg.rs和创建自定义结构体(2)lib.rs添加ErrMsg(3)main函数(4)完整代码 一、背景 开发中遇到需要通用、能够满…

LeetCode 142.环形链表Ⅱ

题目描述 给定一个链表的头节点 head ,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。 如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,评测系统内…

速卖通自养号测评技术策略与实战指南

速卖通自养号测评是一个涉及多个步骤和细节的过程,以下是一些关键步骤和注意事项: 1. 准备资源和环境: 测评养号系统:确保账号的权重稳定运营与账号便捷的管理。 海外纯净IP资源:为账号提供稳定的网络环境&#x…

AI新突破:多标签预测技术助力语言模型提速3倍

DeepVisionary 每日深度学习前沿科技推送&顶会论文分享,与你一起了解前沿深度学习信息! 引言:多标签预测的新视角 在人工智能领域,尤其是在自然语言处理(NLP)中,预测模型的训练方法一直在…

地下管线管网三维参数化建模软件MagicPipe3D V3.5

经纬管网建模系统MagicPipe3D(www.magic3d.net)自主安全可控,本地离线参数化构建三维管网模型(管道、接头、附属物等),输出标准3DTiles、Obj等格式,支持Cesium、Unreal、Unity等引擎可视化查询分…

【mysql】深入探索mysql中的各种约束条件

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,…

Java | Spring框架 | Bean的装配之XML配置

Spring | Bean的装配 之XML配置 在Spring框架中,Bean的装配是指将Bean定义和配置信息加载到Spring容器中,以便容器能够管理这些Bean。 Spring支持多种装配方式,其中XML配置是传统但依然有效的方式。 一、 使用XML配置文件定义Bean XML配置…

知识图谱和大语言模型的共存之道

导读 知识图谱和大型语言模型都是用来表示和处理知识的手段。大模型补足了理解语言的能力,知识图谱则丰富了表示知识的方式,两者的深度结合必将为人工智能提供更为全面、可靠、可控的知识处理方法。在这一背景下,OpenKG组织新KG视点系列文章—…

还有谁……想知道“线下与线上布局之间的本质区别”

还有谁……想知道 线下与线上布局之间的本质区别 hello,亲爱的你们好.… 我是你们的好朋友,正博,今天是非常特殊的一天,给每一位读者准备了一份特殊的神秘礼物…… 在分享【特殊礼物】之前,请允许我分享一下《线下营销与线上销售的9大核心差异》…… 1、注意力; 2、销…

浪漫编码:手把手教你实现校园表白墙功能

💓 博客主页:从零开始的-CodeNinja之路 ⏩ 收录文章:浪漫编码:手把手教你实现校园表白墙功能 🎉欢迎大家点赞👍评论📝收藏⭐文章 这里写目录标题 表白墙数据准备引入MyBatis和MySQL驱动依赖…

华为OD机试【路灯照明问题】(java)(100分)

1、题目描述 在一条笔直的公路上安装了N个路灯,从位置0开始安装,路灯之间间距固定为100米。 每个路灯都有自己的照明半径,请计算第一个路灯和最后一个路灯之间,无法照明的区间的长度和。 2、输入描述 第一行为一个数N&#xff…

中霖教育:哪些地区的一级造价师考试不查社保?

关于一级造价师考试是否查社保的问题,不同地区的规定不一样,部分地区要求社保缴纳时间为1年,部分地区要求6个月,具体还要以资格审核为准。 不用查社保的省份: 江苏、浙江、广东、海南、吉林、黑龙江、内蒙古、山西、…

生信软件16 - 常规探针设计软件mrbait

1. mrbait安装 mrbait支持linux和macOS系统,测试安装Python版本 3.6.15。 # conda安装 conda install mrbait -c tylerkchafin -c bioconda -c conda-forge# github安装 git clone https://github.com/tkchafin/mrbait.git cd mrbait python ./setup.py install# …

Oracle 23ai 发布,国产数据库们都沉默了

几天前,全球最大的数据库软件公司 Oracle 发布了最新版的 Oracle Database 23ai ,集成了最新的 AI Vector Search(AI 向量搜索引擎),允许根据概念内容轻松搜索存储在任务关键型数据库中的文档、图像和关系数据&#xf…

一文学会最强大的 node.js 后端框架 nest.js

文章目录 nest cli项目基本结构IOC & DI基础注册值注册时 key 的管理动态注册类工厂函数方式注册设置别名导出 provider 模块功能模块模块的导入导出模块类中使用注入全局模块动态模块 中间件定义中间件注册中间件MiddlewareConsumer 类全局中间件 异常过滤器抛出异常自定义…

社交媒体数据恢复:batchat

蝙蝠聊天数据恢复方法 1. 数据恢复的基本原理 蝙蝠聊天的聊天记录一旦删除是不能够恢复的。这是因为蝙蝠聊天的聊天记录是保存于本地的,一旦删除,就如同在电脑或手机上删除文件一样,数据不会存储在服务器端。这意味着,如果你删除…

10.k8s的附加组件(coreDNS组件)

目录 一、概念 二、查看k8s集群的coreDNS的IP地址 三、验证 一、概念 service发现是k8s中的一个重要机制,其基本功能为:在集群内通过服务名对服务进行访问,即需要完成从服务名到ClusterIP的解析。k8s主要有两种service发现机制:…

v-show和v-if的区别

首先,在用法上的区别: v-show是不支持template; v-show不可以和v-else-起使用; 其次,本质的区别: v-show元素无论是否需要显示到浏览器上,它的DOM实际都是有渲染的,只是通过CSS的dis…