SPI-4.2總線應(yīng)用和調(diào)試經(jīng)驗談
引言
SPI-4.2總線(System Packet Interface,系統(tǒng)間數(shù)據(jù)包接口)是一種速度高達10 Gb/s的芯片間互連總線,主要應(yīng)用于ATM信元傳輸、POS(Packet Over SONET/SDH,基于SONET/SDH的包傳輸)和10 Gb/s以太網(wǎng)等高端場合。特別在通信領(lǐng)域,很多高端處理器和網(wǎng)絡(luò)處理器,如Intel公司的IXP2800、Cavium公司的多內(nèi)核處理器CN58xx系列、NetLogic公司的XLR732、Broadcom的BCM1480,幾乎都集成了SPI-4.2接口,以提高芯片的吞吐能力,適應(yīng)通信產(chǎn)業(yè)朝著LTE(長期演進)發(fā)展的需求。還有眾多的物理層芯片,例如Cortina公司的CS1331,可以將SPI-4.2總線轉(zhuǎn)換成8個千兆以太網(wǎng)接口。SPI-4.2總線之所以被眾多的高端芯片所采用,與其高速、靈活、可靠的特性是密不可分的。
1 SPI-4.2總線基本原理
SPI-4.2總線是一種芯片間的互連總線,連接芯片的鏈路層和物理層模塊。其工作時鐘是源同步雙邊沿觸發(fā)時鐘,至少為311 MHz。圖1是使用SPI-4.2總線連接兩個芯片的示意圖??梢?,SPI-4.2總線的信號在發(fā)送和接收方向完全對稱而又互相獨立,數(shù)據(jù)鏈路和狀態(tài)鏈路分開,并且其時鐘也是完全分開的。因此,該總線不僅適合于雙向通道,而且適合于只收不發(fā)或者只發(fā)不收的單向通道。
SPI-4.2總線具有以下特點:
①點對點互連,收發(fā)數(shù)據(jù)鏈路寬度為16位。
②發(fā)送和接收模塊的信號各分為兩組,即數(shù)據(jù)信號和狀態(tài)信號,分別對應(yīng)數(shù)據(jù)鏈路和狀態(tài)鏈路,每個鏈路具有自己的時鐘。數(shù)據(jù)鏈路發(fā)送和接收數(shù)據(jù),狀態(tài)鏈路傳輸相應(yīng)鏈路的狀態(tài)信息。
③數(shù)據(jù)鏈路包含DCLK、DAT[15:0]和CTL三種LVDS(低壓差分傳輸)信號。前面加“T”表示信號屬于發(fā)送模塊,加“R”表示信號屬于接收模塊。以發(fā)送模塊為例,TDCLK是雙邊沿觸發(fā)時鐘,TCTL是控制信號,TDAT[15:0]承載了數(shù)據(jù)和控制信息。當TCTL為高電平時,TDAT[15:0]傳送的是數(shù)據(jù)包;當TCTL為低電平時,TDAT[15:0]傳送的是控制包。數(shù)據(jù)采用DIP~4校驗交織碼。
④狀態(tài)鏈路包括SCLK時鐘信號和STAT[1:0]狀態(tài)信號,信號類型是LVTTL或LVDS。SPI~4.2發(fā)送時序如圖2所示。如果選擇LVTTL,則SC-LK時鐘頻率是數(shù)據(jù)鏈路時鐘速率的1/4。如果選擇LVDS,則SCLK時鐘頻率和數(shù)據(jù)鏈路時鐘頻率相同。下文中均以LVDS為例進行闡述。狀態(tài)鏈路主要用于流控。
⑤接收和發(fā)送模塊都含有一個FIFO隊列,用于緩存數(shù)據(jù),隊列長度由芯片設(shè)計而定。隊列的狀態(tài)信息通過狀態(tài)鏈路周期性地發(fā)送,接收模塊和發(fā)送模塊的狀態(tài)信息是獨立的。狀態(tài)信息附加了DIP-2交織校驗碼,以提高傳輸可靠性。
評論