本案例主要基于創龍科技的AM4376/AM4379 ARM Cortex-A9 + XilinxSpartan-6 FPGA處理器設計的異構多核工業級核心板進行講解:
圖 1 SOM-TL437xF是一款基于TI Sitara系列AM4376/AM4379 ARM Cortex-A9 + Xilinx Spartan-6 FPGA處理器設計的異構多核工業級核心板。核心板內部AM437x與Spartan-6通過GPMC、I2C通信總線連接。通過工業級B2B連接器引出LCD、CAMERA、GPMC、CAN等接口。核心板經過專業的PCBLayout和高低溫測試驗證,穩定可靠,可滿足各種工業應用環境。
1.1 AM437x ARM+FPGA的GPMC通信案例功能案例功能:將FPGA內部的BRAM資源通過并口轉換時序在核心板內部與ARM端的GPMC(GeneralPurpose Memory Controller)并口總線連接,實現ARM端對FPGA端BRAM資源的讀寫。本案例GPMC接口采用16bit地址線與數據線復用的異步讀寫模式,片選使用CS1。 本案例BRAM的地址位寬為10bit,數據位寬為16bit,內存空間為2KByte(1024x 16bit),使用STARTUP原語提供的CFGMCLK(50MHz)參考時鐘,經過PLL的5倍頻產生250MHz的BRAM工作時鐘。 Spartan-6BRAM的最大工作時鐘頻率如下圖所示。
圖 2
1.2 AM437x ARM+FPGA的GPMC通信操作說明將產品資料“4-軟件資料\Demo\FPGA\bram_gpmc\bin\bram_gpmc_6slx16.bit”可執行程序加載至FPGA端。進入評估板文件系統后,執行如下命令對FPGA端2KByte BRAM資源進行讀寫,并顯示讀寫速度。 Target# /opt/product-test/test-programs/mmap-rw/tl_devmem_rw_AM437x-t -a 0x01000000 -s 2048 -o halfword
圖 3
1.3 AM437x ARM+FPGA的GPMC通信管腳約束FPGA端管腳約束請查看產品資料“4-軟件資料\Demo\FPGA\bram_gpmc\project\bram_gpmc_6slx16\constraints\bram_gpmc.ucf”文件。 1.4 AM437x ARM+FPGA的GPMC通信FPGA端關鍵代碼使用STARTUP原語提供的CFGMCLK(50MHz)作為參考時鐘,經過PLL的5倍頻產生250MHz的BRAM工作時鐘。按照用戶手冊操作步驟進行程序的加載, RTL原理圖如下所示:
圖 4 1.5 AM437x ARM+FPGA的GPMC通信技術服務(1) 協助底板設計和測試,減少硬件設計失誤; (2) 協助解決按照用戶手冊操作出現的異常問題; (3) 協助產品故障判定; (4) 協助正確編譯與運行所提供的源代碼; (5) 協助進行產品二次開發; 1.6 開發資料(1) 提供核心板引腳定義、可編輯底板原理圖*、可編輯底板PCB*、芯片Datasheet,縮短硬件設計周期; (2) 提供系統燒寫鏡像*、內核驅動源碼*、文件系統源碼*,以及豐富的Demo程序; (3) 提供完整的平臺開發包、入門教程,節省軟件整理時間,上手容易; (4) 提供詳細的ARM+FPGA架構通信教程,完美解決異構多核開發瓶頸。 開發案例主要包括: Ø 基于ARM的裸機開發案例 Ø 基于ARM的Linux開發案例 Ø 基于ARM的Linux-RT開發案例 Ø 基于ARM的Qt開發案例 Ø 基于FPGA的開發案例 Ø 基于GPMC的ARM與FPGA通信開發案例 Ø 基于ARM+FPGA的AD采集綜合案例 備注:*標資料為xx后提供。
|