摘 要 为了满足存储网络和下一代航空电子系统对光纤通道网络的需求,提出了一种新的光纤通道网络接口控制芯片的设计方案。用 Verilog实现了接口控制芯片的RTL设计并完成了功能仿真和验证,通过嵌入式PowerPC完成了接口控制芯片的控制软件设计。以Xilinx公司的Virtex-II Pro系列FPGA为平台,实现了接口控制芯片原型。
关键词 光纤通道 FPGA 接口控制芯片 嵌入式 PowerPC
引 言
作为通道技术和网络技术结合的产物,光纤通道(fibre channel)是一种具有高实时性、高可靠性、高带宽,高性价比的开放式网络。任何需要接入到光纤通道网络的设备都需要相应的网络接口卡(NAC),而网络接口卡的核心是接口控制芯片。目前市场上商用的光纤通道接口控制芯片寥寥可数且价格昂贵,并且核心技术都掌握在国外公司;而军用的光纤通道接口控制芯片更由于众所周知的原因在市场上根本就买不到。因此,根据光纤通道标准设计出拥有自主知识产权的光纤通道网络接口控制芯片,对于我国的经济和军事发展具有极其重要的意义。
由于光纤通道标准是一簇十分庞大而复杂的协议,不同的特性适用于不同的应用环境;又因为光纤通道标准目前仍处于发展阶段,标准的内容还在做不停的变化,因此选用FPGA作为当前接口控制芯片的载体是一个非常合适的选择。一方面对于不同的应用环境,可以对相应的功能模块进行适当的裁减,既能满足应用需要又能降低成本;另一方面对于协议的变化,基于FPGA的实现也很容易就能对老版本设计进行更新。
1 协议分析
和OSI参考模型类似,光纤通道协议簇也是以分层的方式来组织各个协议的。其分层模型如图1所示。
作为数据传输协议,光纤通道支持许多上层协议,包括VIA、SCSI、IPv4、IPv6、SBCCS、ASM等。在为这些协议传输数据之前,需要先将待发送的数据映射成规定的格式,FC-4层实现这一映射,对于每一个支持的上层协议,都有一个映射协议与之相对应。
FC-3层是一个通用服务层,为映射层协议提供一系列通用服务。比较重要的几个服务包括:交换注册、端口注册和注销服务。
FC-2层是光纤通道协议中最重要的一层,定义了将数据块进行端到端传输的规则和机制,包括不同类型的服务、帧格式定义、序列的分片和重装、交换管理、地址分配和多播管理等。
FC-1层定义了串行编码和解码规范,规定使用8B/10B编码。
FC-0层是光纤通道协议的物理层规范,定义了发射机、接收机、传输介质以及它们之间的接口规范。传输速率也在这里定义。
2 设计方案
通过对协议的分析得出,映射层协议和具体应用环境密切相关,应该由用户自己实现。接口控制芯片在逻辑上可以分成三部分,即通用服务模块、端到端IU传输和缓冲到缓冲帧传输;在实现方式上又可以分为软件部分和硬件部分。接口控制芯片系统框图如图2所示。