黃復(fù)清 林維鵬
摘 要: 根據(jù)激光加工系統(tǒng)的工作特點(diǎn)和要求,以DSP芯片TMS32028335作為主控制芯片,對(duì)加工數(shù)據(jù)進(jìn)行運(yùn)算處理,實(shí)現(xiàn)插補(bǔ)算法;以FPGA芯片EP2C8Q208C8N為輔助芯片, 利用FPGA芯片中的FIFO緩存處理好的加工信息,從而更好地滿足激光加工系統(tǒng)的實(shí)時(shí)性要求,最終實(shí)現(xiàn)具備多軸協(xié)調(diào)運(yùn)動(dòng)及對(duì)系統(tǒng)狀態(tài)實(shí)時(shí)監(jiān)控,并且可以獨(dú)立于PC機(jī)運(yùn)行的控制器設(shè)計(jì)。
關(guān)鍵詞: DSP; FPGA; FIFO; 運(yùn)動(dòng)控制器; 激光加工
中圖分類號(hào): TN911.7?34; TP271 文獻(xiàn)標(biāo)識(shí)碼: A 文章編號(hào): 1004?373X(2014)11?0135?03
Abstract: According to the characteristics and requests of laser?processing system, DSP chip TMS320F28335, as main control chip, is used to compute the processing data and realize the interpolation algorithm. By taking FPGA chip EP2C8Q208C8N as assistance, the processing information processed by FIFO buffer in FPGA chip EP2C8Q208C8N is utilized to meet the real?time requirements of laser?processing system. At last, the design of the controller which can execute multi?axis coordinated motion, system's real?time status monitoring and operation independent of PC was realized.
Keywords: DSP; FPGA; FIFO; motion controller; laser processing
在激光數(shù)控加工系統(tǒng)中,運(yùn)動(dòng)控制器的設(shè)計(jì)占據(jù)極其重要的位置,其性能的好壞影響到工件的加工質(zhì)量?,F(xiàn)在的激光數(shù)控加工系統(tǒng)中的運(yùn)動(dòng)控制器,大多數(shù)采用“PC機(jī)+運(yùn)動(dòng)控制卡”的模式[1?2]。然而,這類激光加工系統(tǒng)的控制器由PC機(jī)通過ISA總線或者PCI局部總線來(lái)實(shí)現(xiàn)直接對(duì)電機(jī)的控制,從而導(dǎo)致了激光加工系統(tǒng)過多依賴于PC機(jī),使激光加工系統(tǒng)在脫離PC機(jī)后無(wú)法正常工作。而且,這類激光加工控制器的運(yùn)動(dòng)控制模塊和激光系統(tǒng)狀態(tài)監(jiān)控模塊獨(dú)立分開,集成度不高。為克服現(xiàn)有激光系統(tǒng)控制器的缺點(diǎn),根據(jù)現(xiàn)有的控制器模式——“DSP+FPGA”模式[3?7],筆者采用TI公司的TMS320F28335和ALTERA公司的EP2C8Q208C8N來(lái)實(shí)現(xiàn)一種集成度高,同時(shí)可獨(dú)立于PC機(jī)運(yùn)行的集成激光控制器。
1 系統(tǒng)體系概述
集成控制器系統(tǒng)硬件平臺(tái)主要包括:主控模塊、通信接口模塊、外擴(kuò)存儲(chǔ)器模塊、DAC模塊、機(jī)構(gòu)狀態(tài)監(jiān)控模塊、電機(jī)控制信號(hào)接口模塊。系統(tǒng)可工作在手動(dòng)模式和自動(dòng)加工模式,當(dāng)系統(tǒng)工作在手動(dòng)模式時(shí),控制器通過CAN總線接收來(lái)自PC機(jī)或工業(yè)觸摸屏的操作指令,對(duì)被控對(duì)象的相關(guān)參數(shù)進(jìn)行設(shè)定及控制;當(dāng)系統(tǒng)工作在自動(dòng)加工模式時(shí),控制器通過CAN總線接收來(lái)自PC機(jī)加工數(shù)據(jù),根據(jù)加工信息進(jìn)行速度處理和插補(bǔ)算法運(yùn)算,從而生成插補(bǔ)脈沖給運(yùn)動(dòng)執(zhí)行單元及激光器的電源控制信號(hào)。而且,控制器在完成加工數(shù)據(jù)接收后,可以獨(dú)立于PC機(jī)而正常運(yùn)行。
系統(tǒng)的核心芯片采用TI公司C2000系列具有32位浮點(diǎn)數(shù)處理單元的TMS320F2833和ALTERA公司的EP2C8Q208C8N。DSP主要對(duì)加工數(shù)據(jù)進(jìn)行運(yùn)算處理、對(duì)被控對(duì)象進(jìn)行參數(shù)設(shè)定及生成控制信號(hào);同時(shí)FPGA利用內(nèi)部FIFO對(duì)來(lái)自DSP處理好的插補(bǔ)脈沖信息進(jìn)行緩存并輸出、對(duì)系統(tǒng)的狀態(tài)信號(hào)進(jìn)行監(jiān)控及實(shí)現(xiàn)其他相關(guān)邏輯控制。其中,DSP和FPGA通過XINTF接口進(jìn)行信息交換,系統(tǒng)體系機(jī)構(gòu)如圖1所示。
2 硬件設(shè)計(jì)
2.1 DSP模塊外圍電路設(shè)計(jì)
TMS320F28335是TI公司TMS320C28X系列的一款具有32位浮點(diǎn)數(shù)處理單元的控制器。它采用高性能靜態(tài)CMOS技術(shù),最高主頻高達(dá)150 MHz,對(duì)應(yīng)的指令周期為6.67 ns,低功耗(內(nèi)核電壓為1.8 V,通用I/O口電壓為3.3 V),哈佛總線架構(gòu),統(tǒng)一存儲(chǔ)器編程模型,具有快速中斷響應(yīng)和處理能力,具有超過2M×16 b尋址范圍的16位或32位外部接口(XINTF),可尋址空間達(dá)到4M×16 b,片內(nèi)FLASH為256K×16 b,具有豐富的片上外設(shè)資源等[8]。
DSP模塊的外圍電路主要包括電源電路、存儲(chǔ)器擴(kuò)展、通信接口、與FPGA連接接口及DAC電路。
2.1.1 電源電路設(shè)計(jì)
對(duì)于主控芯片DSP供電要求,TI的DSP采用了雙電源供電,其CPU內(nèi)核電壓為1.8 V,接口電壓為3.3 V,根據(jù)電源的需求,在電源模塊的設(shè)計(jì)中采用TPS767D301芯片將5 V轉(zhuǎn)換得到1.8 V和3.3 V電壓分別供給DSP內(nèi)核和DSP的I/O及拓展芯片。此外,采用A0515S?2W將5 V轉(zhuǎn)換得到±15 V給DAC7724芯片供電,同時(shí)采用AD578將±15 V轉(zhuǎn)換得到±10 V為DAC7724提供基準(zhǔn)電源。
2.1.2 SRAM擴(kuò)展
系統(tǒng)在加工數(shù)據(jù)運(yùn)算處理過程中產(chǎn)生大量的臨時(shí)數(shù)據(jù),如果這些數(shù)據(jù)都由DSP片內(nèi)RAM來(lái)承擔(dān)的話,那么會(huì)增加DSP的負(fù)擔(dān),因此采用CYPRESS公司的CY7C1061AV33?10ZXI對(duì)系統(tǒng)的數(shù)據(jù)存儲(chǔ)空間進(jìn)行擴(kuò)展,將其地址映射到DSP的ZONE7。CY7C1061AV33?10ZXI是1M×16 b的高性能CMOS靜態(tài)存儲(chǔ)器,基本上能夠滿足系統(tǒng)對(duì)數(shù)據(jù)空間要求。
2.1.3 FLASH擴(kuò)展
由于系統(tǒng)的加工信息數(shù)據(jù)量很大,為了能夠?qū)崿F(xiàn)激光系統(tǒng)加工的連續(xù)性,利用TMS320F28335的SPI接口擴(kuò)展256 Mb的串行FLASH存儲(chǔ)器MX25L25635E。MX25L25635E是MACRONIX公司的可配置成標(biāo)準(zhǔn)4線的SPI總線接口,正常讀的速度達(dá)到50 MHz,工作電壓為2.7~3.6 V,可擦除/編程的次數(shù)達(dá)100 000次。
2.1.4 通信接口設(shè)計(jì)
通信接口包括RS 232接口和CAN總線接口,采用RS 232接口以實(shí)現(xiàn)對(duì)激光器進(jìn)行參數(shù)設(shè)定及調(diào)試,利用芯片MAX232ACPE實(shí)現(xiàn)TTL電平到RS 232電平轉(zhuǎn)換;系統(tǒng)采用CAN接口來(lái)實(shí)現(xiàn)與PC機(jī)的通信,CAN總線強(qiáng)大的抗干擾能力保證了加工數(shù)據(jù)傳輸?shù)目煽啃訹9],選用芯片TJA1050作為CAN收發(fā)器。
2.1.5 DAC模塊設(shè)計(jì)
由于激光器能量的控制需要模擬電壓作為控制信號(hào),而TMS320F28335內(nèi)部沒有D/A轉(zhuǎn)換模塊,芯片的輸出只能是數(shù)字量,因此需要為控制器提供一個(gè)D/A模塊,以完成控制器上數(shù)字量到模擬量的轉(zhuǎn)換。選用TI公司型號(hào)為DAC7724的D/A轉(zhuǎn)換芯片,該芯片為12位并行、4通道的D/A轉(zhuǎn)換器轉(zhuǎn)化過程建立時(shí)間10 μs,能夠滿足控制精度及實(shí)時(shí)性的要求。
2.1.6 與FPGA接口設(shè)計(jì)
通過TMS320F28335的XINTF接口連接FPGA的I/O,在FPGA內(nèi)部實(shí)現(xiàn)寄存器映射到DSP的ZONE0,從而使得TMS320F28335可以如同訪問其片上外設(shè)一樣快速方便地訪問FPGA,F(xiàn)PGA和DSP的連接如圖2所示。
2.2 FPGA模塊電路設(shè)計(jì)
EP2C8Q208C8N是ALTERA公司Cyclone Ⅱ系列低成本FPGA中的一款,主要用于對(duì)成本敏感的系統(tǒng)設(shè)計(jì)。Cyclone Ⅱ系列FPGA是基于SRATIX的工藝架構(gòu),其內(nèi)部有鎖相環(huán),RAM模塊。EP2C8Q208C8N內(nèi)部含有8 256個(gè)邏輯單元(LE);138個(gè)通用I/O;36個(gè)M4K嵌入式RAM(每個(gè)RAM塊有4 608位),可以實(shí)現(xiàn)真正的雙端口、簡(jiǎn)單雙端口,單端口RAM和FIFO,可以支持移位寄存器和ROM方式[10]。
FPGA主要實(shí)現(xiàn)的功能模塊有:系統(tǒng)狀態(tài)監(jiān)控模塊,碼盤反饋模塊、數(shù)據(jù)接口模塊及地址譯碼模塊。使用FPGA可以簡(jiǎn)化外圍電路設(shè)計(jì),同時(shí)解決了因TMS320F28335為3.3 V供電不能與5 V器件相兼容而導(dǎo)致的邏輯電平不兼容的問題。
2.2.1 系統(tǒng)狀態(tài)監(jiān)控模塊
系統(tǒng)狀態(tài)監(jiān)控模塊主要實(shí)現(xiàn)對(duì)系統(tǒng)各個(gè)規(guī)格的電源狀態(tài)及機(jī)械機(jī)構(gòu)的極限狀況進(jìn)行監(jiān)控;在該模塊中,為消除因抖動(dòng)和干擾可能產(chǎn)生的誤判斷,首先通過FPGA內(nèi)部的觸發(fā)器對(duì)輸入信號(hào)進(jìn)行延時(shí)。當(dāng)檢測(cè)到警告信號(hào)時(shí),F(xiàn)PGA通過觸發(fā)DSP外部中斷來(lái)將警告情況告知主控制單元。
2.2.2 碼盤反饋模塊
碼盤反饋模塊主要完成誤計(jì)數(shù)抑制、計(jì)數(shù)及運(yùn)動(dòng)軸運(yùn)動(dòng)距離的記錄。為了消除因抖動(dòng)和干擾產(chǎn)生的誤計(jì)數(shù),需要對(duì)輸入的信號(hào)通過FPGA內(nèi)部的觸發(fā)器進(jìn)行延時(shí),然后根據(jù)信號(hào)上升沿來(lái)進(jìn)行計(jì)數(shù)和對(duì)移動(dòng)軸位置記錄。
2.2.3 數(shù)據(jù)緩存模塊
數(shù)據(jù)緩存模塊主要利用FPGA內(nèi)部的M4K實(shí)現(xiàn)FIFO緩存[11],用于緩存DSP模塊處理好的插補(bǔ)信息,并在DSP的同步信號(hào)控制下,將緩存好的脈沖信息傳輸?shù)奖豢貙?duì)象,這樣可以很好地實(shí)現(xiàn)系統(tǒng)加工的連續(xù)性和實(shí)時(shí)性。
2.2.4 地址譯碼模塊
FPGA主要通過控制器的主控芯片的地址信號(hào)進(jìn)行譯碼片選相應(yīng)的外圍芯片,同時(shí)根據(jù)譯碼進(jìn)行控制各運(yùn)動(dòng)軸的脈沖發(fā)生模塊及存儲(chǔ)反饋信號(hào)。
綜上所述,可得FPGA的內(nèi)部結(jié)構(gòu)框圖如圖3所示。
3 軟件設(shè)計(jì)
控制器的軟件設(shè)計(jì)主要完成加工指令的解析,接收來(lái)自PC機(jī)的加工數(shù)據(jù),并對(duì)加工數(shù)據(jù)進(jìn)行運(yùn)算處理,實(shí)現(xiàn)插補(bǔ)算法[11?12],當(dāng)FPGA中FIFO有緩存空間時(shí),則將處理好的插補(bǔ)脈沖信息寫到FIFO緩存中。同時(shí),一旦系統(tǒng)出現(xiàn)故障警告,則對(duì)故障信息進(jìn)行解析及進(jìn)行相應(yīng)的處理,并將系統(tǒng)狀態(tài)及故障警告信息通過CAN接口回饋給PC機(jī)和工業(yè)觸摸屏以便及時(shí)將故障信息顯示給用戶,其軟件流程如圖4所示。
4 結(jié) 語(yǔ)
系統(tǒng)的設(shè)計(jì)充分利用TMS320F28335高效的數(shù)據(jù)運(yùn)算處理和FPGA靈活的硬件特性,設(shè)計(jì)了一種基于DSP和FPGA的激光加工系統(tǒng)控制器的硬件平臺(tái),并實(shí)現(xiàn)了相應(yīng)的軟件設(shè)計(jì)。目前,該控制器已經(jīng)在實(shí)驗(yàn)室的某臺(tái)激光加工系統(tǒng)中調(diào)試成功。實(shí)驗(yàn)表明,此控制器設(shè)計(jì)方案很大程度提高了控制系統(tǒng)的執(zhí)行速度,集成度高,并且可以獨(dú)立于PC機(jī)而正常工作。
參考文獻(xiàn)
[1] 吳林,譚營(yíng),唐建.運(yùn)動(dòng)控制技術(shù)發(fā)展與展望[J].機(jī)床與液壓,2007,7(7):231?233.
[2] 羅偉濤.基于DSP+FPGA的工業(yè)機(jī)器人運(yùn)動(dòng)控制器的研究[D].廣州:華南理工大學(xué),2011.
[3] 吳紅軍,皮佑國(guó).基于DSP和FPGA的運(yùn)動(dòng)控制器的設(shè)計(jì)與實(shí)現(xiàn)[J].組合機(jī)床和自動(dòng)加工技術(shù),2011(2):75?77.
[4] 馬漢波,顏鋼鋒.基于DSP和FPGA的多軸運(yùn)動(dòng)控制系統(tǒng)設(shè)計(jì)[J].電子應(yīng)用技術(shù),2013,39(3):34?36.
[5] 汪衛(wèi)民,李銀華,張勁.基于DSP+FPGA的開放式伺服運(yùn)動(dòng)控制器的研究[J].工業(yè)控制計(jì)算機(jī),2006,19(1):58?59.
[6] 孫艷明,王永明,袁德志,等.基于DSP和FPGA的運(yùn)動(dòng)控制器設(shè)計(jì)[J].工程與試驗(yàn),2012,9(3):59?60.
[7] 石江華,魏世民,李金泉,等.基于DSP與FPGA的四軸運(yùn)動(dòng)控制器設(shè)計(jì)與研究[J].現(xiàn)代電子技術(shù),2011,34(21):201?204.
[8] Texas Instruments. TMS320F28335 digital signal controllers data manual [M]. USA: Texas Instruments, 2011.
[9] 馬東,肖金壯,王洪瑞.基于DSP和CAN總線的網(wǎng)絡(luò)化運(yùn)動(dòng)控制系統(tǒng)研究[J].制造自動(dòng)化,2013,35(3):5?7.
[10] Altera Coorporation. Cyclone II device handbook, volume 1 [M]. Silicon Valley, USA: Altera Coorporation, 2008.
[11] 潘松,黃繼業(yè).EDA技術(shù)和VHDL[M].北京:清華大學(xué)出版社,2008.
[12] 楊威,應(yīng)保勝,邱新橋,等.逐點(diǎn)比較直線插補(bǔ)算法的優(yōu)化[J].武漢科技大學(xué)學(xué)報(bào),2012,6(3):222?224.
[13] 劉娟容,陳章位,李妮妮,等.一種優(yōu)化的數(shù)據(jù)采樣法在開環(huán)數(shù)控系統(tǒng)中的應(yīng)用[J].機(jī)械科學(xué)與技術(shù),2011,30(8):1239?1242.