光纤接口适配器的研究与实现

时间:2022-09-12 07:31:03

光纤接口适配器的研究与实现

摘 要:接口适配器是通信传输系统的一个重要组成部分,它的效率直接关系通信效率。但随着光纤通信技术的发展,光纤接口适配器并未一同迅速发展,可以说,光纤接口适配已经成了光纤通信系统发展的瓶颈。主要介绍光纤通道接口适配器的组合实现过程,该过程包含对FC协议的分析与理解、具体的VC软件编写、上位机与FPGA相结合,实现FC协议下的接口适配器功能。

关键词:FC; 接口适配器; FPGA; 软件流程

中图分类号:TN929 文献标识码:A

文章编号:1004-373X(2010)13-0042-03

Research and Implementation of Fiber Interface Adapter

MA Yin-ping, XUAN Liang-liang

(Nanchang Hangkong University, Nanchang 330063, China)

Abstract: The interface adapter that is relative to the communication efficiency of a communication system is an important component of a communication transmission system. As a matter of fact, the optical fiber interface adapter is not rapidly developed along with the development of the fiber communication technology. That is, the fiber interface adaption has already become a bottleneck of the fiber communication system development. The assembly process of the fiber channel interface adapter is elaborated. This process includes the analysis and understanding of FC protocol, design of VC software, combination of PC and FPGA, and function implementation of interface adapter under FC protocol.

Keywords: FC; interface adapter; FPGA; software flow

0 引 言

随着经济的高速发展和科技的快速进步,近几年,光纤通信技术应运而生并快速成长。根据摩尔定律,CPU的处理速度每18个月翻一番。而光纤通信的传输带宽每9个月就增加一倍,而成本降低一半。同时全球因特网流量每6个月就翻一番。作为当代通信领域的支柱技术,光纤通信正以每10年速率增长100倍的速度发展。其总的发展趋势是速率越来越块,可靠性越来越高,提供的业务种类越来越多。

随着存储技术的迅速发展,存储容量得到了迅速的增长,存储系统的数据传输速度成为了主要的瓶颈。光纤的传输具有其速度上的优势,然而,在光纤传输要受到光纤通道接口的限制,因此光纤通道应用于高速数据传输的一个关键技术问题是接口的设计问题,本文对有效地解决高数据传输在接口处的瓶颈具有现实意义。

1 方案设计

完整的实现要包含PC机软件编程、Virtex-5开发板的底层链路实现。PC机的软件编写主要实现链路的创建注销控制、数据的组帧、数据的传输控制、传输过程中的显示;Virtex-5开发板主要实现数据的链路贯通、支持上位机所定义的帧结构的传输过程。

如图1所示,接口适配器功能实现过程主要包含协议的正确理解,按照协议的帧结构和数据结构的组织、具体的实现模块的设计与编写、结合Virtex-5底层链路的贯通实现光纤通信接口适配器功能。

图1 接口适配器功能实现过程

2 设计的具体实现

2.1 协议的分析与与裁剪

针对不同的应用环境应当对FC协议[1]进行适当的裁剪,尽可能地有效利用协议标准。FC协议是一个具有五层组成的协议体系。包括:FC-0层、FC-1层、FC-2层、FC-3层、FC-4层。

各层的功能分别为:

(1) FC-0:主要规定了物理接口,包含传输介质,收发器及接口等。

(2) FC-1:

8 B/10 B编码;

串化解串;

比特与字同步。

(3) FC-2规定了光纤通道的传输机制:

有序集的检测与识别;

FC端口状态机;

帧的发送与接收,帧接收时要进行有效性检查;

流量控制;

帧管理;

交换与序列管理;

数据帧与响应;

多播与广播;

分段与重组;

差错检测与回复。

(4) FC-3:基本链路服务;扩展链路服务;查询组。

(5) FC-4:映射上层协议,本文主要是映射MIL-std-1553B协议。

2.2 软件编程中各模块的代码的设计

软件实现的设计部分:GUI模块设计、设备抽象层的设计、任务处理模块的设计、FC的协议及物理功能模块的设计。

(1) GUI部分主要是显示作用,可以对接口适配器的相关参数进行设置和界面显示。

GUI模块设计内容有:整体界面、链路参数区、链路建立区、信息显示区。

(2) 设备抽象层的设计。该部分在于屏蔽下层不同物理设备间的差异;提供较为简便的方式,使上层模块同逻辑进行通信。本层需要提供对上层支持的设备操作接口及在内部通过封装WinDriver驱动提供的功能接口,实现对上层的功能支持。

(3) 任务处理模块的设计。主要实现对链路和数据各自的不同的任务操作情况。链路数据区与文件数据区分别需要保存各自的任务数据及状态,另外,它是GUI模块变更LIST的依据,从而还需要保存下层协议所具备的状态及数据。

