选择合适的千兆位收发器(GT)是通信和实时处理领域尤其需要重点考虑的设计事项,但特定的市场领域可能会存在太多的标准、协议或使用模型。有时针对某一种应用就会涉及到好几种标准,为了选择最适合的千兆位收发器,必须对各种协议的最新发展情况了如指掌。

从无线通信到消费电子产品的众多不同市场领域都具有业界标准连接协议。了解高级协议及其与低层协议规范的关系并充分留意不同行业对PHY定义的情况,将有助于选择最好的LogiCORE IP高速串行收发器架构向导协议模板,进而实现我们的设计目标。首先来回顾一下这些相关协议。

OSI:连接协议模板

开放系统互连(OSI)是一种面向全球通信的ISO标准。该标准定义了一个分七层实施协议的框架。控制信息从某一站点的应用层开始向下逐层传递,直至最底层的物理层,随后通过通道传输到下一站点。而信息返回时经过各层的顺序则与之相反。

三个PHY子层

当前普遍使用的许多串行连接协议都在模仿OSI的分层模型。PHY层包括2??3个子层,分别为物理编码子层(PCS)、物理介质连接(PMA)子层和可选的物理介质相关子层(PMD)。图1以方框图的形式显示了各层之间的关系。

Virtex-5 RX物理子层PCS、PMA和PMD示例方框图

图1 Virtex-5 RX物理子层PCS、PMA和PMD示例方框图

  数据包或数据在发送时以正向顺序传输,即从介质访问控制(MAC)层到PCS、PMA及PMD,而接收时的顺序则与之相反。

PHY使用方面的混乱状态

人们很容易将PHY误认为是硅芯片,而混淆其用途。PHY是一个包括子层的规范层。我们可用单一或多个器件实施设计人员通常称之为电子规范的PHY.对子层的使用主要取决于具体的细分市场和所用协议。

通信协议中的PHY层通常使用的是PCS、PMA和PMD子层。图2显示的是在局域网应用中使用赛灵思TEMAC (10M/100M/1G) LogiCORE的示例,其中千兆位以太网MAC接连与1000BASE-X PCS/PMA和激光收发器1000BASE-X PMD进行通信。此时,PHY同时实施在了FPGA和可选的光学收发器器件之中。

以太网通信应用中的PHY PCS、PMA和PMD层示例

图2以太网通信应用中的PHY PCS、PMA和PMD层示例

硬化或嵌入式IP考虑事项

赛灵思通常会在FPGA中直接集成PCI Express和千兆位以太网等常用的协议。这硬化版本可实施协议的部分或全部功能。在上述这两种情况中,LogiCORE封装作为LogiCORE产品的一部分实施MAC和物理层(PCS和PMA)。封装包含硬化模块并与高速串行收发器相连接。就TEMAC而言,硬化IP实施MAC和部分PCS以及PCI Express LogiCORE的事务处理和数据链路层。可用赛灵思的高速串行收发器向导来查看并修改GTP/GTX设置。

10Gb以太网——XAUI

10Gb以太网标准是一种IEEE规范,其定义的标称速率是千兆位以太网的10倍。物理层包含的一个接口可将MAC连接于PHY、PCS、PMA和PMD.至于赛灵思LogiCORE,10Gb媒体独立接口(XGMII)可连接至光学模块或10Gb以太网XAUI.PMA和PMD既可视为外部器件(如在光学收发器中),也可以视为XAUI的一部分(如在芯片间或背板应用中)。

通用分组无线接口v4.0

通用分组无线接口(CPRI)可用于无线电设备控制器或基站以及一个或多个无线电设备单元之间的连接。CPRI规范涵盖了OSI堆栈的第一层和第二层,物理层(第一层)定义了传统基站使用的电气接口以及支持远程无线电设备的基站光学接口。赛灵思CPRI LogiCORE在GT中实施PHY,在FPGA逻辑中实施数据链接(第二层)。

3G和6G OBSAI RP3-01

