賈小波,于 東,胡 毅,陸小虎
(1.中國科學(xué)院 研究生院,北京 100049;2.中國科學(xué)院沈陽計(jì)算技術(shù)研究所,沈陽 110171;3.沈陽高精數(shù)控技術(shù)有限公司,沈陽 110171)
基于DSP的嵌入式運(yùn)動(dòng)控制器設(shè)計(jì)與優(yōu)化*
賈小波1,2,于 東2,3,胡 毅2,3,陸小虎1,2
(1.中國科學(xué)院 研究生院,北京 100049;2.中國科學(xué)院沈陽計(jì)算技術(shù)研究所,沈陽 110171;3.沈陽高精數(shù)控技術(shù)有限公司,沈陽 110171)
分析了基于DSP設(shè)計(jì)運(yùn)動(dòng)控制器的幾個(gè)關(guān)鍵技術(shù):DSP與SSB-Ⅲ總線控制器的中斷機(jī)制,高速現(xiàn)場總線技術(shù),定點(diǎn)DSP的IQmath浮點(diǎn)庫優(yōu)化技術(shù)和運(yùn)動(dòng)控制算法的優(yōu)化流程模型。最后針對影響運(yùn)動(dòng)控制器性能的中斷延遲時(shí)間、運(yùn)動(dòng)控制算法數(shù)據(jù)精度和算法執(zhí)行時(shí)間進(jìn)行了評測對比,實(shí)驗(yàn)結(jié)果表明滿足運(yùn)動(dòng)控制器的高精、實(shí)時(shí)等要求。
運(yùn)動(dòng)控制器;中斷機(jī)制;現(xiàn)場總線;優(yōu)化流程
隨著電子技術(shù)的不斷發(fā)展,ARM和DSP等各種嵌入式系統(tǒng)微處理器由于具有成本低廉、功耗小、結(jié)構(gòu)簡單且性能穩(wěn)定等特點(diǎn),在嵌入式系統(tǒng)開發(fā)領(lǐng)域得以廣泛應(yīng)用。采用ARM與DSP異構(gòu)雙核處理器開發(fā)嵌入式數(shù)控系統(tǒng),體積小,低功耗,低成本,高性能等特點(diǎn)[4],滿足中高檔數(shù)控系統(tǒng)產(chǎn)品市場需求。ARM擅長事務(wù)管理,DSP具有強(qiáng)大的數(shù)據(jù)處理和控制能力,美國德州儀器公司專門為異構(gòu)雙核提供了OMAP 系列芯片,片上無縫集成 ARM+DSP[2],且為DSP設(shè)計(jì)了DSP/BIOS實(shí)時(shí)操作系統(tǒng),適合實(shí)時(shí)運(yùn)動(dòng)控制。
本文分析了基于DSP的嵌入式運(yùn)動(dòng)控制器幾個(gè)關(guān)鍵技術(shù),包括DSP與SSB-Ⅲ總線控制器的中斷機(jī)制、高速現(xiàn)場總線技術(shù)、定點(diǎn)DSP的IQmath浮點(diǎn)庫優(yōu)化技術(shù)和運(yùn)動(dòng)控制算法的優(yōu)化流程。給出了基于異構(gòu)雙核微處理器OMAP3530及高速現(xiàn)場總線SSB-Ⅲ的嵌入式數(shù)控系統(tǒng)的設(shè)計(jì),并重點(diǎn)闡述了SSB-Ⅲ總線控制器和DSP間中斷機(jī)制的實(shí)現(xiàn)、高速現(xiàn)場總線技術(shù)以及使用IQmath庫下的運(yùn)動(dòng)控制算法的優(yōu)化流程模型,最后測試了DSP與SSB-Ⅲ總線控制器的中斷延遲時(shí)間以及運(yùn)動(dòng)控制算法的數(shù)據(jù)精度和執(zhí)行時(shí)間,結(jié)果表明該方法完全能滿足運(yùn)動(dòng)控制器高實(shí)時(shí),高精度的性能需求。
嵌入式數(shù)控系統(tǒng)硬件結(jié)構(gòu)如圖1所示。上位機(jī)采用最小系統(tǒng)板和擴(kuò)展板構(gòu)成的主控板,下位機(jī)由SSB-Ⅲ總線控制器構(gòu)成,為提升系統(tǒng)的開放性,引入了高檔數(shù)控國家工程研究中心自主開發(fā)的SSB-Ⅲ高速現(xiàn)場總線。
其中最小系統(tǒng)板包括OMAP3530、MCP(集成DDR和NAND存儲模塊)、電源管理芯片TPS,并通過系統(tǒng)擴(kuò)展板提供了SD、LCD、USB等外設(shè)接口。SSB-Ⅲ總線控制板采用SSB-Ⅲ總線通信協(xié)議,包括通信外圍電路、通信邏輯芯片、板級通信接口。主控電路板和總線控制板通過通用存儲控制器接口進(jìn)行數(shù)據(jù)傳輸??偩€控制板和底層伺服控制單元之間通過SSB-Ⅲ高速現(xiàn)場總線進(jìn)行通信。運(yùn)動(dòng)控制系統(tǒng)硬件結(jié)構(gòu)包括主控板DSP核心和SSB-Ⅲ總線控制器構(gòu)成。
圖1 嵌入式數(shù)控系統(tǒng)硬件結(jié)構(gòu)
中斷延遲時(shí)間是衡量運(yùn)動(dòng)控制系統(tǒng)重要指標(biāo)。一個(gè)實(shí)時(shí)系統(tǒng)性能的主要評測標(biāo)準(zhǔn)包括:系統(tǒng)響應(yīng)時(shí)間、任務(wù)切換時(shí)間、中斷延遲時(shí)間、調(diào)度延遲時(shí)間、周期抖動(dòng)等[1]。
中斷延遲時(shí)間定義為:從中斷源發(fā)出中斷信號到操作系統(tǒng)做出響應(yīng),并完成進(jìn)入中斷服務(wù)函數(shù)所需時(shí)間[1]。針對主控板與底層SSB-Ⅲ總線控制器間的中斷的實(shí)現(xiàn)通常是由ARM響應(yīng),再通過雙核通信機(jī)制如消息隊(duì)列或者共享內(nèi)存機(jī)制傳遞給DSP處理,但是這種處理方式將中斷流程硬性的分割在兩個(gè)核上,由于存在通信時(shí)延,響應(yīng)延遲高,實(shí)時(shí)性差,另一種方案直接由ARM運(yùn)行強(qiáng)實(shí)時(shí)運(yùn)動(dòng)控制算法并響應(yīng)中斷,而DSP閑置,當(dāng)實(shí)時(shí)任務(wù)加重時(shí)會造成ARM核負(fù)載過重難以保證實(shí)時(shí)。ARM+DSP主從核結(jié)構(gòu)如圖2,DSP集成在IVA2.2子系統(tǒng)中,ARM集成在MPU子系統(tǒng)中,二者對等連接到L3總線,且DSP也有對中斷進(jìn)行響應(yīng)的內(nèi)部機(jī)制[10]。
因此,可以采用直接由DSP響應(yīng)底層總線控制器的中斷信號,在 SSB-Ⅲ總線控制器和主控板OMAP3530芯片空閑輸入引腳建立物理連接,然后,具體的軟件配置步驟如圖3:步驟包括配置焊板,將空閑輸入引腳設(shè)為復(fù)用模式,并作輸入使能;DSP檢測中斷使能;消去抖動(dòng);配置中斷觸發(fā)方式;在DSP實(shí)時(shí)操作系統(tǒng)上實(shí)現(xiàn)中斷機(jī)制;編寫中斷服務(wù)例程等。
圖2 OMAP3530芯片硬件結(jié)構(gòu)
圖3 DSP外部中斷配置流程圖
現(xiàn)場總線作為運(yùn)動(dòng)控制器的控制接口,已經(jīng)發(fā)展到以工業(yè)以太網(wǎng)技術(shù)為基礎(chǔ)的第三代,其傳輸速度和抗干擾等性能直接影響到運(yùn)動(dòng)控制器加工的速度和精度。現(xiàn)場總線的體系結(jié)構(gòu)基本都以ISO/OSI為參考模型。為了適應(yīng)控制系統(tǒng)中信息長度短、實(shí)時(shí)性要求高的特點(diǎn),現(xiàn)場總線沒有采用網(wǎng)絡(luò)層到表示層,以降低由于層間操作與轉(zhuǎn)換而帶來的時(shí)間開銷,并將這4層的必要功能設(shè)置在應(yīng)用層和數(shù)據(jù)鏈路層中。因此,典型的基于以太網(wǎng)的現(xiàn)場總線協(xié)議一般包括物理層、數(shù)據(jù)鏈路層和應(yīng)用層,如表1所示[5]。
表1 功能設(shè)置表
SSB-Ⅲ現(xiàn)場總線通信模型如圖4所示。主站和從站均包括物理層、數(shù)據(jù)鏈路層、應(yīng)用層。主從站之間使用問答的方式進(jìn)行通信,主站從從站的應(yīng)答協(xié)議幀中獲取通信狀態(tài)信息(數(shù)據(jù)收發(fā)是否錯(cuò)誤等)。每個(gè)從站有兩個(gè)通信接口,兩兩相接,形成菊花鏈拓樸結(jié)構(gòu)。每個(gè)從站除了作為通信主體外,還采用交換技術(shù)對其它站的信息進(jìn)行實(shí)時(shí)轉(zhuǎn)發(fā)[6]。
圖4 SSB-Ⅲ現(xiàn)場總線通信模型
SSB-Ⅲ總線控制板功能設(shè)計(jì)如圖5a所示,如前所述分為三個(gè)邏輯功能塊:通信外圍電路、通信邏輯芯片、板級通信接口。其中通信邏輯芯片采用FPGA,采用SSB-Ⅲ總線協(xié)議實(shí)現(xiàn)高速現(xiàn)場總線的鏈路層功能,其功能框圖如圖5b所示。整個(gè)鏈路層可以劃分為三個(gè)邏輯部分:物理層接口(MII interface)、鏈路層邏輯功能、用戶層接口。物理層和用戶層接口主要實(shí)現(xiàn)物理層和用戶層信息的接入。而鏈路層邏輯功能實(shí)現(xiàn)現(xiàn)場總線鏈路層的全部功能:實(shí)時(shí)數(shù)據(jù)交換、主/從站調(diào)度、數(shù)據(jù)幀的編解碼、數(shù)據(jù)存儲組織等[7]。
圖5 SSB-III總線控制板、數(shù)據(jù)鏈路層功能框圖
運(yùn)動(dòng)控制器對運(yùn)動(dòng)控制算法的數(shù)據(jù)精度和加工的實(shí)時(shí)性都有嚴(yán)格要求,這就要求DSP必須支持高精度浮點(diǎn)運(yùn)算和較高的處理速度。市場應(yīng)用的DSP有定點(diǎn)與浮點(diǎn)兩大類,浮點(diǎn)DSP具有支持浮點(diǎn)運(yùn)算的硬件單元(FPU),浮點(diǎn)運(yùn)算速度高,但是價(jià)格昂貴,處理頻率低;定點(diǎn)DSP沒有FPU,浮點(diǎn)數(shù)據(jù)必須通過軟件實(shí)現(xiàn),這樣增加了指令代碼,間接使得定點(diǎn)DSP運(yùn)算速度低于浮點(diǎn)DSP。且定點(diǎn)DSP現(xiàn)較多集成在ARM+DSP異構(gòu)雙核芯片中,應(yīng)用市場廣泛,如圖1嵌入式數(shù)控系統(tǒng)OMAP系列芯片,因此,對定點(diǎn)DSP進(jìn)行浮點(diǎn)運(yùn)算的優(yōu)化顯得尤為重要。為此,美國德州儀器公司專門為定點(diǎn)DSP提供了IQmath庫以支持浮點(diǎn)運(yùn)算,可以將IQmath庫移植到Linux等系統(tǒng)開發(fā)環(huán)境中。
IQmath提供了30種Q格式,根據(jù)數(shù)據(jù)范圍和精度要求選擇相應(yīng)的Q格式[8]。
QK的相應(yīng)格式為小數(shù)點(diǎn)加在第K位的右側(cè),定點(diǎn)數(shù)的大小按如下計(jì)算:-2I+2I-1+… +20+20·2-1+2-1+… +2-Q。
例如我們選擇Q15定點(diǎn)數(shù)格式,則對應(yīng)的32位有符號定點(diǎn)數(shù)的格式如下:
其中S為符號位,I為整數(shù)部分,F(xiàn)為小數(shù)部分。
如Q15數(shù)據(jù)格式最小值1 000000000000000 0.000 0000 0000 0000= -216,即為 65536,最大值為0 11111111111 11111.1111111 11111111=215+214+… +20+2-1+ … +2-15即為 65535.999 969 482,精度為0.000 030 518。小數(shù)0.125如果采用Q15格式表示則為1000H。
運(yùn)動(dòng)控制系統(tǒng)對數(shù)據(jù)精度要求極為嚴(yán)格,要求數(shù)據(jù)誤差盡可能小。使用IQmath要在保證精度情況下,對算法的數(shù)據(jù)范圍進(jìn)行檢查,然后確定使用的Q格式。使用IQ-math浮點(diǎn)庫必須將程序中的浮點(diǎn)數(shù)據(jù)全部轉(zhuǎn)化為Q格式,IQmath庫支持C/C++語言開發(fā)。涉及數(shù)據(jù)運(yùn)算都要采用IQmath庫函數(shù),這些函數(shù)由匯編語言改寫,運(yùn)算速度高,如:
運(yùn)動(dòng)控制算法影響運(yùn)動(dòng)控制器的加工精度和效率,因此對運(yùn)動(dòng)控制算法進(jìn)行優(yōu)化尤為重要。針對定點(diǎn)DSP的運(yùn)動(dòng)控制算法優(yōu)化可以分為四個(gè)階段,運(yùn)動(dòng)控制算法在嵌入式數(shù)控系統(tǒng)的優(yōu)化流程模型如圖6。
第一步:用C語言實(shí)現(xiàn)算法,使用DSP開發(fā)環(huán)境CCS自帶profile clock工具測試程序運(yùn)行時(shí)間,若不能滿足要求,則進(jìn)行第二步。
第二步:優(yōu)化C代碼,使用C64x+開發(fā)環(huán)境CCS編譯器提供的優(yōu)化方式和C語言優(yōu)化技術(shù)。
第三步:針對定點(diǎn)DSP,傳統(tǒng)優(yōu)化方式若不能滿足,將浮點(diǎn)數(shù)利用TI提供的IQmath庫進(jìn)行定點(diǎn)話處理,選擇合適的Q格式,IQmath庫函數(shù)改寫等。
第四步:編寫線性匯編,確定程序段中效率較低的部分,用線性匯編改寫,利用匯編優(yōu)化器進(jìn)行優(yōu)化,最終將匯編程序轉(zhuǎn)化為利用流水線方式的高速并行匯編程序。
圖6 DSP算法優(yōu)化流程模型
C64x+平臺下的C源程序優(yōu)化的核心思想就是串行程序的并行化,可以選用的優(yōu)化方法如下:
(1)使用DSP集成環(huán)境CCS自帶的C編譯器進(jìn)行優(yōu)化,優(yōu)化選項(xiàng)如下:
-o:使能軟件流水和其他優(yōu)化方法,其中-o3為最強(qiáng)級別的優(yōu)化。
-k:保留優(yōu)化后生成匯編語言文件。
-mt:若程序中沒有使用alaising技術(shù),則編譯器可以進(jìn)行比較好的優(yōu)化。
-mw:在匯編語言文件加入軟件流水線信息。
-ms:確保不產(chǎn)生冗余循環(huán),從而減小代碼尺寸。
-s:匯編語言文件中加入優(yōu)化信息,如果沒有則加入C語言源程序作為注釋等。
(2)針對DSP編譯器特點(diǎn)的C代碼優(yōu)化方法
①減小代碼相關(guān)性,多使用const關(guān)鍵字
CCS編譯器盡可能將不相關(guān)的代碼指令安排為并行執(zhí)行,而在不確定指令間關(guān)系時(shí),將默認(rèn)為相關(guān)的,因此,在設(shè)計(jì)中多用關(guān)鍵字const來指定目標(biāo),以減小指令相關(guān)性。
②多使用內(nèi)聯(lián)函數(shù)(intrinsics),少使用函數(shù)調(diào)用
編譯器提供了專門內(nèi)聯(lián)函數(shù),由嵌入式的匯編指令實(shí)現(xiàn),在C代碼中調(diào)用內(nèi)聯(lián)函數(shù)按照一般的函數(shù)調(diào)用規(guī)則,再在內(nèi)聯(lián)函數(shù)前加下劃線。在intrinsics提供了數(shù)據(jù)的快速運(yùn)算指令,下面列舉在優(yōu)化過程中比較常用的幾個(gè)intrinsics指令[9]:
(3)軟件流水線的優(yōu)化方法
軟件流水線是編譯器針對循環(huán)使用的一種調(diào)度技術(shù)。通過將多個(gè)循環(huán)體并行起來,從而加快循環(huán)的速度。其原理是,將循環(huán)體劃分成多個(gè)部分,在流水線的每一個(gè)環(huán)節(jié)可同時(shí)處理多個(gè)循環(huán)體的不同部分。代碼編譯時(shí),選擇編譯器編譯選項(xiàng)-mt或內(nèi)部函數(shù)_nassert,編譯器將根據(jù)程序盡可能地安排軟件流水線。如圖7所示。
圖7 軟件流水線的循環(huán)結(jié)構(gòu)
應(yīng)用上述關(guān)鍵技術(shù),可以從硬件和軟件兩方面極大提高運(yùn)動(dòng)控制器的實(shí)時(shí)性和精準(zhǔn)度,為了測試運(yùn)動(dòng)控制器性能,實(shí)驗(yàn)對DSP與底層FPGA總線控制板中斷延遲時(shí)間進(jìn)行了測量,同時(shí)為了驗(yàn)證優(yōu)化流程和IQmath浮點(diǎn)庫的有效性,實(shí)驗(yàn)選取運(yùn)動(dòng)控制算法中具有典型特點(diǎn)的基于濾波技術(shù)的速度規(guī)劃算法[3]作為實(shí)例進(jìn)行優(yōu)化,最后對影響運(yùn)動(dòng)控制器實(shí)時(shí)和精度的算法執(zhí)行時(shí)間和算法數(shù)據(jù)精度兩個(gè)性能指標(biāo)進(jìn)行測試。
整套實(shí)驗(yàn)裝置由OMAP3530主控板、FPGA總線控制板、SSB-Ⅲ總線伺服驅(qū)動(dòng)單元、伺服電機(jī)、供電和通信電纜、以及鍵盤、液晶顯示器等輸入輸出設(shè)備構(gòu)成,如圖8所示。
圖8 完整的實(shí)驗(yàn)裝置
為對比不同設(shè)計(jì)方案下,對系統(tǒng)中斷延遲時(shí)間進(jìn)行測試:①全部任務(wù)置于ARM核心,使用實(shí)時(shí)化Linux操作系統(tǒng),DSP核心閑置;②采用結(jié)構(gòu)獨(dú)立、任務(wù)分離的設(shè)計(jì)方案,使用DSP/BIOS實(shí)時(shí)操作系統(tǒng),充分利用雙核的計(jì)算資源。任務(wù)劃分如前所述。
第一種方案實(shí)時(shí)化Linux操作系統(tǒng)的中斷延遲時(shí)間利用系統(tǒng)的定時(shí)器中斷進(jìn)行測量,最壞情況(所得數(shù)據(jù)中的最大值)為4.08μs。第二種方案下的測量對象是DSP/BIOS系統(tǒng)的中斷延遲時(shí)間如圖9。從圖中可得最大中斷延遲時(shí)間為5.7μs。
兩種方案下的系統(tǒng)中斷延遲時(shí)間均達(dá)到了硬實(shí)時(shí)的要求,完全可以滿足高性能數(shù)控應(yīng)用的需求。但是測試時(shí),第一種方案在系統(tǒng)任務(wù)增加時(shí),ARM核負(fù)載過重,難以保證實(shí)時(shí)。第二種方案由于對系統(tǒng)任務(wù)進(jìn)行了合理劃分,均衡了雙核上的運(yùn)行負(fù)載,保證了運(yùn)動(dòng)控制器的實(shí)時(shí)高效運(yùn)轉(zhuǎn)。
圖9 DSP/BIOS系統(tǒng)中斷延遲時(shí)間
實(shí)現(xiàn)基于濾波技術(shù)的速度規(guī)劃算法,實(shí)驗(yàn)數(shù)據(jù)取最大速度10m/s,加減速時(shí)鐘周期0.002s,最大加速度0.08m2/s,運(yùn)動(dòng)軌跡從(0,0)到(30,0)mm,濾波器長度為20。選用雙精度數(shù)據(jù)類型,在保證了精度條件下,定點(diǎn)DSP由于處理浮點(diǎn)數(shù)時(shí)存在浮點(diǎn)和定點(diǎn)間相互轉(zhuǎn)換耗時(shí),導(dǎo)致算法的執(zhí)行時(shí)間達(dá)到76ms,如圖10a,大大長于傳統(tǒng)PC和浮點(diǎn)DSP運(yùn)行時(shí)間,難以滿足數(shù)控系統(tǒng)實(shí)時(shí)性要求。
圖10b為采用IQmath浮點(diǎn)庫并經(jīng)過C代碼優(yōu)化后的執(zhí)行時(shí)間。
圖10 優(yōu)化前后對比
從圖中可以看出該算法在使用IQmath浮點(diǎn)庫和C代碼優(yōu)化后,算法執(zhí)行時(shí)間大大減少,由之前76ms降低為2ms,優(yōu)化并使用IQmath后的算法運(yùn)行時(shí)間是未使用Q格式算法執(zhí)行時(shí)間的1/10以內(nèi),未出現(xiàn)執(zhí)行時(shí)間的大范圍跳變,且數(shù)據(jù)多穩(wěn)定在較為清晰的四條時(shí)間帶,說明算法執(zhí)行時(shí)穩(wěn)定性好。實(shí)驗(yàn)中使用的數(shù)據(jù)格式為Q23,精度為0.000000119,與PC平臺實(shí)驗(yàn)數(shù)據(jù)精度誤差不到1um,實(shí)驗(yàn)精度數(shù)據(jù)如圖11,雙精度數(shù)據(jù)速度曲線與采用Q格式的速度曲線吻合,說明二者精度相當(dāng),支持該分析結(jié)果,滿足數(shù)控系統(tǒng)精度要求。
將該算法在TMS320F28335(150MHZ)浮點(diǎn)DSP運(yùn)行,測試數(shù)據(jù)顯示,濾波速度規(guī)劃算法運(yùn)行時(shí)間為22.3ms,數(shù)據(jù)精度和上述實(shí)驗(yàn)精度相同,耗時(shí)長于優(yōu)化后的定點(diǎn)DSP(360MHZ)算法執(zhí)行時(shí)間。
圖11 DSP平臺Q格式濾波算法速度規(guī)劃曲線
本文著眼于基于DSP的運(yùn)動(dòng)控制器的設(shè)計(jì)與優(yōu)化,介紹了影響運(yùn)動(dòng)控制器性能的幾個(gè)關(guān)鍵技術(shù),包括DSP與SSB-Ⅲ總線控制器的中斷機(jī)制實(shí)現(xiàn),現(xiàn)場總線技術(shù),IQmath浮點(diǎn)庫原理及應(yīng)用,運(yùn)動(dòng)控制算法優(yōu)化流程,最后選取運(yùn)動(dòng)控制算法中具有代表性的基于滑動(dòng)濾波的速度規(guī)劃算法作為應(yīng)用實(shí)例進(jìn)行優(yōu)化,并對影響運(yùn)動(dòng)控制器性能的中斷延遲時(shí)間、運(yùn)動(dòng)控制算法的算法執(zhí)行時(shí)間和數(shù)據(jù)精度進(jìn)行測試,實(shí)驗(yàn)數(shù)據(jù)表明,設(shè)計(jì)和優(yōu)化滿足運(yùn)動(dòng)控制器高精度,強(qiáng)實(shí)時(shí)的應(yīng)用需求,并總結(jié)了一套基于DSP的運(yùn)動(dòng)控制系統(tǒng)的設(shè)計(jì)方法和優(yōu)化流程模型,為進(jìn)一步設(shè)計(jì)開發(fā)優(yōu)化嵌入式運(yùn)動(dòng)控制器有一定的借鑒意義。
[1]林滸,蔡光起,李鳳憲,等.實(shí)時(shí)化的Linux系統(tǒng)及其實(shí)時(shí)性能的研究[J].小型微型計(jì)算機(jī)系統(tǒng),2004(8):1454-1457.
[2]張啟貴,張勝,張剛,等.最新DSP技術(shù)[M].北京:國防工業(yè)出版社,2009.
[3]于東,胡韶華,蓋榮麗,等.基于濾波技術(shù)的數(shù)控系統(tǒng)加減速研究[J].中國機(jī)械工程,2008(2):75-78.
[4]賴曉豐,劉敬猛,李善鋒.基于ARM和運(yùn)動(dòng)控制器的嵌入式數(shù)控系統(tǒng)設(shè)計(jì)[J].機(jī)床與液壓,2011(3):86-88.
[5]王志成,于東,李培新,等.數(shù)控系統(tǒng)現(xiàn)場總線通信效率的改進(jìn)[J].計(jì)算機(jī)工程,2011(10):23-15.
[6]王志成,于東,張曉輝,等.數(shù)控系統(tǒng)現(xiàn)場總線可靠通信機(jī)制的研究[J].機(jī)械工程學(xué)報(bào),2011(3):152-158.
[7]胡毅,于東,郭銳鋒,等.數(shù)控總線的消息安全通信方法[J].機(jī)械工程學(xué)報(bào),2011(5):134-142.
[8]TMS320C64x+IQmath Library User’s Guide[Z].
[9]TMS320C64x_C64x+DSP CPU and Instruction Set Reference Guide[Z].
[10] Texas Instruments Incorporated.OMAP35x Applications Processor Technical Reference Manual[Z].USA:Texas Instruments Incorporated,September 2008.
(編輯 李秀敏)
Embedded Motion Control System Design and Optim ization Based On DSP
JIA Xiao-bo1,2,YU Dong2,3,HU Yi2,3,LU Xiao-hu1,2
(1.Graduate University of Chinese Academy of Sciences,Beijing 100049,China;2.Shenyang Institute of Computing Technology,Chinese Academy of Sciences,Shenyang 110171,China)
Several key technology in designingmotion controller based on DSP:the interruptmechanism between DSP and FPGA bus controller,high-speed field bus technology,fixed-point DSP IQmath floating-point library optimization technology andmotion control algorithm optimization processmodel.Finally,this paper completed themeasurement of themotion controller performance and interrupt latency,and data accuracy and execution time of motion control algorithm,the experimental results show that can meet the high-precision motion controller,real-time and other requirements.
motion controller;interruptmechanism;field bus;optim ize processes
TH16;TG65
A
1001-2265(2013)03-0042-05
2012-07-06
國家科技支撐計(jì)劃(2012BAF13B08);核高基國家科技重大專項(xiàng)(2012ZX01029001-002)
賈小波(1987—),男,湖北襄陽人,中國科學(xué)院研究生院碩士研究生,主要研究方向?yàn)閿?shù)控技術(shù),(E-mail)jiaxiaobo@sict.ac.cn;于東(1966—),男,中國科學(xué)院沈陽計(jì)算技術(shù)研究所博士,研究員,博士生導(dǎo)師,主要研究方向?yàn)閿?shù)控技術(shù)、面向控制器的實(shí)時(shí)系統(tǒng)等。