《電子技術應用》
您所在的位置:首頁 > 模擬設計 > 設計應用 > 基于FPGA的SPI4.2接口設計
基于FPGA的SPI4.2接口設計
摘要: 本文介紹了 SPI4.2接口在可編程邏輯器件 FPGA上的實現方法,并通過實際電路驗證FPGA與 IPX2805之間通過 SPI4.2接口互通的功能。由于商業芯片的限制,有時只有 FPGA才能滿足系統設計的要求。相對于開發ASIC,使用 FPGA使整個設計電路簡單、靈活、成本低、方便調試和修改, 大大縮短開發周期。
關鍵詞: 接口IC 接口 SPI4.2 FPGA
Abstract:
Key words :

1.引言

SPI-4.2(System Packet Interface)是 OIF(Optical Internetworking Forum)定義的局部高速總線標準,用于 PHY層芯片到鏈路層芯片的 10Gbps信號傳輸。主要應用有 OC-192 ATM、Packet over SONET/SDH(POS)、10Gbps以太網等。

SPI4.2接口分為數據通道和狀態通道。數據通道最多分成 256個邏輯通道,16bit位寬,采用 LVDS信號電平,按照 cell格式傳送數據,cell的長度為 16字節的整數倍,可隨意配置,根據網上流量的分析,一般配置成 128字節。每個 cell都是以控制字開始的,控制字一共16bit,包含邏輯端口號、報文起始標志位、報文結束標志位、控制字交驗等信息。狀態通道傳輸對端反饋的邏輯通道接收 FIFO的狀態,2bit位寬,LVTTL或者 LVDS信號電平,一般采用 LVTTL信號電平。狀態通道的數據結構為 Calendar[0:n],n最大為256,長度一般與邏輯通道數對應,Calendar[n]表示邏輯通道 n的接收FIFO狀態。數據通道根據狀態通道提供的信息控制數據的發送過程。狀態通道有四種狀態信息,如表 1所示:

57.jpg

在實際的系統設計中,商用芯片不一定能夠滿足需要,因此需要使用 FPGA(Field Programmable Gate Array)。本設計采用 Altera的 Stratix II系列 FPGA和 RMI公司的多核處理器 XLR732,Intel公司的網絡處理器 2805實現 SPI4.2接口。

2.2805簡介 2805是 Intel推出的高端 NP(Network Prosser),能夠處理 10Gbps線速轉發的以太網、POS、ATM等數據流量,能夠實現分類、NAT、ACL、多播、流量管理等功能。 2805內部集成一個32-bit、RISC內核、高性能的 XScale處理器,用于系統的配置管理和路由表項的維護,最高工作主頻750MHz;16個可編程的、有 8K代碼空間的微引擎,每個微引擎含有多個硬件線程,用來處理通信系統中的數據轉發,最高工作主頻 1.5GHz。外部集成了 PCI接口,可以工作在 64bit/66MHz模式;SPI4.2接口,工作頻率為 311MHz~500MHz;3個LA-1接口,工作頻率為250MHz;4個 RDRAM接口,工作頻率為 800MHz~1200MHz。

3.FPGA和 2805之間的 SPI4.2接口電路設計

圖 1描述了 FPGA和 2805之間的 SPI4.2接口的硬件連接框圖,信號定義以 2805為參考點。其中 TX_DATA[15:0] 、TX_CTL、TX_CLK和 RX_DATA[15:0] 、RX_CTL、RX_CLK是 LVDS信號電平,工作在 350MHz;TX_SDATA[1:0] 、TX_SCLK和 RX_SDATA[15:0] 、 RX_SCLK是 LVTTL信號電平,工作在 87.5MHz,四分之一于數據通道時鐘頻率。

58.jpg

具體信號定義如下所示:

TX_DATA[15:0]:發送數據, 16bit位寬, burst方式傳輸數據, DDR工作模式(時鐘上升沿和下降沿都采樣);

TX_CTL:傳輸控制信號,高電平表示 TX_DATA[15:0]傳輸的是控制信息,低電平表示 TX_DATA[15:0]傳輸的是數據;

TX_CLK:發送時鐘,隨路,是發送數據的參考時鐘。

接受方向的信號定義與發送方向的信號定義完全相同,但是方向相反。

4.FPGA的 SPI4.2接口模塊設計

