一文读懂DSP外设之以太网

上一期讲解了EMIF外设驱动,这一期聊一聊以太网系统。(以DSP芯片C6678为例)

一、常见的以太网硬件结构

主要包括MAC、PHY芯片以及RJ45接口

1.1MAC

MAC全称是媒体访问控制器,充当一个数据打包和分拣的角色,主要职责如下:

组帧与解帧

发送时:将数据封装成以太网帧

接收时:拆解帧,将有效数据提取处理传给上层处理

寻址根据目标MAC地址决定将数据转发至何处
错误检测

发送端:MAC会计算帧内容的CRC,并附加在帧尾

接收端:MAC重新计算CRC,与帧尾的CRC比较,不匹配会请求重发

流量控制接收方处理不过来时,可以向发送方发送暂停帧

1.2PHY

PHY全称为物理层收发器,通常是独立的芯片,位于处理器与网线接口之间

主要职责如下:

数模/模数转换

发送时:将MAC发来的数字信号转换成能够在网线上传输的模拟差分信号

接收时:执行相反的过程,将模拟信号转换为数字信号

编码解码对数字信号进行解码,增加时钟信息
链路管理

设备插入网线后,自动和对端设备握手;

持续监测链路状态,并通过MDIO接口报告给MAC

1.3RJ45

是一个物理接口,机箱上插水晶头的插槽

主要职责:

物理连接提供标准化结构稳定的插口
集成变压器集成网络变压器,电气隔离

二、KeyStone I系列芯片(C6674、C6678等)的以太网硬件结构

KeyStone I系列芯片的片上以太网子系统主要由以太网交换部分(Serdes、SGMII、EMAC、三端口交换机)、PA包加速器和SA安全加速器组成

2.1以太网交换部分

Serdes(串行器/解串器)

核心功能是完成并串转换

发送时:将芯片内部并行总线上的数字信号,转换为高速串行差分信号

接收时:将外部接收到的串行差分信号,转换成并行数组信号

SGMII

是一种接口协议标准,图中SGMII指的是实现这一协议的硬件电路。

对发送的数据进行编码,对接收的数据进行解码,以满足SGMII协议的电气规范。

EMAC

EMAC属于MAC的一种,实现数据组帧的功能,多了些协同工作的接口。

与PA和SA通过硬件队列直接连接,数据包可以被送至PA进行校验和计算,或送到SA进行硬件加密,不需要CPU参与。

三端口交换机

三个端口的连接对象

port0

连接对象::DSP的CPU核心和内存

port1通过SerDes连接到外部PHY芯片1
port2通过SerDes连接到外部PHY芯片2

主要功能:

1.数据包路由与转发

交换机会检查每个数据包的源MAC地址,记录下这个地址从哪个端口发来的,通过ALE维护MAC地址表

当收到一个数据包会查看目的地址,将数据发送到对应地址

2.VLAN隔离与处理

可将两个SGMII端口划分为不同虚拟局域网,实现网络隔离与安全。

3.流量控制

检测端口的拥塞情况

如果CPU来不及处理数据,交换机可以向网络发送暂停帧,请求对端设备暂停发送数据。

2.2包加速器(PA)

核心功能:

硬件加速计算IP、TCP、UDP等协议的首部校验和

发送时:自动计算并填充校验和字段

接收时:自动验证校验和,无效的包会被直接丢弃

优点:通过硬件计算校验和,节约了CPU计算资源

2.3安全加速器(SA)

核心功能:

硬件加解密:处理主流的各种加密和认证算法

优点:通过硬件计算加解密算法,节约了CPU计算资源

总结:Keystone架构以太网结构的对数据的处理以硬件加速为中心,性能更高。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值