多通道高速数据处理器及处理方法

文档序号:7955427阅读:227来源:国知局
专利名称:多通道高速数据处理器及处理方法
技术领域
本发明设备是一种无线网络安全领域的高速数据处理设备,它采用现场可编程门阵列(FPGA)为基础平台,是一种多通道高速数据处理系统。
背景技术
高速分组数据、多媒体数据和Internet等业务的应用推动着码分多址(CDMA)从IS-95向CDMA2000 1X升级。国际标准化组织3GPP2制定了CDMA2000 1X分组数据网络的相关标准,采用了IETF在移动IP技术上已有的工作成果,使网络具有快速提供IP接入的能力、与其他IP网的互通能力、更好的漫游能力及私有网络的IP业务能力,并且使系统具有提供144Kbps、384Kbps和2Mbps接入速率及简单IP和移动IP业务功能。
在CDMA2000 1X网络中,移动台MS或移动手机与分组数据服务节点(PDSN)之间采用端对端协议(PPP)协议作为数据链路协议。对于从广域网到移动节点的IP包,分组数据服务节点会将它对应到一个具体的端对端协议连接上,通过查找目的移动手机的IP地址与相对应A10连接的映射关系,将IP包发送给移动手机终端;对于从一个已经注册的手机终端的归属代理家乡代理(HA)收到一个IP包时,分组数据服务节点可以根据HA的IP地址和手机终端的IP地址找到相应的R-P连接,发送数据包;对于来自移动手机的IP数据包,手机终端将它封装在端对端协议数据包中向网络发送,经过无线空中接口和基站传输后,再由基站控制器的分组控制功能(PCF)部件将移动终端的端对端协议数据封装在通用路由协议(GRE)隧道中向分组数据服务节点传送,然后由网络侧的分组数据服务节点对隧道封装数据包进行解包、重新组装处理后路由到网络侧的IP骨干网,或通过反向隧道发送到其归属代理HA处。
基于网络处理器的移动互联网内容监管设备在拦截、过滤和分析CDMA分组数据域的信息时,需要将端对端协议的高速数据链路控制协议(HDLC)帧连成一个完整的数据包,这时需要对高速数据链路控制协议数据帧转义或反转义,恢复出原始的数据。但如果这种工作交由网络处理器完成,必将加大系统的开销,极大影响系统的性能。

