基于FPGA的数据无阻塞交换设计

 

基于FPGA的数据无阻塞交换设计

[日期:2008-8-7]来源:中电网  作者:白海斌,邵淼青[字体: ]
<script src="http://www.21ic.com/innews.js"></script>

 

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所示。

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

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所示。

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

CPLD_3是CPLD_1和CPLD_2功能的合并。可根据用户的需要,在FPGA的控制下,在CPLD内部通过数据线和握手线的交叉变换可以把DTE变换成DCE,交叉方法类似于通用的RS232数据交叉线的做法。这样做主要为了把DTE当作DCE用。当该DTE端口与其他DTE端口进行交换时,要把它变成DCE端口用;当该DTE端口与DCE端口进行交换时,不进行改变仍然作为DTE端口用。在确定是DTE或是DCE后,可依据CPLD_1和CPLD_2的方法,送人握手线交换矩阵。

2 软件实现

软件实现采用C语言进行模块化设计,主要包括主程序单元、切换单元、查询单元、中断单元、主动上报单元和看门狗。主程序包括数据交换矩阵的初始化配置和各个功能模块的判断选择。切换单元控制FPGA和时隙芯片进行各个端口的切换连接、拆除连接、冲突检测以及强拆连接。中断单元是与监控通信的接口,负责接收监控传来的命令;发送要主动上报的信息。查询单元可以查询各个信道的状态,信道是否有请求(查询信道振铃信号RI是否有效)。主动上报单元是指歼机上报、定时上报,来指示数据交换矩阵是否工作正常。

3 结束语

通过上面设计,可以做成一个单独的模块。DTE接口可以接数字电话、数字传真等数据终端;DCE接口可以接GSM等数据信道;DTE/DCE接口可以根据用户的需求来配置,比如用于计算机扩展的多串口与DTE或DCE的通信。该技术具有硬件平台通用性好、应用范围广以及功能扩展容易等优点。

随着人们的文化生活和物质生活水平的不断提高,人们对信息交互的需求日 益增强,通信业务量呈现高速增长的趋势"具有高数据速率的用户需求以及具有 高速率!大容量交换能力的核心网,使得处在这间的接入网变成了现代通信发 展的瓶颈"而作为高速异构接入交换的一个重要组成部分,高速网络接口子 系统是提高网络数据接入交换性能的关键技术之一"本论文的主要研究内容是利 用FPGA开发平台实现高速异构接入交换机的网络接口子系统,它既可以支持多 种异构链路接入,实现高密度线路接口卡,同时又可以为上层数据协议层提供统 一透明的接口,从而构成一个从物理层到协调子层的完整的网络接口" 本文一首先对高速异构接入网的特点进行了分析,提出了一种分布式的接入交 换机体系架构;然后针一对接入网高速异构的接入用户终端的需求,对接入交换 机体系架构高速网络接口子系统进行了详细的设计!verilogRTL代码实现以 及Modelsim功能仿真和时序仿真;最后,根据FPGA编程的特点,先后将该网 络接口系统配置为支持激光链路!微波链路!光纤以太网和千兆以太网四种不同 的接入方式,并将生成的相应的bit数据流配置文件下载到XihnxSCSVFX70T FPGA芯片,分别模拟了四种接入方式的接入以及环回过程"通过测试结果表明 该高速网络接口子系统可以支持激光链路!微波链路!光纤以太网和千兆以太网 四种不同的接入方式,并为上层数据处理提供了一个统一透明的64位高速总线接 口,实现数据点到点之间的高速!可靠传输
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值