基于DSP與FPGA的四軸運(yùn)動(dòng)控制器設(shè)計(jì)與研究
掃描二維碼
隨時(shí)隨地手機(jī)看文章
摘要:針對(duì)數(shù)控系統(tǒng)的工作特點(diǎn)和要求,通過對(duì)DSP TMS320F2812、FPGA EP2C8F256C6及以太網(wǎng)控刺器RTL8019AS的深入研究,設(shè)計(jì)了一種基于DSP與FPGA的運(yùn)動(dòng)控制器。該控制器以DSP和FPGA為核心器件,針對(duì)運(yùn)動(dòng)控制中的實(shí)時(shí)控制、高精度等具體問題,規(guī)劃了DSP的功能擴(kuò)展,并在FPGA上擴(kuò)展了功能相互獨(dú)立的四軸運(yùn)動(dòng)控制電路。該電路實(shí)現(xiàn)了四路控制信號(hào)輸出,四路編碼信號(hào)的接收和處理,以及原點(diǎn)信號(hào),正負(fù)限位信號(hào)等數(shù)字量的接收和處理。具有結(jié)構(gòu)簡單、開放性、模塊化等特點(diǎn),能夠較好的滿足運(yùn)動(dòng)控制器的實(shí)時(shí)性和精確性。
關(guān)鍵詞:DSP;FPGA;以太網(wǎng)控制器;運(yùn)動(dòng)控制器
0 引言
運(yùn)動(dòng)控制技術(shù)是制造自動(dòng)化的關(guān)鍵基礎(chǔ),其水平高低是衡量一個(gè)國家工業(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)場可編程門陣列(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~+10 V,分辨率為16 b;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á)150 MHz(指令周期6.67 ns),低功耗,核心電壓為1.8 V,I/O電壓3.3 V,支持JTAG邊界掃描,128K×16 b的片內(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è)16 KB的SDRAM,DSP通過外部存儲(chǔ)器接口對(duì)其進(jìn)行讀寫來接收上位機(jī)的命令或向上位機(jī)傳送反饋信號(hào)。在數(shù)據(jù)處理過程中要占用大量的存儲(chǔ)空間,DSP內(nèi)部僅含有18K×16 b的SARAM和128 K×16 b的FLASH,存儲(chǔ)空間顯得過小,所以通過外部接口擴(kuò)展了256K×16 b RAM和512K×16 b FLASH,RAM和FLASH芯片分別選擇IS61LV25616 AL、SST39VF800,它們都具有接口簡單、讀寫速度快等優(yōu)點(diǎn)。SCI模塊用于擴(kuò)展RS 232串行通信接口,串口芯片使用MAX 3232。
運(yùn)動(dòng)控制器所需電壓為5 V,3.3 V,1.8 V,1.2 V。輸入電壓5 V,分別采用穩(wěn)壓芯片LM1085IS3.3,LM1117-1.8將其轉(zhuǎn)換成3.3 V和1.8 V,由于TMS320F2812的I/O電壓3.3 V要先于內(nèi)核電源上電,所以1.8 V要由3.3V降壓得到,以確保上電次序。1.2 V是FPGA內(nèi)核所需電壓,由穩(wěn)壓芯片LM317S穩(wěn)壓得到,LM317S的輸出電壓范圍為1.2~25 V,復(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.2 V,8 256個(gè)邏輯單元(LEs),182個(gè)用戶I/O口(項(xiàng)目中使用了157個(gè)I/O口),165 888 b的內(nèi)部RAM,嵌入了18 b的乘法器,每個(gè)乘法器又可拆成2個(gè)9 b的乘法器,芯片內(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è)16 KB的SDRAM存儲(chǔ)器,兼容RTL8019 AS控制軟件和NE2000 8 b或16 b傳輸,其接口符合Ethernet2和IEEE 802.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)致的高次諧波。RTL80 19AS與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)域。