多通道高速HDLC 处理器的设计与实现

作者: 陆园琳,乔庐峰,王志功   发布日期:2006-09-17 10:09   查看数:0
中文摘要:

  本文详述了由一个具有分时处理能力的HDLC 处理器对128 逻辑通道数据进行高速、并行、实时处理 的设计与实现过程,并讨论了其实现关键技术,给出了系统中关键结点的功能仿真波形图.

英文摘要:

   This paper describes the design of a multi2channel high speed HDLC data processor which can process 128 logic channel HDLC data simultaneously. Its logic function and communication protocol coherence have been verified successfully by real-time operation system———vxWorks through FPGA. In the system ,this multi2channel HDLC processor connects with 8 E1 physical links ,and all 128 logic channel data separated from 256 timeslots of 8 E1 frames are processed by this single HDLC processor using time multiplex technology. Compared with other communication chips of this type ,the above circuit structure takes more advantages in chip resources’taking up and channel management.


1  引言
       HDLC(High Level Data Link Control) 协议为国际标准化组 织ISO 制订的面向比特的高级数据链路控制规程[1 ] . 早期,每 一个用户都拥有一个独立的HDLC 处理器进行数据的处理. 出于处理速度的考虑,HDLC 处理器主要由硬件实现. 但随着 数据业务多用户、大容量的发展趋势,这种实现方式必然造成 大量硬件资源的占用. 因而随着E1 中继线的大量使用[2 ,3 ] , 出现了可以同时处理最多31 个64K数据链路的,采用时分复 用方式的HDLC 处理器,并将其设计成标准的模块. 这样做可 以使芯片面积大大缩小,当需要处理多个E1 通道时,就采用 多个相同的单元[4 ,5 ] . 但随着单一芯片上所需要承载的E1 支 路数急剧增加,某些设计在单一芯片上实现了同时处理32 个 E1 通道的处理能力,此时,这种方式占用的芯片面积仍是相 当大的. 为了解决上述矛盾,我们设计了一种可以同时处理8 个E1 通道,最大128 个数据链路的芯片模块. 本设计中首先 对128 个低速的HDLC 通道的数据进行缓冲,然后使用一个 具有分时处理能力的高速HDLC 处理器,通过时分复用的方 式进行数据的处理. 该处理器全双工工作,核心部分由收发独 立的HDLC 处理器、通道配置寄存器和通道状态存储器构成. 这样设计的模块在ASIC 芯片资源占用和通道管理上都有明 显的优势. 由于数据链路层所采用的各种数据包的结构都与HDLC 的数据结构基本相同,所以该HDLC 处理器可以广泛的应用 于帧中继系统、PPP 协议数据包的处理[6 ] 、ISDN、X. 25 数据网、 骨干和边缘路由器等各种数据网环境之中. 随着深亚微米工艺技术的发展,FPGA(Field Programmable Gate Array) 芯片的规模越来越大,其单片逻辑门数已超过上百 万门,已可以实现系统集成[7 ] . 同时它又具有设计开发周期 短、设计制造成本低、可实时在线检验等优点,因此被广泛用 于产量小于50000 片的芯片设计之中. 所以本设计中采用Xil2 inx公司的X2S200 (20 万逻辑门) 实现上述的多通道高速 HDLC 处理器.
3  多通道HDLC 处理器
       多通道高速HDLC 处理器的实现采用时分复用的方式, 核心部分由一个收发独立且可分时处理的HDLC 处理器、一 组通道配置寄存器和一组通道状态存储器构成,其中通道状 态存储器是实现时分复用的关键,每一个通道在该通道状态 存储器都有一块固定的存储空间,用以存储该通道的数据处 理情况,即通道状态信息. 多通道高速HDLC 处理器为每一个 通道每一段需要被处理的数据分配一段长度一定的时间片 (时间片的长度可根据数据的宽度成比例的变化) . 每个时间 片结束时,当前通道最新的状态信息(接收方向包括:处理结 束时状态机所处的状态、对该通道已经处理过的数据的CRC 校验码以及已经处理的比特数,当前时间片内已处理完但尚 未来得及被输出的接收数据等;发送方向包括:处理结束时状 态机所处的状态、对该通道已经处理过的数据的CRC 校验 码、在当前时间片内尚未来得及输出的传输数据等) 将被存入 通道状态存储器中的相应存储空间. 当新的一段数据到达时, 此段数据所属的通道在上一个时间片内被刷新的状态信息将 从通道状态存储器中读出并加载到状态机中,为新一轮的数 据处理做准备. 若主机(host) 发现某个通道的数据传输有误或长时间未 接收到该通道的数据,能且只能在该多通道HDLC 处理器的 等待空闲状态查询该通道的状态信息.
511  关键结点的波形仿真
     对通道状态存储器的正确读写操作是实现 多通道高速HDLC 处理器时分操作的关键技术 之一. 本设计中,通道状态存储器由FPGA 片内 自带的单口块RAM(Random Access Memory) 实现, 它与128 逻辑通道HDLC处理器之间的接口信号如图5 所示: w - en 为通道状态存储 器的写使能,channel - in 为读写该存储器的地址, di 为存储器 的输入数据, do 为存储器的输出数据.
6  结束语
      本课题是江苏省科技攻关项目“基于PCI 的高速多通道 HDLC链路控制器”的核心模块之一,目前已通过FPGA 实现 了逻辑功能的验证,并与Rockwell 公司的通信芯片8474 顺利 实现了对通. 高级数据链路控制规程,通信协议,现场可编程门阵列