发明内容
技术问题本发明的目的是提供一种多通道高速数据处理系统,我们设计了多通道高速数据处理系统来辅助主机工作,从而实现移动互联网内容监管数据的高速实时处理,减少主机的负担,提高效率。
技术方案本发明采用外加现场可编程门阵列协处理器的方式完成多路异步高速数据链路控制协议处理功能,并通过4倍数据速率(QDR)接口与主机通信,将原来由软件处理的一些工作由硬件来完成,减少主机的负担,提高效率。
随着微电子技术的发展,现场可编程门阵列器件得到了飞速发展,由于该器件具有工作速度快、集成度高和现场可编程等特点,因而在数字信号处理中得到了广泛的应用。本发明基于高速数据链路控制协议的基本原理,在Xilinx公司的现场可编程门阵列芯片Spartan系列器件(XC3S2000-4FG676C)完成了本发明的设计。高速数据链路控制协议是一个面向位的协议,支持半双工和全双工通信,它被广泛应用与数据通信领域,是其他许多数据链路控制协议的技术。它具有很强的差错检错、高效和同步传输的特点。目前许多网络路由设备和交换机均利用高速数据链路控制协议作为其链路协议。
本发明高速数据处理器主要对来自主机的多路高速数据链路控制协议帧进行并行的解封装和端对端协议包反转义处理,最后将结果反馈主机进行下一步的重组和协议处理,从而缓解了主机负担过重,系统开销过大的压力,保证了整个移动互联网监控系统的高速运转。本发明提出的多通道高速数据处理系统,一方面遵循了IEEE的国际标准,实现了标准规定的基本功能——高速数据链路控制协议帧的转义/反转义以及循环冗余码效验(CRC)校验;另一方面还提供了可扩展的、灵活借口,根据以后的实际需要,对处理器进行扩展;另外,该处理器设计完毕后,可以通过在现已开发的软件或硬件上稍加修改,可以将该处理器改造为其他通信产品,例如帧中继系统,综合服务数字网(ISDN),X.25数据网,骨干和边缘路由器等各种数据环境网环境中,所以本高速数据链路控制协议处理器仍有相当广泛的应用前景。
本发明设备的结构如下
本发明包含现场可编程门阵列硬件模块,4倍数据速率接口模块,可编程只读存储器程序配置模块和软件系统模块等四个部分。其中1、现场可编程门阵列硬件模块采用200万门现场可编程门阵列,作为主机的协处理器,在该设备中居于核心地位。现场可编程门阵列与4倍数据速率接口之间通过LA_1协议进行通信。I/O电平输出遵循HSTL_1_DCI(1.5V)标准,为此需提供额外的0.75V参考电平。现场可编程门阵列通过与Flash可编程只读存储器(FLASH PROM)之间的串行接口接受配置信息,此外,还可以通过JTAG接口直接对现场可编程门阵列进行配置和调试。上电后,现场可编程门阵列自行向可编程只读存储器(PROM)中读取数据,在工作状态时还可以通过重置信号进行重新配置。
2、4倍数据速率接口模块连接主板和该设备,为该设备提供与主机之间的通信和数据交互。此外,该设备的所有供电都由该接口提供。
(1)内部集成电路总线接口,接口通过内部集成电路(I2C)总线访问卡上的内部集成电路E2PROM来获取该设备识别符、工作电平和温度等设备信息,从而识别该设备。
(2)4倍数据速率接口,该设备的16位数据接口在双时钟驱动下倍频成为逻辑32位。总线提供可同时工作的四倍速输入输出端口和24位地址线宽。
(3)JTAG调试接口,虽然LA_1标准中包含JTAG接口,但仅限于提供测试接口(不支持对可编程只读存储器和现场可编程门阵列的烧写),所以在设计中另外引入了JTAG插槽,通过PC机直接下载程序到可编程只读存储器。
(4)外围供电模块,4倍数据速率接口为该设备提供+3.3V、+1.8V和+1.5V直流电压。除此以外,诸如2.5V、1.2V、0.75V电压都由该设备通过+3.3V本地生成。
3、可编程只读存储器程序配置模块(1)内部集成电路总线可编程只读存储器电路,记录协处理器设备信息,包括设备ID、工作电平和温度等参数,系统启动时,4倍数据速率接口通过内部集成电路总线对其进行检测以识别该设备。此外,内部集成电路可编程只读存储器本身还支持口令加密和密码保护。
(2)Flash可编程只读存储器电路,在上电时自动对现场可编程门阵列进行配置,其配置方式分主从两种模式,其主要区别在于配置时钟信号源的不同。在现场可编程门阵列主控模式中,现场可编程门阵列为可编程只读存储器提供配置时钟信号,在现场可编程门阵列受控模式中,由外部晶振提供配置时钟信号。
4、软件系统模块软件系统模块实现整个现场可编程门阵列的多通道数据处理功能。各驱动模块均采用动态模块加载的方式编写。
软件系统模块主要包括了以下的几个部分队列调度模块,接收数据缓存模块、发送数据缓存模块、高速数据链路控制协议数据包反转义及其标志字处理模、帧效验序列模块。
在结构上,该处理器具体包括以下的四个模块现场可编程门阵列硬件模块,4倍数据速率接口模块,可编程只读存储器程序配置模块和软件系统模块;所述4倍数据速率接口模块包括内部集成电路总线接口、4倍数据速率接口、JTAG接口、外围供电模块,现场可编程门阵列硬件模块通过4倍数据速率接口连接外部的主机、通过电源线与外围供电模块连接、通过JTAG接口与可编程只读存储器程序配置模块中的Flash可编程只读存储器电路相接,Flash可编程只读存储器电路还通过JTAG接口与外部的PC机相接;可编程只读存储器程序配置模块中的内部集成电路总线可编程只读存储器电路通过内部集成电路总线接口连接外部的主机;软件系统模块,包括了队列调度模块,接收数据缓存模块、发送数据缓存模块、高速数据链路控制协议数据包反转义及其标志字处理模、帧效验序列模块,模块与模块之间通过信号传递连接在一起。软件系统模块驻留在可编程只读存储器程序配置模块中,系统工作后,程序被加载到现场可编程门阵列硬件模块中,而通过4倍数据速率接口模块与主机的程序连接在一起。
现场可编程门阵列硬件模块采用200万门“XC3S2000”现场可编程门阵列作为主机的协处理器。4倍数据速率接口模块中,外围供电模块采用了“TPS75525”电压转换芯片;在生成1.2v电压时,采用了“TPS54312”电压转换芯片;在生成0.75V电压时,采用“MAX1589EZTAFJ”芯片。可编程只读存储器程序配置模块中,采用内部集成电路总线可编程只读存储器电路记录本发明的有关信息,包括设备识别符、工作电平和温度等参数,主机通过内部集成电路总线可编程只读存储器电路进行检测以识别多通道高速数据处理器,内部集成电路总线可编程只读存储器电路本身还支持口令加密和密码保护。可编程只读存储器程序配置模块中,采用Flash可编程只读存储器电路在上电时自动对现场可编程门阵列硬件模块进行配置,有主控模式和被控模式两种。
多通道高速数据处理器的高速数据处理方法是软件系统模块中,首先由网络处理器发出读写信息和数据信息,队列调度模块从网络处理器获取读写及其数据信息,接收模块从队列调度模块获取相应的写命令后,对缓冲区进行相应的写操作,以便于高速数据链路控制协议数据包反转义及其标志字处理模的处理,处理后的控制信号有效帧信号、转义信号及其处理器输出数据一并传入帧效验序列模块,经校验后产生控制信号写缓冲信号,帧尾信号,效验错误信号及其效验后数据,传入发送数据缓存模块,综合处理判断后将数据写入缓冲区,结合队列调度模块的读信息,通过对该缓冲区的读操作将处理后的数据输出。软件系统模块对每个通道的数据进行帧头搜索、循环冗余码校验、反转义、丢弃序列的检测、帧长的监测以及帧尾的搜索,一旦检测到某一帧当前传输的信息位数达到最大帧长或检测到丢弃序列时,状态机对当前帧的处理结束,并重新对新的一帧进行帧头搜索,而当前帧中的剩余数据将不被处理。软件系统模块同时处理高达128通道并行传输的高速数据链路控制协议数据流,它的实现是采用时分复用的方式,其中通道状态存储器是实现时分复用的关键,每一个通道在该通道状态存储器之中都有一块固定的存储空间,用以存储该通道的数据处理情况,即通道状态信息,为每一个通道每一段需要被处理的数据分配一段长度一定的时间片,每个时间片结束时,当前通道最新的状态信息将被存入通道状态存储器中的相应存储空间,当新的一段数据到达时,此段数据所属的通道在上一个时间片内被刷新的状态信息将从通道状态存储器中读出并加载到状态机中,为新一轮的数据处理做准备。
有益效果本发明多通道高速数据处理设备达到了良好功能特性实现了RFC1662规定的高速数据链路控制协议功能,实现了标志字检测、转义/反转义、帧效验序列(FCS)功能,同时具有可扩展性和灵活性的特点,方便以后的升级扩展;本发明设备还通过增加接收和发送模块实现多通道并行处理高速数据链路控制协议数据,提高了处理器的效率;通过把4倍数据速率接口的地址总线作为控制信号利用,实现了总线复用,提高了总线利用率。
本发明主要是基于移动互联网内容监管设备中高速数据链路控制协议数据包的高速数据处理的现场可编程门阵列实现。本发明在硬件实现方面提出了新的设计结构和实现方法;在功能上实现了高速数据链路控制协议帧的转义/反转义、循环冗余码校验功能、帧头帧尾的搜索及其去除,尤其关键的是通过与主机的通信,实现了多个用户同时在线时端对端协议包的处理,并达到了200Mbps的高速处理能力。在功能上实现了移动互联网内容监管系统中端对端协议包的高速处理。


