趙 巖 李秀榮 臧 勇
(宿遷學(xué)院機電工程學(xué)院,江蘇宿遷223800)
隨著工業(yè)機器人應(yīng)用領(lǐng)域的不斷擴大以及現(xiàn)代工業(yè)的快速發(fā)展,人們對工業(yè)機器人性能的要求越來越高,因此高速、高精度、智能和模塊化成為目前工業(yè)機器人發(fā)展的主要趨勢[1]。近年來,隨著嵌入式技術(shù)的發(fā)展,一種基于ARM微處理器+DSP+FPGA的嵌入式機器人運動控制系統(tǒng)逐漸成為主流。該控制器具有數(shù)據(jù)處理能力強、運行速度快、實時性好的特點,且具有良好的開放性。
基于ARM+DSP+FPGA的開放式機器人運動控制器選用TI浮點處理器DSP C6000系列中的TMS320C6713作為主處理器,實現(xiàn)算法處理、指令控制等功能;選用XILINX公司的XC3S400A FPGA作為協(xié)處理器,實現(xiàn)并行采集、外部信號處理、接口轉(zhuǎn)換等功能。ARM選用ARM9系列三星公司的S3C2440,該芯片主頻高達400 MHZ,工作電壓為1.2 V,具有低價格、低功耗、高性能特點,負責(zé)LCD、串口、以太網(wǎng)、USB接口的處理。使用ARM處理器作為上位機開發(fā)平臺,適用于工業(yè)機器人、自動化生產(chǎn)線、運動控制、設(shè)備制造等方面。該控制系統(tǒng)性能穩(wěn)定,上手容易,可長時間無故障運行,其擴展性極強,參數(shù)配置簡單,易于維護[2]。本文重點介紹控制部分DSP+FPGA。總體系統(tǒng)框圖如圖1所示。
圖1 運動控制器總體系統(tǒng)框圖
TMS320C6713是32位浮點DSP,最高工作主頻可達300 Hz,處理速度高達2400MIPS,片上共有264kB×8位存儲器,片上外設(shè)資源豐富,此外還具有32位EMIF總線[3],特別適用于計算復(fù)雜、數(shù)據(jù)量大及實時性要求較高的場合。
DSP數(shù)據(jù)模塊主要功能:自動復(fù)位和手動復(fù)位、數(shù)據(jù)采集、數(shù)據(jù)存儲與處理、結(jié)果數(shù)據(jù)的輸出等。數(shù)據(jù)處理模塊包含電源模塊、時鐘模塊、復(fù)位模塊、JTAG模塊、外擴Flash ROM和SDRAM模塊,其結(jié)構(gòu)如圖2所示。
圖2 TMS320C6713 DSP模塊結(jié)構(gòu)
XC3S400A FPGA屬于Spartan-3A系列,高性能、低功耗,具有可配置邏輯資源豐富和邏輯設(shè)計經(jīng)濟有效等優(yōu)點。根據(jù)本設(shè)計要求,F(xiàn)PGA需要四個模塊的邏輯功能,即PC104Plus總線通信模塊、伺服控制模塊、I/O接口模塊和D/A接口模塊。XC3S400A外圍結(jié)構(gòu)如圖3所示。
圖3 XC3S400A外圍結(jié)構(gòu)
EMIF接口能力強,數(shù)據(jù)吞吐高達923 MB/s,總線寬度為32bit,而且能夠與存儲器直接相連。FPGA當作DSP的外部存儲器處理,通過在FPGA內(nèi)部設(shè)計兩個相互獨立的FIFO,實現(xiàn)EMIF對FPGA的數(shù)據(jù)訪問[4-5],F(xiàn)PGA內(nèi)的狀態(tài)寄存器用于記錄兩個FIFO的狀態(tài),為DSP控制兩個FIFO信息。在FPGA中還有一個控制邏輯,用于控制兩個FIFO工作,確保數(shù)據(jù)正確傳輸。
TMS320C6713 DSP主機接口(HPI)是一個16位并行接口,通過HPI與外部ARM微處理器進行連接,ARM可以直接訪問DSP的內(nèi)部存儲器。與通過一片雙口RAM使ARM和DSP連接方式相比,采用HPI連接方式更簡單方便,不需要增加外圍邏輯電路[6-7]。
首先進行DSP和控制器參數(shù)初始化、DSP初始化,包括時鐘設(shè)置、外接設(shè)備、中斷優(yōu)先級、計時器等工作模式。初始化完成后,DSP從HPI接口讀取ARM中控制指令,同時從FPGA中讀取當前關(guān)節(jié)電機位置和狀態(tài)信息,若無異常情況,則進行數(shù)據(jù)運算;若有異常情況,則停止數(shù)據(jù)運算和位置控制,等待異常處理。其工作流程如圖4所示。
圖4 DSP工作流程
本文介紹了基于ARM+DSP+FPGA的運動控制器設(shè)計方案,該設(shè)計能更好地實現(xiàn)硬件的可重構(gòu)性,提高運動控制器的靈活性和開放性。該設(shè)計中各芯片間采用的接口設(shè)計,不僅滿足了高傳輸速率和簡單方便的原則,也縮小了體積,可靠性提高。
[1]王田苗,陶永.我國工業(yè)機器人技術(shù)現(xiàn)狀與產(chǎn)業(yè)化發(fā)展戰(zhàn)略[J].機械工程學(xué)報,2014,50(9):1-13.
[2]李松,李迪,翟振坤.基于ARM+DSP+FPGA+MCU的高速嵌入式數(shù)控系統(tǒng)研究[J].機床與液壓,2013,41(3):89-92.
[3]三恒星科技.TMS320C6713 DSP原理與應(yīng)用實例[M].北京:電子工業(yè)出版社,2009.
[4]錢志恒,周亞軍.基于DSP和FPGA的運動控制器[J].機電工程,2009,26(1):38-41.
[5]何國軍,陳維榮,劉小強,等.基于DSP與FPGA的運動控制器設(shè)計[J].電子技術(shù)應(yīng)用,2009(7):35-37.
[6]孫德瑋,祁曉磊,蔡學(xué)良,等.基于HPI接口實現(xiàn)DSP和ARM間的通信[J].微處理機,2009,30(3):61-63.
[7]徐魯旭.基于ARM+DSP的機器人控制系統(tǒng)設(shè)計[D].北京:北京郵電大學(xué),2010.