(4) FC协议及物理功能模块的设计。该部分主要描述任务发送协议与链路建立协议。

① 链路建立的注册过程:

数据传输前,需要通过注册建立发送端与接收端的链路。首先,发送端把待注册的地址ID等信息嵌入帧信息中,发送帧信息给接收端;然后,接收端收到帧信息后,解读出相关的信息,若符合帧的完整性等检查,则两端建立链路。若不满足相关检查则终止该次注册过程。

② 链路的注销过程:

当需要注销链路[2]时,首先,发送端把待注销的地址ID等信息嵌入帧信息中,发送帧信息给接收端;然后,接收端收到帧信息后,解读出相关的信息,若符合帧的完整性等检查,则两端注销链路,若不满足相关检查则终止该次注销过程。

③ 数据传输过程:

数据传输是链路建立的根本目的,简化的数据传输过程如图2所示。

图2 数据传输过程

2.3 Virtex-5开发板的底层保证

(1) 系统构造逻辑设计主要完成以下几点功能:

控制PCIE硬核[3]实现与上层软件交互;对上层传输数据加CRC校验;

完成FC链路初始化过程;完成FC流控功能;完成FC-2差错处理;

控制ROCKET I/O 把上层软件数据通过ROCKET I/O 发送;

控制ROCKET I/O 把接收恢复的数据传输到上层软件。

(2) 逻辑设计的模块组成:

底层逻辑控制模块[4]主要完成FC物理层[5]通信,它主要包括发送模块、接收模块和PCIE控制模块[6]三部分,每个模块又根据功能不同划分多个子模块,在PCIE控制模块中,有一些缓存来存放接收模块传送过的数据和相应的数据信息,发送模块也会从PCIE控制模块的缓存中读取数据传送出去,其原理框图如图3所示。

图3 逻辑控制模块原理框图

数据发送模块

该模块通过读取上位机的状态信息来发送不同的信息,当ACK使能时,该模块发ACK,当数据使能时,该模块就发送固定帧数[7]的数据,发送的数据是从缓存中读取,CRC由该模块添加。空闲时就发送IDLE码。

数据接收模块

接收模块包括接收控制模块、CRC模块和临时缓存模块。主要完成数据和链路控制帧以及准备信号的接收,并实现CRC校验[8],根据帧头来判断不同类型的数据帧或控制帧[7],并存入缓存中,同时将帧的相关信息也放入相应的缓存中。

PCIE接口控制模块

该模块主要根据PCIE总线[9]上的地址对应的寄存器的值,译码成相应的使能把PCIE总线上数据写入相应的数据发送buff,ACK发送buff反之根据逻辑输入的使能,译码成对应的PCIE总线上对应地址的对应寄存器的值,并把数据接收的buff ACK接收buff数据写入相应的PCIE地址上。

2.4 最终实现

通过上位机与FPGA开发板的结合,实现了光纤通道接口适配器的高速性。传输效果图如图4所示。

图4 数据传输效果图

3 结 语

通过上位机与FPGA开发板的结合,模拟并实现了光纤通道在高速数据传输过程中接口处的设计。尽管该设计是上位机配合FPGA的形式实现,但仅就设

计思路而言,对于实际开发光纤通道接口适配器具有┮欢í的借鉴意义。

参考文献

[1]徐亚军,张晓林,熊华刚.基于光纤通道的航空电子网络研究[J].遥测遥控,2006,27(3):8-13.

[2]熊华钢.1553B总线通信技术的应用与发展[ J] .电子技术应用,1997(8):20-25.

[3]Williamson B.IP组播网络设计开发[M].顾金星,张拥军,译.北京:电子工业出版社,2000.

[4]唐玉华.PCI总线的传输协议概述[J].计算机工程与科学,1998,20(2):74-78.

[5]周敬利,高同庆.高速串行SCSI接口设计[J].小型微型计算机系统,1998,19(10):20-25.

[6]林强,熊午钢,张其善.光纤通道中的1553总线技术[J].航空电子技术,2004,35(1):1-5.

[7]陈钧,胡修林.基于Windows NT的DMA设备驱动程序的设计[J].电子技术,1999,27(7):20-25.

[8]余胜生,赵玉峰,周敬利.Fibre Channel主机适配器的研究与开发[J].小型微型计算机系统,2002,23(6):663-666.

[9]Marc Farley.SAN存储区域网络[M].孙功星,蒋文保,范勇,译.北京:机械工业出版社,2001.

[10]李浩,周东.在光纤通道上映射MIL-STD-1553协议[J].光通信技术,2005,29(8):53-55.

[11]章淼,徐明伟,吴建平.应用层组播研究综述[J].电子学报,2004,32(12A):20-25.

上一篇:基于虚拟仪器技术的雷达信号模拟器设计 下一篇:基于C语言STC89C52单片机电子密码锁的设计与仿...