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