图1基于现场可编程门列阵的多通道高速数据处理设备结构框图;图24倍数据速率接口模块2示意图;图3Flash可编程只读存储器电路3.2与现场可编程门阵列硬件模块1连接图;图4可编程只读存储器程序配置模块3配置流程图;图5软件模块连接图;图6本发明设备的软件状态图;图7单通道高速数据处理器状态转移图。
以上的图中有现场可编程门阵列硬件模块1,4倍数据速率接口模块2,可编程只读存储器程序配置模块3和软件系统模块4;内部集成电路总线接口2.1、4倍数据速率接口2.2、JTAG调试接口2.3、外围供电模块2.4;内部集成电路总线可编程只读存储器电路3.1和Flash可编程只读存储器电路3.2;队列调度模块4.1,接收数据缓存模块4.2、发送数据缓存模块4.3、高速数据链路控制协议数据包反转义及其标志字处理模4.4、帧效验序列模块4.5。
具体实施例方式
以下结合附图,对本发明设备各个模块的结构和流程进行详细说明。
本发明设备是一种基于现场可编程门阵列的多通道高速数据处理设备。
如图1所示本发明的系统架构可知,该处理器具体包括以下的四个模块现场可编程门阵列硬件模块1,4倍数据速率接口模块2,可编程只读存储器程序配置模块3和软件系统模块4;所述4倍数据速率接口模块2包括内部集成电路总线接口2.1、4倍数据速率接口2.2、JTAG接口2.3、外围供电模块2.4,现场可编程门阵列硬件模块1通过4倍数据速率接口2.2连接外部的主机、通过电源线与外围供电模块2.4连接、通过JTAG接口2.3与可编程只读存储器程序配置模块3中的Flash可编程只读存储器电路3.2相接,Flash可编程只读存储器电路3.2还通过JTAG接口2.3与外部的PC机相接;可编程只读存储器程序配置模块3中的内部集成电路总线可编程只读存储器电路3.1通过内部集成电路总线接口2.1连接外部的主机;软件系统模块4,包括了队列调度模块4.1,接收数据缓存模块4.2、发送数据缓存模块4.3、高速数据链路控制协议数据包反转义及其标志字处理模4.4、帧效验序列模块4.5,模块与模块之间通过信号传递连接在一起。软件系统模块4驻留在可编程只读存储器程序配置模块3中,系统工作后,程序被加载到现场可编程门阵列硬件模块1中,而通过4倍数据速率接口模块2与主机的程序连接在一起。
本发明处理器采用200万门Spartan3 XC3S2000现场可编程门阵列。现场可编程门阵列达到200Mbps的处理速度,接入接口部分与主机之间采用标准内部集成电路方式完成信号连接和时序匹配过程;采用数字控制阻抗匹配(DCI)技术在现场可编程门阵列内部实现的I/O信号线短接;2M系统门结构、320K分布式RAM、720K Block RAM、40个专用乘法器、4组数字时钟管理结构(DCM)可以对外提供4个不同的时钟信号、最高可达565个用户I/O最高可达270对差分信号对、支持18种单行I/O标准和8种差分I/O标准。本系统的设计中,采用LA_14倍数据速率接口模块2连接主机和本发明设备,为本发明设备提供与主机之间的通信和数据交互。此外,本发明设备的所有供电都由该接口提供。内部集成电路总线接口2.1通过内部集成电路总线访问卡上的I2C E2PROM来获取本发明设备的识别符、工作电平和温度等设备信息,从而识别本发明设备。4倍数据速率接口2.2的16位数据接口在双时钟驱动下倍频成为逻辑32位,它运用LA_1协议,在实际运用中选择和定制的空间较大;JTAG调试接口2.3仅限于提供测试接口(不支持对可编程只读存储器和现场可编程门阵列的烧写),所以在设计中另外引入了JTAG插槽,通过PC机直接下载程序到可编程只读存储器;外围供电模块2.4在生成2.5V电压时,我们采用了TI的TPS75525电压转换芯片,5Pin TO-263(KTT)封装;在生成1.2v电压时,我们采用了TI的TPS54312电压转换芯片,20Pin PWP封装;在生成0.75V电压时,我们采用MAX1589EZTAFJ,TDFN封装;采用内部集成电路总线可编程只读存储器电路3.1记录本发明设备信息,包括设备识别符、工作电平和温度等参数。此外,内部集成电路总线可编程只读存储器电路3.1本身还支持口令加密和密码保护;采用Flash可编程只读存储器电路3.2在上电时自动对现场可编程门阵列进行配置,有主控模式和被控模式两种。
与本发明设备相关联的外部设备主要有主机和PC。本发明设备通过一个114管脚的插座连接主机,接口信号遵循LA_1协议,此外本发明设备的供电也通过该插座引入。与外部计算机之间的连接主要通过JTAG接口,通过该接口调试和烧写现场可编程门阵列以及可编程只读存储器。在对现场可编程门阵列的访问中,JTAG模式享有最高优先级。
在我们的发明设备上还设计了针对现场可编程门阵列的硬件复位和软件复位端口,硬件复位通过对现场可编程门阵列PROG_B管脚置位来清除配置存储区内存,然后可通过JTAG模式重新烧写或可编程只读存储器重新进行自动配置。软件复位端口主要用于程序的复位和调试,其功能可由用户自行定义。
现场可编程门阵列的工作时钟由40MHz板载晶振提供,也可以采用114插槽提供的200MHz 4倍数据速率接口时钟,以上两种时钟都由全局时钟端口引入,在现场可编程门阵列内部通过数字时钟管理结构模块进行分频和倍频生成系统时钟。
以下对各个模块进行展开说明。
1、现场可编程门阵列硬件模块1(1)现场可编程门阵列硬件模块1的配置模式我们采用的Spartan现场可编程门阵列兼容多种配置模式,各配置模式的选择通过拨码开关对模式管脚高低电平的设置来实现的。不同模式对应的管脚电平配置见下表1

