当前位置:首页 > 嵌入式 > 嵌入式教程
[导读]基于上位机与FPGA开发板的光纤通道接口适配器

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

  1 方案设计

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

  


 

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

  2 设计的具体实现

  2.1 协议的分析与与裁剪

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

  各层的功能分别为:

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

  (2)FC-1:8 B/10 B编码;串化解串;比特与字同步。

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

  有序集的检测与识别;FC端口状态机;帧的发送与接收,帧接收时要进行有效性检查;流量控制;帧管理;交换与序列管理;数据帧与响应;多播与广播;分段与重组;差错检测与回复。

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

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

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

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

  (1)GUI部分主要是显示作用,可以对接口适配器的相关参数进行设置和界面显示。GUI模块设计内容有:整体界面、链路参数区、链路建立区、信息显示区。

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

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

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

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

  查则终止该次注册过程。

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

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

  

[!--empirenews.page--]

 

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

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

  控制PCIE硬核实现与上层软件交互;对上层传输数据加CRC校验;完成FC链路初始化过程;完成FC流控功能;完成FC-2差错处理;控制ROCKET I/O把上层软件数据通过ROCKET I/O发送;控制ROCKET、I/O把接收恢复的数据传输到上层软件。

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

  

 

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

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

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

  2.4 最终实现

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

  

 

  3 结语

  通过上位机与FPGA开发板的结合,模拟并实现了光纤通道在高速数据传输过程中接口处的设计。尽管该设计是上位机配合FPGA的形式实现,但仅就设计思路而言,对于实际开发光纤通道接口适配器具有一定的借鉴意义。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

随着13代酷睿处理器的上市,铭瑄本次同步发布了四款Z790主板,包括两款ATX、一款mATX,以及一款ITX迷你小板。其中,包括新款MS-终结者Z790M D5主板,售价仅1499元。将在10月20日21点随13代酷睿处...

关键字: 酷睿 ATX 接口 DDR

脑机接口(Brain Computer Interface,BCI [4] ),指在人或动物大脑与外部设备之间创建的直接连接,实现脑与设备的信息交换。这一概念其实早已有之,但直到上世纪九十年代以后,才开始有阶段性成果出现...

关键字: 脑机 接口 设备

(全球TMT2022年9月6日讯)9月5日,思灵机器人发布“Agile Core & Diana”系列产品。本系列产品包括软件Agile Core,和两个智能力控机器人diana7系列。其中,思灵自主研发的操作...

关键字: 机器人 CORE AN 接口

在DDR4出现十年之后,DDR5翩翩来迟。作为十年之久的换代,DDR5的设计上实现了诸多突破:新的通道设计、片内ECC、片上PMIC、更多温度传感器乃至插槽缺口的位移等。新的设计规范和标准,让内存容量、带宽和传输速率得以...

关键字: SPD DDR5 DIMM Rambus 接口

北京2022年8月23日 /美通社/ -- 随着"双碳"目标及"东数西算"工程推进,绿色低碳已成为数据中心建设的主旋律。液冷凭借其在制冷领域节能降碳的突出优势,成为未来新...

关键字: 数据中心 接口 模块化 控管

(全球TMT2022年8月12日讯)奎芯科技(M SQUARE)于2021年在上海成立,是一家专业的集成电路IP和Chiplet产品供应商。公司于2022年1月获得Pre-A轮超亿元投资,奎芯致力于提供新的国产化选型方...

关键字: CHIP 芯科 晶圆代工 接口

(全球TMT2022年8月11日讯)在后疫情时代,餐饮企业思考核心问题是如何让业务实现可持续发展?毫无疑问,数字化转型(DX)是应对这一课题的关键手段。富士通为餐饮企业打造了一套面向DX的中台解决方案,能够帮助餐饮企业...

关键字: 富士通 数字化 可持续发展 接口

Transphorm用于低功耗应用的高可靠性器件能简化电源系统的开发,减少元件数量;是18亿美元规模的适配器市场的成熟解决方案。

关键字: Transphorm 适配器 飞宏

上海2022年8月1日 /美通社/ -- 近日,中共中央办公厅、国务院办公厅印发《关于推进以县城为重要载体的城镇化建设的意见》(以下简称《意见》),提出"到2025年,以县城为重要载体的城镇化建设取得重要进展&...

关键字: BSP 制动器 宝马 接口

上海2022年7月13日 /美通社/ -- 7月8日,由第一资源主办,上海市嘉定区人力资源和社会保障局指导的2022中国人才峰会(第七届)如期举行,活动现场公布了"2022第一资源人力资源服务机构100强&qu...

关键字: SAAS 数字化 API 接口

嵌入式教程

6897 篇文章

关注

发布文章

编辑精选

技术子站

关闭