黃德天 顧培婷 黃煒欽 柳培忠
?
基于云控制的運(yùn)動(dòng)控制卡硬件設(shè)計(jì)與實(shí)現(xiàn)*
黃德天1顧培婷2黃煒欽2柳培忠1
1.華僑大學(xué)工學(xué)院物聯(lián)網(wǎng)工程系 2.華僑大學(xué)工學(xué)院
該文針對(duì)現(xiàn)有運(yùn)動(dòng)控制卡價(jià)格高、操作不夠便捷等缺點(diǎn),設(shè)計(jì)了基于云控制的運(yùn)動(dòng)控制卡硬件平臺(tái)。該設(shè)計(jì)采用DSP+ARM雙處理器架構(gòu),DSP主要負(fù)責(zé)運(yùn)動(dòng)控制算法的實(shí)現(xiàn),ARM充當(dāng)管理者的角色,主要負(fù)責(zé)硬件資源的調(diào)度;引入以太網(wǎng)技術(shù),通過以太網(wǎng)傳輸取代傳統(tǒng)運(yùn)動(dòng)控制卡基于PCI總線或ISA總線傳輸。該設(shè)計(jì)能夠?qū)崿F(xiàn)多個(gè)運(yùn)動(dòng)控制卡共享一臺(tái)PC主機(jī),從而降低成本;同時(shí)由于以太網(wǎng)技術(shù)的引入,使運(yùn)動(dòng)控制系統(tǒng)范圍擴(kuò)大,實(shí)現(xiàn)多個(gè)運(yùn)動(dòng)控制卡構(gòu)成一個(gè)多層次的運(yùn)動(dòng)控制系統(tǒng),也便于實(shí)現(xiàn)遠(yuǎn)程診斷功能。
云控制 運(yùn)動(dòng)控制卡 DSP ARM 以太網(wǎng)
我國(guó)的工業(yè)產(chǎn)業(yè)正在升級(jí)換代,低端的設(shè)備制造已無(wú)法滿足高速發(fā)展的需求。隨著科技的不斷進(jìn)步,自動(dòng)化產(chǎn)業(yè)也在不斷進(jìn)步,使得運(yùn)動(dòng)控制在產(chǎn)業(yè)中占有極其重要的作用,其發(fā)展前景不可估量[1-3]。運(yùn)動(dòng)控制卡是一種基于PC主機(jī)、通過控制步進(jìn)電機(jī)或伺服電機(jī)負(fù)責(zé)運(yùn)動(dòng)控制領(lǐng)域的所有細(xì)節(jié)(包括位移、速度、加速度等)的控制單元[3]。運(yùn)動(dòng)控制卡是運(yùn)動(dòng)控制系統(tǒng)的重要構(gòu)成部件,主要完成實(shí)時(shí)性要求較高的工作,例如精插補(bǔ)算法、可編程I/O的響應(yīng)、反饋信號(hào)的接收與處理、與上位機(jī)的數(shù)據(jù)通訊以及上位機(jī)命令代碼的解析等。運(yùn)動(dòng)控制卡通過輸出脈沖的個(gè)數(shù)來控制設(shè)備的角位移,通過輸出脈沖的頻率來控制設(shè)備的轉(zhuǎn)速。
運(yùn)動(dòng)控制卡的發(fā)展由早期的專用控制器,到開放式、積木式結(jié)構(gòu)控制器,再到現(xiàn)在的通用運(yùn)動(dòng)控制卡。國(guó)外著名的運(yùn)動(dòng)控制器公司包括美國(guó)GALIL公司、美國(guó)Delta Tau Data System 公司、英國(guó)Trio公司等。這些公司研制的運(yùn)動(dòng)控制卡設(shè)備較為先進(jìn),并且樣式繁多,包含了從低端到高端多種檔次的產(chǎn)品,形成了一套較為完整的產(chǎn)品體系。這些運(yùn)動(dòng)控制卡的價(jià)格通常較高,而且使用過程中需要設(shè)置眾多的參數(shù),要求用戶具備一定的數(shù)控專業(yè)知識(shí),從而增加了使用的難度[4-8]。在運(yùn)動(dòng)控制卡的發(fā)展中,我國(guó)落后于國(guó)外,但發(fā)展速度較快,產(chǎn)品質(zhì)量也逐步提高,目前國(guó)內(nèi)運(yùn)動(dòng)控制器公司發(fā)展較好的有雷賽智能、固高科技、眾為興、上海維宏等。國(guó)內(nèi)設(shè)計(jì)的大部分板卡是基于PCI總線或ISA總線,導(dǎo)致需要為每個(gè)運(yùn)動(dòng)控制卡配備一臺(tái)PC主機(jī),不但增加了系統(tǒng)研發(fā)成本,而且不利于整個(gè)系統(tǒng)的輕便化、網(wǎng)絡(luò)化[9-12]。
隨著網(wǎng)絡(luò)技術(shù)的迅猛發(fā)展和普及,市場(chǎng)對(duì)配備網(wǎng)絡(luò)接口的運(yùn)動(dòng)控制卡需求不斷增大,采用以太網(wǎng)傳輸來替代傳統(tǒng)的現(xiàn)場(chǎng)總線傳輸已經(jīng)成為電機(jī)控制產(chǎn)品的主流技術(shù),同時(shí)也逐漸成為運(yùn)動(dòng)控制發(fā)展的總體趨勢(shì),然而現(xiàn)有的國(guó)內(nèi)擁有網(wǎng)絡(luò)功能的運(yùn)動(dòng)控制卡設(shè)備較少。本文通過設(shè)計(jì)基于DSP+ARM架構(gòu)的網(wǎng)絡(luò)型運(yùn)動(dòng)控制卡,并引入以太網(wǎng)(Ethernet)技術(shù),能夠?qū)崿F(xiàn)多個(gè)運(yùn)動(dòng)控制卡共享一臺(tái)PC主機(jī),從而降低研發(fā)成本,擴(kuò)展運(yùn)動(dòng)控制系統(tǒng)范圍。
隨著微電子技術(shù)和嵌入式技術(shù)的發(fā)展,運(yùn)動(dòng)控制卡從早期基于模擬電路的設(shè)計(jì)、基于專用運(yùn)動(dòng)控制芯片的設(shè)計(jì),過渡到當(dāng)今世面上較為流行的基于微控制器或微處理器的設(shè)計(jì)?;谖⒖刂破?微處理器的運(yùn)動(dòng)控制卡設(shè)計(jì)思想,借助了微處理器較高的數(shù)據(jù)處理能力,多樣的外設(shè)接口,以及較強(qiáng)的執(zhí)行事件能力和數(shù)據(jù)并行處理能力。微處理器主要負(fù)責(zé)數(shù)據(jù)的處理,微控制器主要負(fù)責(zé)多軸聯(lián)動(dòng)的并行插補(bǔ)。這種方案具有擴(kuò)展性能強(qiáng),兼容性好、通用性高,易于研發(fā)更多的系統(tǒng)功能,且節(jié)省研發(fā)周期和系統(tǒng)成本。
隨著網(wǎng)絡(luò)的普及化,運(yùn)動(dòng)控制系統(tǒng)網(wǎng)絡(luò)化是產(chǎn)業(yè)轉(zhuǎn)型的重要方向。為此,本文基于云控制的可編程運(yùn)動(dòng)控制卡,采用DSP+ARM的架構(gòu),引入以太網(wǎng)控制器DP83848作為物理層收發(fā)器與ARM內(nèi)部連接。通過以太網(wǎng)構(gòu)建分布式的運(yùn)動(dòng)控制系統(tǒng),實(shí)現(xiàn)幾個(gè)運(yùn)動(dòng)控制卡共享同一個(gè)主機(jī),達(dá)到降低成本的目的。通過網(wǎng)絡(luò)技術(shù)的支撐,極大地?cái)U(kuò)大運(yùn)動(dòng)控制系統(tǒng)規(guī)模;同時(shí)可以達(dá)到使用多個(gè)運(yùn)動(dòng)控制卡構(gòu)造多層次運(yùn)動(dòng)控制系統(tǒng)的功能,達(dá)到運(yùn)動(dòng)控制卡統(tǒng)一管理的便捷性,實(shí)現(xiàn)遠(yuǎn)程診斷等功能更為豐富的運(yùn)動(dòng)控制系統(tǒng)。
運(yùn)動(dòng)控制卡硬件平臺(tái)的DSP選用TI公司推出的一款高性能浮點(diǎn)DSP控制器TMS320F28335(簡(jiǎn)稱F28335)。它具有150MHz的高速執(zhí)行能力,且執(zhí)行單元可處理32位float類型數(shù)據(jù),有多達(dá)18路的PWM輸出,其中有6路為該公司獨(dú)具一格的更高準(zhǔn)確度的PWM輸出 (HRPWM),12位16通道ADC。與以往的定點(diǎn)DSP相比,該器件具有精度高、成本低、功耗小、性能高、A/D轉(zhuǎn)換更精確快速等優(yōu)點(diǎn)。運(yùn)動(dòng)控制卡系統(tǒng)中,F(xiàn)28335主要執(zhí)行DDA插補(bǔ)算法工作。而ARM選用基于Cotex-M4內(nèi)核的高性能微處理器STM32F407(簡(jiǎn)稱STM32)。采用帶有FPU的32位Cortex?-M4內(nèi)核,主頻高達(dá)168MHz,片上集成1MFlash存儲(chǔ)器并帶有存儲(chǔ)器保護(hù)單元。STM32F407可通過兩種標(biāo)準(zhǔn)接口實(shí)現(xiàn)與PHY模塊通信,一種是獨(dú)立于介質(zhì)的接口(MII),另一種是簡(jiǎn)化的獨(dú)立于接口的接口(RMII)。系統(tǒng)中,由于STM32具有較強(qiáng)的事件管理以及控制能力,主要充當(dāng)整個(gè)系統(tǒng)平臺(tái)管理者的角色。
運(yùn)動(dòng)控制卡通過以太網(wǎng)接口對(duì)PC機(jī)通訊,使用DP83848作為以太網(wǎng)數(shù)據(jù)收發(fā)芯片連接到ARM芯片內(nèi)部的以太網(wǎng)控制器接口。DP83848是美國(guó)國(guó)家半導(dǎo)體公司推出的一款支持單路10/100Mb/s的以太網(wǎng)收發(fā)器。此外,電機(jī)驅(qū)動(dòng)接口包括四組軸方向控制信號(hào)、脈沖輸出接口、電機(jī)控制接口(驅(qū)動(dòng)器報(bào)警,錯(cuò)誤清除,使能接口),每個(gè)軸有正負(fù)限位及原點(diǎn)輸入接口和16個(gè)可編程輸入/輸出接口。并且,增加了1個(gè)調(diào)試輸出串口,該串口也可以提供給研發(fā)人員進(jìn)行編程研發(fā)。圖1是硬件系統(tǒng)的結(jié)構(gòu)框圖。
圖1 硬件系統(tǒng)的結(jié)構(gòu)框圖
3.1 以太網(wǎng)接口
STM32F407的以太網(wǎng)控制器內(nèi)部結(jié)構(gòu)如圖2,包括一個(gè)帶有專用DMA控制器的MAC 802.3。DMA與內(nèi)核和存儲(chǔ)器通信采用AHB的主從接口,其中AHB 主接口控制Data傳輸,AHB 從接口訪問控制和狀態(tài)寄存器空間。在通過MAC內(nèi)核傳輸信息之前,將DMA系統(tǒng)從存儲(chǔ)器中獲取的數(shù)據(jù)存儲(chǔ)在輸出FIFO中,接收FIFO緩存接收到的數(shù)據(jù),直到通過DMA傳輸?shù)较到y(tǒng)存儲(chǔ)器中。
如圖2所示,STM32F407內(nèi)部含有一個(gè)以太網(wǎng)外設(shè),只需外接一片PHY就具有了以太網(wǎng)收發(fā)數(shù)據(jù)的功能。該控制器可為物理層芯片支持MII和RMII接口,支持10/100Mbit/s數(shù)據(jù)傳輸速率。設(shè)計(jì)中的PHY芯片選擇DP83848芯片,并通過MII方式連接,如圖3所示。
圖2 STM32F407以太網(wǎng)控制器的內(nèi)部結(jié)構(gòu)
圖3 STM32與DP83848連接框圖
3.2 存儲(chǔ)器接口
在一些生產(chǎn)環(huán)境中,如皮革制造中,由于產(chǎn)品輪廓樣式幾乎不變,通常使用設(shè)計(jì)好的模板,為了節(jié)省加工成本和加快加工程序,可以使用一個(gè)存儲(chǔ)器來存儲(chǔ)這些模板和系統(tǒng)參數(shù)信息。該運(yùn)動(dòng)控制卡采用的存儲(chǔ)器是2MB的SPI接口的Flash芯片SST25VF106B。當(dāng)軌跡信息存入存儲(chǔ)器后,用戶可以根據(jù)需要調(diào)用訪問這些數(shù)據(jù),同時(shí)也支持離線使用存儲(chǔ)器中的模板庫(kù)。
3.3 控制卡接口部分設(shè)計(jì)
控制卡的接口主要有以下幾種:
(1) 與電機(jī)驅(qū)動(dòng)器連接的電機(jī)驅(qū)動(dòng)接口。包括電機(jī)驅(qū)動(dòng)器使能信號(hào)輸入接口、電機(jī)錯(cuò)誤報(bào)警信號(hào)輸出接口、電機(jī)驅(qū)動(dòng)器錯(cuò)誤清除信號(hào)輸出接口、電機(jī)的脈沖方向信號(hào)接口。
(2) 與限位開關(guān)連接的正負(fù)限位/原點(diǎn)信號(hào)輸入接口。每個(gè)軸都包含正負(fù)限位輸入信號(hào)接口和一個(gè)原點(diǎn)信號(hào)輸入接口。當(dāng)有限位信號(hào)輸入的時(shí)候,對(duì)應(yīng)軸將會(huì)停止運(yùn)動(dòng),直到限位信號(hào)撤銷為止。
(3)可編程IO接口。一般的CNC系統(tǒng)中,運(yùn)動(dòng)控制卡不僅負(fù)責(zé)運(yùn)動(dòng)控制的任務(wù),這些系統(tǒng)中都存在一些如按鈕開關(guān)、狀態(tài)顯示燈,或者一些執(zhí)行機(jī)構(gòu)如冷卻泵、電磁閥、激光控制器等需要運(yùn)動(dòng)控制卡對(duì)其進(jìn)行控制,這一類控制往往比較簡(jiǎn)單,只需要在特定的時(shí)間給出一個(gè)電平信號(hào)或者脈沖信號(hào)來觸發(fā)這些外圍設(shè)備,但是這些控制也會(huì)隨著應(yīng)用場(chǎng)合的不同而不同。為了使得該運(yùn)動(dòng)控制卡能夠具有較強(qiáng)的通用性,該設(shè)計(jì)將這些可編程輸入引腳的控制掛接在中斷引腳上,當(dāng)對(duì)應(yīng)事件產(chǎn)生觸發(fā)信號(hào)時(shí),執(zhí)行對(duì)應(yīng)的中斷服務(wù)程序??删幊梯敵鲆_也可以通過調(diào)用已經(jīng)封裝好的庫(kù)函數(shù)以電平方式,以單個(gè)邊緣觸發(fā)信號(hào)或者周期信號(hào)的方式輸出控制信號(hào)。
3.4 控制卡接口重要組件
3.4.1 信號(hào)的處理部分
為了解決夾雜在輸入信號(hào)中的干擾信號(hào)進(jìn)入運(yùn)動(dòng)控制卡,使控制卡產(chǎn)生不正確的判斷,從而產(chǎn)生不正確的相應(yīng)信號(hào)輸出到外界的執(zhí)行機(jī)構(gòu),導(dǎo)致不規(guī)范的操作被執(zhí)行,有必要對(duì)輸入、輸出信號(hào)做相應(yīng)的處理。該部分包括單端信號(hào)轉(zhuǎn)化為差分信號(hào)、輸入端與輸出端的光電隔離、信號(hào)的進(jìn)一步整形三部分。
干擾源信號(hào)具有較強(qiáng)的抗干擾性,其對(duì)差分信號(hào)的每個(gè)端產(chǎn)生同等程度的作用。在系統(tǒng)信號(hào)處理部分,采用了兩片AM26L31差分驅(qū)動(dòng)芯片,將DSP輸出的單端脈沖方向信號(hào)變?yōu)椴罘中盘?hào)。該芯片集成有4路通道,具有有效傳輸距離遠(yuǎn)、響應(yīng)快速的特性,有效傳輸距離大于1000m,響應(yīng)時(shí)間小于50ns。
3.4.2 光電耦合器
當(dāng)運(yùn)動(dòng)控制卡與其他控制系統(tǒng)外圍設(shè)備連接時(shí),由于電壓和電流不匹配,會(huì)受到外圍設(shè)備高壓大電流信號(hào)的破壞影響,可能對(duì)系統(tǒng)產(chǎn)生干擾,造成誤導(dǎo)性判斷,或是損壞控制卡設(shè)備,使得設(shè)備不能正常使用。為了避免因外設(shè)高壓大電流的輸入引起設(shè)備損壞,該系統(tǒng)在信號(hào)兩端口均采用光電耦合器進(jìn)行隔離。光電耦合器是通過發(fā)光二極管發(fā)光使得半導(dǎo)體產(chǎn)生電流,其輸入端和輸出端在電氣上是處于隔絕狀態(tài)的,這就導(dǎo)致了加載在輸入信號(hào)的各種干擾信號(hào)被阻隔在輸入端,從而避免了這些干擾源的影響。由于光電耦合器輸入端和輸出端之間的耐壓值很高,還能很好地保護(hù)運(yùn)動(dòng)控制卡的完整性。
本設(shè)計(jì)使用的是6N137高速光耦,最高速度可達(dá)10Mbit/s,引腳2和引腳3均可以作為信號(hào)的輸入引腳,如果信號(hào)從2引腳輸入,同時(shí)3引腳接地,那么相當(dāng)于非門,如果信號(hào)從3引腳輸入,2引腳接高電平,那么信號(hào)在傳輸過程中的邏輯狀態(tài)不變。
3.4.3 信號(hào)整形部分
由于脈沖在傳輸中仍會(huì)因干擾造成波形不正常,使得上升沿和下降沿不夠準(zhǔn)確并且信號(hào)不夠平滑,導(dǎo)致有毛刺產(chǎn)生。為了解決信號(hào)質(zhì)量不理想問題,系統(tǒng)在重要信號(hào)的后端增加了整形電路,即采用帶有施密特觸發(fā)功能的74HC14門電路,進(jìn)一步改善信號(hào)的質(zhì)量,從而獲得更為可靠的波形。圖4為信號(hào)整形部分的原理圖。
圖4 信號(hào)整形部分的原理圖
本文設(shè)計(jì)了基于云控制的可編程運(yùn)動(dòng)控制卡,采用DSP+ARM雙處理器架構(gòu),引入以太網(wǎng)技術(shù),能夠?qū)崿F(xiàn)多個(gè)控制卡共享1臺(tái)PC主機(jī),可以解決PC機(jī)資源浪費(fèi)、生產(chǎn)成本高、系統(tǒng)不利于小型化等問題。通過以太網(wǎng)技術(shù)構(gòu)建分布式的運(yùn)動(dòng)控制系統(tǒng),將數(shù)據(jù)通過以太網(wǎng)進(jìn)行傳輸和控制,可以不受空間約束,實(shí)現(xiàn)遠(yuǎn)程診斷,極大提高系統(tǒng)的操作與管理便捷性。本文設(shè)計(jì)的網(wǎng)絡(luò)型運(yùn)動(dòng)控制卡具有比基于PCI總線或ISA總線的運(yùn)動(dòng)控制卡具有更好的控制性能,促進(jìn)了網(wǎng)絡(luò)傳輸替代現(xiàn)場(chǎng)總線成為電機(jī)控制產(chǎn)品主流技術(shù)的發(fā)展。
[1] 張從鵬,劉同,趙康康.基于DSC和FPGA的運(yùn)動(dòng)控制卡設(shè)計(jì)[J].機(jī)床與液壓,2016,44(2):156-158.
[2] 張清勇,張丹紅,姜文.基于PC機(jī)和運(yùn)動(dòng)控制卡的運(yùn)動(dòng)控制系統(tǒng)設(shè)計(jì)[J].武漢理工大學(xué)學(xué)報(bào)(信息與管理工程版),2015,37(6):837-840.
[3]郭梅,張立新,黃慶林,等.基于 GTS-400 運(yùn)動(dòng)控制卡鉆銑平臺(tái)結(jié)構(gòu)與控制系統(tǒng)的設(shè)計(jì)[J].石河子大學(xué)學(xué)報(bào)(自然科學(xué)版),2015,33(2): 252-257.
[4] 王陽(yáng).基于云模型的交通信號(hào)自適應(yīng)控制系統(tǒng)研究[D].北京: 北京交通大學(xué),2007:9-20.
[5] 王鵬,賀健琪,宋敏.基于單片機(jī)+FPGA的多軸運(yùn)動(dòng)控制卡設(shè)計(jì)[J].電子設(shè)計(jì)工程,2015,23(21): 61-64.
[6] 勞奇成,王義智,李武.基于DSP和CPLD的運(yùn)動(dòng)控制卡插補(bǔ)器設(shè)計(jì)[J].機(jī)床與液壓,2014,42(4):92-94.
[7] 楊秀增.基于FPGA的高速五軸步進(jìn)電機(jī)運(yùn)動(dòng)控制卡設(shè)計(jì)[J].機(jī)床與液壓,2012,40(4):66-71.
[8] 張義軍,茍向峰,陳德道.基于MPC2810運(yùn)動(dòng)控制卡的數(shù)控系統(tǒng)研究[J].蘭州交通大學(xué)學(xué)報(bào),2012,31(3):134-136.
[9] 回立川,林輝.基于迭代學(xué)習(xí)的云控制設(shè)計(jì)研究及應(yīng)用[J].計(jì)算機(jī)工程與應(yīng)用,2008,44(9):220-222.
[10] 吳濤,金義富.基于云控制的自適應(yīng)遺傳算法[J].計(jì)算機(jī)工程,2011,37(8):189-191.
[11] 劉羅仁,羅金玲.基于云模型的單路口交通信號(hào)自適應(yīng)控制方法研究[J].計(jì)算機(jī)測(cè)量與控制.2011,19(9):2157-2159, 2163.
[12] 劉冬,陳楷,任紅.基于運(yùn)動(dòng)控制卡的數(shù)字化制造系統(tǒng)研究[J].自動(dòng)化與儀器儀表,2015(7): 7-10.
* 泉州市科技計(jì)劃項(xiàng)目“基于云控制的運(yùn)動(dòng)控制卡的設(shè)計(jì)及其在數(shù)控機(jī)床中的應(yīng)用”(編號(hào):2014Z113)的階段性成果之一。