表1各模式对应的MODE管脚配置说明JTAG模式不受模式选择的制约而始终可用,为其分配选择模式只是为了防止在配置过程中同其他的配置方式发生冲突。
现场可编程门阵列硬件模块1的系统资源在单板设计中,我们采用了Xilinx公司的Spartan3 XC3S2000现场可编程门阵列,其主要硬件参数如下2M系统门结构;320K分布式RAM、720K Block RAM;40个专用乘法器;4组数字时钟管理结构,可以对外提供4个不同的时钟信号;最高可达565个用户I/O;最高可达270对差分信号对;支持18种单行I/O标准和8种差分I/O标准。
现场可编程门阵列的I/O分为8个Bank,每个Bank的I/O输出供电相对独立,原则上能同时支持8种不同的I/O标准。
(2)现场可编程门阵列硬件模块1的供电说明现场可编程门阵列的供电主要分为以下几个部分现场可编程门阵列核心供电Vccint;现场可编程门阵列辅助供电Vccaux;输出驱动电平Vcco;输入参考电平Vref。
其中,有的电压如Vccint和Vccaux相对固定,其他的电压随与之对应的Bank所采用的I/O标准而变化。在上电是,各电平必须满足相应的要求。在本设计中,Bank1到Bank3由于采用了与4倍数据速率接口一致的HSTL_I标准,所以在这些Bank中必须采用1.5Vcco和0.75V Vref。
在本设计中,Bank1到Bank3由于采用了与4倍数据速率接口一致的HSTL_I标准,所以在这些Bank中必须采用1.5Vcco和0.75V Vref。详细的电平配置如下表所示

