多路接口与E1协议转换器设计与实现
0 引言
随着计算机技术与通信技术的持续发展,人们对高带宽需求不断增加,接入DDN(Digital Data Network)网、帧中继网等高速通信网的应用也越来越普遍。E1是我国电信传输网一次群使用的传输标准,速率是2.048 Mb/s。实现多路接口与E1协议的相互转换,将可以把多种设备同时连接至高速的E1线路。本文基于FPGA(Field Programmable Gate Array)、嵌入式微处理器设计了一个多路接口与E1的协议转换器,实现RS 232,RS 449,V.35等接口数据在E1线路上的高速传输。
1 系统原理
1.1 系统描述
多路接口与E1协议转换示意图如图1所示。在发送端,将多路接口数据按照一定顺序合并成一路符合E1协议的数据在E1信道上进行传输,在接收端,将接收到的E1信号再按发送端顺序分成多路接口数据。
1.2 多路接口数据映射到E1帧的方法
E1是一种典型的时分复用结构,一个E1时分复用帧划分为32个相等的时隙,编号为CH0~CH31,其中时隙CH0用作帧同步用,时隙CH16用来传送信令。其余的时隙用来传送有效数据。
通过将不同的接口数据插入不同的数据时隙,把多路接口数据编成一个E1数据帧,实现多路接口与E1的协议转换。
将多路接口数据映射到E1时隙中,需要根据每路接口的速率进行时隙分配,也就是将E1的一个或多个时隙分配给一路接口使用,分配的时隙速率不小于接口速率(每个时隙的速率相当于64 Kb/s),DTE(Data Terminal Equipment)与DCE(Data Communications Equipment)设备端时隙分配设置必须一致。由于协议转换器没有自适应接口速率的功能,因此时隙的分配通过一个软件界面由使用者完成。
为了实现对时隙的分配,设置30个4位的时隙分配寄存器。CPU根据使用者的时隙分配设置,生成30个数据时隙地址并写入对应时隙分配寄存器。数据时隙地址表示的是该数据时隙传送的是哪个接口的数据。在发送端,根据该地址从相应接口读取数据插入对应时隙;在接收端,根据该地址将相应时隙数据送往对应接口。表1为数据时隙地址与接口对应关系表,空闲表示该时隙空置没有使用。
系统将E1时隙分配给多路接口使用,当有时隙没有被分配时,就会产生空时隙。在本设计中,系统可支配的最小单位是E1时隙,也就是说,系统可以将一个数据时隙分配给一路接口使用,也可以将多个数据时隙分配给一路接口使用,当一路接口数据不能完全填满一个或多个时隙时,将会产生半空时隙。比如一个100 Kb/s的接口,占用两个时隙,将会产生28 Kb/s的空时隙。
对于没有使用的空闲时隙,系统可以根据时隙分配寄存器的值识别空闲时隙。在发送端,默认发送全"1"数据,在接收端,抛弃该无用数据;对于一路接口数据不能完全填满一个或多个数据时隙产生的半空时隙,采取循环发空包的方法来填充半空时隙,空包格式固定为"000 01111"。在接收端,检测到这样的空包数据,丢弃不用。
下面主要实现V.35,RS 449,RS 232三路接口与E1协议转换的设计。通过三路接口与E1协议转换的实现,验证多路接口同时与E1协议转换的可行性。
1.3 系统硬件原理框图与模块功能描述
系统硬件原理框图如图2所示,主要由接口芯片、FPGA、CPLD、微处理器构成。
LTC1546/LTC1544:多功能接口芯片LTC1546,LTC1544,二者结合,构成全功能的多协议接口界面,支持RS232,RS449,EIA530,EIA-530-A,V.35,V.36,X.21协议,协议的选择可完全由软件进行。
MPC875:飞思卡尔MPC875嵌入式CPU,基于POWERPC架构,主频高达133 MHz,8 KB指令cache,8 KB数据cache,总线频率最高可达80 MHz。
EP3C25F324C8:Altera公司的CycloneⅢ系列FPGA,性价比高,资源丰富。
EPM7256 AETCl44-7:A1tera公司MAX7000AE系列CPLD,支持多种接口电平。由于LTC1546,LTC1544接口电平为5 V,FPGA不支持这样的接口电压,这里使用CPLD作接口电路。
XRT82D20:RXAR公司的E1线路接口芯片,支持单路E1,具有HDB3编码、时钟恢复、线路驱动等功能,75 Ω或者120 Ω阻抗匹配。
keyboard:4×4键盘,用来接收时隙分配设置输入。
LED:LED指示灯,共30个,用来指示30个数据时隙的使用情况:当LED灯点亮时,表示该时隙已经使用;LED灯不亮,表示该时隙为空闲。
2 关键模块设计
2.1 与CPU通信FPGA端硬件电路设计
当FPGA与CPU通信时,由于CPU总线特殊的时序关系,FPGA端须做相应的处理才能保证读写数据的稳定性。图3为MPC875读数据总线时序图。其中:为片选信号,为读信号,A[0:31]为地址信号,D[0:31]为数据信号。图4为MPC875写数据总线时序图,为写信号,其余信号与读总线相同。
当CPU读取FPGA中数据时,先给出
- 基于ISP1581型接口电路的USB2.0接口设计(01-18)
- TM1300 PCI-XIO口的UART和USB接口设计(01-17)
- PC机扩展RS-232接口(01-25)
- LVDS接口电路及设计(01-26)
- 基于RTL8019AS的串口与以太网接口转换器(04-29)
- 串行及并行A/D转换器在高速数据采集中的采样差别性分析(05-19)