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