OBSAI RP3-01蜂窝式基站协议分为较低的物理层和较高的应用、传输和数据链路层。应用层可连接于基带或RF卡,而数据链路层可连接于物理层。赛灵思用FPGA中的收发器实施PHY,处理电气部分,并连接到外部光学收发器模块。

第一代和第二代PCI Express

PCI Express协议应用于物理层、数据链路层和事务处理层。由于这种标准非常通用,因此新兴串行协议往往寻求在电气规范方面与其兼容或类似,据此,ASSP和其他PHY器件厂商就能重用精心测试的IP产品了。赛灵思通过自身及其AllianceCORE合作伙伴在集成式硬IP模块和软IP中实施了第一代和第二代PCI Express协议。

串行RapidIO

虽然串行RapidIO协议与PCI Express一样也应用于三个层中,但却分别为物理层、逻辑层和传输层。由于RapidIO和XAUI的应用目标类似,串行RapidIO设计人员因而能重用其现有的XAUI电气设计方案。赛灵思GT向导可通过串行RapidIO模板支持串行RapidIO PHY.

三速SDI视频

三速SDI视频参考设计是基于SMPTE标准之上的。与高速串行收发器的物理连接是通过差动CML驱动外部线缆驱动器(用于传输)或外部适应性接收均衡器来实现的。各标准间常用的串行化协议非常具体,设计时采用的是FPGA结构。该协议需要较多的AC耦合电容进行大量的1和0运算。

赛灵思三模以太网

三模以太网MAC是赛灵思实施10/100/1Gb以太网协议的一种标准。赛灵思提供TEMAC LogiCORE(软IP)和用于集成模块的三模以太网封装(硬IP)。就软IP而言,1000BASE-X PCS/PMA或SGMII LogiCORE可实现无缝连接。SGMII是支持10/100/1G操作的串行连接标准。

TEMAC封装即硬TEMAC子块和GT I/O块中通常采用的HDL封装(1000BASE-X/SGMII已经集成于TEMAC)。具体实施细节请查阅以太网LogiCORE文档资料。

GT向导支持采用GigE (SGMII/1000Base-X)模板的三模以太网协议。

总而言之,业界标准协议日新月异,差不多每年都会出现一两种新标准。因此就这点而言,其术语和基础技术的复杂程度堪比税法。而对给定协议的物理层方案了解得越详细,就越易于确定所要使用的极佳高速串行收发器向导协议,从而为设计项目开创一个良好的局面。

FPGA千兆位收发器选择指南的更多相关文章

  1. 转: 如何选CDN:互联网大直播时代的CDN选择指南

    from:  http://www.chnvideo.com/blog-classic-cdn.html SRS 编码器   如何选CDN:互联网大直播时代的CDN选择指南 CDN是一个服务型的公司, ...

  2. 如何选CDN:互联网大直播时代的CDN选择指南

    转: 如何选CDN:互联网大直播时代的CDN选择指南 from:  http://www.chnvideo.com/blog-classic-cdn.html SRS 编码器   如何选CDN:互联网 ...

  3. FPGA千兆网UDP协议实现

    接着上一篇百兆网接口的设计与使用,我们接着来进行FPGA百兆网UDP(User Datagram Protocol)协议的设计. 1)UDP简介 在此,参考博主夜雨翛然的博文“https://www. ...

  4. Office、VBA开发方案选择指南

    最近很多朋友向我提出Office的开发方式方面的疑惑,主要是针对特定的系统和Office版本不知道选择哪一种编程语言.创建哪一种类型的项目. 事实确实如此,如果搞不清楚语言的特性和项目类型的特点,很可 ...

  5. 011 FPGA千兆网TCP通信【转载】

    一.LWIP 首先通过上面的简单分析,我们应该很清楚一件事:TCP协议很复杂,光握手过程就需要"三次握手.四次挥手"的复杂过程,不是特别适合FPGA的纯逻辑实现,因为用FPGA实现 ...

  6. 010 FPGA千兆网UDP通信【转载】

    一.以太网帧格式 图8‑12以太网帧格式 表8‑5以太网帧格式说明 类别 字节数 说明 前导码(Preamble) 8 连续 7 个 8'h55 加 1 个 8'hd5,表示一个帧的开始,用于双方设备 ...

  7. Linux 软件安装位置选择指南

    Linux 软件安装   Linux 下安装软件不像 Windows 下安装这么简单,Windows 下会自动选择合适安装路径,而 Linux 下安装路径大部分完全由自己决定,我可以将软件安装到任意可 ...

  8. 如何为应用选择最佳的FPGA(下)

    如何为应用选择最佳的FPGA(下) How to select an FPGA board? FPGA板的选择在很大程度上受FPGA本身的影响,也受整个板的特性和性能的影响.们已经在上面的章节中讨论了 ...

  9. 如何为应用选择最佳的FPGA(上)

    如何为应用选择最佳的FPGA(上) How To Select The Best FPGA For Your Application 在项目规划阶段,为任何一个项目选择一个FPGA部件是最关键的决策之 ...

