• <tr id='KNZdU5'><strong id='KNZdU5'></strong><small id='KNZdU5'></small><button id='KNZdU5'></button><li id='KNZdU5'><noscript id='KNZdU5'><big id='KNZdU5'></big><dt id='KNZdU5'></dt></noscript></li></tr><ol id='KNZdU5'><option id='KNZdU5'><table id='KNZdU5'><blockquote id='KNZdU5'><tbody id='KNZdU5'></tbody></blockquote></table></option></ol><u id='KNZdU5'></u><kbd id='KNZdU5'><kbd id='KNZdU5'></kbd></kbd>

    <code id='KNZdU5'><strong id='KNZdU5'></strong></code>

    <fieldset id='KNZdU5'></fieldset>
          <span id='KNZdU5'></span>

              <ins id='KNZdU5'></ins>
              <acronym id='KNZdU5'><em id='KNZdU5'></em><td id='KNZdU5'><div id='KNZdU5'></div></td></acronym><address id='KNZdU5'><big id='KNZdU5'><big id='KNZdU5'></big><legend id='KNZdU5'></legend></big></address>

              <i id='KNZdU5'><div id='KNZdU5'><ins id='KNZdU5'></ins></div></i>
              <i id='KNZdU5'></i>
            1. <dl id='KNZdU5'></dl>
              1. <blockquote id='KNZdU5'><q id='KNZdU5'><noscript id='KNZdU5'></noscript><dt id='KNZdU5'></dt></q></blockquote><noframes id='KNZdU5'><i id='KNZdU5'></i>

                干货丨LS1046A&LS1028A平台的SerDes设计方案

                目前我们已经发布了NXP的QorIQLS架构系列的几款平台,包含LS1046ALS1043ALS1028ALS1012A。这几款平台都原生支持网口、PCIE、SATA等高速接口协议,很多用户在产品选型和方案设计之初,对于硬件接口资源分配不熟悉,不遵守芯片规范使用导致项目出现问题,造成了严重损失。

                本期我们就此系列平台的SerDes资源分配做一篇卐文章。

                LS系列产品的资源不可为不丰富,其中最让人头晕的当属于SerDes协议。百度百科这样解释,SERDES是英文SERializer(串行器)/DESerializer(解串器)的简称。

                它是一种◆主流的时分多路复用(TDM)、点对点(P2P)的串行通信技术。即在发送端多路低速并行信↙号被转换成高速串行信号,经过传输媒体(光缆或铜线),最后在接收端高速串行信号重新转换成低速并行信号。这种点对点的串行通信技术充分利用传输媒体的信道容量,减Ψ 少所需的传输信道和器件引脚数目,提升信号的传输速度,从而大大降低通信成本。

                我们先以最复杂的LS1046A做讲解,参考NXP官方文档《LS1046ARM》。

                PART.1  LS1046A

                在下图框图中可以看到有2个SerDes模块,每个模块各有2个PLL,每个模块各有4lane,共有4个PLL,8条lane,有网口、PCIe、SATA功能。

                在《LS1046 ARM》文档的“Chapter31 SerDes Module”章节,比较详细的描述了这一部分,所以我也建议用户在制定方案前看一看这一部分。我们列出所有LS1046A的 SerDes功能:

                第一列是RCW位,只能在这些选项中选择方案(所以不存在8条lane都配置成网口这种操作);后面ABCD列代表硬件上的信号名称和接口功能;最后两列是时钟PLL的配置,需要注意Mapping这个词,表示你需要配置PLL1还是PLL2,举例:2222代表ABCD4条lane都使用PLL2,2211代表AB lane使用PLL2,CD lane使用PLL1,not available代表此方案不支持PCIe Gen3速度。

                XFI,SGMII,QSGMII都是网络。SGMII.n表示1G速度,n是MAC;QSGMII包含4个MAC,每个都有1G的速度;XFI是10G的速度。配置网口必须注意MAC不能冲突。

                PCIe.n的n表示PCIE标号,为了方便理解,可以认为n是RC(PCI Express root complex)标识,不可以Ψ配置冲突,举例说SerDes1配置为1163,SerDes2配置为5559,这是不可以的!因为PCIe.1重复了。PCIe.nx4表示4条lane合并∴为一个PCIE RC,只可以接一个EP(endpoint device)设备,那么速度会x4翻倍。


                SATA就不用多说了,从可选择〖的方案中挑选出来就可以了。

                选定好了每条lane的功能之后,还需要选择SerDes参考时钟。各功能需要的时钟如下图:

                这就是我们需要配置的PLL1和PLL2,硬件和软件需要同时做好∑ 。参考的时钟源我们在核心板上已经做好,用户不需要额外做这部分的硬件。 具体是这样实现的:


                SerDes2只有PCIE、SATA、SGMII(1.25G)的功能,这三个功能都可以参考100MHz时钟,那么我们的核心板上硬件已经固定死100MHz,只需要软件去选择PLL即可。

                SerDes1有SGMII(1.25G),SGMII(3.125G),QSGMII,XFI,PCIE功能,我们看Table31-4表中这些功能的PLL1都可以设置为100MHz,所以我们在核心板〖中硬件固定死100MHz,PLL2可以参考100MHz和156.25MHz即可实现全部功能,我们从核心板引出一个SD1_REFCLK_SEL引脚,用于选择100M,156M,然后软件配置相对应的PLL即可。

                所以使用我们的核心板S2的PLL1,PLL2只能选100MHz;S1_PLL1只有100MHz,S1_PLL2在100M和156M之间做选择。

                可以关闭PLL来禁用对应的SerDes模块。

                如果还是没讲清楚那么我们举个例子来说。假如有个项目需求1个万兆网口,4个千兆网口,3个PCIEx1,1个SATA。

                 

                Serdes1模块选择RCW为1040:

                XFI.9参考serdes1的PLL2,将S1的PLL2写为1:156MHz

                QSGMII参考serdes1的PLL1,将S1的PLL1写为0:100MHz

                 

                SerDes2模块选择RCW为5559:(PCIEGen3不可用,Gen2速度为5Gbps)。

                PCIe.1,PCIe.2,PCIe.3参考serdes2的PLL2,将S2的PLL2写为0:100MHz

                SATA参考serdes2的PLL1,将S2的PLL1写为0:100MHz

                看到这里大家有没有觉得这个配置方案ぷ很熟悉啊,是的,我们赛马彩票发布的OK1046A-C开发板就是采用的这个方案, 加上CPU原生的2路RGMII,共组成1万兆+6千兆+3路pcie+1路SATA,实现了CPU接口资源最大化,可供用户调试开发。

                讲完了LS1046A平台,其他平台只【有1个serdes模块,就比较简单了。

                为了加深大家对于赛马彩票LS10XX系列产品中serdes模块配置方」案的理解,在本文第二部分,我们再讲LS1028A平台的SerDes设计方案做个简单◤解读。


                PART.2 LS1028A

                赛马彩票9月份发布了NXP的LS系列家族新成员——FET1028A-C核心板。其包含丰富的高速接口:PCIE、SATA、USB、以太网。与我们早▆已上市的LS1043A、LS1046A相同的是内含SerDes模块,不同的是LS1028A的以太网口不一样,因为内置TSN Switch,下面我们先详细讲这一部分。下图是LS1028A的ω功能框图:

                以下内容参考NXP官方手册《LS1028 ARM》,手册可以在网站ㄨ或者在我们的用户资料里获取到。在使用核心板做方案设计时,建议用户也翻一翻这个手册。

                网口switch介绍

                以太□ 网系统由两个组件组成:以太网控制器(ENETC)和支持TSN的以太网交换机。下图描述了LS1028A中的以太网子系统。

                ENETC(以太网NET控制器)是一个4端口虚拟化以太网控制器,支持千兆级设计和时◎敏网络(TSN)功能,有两个外部以太网端口,两个内部端口连接到该交换机,并且充当Cortex-A72 CPU与ENETC和支持TSN的以太网交换机交互的PCI根联合体集成¤端点。

                具有TSN功能的以太网交换机总共有6个端口:4个外部以太网端口,以及两个内部连接到ENETC的端口,用于交换卐数据和管理/控制功能。

                TSN以太网交换机核心包含5个10/100/1000/2500Mbps以太网々端口和1个10/100/1000Mbps以太网端口。

                概括起来就是LS1028A最多可以引出6个网口,且都支持TSN。

                Serdes介绍

                SerDes模块█可以引出PCIE,SATA,和网口,前面讲的ENETC中有5个网口都是通过SerDes引出的SGMII/QSGMII/QXGMII,这部分涉及到的硬件接口有SD1_TX[0:3]_P/N,SD1_RX[0:3]_P/N,SD1_REFx_CLK_P/N,TX/RX是发送/接收数据的信号线,CLK是输入到SerDes的参考时钟▼。

                让我们来看看SerDes模≡块的时钟结构。

                SerDes的参考时钟源有2个,SYSCLK或者外部输入的REF_CLK。SYSCLK是固定100MHz的频率,当SerDes参考SYSCLK 100MHz的时候,有些接口功能是有限制的;使用外部←的REF_CLK则可以灵活选择配置时钟。

                Serdes方案表
                输入文字

                LS1028A芯片中,SerDes可以配置下表的功能,不在表中的搭配是不允许使用的。

                选定SesDes方案后还需要】配置时钟,根据前面的时钟结构我们可以看到SerDes内部有PLL1和PLL2,PCIeGen1/2 PLL mapping这一列就是我们需要配置PLL1还是PLL2,比如2211,表示laneA和laneB选择PLL2,laneC和laneD选择PLL1。

                下图是每种功能接口需要的参考时钟频率。

                比如PCIE功能需要参考100MHz或者125MHz时钟,因为我们的SYSCLK是100MHz的,就不需↓要额外再REF_CLK引脚上添加外部时钟。一旦我们使用了2.5xSGMII或者USXGMII网络功能,SYSCLK就不符合需求了,就需要在REF_CLK引脚√上输入参考时钟。

                赛马彩票FET1028A-C核心板考虑到高性价比并覆盖绝大部分应用场合,只做好了100MHz的SYSCLK时钟,同时也将SD1_REFx_CLK_P/N引脚连接到连接器中,允许用户在设计中使用更高频率的时钟。

                 

                建议用户在收到产品准备测试前,先看看手册中★的SerDes章节,这一部分很重要。希望这篇文章能对您的设计有所帮助,您也可以联系赛马彩票技术支持获取帮助。