全釗鋒 劉超娜*
(1、廣西民族師范學院,廣西 崇左 532200 2、廣西職業技術學院,廣西 南寧 530100)
隨著技術的不斷更新,集成芯片的精密度越來越高,為了解決芯片內部各個模塊的通信,提高芯片的性能,提出了片上系統(SOC,System On Chip)以及片上網絡系統(NOC,Network On Chip)兩種解決方案。這兩種方案大大地提高了芯片內部的通信性能,降低通信的時延,為集成電路芯片往密度更大,規模更廣,精確度更高的方向發展。片上網絡是為了解決片上系統傳統總線結構以及全局異步局部同步問題而提出的一種系統設計方法[1],片上網絡是專門用于芯片內部互連的通信網絡,它借鑒了計算機網絡中分組交換的通信方法,可以根據應用靈活地采用多種網絡拓撲結構互連片上系統或者IP 核[2]。為了更好地探索和研究NOC 系統的性能,本設計以2D-Mesh 網絡結構為基礎[3],結合FPGA 載體,設計3x3 網絡拓撲結構的NOC 系統資源節點,為研究和測試NOC 系統性能提高良好的硬件平臺基礎。
NOC 系統主要是由路由節點、資源節點、資源網絡接口組成[4-5],如圖1 所描述的是3x3 的2D-Mesh 網絡拓撲結構,該拓撲結構中路由節點的構建主要是由FPGA利用Verilog 硬件編程語言設計而成,它的功能主要是負責路由節點之間的通信、路由節點與資源節點之間的通信以及路由決策等。而資源網絡接口是介于路由節點與資源節點之間的通信接口[6],它的構建主要也是采取FPGA 內部的邏輯單元通過硬件編程語言設計而成,它的功能主要是資源節點的信息通過資源網絡接口編碼、打包、轉換等操作發送到近端的路由節點,近端的路由節點根據路由信息查詢路由決策表,發送到目的路由節點,目的路由節點通過資源網絡接口進行解碼、解包、轉換等操作后發送到目的資源節點,從而完成數據的發送和接收,資源網絡接口在期間起到搭建路由節點和資源節點的橋梁作用。資源節點是具有一定功能的完整的系統,比如高速數據采集系統、圖像采集系統、以太網傳輸系統、溫度控制系統等。NOC 系統中路由節點和資源網絡接口是保障傳輸數據的高速有效,而NOC 系統功能的主要體現在資源節點上,資源節點處理的對象和處理的能力直接影響整個NOC 系統的功能。

圖1 基于2D-Mesh 的3x3 拓撲結構
本設計的3X3 的2D-Mesh 拓撲結構的NOC 系統,路由節點與資源網絡接口是由FPGA 內部邏輯單元通過Verilog 硬件編程語言設計而成,而涉及到的9 個資源節點如圖2 所示,分別是高速數據采集系統、圖像采集系統、以太網傳輸系統、溫度控制系統、RS232 傳輸系統、光電采集系統、液晶顯示系統、鍵盤控制系統和I/O 口擴展模塊。以下以高速數據采集系統和以太網傳輸系統為例設計NOC 系統的資源節點。

圖2 NOC 系統框圖
本設計的高速數據采集系統資源節點主要是用于測量輸入信號頻率在10KHz-10MHz,峰峰值在1vpp-2vpp,阻抗是50Ω 的高頻正弦波模擬信號,然后將采樣的數據經過資源節點接口的讀取、打包成路由節點可識別傳輸的數據幀,然后路由節點根據數據幀中的目的地址等信息查詢路由決策表完成數據的傳輸。如圖3所示,高速數據采集資源節點主要由前置信號處理電路和采集模擬信號ADC 轉換芯片組成。前置信號處理電路采用的是變壓器耦合的方式將P1/P2 輸入的模擬信號完整地輸入到ADC 芯片的模擬輸入通道中,而且為了匹配輸入信號的阻抗,P1/P2 輸入的信號接50Ω 到地;在ADC 轉換電路設計中,選用的是轉換速率65MSPS,雙核14 位AD9248 高速ADC 芯片,采用雙通道差分電路的方式將輸入的信號輸入到模擬的通道中,更好地獲取信號的完整性。AD9248 芯片的模擬通道只能采樣正電壓的模擬信號,故在輸入信號中通過AVDD 電源串聯電阻分壓的方式對輸入的信號進行抬高電壓。

