基于FPGA的数据无阻塞交换设计
CPLD_1只能接DTE,每个DTE的6条握手线(2发4收)对应2个8位寄存器、1个发送寄存器、1个接收寄存器。RST/DTR对应发送寄存器的前2位,CTS\DSR\DCD\JI对应接收寄存器的前4位。当有同步信号Syn时(8 kHz),每个发送寄存器串行移位输出数据,4个发送寄存器每隔一帧循环地发送数据,则组成1个每帧为128时隙、128×8位、8.192 Mb/s数据流(STi),送入握手线交换矩阵。DTE0到DTE3依次占用了数据帧中的第0到第3时隙,剩余都空闲。接收数据流过程相反。由握手线交换矩阵送过来固定帧格式的数据流(STo)进入CPLD,通过同步信号Syn提取第0到第3时隙的前4位,放入相应接收寄存器中,再依次对应到各DTE的握手线信号(CTS\DSR\DCD\RI)。这也就是信道(DCE)端口送来的握手信号,从而实现了交换。每个DTE占用的时隙是固定的,每帧中1个DTE占用1个时隙。如DTE0占用第0时隙,以此类推。如图2所示。


2 软件实现
软件实现采用C语言进行模块化设计,主要包括主程序单元、切换单元、查询单元、中断单元、主动上报单元和看门狗。主程序包括数据交换矩阵的初始化配置和各个功能模块的判断选择。切换单元控制FPGA和时隙芯片进行各个端口的切换连接、拆除连接、冲突检测以及强拆连接。中断单元是与监控通信的接口,负责接收监控传来的命令;发送要主动上报的信息。查询单元可以查询各个信道的状态,信道是否有请求(查询信道振铃信号RI是否有效)。主动上报单元是指歼机上报、定时上报,来指示数据交换矩阵是否工作正常。
3 结束语
通过上面设计,可以做成一个单独的模块。DTE接口可以接数字电话、数字传真等数据终端;DCE接口可以接GSM等数据信道;DTE/DCE接口可以根据用户的需求来配置,比如用于计算机扩展的多串口与DTE或DCE的通信。该技术具有硬件平台通用性好、应用范围广以及功能扩展容易等优点。
文章出处:作者:白海斌,邵淼青
