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