基于SoC的NCSF總線系統的研究與設計術
0 引言
本文引用地址:http://www.104case.com/article/201612/332202.htm數控系統現場總線以其高可靠性、抗干擾性的優點適用于數控系統控制通信,隨著現場總線在工業控制領域的應用,現場總線已經成為下一代數控系統各設備單元之間數據交換的主要媒體。高檔數控系統的特點是高速、高精,而高速高精的數控加工要求數控各設備單元之間的數據交換媒體能完成數據的高速實時傳輸,因此數控系統現場總線系統是決定下一代高檔數控產業發展的一個重要因素。
傳統的總線系統(具體系統結構關系如圖1所示)實現為數控系統平臺通信系統日。的一部分,主要完成上層應用軟件如PLC模塊,運動控制模塊等與數控系統總線所連的伺服,I/0等從站設備之間的數據通信。總線系統通過NC(Numerical Control,數控)主機的通信接口(PCI、USB等)將通信數據發送到主站板卡,由主站板卡執行PC機并行數據—總線串行數據的發送/接收處理工作。主站板卡為簡單的硬件轉發電路,數據幀的封裝、解封,差錯控制,時鐘同步等工作完全由總線系統執行,需要占用大量的CPU時間和NC主機內存,從而增加了NC主機的負載。
圖1傳統總線系統結構關系
中國科學院沈陽計算技術研究所數控總線實驗室參照國家標準GB/T 18759.3-2009《開放式數控系統第3部分:總線接口與通信協議》研發的數控同步現場總線NCSF(Numerical Control Synchronous FieldBus)在數控現場總線實時通信方面具有優越的性能表現。
針對上述問題本文依據數控現場總線NCSF提出一種基于SoC的總線系統實現方法,設計選用Xilinx公司的XC3S500E FPGA芯片,具體設計中,采用MicroBlaze軟核CPU實現鏈路層及應用層協議處理。本文將在后續章節對總線系統的架構設計和實現方法進行具體闡述并對統性能進行分析。
1 背景介紹
1.1 NCSF簡介
為滿足開放式數控系統總線通信的實時性、同步性、可靠性及可擴展要求,NCSF總線參考ISO/OSI通信模型,由物理層、數據鏈路層、應用層、用戶層行規組成,如圖2所示。
圖2數控現場總線NCSF網絡模型
物理層負責協調總線在物理媒體中傳送比特流所需的各種功能,定義總線接插件和傳輸媒體的機械和電氣規約,以及為發生傳輸所必須完成的過程和功能;數據鏈路層為應用層提供周期、實時、無差錯的數據鏈路;應用層負責維護站點間的安全、可靠的數據傳輸通路,并為用戶層行規的命令與應答提供傳輸服務;用戶層行規為裝置特征、功能特性和行為的規范。
NCSF基于ISO/IEC 8802.3物理層規范設計,利用網絡實現高速、高可靠實時數據和基于以太網的非實時數據的傳輸。通信由主設備發起,主要支持單個主設備和多個從設備間的數據通信、站號的自動分配、網絡拓撲結構檢測、廣播通信、基于廣播機制的集總幀通信服務、點對點通信服務、總線延時測量和時間戳服務。在確定的網絡拓撲結構下,從站設備對集總幀實時轉發保證了通信的實時性,而周期性控制為主站行為。
1.2 SoC及硬件簡介
SoC稱為系統級芯片,也有稱片上系統,意指它是一個產品,是一個有專用目標的集成電路,其中包含完整系統并有嵌入軟件的全部內容。
FPGA(Filed Programmable Gate Array)是用戶現場可編程門陣列集成電路的簡稱,它使用方便,改變邏輯功能易于實現,能夠滿足現代通信發展的需求。
MicroBlaze嵌入式軟核是一個被Xilinx公司優化過的可嵌入在FPGA中的RISC處理器軟核,運行速度高達150MHz,采用哈佛體系結構,具有獨立的32位指令總線和32位數據總線,非常適合設計針對網絡、電信、數據通信和消費市場的復雜嵌入式系統。
2 基于SoC的NCSF總線系統的架構設計
基于SoC的NCSF總線系統保留NCSF總線協議棧的用戶層行規在NC主機中實現,以用戶層行規接口的形式為伺服驅動、主軸驅動、I/O等從站提供通用的系統應用接口(API)。協議棧的應用層和數據鏈路層實現在FPGA內嵌的MicroBlaze處理器中,配合FPGA內部的高精度時鐘、CRC處理、PHY控制等硬邏輯模塊,實現NCSF總線通信控制功能。FPGA開發板使用PCI卡與用戶層行規接口程序通信,數據鏈路層封裝的數據最后經由以太網PHY芯片發送。具體層次結構如圖3所示。
圖3基于SoC的總線系統
2.1 NC主機用戶層行規接口的設計
用戶層行規通過定義命令與應答的數據結構,確保裝置間的互操作,支持面向應用的實現。根據開放式數控系統中裝置的參數與行為特性,用戶層行規包括管理、傳感器控制、驅動控制與I/O控制等部分。用戶層行規接口程序主要負責通信數據的接收與發送。在發送階段,程序首先讀取運動控制、PLC等模塊的命令,然后將其封裝成相應的命令數據結構,最后通過NC主機的PCI將數據結構發送到總線通信控制卡上;接收階段,程序首先讀取PCI上由總線通信控制卡發來的數據,然后將其解析為應答數據結構并傳送給相應的功能模塊。具體過程如圖4所示。
評論