多路接口与E1协议转换器设计与实现
扫描二维码
随时随地手机看文章
摘要:针对通信带宽越来越高,低速设备无法连接到高速的E1线路的问题,提出了一种基于可编程逻辑器件FPGA、嵌入式微处理器MPC875的多路接口与E1协议转换器的设计,给出了硬件原理框图及主要元器件的选型,并对多路接口数据调度方法、空时隙处理策略、FPGA结构设计、软件设计流程进行了详细说明。通过实现RS 232,RS 449,V.35三路接口与E1的协议转换,证明该方案是可行的。
关键词:多路接口;E1;协议转换;FPGA
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中数据时,先给出地址信号,然后使能片选、读信号,这时如果数据总线上有数据,CPU读入数据。但MPC875总线频率高达80 MHz,为了CPU能稳定的读取到数据,这里将片选信号与读信号相“与”,然后扩宽3倍得到总线可用信号,在总线可用信号有效期间,数据总线上总有数据,这样,可以保证CPU能稳定的读到数据。
当CPU写入数据时,CPU先给出地址信号,然后给出片选及写信号,在写信号有效期间,CPU稳定的给出数据。因此,在片选及写信号有效时,锁存数据总线上的数据即可。
2.2 CPLD硬件接口电路设计
CPLD主要完成V.35,RS 449,RS 232数据收发;keyboard,LED控制;FIFO读写等功能。功能框图如图5所示。
CPU通过CPLD对接口芯片进行模式选择。V.35,RS 449为同步平衡接口,常用接口速率为N×64 Kb/s(N=1~32)。时钟、数据信号为两线平衡传输,控制信号为不平衡传输。发送数据时,将与之对应的时钟一并输出。在接收数据时,用接口时钟采样数据。
RS 232为不平衡传输。帧格式固定为:1位开始位、8位数据位、结束位。结束位有三种:1位、1.5位、2位。开始位固定为“0”,停止位固定为“1”。通信双方在开始通信前必须约定好串行传输的参数(传输速度、帧格式)。在发送端,首先通过分频产生需要的串行波特率,然后按照帧格式以约定好的速率发送。在接收端,使用8倍于波特率的时钟对接收到的信号进行过采样,经过滤波后如果为低电平信号,即认为是开始位,然后按照约定好的速率接收数据。
在接收数据时,FIFO读写模块将串行接收数据变成8位并行,同时,将与接收数据同步的时钟8分频,用此时钟将8位并行数据写入与该接口对应的FIFO;在发送数据时,将发送时钟8分频,用此时钟从与该接口对应的FIFO读取数据,同时将8位并行数据串行输出。
keyboard为4×4扫描式矩阵键盘,具有16个键。由硬件程序自动扫描键盘,输入数据触发中断,CPU读取数据。LED输出由CPU写入相应的显示寄存器,然后硬件程序将相关信号输出点亮LED。
2.3 FPGA硬件电路设计
FPGA主要根据时隙的分配设置,在时钟系统的管理控制下,完成E1的编解帧功能。功能框图如图6所示。
CPU根据设置向时隙分配寄存器写入相应的数据。在发送数据时,E1编解帧模块根据时隙分配设置,从相应的FIFO读取数据,写入该时隙。对于没有使用的空时隙,按照空时隙处理办法填入无效数据。发送时钟为FPGA外接的2.048 MHz时钟。由于XRT82D20为数据差分输入,因此将编解帧模块输出的数据TPOS进行反向得到TNEG,平衡输出。TCLK为发送时钟。
在接收时,XRT82D20数据差分输入RPOS,RNEG,将两个信号相减得到输入数据信号,RCLK为时钟输入。在输入时钟的控制下,E1编解帧模块将数据解帧。同时,根据时隙分配设置,将各个时隙的数据送入不同的接口FIFO。
3 软件主程序流程图
MPC875主要完成接口芯片初始化设置、时隙分配设置输入、状态显示等功能。软件主程序流程图如图7所示。
上电以后,CPU进行初始化设置。延迟1 ms进行内存地址分配:每个自定义寄存器及I/O均分配一个内存地址,CPU操作时读写相应地址即可;接着进行LTC1546/LTC1544模式选择,将三组接口分别配置为V.35,RS 449,RS 232;然后查询时隙分配设置输入,如果已经输入时隙分配设置,则读取时隙设置数据,否则,等待时隙设置输入;协议转换器初始化设置完毕,每隔100 ms进行一次线路运行状态告警显示。
4 协议转换器测试
4.1 测试平台搭建
测试平台由JDSU ANT-5 SDH接入测试仪,协议转换器,示意图如图8所示。JDSU ANT-5手持型SDH/PDH传输分析仪,内置所有必要的接口:从T1Bantam、E1平衡与E1非平衡,到STM-16/OC48光接口;测试速率从1.544 Mb/s~2.5 Gb/s;大屏幕、简单图形化界面、中文菜单,易于使用。
首先进行时隙分配设置,将1到15时隙分配给V.35接口,17到30时隙分配给RS 449接口,31时隙分配给RS 232接口。由JDSU ANT-5 SDH接入测试仪发出的2 MHz信号,进入协议转换器,然后分别将V.35,RS 449,RS 232接口环回,再将输出的E1信号接入测试仪,在测试仪中测试环回信号的各种特性。
4.2 测试结果
依照上述测试平台进行协议转换器功能测试,测试结果显示,误码率为0,说明协议转换器功能正常。JDSU ANT-5 SDH接入测试仪测试截图如图9所示。其中BER为误码率。
5 结语
本文提出了一种多路接口与E1的协议转换设计方法,并具体介绍了时隙分配及调度、空时隙处理等技术难点。通过实现V.35,RS449,RS 232三路接口与E1的协议转换,证明该方案是可行的。另外,本设计具有良好的扩展性,可以方便的根据具体应用添加或去除接口,也可以在本设计的基础上进行二次开发,完成更多的功能。