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

出处:luckyjjjjj 发布于:2006-07-28 16:43:58

摘    要:本文介绍了一种用FPGA实现的HDLC转E1的协议控制器,能实现将速率为N×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。

系统E1帧结构设计
    本系统中的E1码流的帧结构可以参照CCITT G.732、G.704或G.706建议给出的PCM基群30/32路系统帧结构得到,但又有所不同。

信息位的组成
    本系统所要传输的净负荷(信息位)是N×64Kbps的HDLC数据,标准E1中的TS16信令时隙与TS1~TS15及TS17~TS31共31个时隙可以传送净负荷。所以,N和M满足关系式N≤31×M。对于情况,即N=124,M=4时,净负荷占用31个时隙。当N<124,以至不能填满所有31个时隙,则固定填入无效位‘1’。

TS0时隙的设计
    考虑到系统要能实现将一路N×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信号。

系统设计
硬件设计
    系统的硬件部分包括一片FPGA和一块SRAM,FPGA选用Altera公司Cyclone系列EP1C6。Cyclone系列器件是低价格,中等密度的FPGA,内部有5980个逻辑单元,20个4Kbit的RAM块和2个内部锁相环。
    由于系统允许各路E1信道可以有64ms的延时,一个复帧周期为2ms,即延迟为32个复帧时间。一个复帧由16个基本帧组成,32个复帧的的比特数为32×256×16=128Kbit,那么各路需要RAM的容量为128Kbit。由于路数M=4,所以系统所需的RAM容量为4×128Kbit= 512Kbit。而EP1C6内部只有80Kbit的RAM,所以选择使用外接RAM的方法,本系统选用Inbond公司的W24L01,其容量为1024Kbit。

通过VHDL实现系统功能

    系统采用自顶向下的EDA设计流程,利用VHDL语言编程实现系统功能。
    发送部分主要由锁相环模块、分路模块、成帧模块、CRC校验模块和串行扰码模块组成。在主时钟模式下,由本地晶振经有理数分频产生N×64KHz时钟和2.048MHz时钟,N×64KHz时钟作为HDLC数据的时钟产生源,N×64Kbps的HDLC先经过串/并转换,并写到M个缓存器中,然后用2.048MHz时钟读出,并将其插入到E1帧相应的时隙中,组成M路E1信号,并经过CRC-4校验,经过串行扰码,发送出去。在从时钟模式下,N×64KHz时钟由HDLC提供,2.048MHz时钟由锁相环模块从N×64Kbps的HDLC中提取。时钟模式的选择及M、N的数值都可以在FPGA内部通过VHDL语言编程设定。
    接收部分包括锁相模块、帧头检测模块、解扰码模块、读写RAM模块以及合路模块。在接收部分,先用锁相环通过输入的E1信号锁出2.048MHz的同步时钟和N×64KHz时钟,用2.048MHz的时钟对E1信号进行帧头检测,找到帧头后,系统进入帧同步状态,然后解扰码,CRC反校验,以及提取其它各种控制信息和数据。解扰码以后的数据经串/并转换后输出FPGA,存到片外RAM中。收到控制信息后,FPGA开始从RAM中读取数据,并在N×64KHz时钟的控制下进行并/串转换,去帧头,合成一路N×64Kbps的HDLC输出信号。

图1  仿真波形图
仿真与测试
    对整个系统和每个子模块都进行了功能仿真和后仿真。功能仿真平台为ModelSim + 5.5f ,综合平台为FPGA Express 3.5,后仿真平台为Altera Quartus3.0。用逻辑分析仪HP54645D实测波形如图1所示(取M=4,N=104)。

结语

    通过对FPGA进行VHDL编程,实现了将速率为N×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的功能。


  

参考文献:

[1]. RS-232 datasheet https://www.dzsc.com/datasheet/RS-232_584855.html.
[2]. EP1C6 datasheet https://www.dzsc.com/datasheet/EP1C6_527325.html.
[3]. W24L01 datasheet https://www.dzsc.com/datasheet/W24L01_701591.html.
[4]. 2.048MHz datasheet https://www.dzsc.com/datasheet/2.048MHz_1136449.html.


关键词:FPGA控制器

版权与免责声明

凡本网注明“出处:维库电子市场网”的所有作品,版权均属于维库电子市场网,转载请必须注明维库电子市场网,https://www.dzsc.com,违反者本网将追究相关法律责任。

本网转载并注明自其它出处的作品,目的在于传递更多信息,并不代表本网赞同其观点或证实其内容的真实性,不承担此类作品侵权行为的直接责任及连带责任。其他媒体、网站或个人从本网转载时,必须保留本网注明的作品出处,并自负版权等法律责任。

如涉及作品内容、版权等问题,请在作品发表之日起一周内与本网联系,否则视为放弃相关权利。

相关技术资料
广告
上传BOM文件: BOM文件
*公司名:
*联系人:
*手机号码:
QQ:
应用领域:

有效期:
OEM清单文件: OEM清单文件
*公司名:
*联系人:
*手机号码:
QQ:
有效期:

扫码下载APP,
一键连接广大的电子世界。

在线人工客服

买家服务:
卖家服务:

0571-85317607

客服在线时间周一至周五
9:00-17:30

关注官方微信号,
第一时间获取资讯。

建议反馈

联系人:

联系方式:

按住滑块,拖拽到最右边
>>
感谢您向阿库提出的宝贵意见,您的参与是维库提升服务的动力!意见一经采纳,将有感恩红包奉上哦!