随机推荐

  1. 乘风破浪:LeetCode真题_039_Combination Sum

    乘风破浪:LeetCode真题_039_Combination Sum 一.前言     这一道题又是集合上面的问题,可以重复使用数字,来求得几个数之和等于目标. 二.Combination Sum ...

  2. 1.2环境的准备(二)之Pycharm的安装和使用

    目录: 1.Pycharm的安装 2.Pycharm的使用 (一)pycharm的安装: (1)官网下载:(分为两个版本,专业版和社区版,社区版就足够我们学习用的)https://www.jetbra ...

  3. 菜鸟对APP界面设计的一些心得小结

    1. 前言 当我看着我以前做的一些app界面,我意识到我应该把我的界面设计能力水平再提升一个,因为实在是丑啊!贴一些以前的设计: 现在看来,是不能看的了.我主要是做需求设计,后面也有一些美工的工作,我 ...

  4. 《python源代码剖析》笔记 python环境初始化

    版权声明:本文为博主原创文章.未经博主同意不得转载. https://blog.csdn.net/zhsenl/article/details/33747209 本文为senlie原创.转载请保留此地 ...

  5. intellij IDEA软件java项目No SDK配置jdk开发,安装IDEA软件步骤

    我们在使用intellij idea开发java项目的时候,我们在创建的时候会发现提示No SDK,影响创建和使用项目,我们需要下载和配置需要的JDK 电脑 1我们使用intellij idea创建j ...

  6. [BeiJing2006]狼抓兔子

    题面 一眼看就是最小割板子题,建图也很直观,注意每一条边建双向边其实不用建4条边,只要反向边的容量和正边相同就行.然后直接跑最大流板子就行.不过此题拿vector存图会MLE……而拿链前存图就能卡过去 ...

  7. 智能家居 (2)手机一键自配置APP

    说明 本教程主要记录APP端一键自配置功能+TCP/IP通信 0配套使用单片机烧录 /* 文件名称:smartconfig.ino 功能:ESP8266快速配置功能 作者:www.doit.am 日期 ...

  8. day3-作业及答案

    作业:1.用python实现冒泡排序# [50,20,30,10]## 升序:谁大谁交换到后面# 降序:谁大谁交换到前面## 以升序为例# 第1趟:# [20,50,30,10]# [20,30,50 ...

  9. [转]用多线程方法实现在MFC/WIN32中调用OpenGL函数并创建OpenGL窗口

    原文链接: 1.用多线程方法实现在MFC/WIN32中调用OpenGL函数并创建OpenGL窗口 2.Windows MFC 两个OpenGL窗口显示与线程RC问题

  10. C#中使用WeiFenLuo.WinFormsUI.Docking.dll实现窗口停靠效果

    很酷的效果,很值得好好去学习的哈. 重置工具箱: 新建一个WinForm程序,项目名称为TestDockPanelControl.选中Form1窗体后选择工具箱--->>新建个添加选项卡命 ...