基于FPGA的HDLC转E1传输控制器的实现

2007-03-09 19:03:27来源: 互联网
摘 要:本文介绍了一种用FPGA实现的HDLC转E1的协议控制器,能实现将速率为N%26;#215;64Kbps(N=1"124)的HDLC数据分接至M路(M=1"4)E1信道中传输,并允许各路E1的最大时延为64ms。讨论了E1帧结构设计和系统的FPGA实现方法。 关键词: 帧结构;HDLC;E1;FPGA 引言 E1是我国电信传输网一次群使用的传输标准,由于我国的E1资源十分丰富, 这样的传输路径非常容易获得,灵活利用现有丰富的E1信道来传输HDLC数据,可以节约大量传输成本。通常,一路HDLC数据仅通过一路E1信道传输,但是如果HDLC数据的速率很大,一路E1信号的带宽不足以传输,那么HDLC数据就要分接到M路E1信道中传输,接收端再把M路E1信号合路恢复出HDLC数据,M路E1信号如果传输路径不同,肯定会导致不同的延迟,本系统设计时,允许各路E1信号的最大延迟为64ms。 [b]系统E1帧结构设计 [/b] 本系统中的E1码流的帧结构可以参照CCITT G.732、G.704或G.706建议给出的PCM基群30/32路系统帧结构得到,但又有所不同。 [b] 信息位的组成 [/b] 本系统所要传输的净负荷(信息位)是N%26;#215;64Kbps的HDLC数据,标准E1中的TS16信令时隙与TS1"TS15及TS17"TS31共31个时隙可以传送净负荷。所以,N和M满足关系式N≤31%26;#215;M。对于最大情况,即N=124,M=4时,净负荷占用31个时隙。当N%26;amp;lt;124,以至不能填满所有31个时隙,则固定填入无效位‘1’。 [b] TS0时隙的设计 [/b] 考虑到系统要能实现将一路N%26;#215;64Kbps的HDLC数据按比特分接在M路E1信道中独立传输,并在接收端通过合路正确恢复出此数据,合路过程要求M路E1信号完全同步,而实际线路中各路之间有不同程度的延迟,这就要求系统具有延时缓冲能力。在此期间利用一个存储器对数据进行缓冲保存。而为了辨别某一路保存在SRAM中的CRC复帧应该和其它路保存在SRAM中的相应CRC复帧合路,即为了实现复帧同步,就需要对每一个CRC复帧加上标号,也就是加上复帧定位码。此外,由于HDLC数据是按比特分接在M路E1信道中传输的,当M=2,3,4时,那么在接收端就必须按照发送时分接的顺序将M路E1信道中的信息位按比特复接成HDLC数据。所以各路E1都需要一个代表分/复接顺序的路标号。为了充分利用E1信道资源 ,利用E1奇帧帧头后三个备用比特为用户提供一个12Kbps的同步数据通道,也可以作为低速的异步数据通道,如常用的2400、4800、9600bps的RS-232信号。 [b]系统设计 硬件设计 [/b] 系统的硬件部分包括一片FPGA和一块SRAM,FPGA选用Altera公司Cyclone系列EP1C6。Cyclone系列器件是低价格,中等密度的FPGA,内部有5980个逻辑单元,20个4Kbit的RAM块和2个内部锁相环。 由于系统允许各路E1信道可以有最大64ms的延时,一个复帧周期为2ms,即最大延迟为32个复帧时间。一个复帧由16个基本帧组成,32个复帧的的比特数为32%26;#215;256%26;#215;16=128Kbit,那么各路需要RAM的最大容量为128Kbit。由于最大路数M=4,所以系统所需的RAM最大容量为4%26;#215;128Kbit= 512Kbit。而EP1C6内部只有80Kbit的RAM,所以选择使用外接RAM的方法,本系统选用Inbond公司的W24L01,其容量为1024Kbit。 [b] 通过VHDL实现系统功能[/b] 系统采用自顶向下的EDA设计流程,利用VHDL语言编程实现系统功能。 发送部分主要由锁相环模块、分路模块、成帧模块、CRC校验模块和串行扰码模块组成。在主时钟模式下,由本地晶振经有理数分频产生N%26;#215;64KHz时钟和2.048MHz时钟,N%26;#215;64KHz时钟作为HDLC数据的时钟产生源,N%26;#215;64Kbps的HDLC先经过串/并转换,并写到M个缓存器中,然后用2.048MHz时钟读出,并将其插入到E1帧相应的时隙中,组成M路E1信号,并经过CRC-4校验,最后经过串行扰码,发送出去。在从时钟模式下,N%26;#215;64KHz时钟由HDLC提供,2.048MHz时钟由锁相环模块从N%26;#215;64Kbps的HDLC中提取。时钟模式的选择及M、N的数值都可以在FPGA内部通过VHDL语言编程设定。 接收部分包括锁相模块、帧头检测模块、解扰码模块、读写RAM模块以及合路模块。在接收部分,先用锁相环通过输入的E1信号锁出2.048MHz的同步时钟和N%26;#215;64KHz时钟,用2.048MHz的时钟对E1信号进行帧头检测,找到帧头后,系统进入帧同步状态,然后解扰码,CRC反校验,以及提取其它各种控制信息和数据。解扰码以后的数据经串/并转换后输出FPGA,存到片外RAM中。收到控制信息后,FPGA开始从RAM中读取数据,并在N%26;#215;64KHz时钟的控制下进行并/串转换,去帧头,最后合成一路N%26;#215;64Kbps的HDLC输出信号。 图1 仿真波形图 [b]仿真与测试 [/b] 对整个系统和每个子模块都进行了功能仿真和后仿真。功能仿真平台为ModelSim + 5.5f ,综合平台为FPGA Express 3.5,后仿真平台为Altera Quartus3.0。用逻辑分析仪HP54645D实测波形如图1所示(取M=4,N=104)。 [b] 结语[/b] 通过对FPGA进行VHDL编程,实现了将速率为N%26;#215;64Kbps (N=1"124)的HDLC数据按比特分接至M路(M=1"4)E1信道中传输,并充分利用E1奇帧的TS0时隙,为用户提供12Kbps的同步数据传输通道,而且允许各路E1有64ms的时延。本文设计的HDLC转E1传输控制器也可以作为其它协议转换器的一个过渡桥梁。例如可以将10Base-T的以太网信号,先经过以太网转HDLC协议控制器(如ADMtek公司生产的ADM6993芯片),然后通过HDLC转E1传输控制器,从而实现了Ethernet over TDM的功能。

关键字:fpga  传输  传输控制器  控制

编辑: 引用地址:http://www.eeworld.com.cn/wltx/qtjs/200703/3092.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。
论坛活动 E手掌握
微信扫一扫加关注
论坛活动 E手掌握
芯片资讯 锐利解读
微信扫一扫加关注
芯片资讯 锐利解读
推荐阅读
全部
fpga
传输
传输控制器
控制

小广播

独家专题更多

富士通铁电随机存储器FRAM主题展馆
富士通铁电随机存储器FRAM主题展馆
馆内包含了 纵览FRAM、独立FRAM存储器专区、FRAM内置LSI专区三大部分内容。 
走,跟Molex一起去看《中国电子消费品趋势》!
走,跟Molex一起去看《中国电子消费品趋势》!
 
带你走进LED王国——Microchip LED应用专题
带你走进LED王国——Microchip LED应用专题
 
电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2016 EEWORLD.com.cn, Inc. All rights reserved