CN100591036C - 一种实现异步传输模式适配层功能的装置 - Google Patents
一种实现异步传输模式适配层功能的装置 Download PDFInfo
- Publication number
- CN100591036C CN100591036C CN200510127670A CN200510127670A CN100591036C CN 100591036 C CN100591036 C CN 100591036C CN 200510127670 A CN200510127670 A CN 200510127670A CN 200510127670 A CN200510127670 A CN 200510127670A CN 100591036 C CN100591036 C CN 100591036C
- Authority
- CN
- China
- Prior art keywords
- subelement
- data
- memory cell
- aal2
- interface
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Abstract
本发明公开了一种实现异步传输模式适配层功能的装置,包括:第一可编程逻辑单元、第二可编程逻辑单元、第一零总线转换时间存储单元、第二零总线转换时间存储单元、第三零总线转换时间存储单元、内容查找存储单元和双通道异步内部存储单元。本发明采用大规模数字集成电路实现异步传输模式适配层功能,以可编程芯片为核心控制芯片,用高速存储器作辅助数据缓存,同时,应用大容量内容查找存储器实现多链路(用户)数据快速查找分组,三者有机结合,完成异步传输模式适配层功能,且同时支持AAL-2和AAL-5混合数据。
Description
技术领域
本发明涉及异步传输模式适配层功能实现领域,尤其涉及一种用可编程器件及高速存储器实现异步传输模式适配层功能的装置。
背景技术
在20世纪70年代末实现了传输与交换的数字化,即IDN(IntegratedDigital Network,综合数字网)后,为了提高网络资源的利用率和方便用户,又提出了ISDN(Integrated Services Digital Network,综合业务数字网)技术,从用户的角度出发,该技术使话音与数据或图像等业务是如同在一个网上。为了满足上述要求,就要实现终端、传输、交换的综合,因此,国际电报电话咨询委员会提出了一种新的信息传递方式-ATM(Asynchronous Transfer Mode,异步传输模式)。ATM是面向连接的通信方式,同时也是分组长度固定的分组交换方式,可实现VP(Virtual Path,虚通道)/VC(Virtual Channel,虚通路)两级交换,可综合多种业务且具有统计复用能力,主要应用于语音和视频电话业务,随着电信3G网络的快速发展,ATM技术得到进一步的推广和应用。
ATM在ISDN参考模型层次中的结构如图1所示:包括B-ISDN(BroadbandISDN,宽频带综合业务数字网络)规程参考模型各层功能,具体包括:AAL(Asynchronous Transfer Mode Adaptation Layer,异步传输模式适配层)、ATM层和物理层;其中,ATM适配层包括:CS(Convergence Sublayer,会聚子层)和SAR(Segmentation And Reassembly,分组与重组)层;物理层包括:PM(Physical Media,物理媒质)层和TC(Transmission Convergence,传输汇聚)层。其中,ATM层实现通用流量控制、信元头产生与获取、信元VPI/VCI交换、信元复用和反复用;TC层实现信元速率解耦、HEC产生/校验、信元定界、传输帧适配、传输帧产生/恢复;PM层实现比特定时和数据传输。
在ISDN网络中,物理媒质通常采用同轴电缆(155M速率)或光纤(155M速率及以上速率)实现,TC层和ATM层一般都采用专用集成电路(ASIC)芯片完成,如PMC公司的PM5354、Intel公司的IXF6048等,而AAL层是对不同业务类别进行适配,ITU-T将AAL层业务类别分为AAL-1、AAL-2、AAL-3/4、和AAL-5,对某一特定业务,如会议电视可采用AAL-1或AAL-5。AAL层是实现ISDN网络业务的关键,自ATM诞生至今的十年中一直是研究的一个热点。
然而在现有技术中,当完成适配层数据重组时,对于多用户业务数据只能用循环查找来分类处理,随着用户数量的增加,这种分类查找所占用的时间就越长,实时性也就越差,例如,在图1中,有一千个用户业务同时在运行,对每一个数据进行分类重组;当有一个新来数据时,需要对数据进行分类再进行分类处理,最坏情况下这样一个分类数据处理需要CPU软件循环查找一千次(从数据分组标识1至数据分组标识1000)才能找到对应的分组数据,并进行处理。因此,该现有技术数据处理能力低,实时性差;且用户数量越多,分类处理越困难;对于一千个平均业务量用户的数据来处理,该方案实时处理能力不超过40Mbps。
另外,现有技术中,ATM适配层功能实现主要采用运行于处理器(CPU)上的应用软件来实现,消耗大量的CPU资源,程序运行占用大量的CPU运行时间,使其它应用程序占用CPU的资源减少,得不到有效的执行。
另外,现有技术耗费大量的动态存储器空间,使分配给其它应用程序资源减少,运行时间加长。这种方案由于需要对大量数据进行中间缓存,同时要求读写速度要快,所以必须消耗大量的动态存储器空间,用户越多,业务量越大,这种资源使用量也越大,这样其他应用程序占用存储器资源相对减少,使其运行效率降低。
发明内容
本发明的目的在于提供一种实现异步传输模式适配层功能的装置,以克服现有技术数据处理能力低,实时性差、消耗大量的CPU资源、和耗费大量的动态存储器空间的缺陷。
为此,本发明提供了一种实现异步传输模式适配层功能的装置,包括:第一可编程逻辑单元、第二可编程逻辑单元、第一零总线转换时间存储单元、第二零总线转换时间存储单元、第三零总线转换时间存储单元、内容查找存储单元和双通道异步内部存储单元,其中,
所述第一可编程逻辑单元,接收数据源数据,实现AAL2公共子层数据重组,同时对AAL5和线路管理数据添加标签和分流处理,并分别与第一零总线转换时间存储单元、内容查找存储单元和第二可编程逻辑单元连接;
所述第二可编程逻辑单元,分别与第二零总线转换时间存储单元、第三零总线转换时间存储单元和双通道异步内部存储单元连接;用于接收来自所述第一可编程逻辑单元的异步传输模式适配层数据,完成AAL2业务特定分段和重组、AAL5公共部分汇聚子层数据重组、以及发出异步传输模式适配层数据包。
所述第一可编程逻辑单元包括:数据分流子单元、内容查找存储器控制子单元、数据流产生子单元、AAL0子单元、AAL2子单元、AAL5子单元、零总线转换时间存储单元控制子单元、输入数据接口子单元、输出数据接口子单元、配置接口及配置子单元;其中,
所述数据分流子单元,用于通过所述输入数据接口从数据源中读出信元,完成第一次搜索,然后对信元进行分类,并在52字节信元前附加信元类型、物理端口及长度字段,按类型分别存入AAL0子单元、AAL2子单元和AAL5子单元的缓存器中;
所述内容查找存储器控制子单元完成内容查找存储单元控制,响应AAL2子单元和数据分流子单元的请求,分别完成对应的搜索任务;
所述AAL0子单元,用于完成对AAL0数据的临时缓存功能;
所述AAL2子单元,用于完成AAL2公共子层的功能;
所述AAL5子单元,用于完成对AAL5数据的临时缓存功能;
所述数据流产生子单元,从AAL2子单元,AAL5子单元和AAL0子单元中读取数据,然后在数据内容前面添加数据包长度、包类型、错误编码、用户到用户指示UUI及索引号Index信息,通过所述输出数据接口写到所述第二可编辑逻辑单元中。
所述第一次搜索包括:搜索虚拟通路识别码vpi、虚拟电路识别码vci和协定识别码支配连接种类pid。
所述AAL0子单元、AAL2子单元和AAL5子单元的缓存器包括:先进先出缓存器或后进先出缓存器。
所述内容查找存储器控制子单元,提供一个内容查找存储器的封装,提供给两个用户同时访问。
所述内容查找存储器控制子单元包括:维护接口、两个搜索请求接口和内容查找存储器芯片接口;
所述搜索请求接口,用于用户搜索内容查找存储单元的命令接口;
所述维护接口,用于系统维护内容查找存储单元;
所述内容查找存储器接口,连接内容查找存储单元的各个管脚。
系统维护内容查找存储单元包括:内容查找存储器初始化、内容查找存储器内部数据节点的写及内容查找存储器内部掩码节点的写。
所述第二可编程逻辑单元包括:AAL控制子单元、AAL2/5处理子单元和PDU传输控制子单元,其中,
所述AAL控制子单元,用于当数据从所述第一可编程逻辑单元接口进入所述第二可编程逻辑单元后,根据包头的AAL类型将AAL0添加时戳写入一个存储器,将AAL2/5直接写入另一个存储器;
所述AAL2/5处理子单元,用于合包、添加时戳及工作纠错;
所述PDU传输控制子单元,用于将合包后的AAL2、AAL5以及AAL0的数据送到第二和第三零总线转换时间存储单元中,采用切换的方式将数据缓存和送出。
与现有技术相比,本发明具有以下优点:
本发明采用大规模数字集成电路实现异步传输模式适配层功能,以可编程芯片为核心控制芯片,用高速存储器作辅助数据缓存,同时,应用大容量内容查找存储器实现多链路(用户)数据快速查找分组,三者有机结合,完成异步传输模式适配层功能,且同时支持AAL-2和AAL-5混合数据。
另外,本发明使数据处理能力提高三十倍以上,实时性强。由于可编程器件具有数据处理速度高、功能实现灵活的特点,而大容量内容查找存储器具有快速同步查找分组的功能,假如大容量内容查找存储器是8千条标识容量的内容查找存储器,有8千个用户业务同时在运行,对线路上的每一数据源进行分组查找,这样的查找任务仅仅花费1个查找周期就可以得到结果,而可编程器件超强的数据处理能力,使它能迅速的依据查找的结果将数据快速分组处理。
另外,本发明使得异步传输模式适配层数据处理能力得到极大的提高,目前可以满足两条622M接口速率数据处理,即达到1.2Gbps的处理能力。
进一步,本发明完全由可编程器件控制完成,不依赖于CPU处理器和执行程序,节省了CPU资源,使其它应用程序能更有效利用CPU资源,因而使整个应用系统效率得到提高。
进一步,本发明为数组处理提供了高速且大容量的数据缓存空间,完全节省了处理器的动态存储器空间,使CPU留给其它应用程序动态存储器空间更多,也使其运行效率得到很大提高。
附图说明
图1a是现有技术中对于多用户业务数据用循环查找来分类处理的流程图;
图1b是本发明对于多用户业务数据用循环查找来分类处理的流程图;
图2是本发明实现异步传输模式适配层功能的装置的一个具体实施例结构图;
图3是本发明第一可编程单元的内部结构图;
图4是本发明图3中内容查找存储器控制子单元的接口结构图;
图5是内容查找存储器控制子单元工作流程图;
图6是本发明图3中数据分流子单元接口结构图;
图7是数据分流子单元工作流程图;
图8是本发明图3中AAL2子单元接口结构图;
图9是AAL2子单元内部结构图;
图10是AAL2子单元中CPS处理模块的接口结构图;
图11是CPS处理模块工作流程图;
图12是图3中数据流产生子单元的接口结构图;
图13是数据流产生子单元内部工作示意图;
图14是图3中zbt控制子单元接口结构图;
图15是zbt控制子单元内部工作示意图;
图16是本发明第二可编程单元内部结构图;
图17是第二可编程单元中AAL控制器工作流程图;
图18是第二可编程单元中AAL2/5处理子单元结构图;
图19是第二可编程单元中PDU传输控制器内部结构图。
具体实施方式
本发明的一个具体实施例如图1b所示,假设大容量内容查找存储器是1千条标识容量的内容查找存储器,有1千个用户业务同时在运行,对线路上的每一数据源进行分组查找,这样的查找任务仅仅花费1个查找周期就可以得到结果。
下面我们将结合附图,对本发明的最佳实施方案进行详细描述。首先要指出的是,本发明中用到的术语、字词及权利要求的含义不能仅仅限于其字面和普通的含义去理解,还包括进而与本发明的技术相符的含义和概念,这是因为我们作为发明者,要适当地给出术语的定义,以便对我们的发明进行最恰当的描述。因此,本说明和附图中给出的配置,只是本发明的首选实施方案,而不是要列举本发明的所有技术特性。我们要认识到,还有各种各样的可以取代我们方案的同等方案或修改方案。
下面结合具体实施例对本发明进行描述,如图2所示,包括:第一可编程单元100、第二可编程单元200、内容查找存储单元300、第一零总线转换时间存储单元400、第二零总线转换时间存储单元500、第三零总线转换时间存储单元600和双通道异步内部存储单元700。其中,第一可编程单元100和第二可编程单元200为FPGA(Field Programmable Gate Array,可现场编程门阵列)芯片;由容查找存储单元300为CAM(Content Addressable Memory,内容查找存储器);第一零总线转换时间存储单元400、第二零总线转换时间存储单元500和第三零总线转换时间存储单元600为ZBT(Zero Bus Turnaround,零总线转换时间)芯片。
其中,所述第一可编程逻辑单元100,用于接收数据源数据,实现AAL2公共子层数据重组,同时对AAL5和线路管理数据添加标签和分流处理,并分别与第一零总线转换时间存储单元400、内容查找存储单元300和第二可编程逻辑单元200连接。所述第二可编程逻辑单元200,分别与第二零总线转换时间存储单元500、第三零总线转换时间存储单元600和双通道异步内部存储单元700连接;用于接收来自所述第一可编程逻辑单元100的异步传输模式适配层,完成AAL2业务特定分段和重组、AAL5公共部分汇聚子层数据重组,发出异步传输模式适配层数据包。
本发明核心技术是可编程器件部分逻辑控制设计,这部分设计从功能上划分为公共子层(CPS)和特定业务汇聚子层(SSCS),第一可编程逻辑单元100实现AAL2(ATM适配层第2层)CPS部分数据重组,同时对AAL5(ATM适配层第5层)和线路管理数据(此处称为AAL0,即ATM适配层第0层)添加标签和分流处理;第二可编程逻辑单元200完成AAL2 SSSAR(属于SSCS第一层)、AAL5 CPCS(公共部分汇聚子层)数据重组,同时将已经重组好的完整数据及时转发出去。
所述第一可编程逻辑单元100包括:数据分流子单元110、内容查找存储器控制子单元120、数据流产生子单元130,AAL0子单元140、AAL2子单元150、AAL5子单元160和零总线转换时间存储单元控制子单元170;及输入数据接口,输出数据接口、配置接口和配置接口子单元180。其中,所述数据分流子单元110,用于通过输入数据接口从数据源中读出信元,完成第一次搜索(包括:搜索vpi(Virtual Path Identifier,虚拟通路识别码)、vci(VirtualCircuit/Channel/Connection Identifier,虚拟电路识别码)和pid(Protocol IdentifierGoverning Connection Types,协定识别码支配连接种类)),然后对信元进行分类,并在52(不含信元头HEC校验字节)字节信元前附加信元类型、物理端口、长度等字段,按类型分别存入AAL0子单元、AAL2子单元和AAL5子单元的缓存器中(其中缓存器包括先进先出缓存器FIFO或后进先出缓存器LIFO等);所述内容查找存储器控制子单元完成内容查找存储器控制,响应AAL2子单元和数据分流子单元的请求,分别完成对应的搜索任务;所述AAL0子单元,用于完成AAL0数据的缓存功能,所述AAL2子单元,用于完成AAL2公共子层的功能;所述AAL5子单元,用于完成AAL5数据的缓存功能,所述数据流产生子单元,从AAL2子单元,AAL5子单元和AAL0子单元中读取数据,然后在数据内容前面添加数据包长度、包类型、错误编码、用户UUI(用户到用户指示)指示、Index(索引号)信息,写到所述第二可编程逻辑单元中。
所述内容查找存储器控制子单元120,提供一个内容查找存储器的封装,提供给两个用户同时访问。具体结构如图4所示,包括:维护接口、两个搜索请求接口(搜索请求1接口和搜索请求2接口)和内容查找存储器芯片接口;所述搜索请求接口,用于用户搜索内容查找存储单元的命令接口;所述维护接口,用于系统维护内容查找存储单元,即实现内容查找存储器初始化、内容查找存储器内部数据节点的写,内容查找存储器内部掩码节点的写;所述内容查找存储器接口,连接内容查找存储单元的各个管脚。
端口信号包括:系统信号、搜索信号和管理信号。其中,系统信号包括:芯片时钟输入(CLK_IN)、芯片时钟输出(CLK_OUT)和芯片复位信号(RESET_n);搜索信号包括用户1搜索信号和用户2搜索信号,用户1搜索信号包括:用户1搜索请求(search_req1)、用户1搜索应答(ackl_out)、用户1搜索完成(complete1)、用户1搜速成功(success1)、用户1搜索结果(index1,输出矢量13 downto 0)、待搜索数据输入(search_data1:输入矢量67 downto 0)用户1读使能(rd);用户2搜索信号包括:用户2搜索请求(search_req2)、用户2搜索应答(ack2_out)、用户2搜索完成(complete2)、用户2搜速成功(success2)、用户2搜索结果(index2,输出矢量13 downto 0)、待搜索数据输入(search_data2:输入矢量67 downto 0)、用户2读使能(rd)。管理接口包括:内容查找存储器维护命令(m_cmd,输入矢量1 downto 0)、内容查找存储器初始化完成(m_cmpl)、内容查找存储器初始化数据(m_data,输入矢量67 downto 0)。
另外,内容查找存储器芯片cynse70032与内容查找存储器控制子单元的接口包括:时钟1输入信号(clk2x)、时钟2输入信号(phs_1)、复位信号(rst_n)、命令有效信号(cmdv)、命令信号(cmmd)、数据信号(dq)、地址信号(sadr)、查找有效信号(ssv)、查找完成信号(ssf)。以上各个信号直接与cynse70032各个同名管脚连接。
上述搜索请求接口用于用户搜索cam的命令接口。用户通过发请求信号search_req,直到有应答信号ack,用户撤销请求,然后等待控制器完成搜索的时候发出complete信号,同时success信号用来指示成功与否。维护接口用于系统维护CAM芯片,主要包括CAM初始化、cam内部数据节点的写,cam内部掩码节点的写。cam维护命令如下:cmd=″00″表示无操作、cmd=″01″表示复位操作、cmd=″10″表示写掩码、cmd=″11″表示写数据。维护着先给出维护命令,同时附上维护数据到m_data,知道cam控制器给出来一个维护应答信号m_cmplt,然后撤销维护命令。
因为本实施例中CAM芯片采用的是cy70032,该芯片采用的是同步接口,支持数据流水线(PIPELINE)操作,所以完成一个搜索只需要两个状态就够了。内容查找存储器控制子单元的内部工作过程如图5所示:左边的状态机描述的是对CAM芯片的控制操作,有4个功能分支,分别是搜索、复位及初始化、写数据、写掩码,当命令(cmd)等于“01”时本状态机开始对CAM进行复位和初始化操作,当命令(cmd)等于“10”时对CAM进行写掩码操作,当命令(cmd)等于“11”时对CAM进行写数据操作,如果搜索请求(search_req1)1或搜索请求(search_req2)2有搜索请求,则进入搜索控制状态完成搜索功能;右边的两个状态机两个用户的搜索请求控制状态机,都是由3个状态组成:空闲、搜索完成、输出,在空闲状态发出搜索请,当收到左边状态机的搜索应答信号(ack)后,进入搜索完成状态,在该状态等待搜索完成后进入到输出状态输出搜索结果(图中cmr是命令寄存器,gmr是掩码寄存器,cnt1、cnt2分别是两个时间延时计数器)。
图3中的数据分流子单元110的具体结构如图6所示,端口信号如下:数据分流子单元工作时钟(Clk)、数据分流子单元复位信号(reset_n)、从上级子单元读数据的读使能信号(cell_rd_en)、上级子单元信元有效信号(cell_available,表示上级子单元中有一个完整的信元)、读数据信号(cell_rd_data,输入矢量31 downto 0)、下级子单元fifo满信号(full)、下级子单元写使能信号(wr_en)、下级子单元fifo指针增加信号(increment)、下级子单元数据(data_out,输出矢量31 downto 0)、搜索应答(sch_ack)、搜索请求(sch_req)、待搜索数据(sch_data,输出矢量37 downto 0)、搜索结果(sch_index,输入矢量13 downto 0)、搜索完成(sch_cmplt)、搜索成功(sch_success)。
数据分流子单元内部工作过程如图7所示:当cell_available=`1`时,空闲状态(idle)转换到读取信息头状态(包括vpi、vci和pid信息);读取信元头时需要先进入搜索信元头状态,等到请求应答信号给出之后跳出该状态,当ack=`1`时,进入等待搜索完成状态,固定的等待5个时钟周期,如果搜索没有成功就丢弃该信元。当complete=`1`且success=`1`时,从等待搜索状态转换为写信元内容到下级子单元状态;当complete=`1`且success=`0`时,从等待搜索状态转换为空闲状态。当cell_available=`1`时,从输出increment信号状态转换为读取信元头状态;当cell_available=`0`时,从输出increment信号状态转换为空闲状态。
图3中的AAL2子单元的具体结构如图8所示,包括系统接口、管理接口、写接口、读接口、zbt控制接口和搜索结果接口,该子单元从数据分流子单元读取数据,经过处理后,发送到数据流产生子单元。其中,系统接口包括:工作时钟(clk)和复位信号(reset_n);管理接口包括协商的最大cps包长度(li_max,输入矢量5 downto 0);写接口包括:输入fifo空信号(full)、输入fifo读使能信号(wr_en)、输入fifo指针减少信号(increment)、输入数据(data_in输入矢量31 downto 0)、fifo单元节点的内部地址信号(addr_in,输出矢量3downto 0);读接口包括:输出fifo满信号(empty)、输出fifo写使能信号(rd_en)、输出fifo指针增加(decrement)、输出fifo读数据(data_out输出矢量31 downto 0)、输出fifo单元节点内部地址信号(addr_out输出矢量4downto 0);搜索结果接口包括:搜索请求(sch_req)、搜索应答(sch_ack)、待搜索数据(sch_data输出矢量37 downto 0)、搜索完成(sch_complete)、搜索成功(sch_success)、读搜索结果(sch_rd)、搜索结果(sch_index输入矢量13 downto 0)。另外,还包括zbt控制接口:芯片选择信号(z1_ce)、读写信号(z1_rw_n)、地址信号(z1_addr)、数据输入信号(z1_din)、数据输出信号(z1_dout)。
AAL2子单元160的内部结构如图9所示:从数据分流子单元输入数据经过fifo缓存器输入端到达cps处理模块,经过处理后再通过fifo缓存器输出端到数据流产生子单元。其中,cps处理模块的外部视图如图10所示,其端口信号在前边几个模块(aal2,fifo_in,fifo_out)中都已经描述过,这里不再赘述。
该模块的内部具体工作过程如图11所示:来了一个信元,先将其INDEX读入;然后比较新读入的信元的index值跟以前的时候相等,如果不等旧先存当前的环境变量,然后把新的INDEX对应的环境变量读进来;校验信元的stf字段,如果错误则转入报告错误状态,否则进入读取包头状态;如果包头被读完,就进入检查包头的正确性状态;否则返回到空闲状态,即,如果包头为0,证明以下内容是填充,返回idle;如果包头正确则进入复制信元状态;如果包头错误,则转入报告错误状态。发送信元,这个状态主要是发现错误之后,把整个信元连同错误信息一同发送到下一级处理中,并复位环境变量。复制信元和发送信元两个状态将一个完整的CPS_PACKET发送到下一个模决。搜索等待状态主要是完成搜索信元的vpi、vci、cid,搜索完成之后跳出该状态,跳到复制信元状态。
数据流产生子单元主要是从all2,all5和all0三个子单元中读取数据,然后按照一定的格式写到下第二可编程单元里边去,该子单元的外部视图如图12所示,包括:系统信号、来自AAL0子单元信号、来自AAL2子单元信号、来自AAL5子单元信号、发送到下一子单元的信号。其中,系统信号包括:工作时钟(clk)和复位信号(reset_n);来自AAL0子单元信号包括:AAL0子单元空信号(empty_aal0)、AAL0子单元fifo指针减少(decrement_aal0)、AAL0子单元读使能(rd_en_aal0)、AAL0子单元读数据(data_in_aal0输入矢量31 downto 0);来自AAL2子单元信号包括:AAL2子单元空信号(empty_aal2)、AAL2子单元fifo指针减少(decrement_aal2)、AAL2子单元读使能(rd_en_aal2)、AAL2子单元读数据(data_in_aal2,输入矢量31 downto 0);来自AAL5子单元信号包括:AAL5子单元空信号(empty_aal5)、AAL5子单元fifo指针减少(decrement_aal5)、AAL5子单元读使能(rd_en_aal5)、AAL5子单元读数据(data_in_aal5输入矢量31 downto 0);发送到下一子单元的信号包括:向下个子单元的写时钟(clk_next)、下一个子单元的满信号(full)、向下一个子单元的写使能(wr_en)、下一个子单元缓冲区计数(wr_count输入矢量5 downto 0)、向下一个子单元写数据(data_out输出矢量31 downto 0)。
数据流产生子单元的工作过程如图13所示,从三个AAL子单元中读取数据,然后形成数据流发送到下一级子单元当中,从三个子单元中读取数据采用的是时间片轮转法,这样不至于应为一个用户在忙而让另一个用户等待的时间过长。这里轮转的不是发球权,而是优先发球权,轮转的是个优先权。也就是轮到谁的时候谁的优先权也就最高,最高优先权的归属每个时钟都在变化,轮到谁谁就有最高优先级的发球权,没有轮到的两个优先级按照拟定的静态值来用。
零总线转换时间存储单元控制子单元提供一个zbt ram的封装,提供给两个用户同时访问。用户一是aal2模块,他有最高的访问权限,可以抢占另一个用户的使用。用户2是9656local bus它的权限比较低,当它访问zbt_ram的时候,如果zbt_ram正在忙,就会读到一个全f的数据。外部视图如图14所示,包括:系统端口、用户1端口、用户2端口和zbt_ram芯片管脚接口。其中,系统端口包括工作时钟(clk);用户1端口包括:用户1使能(z1_ce)、用户1读写(z1_rw_n)、用户1数据输入(z1_din,输入矢量31 downto 0)、用户1数据输出(z1_dout,输出矢量31 downto 0)、用户1地址(z1_addr输入矢量18 downto 0)、用户1抢占zbt(z1_on);用户2端口包括:用户2使能(z2_ce)、用户2读写(z2_rw_n)、用户2数据输出(z2_dout,输出矢量31 downto 0)、用户2地址(z2_addr输入矢量18 downto 0);zbt ram芯片接口包括:z3_cke_n、z3_ce、z3_advld_n、z3_rw_n、z3_bw_n:out std_logic_vector(3downto 0)、z3_a:out std_logic_vector(18 downto 0)、z3_dq:inoutstd_logic_vector(31 downto 0)、z3_oe_n、z3_clk、z3_zz。
zbt控制子单元的内部工作原理如图15所示:靠z1_on信号来切换复用器。当z1_on=′1′的时候zbt就完全由用户1来控制,同时用户2的数据总线一直都是全1,当它为0时候zbtram完全由用户2来控制。用户2主要是用来完成zbt的初始化工作和错误统计信息的读取工作。
图2中第二可编程逻辑单元200的具体结构如图16所示,包括:AAL控制子单元、AAL2/5处理子单元和PDU传输控制子单元,其中,AAL控制子单元,用于当数据从所述第一可编程逻辑单元接口进入所述第二可编程逻辑单元后,根据包头的AAL类型将AAL0添加时戳写入一个存储器,将AAL2/5直接写入另一个存储器;AAL2/5处理子单元,用于合包、添加时戳及工作纠错;PDU传输控制子单元,用于将合包后的AAL2、AAL5以及AAL0的数据送到第二和第三零总线转换时间存储单元中,采用切换的方式将数据缓存和送出。
第二可编程逻辑单元的功能为:首先从第一可编程逻辑单元送入AAL数据流,其中包括AAL0,AAL2,AAL5,AAL控制器根据包头的AAL TYPE信息来判断进入数据流的AAL类型,如果是AAL0信元则添加时间戳并送到FPGA内部的缓存器中,如果是AAL2信元或AAL5信元则在可编程逻辑单元外部的DDR SDRAM中进行合包,合包后添加时戳存到第二可编程逻辑单元外部的2片ZBT存储器,最后由PDU传输控制器从ZBT存储器和第二可编程逻辑单元内部的缓存器中读出数据通过PCI总线向主机传送数据。
图16中的AAL控制器(AAL_CTL)为第一可编程逻辑单元和第二可编程逻辑单元的接口模块,为数据流入的关口,它接收的数据流为从第一可编程逻辑单元添加过包头的AAL0信元和AAL5信元以及AAL2的CPS-P,它完成以下功能:接收AAL数据包;添加时间戳,添加AAL0信元的时间戳,添加AAL2和AAL5最后一个数据包的时戳;将AAL0数据写到AAL0数据缓冲区;将AAL2/5数据传送到AAL2/5处理子单元;对AAL0信元以及AAL2/5的微信元的进行计数;当数据从第一可编程逻辑单元接口进入第二可编程逻辑单元后,根据包头的AAL类型将AAL0添加时戳写入存储器,将AAL2/5直接写入另一个存储器,判断一下如果包长超过了68个字节则告警,并将此包丢弃,工作流程如图17所示。
其中,AAL2/5处理子单元具体结构如图18所示,进一步包括:AAL2/5控制器、写指针表、写记录表、读控制逻辑、存储器控制处理器、读指针表。其中,AAL2/5控制器,用于完成合包、添加时戳(第一个微信元和最后一个微信元)和纠错的功能,在写数据的时候,同时对包长进行统计,来防止堆栈溢出,一旦堆栈溢出,写指针表返回到读指针状态,等到最后一包然后送出一个告警包,其中包含了这个包的溢出信息和包长以及INDEX。写指针表:存放写指针偏移量和包长和首包域,由于AAL的包长可能不是长字的整数倍,所以这里的包长是字节的单位,每次写入数据应该考虑到合包RAM中的PADDING。写记录表:用于存放合包后的偏移量和包长以及时戳(最后一个微信元的时戳)以及INDEX。读控制逻辑:用于通过对写记录表中的合包包尾的偏移量和包长算出从合包RAM中应取的偏移量,这个偏移量应该和读指针包中的偏移量吻合。存储器控制处理器:用于控制DDRRAM的读写,从AAL2/5控制器中读取写偏移量、包长和数据,从读控制逻辑中读取读偏移量、包长并送出数据。读指针表:用于存放读指针根据读控制模块的读出包来修改相应通道的读偏移量。
PDU传输控制子单元具体结构如图19所示,其数据入通道进一步包括:个先进先出缓存器,一个AAL0先进先出缓存器,一个AAL误码先进先出缓存器、一个AAL2/5先进先出缓存器、两个零总线转换时间存储单元缓冲器和本地总线接口。PDU传输控制子单元实现的功能包括:对数据读入的3个数据来源,进行优先级的判断,同时在读入的时候要进行包长的判断放止ZBT溢出(或根据切换来将同一包写入到两个ZBT当中,但是如果另外一个ZBT没有被读走则不能写入);信元接收器每次读包须将整包读完,否则将出现数据割断的情况;可以通过本地总线选择或者定时切换两种方式来决定当前使用的ZBT存储器;送出中断的条件有:定时器到时;有完整的数据包,中断使能;写zbt的时候地址从0开始计数,到定时器到的时候,要将当前包写完。
图16中本地总线接口(Up_CTL)和PCI桥芯片总线接口,完成数据的转发功能。
以上公开的仅为本发明的几个具体实施例,但是,本发明并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。
Claims (8)
1、一种实现异步传输模式适配层功能的装置,其特征在于,包括:第一可编程逻辑单元、第二可编程逻辑单元、第一零总线转换时间存储单元、第二零总线转换时间存储单元、第三零总线转换时间存储单元、内容查找存储单元和双通道异步内部存储单元,其中,
所述第一可编程逻辑单元,接收数据源数据,实现AAL2公共子层数据重组,同时对AAL5和线路管理数据添加标签和分流处理,并分别与第一零总线转换时间存储单元、内容查找存储单元和第二可编程逻辑单元连接;
所述第二可编程逻辑单元,分别与第二零总线转换时间存储单元、第三零总线转换时间存储单元和双通道异步内部存储单元连接;用于接收来自所述第一可编程逻辑单元的异步传输模式适配层数据,完成AAL2业务特定分段和重组、AAL5公共部分汇聚子层数据重组、以及发出异步传输模式适配层数据包。
2、如权利要求1所述实现异步传输模式适配层功能的装置,其特征在于,所述第一可编程逻辑单元包括:数据分流子单元、内容查找存储器控制子单元、数据流产生子单元、AAL0子单元、AAL2子单元、AAL5子单元、零总线转换时间存储单元控制子单元、输入数据接口子单元、输出数据接口子单元、配置接口及配置子单元;其中,
所述数据分流子单元,用于通过所述输入数据接口从数据源中读出信元,完成第一次搜索,然后对信元进行分类,并在52字节信元前附加信元类型、物理端口及长度字段,按类型分别存入AAL0子单元、AAL2子单元和AAL5子单元的缓存器中;
所述内容查找存储器控制子单元完成内容查找存储单元控制,响应AAL2子单元和数据分流子单元的请求,分别完成对应的搜索任务;
所述AAL0子单元,用于完成对AAL0数据的临时缓存功能;
所述AAL2子单元,周于完成AAL2公共子层的功能;
所述AAL5子单元,用于完成对AAL5数据的临时缓存功能;
所述数据流产生子单元,从AAL2子单元,AAL5子单元和AAL0子单元中读取数据,然后在数据内容前面添加数据包长度、包类型、错误编码、用户到用户指示UUI及索引号Index信息,通过所述输出数据接口写到所述第二可编程逻辑单元中。
3、如权利要求2所述实现异步传输模式适配层功能的装置,其特征在于,
所述第一次搜索包括:搜索虚拟通路识别码vpi、虚拟电路识别码vci和协定识别码支配连接种类pid。
4、如权利要求3所述实现异步传输模式适配层功能的装置,其特征在于,所述AAL0子单元、AAL2子单元和AAL5子单元的缓存器包括:先进先出缓存器或后进先出缓存器。
5、如权利要求2所述实现异步传输模式适配层功能的装置,其特征在于,所述内容查找存储器控制子单元,提供一个内容查找存储器的封装,提供给两个用户同时访问。
6、如权利要求2所述实现异步传输模式适配层功能的装置,其特征在于,所述内容查找存储器控制子单元包括:维护接口、两个搜索请求接口和内容查找存储器芯片接口;
所述搜索请求接口,用于用户搜索内容查找存储单元的命令接口;
所述维护接口,用于系统维护内容查找存储单元;
所述内容查找存储器接口,连接内容查找存储单元的各个管脚。
7、如权利要求6所述实现异步传输模式适配层功能的装置,其特征在于,系统维护内容查找存储单元包括:内容查找存储器初始化、内容查找存储器内部数据节点的写及内容查找存储器内部掩码节点的写。
8、如权利要求1所述实现异步传输模式适配层功能的装置,其特征在于,所述第二可编程逻辑单元包括:AAL控制子单元、AAL2/5处理子单元和PDU传输控制子单元,其中,
所述AAL控制子单元,用于当数据从所述第一可编程逻辑单元接口进入所述第二可编程逻辑单元后,根据包头的AAL类型将AAL0添加时戳写入一个存储器,将AAL2/5直接写入另一个存储器;
所述AAL2/5处理子单元,用于合包、添加时戳及工作纠错;
所述PDU传输控制子单元,用于将合包后的AAL2、AAL5以及AAL0的数据送到第二和第三零总线转换时间存储单元中,采用切换的方式将数据缓存和送出。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200510127670A CN100591036C (zh) | 2005-12-02 | 2005-12-02 | 一种实现异步传输模式适配层功能的装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200510127670A CN100591036C (zh) | 2005-12-02 | 2005-12-02 | 一种实现异步传输模式适配层功能的装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1980186A CN1980186A (zh) | 2007-06-13 |
CN100591036C true CN100591036C (zh) | 2010-02-17 |
Family
ID=38131199
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200510127670A Expired - Fee Related CN100591036C (zh) | 2005-12-02 | 2005-12-02 | 一种实现异步传输模式适配层功能的装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100591036C (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101745640B1 (ko) * | 2012-06-15 | 2017-06-09 | 인텔 코포레이션 | 공유 메모리 자원들을 사용하는 메모리 일관성 모델에서 비순차 load들에 대한 로크 기반 및 동기화 기반 방법 |
CN108287514A (zh) * | 2018-03-28 | 2018-07-17 | 天津中德应用技术大学 | 一种基于专家系统和时间片轮转法的高速量产编程器 |
CN109613536B (zh) * | 2019-01-11 | 2020-08-21 | 中国电子科技集团公司第三十八研究所 | 一种星载sar实时处理装置及方法 |
-
2005
- 2005-12-02 CN CN200510127670A patent/CN100591036C/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN1980186A (zh) | 2007-06-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5959994A (en) | ATM/SONET network enhanced as a universal computer system interconnect | |
US5530806A (en) | Method and apparatus for storing and retrieving routing information in a network node | |
US5796735A (en) | System and method for transmission rate control in a segmentation and reassembly (SAR) circuit under ATM protocol | |
US6205151B1 (en) | ATM cell scheduler which uses a heap memory and associates timestamps with each channel | |
US5751951A (en) | Network interface | |
Dittia et al. | Design of the APIC: A high performance ATM host-network interface chip | |
CN101873253A (zh) | 带缓冲的纵横式交换机系统 | |
EP0586584A4 (en) | A high-performance host interface for atm networks | |
CN100591036C (zh) | 一种实现异步传输模式适配层功能的装置 | |
CN1984030A (zh) | 一种基于fpga实现atm网络流量控制的装置及方法 | |
CN101064697B (zh) | 一种实现异步传输模式网络服务质量控制的装置和方法 | |
KR100256677B1 (ko) | 공유 매체 액세스가 가능한 비동기 전달 모드 호스트 어뎁팅 장치 | |
KR100200558B1 (ko) | Atm망에서의 고정전송속도 트래픽의 셀 분할과 조립에 관한 장치와 방법 | |
CN110336756A (zh) | 具有端口汇聚功能的Crossbar流量反压控制方法 | |
US7158523B2 (en) | Multi-link segmentation and reassembly sublayer for bonding asynchronous transfer mode permanent virtual circuits | |
Kim et al. | Design and implementation of a high-speed ATM host interface controller | |
CN100403700C (zh) | 异步传输模式反向复用的测试方法及设备 | |
Kumar et al. | On Design of a Shared-Buffer based ATM Switch for Broadband ISDN | |
US6301259B1 (en) | Switch and switching method | |
Hobson et al. | A parallel embedded-processor architecture for ATM reassembly | |
JPH05268241A (ja) | Atm交換におけるヘッダの変換方式 | |
JPH0969839A (ja) | Atm交換機及びatm交換機におけるvpi・vciの管理方法 | |
WO1994015438A1 (en) | Device for the conversion of data blocks, frame structured, into atm cells and vice versa | |
Agusleo et al. | Employing logic-enhanced memory for high-performance ATM network interfaces | |
KR100293150B1 (ko) | 비동기 전송모드 적응형 인터페이스 장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20100217 Termination date: 20171202 |