关键词:以太网;高级数据链路控制(HDLC);桥接;专用集成电路
以太网是目前应用最广泛的局域网络传输方式,他采用基带传输,通过双绞线和传输设备,实现10 M/100 M的网络传输,应用非常广泛,技术也相当成熟。以太网以其成本低、网管简单、易于升级而作为宽带接入的首选方案得到了普遍认可,但其缺点是传输距离有限。与此同时,广域网技术取得了长足的发展,如综合业务数字网(ISDN)、数字数据网(DDN)、以及光纤通讯网等都已经商用化,所以面对的一个比较迫切的问题就是如何利用这些已有广域网资源传输以太网数据,实现以太网延伸。
目前为解决这类问题而应用比较广泛的方案是以太网网桥。本文以以太网到广域网转换为例,介绍一种基于HDLC(高级数据链路控制)协议的以太网远程桥接专用集成电路的实现,包括芯片系统构成,内部主要模块的功能划分等,并重点介绍了广域网接口模块中HDLC的算法设计流程图及FIFO控制模块的关键实现技术。通过该专用集成电路的应用,可以简单、快捷、低成本地实现以太网延伸。
1ASIC技术
专用集成电路(Application Specific Integrated Circuits,ASIC)是指应特定用户要求或特定电子系统的需要而设计、制造的集成电路。进入80年代后,半导体集成电路的工艺技术、支持技术、设计技术及测试评价技术的规范化水平和集成度不断提高,电子整机、电子系统高速更新换代的竞争态势不断加强,为开发周期短、成本低、功能强、可靠性高以及专利性与保密性好的专有集成电路创造了必要而充分的发展条件。
ASIC作为集成电路(IC)技术与特定用户的整机或系统技术紧密结合的产物,与通用集成电 路相比,在构成电子系统时具有以下几个方面的优越性:
(1) 缩小体积、减轻重量、降低功耗。
(2) 提高可靠性,用ASIC芯片进行系统集成后,外部连线减少,因而可靠性明显提高。
(3) 易于获得高性能,ASIC是针对专门应用而特别设计的;系统设计、电路设计、工艺设计 之间紧密结合,这种一体化的设计有利于获得前所未有的高性能系统。
(4) 可增强保密性,电子产品中的ASIC芯片对用户来说相当于一个“黑匣子”,难于仿造。
(5) 在大批量应用时,可显著降低系统成本。
2系统设计
以太网桥接ASIC内部共分为4个模块:以太网接口处理模块、广域网接口处理模块、FIFO控 制模块和DRAM读写控制模块。其中,以太网接口处理模块负责以太网数据的接收和发送处理;广域网接口处理模块用来实现同步HDLC帧的接收和发送处理;DRAM读写控制模块对外部DR AM的读写进行控制,并对以太网接口处理模块和广域网接口处理模块对外部DRAM的不同的读写请求进行仲裁,实现对外部DRAM的读写操作。FIFO控制模块用来实现对以太网接口处理模块和广域网接口处理模块读写外部DRAM的地址指针进行控制, 确保对正确的地址进行操作,从而使两者的数据能正确的交换。
通过上述模块的组合功能,可以实现将以太网的有效帧数据通过广域网来实现透明传输,从而将以太网传输距离拉长。在具体模块设计时,为了系统稳定,必须注意时钟域的处理方法,尽可能使用同步化设计,并处理好部分不可避免出现的异步时钟,避免亚稳态的出现。
2.1广域网接口处理模块
广域网接口处理模块主要实现一个面向比特同步的HDLC协议控制器。以太网的数据帧结构如 图1所示[1],当以太网口收到有效数据帧需要由广域网传输时,将其数据帧结构调整为图2广域网帧结构[2],按照HDLC的帧结构来传输,主要的调整是将以太网数据帧的帧头、帧起始定界符、帧校验序列除掉,只保留帧的有效数据部分(图中阴影标识部分),同时在帧头和帧尾加上HDLC标识符号(0X7E),并加上按照HDLC协议计算出来的帧校验序列。同时,为了保证标识符的惟一,需要对帧比特流进行检查,当发现连续5个1时,则必须在比特流中插入零,确保帧内不会出现多于5个连续1的比特序列,也就不会出现与H DLC标识符相同的序列,从而为接收HDLC数据帧时判断帧起始提供保障[3]。
广域网的发送处理如图3所示。
当数据缓冲区没有数据需要发送时,输出空闲标志,当要发送帧数据时,每次都是先发送帧起始标志,然后从外部DRAM中读出相应帧的数据、并做插零操作,然后将数据串行移位出去,将数据部分发送完了以后,就将该帧数据的HDLC帧校验序列(FCS值)移出去,然后输出帧结束标志,并不断重复上述流程。
广域网的接收算法如图4所示。当广域网接收到数据时,判断是否是帧起始标志,若判断到 帧开始了,就将接收的数据做去零处理,并一直操作至接收到帧结束标志为止,收完了一帧数据 后,做FCS检验,若FCS校验正确,则说明接收的帧数据正确,要保存到外部DRAM中,如果不正确,就要将该帧数据丢弃。考虑到各帧的数据长短不一,每存放1帧后,都要将该帧的长度信息存储起来,以便相应的读操作。
2.2以太网接口处理模块
以太网接口处理模块主要根据IEEE802.3 CSMA/CD算法标准对以太网媒体进行访问:从外部DRAM中取出数据并按照以太网标准要求发送到以太网媒体上;从以太网媒体上接收数据并将有效的数据帧保存到外部DRAM中。该模块支持标准的MII(Media Independence Interface)接口[1],只要外挂常用的以太网物理层芯片,就可以方便地实现以太网接入。
2.3FIFO控制模块
以太网接口处理模块与广域网接口处理模块由于两者的速度不一致,他们之间的帧交换需要 通过FIFO来进行缓冲,按照功能,需要2个FIFO,一个是L2W_FIFO,以太网模块往里面写入帧数据,广域网模块从里面读取帧数据;另一个是L2W_FIFO, 广域网模块往里面写入帧数据,以太网模块从里面读取帧数据。考虑到数据缓存需要较大的空间(目前采用4 M b的存储),集成到集成电路中去性价比不好,所以数据存储由外挂DRAM芯片来实现,但DRA M中存储的方式需要通过FIFO控制模块来实现。
L2W_FIFO和W2L_FIFO的结构类似,这里以L2W_FIFO为例进行介绍。L2W_FIFO的结构如图5所示,图中每个扇形小格分别表示1个1 536 B的区域。每一帧数据,无论其长度为多少,都以1 536 B的空间来存储,为了区分帧的长度,每存放1帧数据时,除了存放帧有效数据外,还附加存储该帧的长度,以便于读写。
为了方便地实现对FIFO的读写控制,采用双指针操作方式,即将FIFO读写控制分为大指针和 小指针控制,大指针用来控制1帧数据的跳变,即每读(写)完1帧数据后,读(写)大指针加1,判断FIFO的空满,并将读(写)小指针回零。而在顺序读(写)每1帧内的数据时,每读(写)1 B,读(写)小指针进行加1。通过这两种指针的结合使用,就可以实现对FI FO的读写控制,进而方便地得出要读(写)的DRAM中的地址。
2.4DRAM接口处理模块
DRAM接口处理模块主要用来实现对外部DRAM的读写操作,并将来自广域接口处理模块、以太 网接口处理模块的读写操作请求进行仲裁,实现对外部DRAM的读写操作的合理安排而不发生冲突。本模块针对IS41C16256芯片的时序进行设计,他是256 k×16 b结构的EDODR AM,其他公司类似型号的DRAM芯片也可以兼容。
3典型应用
该以太网桥接专用集成电路在通讯设备中可以灵活使用,由于广域网口提供同步HDLC接口,只要稍做调整,就可以方便连接到V35接口(或E1接口、光纤接口等),从而方便地实现以太网转V35(或E1、光纤等)通讯,从而实现以多种方式将以太网延伸。
4结语
随着集成电路技术的不断发展,可以实现将通讯系统中越来越多的功能集成到一块芯片上去,从而大大缩小系统设备的体积,提高设备的可靠性,降低设备的成本。本文介绍的专用集成电路,目前已经成功投产,由于性价比在同类芯片中有显著优势,已经被多家通讯设备厂家采纳使用,取得了良好的社会效益参考文献
[1]IEEE Std 802.3, 2000 Edition.
[2]ISO/IEC 3309: Information Technology Telecommunications and Information Exchange between Systemshighlevel Data Link Control (HDLC) Proceduresframe Structure, P4Switzerland: Inter national Electro Technical Commission,2002.
[3]Zarlink Semiconductors MT8952B HDLC Protocol Controller, 1997,364.