以太网收发及TSN概述
一、概述TSNTime-Sensitive Networking时间敏感网络即在非确定性的以太网中实现确定性的最小时间延时的协议族是IEEE 802.1工作组中的TSN工作组开发的一套协议标准定义了以太网数据传输的时间敏感机制为标准以太网增加了确定性和可靠性以确保数据实时、确定和可靠地传输。TSN是符合IEEE802.1Q标准的VLAN在标准的以太帧中插入4个字节长度的VLAN tag。TSN通过VLAN tag中的PCPPriority Code Point和VIDVLAN ID定义流的不同优先级。TSN VLAN tag各字段的含义如下1Tag Protocol Indentifier16bit长度标签协议识别标识TSN网络数值为0X8100。2Priority Code Point3bit长度优先级代码标识流量优先级3位PCP定义了8个优先级传输类型对应关系参见表1TSN优先级与传输类型的对应关系3Drop Eligible Indicator1bit长度丢弃标识位对于低QoS要求的数据可置位网络拥塞时可丢弃以确保高优先级数据的QoS。4VLAN IdentifierVID12bit长度VLAN网络的识别号。VID0用于识别帧优先级VIDFFF作为预留其余值用于标识VLAN。TSN需要硬件的支持配合才能实现不能单纯在软件中实现需要硬件来加速。TSN主要用于解决以太网网络的确定性及QoS问题。1.1 TSN的组成TSN主要由5部分组成时间同步、延时控制、安全、可靠性、资源管理其中每个部分所包含的协议组成如下其中已发布的标准如下部分继承AVB的标准(Referred to AVB standards)如下以上部分不是所有协议都需要去了解我们只需要学习一些关键的协议标准802.1 AS——时间同步协议802.1 Qbv——时间感知整形器Time Aware Shaper802.1 Qav——基于信用的整形器Credit Based Shaper其中流量整形Qbv、Qav用于控制通信的带宽和延时Qbv用于塑造每种流量类的时隙Qav用于限制每种流量类的带宽解决突发问题。那么在以太网的接受和发送过程中TSN在其中充当怎样的角色又是如何工作的呢下面讲述一下关键协议在收发过程中充当的角色。1.2 接收过程简述1.3 发送过程简述发送过程如下图所示。在单port发送过程中Tx队列数量DMA通道数量因此DMA通道ID与队列ID是一一对应的DMA0对应的队列0以此类推。在队列中通过MTL_Txn_Operation_Mode寄存器将一个队列映射到一个流量类可以将一个或多个队列映射到一个流量类8个队列因此最多对应8个流量类。通过MTL_TCn_Quantum_Weight寄存器来编程每个流量类所需的带宽。DMA的发送与接收都需要仲裁根据DMA的通道号不同而确定执行的是固定优先级仲裁以下是发送的DMA通道优先级方案。注WRR加权循环仲裁针对的是多通道DMA。可以为所有队列禁用CBS算法也可以为一部分较低优先级的队列禁用CBS算法注要禁用就禁用更低id号的优先级队列即不能在比禁用的这个优先级队列id更低的id队列中启用的情况禁用CBS算法的通道默认使用SP算法通过配置也可以配置为WRR算法。1.4 算法类型简述1基于信用的整形算法——credit-based shaper algorithmCBSQav中的算法可用于传输通道基于信用的整形算法传输条件为队列包含多个数据包、队列的信用是正的。2严格的优先级算法——Strict priority algorithmSPQav中的算法可用于传输通道3加权循环仲裁算法—— Weighted Round Robin arbitrationWRR以太网中的DMA仲裁未完待续。。。