《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于DSP的運動控制器的開發(fā)
基于DSP的運動控制器的開發(fā)
電子科技
陳雪姝,林曉春 西安電子科技大學
摘要: 運動控制器是一種用于多種運動控制場合的上位控制單元,通常采用專業(yè)運動控制芯片或高速DSP來控制步進電機或伺服電機。運動控制器與PC機構成主從結構,。PC機負責人機交互界面的管理和控制系統(tǒng)的實時監(jiān)控工作,;控制器完成運動控制的細節(jié),。運動控制器配有庫函數(shù)供用戶調(diào)用,,這種開放的結構能夠廣泛應用于制造業(yè)中設備自動化的各個領域,。
Abstract:
Key words :

    運動控制器是一種用于多種運動控制場合的上位控制單元,,通常采用專業(yè)運動控制芯片或高速DSP來控制步進電機或伺服電機,。運動控制器與PC機構成主從結構。PC機負責人機交互界面的管理和控制系統(tǒng)的實時監(jiān)控工作,;控制器完成運動控制的細節(jié),。運動控制器配有庫函數(shù)供用戶調(diào)用,這種開放的結構能夠廣泛應用于制造業(yè)中設備自動化的各個領域,。


1 系統(tǒng)的構成與工作原理
1.1 系統(tǒng)的構成
    系統(tǒng)構成如圖1所示,,包括電源轉換模塊、DSP外圍電路,、脈沖輸出電路,、編碼器信號采集和處理電路、D/A輸出電路和DSP-PC機通信電路等,。核心微處理器采用美國TI公司的16位定點DSP芯片TMS320LF2407A,。

1.2 系統(tǒng)的工作原理
    本系統(tǒng)由上位機通過雙端口RAM把運動控制指令或控制參數(shù)傳遞給運動控制器的DSP,DSP根據(jù)采集到的PC機指令,,通過位置控制和速度控制算法進行計算,。然后將計算出的脈沖信號經(jīng)脈沖驅動送電機驅動。


2 系統(tǒng)的硬件電路描述
    系統(tǒng)硬件電路主要包括電源轉換模塊,、DSP及外圍電路,、擴展存儲器電路、脈沖輸出電路,、編碼器信號采集和處理電路,、D/A輸出電路和DSP-PC機通信電路等??刂破靼蹇ㄊ褂肁ltera公司的可編程邏輯器件MAXⅡEPM570實現(xiàn)數(shù)字邏輯電路設計,,降低了板卡的設計尺寸,增加了板卡的可靠性和設計靈活性,,它的在線編程特性可使得數(shù)字邏輯設計,、硬件設計,如同軟件設計一樣簡便,。
2.1 電源轉換模塊
    TMS320LF240A是低功耗芯片,,采用3.3 V供電,本設計采用Bay Linear Inc公司生產(chǎn)的電源轉換芯片B1117提供。
2.2 DSP接口電路
2.2.1 時鐘信號
    選擇16MHz的有源晶振作為外部時鐘信號源,,從DSP的XTAL1/CLXIN腳輸入,,經(jīng)PLL1和PLL2倍頻成32 MHz信號,供DSP使用,。因而TMS320LF2407A的速度可達到3 1 ns,,管腳XTAL2懸空。同時,,16 MHz的有源晶振也是CPLD器件MAXⅡ570的外部時鐘信號源,。
2.2.2 串行EEPROM接口電路
    TMS320LF2407A引導ROM為用戶提供兩種選擇:同步傳輸通過串行外設接口(SPI)實現(xiàn);異步傳輸通過串行通信接口(SCI)來實現(xiàn),。程序代碼可以加載到用戶指定的位置,。為了有效的引導ROM和加載,,本設計將MP/MC#引腳拉低,,從而使DSP工作于微控制器模式。
2.2.3 擴展RAM電路
    TMS320LF2407A有1.5 kB的數(shù)據(jù)/程序RAM,,544 bit雙口RAM(DARAM)和2 kB的單口RAM(SARAM),,但是考慮到所需的程序存儲空間和數(shù)據(jù)存儲空間較大,在DSP外部用一片CY62136V作為外存儲器,,該芯片是128 kB×16 bit的存儲器,,其中64 kB作為數(shù)據(jù)存儲器,其余64 kB作為程序存儲器空間,。
2.2.4 外部I/O信號處理
    通過管腳引入的硬件中斷,,包括軸限位中斷和編碼器INDEX信號中斷。8個限位中斷信號通過光耦隔離后接入CPLD,,經(jīng)CPLD相與后接入DSP中斷管腳XINT1,,同時這些信號與DSP的I/O口相連。當某一軸運動到限位開關處時,,就會觸發(fā)DSP的外部中斷信號XINT1,,然后DSP就可以判定哪個限位開關已經(jīng)到位。光耦器件選用Toshiba公司的貼片光耦TLP121,,它的平均輸入驅動電流為50 mA,,平均輸出驅動電流為5 mA,可直接驅動TTL電路,。
2.3 脈沖輸出電路
    每一軸的兩個信號輸出口PLUSE+和PLUSE-可用來輸出脈沖和方向信號,,這兩個輸出口可以由程序設定為CW/CCW雙脈沖模式或脈沖方向輸出模式,用戶可以設定J4~J11跳線來設定脈沖為差分輸出或者單端輸出兩種方式,。
