摘要:針對CPCI 架構通用信號處理平臺上利用系統自身以太網絡接口實現數據傳輸效率低、擴展性差等問題, 提出一種采用高速Link 口基于FPGA 上硬核Pow erPC405 的嵌入式千兆以太網通信實現方案, 詳細說明了以太網通信板卡的硬件和邏輯的實現, 并分析了TCP/ IP 性能最大化的技術。
傳統基于CPCI 架構通用信號處理平臺, 由于其并行CPCI 總線物理傳輸速率的限制, 加上存在以太網協議系統消耗, 造成通過主板網絡接口數據傳輸效率很低, 遠遠不能滿足雷達、聲納等復雜系統對網絡通訊帶寬的需求。
采用新型高性能FPGA 芯片, 利用高速Link 口4GByte/ s 傳輸帶寬, 開發新的千兆以太網通信板, 實現以太網和高速Link 口數據的交互, 解決通用CPCI 架構信號處理平臺之間數據傳輸的IO 瓶頸問題. 千兆以太網通信板是滿足CPCI 規范的一個功能模塊, 可以靈活的應用到模擬器、信號處理和數據采集等實際CPCI 架構系統中, 從而滿足武器裝備系統網絡化、通用化、一體化、模塊化的要求。
1 基于FPGA 的千兆以太網通信板的系統應用
基于FPGA 的千兆以太網通信板在CPCI 架構通用信號處理平臺上實現聲納模擬系統應用時實現框圖如下圖1 示, 模擬的聲納信號需要通過以太網傳送給Linux 集群計算機。
?
在基于FPGA 的千兆以太網通信卡的信號處理平臺上, DSP 板、A/ D 板、D/ A 板和千兆以太網通信板之間的高速、大容量數據交換是通過高速Link 口來實現的. 系統間的數據交互是通過千兆以太網實現的, 利用高速Link 口, 通過千兆以太網數據通信板,實現系統高速Link 口和千兆以太網的無縫銜接, 從而能夠解決CPCI 總線帶寬問題, 實現數據的和Linux 集群機等其他應用系統的共享和交互. CPCI 總線( 32 bit x 33 Mhz)主要用于實現系統主板和功能板卡( DSP板、A/ D 板、D/ A 板或千兆以太網通信板) ,以及功能板卡間數據互連, 完成系統控制、配置和低速數據傳輸等功能。
在CPCI 架構通用信號處理平臺和Linux 集群計算機之間實現高速網絡數據交互的實現主要工作是開發Link 鏈路口到以太網通信的CPCI 架構板卡。
2 基于FPGA 的千兆以太網通訊板卡的開發
本設計采用了基于Pow erPC405 處理器的SOPC 解決方案, 實現了基于FPGA 的高速嵌入式通信系統板卡, 數據通過千兆以太網實現系統間互連與共享, 主要介紹硬件和邏輯開發方面工作。
2. 1 通訊板硬件開發
設計的千兆以太網通信板卡符合CPCI 架構U6 板卡標準, 是基于Xilinx XC4VFX20 系列FPGA, 內部集成了PowerPC405 處理器, 1 000 M 以太網MAC 模塊, 運行頻率高達300 MHz。
FPGA 實現Link 鏈路口數據到以太網MAC 層數據的轉換. PCI 接口芯片本地總線的接口邏輯, 系統控制等功能. PLX9056 實現了CPCI 接口邏輯. 在板上擴展了兩片MICRON 公司的256 Mb DDR 內存, 作為上電時操作系統的加載和運行空間. 采用Marvell 公司的千兆以太網PHY 芯片88 E1111 和帶隔離器的RJ45 接口, 加上FPGA 中的MAC IP 核實現網絡數據的傳輸功能. Plat form Flash 用于存儲FPGA 配置文件和系統文件. 本設計擴展了1 個RS422 串行接口用于嵌入式軟件的調試. 整個系統的硬件功能原理結構框圖如圖2 所示。
?
在進行電路設計時, 要特別注意作為電路核心器件FPGA 各個引腳的連接. 重要快速的時鐘信號必須接到全局時鐘引腳上; 和DDR、PHY 芯片連接引腳所在的BANK 需要提供電壓參考要考慮DDR、PHY 芯片的工作電壓; DDR 布線時, 數據和地址線要等長走線, 數據線之間誤差控制在10 Mil 內, 地址線誤差要控制在20 Mil 以內, 時鐘也需要走差分等長線, 長度應大于地址線。
2. 2 FPGA 中邏輯開發
開發采用Xilinx 公司的EDK10. 1 和ISE10. 1 工具軟件, EDK 稱為嵌入式開發工具包, 由XPS( Xilinx Plat form Studio) , SDK( Softw are development Kit ) , Creat-Import peripheral 和Bash shell 組成. 開發者可以調用上述所有工具, 來完成整個的嵌入式系統開發. 在XPS 環境下添加所需的IP 核, 生成硬件系統框架;調用Platg en 生成嵌入式處理系統的網表文件( . NGC 文件) , 通過軟件描述文件( . MSS 文件) 來設置系統軟件配置, 并調用Libgen 生成驅動層和庫; 在XPS 工程中添加應用軟件項目并編寫應用軟件, 把EDK 中編寫好的工程作為一個模塊, 加入到ISE 工程中, 然后統一編譯, 然后調用處理器對應的編譯器編譯并和硬件綜合后生成的. bit 文件合成后下載到目標板便可以進行調試了。
評論
查看更多