The invention provides a protocol controller and method defined by software. The protocol controller includes: the function unit at the sending side of the link layer, which is used to cache and manage the data packets input by the user's input interface, generate the control symbols, and send the combination of the data packets and the control symbols to the PCs input parallel bus; the function unit at the receiving side of the link is used to separate the data on the PCs input parallel bus into the control symbols and the data packets, and in accordance with the protocol provisions The data package is output to the user output interface; the link layer status register is used to store the status information of the link layer of the protocol controller. The method includes: receiving the data packets input by the user input interface for packet caching and management, and selecting the data packets sent first; generating control symbols; sending the data packets and control symbols to the PCs input parallel bus; separating the data into control symbols and data packets; outputting the received data packets to the user output interface. The invention increases the flexibility of the communication interface.
【技术实现步骤摘要】
一种软件定义的协议控制器及方法
本专利技术涉及高速串行通信
,尤其涉及一种软件定义的协议控制器的装置及方法。
技术介绍
目前,高速串行接口因其接口引脚较少、传输速率高、抗干扰性强、布线连线简单,成为了芯片与芯片、板卡与设备之间主要的数据通信方式,如在数据中心、高性能计算、雷达处理系统、视频监控系统等基础设施中都采用串行通信方式进行数据传输。但是不同的应用场景和需求下,通信的接口协议可能不一样,常用的有Ethernet接口、FiberChannel接口、RapidIO接口、PCIe接口等。为了适应不同的需求,越来越多的高性能处理芯片都集成了多种高速串行接口硬核(IP核),比如NXP的T2080DSP芯片,它集成了包括以太网,PCIe、RapidIO等多种协议控制器和多种频点的SerDes,增加了芯片适用性,但同时也大大增大了芯片的面积和功耗。传统的通信接口采用了专用集成电路(ApplicationSpacificIntegratedChip,ASIC)的实现方式,其协议类型是不可改变的,大大限制了整个芯片使用范围。传统的高速串行接口采用刚性的协议解析逻辑,只能支持一种或者一类协议的互连通信。高速串行通信协议一般由多个层次协议组成,比如OSI(OpenSystemInterconnection)参考模型分成七层,分别是物理层(PMA+PCS模块)、链路层(MAC)、网络层、传输层,会话层、表示层和应用层,其中物理层和链路层组成了协议控制器,主要实现协议(数据)包的可靠传输,其功能一般采用定制化的电路实现,而 ...
【技术保护点】
1.一种软件定义的协议控制器,其特征在于,包括:链路层发送侧功能单元、链路层接收侧功能单元和链路层状态寄存器;其中:/n链路层发送侧功能单元,用于对用户输入接口输入的数据包进行包缓存和管理、按优先级选择优先发送的数据包、生成链路维护和数据包收发相关的控制符、以及按照协议规定将数据包和控制符组合发送至PCS输入并行总线;/n链路接收侧功能单元,用于接收PCS输入并行总线上的数据、将PCS输入并行总线上的数据分离为控制符和数据包、对控制符进行解析、以及按照协议规定将接收的数据包输出至用户输出接口;/n链路层状态寄存器,用于存储协议控制器链路层的状态信息。/n
【技术特征摘要】
1.一种软件定义的协议控制器,其特征在于,包括:链路层发送侧功能单元、链路层接收侧功能单元和链路层状态寄存器;其中:
链路层发送侧功能单元,用于对用户输入接口输入的数据包进行包缓存和管理、按优先级选择优先发送的数据包、生成链路维护和数据包收发相关的控制符、以及按照协议规定将数据包和控制符组合发送至PCS输入并行总线;
链路接收侧功能单元,用于接收PCS输入并行总线上的数据、将PCS输入并行总线上的数据分离为控制符和数据包、对控制符进行解析、以及按照协议规定将接收的数据包输出至用户输出接口;
链路层状态寄存器,用于存储协议控制器链路层的状态信息。
2.根据权利要求1所述的协议控制器,其特征在于,所述链路层发送侧功能单元包括:发送包缓存管理模块、数据包发送模块、控制符生成模块、以及控制符与数据包合并模块;其中:
发送包缓存管理模块,用于对用户输入接口输入的数据进行存储、分类和调度;根据协议规定的QoS规则选择优先发送的数据包,将优先发送的数据包输出至数据包发送模块;
数据包发送模块,用于接收发送包缓存管理模块输出的数据包,并在数据包发送过程中计算并插入CRC;
控制符生成模块,用于根据链路层状态寄存器存储的状态信息生成控制符;
控制符与数据合并模块,用于根据协议规定选择数据包发送模块和控制符生成模块的数据进行组合,将组合后的数据输出至PCS输入并行总线。
3.根据权利要求2所述的协议控制器,其特征在于,所述数据包发送模块包括:CRC计算子模块和CRC插入子模块;其中:
CRC计算子模块,用于对接收的数据按包计算CRC;
CRC插入子模块,用于根据协议规定在发送的数据包中插入所述CRC。
4.根据权利要求2所述的协议控制器,其特征在于,所述控制符生成模块包括:第一TCAM子模块、控制符存储器、第一微码指令存储器和第一微码指令执行子模块;其中:
第一TCAM子模块,用于存储协议控制器链路层状态寄存器的值;
控制符存储器,用于协议规定的所有控制符;
第一微码指令存储器,用于存储逻辑运算指令;
第一微码指令执行子模块,用于根据当前链路层状态寄存器的值和第一微码指令存储器输出的逻辑运算指令对控制符存储器输出的控制符进行修改得到最终控制符;
其中,根据第一TCAM子模块输出的值查表得到一个唯一地址,根据所述唯一地址查表得到用于生成最终控制符的所述控制符和所述逻辑运算指令。
5.根据权利要求1至4任一所述的协议控制器,其特征在于,所述链路层接收侧功能单元包括:控制符与数据分离模块、控制符解析模块、数据包接收模块和接收包缓存管理模块;其中:
控制符与数据分离模块,用于判断当前PCS输入并行总线上的数据类型:若当前PCS输入并行总线上的数据是控制符,将PCS输入并...
【专利技术属性】
技术研发人员:陈艇,刘勤让,吕平,李沛杰,沈剑良,刘冬培,董春雷,张文建,汤先拓,张丽,
申请(专利权)人:中国人民解放军战略支援部队信息工程大学,
类型:发明
国别省市:河南;41
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。