本期我們就此系列平臺的serdes資源分配做一篇文章。 LS系列產(chǎn)品的資源不可為不豐富,其中最讓人頭暈的當屬于SerDes協(xié)議。百度百科這樣解釋?zhuān)琒ERDES是英文SERializer(串行器)/DESerializer(解串器)的簡(jiǎn)稱(chēng)。 它是一種主流的時(shí)分多路復用(TDM)、點(diǎn)對點(diǎn)(P2P)的串行通信技術(shù)。即在發(fā)送端多路低速并行信號被轉換成高速串行信號,經(jīng)過(guò)傳輸媒體(光纜或銅線(xiàn)),最后在接收端高速串行信號重新轉換成低速并行信號。這種點(diǎn)對點(diǎn)的串行通信技術(shù)充分利用傳輸媒體的信道容量,減少所需的傳輸信道和器件引腳數目,提升信號的傳輸速度,從而大大降低通信成本。 我們先以最復雜的LS1046A做講解,參考NXP官方文檔《LS1046ARM》。 PART.1 LS1046A在下圖框圖中可以看到有2個(gè)SerDes模塊,每個(gè)模塊各有2個(gè)PLL,每個(gè)模塊各有4lane,共有4個(gè)PLL,8條lane,有網(wǎng)口、PCIe、SATA功能。 在《LS1046 ARM》文檔的“Chapter31 SerDes Module”章節,比較詳細的描述了這一部分,所以我也建議用戶(hù)在制定方案前看一看這一部分。我們列出所有LS1046A的 SerDes功能: 第一列是RCW位,只能在這些選項中選擇方案(所以不存在8條lane都配置成網(wǎng)口這種操作);后面ABCD列代表硬件上的信號名稱(chēng)和接口功能;最后兩列是時(shí)鐘PLL的配置,需要注意Mapping這個(gè)詞,表示你需要配置PLL1還是PLL2,舉例:2222代表ABCD4條lane都使用PLL2,2211代表AB lane使用PLL2,CD lane使用PLL1,not available代表此方案不支持PCIe Gen3速度。 XFI,SGMII,QSGMII都是網(wǎng)絡(luò )。SGMII.n表示1G速度,n是MAC;QSGMII包含4個(gè)MAC,每個(gè)都有1G的速度;XFI是10G的速度。配置網(wǎng)口必須注意MAC不能沖突。 PCIe.n的n表示PCIE標號,為了方便理解,可以認為n是RC(PCI Express root complex)標識,不可以配置沖突,舉例說(shuō)SerDes1配置為1163,SerDes2配置為5559,這是不可以的!因為PCIe.1重復了。PCIe.nx4表示4條lane合并為一個(gè)PCIE RC,只可以接一個(gè)EP(endpoint device)設備,那么速度會(huì )x4翻倍。
SATA就不用多說(shuō)了,從可選擇的方案中挑選出來(lái)就可以了。 選定好了每條lane的功能之后,還需要選擇SerDes參考時(shí)鐘。各功能需要的時(shí)鐘如下圖: 這就是我們需要配置的PLL1和PLL2,硬件和軟件需要同時(shí)做好。參考的時(shí)鐘源我們在核心板上已經(jīng)做好,用戶(hù)不需要額外做這部分的硬件。 具體是這樣實(shí)現的:
SerDes2只有PCIE、SATA、SGMII(1.25G)的功能,這三個(gè)功能都可以參考100MHz時(shí)鐘,那么我們的核心板上硬件已經(jīng)固定死100MHz,只需要軟件去選擇PLL即可。 SerDes1有SGMII(1.25G),SGMII(3.125G),QSGMII,XFI,PCIE功能,我們看Table31-4表中這些功能的PLL1都可以設置為100MHz,所以我們在核心板中硬件固定死100MHz,PLL2可以參考100MHz和156.25MHz即可實(shí)現全部功能,我們從核心板引出一個(gè)SD1_REFCLK_SEL引腳,用于選擇100M,156M,然后軟件配置相對應的PLL即可。 所以使用我們的核心板S2的PLL1,PLL2只能選100MHz;S1_PLL1只有100MHz,S1_PLL2在100M和156M之間做選擇。 可以關(guān)閉PLL來(lái)禁用對應的SerDes模塊。 如果還是沒(méi)講清楚那么我們舉個(gè)例子來(lái)說(shuō)。假如有個(gè)項目需求1個(gè)萬(wàn)兆網(wǎng)口,4個(gè)千兆網(wǎng)口,3個(gè)PCIEx1,1個(gè)SATA。
Serdes1模塊選擇RCW為1040: XFI.9參考serdes1的PLL2,將S1的PLL2寫(xiě)為1:156MHz QSGMII參考serdes1的PLL1,將S1的PLL1寫(xiě)為0:100MHz
SerDes2模塊選擇RCW為5559:(PCIEGen3不可用,Gen2速度為5Gbps)。 PCIe.1,PCIe.2,PCIe.3參考serdes2的PLL2,將S2的PLL2寫(xiě)為0:100MHz SATA參考serdes2的PLL1,將S2的PLL1寫(xiě)為0:100MHz 看到這里大家有沒(méi)有覺(jué)得這個(gè)配置方案很熟悉啊,是的,我們飛凌發(fā)布的OK1046A-C開(kāi)發(fā)板就是采用的這個(gè)方案, 加上CPU原生的2路RGMII,共組成1萬(wàn)兆+6千兆+3路pcie+1路SATA,實(shí)現了CPU接口資源最大化,可供用戶(hù)調試開(kāi)發(fā)。 講完了LS1046A平臺,其他平臺只有1個(gè)serdes模塊,就比較簡(jiǎn)單了。 為了加深大家對于飛凌LS10XX系列產(chǎn)品中serdes模塊配置方案的理解,在本文第二部分,我們再講LS1028A平臺的SerDes設計方案做個(gè)簡(jiǎn)單解讀。
PART.2 LS1028A飛凌9月份發(fā)布了NXP的LS系列家族新成員——FET1028A-C核心板。其包含豐富的高速接口:PCIE、SATA、USB、以太網(wǎng)。與我們早已上市的LS1043A、LS1046A相同的是內含SerDes模塊,不同的是LS1028A的以太網(wǎng)口不一樣,因為內置TSN Switch,下面我們先詳細講這一部分。下圖是LS1028A的功能框圖: 以下內容參考NXP官方手冊《LS1028 ARM》,手冊可以在網(wǎng)站或者在我們的用戶(hù)資料里獲取到。在使用核心板做方案設計時(shí),建議用戶(hù)也翻一翻這個(gè)手冊。 網(wǎng)口switch介紹 以太網(wǎng)系統由兩個(gè)組件組成:以太網(wǎng)控制器(ENETC)和支持TSN的以太網(wǎng)交換機。下圖描述了LS1028A中的以太網(wǎng)子系統。 ENETC(以太網(wǎng)NET控制器)是一個(gè)4端口虛擬化以太網(wǎng)控制器,支持千兆級設計和時(shí)敏網(wǎng)絡(luò )(TSN)功能,有兩個(gè)外部以太網(wǎng)端口,兩個(gè)內部端口連接到該交換機,并且充當Cortex-A72 CPU與ENETC和支持TSN的以太網(wǎng)交換機交互的PCI根聯(lián)合體集成端點(diǎn)。 具有TSN功能的以太網(wǎng)交換機總共有6個(gè)端口:4個(gè)外部以太網(wǎng)端口,以及兩個(gè)內部連接到ENETC的端口,用于交換數據和管理/控制功能。 TSN以太網(wǎng)交換機核心包含5個(gè)10/100/1000/2500Mbps以太網(wǎng)端口和1個(gè)10/100/1000Mbps以太網(wǎng)端口。 概括起來(lái)就是LS1028A最多可以引出6個(gè)網(wǎng)口,且都支持TSN。 Serdes介紹 SerDes模塊可以引出PCIE,SATA,和網(wǎng)口,前面講的ENETC中有5個(gè)網(wǎng)口都是通過(guò)SerDes引出的SGMII/QSGMII/QXGMII,這部分涉及到的硬件接口有SD1_TX[0:3]_P/N,SD1_RX[0:3]_P/N,SD1_REFx_CLK_P/N,TX/RX是發(fā)送/接收數據的信號線(xiàn),CLK是輸入到SerDes的參考時(shí)鐘。 讓我們來(lái)看看SerDes模塊的時(shí)鐘結構。 SerDes的參考時(shí)鐘源有2個(gè),SYSCLK或者外部輸入的REF_CLK。SYSCLK是固定100MHz的頻率,當SerDes參考SYSCLK 100MHz的時(shí)候,有些接口功能是有限制的;使用外部的REF_CLK則可以靈活選擇配置時(shí)鐘。 Serdes方案表
輸入文字 在LS1028A芯片中,SerDes可以配置下表的功能,不在表中的搭配是不允許使用的。 選定SesDes方案后還需要配置時(shí)鐘,根據前面的時(shí)鐘結構我們可以看到SerDes內部有PLL1和PLL2,PCIeGen1/2 PLL mapping這一列就是我們需要配置PLL1還是PLL2,比如2211,表示laneA和laneB選擇PLL2,laneC和laneD選擇PLL1。 下圖是每種功能接口需要的參考時(shí)鐘頻率。 比如PCIE功能需要參考100MHz或者125MHz時(shí)鐘,因為我們的SYSCLK是100MHz的,就不需要額外再REF_CLK引腳上添加外部時(shí)鐘。一旦我們使用了2.5xSGMII或者USXGMII網(wǎng)絡(luò )功能,SYSCLK就不符合需求了,就需要在REF_CLK引腳上輸入參考時(shí)鐘。 飛凌FET1028A-C核心板考慮到高性?xún)r(jià)比并覆蓋絕大部分應用場(chǎng)合,只做好了100MHz的SYSCLK時(shí)鐘,同時(shí)也將SD1_REFx_CLK_P/N引腳連接到連接器中,允許用戶(hù)在設計中使用更高頻率的時(shí)鐘。
建議用戶(hù)在收到產(chǎn)品準備測試前,先看看手冊中的SerDes章節,這一部分很重要。希望這篇文章能對您的設計有所幫助,您也可以聯(lián)系飛凌技術(shù)支持獲取幫助。
|