数据无阻塞交换设计中FPGA完成串口数据信号的交换,专用的时隙交换芯片完成串口握手线的交换。数据无阻塞交换的FPGA设计技术具有硬件平台通用性好、应用范围广以及功能扩展容易等优点。 数据交换矩阵在主控单元的控制下,将终端数据端口和信道数据端口进行物理交换。交换矩阵包括DTE端口40个,DCE端口40个。数据交换矩阵是由数据线交换矩阵、握手线交换矩阵和交换控制模块组成。交换控制模块管理数据线和握手线2个交换模块,连续对2个模块进行操作。数据线交换由可编程逻辑器件完成,握手线交换由时隙交换器件完成。数据线交换模块由FPGA实现,选用30万门的可编程逻辑器件实现,其资源已经满足了数据线路交换的需求,并可以再扩展。握手线交换模块选用TSI芯片MT90820,具有16对收发数据流,最大可实现2 048%26#215;2 048通道无阻塞交换。交换矩阵的控制单元选用通用的8051系列单片机。CPLD_1、CPLD_2和CPLD_3选用MAX7064,可以接4组串口握手线。 FPGA和CPLD内部的功能都是通过硬件描述语言VHDL实现的。FPGA完成数据信号的交换、传输切换命令、读取DCE信道状态等功能。它模拟了一个Intel的8位总线接口;一个Motorola的16位总线接口,从而进行接口时序的变换。FPGA中的数据交换状态寄存器与相对应握手线交换芯片中的所有寄存器一致,来确保数据线和握手线交换同步。CPLD完成4组串口握手线的串并转换、组帧、DTE/DCE选择等功能。当有同步信号Syn时,每个发送寄存器串行移位输出数据,4个发送寄存器每隔一帧循环地发送数据,送入握手线交换矩阵。DTE0到DTE3依次占用了数据帧中的第0到第3时隙,剩余都空闲。接收数据流过程相反。由握手线交换矩阵送过来固定帧格式的数据流进入CPLD,通过同步信号Syn提取第0到第3时隙的前4位,放入相应接收寄存器中,再依次对应到各DTE的握手线信号。 软件实现采用C语言进行模块化设计,主要包括主程序单元、切换单元、查询单元、中断单元、主动上报单元和看门狗。主程序包括数据交换矩阵的初始化配置和各个功能模块的判断选择。切换单元控制FPGA和时隙芯片进行各个端口的切换连接、拆除连接、冲突检测以及强拆连接。中断单元是与监控通信的接口,负责接收监控传来的命令;发送要主动上报的信息。查询单元可以查询各个信道的状态,信道是否有请求。主动上报单元是指歼机上报、定时上报,来指示数据交换矩阵是否工作正常。
|