2.4 D/A轉換輸出電路
    數(shù)模轉換電路的核心芯片采用BB公司生產(chǎn)的12位4路電壓輸出的數(shù)模轉換芯片DAC7625,。DAC的片選信號由DSP的DS,PS,IS,,STRB,,R/W#,WE#,,A0,,A1,A2,,A3,,A11經(jīng)過譯碼得到。DAC的4個通道在DSP中的I/O地址為:0000 H,,0001 H,,0002 H,0003 H,,DAC傳送寄存器地址為0004 H,。
2.5 編碼器電路
    該編碼器信號處理電路是針對增量式脈沖編碼器產(chǎn)生的信號進行處理。為消除外部驅動器大電源的干擾,,3對信號經(jīng)過光耦進行隔離,。利用DSP事件管理器中的正交編碼脈沖(QEP)電路,對引腳上的脈沖數(shù)目和頻率分別解碼和計數(shù),。
2.6 DSP-PC機通信電路
    這里選用美國IDT公司生產(chǎn)的雙口RAM芯片IDT71 V321,,該芯片均提供兩個帶有自身的控制、地址和I/O引腳的獨立端口,,它允許獨立地讀寫存儲器中的任何電源,。IDT71V321帶有片內(nèi)硬件端口仲裁電路,可以允許雙機同步地讀或寫存儲器中的任何單元,,同時保證數(shù)據(jù)的完整性,。它的競爭原則是:(1)左右兩端口的地址信號同時到達,那么誰的CE片選信號先到,,慢的一方BUSY線下拉,,直到快的一方訪問完畢;(2)左右兩端口的片選信號同時到達,,那么誰的訪問地址信號先到,,慢的一方BUSY線下拉,直到快的一方訪問完畢,。將IDT71V 321的左側信號按普通接法和DSP相接,。當DSP發(fā)出讀/寫IDT71V321的命令時,IDT71 V321鎖存左邊的BUSYL信號,,將此信號送到DSP,。若BUSYL信號為1,,則表示DSP剛才讀IDT71V321不存在沖突,讀/寫有效,;若為0,,則
說明DSP剛才對IDT71V 321的讀/寫存在沖突,本次讀/寫無效,,DSP要重新操作,。PC機對接口的尋址方式里采用L/O尋址方式,使用的控制線為IOW和IOR,。


3 軟件程序設計及流程
    整個運動控制系統(tǒng)程序主要包括EEPROM引導程序和DSP主程序兩部分,。其中,F(xiàn)lash引導程序的作用是把系統(tǒng)程序從片外低速EEPROM傳送到片外高速RAM中運行,,在運動控制卡的硬件調(diào)試階段,,程序規(guī)模比較小,程序可以存放在片內(nèi)的,。Flash中,,這樣則不需要引導程序,直接在片內(nèi)運行程序,。系統(tǒng)程序主要由主程序,、讀寫雙口RAM程序,、脈沖輸出程序,、插補程序和加減速控制程序組成。主程序調(diào)用各子程序,,進行與上位機的通信,、I/O、QEP,、定時器及中間寄存器的初始化,、設置中斷標志、讀取計數(shù)器的值,、計算各控制量,、積分平滑等功能。當發(fā)生中斷時,,調(diào)用相應中斷程序,,并修改或重置標志位。
    圖2所示為DSP主程序的流程圖,。主CPU使用硬件復位控制DSP的復位操作,,DSP復位后運行片內(nèi)ROM或加載到RAM中的系統(tǒng)主程序。DSP主程序由初始化程序,、時鐘循環(huán)等待中斷程序組成,。初始化程序完成所有變量的初始化,復位全部外設和關閉所有輸出。之后進入循環(huán)和等待中斷的過程,,檢測到主機命令之后,,讀取命令并根據(jù)系統(tǒng)需要調(diào)用相應的處理程序。命令處理完后再進入循環(huán)等待狀態(tài),,命令處理程序是實現(xiàn)運動控制器功能的關鍵程序,,包括運動控制的算法,速度控制,、位置控制等功能的實現(xiàn),,還包括完成數(shù)據(jù)寫入和讀取等功能,同時對外部中斷進行處理,。當上位機給運動控制卡發(fā)送控制命令時,,DSP首先讀取主機發(fā)送來的軸的目標位置,根據(jù)速度控制的模式設定指令選擇相應的速度控制算法,,同時查詢外部事件,,如有事件發(fā)生,執(zhí)行相應的處理程序,。接著就可以送出軸的控制輸出,,檢測各軸是否都完成運動(判斷軸狀態(tài)寄存器完成標志位),完成則推出命令處理程序,,否則繼續(xù)執(zhí)行,。


4 結束語
    運動控制器的硬件設計需要注意:如抗干擾、外圍電路的速度與DSP的實時性能匹配問題,。這些問題相互影響,,要確定一個正確的電路結構和合理的PCB布線,需要大量的實際經(jīng)驗,,因此在電路結構方面仍有待改進,,使之更適應穩(wěn)定、高速的控制要求,。對控制軟件的改進主要包括以下兩方面:
    (1)完成上位機上接口函數(shù),、運動控制函數(shù)庫和上層調(diào)試環(huán)境的設計、編寫NURBS數(shù)學處理程序,,在運動控制器內(nèi)部實現(xiàn)不同的插補算法,,建立運動控制器的操作平臺和完善的人機交互功能,使得運動控制器具有更強大的控制性能和更容易編程,;
    (2)對伺服電機的控制只提供了硬件上的支持,,在軟件上需要對光電編碼器的反饋信號進行分析,計算出與給定位置的誤差,,再通過軟件PID算法調(diào)節(jié)器獲得位置控制量來控制伺服系統(tǒng),。

此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權禁止轉載。