首頁>Club>
求問一下,一塊開發板上兩個FPGA晶片這種,倆FPGA之間是啥通訊方式?是直接用線連線然後分別分配引腳就能連上,還是跟兩塊FPGA開發板間通訊一樣?如果是後者,是不是還得做什麼同步之類的。
21
回覆列表
  • 1 # FPGA三板斧

    對於多個FPGA之間的通訊,只要IO連線上了,對於高速的資料流需要同步時鐘,對於低速的介面,只需要非同步處理即可。下面介紹幾種FPGA之間常用的資料通訊方式。

    一、GPIO通訊

    兩塊FPGA之間透過普通IO互連,加上上拉電阻或下拉電阻的方式非同步通訊,這類通訊適合電平訊號,使能訊號,邏輯控制訊號的非同步處理,起到通知,控制作用。

    二、低速裝置通訊

    兩塊FPGA之間的常用低速裝置通訊有以下幾個

    1、非同步串列埠通訊(UART)

    非同步串列埠通訊,是最常見的通訊方式之一,是一種應用廣泛的短距離序列傳輸介面。常常用於短距離、低速、低成本的通訊中。基本的UART通訊只需要兩條訊號線(RXD、TXD)就可以完成資料的相互通訊,接收與傳送是全雙工形式。TXD是UART傳送端,為輸出;RXD是UART接收端,為輸入。

    uart的資料協議簡單,如下

    2、SPI匯流排通訊

    SPI 匯流排有3線制(片選CS,時鐘SCK,輸入輸出SDA)、四線制(片選CS,時鐘SCK,輸入SDIN、輸出SDOUT)等,常用於操作NOR FLASH,一些專用晶片的配置匯流排,是一種高速的,全雙工,同步的通訊匯流排,SPI匯流排有四種工作模式,常見模式0和模式3。

    3、I2C通訊

    I2C匯流排常見於讀寫E2PROM,專用晶片的配置匯流排,DSP的啟動方式之一。I2C匯流排只有兩根線,時鐘SCL,資料SDA(inout),從裝置提供應答。I2C的速率有最大400K、100K。

    I2C時序如下:

    三、高速通訊

    1、GTX/P/H通訊

    1)、RapidIO

    Rapidio互連架構,旨在與最流行的整合通訊處理器、主機處理器和網路數字訊號處理器,是一種高效能的分組交換互連技術。IT地址高效能嵌入式工業對可靠性、增加頻寬的需求,以及更快的匯流排速度。

    Rapidio標準分為三層:邏輯層、傳輸層和物理層。

    邏輯層定義了整個協議和包格式。

    運輸層提供路線資料包從一個端點移動到另一個端點所需的資訊。

    物理層 描述裝置級介面細節,如包傳輸機制、流控制、電氣特性和低階錯誤管理。

    對於RapidIO通訊,常採用FPGA內部SRIO IP core實現,SRIO系統框圖如下:

    2)、PCIE

    PCI Express核心的7系列FPGA整合塊是一個可靠、高頻寬的可擴充套件的序列互連構建模組,它可配置為端點和根埠應用程式,可用於通訊、多媒體、伺服器和移動平臺,並支援高階等應用程式醫學成像、圖形密集型影片遊戲、DVD質量流媒體影片桌面和萬兆乙太網介面卡。

    PCIE IP框圖如下:

    3)、10G乙太網

    10G乙太網的實現主要採用FPGA內部MAC core和PMA/PCS核實現。對於高速的網路傳輸一般使用UDP傳輸協議,不適合TCP/IP協議(實現有難度)。UDP的優點就是不需要建立連線。對於兩塊FPGA之間傳輸資料,只用到MAC層傳輸即可。

    4)、aurora 8B/10B

    aurora 8B/10B IPcore設定如下:

    圖 aurura ip引數設定一致

    5)、aurora64B/66B

    aurora64B/66B IPcore 設定如下:

    2、SelectIO

    1)、CameraLink

    CameraLink介面常用在相機或高速影象感測器,用於傳輸高速影象、影片等。

    2)、High Speed IO

    高效能的IO速度能跑到幾百M,匯流排包括高速時鐘和高速資料線,利用 IDELAYE2、IDELAYCTRL、ODELAYE2原語,透過訓練字調節IO輸入延時(ps級),對齊資料的相位,便於時鐘取樣,Serdes實現了高速串並轉換。

    Serdes 輸入輸出實現依賴於xilinx的底層原語,serdes輸入如下:

    serdes輸出如下:

    總結,FPGA與FPGA之間通訊很簡單,能做非同步傳輸,也可以同步傳輸,可以低速傳輸,也可以高速傳輸。

  • 中秋節和大豐收的關聯?
  • IP,跨界合作真的這麼熱嗎?雪鐵龍合作《風味人間》,能逆襲嗎?