摘 要: 介绍了SDH系统中的接口电路--数字分接复用器的VHDL设计及FPGA实现。该分接复用器电路用纯数字同步方式实现,可完成SDH系统接口电路中7路(可扩展为N路)E1数据流的分接和复用。该设计显示了用硬件描述语言VHDL及状态转移图作为输入法的新型电路设计方法的优越性。
|
为扩大数字通信系统的传输容量,信道上的信号都是在发送端分接,在接收端复接。在通信接口电路中能完成这一功能的电路就叫作分接复用器。
|
1 数字分接复用器结构原理 本数字分接复用器的功能是:在发送端把12Mbps经过编码的有帧结构的EtherNet以太网码流分接为7路标准E1接口速率数据流,SDH设备再把这7路数据映射到155Mbps的速率上去并通过光纤传输到下一个SDH设备;在接收端由SDH设备从155Mbps的数据流中取出7路标准E1速率数据正确恢复为原来的12Mbps的EtherNet以太网码流。 发送端12Mbps有帧结构数据帧间由全1空闲码填充。从数字分接复用器发送端输出的7路E1数据由于传输处理过程中路由不同,必然会造成7 路E1数据在传输过程中的各路时延不一致,这就使得各路数据不同步。在设计中如何在接收端使得7路E1数据同步,从而正确恢复原发送端的12Mbps数据就成了一个难题。针对这一问题制定出了如下的解决方案。 1.1 数字分接器原理框图及说明 |
如图1所示,把数字分接器从总体上划分为:时钟产生、帧头/帧尾检测、串并变换、固定插零、FIFO插入SYNC五个模块。 在发送端,分接器的时钟产生电路把14Mbps系统时钟XCLK转变为12Mbps时钟,用这一时钟对端口来的12Mbps成帧数据DATAIN做帧头1100010001/帧尾1000000001检测,检测出帧头后再做串/并变换操作,这样就初步完成了分接器的功能。但是,为了使数字复接器能正确复接就需要在分接器输出的7路数据中分别插入同步头SYNC0111111110。为了使数据和插入的SYNC区别开来,须要在7路数据中每隔7bit就固定地插入"0"。这样,就保证了插入的SYNC不会与正常的数据相混淆,从而也使得分接出的7路数据变为标准的E1数据。 |
1.2 数字复接器原理框图及说明 数字复接器原理框图如图2所示。 |
与分接器相呼应,可把复接器从总体上划分为:SYNC检测、SYNC扣除、并/串转换、扣除零、帧头/帧尾检测5个模块。
|
2 VHDL语言设计相对于传统设计的优点
|
3 分接复用器的VHDL及状态转移图设计 3.1 分接复用器顶层VHDL建模Top level及系统功能仿真 1 系统发送顶层建模的VHDL端口描述 Library IEEE Use IEEE.std_logic_1164.all --引用库说明; Entity TRAN_TOP is Port RESET IN STD_LOGIC --system reset signal XCLK_IN IN STD_LOGIC --14.336MHz input high clock DATAIN IN STD_LOGIC --12.544MHz input data CLK12M OUT STD_LOGIC--12.544MHz input clock READCLK_OUT OUT STD_LOGIC--2.048MHz Output clock ROUT OUT STD_LOGIC_VECTOR 6 downto 0 --2.048MHz7route --output data ; end TRAN_TOP 2 系统发送顶层建模的VHDL仿真波形 如图3所示, |
送来的10M二进制的一帧数据DATAIN为"1100010001帧头1111111111 11111111111111111111111111111000000001帧尾"。把它分接为7路2M的数据如下: ROUT0 00111111110插入的SYNC10111110每7bit固定插入'0'10111... 空闲码 ROUT1 00111111110插入的SYNC10111110每7bit固定插入'0'10111... 空闲码 ROUT2 00111111110插入的SYNC01111110每7bit固定插入'0'10111... 空闲码 ROUT3 00111111110插入的SYNC01111110每7bit固定插入'0'10111... 空闲码 ROUT4 00111111110插入的SYNC01111110每7bit固定插入'0'00111... 空闲码 ROUT5 00111111110插入的SYNC11111110每7bit固定插入'0'01111... 空闲码 ROUT6 00111111110插入的SYNC01111110每7bit固定插入'0'0 1111... 空闲码 这样,从仿真波形可知电路完成了每帧二进制10M数据分接为7路2M数据时在每路2M数据中插入SYNC 0111111110、每7bit固定插入'0'以及在10M数据每帧分接完后插入全1空闲码的操作。 3 系统接收顶层建模的VHDL端口描述 Library IEEE UseIEEE.std_logic_1164.all --引用库说明; Entity RCV_TOP is port (RESET IN STD_LOGIC
|
|
7路包含有SYNC0111111110及每7bit插入'0'的两帧2M数据通过接收系统被正确地 复接为10M数据。HEAD_FLAG和END_FLAG分别为复接帧数据的帧头帧尾指示信号。 |
3.2 状态转移图设计方法
|
4 功能仿真、后仿真和FPGA实现
|
5 FPGA验证及问题讨论
|
本文中的分接复用器为系统通信提供了灵活的速率选择,可根据不同需要,以2Mbps为基数来配置各种数据速率。本设计中采用VHDL输入法及状态图输入法,大大缩短了设计周期,提高了设计的可靠性,并且大大增加了设计的可移植性。该设计的成功表明硬件描述语言VHDL是硬件设计的一种十分有效的手段。 |
免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。