張贊秋 吳 超 江世琳 高 巖 李 俊
(大連光洋科技工程有限公司,遼寧大連 116600)
GLINK協(xié)議是光洋公司根據(jù)數(shù)控實(shí)際生產(chǎn)需要自主開(kāi)發(fā)的一套串行實(shí)時(shí)高速的數(shù)據(jù)通信協(xié)議標(biāo)準(zhǔn)。由于該標(biāo)準(zhǔn)中所有的數(shù)據(jù)結(jié)構(gòu)和鏈路標(biāo)準(zhǔn)都系光洋自主提出,且和其他的數(shù)控協(xié)議標(biāo)準(zhǔn)不完全兼容,因而市面上常見(jiàn)各種協(xié)議芯片都不能用來(lái)進(jìn)行GLINK協(xié)議的解析。
市場(chǎng)上常見(jiàn)的SERCOS、ProfiBus等數(shù)控領(lǐng)域現(xiàn)場(chǎng)總線控制器都是通過(guò)專(zhuān)用的協(xié)議芯片來(lái)完成控制功能的。這些協(xié)議芯片和上位機(jī)之間通信和交換數(shù)據(jù)都是通過(guò)主板的板上總線實(shí)現(xiàn)實(shí)時(shí)數(shù)據(jù)交換的。但是這些芯片本身不帶有適合主板板上總線(通常是PCI總線)的總線控制部分,因而需要橋芯片來(lái)完成主板板上總線的數(shù)據(jù)轉(zhuǎn)換。這會(huì)給硬件系統(tǒng)設(shè)計(jì)帶來(lái)如下問(wèn)題:(1)成本高;(2)硬件設(shè)計(jì)復(fù)雜;(3)調(diào)試復(fù)雜。
使用的仿真器件為FPGA,采用VHDL語(yǔ)言編程,保證編寫(xiě)代碼的可移植性。
采用自下而上的方法,按照功能劃分模塊,分別用VHDL編寫(xiě)小的功能模塊。頂層的文件采用VHDL語(yǔ)言的map方式連接,這樣文件的可移植性好,而且便于后來(lái)者讀懂。
內(nèi)部模塊框圖如圖1所示。根據(jù)功能設(shè)計(jì)要求,該芯片內(nèi)部主要包含如下幾個(gè)模塊的設(shè)計(jì):
完成主板總線和芯片內(nèi)部其他部分的數(shù)據(jù)交換??偩€有效時(shí)將總線數(shù)據(jù)解析存儲(chǔ)到外部高速數(shù)據(jù)緩存區(qū),供數(shù)控總線協(xié)議部分讀取;從高速數(shù)據(jù)緩沖區(qū)讀取從設(shè)備反饋數(shù)據(jù),通過(guò)主板總線傳送給上位機(jī)軟件。
在插補(bǔ)周期內(nèi),讀取高速數(shù)據(jù)緩沖區(qū)數(shù)據(jù),轉(zhuǎn)化成系統(tǒng)采用的數(shù)控協(xié)議,發(fā)送到從設(shè)備;讀取從設(shè)備數(shù)據(jù),解析提取成主板總線能夠接受的形式存放到高速數(shù)據(jù)緩沖區(qū),等待主板總線讀取。
完成對(duì)外部高速緩存區(qū)的讀寫(xiě)控制。
完成對(duì)機(jī)床數(shù)據(jù)存儲(chǔ)區(qū)的讀寫(xiě)控制。
完成對(duì)所采用總線物理層芯片的控制。
完成該芯片所在板卡的板上電源部分的監(jiān)控。
通過(guò)主板總線對(duì)上位機(jī)軟件的狀態(tài)完成判斷,并通過(guò)數(shù)控總線對(duì)從設(shè)備的狀態(tài)和反饋的外部信息進(jìn)行綜合判斷,給出數(shù)控使能信號(hào),用于機(jī)床強(qiáng)電,可靠性以及安全方面的控制。
由于主板總線的時(shí)鐘周期和數(shù)控協(xié)議控制部分的時(shí)鐘周期不能夠完全達(dá)到同步,同時(shí)數(shù)控協(xié)議的總線傳輸速率非常高,會(huì)形成大量的數(shù)據(jù)。因此需要在芯片外部提供一個(gè)大容量的RAM,保證數(shù)據(jù)交換的順暢,防止出現(xiàn)數(shù)據(jù)訪問(wèn)沖突和不同步。所以在芯片內(nèi)部做了外部總線接口用來(lái)交互數(shù)據(jù)。同時(shí)由于每臺(tái)機(jī)床的初始化時(shí)期,都會(huì)有針對(duì)不通的伺服驅(qū)動(dòng)器和電動(dòng)機(jī)的配置參數(shù),通常這些參數(shù)應(yīng)該是系統(tǒng)斷電之后不丟失的,機(jī)床重新上電之后通過(guò)PCI訪問(wèn)這些數(shù)據(jù),以確認(rèn)自己本身目前的配置是否正常。因此在GDS06B芯片內(nèi)部還設(shè)計(jì)了一個(gè)訪問(wèn)外部帶電池的SRAM的總線控制接口。
數(shù)控軟件通過(guò)PCI總線接口訪問(wèn)GDS06B芯片,PCI總線控制器分析這些數(shù)據(jù)轉(zhuǎn)化成GLINK模塊能夠接受的數(shù)據(jù)存儲(chǔ)到共享RAM區(qū),GLINK控制器在插補(bǔ)始終周期之內(nèi)將該數(shù)據(jù)讀走,并完成GLINK協(xié)議解析,把數(shù)據(jù)發(fā)送到GLINK從設(shè)備,以進(jìn)行相應(yīng)的控制;從設(shè)備的數(shù)據(jù)在固定的插補(bǔ)周期返回到GLINK控制器,GLINK控制器接收這些數(shù)據(jù)并把它們放進(jìn)共享RAM區(qū)間,下一個(gè)PCI始終周期PCI總線控制器讀取這些數(shù)據(jù),并把它們返回給CNC軟件,完成一個(gè)控制循環(huán)。
與傳統(tǒng)的技術(shù)方案相比,采用PCI-GLINK技術(shù)方案具有以下優(yōu)勢(shì):
(1)單片集成。芯片中集成了主板總線控制器和數(shù)控總線協(xié)議解析以及物理層控制等主要部分。
(2)功耗低。所采用FPGA為低功耗產(chǎn)品,同時(shí)由于提高集成度,板上芯片減少,功耗自然降低。
(3)有效的簡(jiǎn)化電路設(shè)計(jì)。單芯片電路設(shè)計(jì)簡(jiǎn)單。
(4)降低調(diào)試復(fù)雜度。單芯片電路調(diào)試簡(jiǎn)單。
(5)降低成本。
[1]夏繼強(qiáng),邢春香,耿春明,等.工業(yè)現(xiàn)場(chǎng)總線技術(shù)的新進(jìn)展[J].北京航空航天大學(xué)學(xué)報(bào),2004(4).
[2]Armstrong Jamas R,Gray F Gail.VHDL design representation and synthesis[M].2rd ed.
[3]郇極,尹旭峰.基于數(shù)字伺服現(xiàn)場(chǎng)總線技術(shù)的開(kāi)放式數(shù)控系統(tǒng)[J].中國(guó)機(jī)械工程,1999,10(10).
[4]程曉琳,徐用懋.現(xiàn)場(chǎng)總線控制網(wǎng)絡(luò)模型與網(wǎng)絡(luò)集成[J].測(cè)控技術(shù),2000(1).
[5]康存鋒,陳衛(wèi)福,費(fèi)仁元,等.SERCOS技術(shù)在機(jī)床數(shù)控上的應(yīng)用[J].制造技術(shù)與機(jī)床,2003(12).