0731-84728105
15116127200
基于FAST的TSN交换(4)基于FPGA的TSN网络CQF实现
发布时间:2019-1-19
     CQF是目前TSN标准定义的可(kě)实现确定性交换延时的转发模型,其交换流程可(kě)以方便的映射到FAST平台的FPGA流水線(xiàn)上。FAST流水線(xiàn)的用(yòng)户定义输出(UDO)模块可(kě)实现用(yòng)户定义的分(fēn)组输出控制,支持TSN CQF转发模型的UDO称為(wèi)CQF-UDO。
本文(wén)介绍的CQF-UDO模块主要用(yòng)于CQF功能(néng)的验证。面向具體(tǐ)应用(yòng)的CQF实现需要对输出队列数目,输出缓冲區(qū)大小(xiǎo)等参数进行优化。
一、CQF-UDO实现结构
      在FAST架构下,除了流分(fēn)类,单流流量监测和基于PTP协议的全网时间同步功能(néng)由FAST基本流水線(xiàn)和扩展的PTP-UDA模块实现外,基于CQF的流量整型功能(néng)由CQF-UDO模块实现。基于FAST定义的标准UDO接口信号和数据交换时序,CQF-UDO可(kě)方便地与FAST基本流水線(xiàn)对接。
   (1)模块组成
      FPGA实现的CQF-UDO模块的结构如下图所示。其中Cin和Cout接口為(wèi)模块的访问控制接口,软件可(kě)通过该接口对模块内部的寄存器、计数器和控制表格进行访问。模块通过PKT接口接收和发送分(fēn)组,Sync_time信号用(yòng)于从PTP-UDA模块接收全网同步时钟,对时间门控逻辑进行控制。
     為(wèi)简化设计,CQF-UDO维护4个队列,其中最高优先级的Q7和Q6以乒乓队列的形式保存时间敏感分(fēn)组,Q4保存带宽预约流的分(fēn)组,Q0保存Besteffort分(fēn)组。当需要对时间敏感分(fēn)组划分(fēn)不同优先级时,则需要不同的乒乓队列保存不同优先级的时间敏感分(fēn)组。

图1 CQF-UDO实现结构
     為(wèi)了提高存储效率,CFQ-UDO模块将所有(yǒu)缓存的分(fēn)组缓存在共享的RAM缓冲區(qū)PB中缓存,每个输出调度队列Q0/Q4/Q6/Q7只保存分(fēn)组的地址。IC从FBD获取当前空闲缓冲區(qū)的状态STA,对不同输出队列采用(yòng)不同的缓冲區(qū)管理(lǐ)算法,决定到达的分(fēn)组是丢弃还是送PB缓存。
CQF-UDO包含的主要模块和功能(néng)如下表所示。
   (2)关键数据结构
     PKT:IC/OC与PB之间传输,以及PB保存的PKT為(wèi)FAST分(fēn)组结构,即FAST定义的32字节元数据(metadata)加上不含校验字段的以太网分(fēn)组。UDO保存FAST元数据的原因是其中携带了分(fēn)组接收时间戳,可(kě)用(yòng)于后续透明时钟的修订。
     BD:為(wèi)PB中512字节缓冲區(qū)的地址,初始化时硬件将所有(yǒu)的空闲BD写入空闲缓冲區(qū)队列(FBQ),IC在接收到分(fēn)组需要将分(fēn)组写入PB时,首先从FBQ读取空闲BD,OC在从PB读取分(fēn)组发送结束后,将BD释放写回FBQ;
     PD:分(fēn)组描述符,包含从分(fēn)组元数据中提取出来的14位的flowID,3位的优先级Pri,以及最多(duō)3个BD信息等。其中Pri是分(fēn)组携带的优先级,flowID由FAST流水線(xiàn)的GME模块生成,BD由输入控制模块IC获得。
二、CQF-UDO的配置管理(lǐ)
     根据CQF-UDO的实现模型,共有(yǒu)9个访问点需要软件进行管理(lǐ)配置。这些访问点共同组成了CQF-UDO数据转发的抽象。用(yòng)户可(kě)以根据不同的软件配置实现输出接口的资源预约配置,流量测量和整型,以及转发状态检测等功能(néng)。各访问点的详细信息如下表所示。
      根据FAST规范,上述信息需要映射到一个32位的虚拟地址空间中。CPU上驱动通过访问这些虚拟地址对这些信息进行管理(lǐ)。
三、CQF-UDO对标准CQF整型处理(lǐ)的简化
     CQF-UDO模块实现的CQF功能(néng)只是标准CQF的一个子集或是简化的实验版本,主要简化包括:
     1.简化的入队流控机制,使用(yòng)简单的令牌桶(B,r,L三个参数)实现代替802.1Q-2014规范定义的基于信用(yòng)的整形器(10个参数)的功能(néng);
     2.使用(yòng)4个输出队列代替标准的8个输出队列,因此只支持一个优先级的时间敏感流量,一个优先级的预约带宽流量以及一个优先级的BE流量。
     尽管存在上述简化,CQF-UDO仍可(kě)以对TSN网络中CQF整型机制进行验证,实现确定性的传输延时保证。关于分(fēn)组缓冲區(qū)PB的大小(xiǎo)评估额设置,队列長(cháng)度设置以及缓冲區(qū)管理(lǐ)算法将在后续文(wén)章中给出。
服務(wù)热線(xiàn)