本發(fā)明涉及數(shù)控機(jī)床總線控制領(lǐng)域,尤其涉及的是一種基于PCIE接口硬件板卡及基于PCIE的Mechatrolink-III(以下簡稱M-III)總線控制方法及系統(tǒng)。
背景技術(shù):
PCI-E,定義:PCI Express是新一代的總線接口?;靖拍睿篜CI Express的接口根據(jù)總線位寬不同而有所差異,包括X1、X4、X8以及X16(X2模式將用于內(nèi)部接口而非插槽模式)。較短的PCI Express卡可以插入較長的PCI Express插槽中使用。PCI Express接口能夠支持熱拔插,這也是個(gè)不小的飛躍。PCI Express卡支持的三種電壓分別為+3.3V、3.3Vaux以及+12V。
Mechatrolink是一個(gè)用在工業(yè)自動化的開放式通訊協(xié)定。Mechatrolink-III(以下簡稱M-III)是一種總線。
數(shù)控系統(tǒng)越來越多的采用總線控制方式,由于目前國內(nèi)安川伺服占有主要市場,M-III總線將會發(fā)揮很大作用;對于開放式數(shù)控系統(tǒng)PCIE接口是常用接口,基于PCIE設(shè)計(jì)出M-III總線控制方法將不會改動原有數(shù)控系統(tǒng)的硬件結(jié)構(gòu),易于實(shí)現(xiàn)。
因此,現(xiàn)有技術(shù)還有待于改進(jìn)和發(fā)展。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明要解決的技術(shù)問題在于,針對現(xiàn)有技術(shù)的上述缺陷,提供一種基于PCIE接口硬件板卡及基于PCIE的Mechatrolink-III(以下簡稱M-III)總線控制方法及系統(tǒng)。本發(fā)明的目的是通過PCIE總線接口實(shí)現(xiàn)Mechatrolink-III總線協(xié)議,改進(jìn)了數(shù)控系統(tǒng)的控制方式;本發(fā)明可以增強(qiáng)數(shù)控系統(tǒng)的實(shí)時(shí)性及更高效的任務(wù)調(diào)度。
本發(fā)明解決技術(shù)問題所采用的技術(shù)方案如下:
一種基于PCIE的Mechatrolink-III總線控制方法,其中,包括步驟:
A、設(shè)置一款具有PCIE接口硬件板卡,其中,所述具有PCIE接口硬件板卡包括FPGA芯片,Mechatrolink-III總線ASIC芯片,網(wǎng)口芯片,多個(gè)網(wǎng)口,以及鐵電存儲器;所述鐵電存儲器與所述FPGA芯片連接,所述FPGA芯片,Mechatrolink-III總線ASIC芯片,網(wǎng)口芯片依次連接,并且所述多個(gè)網(wǎng)口分別連接至所述網(wǎng)口芯片;
B、用板卡上FPGA芯片實(shí)現(xiàn)PCIE接口通訊協(xié)議,其中PCIE采用內(nèi)存操作模式,中斷采用電平觸發(fā)模式;
C、將Mechatrolink-III總線ASIC芯片的RAM地址映射到PCIE地址中,數(shù)據(jù)采用32位數(shù)據(jù)格式;
D、控制FPGA捕捉到Mechatrolink-III總線ASIC芯片產(chǎn)生的通訊周期中斷信號后,將該信號轉(zhuǎn)換成PCIE中斷信號,發(fā)送給數(shù)控系統(tǒng)主板;
E、數(shù)控系統(tǒng)接收到通訊周期中斷信號后,通過PCIE映射后地址讀寫Mechatrolink-III總線ASIC RAM中的響應(yīng)數(shù)據(jù)和命令數(shù)據(jù);
F、通訊周期中斷信號使能板卡32位的只讀計(jì)時(shí)器寄存器復(fù)位,然后以設(shè)定的時(shí)鐘開始計(jì)數(shù),并控制在控制周期內(nèi)計(jì)時(shí)器寄存器不溢出;
G、數(shù)控系統(tǒng)在通訊周期中斷信號到來前,讀取上述計(jì)時(shí)器寄存器,完成數(shù)控系統(tǒng)的任務(wù)調(diào)度。
所述的基于PCIE的Mechatrolink-III總線控制方法,其中,還包括步驟:
控制周期同步信號由Mechatrolink-III ASIC產(chǎn)生,經(jīng)FPGA采集處理,然后產(chǎn)生PCIE傳統(tǒng)電平中斷,發(fā)送給數(shù)控系統(tǒng)接收中斷后產(chǎn)生中斷清除信號,然后將接收反饋數(shù)據(jù)及發(fā)送新的指令,這樣結(jié)束一個(gè)完整的控制周期。
所述的基于PCIE的Mechatrolink-III總線控制方法,其中,所述方法基于PCIE接口完成Mechatrolink-III總線協(xié)議數(shù)據(jù)收發(fā)。
所述的基于PCIE的Mechatrolink-III總線控制方法,其中,所述步驟C還包括:通過將Mechatrolink-III總線ASIC芯片中數(shù)據(jù)地址映射到PCIE地址中,數(shù)控系統(tǒng)通過操作PCIE地址數(shù)據(jù)來讀寫M-III ASIC地址數(shù)據(jù)。
所述的基于PCIE的Mechatrolink-III總線控制方法,其中,還包括:通過實(shí)現(xiàn)板卡定時(shí)器來將控制周期時(shí)間,數(shù)控系統(tǒng)讀取定時(shí)器時(shí)間,得到在控制周期內(nèi)所處時(shí)間位置,以進(jìn)行數(shù)控系統(tǒng)的任務(wù)調(diào)度。
所述的基于PCIE的Mechatrolink-III總線控制方法,其中,所述步驟A還包括:
所述FPGA芯片用于進(jìn)行PCIE接口協(xié)議數(shù)據(jù)解析,將數(shù)據(jù)轉(zhuǎn)換后寫入Mechatrolink-III總線ASIC芯片中,再由Mechatrolink-III總線ASIC芯片將數(shù)據(jù)以總線格式發(fā)送到各個(gè)從設(shè)備中;
將Mechatrolink-III總線ASIC芯片中數(shù)據(jù)地址映射到PCIE數(shù)據(jù)地址中,數(shù)控系統(tǒng)通過讀寫PCIE地址來讀寫Mechatrolink-III總線ASIC芯片中的數(shù)據(jù)。
所述的基于PCIE的Mechatrolink-III總線控制方法,其中,所述ASIC芯片是一種集成電路芯片.
一種基于PCIE的Mechatrolink-III總線控制系統(tǒng),其中,包括:
預(yù)先設(shè)置模塊,用于設(shè)置一款具有PCIE接口硬件板卡,其中,所述具有PCIE接口硬件板卡包括FPGA芯片,Mechatrolink-III總線ASIC芯片,網(wǎng)口芯片,多個(gè)網(wǎng)口,以及鐵電存儲器;所述鐵電存儲器與所述FPGA芯片連接,所述FPGA芯片,Mechatrolink-III總線ASIC芯片,網(wǎng)口芯片依次連接,并且所述多個(gè)網(wǎng)口分別連接至所述網(wǎng)口芯片;
FPGA控制模塊,用于控制用板卡上FPGA芯片實(shí)現(xiàn)PCIE接口通訊協(xié)議,其中PCIE采用內(nèi)存操作模式,中斷采用電平觸發(fā)模式;
地址映射模塊,用于將Mechatrolink-III總線ASIC芯片的RAM地址映射到PCIE地址中,數(shù)據(jù)采用32位數(shù)據(jù)格式;
捕捉模塊,用于控制FPGA捕捉到Mechatrolink-III總線ASIC芯片產(chǎn)生的通訊周期中斷信號后,將該信號轉(zhuǎn)換成PCIE中斷信號,發(fā)送給數(shù)控系統(tǒng)主板;
讀寫模塊,用于控制數(shù)控系統(tǒng)接收到通訊周期中斷信號后,通過PCIE映射后地址讀寫M-III ASIC RAM中的響應(yīng)數(shù)據(jù)和命令數(shù)據(jù);
只讀控制模塊,用于控制通訊周期中斷信號使能板卡32位的只讀計(jì)時(shí)器寄存器復(fù)位,然后以設(shè)定的時(shí)鐘開始計(jì)數(shù),并控制在控制周期內(nèi)計(jì)時(shí)器寄存器不溢出;
計(jì)時(shí)器寄存器讀取控制單元,用于控制數(shù)控系統(tǒng)在通訊周期中斷信號到來前,讀取上述計(jì)時(shí)器寄存器,完成數(shù)控系統(tǒng)的任務(wù)調(diào)度。
一種基于PCIE接口硬件板卡,其中,包括FPGA芯片,Mechatrolink-III總線ASIC芯片,網(wǎng)口芯片,多個(gè)網(wǎng)口,以及鐵電存儲器;所述鐵電存儲器與所述FPGA芯片連接,所述FPGA芯片,Mechatrolink-III總線ASIC芯片,網(wǎng)口芯片依次連接,并且所述多個(gè)網(wǎng)口分別連接至所述網(wǎng)口芯片,
所述FPGA芯片用于進(jìn)行PCIE接口協(xié)議數(shù)據(jù)解析,將數(shù)據(jù)轉(zhuǎn)換后寫入Mechatrolink-III總線ASIC芯片中,再由Mechatrolink-III總線ASIC芯片將數(shù)據(jù)以總線格式發(fā)送到各個(gè)從設(shè)備中;
將Mechatrolink-III總線ASIC芯片中數(shù)據(jù)地址映射到PCIE數(shù)據(jù)地址中,數(shù)控系統(tǒng)通過讀寫PCIE地址來讀寫Mechatrolink-III總線ASIC芯片中的數(shù)據(jù)。
所述的基于PCIE接口硬件板卡,其中,所述ASIC芯片是一種集成電路芯片
本發(fā)明所提供的基于PCIE接口硬件板卡及基于PCIE的Mechatrolink-III(以下簡稱M-III)總線控制方法及系統(tǒng),本發(fā)明的目的是通過PCIE總線接口實(shí)現(xiàn)Mechatrolink-III總線協(xié)議,改進(jìn)了數(shù)控系統(tǒng)的控制方式;本發(fā)明可以增強(qiáng)數(shù)控系統(tǒng)的實(shí)時(shí)性及更高效的任務(wù)調(diào)度。
附圖說明
圖1是本發(fā)明實(shí)施的一種基于PCIE的Mechatrolink-III總線控制方法流程圖。
圖2是本發(fā)明一種基于PCIE接口硬件板卡的較佳實(shí)施例的結(jié)構(gòu)示意圖。
圖3所示為PCIE地址與M-III ASIC地址關(guān)系結(jié)構(gòu)示意圖。
圖4為所述方法實(shí)施例中所示為當(dāng)數(shù)控系統(tǒng)當(dāng)前時(shí)間所處在控制周期位置結(jié)構(gòu)示意圖。
圖5是本發(fā)明實(shí)施的一種基于PCIE的Mechatrolink-III總線控制系統(tǒng)功能原理框圖。
具體實(shí)施方式
為使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚、明確,以下參照附圖并舉實(shí)施例對本發(fā)明進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
請參見圖2,圖2是本發(fā)明一種基于PCIE接口硬件板卡的較佳實(shí)施例的結(jié)構(gòu)示意圖。如圖2所示,本發(fā)明第一實(shí)施例提供的一種基于PCIE接口硬件板卡,包括FPGA(現(xiàn)場可編程門陣列)芯片,M-III ASIC芯片,網(wǎng)口芯片,多個(gè)網(wǎng)口,以及FRAM存儲器,
其中,F(xiàn)PGA芯片為現(xiàn)場可編程門陣列,M-III ASIC芯片是Mechatrolink-III總線ASIC芯片。其中ASIC是Application Specific Integrated Circuit的英文縮寫,在集成電路界被認(rèn)為是一種為專門目的而設(shè)計(jì)的集成電路。FRAM存儲器為鐵電存儲器。
本發(fā)明中,所述FRAM存儲器與所述FPGA芯片連接,所述FPGA芯片,M-III ASIC芯片,網(wǎng)口芯片依次連接,并且多個(gè)網(wǎng)口分別連接至所述網(wǎng)口芯片,本發(fā)明中FPGA完成PCIE接口協(xié)議數(shù)據(jù)解析,將數(shù)據(jù)轉(zhuǎn)換后寫入M-III ASIC芯片中,再由M-III ASIC芯片將數(shù)據(jù)以總線格式發(fā)送到各個(gè)從設(shè)備中。
本發(fā)明設(shè)計(jì)中將M-III ASIC芯片中數(shù)據(jù)地址映射到PCIE數(shù)據(jù)地址中,因此數(shù)控系統(tǒng)將通過讀寫PCIE地址來讀寫M-III ASIC中的數(shù)據(jù)。
本發(fā)明設(shè)計(jì)中完成了基于板載時(shí)鐘的定時(shí)器,數(shù)控系統(tǒng)通過PCIE可以讀該定時(shí)器以此判斷所處在控制周期的時(shí)間。
參照圖1,圖1是本發(fā)明實(shí)施的一種基于PCIE的Mechatrolink-III總線控制方法流程圖。如圖1所示,本發(fā)明實(shí)施還提供了一種基于PCIE的Mechatrolink-III(以下簡稱M-III)總線控制方法,本發(fā)明方法具體實(shí)現(xiàn)包括以下步驟:
S10、設(shè)置一款具有PCIE接口硬件板卡,其中,所述具有PCIE接口硬件板卡包括FPGA芯片,Mechatrolink-III總線ASIC芯片,網(wǎng)口芯片,多個(gè)網(wǎng)口,以及鐵電存儲器;所述鐵電存儲器與所述FPGA芯片連接,所述FPGA芯片,Mechatrolink-III總線ASIC芯片,網(wǎng)口芯片依次連接,并且所述多個(gè)網(wǎng)口分別連接至所述網(wǎng)口芯片;如圖2所示,本發(fā)明在具體實(shí)施時(shí)需要預(yù)先設(shè)置一款圖2實(shí)施例所述的基于PCIE接口硬件板卡,具體在如上所述。
S20、用板卡上FPGA芯片實(shí)現(xiàn)PCIE接口通訊協(xié)議,其中PCIE采用內(nèi)存操作模式,中斷采用電平觸發(fā)模式;
S30、將Mechatrolink-III總線ASIC芯片的RAM地址映射到PCIE地址中,數(shù)據(jù)采用32位數(shù)據(jù)格式。即將M-III ASIC芯片(Mechatrolink-III總線ASIC芯片)RAM地址映射到PCIE地址中,數(shù)據(jù)采用32位數(shù)據(jù)格式;
S40、控制FPGA捕捉到Mechatrolink-III總線ASIC芯片產(chǎn)生的通訊周期中斷信號后,將該信號轉(zhuǎn)換成PCIE中斷信號,發(fā)送給數(shù)控系統(tǒng)主板;
S50、數(shù)控系統(tǒng)接收到通訊周期中斷信號后,通過PCIE映射后地址讀寫Mechatrolink-III總線ASIC RAM中的響應(yīng)數(shù)據(jù)和命令數(shù)據(jù);
S60、通訊周期中斷信號使能板卡32位的只讀計(jì)時(shí)器寄存器復(fù)位,然后以設(shè)定的時(shí)鐘開始計(jì)數(shù),并控制在控制周期內(nèi)計(jì)時(shí)器寄存器不溢出;
S70、數(shù)控系統(tǒng)在通訊周期中斷信號到來前,讀取上述計(jì)時(shí)器寄存器,完成數(shù)控系統(tǒng)的任務(wù)調(diào)度。
本發(fā)明實(shí)施中與數(shù)控系統(tǒng)之間采用PCIE協(xié)議通訊,板卡將數(shù)據(jù)解析后按照M-III總線數(shù)據(jù)格式發(fā)送到各從設(shè)備中。
圖2是本發(fā)明一種基于PCIE接口硬件板卡的較佳實(shí)施例的結(jié)構(gòu)示意圖,其中數(shù)據(jù)由開放式控制系統(tǒng)產(chǎn)生,經(jīng)過PCIE接口發(fā)送到本發(fā)明實(shí)施所述的板卡中,經(jīng)過FPGA轉(zhuǎn)換將數(shù)據(jù)發(fā)送到Mechatrolink-III ASIC芯片中,再由ASIC芯片通過網(wǎng)口發(fā)送到各從設(shè)備中;控制周期同步信號由Mechatrolink-III ASIC產(chǎn)生,經(jīng)FPGA采集處理,然后產(chǎn)生PCIE傳統(tǒng)電平中斷,數(shù)控系統(tǒng)接收中斷后產(chǎn)生中斷清除信號,然后將接收反饋數(shù)據(jù)及發(fā)送新的指令,這樣結(jié)束一個(gè)完整的控制周期。
圖3所示為PCIE地址與M-III ASIC地址關(guān)系結(jié)構(gòu)示意圖,當(dāng)數(shù)控系統(tǒng)讀寫M-III ASIC中數(shù)據(jù)時(shí),只要讀寫PCIE對應(yīng)地址即可。其中:
第一個(gè):0xFC00-0xFCFF,對應(yīng)為地址映射參數(shù);
第二個(gè):0xFB00-0xFBFF,對應(yīng)為通訊參數(shù);
第三個(gè):0x8034+rbadr,對應(yīng)為響應(yīng)數(shù)據(jù)開始地址;
第四個(gè):0x8034+cbadr,對應(yīng)為命令數(shù)據(jù)開始地址;
第五個(gè):0x0036C,對應(yīng)為響應(yīng)首地址寄存器(rbadr);
第六個(gè):0x0038,對應(yīng)為命令首地址寄存器(cbadr);
而圖4所示為當(dāng)數(shù)控系統(tǒng)需要知道當(dāng)前時(shí)間所處在控制周期位置時(shí),可以讀板載定時(shí)器時(shí)間,該方法可以將控制周期細(xì)分,有助于數(shù)控系統(tǒng)的任務(wù)調(diào)度。
本發(fā)明實(shí)施例所述的基于PCIE的Mechatrolink-III總線控制方法,采用基于PCIE接口完成M-III總線協(xié)議數(shù)據(jù)收發(fā)。通過將M-III ASIC數(shù)據(jù)地址映射到PCIE地址中,數(shù)控系統(tǒng)通過操作PCIE地址數(shù)據(jù)來讀寫M-III ASIC地址數(shù)據(jù)。以及通過實(shí)現(xiàn)板卡定時(shí)器來將控制周期時(shí)間細(xì)化,數(shù)控系統(tǒng)讀取定時(shí)器時(shí)間將可以準(zhǔn)確知道在控制周期內(nèi)所處時(shí)間位置,有助于數(shù)控系統(tǒng)的任務(wù)調(diào)度。
基于上述方法實(shí)施例,本發(fā)明還提供了一種基于PCIE的Mechatrolink-III總線控制系統(tǒng),如圖5所示,所述系統(tǒng)包括:
預(yù)先設(shè)置模塊210,用于設(shè)置一款具有PCIE接口硬件板卡,其中,所述具有PCIE接口硬件板卡包括FPGA芯片,Mechatrolink-III總線ASIC芯片,網(wǎng)口芯片,多個(gè)網(wǎng)口,以及鐵電存儲器;所述鐵電存儲器與所述FPGA芯片連接,所述FPGA芯片,Mechatrolink-III總線ASIC芯片,網(wǎng)口芯片依次連接,并且所述多個(gè)網(wǎng)口分別連接至所述網(wǎng)口芯片;具體如上所述。
FPGA控制模塊220,用于控制用板卡上FPGA芯片實(shí)現(xiàn)PCIE接口通訊協(xié)議,其中PCIE采用內(nèi)存操作模式,中斷采用電平觸發(fā)模式;具體如上所述。
地址映射模塊230,用于將Mechatrolink-III總線ASIC芯片的RAM地址映射到PCIE地址中,數(shù)據(jù)采用32位數(shù)據(jù)格式;具體如上所述。
捕捉模塊240,用于控制FPGA捕捉到Mechatrolink-III總線ASIC芯片產(chǎn)生的通訊周期中斷信號后,將該信號轉(zhuǎn)換成PCIE中斷信號,發(fā)送給數(shù)控系統(tǒng)主板;具體如上所述。
讀寫模塊250,用于控制數(shù)控系統(tǒng)接收到通訊周期中斷信號后,通過PCIE映射后地址讀寫M-III ASIC RAM中的響應(yīng)數(shù)據(jù)和命令數(shù)據(jù);具體如上所述。
只讀控制模塊260,用于控制通訊周期中斷信號使能板卡32位的只讀計(jì)時(shí)器寄存器復(fù)位,然后以設(shè)定的時(shí)鐘開始計(jì)數(shù),并控制在控制周期內(nèi)計(jì)時(shí)器寄存器不溢出;具體如上所述。
計(jì)時(shí)器寄存器讀取控制單元270,用于控制數(shù)控系統(tǒng)在通訊周期中斷信號到來前,讀取上述計(jì)時(shí)器寄存器,完成數(shù)控系統(tǒng)的任務(wù)調(diào)度;具體如上所述。
綜上所述,本發(fā)明所提供的基于PCIE接口硬件板卡及基于PCIE的Mechatrolink-III(以下簡稱M-III)總線控制方法及系統(tǒng),本發(fā)明的目的是通過PCIE總線接口實(shí)現(xiàn)Mechatrolink-III總線協(xié)議,改進(jìn)了數(shù)控系統(tǒng)的控制方式;本發(fā)明可以增強(qiáng)數(shù)控系統(tǒng)的實(shí)時(shí)性及更高效的任務(wù)調(diào)度。
當(dāng)然,本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例方法中的全部或部分流程,是可以通過計(jì)算機(jī)程序來指令相關(guān)硬件(如處理器,控制器等)來完成,所述的程序可存儲于一計(jì)算機(jī)可讀取的存儲介質(zhì)中,該程序在執(zhí)行時(shí)可包括如上述各方法實(shí)施例的流程。其中所述的存儲介質(zhì)可為存儲器、磁碟、光盤等。
應(yīng)當(dāng)理解的是,本發(fā)明的應(yīng)用不限于上述的舉例,對本領(lǐng)域普通技術(shù)人員來說,可以根據(jù)上述說明加以改進(jìn)或變換,所有這些改進(jìn)和變換都應(yīng)屬于本發(fā)明所附權(quán)利要求的保護(hù)范圍。