圖3 高速數據采集電路
在高速數據采集資源節點設計中,AD9248 模數轉換芯片的控制引腳直接與FPGA 內部設計的資源網絡接口相連,對ADC 進行采樣、轉換等操作是由資源網絡接口完成,完成的同時將采集的數據打包、編碼發送到近端路由節點。采樣過程:高速數據采集資源節點的近端路由節點接收到遠端路由節點傳輸過來的數據采集命令,近端路由節點將命令傳輸到資源網絡接口,資源網絡接口解碼分析命令,對AD9248 進行采樣,完成采樣的數據原路打包傳輸到遠端路由節點。
NOC 系統與外界建立聯系,通信設備必不可少,常見的通信總線設備有USB 串口、I2C 總線、CAN 總線、SPI總線等,基于物聯網時代的到來,設計了NOC 系統的以太網資源節點。該以太網資源節點主要采用了LAN8720A 的芯片,配置以一定的外圍電路,就能完成100M的傳輸速率。如圖4 所示,HR911105A 是采取封裝RJ45 的連接器,從LAN8720A 管腳4、5 接入外部時鐘晶振 25M,RD-、RD+、TD-、TD+ 傳 輸 數 據 的 引 腳,LAN8720A 本身是一款低功耗的器件,輸出帶負載能力較差,為了使輸出RD-、RD+、TD-、TD+的數據信號增強,直接與R16、R17、R18、R29 電阻上拉到電源端。

圖4 以太網電路
在以太網資源節點設計中,考慮到嵌入式芯片STM32 在實時監控方面的優勢,而且STM32 的可以支持移植UC/OS II 系統,采用STM32 作為LAN8720A 以太網芯片的主控器件。在控制上采取UC/OS II 實時多任務操作系統,通過修改UC/OS II 上的函數,配置相應的任務優先級、任務堆棧等完成對LAN8720A 的實時控制。NOC 系統通過以太網資源節點訪問外界的過程:以太網資源節點的近端路由節點接收到遠端路由節點傳輸過來的訪問命令,近端路由節點將命令傳輸到資源網絡接口,資源網絡接口解碼分析命令,對外界符合以太網協議的信息通過STM32 控制LAN8720A 芯片讀取數據后,STM32 將讀取的數據傳輸到近端的資源網絡接口,資源網絡接口將信息打包、編碼原路傳輸到遠端路由節點。
NOC 系統的測試主要包括鏈路測試、路由節點測試和資源節點測試,本文在已經完成鏈路測試和路由節點測試的基礎上主要對NOC 系統中高速數據采集資源節點和以太網資源節點功能進行測試,測試的過程如圖5 所示,上位機通過以太網發送高速數據采集命令,在FPGA 內部固定的路由路徑傳輸(實線箭頭為路徑)到高速數據采集資源節點,采集數據后原路傳輸數據經以太網資源節點到上位機。

圖5 測試指示圖
如表1 所示,設置高速數據采集資源節點采集的是多個不同的模擬直流電壓,通過與傳輸到上位機的電壓對比,以太網傳輸數據正確,功能正常。

表1 以太網資源節點傳輸數據功能測試結果
如圖6 所示,右側正弦波是進入高速數據采集資源節點模擬通道A 或者B 的實測波形,左側是AD9248 模數轉換芯片采集后經路由節點傳輸回以太網資源節點,以太網資源節點上拋到上位機的繪制的圖形,兩者波形無明顯失真,上位機繪制的波形與實測的波形基本吻合。

圖6 實測波形與上位機顯示波形對比圖
如表2 是改變輸入正弦波的頻率、峰峰值,利用上位機監測到的數據,通過實測與上位機測量的數據兩者比較峰峰值、頻率,誤差β=(實測- 上位機監測)/實測,可見誤差很小,高速采集數據資源節點功能正常。

表2 上位機監測輸入正弦波形的參數
本文以FPGA 為核心器件實現了以3x3 2D-Mesh網絡拓撲結構的NOC 系統的資源節點設計,通過對資源節點功能測試表明該設計完成了預期的設計效果,為今后研究NOC 路由算法和測試NOC 系統故障提供了良好的硬件平臺。