您的位置:通用技术>>可编程逻辑>>FPGA>>设计应用>>正文
基于FPGA的数据无阻塞交换设计
推荐给好友
打印
加入收藏
更新于2008-08-07 12:31:03

  0 引言

  随着FPGA和大规模集成电路的发展,数据交换的实现有了新的方法。在该设计中,FPGA完成串口数据信号(TXD、RXD)的交换,专用的时隙交换芯片完成串口握手线(RTS、CTS、DTR、DSR、DCD、RI)的交换。内部有硬件冲突监测功能,能够自动检测到2个终端同时连接到同一个信道或2个信道连接到同一个终端,并自动将旧的连接状态拆除,建立新的链路。这样就使原来的连接终端进入空闲状态,保证终端和信道时间轴上的无缝隙切换。通过判断RI的状态,它还可以监视信道DCE的状态,判断出信道是否有请求,并上报给监控。

  技术指标如下:①交换规模:40×40×8;②最大切换建立时间:200μs;③握手线最大传输延时:125μs;④数据线最大传输延时:小于1μs;⑤串行数据速率:8.192 Mbps。

  1 硬件实现

  数据交换矩阵在主控单元的控制下,将终端数据端口和信道数据端口进行物理交换。交换矩阵包括DTE端口40个(包含24个DTE接口,16个DTE/DCE可配置接口),DCE端口40个(包含24个DCE接口,16个DTE/DCE可配置接口)。数据交换矩阵是由数据线交换矩阵(TXD、RXD)、握手线交换矩阵(RTS、CTS、DTR、DSR、DCD、RI)和交换控制模块(单片机实现)组成。交换控制模块管理数据线和握手线2个交换模块,连续对2个模块进行操作。数据线交换由可编程逻辑器件完成,握手线交换由时隙交换器件完成。

  数据线交换模块由FPGA实现,选用30万门的可编程逻辑器件实现,其资源已经满足了数据线路交换的需求,并可以再扩展。握手线交换模块选用TSI(TIME SLOT INTERCHANGE)芯片MT90820,具有16对收发数据流,最大可实现2 048×2 048通道无阻塞交换。交换矩阵的控制单元选用通用的8051系列单片机。CPLD_1、CPLD_2和CPLD_3选用MAX7064,可以接4组串口握手线(CPLD_1、CPLD_2和CPLD_3的功能也可以用一个较大资源的FPGA来实现,这里选用小的CPLD来完成)。功能如图1所示。

  FPGACPLD内部的功能都是通过硬件描述语言VHDL实现的。FPGA完成数据信号的交换、传输切换命令、读取DCE信道状态等功能。它模拟了一个Intel的8位总线接口(连接控制单元);一个Motorola的16位总线接口(连接时隙交换芯片),从而进行接口时序的变换。FPGA中的数据交换状态寄存器与相对应握手线交换芯片中的所有寄存器一致,来确保数据线和握手线交换同步。CPLD完成4组串口握手线的串并转换、组帧、DTE/DCE选择等功能。
文章出处:作者:白海斌,邵淼青