運(yùn)動(dòng)控制技術(shù)是制造自動(dòng)化的關(guān)鍵基礎(chǔ),,其水平高低是衡量一個(gè)國(guó)家工業(yè)現(xiàn)代化的重要標(biāo)志,,研究和開發(fā)具有開放式結(jié)構(gòu)的運(yùn)動(dòng)控制器是當(dāng)前運(yùn)動(dòng)控制領(lǐng)域的一個(gè)重要發(fā)展方向。隨著集成電路技術(shù),、微電子技術(shù),、計(jì)算機(jī)技術(shù)和網(wǎng)絡(luò)技術(shù)的不斷發(fā)展,運(yùn)動(dòng)控制器已從以單片機(jī)和微處理器作為核心的運(yùn)動(dòng)控制器和以專用芯片(ASIC)作為核心處理器的運(yùn)動(dòng)控制器,,發(fā)展到了基于PC機(jī)平臺(tái)的以數(shù)字信號(hào)處理器(DSP)和現(xiàn)場(chǎng)可編程門陣列(FPGA)作為核心處理器的協(xié)處理架構(gòu)的開放式運(yùn)動(dòng)控制器,。該控制器將PC機(jī)和DSP的信息處理能力與FPGA的外圍擴(kuò)展功能很好的結(jié)合在一起,具有信息處理能力強(qiáng),、模塊化,、開放程度高、運(yùn)動(dòng)軌跡控制精確等優(yōu)點(diǎn),。
1 系統(tǒng)概述
該四軸運(yùn)動(dòng)控制器系統(tǒng)以TI公司C2000系列DSP芯片TMS320F2812和alterA公司CycloneⅡ系列FPGA芯片EP2C8F256C6為核心,,DSP通過網(wǎng)口接收上位機(jī)的控制參數(shù),完成系統(tǒng)位置,、速度控制及運(yùn)動(dòng)軌跡規(guī)劃,;FPGA完成運(yùn)動(dòng)控制器的精確插補(bǔ)功能和外圍電路的擴(kuò)展,系統(tǒng)總體框圖如圖1所示,。
運(yùn)動(dòng)控制器的主要功能包括:4路模擬電壓輸出,,電壓范圍為-10~+10V,分辨率為16b,;4路脈沖量信號(hào)輸出,;4路脈沖方向信號(hào)輸出;4路驅(qū)動(dòng)復(fù)位信號(hào)輸出,;4路驅(qū)動(dòng)使能信號(hào)輸出,;4路差分編碼信號(hào)輸入,;4路驅(qū)動(dòng)報(bào)警信號(hào)輸入,;8路正負(fù)限位信號(hào)輸入;4路原點(diǎn)信號(hào)輸入,;16路通用數(shù)字量,。I/O。
2 DSP模塊設(shè)計(jì)
DSP根據(jù)從上位機(jī)接收的運(yùn)動(dòng)模式和運(yùn)動(dòng)參數(shù)實(shí)時(shí)計(jì)算規(guī)劃位置和規(guī)劃速度,,生成所需的速度曲線,,實(shí)時(shí)的輸出規(guī)劃位置。TMS320F2812是TI推出的一款專門用于電機(jī)控制的32位定點(diǎn)DSP芯片,,采用高性能靜態(tài)CMOS技術(shù),,主頻高達(dá)150MHz(指令周期6.67ns),低功耗,,核心電壓為1.8V,,I/O電壓3.3V,,支持JTAG邊界掃描,128K×16b的片內(nèi)FLASH,。有兩個(gè)事件管理器(EVA和EVB),,它們都是特定的外圍設(shè)備,為多軸運(yùn)動(dòng)控制器而設(shè)計(jì)的,??赏ㄟ^外部存儲(chǔ)器接口XINTF擴(kuò)展外部存儲(chǔ)器。DSP外圍模塊設(shè)計(jì)如圖2所示,。
為增強(qiáng)抗干擾性,,DSP通過以太網(wǎng)控制器RTL8019AS與上位機(jī)連接,RTL8019AS內(nèi)部含有一個(gè)16KB的SDRAM,,DSP通過外部存儲(chǔ)器接口對(duì)其進(jìn)行讀寫來接收上位機(jī)的命令或向上位機(jī)傳送反饋信號(hào),。在數(shù)據(jù)處理過程中要占用大量的存儲(chǔ)空間,DSP內(nèi)部?jī)H含有18K×16b的SARAM和128K×16b的FLASH,,存儲(chǔ)空間顯得過小,,所以通過外部接口擴(kuò)展了256K×16b RAM和512K×16b FLASH,RAM和FLASH芯片分別選擇IS61LV25616 AL,、SST39VF800,,它們都具有接口簡(jiǎn)單、讀寫速度快等優(yōu)點(diǎn),。SCI模塊用于擴(kuò)展RS 232串行通信接口,,串口芯片使用MAX3232。
運(yùn)動(dòng)控制器所需電壓為5V,,3.3V,,1.8V,1.2V,。輸入電壓5V,,分別采用穩(wěn)壓芯片LM1085IS3.3,LM1117-1.8將其轉(zhuǎn)換成3.3V和1.8V,,由于TMS320F2812的I/O電壓3.3V要先于內(nèi)核電源上電,,所以1.8V要由3.3V降壓得到,以確保上電次序,。1.2V是FPGA內(nèi)核所需電壓,,由穩(wěn)壓芯片LM317S穩(wěn)壓得到,LM317S的輸出電壓范圍為1.2~25V,,復(fù)位電路采用SP708低功耗微處理器監(jiān)控器件,,此器件有眾多的組件,有效的增強(qiáng)了系統(tǒng)的可靠性及工作效率。
3 FPGA模塊設(shè)計(jì)
FPGA用于軸資源的擴(kuò)展,,當(dāng)接收到DSP中的規(guī)劃位置后,,在軸資源中對(duì)其進(jìn)行變換處理,輸出到伺服控制器中,,伺服控制器將規(guī)劃位置與編碼反饋的計(jì)數(shù)位置進(jìn)行比較,,獲得跟隨誤差,并通過伺服控制算法得到實(shí)時(shí)的控制量,,將控制量傳遞給D/A轉(zhuǎn)換器,,由D/A轉(zhuǎn)換器轉(zhuǎn)換成控制電壓輸出。
EP2C8F256C6是alterA公司CycloneⅡ系列芯片,,其特點(diǎn)為高性能低功耗,,內(nèi)核供電電壓為1.2V,8256個(gè)邏輯單元(LEs),,182個(gè)用戶I/O口(項(xiàng)目中使用了157個(gè)I/O口),,165888b的內(nèi)部RAM,嵌入了18b的乘法器,,每個(gè)乘法器又可拆成2個(gè)9b的乘法器,,芯片內(nèi)部含有2個(gè)鎖相環(huán)(PLL),8個(gè)全局時(shí)鐘(Global Clocks),。該芯片所具有的邏輯單元數(shù),、頻率和用戶I/O口等都能很好的滿足設(shè)計(jì)需求。FPGA的外圍模塊擴(kuò)展如圖3所示,。
3.1 與DSP接口設(shè)計(jì)
DSP芯片的事件管理器(EVA,,EVB)用于和FPGA連接,當(dāng)輸出脈沖量控制驅(qū)動(dòng)器時(shí),,DSP使用兩個(gè)事件管理器進(jìn)行PWM波的控制,,當(dāng)輸出模擬量時(shí),DSP使用GPIOA/GPIOB向FPGA輸出規(guī)劃位置,。
3.2 模擬信號(hào)輸出電路設(shè)計(jì)
采用D/A轉(zhuǎn)換器AD669進(jìn)行模擬信號(hào)的輸出,,AD669具有兩級(jí)鎖存,在設(shè)計(jì)中,,將其四路D/A芯片的第一級(jí)鎖存處于透明狀態(tài),,第二級(jí)鎖存控制信號(hào)LDAC連在一起,當(dāng)四路D/A芯片的數(shù)據(jù)預(yù)裝好后,,打開第二級(jí)鎖存,四路D/A芯片即可同時(shí)轉(zhuǎn)換,,實(shí)現(xiàn)了四軸驅(qū)動(dòng)的同時(shí)控制,。
3.3 脈沖信號(hào)輸出電路設(shè)計(jì)
脈沖輸出電路由FPGA內(nèi)部精插補(bǔ)器完成,精插補(bǔ)器根據(jù)DSP發(fā)送來的粗插補(bǔ)數(shù)據(jù)產(chǎn)生均勻的脈沖輸出,脈沖的輸出有兩種格式:“脈沖+方向”和“正負(fù)脈沖”,。由于差分信號(hào)對(duì)外部電磁等信號(hào)有很好的抗干擾性,,特別是對(duì)共模干擾有很好的抑制作用。所以脈沖經(jīng)過光耦隔離后,,再將信號(hào)接入差分線驅(qū)動(dòng)器AM26LS31后輸出,,差分線驅(qū)動(dòng)器AM26LS31的作用是將輸入的單極性方波信號(hào)轉(zhuǎn)化為一對(duì)極性相反的電機(jī)驅(qū)動(dòng)信號(hào)。
3.4 編碼反饋電路設(shè)計(jì)
電機(jī)編碼信號(hào)直接傳入電機(jī)驅(qū)動(dòng)器中,,電機(jī)驅(qū)動(dòng)器將三對(duì)差分編碼信號(hào)A+,,A-,B+,,B-,,N+,N-作為反饋傳給運(yùn)動(dòng)控制器,。在電機(jī)旋轉(zhuǎn)時(shí),,所發(fā)出的編碼信號(hào)會(huì)出現(xiàn)非常多的毛刺,并且經(jīng)過驅(qū)動(dòng)器大電源的干擾,,如果直接接到FPGA中,,可能會(huì)引起誤判斷,所以先將三對(duì)編碼信號(hào)經(jīng)過差分芯片AM26LS32轉(zhuǎn)化成單路信號(hào)A,,B,,N后再接入FPGA中。芯片AM26LS32功能是將輸入的一對(duì)極性相反的編碼器差分信號(hào)轉(zhuǎn)化成單極性的脈沖信號(hào),,與AM32LS31正好相反,。
3.5 開關(guān)量接口和通用I/O電路設(shè)計(jì)
輸出信號(hào)包括復(fù)位信號(hào)和使能信號(hào),由FPGA產(chǎn)生,,經(jīng)光耦隔離后直接輸出,;輸入信號(hào)包括驅(qū)動(dòng)報(bào)警信號(hào),正負(fù)限位信號(hào)和原點(diǎn)信號(hào),,這些信號(hào)經(jīng)光耦隔離,、電平轉(zhuǎn)換后再由FPGA接收,當(dāng)FPGA檢測(cè)到這些信號(hào)后,,確定具體的觸發(fā)信號(hào),,做出相應(yīng)的反應(yīng)。另外運(yùn)動(dòng)控制器還提供了八路數(shù)字量輸入通道和八路數(shù)字量輸出通道,,輸入,、輸出通道都經(jīng)光電隔離,以提高抗干擾性,。
4 網(wǎng)口模塊設(shè)計(jì)
DSP通過以太網(wǎng)控制器RTL8019AS與上位機(jī)連接,,RTL8019AS在一塊芯片上集成了RTL8019AS內(nèi)核和一個(gè)16KB的SDRAM存儲(chǔ)器,,兼容RTL8019AS控制軟件和NE20008b或16b傳輸,其接口符合Ethernet2和IEEE802.3標(biāo)準(zhǔn),。RTL8019AS與主機(jī)的接口模式有三種模式:跳線模式,,PnP模式,RT模式,。此運(yùn)動(dòng)控制器使用便于DSP應(yīng)用的跳線模式,。DSP與RTL8019AS的連接如圖4所示。
(1)數(shù)據(jù)總線和地址總線,。RTL8019AS的數(shù)據(jù)總線和DSP的16位數(shù)據(jù)總線直接相連即可,。RTL8019AS片內(nèi)NE2000寄存器組都是通過其映射I/O端口進(jìn)行訪問,I/O端口共32個(gè),,地址偏移量為00H~1FH,,把I/O基地址設(shè)為300H,則對(duì)應(yīng)的I/O端口尋址范圍為:300H~31FH,。只需要10根地址線就可以對(duì)I/O端口進(jìn)行尋址,,把SA10~SA19接低電平,SA0~SA9按照表1接法即可,。
由表1可以看出,,只需要5根地址線就可以尋址32位I/O端口,所以可以直接把SA9,,SA8接高電平,,SA5~SA7接低電平,SA0~SA4與DSP的低5位地址線XA0~XA4相接,。
(2)控制總線,。RTL8019AS片選信號(hào)AEN使用DSP的擴(kuò)展片選信號(hào),IORB,、IOWB直接與DSP的讀寫控制信號(hào)相連,,中斷輸出引腳INT0與DSP的XINT2相連,高電平有效的復(fù)位輸入引腳與監(jiān)控電路芯片SP708的RST相連,,當(dāng)DSP復(fù)位時(shí),,RTL8019AS也復(fù)位。
(3)RTL8019AS與網(wǎng)絡(luò)介質(zhì)接口,。RTL8019AS可以使用同軸電纜或雙絞線作為傳輸媒介,,將其AUI接口接地或懸空,使用BNC接口,。BNC接口方式支持8線雙絞線或同軸電纜,。20F001N是雙絞線驅(qū)動(dòng)器,為耦合隔離變壓器模塊,,通過它可以去除因電路數(shù)字特性導(dǎo)致的高次諧波,。RTL8019AS與20F001N的連接如圖4所示,。其差分輸入信號(hào)TPIN+,、TPIN-與差分輸出信號(hào)TPOUT+,、TPOUT-分別與20F001的對(duì)應(yīng)引腳相連。
5 結(jié)語
在PC平臺(tái)下,,充分利用了DSP的數(shù)據(jù)處理能力和FPGA的硬件特性,,使系統(tǒng)既能進(jìn)行復(fù)雜的軌跡規(guī)劃、高速插補(bǔ),,又能保證運(yùn)動(dòng)控制器的穩(wěn)定性和精確性,,這種運(yùn)動(dòng)控制器能應(yīng)用于數(shù)控系統(tǒng),機(jī)器人制造等控制領(lǐng)域,。