基于SoC的NCSF總線系統的研究與設計術
圖4用戶層行規層次結構圖
2.2 FPGA上總線系統的設計
協議棧的應用層和數據鏈路層實現在FPGA內嵌的MicroBlaze處理器中,配合FPGA內部硬件邏輯資源編程實現高層協議和底層邏輯的解析處理。應用層為用戶層行規提供傳輸服務及安全支持,并實現用戶層行規與數據鏈路層之間數據交互。首先應用層程序讀取PCI中的命令數據結構并將其封裝成APDU(應用協議數據單元)轉發到數據鏈路層,然后數據鏈路層程序讀取來自應用層的數據并解析封裝成數據鏈路幀轉發到PHY控制器,最后數據幀由PHY以比特流的形式發送到NCSF總線上:當以太網控制器接收到來自NCSF總線的數據時,執行逆解析操作,最終由應用層程序將應答數據結構的發送到PCI上,至此完成一次完整的數據交互過程。具體過程如圖5所示。
圖5 FPGA上總線系統層次結構3 基于SoC的NCSF總線系統程序設計
基于SoC的NCSF總線系統將NCSF協議棧分兩個部分實現,即:用戶層行規以用戶層行規接口的形式實現在NC主機上,應用層及數據鏈路層實現在FPGA內嵌MicroBlaze處理器上,相應的程序設計也分兩個部分進行。
3.1用戶層行規接口程序設計
用戶層行規接口程序以外部時鐘中斷處理程序的形式調用執行,即當外部時鐘計數器到期發送時鐘脈沖信號至NC主機時,主機調用用戶層行規接口程序響應中斷。
接口程序與數控系統軟件共享一個命令數據結構數組和一個應答數據結構數組。命令數據結構數組中存儲的元素為數控系統事先封裝好的需要發送的命令數據結構,應答數據結構數組中存儲的元素為行規接口程序接收到的應答數據結構。
命令數據結構規劃如下,具體實現可以根據實際應用進行調整。
命令數據結構數組和應答數據結構數組的大小應根據實際應用中從站的數量進行動態配置,保證發往和來自每個從站的數據都有各自的緩沖空間。
評論