Stratix II器件具有 152個接收器和 156個發送器通道,支持源同步信號進行高達 1 Gbps的數據傳送。它的內部含有 DPA電路,能夠不斷地將輸入數據和采樣時鐘對齊,消除了時鐘至通道和通道至通道偏移要求。它還集成了豐富的存儲器資源、先進的鎖相環( PLL)技術和雙數據率( DDR)I/O等特性,結合先進的差分 I/O能力,使其滿足 SPI4.2規范的物理信號定義。

59.jpg

圖 2為 FPGA的接收通道邏輯框圖,上半部分是數據通道,下半部分是狀態通道。由于 SPI4.2接口的數據傳輸是 DDR模式的,rdclk經過 FPGA內部的 PLL模塊做倍頻處理,然后送給 Rx_data_phy模塊,該模塊根據時鐘采樣 rdat [15:0]上的數據。Rx_data_proc模塊將接收的數據按照 cell頭中的邏輯端口號,分別放入不同的 Rx_fifo中。一個 Rx_fifo對應一個邏輯通道,每個 Rx_fifo都會生成一個狀態信號,標示其“空”狀態或者“滿”狀態, Rx_stat_calc模塊根據各個 Rx_fifo的狀態信號生成 Calendar信息,由狀態通路發送出去,用來流控 2805的發送過程。Calendar也可以由軟件設置,通過 Rx_stat_proc_ref下發給 Rx_stat_calc。

60.jpg

發送模塊與接收模塊不同,如圖 3所示,發送模塊的 Tx_fifo只有一個,即所有的邏輯通道公用一個發送緩存區。這主要是由于 FPGA內部的布線資源和 RAM資源有限,同時這種發送端共享 FIFO、接收端分通道 FIFO模式不影響使用,能夠實現分端口的反壓。

發送端通過 Tx_stat_phy模塊接收 Calender信息,經過 Tx_stat_proc模塊和Tx_stat_proc_sync模塊處理,送給 Tx_sched調度模塊,Tx_sched解析出各個邏輯通道的反壓情況,然后將各個通道的數據發送到 Tx_fifo中,然后經過 Tx_data_proc模塊和Tx_data_phy模塊發送出去。

5.結果 本設計在 ALTEra的 Stratix II系列FPGA,EPM2S90上得到驗證,與 Intel的 2805配合共同完成某通信設備的高速轉發單板的設計。

6.結束語

本文介紹了 SPI4.2接口在可編程邏輯器件 FPGA上的實現方法,并通過實際電路驗證FPGA與 IPX2805之間通過 SPI4.2接口互通的功能。由于商業芯片的限制,有時只有 FPGA才能滿足系統設計的要求。相對于開發ASIC,使用 FPGA使整個設計電路簡單、靈活、成本低、方便調試和修改, 大大縮短開發周期。
 

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 国产午夜不卡在线观看视频666 | 99精品视频一区在线视频免费观看 | 男人的天堂黄色 | 免费一级a毛片在线 | 日韩欧美毛片免费观看视频 | 正在播放国产精品放孕妇 | 国产精品久久久久影院 | 一区二区三区在线 | 中文字幕久久亚洲一区 | 看久久久久毛片婷婷色 | 日韩一级欧美一级毛片在线 | 日韩亚洲欧美一区二区三区 | 色婷婷国产精品欧美毛片 | 91精品国产综合久久欧美 | 加勒比综合| 久久国产精品久久精品国产 | 欧美日韩亚洲国产 | 日韩精品一区二区三区中文字幕 | 黄色毛片视频校园交易 | 草草草在线 | 精品三级国产一区二区三区四区 | 成人网视频免费播放 | 80岁色老头69av| 一级毛片在线观看视频 | 欧美日韩国产在线人成dvd | 在线播放免费一级毛片欧美 | 久久久久久久综合色一本 | 欧美成人观看免费完全 | av在线天堂网 | 久久视频精品53在线观看 | 欧美人与鲁交大毛片免费 | 一级片美女 | 美女黄页黄频 | 国产一区二区三区不卡在线观看 | 日本一区二区三区精品视频 | 在线久草| 久久国产精品久久国产片 | 怡红院免费播放全部视频 | 精品国产免费观看久久久 | 日本经典在线三级视频 | 在线观看国产日韩 |