表2现场可编程门阵列输入电平列表数字控制阻抗匹配技术是在现场可编程门阵列内部实现的I/O信号线端接,对于不同的I/O标准往往有不同的实现方法,主要通过向现场可编程门阵列各Bank的VRN和VRP管脚提供上拉或者下拉的参考电阻,现场可编程门阵列根据各Bank对应的端接方式和提供的特征阻抗值向各I/O管脚提供数字控制阻抗匹配。
在本设计中,主要针对HSTL_I标准配置数字控制阻抗匹配,HSTL_I标准在作为信号输出时不启动端接,在作为信号输入时启用端接,而且是包含上拉和下拉参考电阻的双端接形式。
现场可编程门阵列硬件模块1的电路上还包括直流1.2V为现场可编程门阵列模块供电、2.5V外围供电和0.75V参考电压三个外围直流电压转换电路以及40MHz全局时钟信号发生单元和重置开关电路等几个外围电路。其中,40MHz晶振为现场可编程门阵列提供全局时钟,并且可以通过现场可编程门阵列内部数字时钟管理结构模块实现频率转换。在现场可编程门阵列受控模式中,为可编程只读存储器提供配置时钟信号。内部集成电路可编程只读存储器与4倍数据速率接口以内部集成电路进行通信,主机以此获得该设备参数。
2、4倍数据速率接口模块24倍数据速率接口模块2为现场可编程门阵列与主机之间的逻辑接口现场可编程门阵列硬件模块1主要对来自主机的多路高速数据链路控制协议帧进行并行的高速数据链路控制协议解封装和端对端协议包反转义,最后将结果反馈主机进行下一步的重组和协议处理。
(1)接口操作综述4倍数据速率接口模块2遵循以下几条原则 控制信号总是在K时钟上升沿锁存; 地址和数据信号在K时钟的上升、下降沿读取; 进程中的读写数据操作均不能被中断或者重新开始。
(2)4倍数据速率接口模块2的数据传输结构及其操作时序数据写入结构字写入信号有BW1#和BW0#两个控制信号,分别控制数据输入管脚的高8位(D[15:8])和低8位(D[7:0]),与之相对应的校验位是DP1和DP0。一个写周期由检测到K上升沿时W#为低电平开始。写周期的地址在随后的K#上升沿由A提供。在同一个周期内,写入数据在K以及K#的上升沿获得。具体数据写入时序为在K的上升沿,BW1控制的高8位(D[15:8])写入字节0Bits[31:24],BW0控制的低8位(D[7:0])写入字节1 Bits[23:16];在K#的上升沿,BW1控制的高8位(D[15:8])写入字节2 Bits[15:8],BW0控制的低8位(D[7:0])写入字节0 Bits[7:0]。
数据输出结构数据输出结构与数据写入结构相对应,一个读周期由检测到K上升沿时R#为低电平开始。与此同时,读操作的地址在A上读入。数据在下一个K上升沿以后以C和C#为参考时钟输出。
(3)输出寄存器控制(从设备属性)4倍数据速率接口模块2为寄存输出数据提供两种机制。一般地,控制节拍由C和C#这对差分输入时钟提供,它们通过微小的相位偏移,允许用户的数据输出在随后的K和K#时钟信号的基础上有几纳秒的延迟。从而使设备以类似传统流水线读设备的方式来工作。基于字节写入控制信号的Burst1和Burst2为可选模式;在读操作中提供给主机的Echo Clock信号CQ、CQ#;产生输出校验位。
(4)本发明的LA_1协议运用LA_1协议为4倍数据速率接口的运用提供了一个参考方案,在实际运用中选择和定制的空间较大。在本发明从属设备的设计中,由于内存调度的相对独立性,地址信号仅起到了片选设备的作用,并不存在与实际内存空间的一一映射。然而,基于设备的通用性,接口程序的设计还必须包括●基于字节写入控制信号的Burst1和Burst2可选模式●在读操作中提供给主机的Echo Clock信号CQ、CQ#●产生输出校验位(5)接口供电模块详细设计该设备的主供电来自Mictor 114插口提供的三路直流电源,电压值分别为3.3V、1.5V、1.8V。此外,为了驱动Spartan现场可编程门阵列,同时为1至3Bank提供HSTL_I参考电平,还要在卡上利用电压控制芯片本地生成1.2V、2.5V、0.75V电平。其中,1.2V为现场可编程门阵列内核供电,2.5V为现场可编程门阵列辅助供电和4至7Bank以及0Bank I/O供电,0.75V为1至3Bank参考电平。在产生本地电平时,3.3V生成1.2V和2.5V,1.8V生成0.75V。
TPS75525 3.3/2.5V电压转换芯片在生成2.5V电压时,我们采用了TI的TPS75525电压转换芯片,5Pin TO-263(KTT)封装。其中管脚1(EN)为输入使能,管脚2(IN)为输入电平,管脚3(GND)为地,管脚4(OUTPUT)为输出电平,管脚5(FB/PG)为输入反馈/特定模式下PG输出。
TPS54312 3.3/1.2V电压转换芯片在生成1.2V电压时,我们采用了TI的TPS54312电压转换芯片,20Pin PWP封装。其中管脚1(AGND)模拟地,管脚5(BOOT)保留,管脚19(FSEL)为频率输入选择,管脚3(NC)无连接;管脚11-13(PGND)为功率地,管脚6-10(PH)为相位输入/输出,管脚4(PWRGD)为Power Good指示,管脚20(RT)频率设置电阻输入,管脚18(SS/ENA)慢启动/输入使能/输出复用管脚,管脚17(VBIAS)内部偏置输出控制,管脚14-16(VIN)输入电平,管脚(VSENSE)误差反馈放大输入。
MAX15891.8/0.75V电压转换芯片通过Mictor 114插口提供的1.8V电源驱动,输出0.75V的HSTL_I参考电平,完整的芯片部件标号为MAX1589EZTAFJ,采用标准TDFN封装。其中管脚6(IN)为电源输入,管脚4(GND)为地,管脚5(SHDN)用于关闭信号,低电平有效,管脚3(RESET)为重启信号,低电平有效,管脚2(I.C.)为内部连接,置空或接地,管脚1(OUT)为电压输出,中部焊盘EP为地。
3、可编程只读存储器程序配置模块3Flash可编程只读存储器电路3.2在上电时自动对现场可编程门阵列有两种配置模式主控模式和被控模式,其主要区别在于配置时钟信号源的不同。在现场可编程门阵列主控模式中,现场可编程门阵列为可编程只读存储器提供配置时钟信号,在现场可编程门阵列受控模式中,由外部晶振提供配置时钟信号。在设计中,可以通过调节现场可编程门阵列配置模式选择开关来切换主从两种模式。默认方式为现场可编程门阵列主控模式,我们通过设置Xilinx BitGen软件中速率配置选项来调节可编程只读存储器配置速率。图3为现场可编程门阵列主控模式下现场可编程门阵列硬件模块1与Flash可编程只读存储器模块3.2的连接图。
现场可编程门阵列通过与FLASH可编程只读存储器之间的串行接口接受配置信息,此外,还可以通过JTAG接口直接对现场可编程门阵列进行配置和DEBUG。上电后,现场可编程门阵列自行向可编程只读存储器中读取数据,在工作状态时还可以通过重置信号进行重新配置。
图4为可编程只读存储器程序配置模块3配置流程图,首先由系统上电,若电源满足供电条件,即Vccin>1V,Vccaux>2V,VccoBank4>1V三个条件同时满足,则清除配置存储区内存,然后判断引脚INT_B是否为高电平,若为高电平,则自动检测配置模式管脚,然后按照对应模式下载配置信息,若CRC校验后无误,则配置完毕,进入用户模式。若在用户模式下需要重新配置现场可编程门阵列,则将PROG_B管脚电平置低。若在配置过程中,检测到PROG_B引脚为低电平,则清除配置存储区内存,进入新的配置流程;若在初次配置完成后,检测到INT_B引脚为低电平,则需要重新进行CRC校验,检测配置信息。
4、本发明的软件模块4图5为软件模块间的连接图。各个模块间通过信号传递信息首先由网络处理器发出读写信息和数据信息,队列调度模块4.1从网络处理器获取读写及其数据信息,接收模块4.2从队列调度模块4.1获取相应的写命令后,对缓冲区进行相应的写操作,以便于高速数据链路控制协议数据包反转义及其标志字处理模4.4的处理,处理后的控制信号有效帧信号、转义信号及其处理器输出数据一并传入帧效验序列模块4.5,经校验后产生控制信号写缓冲信号,帧尾信号,效验错误信号及其效验后数据,传入发送数据缓存模块4.3,综合处理判断后将数据写入缓冲区,结合队列调度模块4.1的读信息,通过对该缓冲区的读操作将处理后的数据输出。
软件系统模块4中,首先由网络处理器发出读写信息和数据信息,队列调度模块4.1从网络处理器获取读写及其数据信息,接收模块4.2从队列调度模块4.1获取相应的写命令后,对缓冲区进行相应的写操作,以便于高速数据链路控制协议数据包反转义及其标志字处理模4.4的处理,处理后的控制信号有效帧信号、转义信号及其处理器输出数据一并传入帧效验序列模块4.5,经校验后产生控制信号写缓冲信号,帧尾信号,效验错误信号及其效验后数据,传入发送数据缓存模块4.3,综合处理判断后将数据写入缓冲区,结合队列调度模块4.1的读信息,通过对该缓冲区的读操作将处理后的数据输出。软件系统模块4对每个通道的数据进行帧头搜索、循环冗余码校验、反转义、丢弃序列的检测、帧长的监测以及帧尾的搜索,一旦检测到某一帧当前传输的信息位数达到最大帧长或检测到丢弃序列时,状态机对当前帧的处理结束,并重新对新的一帧进行帧头搜索,而当前帧中的剩余数据将不被处理。软件系统模块4同时处理高达128通道并行传输的高速数据链路控制协议数据流,它的实现是采用时分复用的方式,其中通道状态存储器是实现时分复用的关键,每一个通道在该通道状态存储器之中都有一块固定的存储空间,用以存储该通道的数据处理情况,即通道状态信息,为每一个通道每一段需要被处理的数据分配一段长度一定的时间片,每个时间片结束时,当前通道最新的状态信息将被存入通道状态存储器中的相应存储空间,当新的一段数据到达时,此段数据所属的通道在上一个时间片内被刷新的状态信息将从通道状态存储器中读出并加载到状态机中,为新一轮的数据处理做准备。
图6为本设计的软件设计状态转移图。本发明可以同时处理高达128通道并行传输的高速数据链路控制协议数据流,它的实现是采用时分复用的方式,核心部分由一个收发独立且可分时处理的高速数据链路控制协议处理器和一个通道状态存储器构成。其中通道状态存储器是实现时分复用的关键,每一个通道在该通道状态存储器之中都有一块固定的存储空间,用以存储该通道的数据处理情况,即通道状态信息。本发明为每一个通道每一段需要被处理的数据分配一段长度一定的时间片。每个时间片结束时,当前通道最新的状态信息(包括处理结束时状态机所处的状态、对该通道已经处理过的数据的CRC校验码及其未残段数据的长度,当前时间片内已处理完但尚未来得及被输出的接收数据等)将被存入通道状态存储器中的相应存储空间。当新的一段数据到达时,此段数据所属的通道在上一个时间片内被刷新的状态信息将从通道状态存储器中读出并加载到状态机中,为新一轮的数据处理做准备。
为了实现主机对每个通道的数据传输的监控功能,设计中,在空闲状态中加了一个分支状态,若主机(host)发现某个通道的数据传输有误或长时间未接收到该通道的数据,能且只能在该多通道的等待空闲状态查询该通道的状态信息,以确保不中断对其余通道数据的正常操作。
我们在对现场可编程门阵列器件进行功能设计时采用的是″Top to Down″(″从顶到底″)的方法,亦即根据要求的功能先设计出顶层的原理框图,该图通常由若干个功能模块组成。再把各个模块细化为子模块,对较复杂的设计还可把各子模块分成一层层的下级子模块,各层的功能可以用硬件描述语言或电路图来实现。
图7为单通道高速数据处理器状态转移图。对每个通道的数据进行帧头搜索、CRC校验、反转义、丢弃序列的检测、帧长的监测以及帧尾的搜索。一旦检测到某一帧当前传输的信息位数达到最大帧长或检测到丢弃序列时,状态机对当前帧的处理结束,并重新对新的一帧进行帧头搜索,而当前帧中的剩余数据将不被处理。
S1缺省状态,进行帧头的搜索;S2数据的处理,包括反转义,CRC的校验,丢弃序列的检测;S3对CRC校验码和帧长进行判断,对状态位进行标识。
状态机开始工作时处于缺省状态S1,进行帧头的搜索。结合状态寄存器中存储的数据,移位后,通过逻辑关系判断为(7E)后,状态机才认为已搜索到帧头,并且立即跳入状态S2,进行数据的处理,包括反转义,丢弃序列的检测。若状态机检测到丢弃序列,该通道当前帧剩余的数据将被丢弃,即既不被处理,也不送入FIFO中,状态直接由S2转为S1,进行新的一帧的帧头搜索,同时给出错误状态。状态S2中,若搜索到了当前帧的帧尾或下一帧的帧头时,跳入状态S3,首先进行CRC校验码和最终帧长的判断,相应的给出各种错误判断。因为在本设计中前一帧的帧尾即为后一帧的帧头,因此无须S1中的帧头搜索,而直接跳入S2;。由于帧长的计算是在此子状态机之外(但仍在主状态“处理”中),与数据的处理同步且独立的进行,所以当状态机处于状态S2,正处理数据之时,一旦发现帧长超过了最大允许的长度,如同检测到丢弃序列一样,直接跳入S1,进行下一帧的帧头搜索,同时给出帧长过长的错误状态,而当前帧的剩余数据将不被处理。状态机由S2跳入S3之后,首先进行各种错误的判断。当发现接收到的数据帧同时存在多个错误时,状态机以帧效验序列错误为优先级最高的错误状态。由于除了正常状态(接收数据既不在帧头,也不在帧尾),大部分状态都在发现帧尾时(S3状态中)进行判断,并随同接收数据一并输出。而一个高速数据链路控制协议帧的开始,只能在S1中判断,此时移位寄存器不可能有输出,所以有必要在通道状态RAM中置一个状态标志位帧开始标志位,当发现帧头时,将其置为1,待到移位寄存器第一次满时,输出状态位。
为了实现反转义的功能,当状态机检测到0x7D时,即将下一数据与0X20异或输出。
在状态机中为了实现多通道的时分复用,同样也用变量帧长度来控制一个通道的处理时间,即每次处理一位数据,长度减1,直至为0,从而完成了该通道的处理。
我们借助于多通道高速数据链路控制协议的办法,接收时,在数据前端追加通道号(考虑到我们的具体设计对象,该通道号采用KEY号更为合理),每一个通道配有一个通道状态寄存器,记录上次该通道(即相应的KEY号)处理情况,以及CRC校验值,以便下一次在该基础上继续计算CRC校验值,从而完成了校验功能。
处理过的数据即发相应的ready信号。根据写状态时所获得的信息本次处理的包中包含完整端对端协议包的个数及其长度,并将数据读出,而剩余残段则寄存在现场可编程门阵列内部,待下一次相同KEY号的数据输入时,构成完整端对端协议包再输出。
应当理解的是,对本领域普通技术人员来说,可以根据本发明的较佳实例以及其技术构思做出各种可能的改变或替换,而所有这些改变或替换都应属于本发明所附权利要求的保护范围。
权利要求
1.一种多通道高速数据处理器,其特征在于该处理器具体包括以下的四个模块现场可编程门阵列硬件模块(1),4倍数据速率接口模块(2),可编程只读存储器程序配置模块(3)和软件系统模块(4);所述4倍数据速率接口模块(2)包括内部集成电路总线接口(2.1)、4倍数据速率接口(2.2)、JTAG接口(2.3)、外围供电模块(2.4),现场可编程门阵列硬件模块(1)通过4倍数据速率接口(2.2)连接外部的主机、通过电源线与外围供电模块(2.4)连接、通过JTAG接口(2.3)与可编程只读存储器程序配置模块(3)中的Flash可编程只读存储器电路(3.2)相接,Flash可编程只读存储器电路(3.2)还通过JTAG接口(2.3)与外部的PC机相接;可编程只读存储器程序配置模块(3)中的内部集成电路总线可编程只读存储器电路(3.1)通过内部集成电路总线接口(2.1)连接外部的主机;软件系统模块(4),包括了队列调度模块(4.1),接收数据缓存模块(4.2)、发送数据缓存模块(4.3)、高速数据链路控制协议数据包反转义及其标志字处理模(4.4)、帧效验序列模块(4.5),模块与模块之间通过信号传递连接在一起。软件系统模块(4)驻留在可编程只读存储器程序配置模块(3)中,系统工作后,程序被加载到现场可编程门阵列硬件模块(1)中,而通过4倍数据速率接口模块(2)与主机的程序连接在一起。
2.根据权利要求1所述的多通道高速数据处理器,其特征在于现场可编程门阵列硬件模块(1)采用200万门“XC3S2000”现场可编程门阵列作为主机的协处理器。
3.根据权利要求1所述的多通道高速数据处理器,其特征在于4倍数据速率接口模块(2)中,外围供电模块(2.4)采用了“TPS75525”电压转换芯片;在生成1.2v电压时,采用了“TPS54312”电压转换芯片;在生成0.75V电压时,采用“MAX1589EZTAFJ”芯片。
4.根据权利要求1所述的多通道高速数据处理器,其特征在于可编程只读存储器程序配置模块(3)中,采用内部集成电路总线可编程只读存储器电路(3.1)记录本发明的有关信息,包括设备识别符、工作电平和温度等参数,主机通过内部集成电路总线可编程只读存储器电路(3.1)进行检测以识别多通道高速数据处理器,内部集成电路总线可编程只读存储器电路(3.1)本身还支持口令加密和密码保护。
5.根据权利要求1所述的多通道高速数据处理器,其特征在于可编程只读存储器程序配置模块(3)中,采用Flash可编程只读存储器电路(3.2)在上电时自动对现场可编程门阵列硬件模块(1)进行配置,有主控模式和被控模式两种。
6.一种如权利要求1所述的多通道高速数据处理器的高速数据处理方法,其特征在于软件系统模块(4)中,首先由网络处理器发出读写信息和数据信息,队列调度模块(4.1)从网络处理器获取读写及其数据信息,接收模块(4.2)从队列调度模块(4.1)获取相应的写命令后,对缓冲区进行相应的写操作,以便于高速数据链路控制协议数据包反转义及其标志字处理模(4.4)的处理,处理后的控制信号有效帧信号、转义信号及其处理器输出数据一并传入帧效验序列模块(4.5),经校验后产生控制信号写缓冲信号,帧尾信号,效验错误信号及其效验后数据,传入发送数据缓存模块(4.3),综合处理判断后将数据写入缓冲区,结合队列调度模块(4.1)的读信息,通过对该缓冲区的读操作将处理后的数据输出。
7.根据权利要求6所述的多通道高速数据处理器的高速数据处理方法,其特征在于软件系统模块(4)对每个通道的数据进行帧头搜索、循环冗余码校验、反转义、丢弃序列的检测、帧长的监测以及帧尾的搜索,一旦检测到某一帧当前传输的信息位数达到最大帧长或检测到丢弃序列时,状态机对当前帧的处理结束,并重新对新的一帧进行帧头搜索,而当前帧中的剩余数据将不被处理。
8.根据权利要求6所述的多通道高速数据处理器的高速数据处理方法,其特征在于软件系统模块(4)同时处理高达128通道并行传输的高速数据链路控制协议数据流,它的实现是采用时分复用的方式,其中通道状态存储器是实现时分复用的关键,每一个通道在该通道状态存储器之中都有一块固定的存储空间,用以存储该通道的数据处理情况,即通道状态信息,为每一个通道每一段需要被处理的数据分配一段长度一定的时间片,每个时间片结束时,当前通道最新的状态信息将被存入通道状态存储器中的相应存储空间,当新的一段数据到达时,此段数据所属的通道在上一个时间片内被刷新的状态信息将从通道状态存储器中读出并加载到状态机中,为新一轮的数据处理做准备。
全文摘要
多通道高速数据处理器及处理方法是一种无线网络安全领域的高速数据处理设备,它采用现场可编程门阵列为基础平台,是一种多通道高速数据处理系统。该处理器具体包括以下的四个模块现场可编程门阵列硬件模块(1),4倍数据速率接口模块(2),可编程只读存储器程序配置模块(3)和软件系统模块(4);首先由网络处理器发出读写信息和数据信息,队列调度模块(4.1)从网络处理器获取读写及其数据信息,接收模块(4.2)从队列调度模块(4.1)获取相应的写命令后,对缓冲区进行相应的写操作,处理后数据一并传入帧效验序列模块(4.5),经校验后传入发送数据缓存模块(4.3),综合处理判断后将数据写入缓冲区,通过对该缓冲区的读操作将处理后的数据输出。
文档编号H04L9/00GK1889503SQ200610040769
公开日2007年1月3日 申请日期2006年6月1日 优先权日2006年6月1日
发明者黄杰, 胡爱群, 裴文江 申请人:东南大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1