摘要:由于DSP將超強(qiáng)的高速實(shí)時(shí)處理能力和豐富的外設(shè)功能集于一身耍休,目前丘登,以DSP為核心的嵌入式運(yùn)動(dòng)控制器已經(jīng)成為開(kāi)放式運(yùn)動(dòng)控制器的發(fā)展主流,并獲得廣泛的應(yīng)用香题。本文通過(guò) 對(duì)運(yùn)動(dòng)控制器基本功能的研究,在分析酪律、消化已有的基于DSP的運(yùn)動(dòng)控制器硬件資源基礎(chǔ)上雌隅,開(kāi)發(fā)了運(yùn)動(dòng)控制器的軟件系統(tǒng),詳細(xì)介紹了運(yùn)動(dòng)控制器的軟件設(shè)計(jì)缸沃。
關(guān)鍵字:軟件開(kāi)發(fā)恰起;DSP;運(yùn)動(dòng)控制
1運(yùn)動(dòng)控制器硬件結(jié)構(gòu)
本運(yùn)動(dòng)控制器的硬件結(jié)構(gòu)主要分為如下幾個(gè)模塊:DSP+CPLD 主控模塊,包括 DSP 核心 模塊和 CPLD 驅(qū)動(dòng)與擴(kuò)展模塊检盼;通信接口模塊肯污,包括 PCI 總線、USB 總線和串口吨枉;I/O 輸入輸 出接口模塊以及外圍存儲(chǔ)器模塊蹦渣,包括 SRAM 和 FLASH。
1.1 DSP+CPLD 主控模塊
本系統(tǒng)采用了 TI 公司的 TMS320F2812 DSP 為控制核心貌亭,這是工業(yè)界首批 32 位的控制 專用柬唯、內(nèi)含 FLASH 以及高達(dá) 150MHz 主頻的數(shù)字信號(hào)處理器,專門為工業(yè)自動(dòng)化圃庭、光學(xué)網(wǎng)絡(luò)及自動(dòng)化控制等應(yīng)用而設(shè)計(jì)的锄奢。TMS320F2812 采用哈佛總線結(jié)構(gòu),有獨(dú)立的程序和數(shù)據(jù)空間剧腻;具有很強(qiáng)的運(yùn)算能力工划,能夠?qū)崟r(shí)地處理許多復(fù)雜的控制算法;片上內(nèi)存豐富占找,可支持45 個(gè)外設(shè)級(jí)中斷和 3 個(gè)外部中斷绸秸,提取中斷向量和保存現(xiàn)場(chǎng)只需 9 個(gè)時(shí)鐘周期,響應(yīng)迅速支际; 片上集成了多種先進(jìn)的外設(shè)匠似,包括兩個(gè)事件管理器(EV)、12 位 A/D蟹嫁、兩個(gè)串行通信接口(SCI)暗沉、一個(gè)串行外圍接口(SPI)以及一個(gè)多通道緩沖串行接口(McBSP)等;其通用輸 入/輸出多路復(fù)用器(GPIO)擁有多達(dá) 56 個(gè) I/O 口讹玉,在系統(tǒng)的軟件開(kāi)發(fā)中正是利用了這些豐富的內(nèi)外設(shè)資源里淡,才實(shí)現(xiàn)了系統(tǒng)要求的各種功能。
本系統(tǒng)中選用的 CPLD 是 Altera 公司 MAX3000A 系列的 EPM3128挡辩,這是一款高性能谎跨、 低功耗的基于 EEPROM 的 PLD。由于本系統(tǒng)的控制對(duì)象是步進(jìn)電機(jī)垃杖,所以設(shè)計(jì)中主要利用TMS320F2812 的 GPIO 口進(jìn)行電機(jī)控制接口與 I/O 接口的輸入輸出男杈,但是由于 TMS320F2812
是低功耗處理器,其 GPIO 引腳的輸出驅(qū)動(dòng)能力有限调俘,而且由于 DSP 是主控核心伶棒,負(fù)載比 較多,所以將所有輸出信號(hào)都經(jīng)過(guò) CPLD 驅(qū)動(dòng)后輸出彩库,提高信號(hào)的驅(qū)動(dòng)能力肤无。此外先蒋,CPLD還用于系統(tǒng)電路的譯碼,增加系統(tǒng)設(shè)計(jì)的靈活性和可擴(kuò)展性宛渐。
1.2 通信接口模塊
本系統(tǒng)在用作插卡式運(yùn)動(dòng)控制時(shí)利用 PCI 總線實(shí)現(xiàn) DSP 與 PC 的通信竞漾。PCI(PeripheralComponent Interconnect 外圍部件互聯(lián))總線是 Intel 公司聯(lián)合其他 100 多家公司于 1992 年推 出的基于新一代處理器的一種局部總線,是一種高性能 32/64 位數(shù)據(jù)/地址復(fù)用總線窥翩,能為 CPU 及外設(shè)提供高性能數(shù)據(jù)畴蹭。PCI 總線具有嚴(yán)格的規(guī)范,目前已經(jīng)發(fā)布了 PCI V1.0 和 V2.1規(guī)范鳍烁,保證了其良好的兼容性叨襟;PCI 總線與 CPU 無(wú)關(guān),與時(shí)鐘頻率也無(wú)關(guān)羞条,可適用于各種平臺(tái)慌缨,支持多處理器和并發(fā)工作;PCI 總線可以提供極高的數(shù)據(jù)傳輸速率资妇,還具有良好的擴(kuò) 展性娱背。因此,PCI 總線在基于計(jì)算機(jī)總線的運(yùn)動(dòng)控制系統(tǒng)水矢,即“PC+運(yùn)動(dòng)控制器”的結(jié)構(gòu)中應(yīng)用十分廣泛烂秘。
本系統(tǒng)選用 CYPRESS 公司的 CY7C68001 芯片實(shí)現(xiàn) PC 機(jī)和 DSP 之間的 USB 通信。CY7C68001 是通用 USB2.0 接口控制器巩顶,它是基于應(yīng)用層編程的接口器件裳雕,相對(duì)于其它基于 鏈路層編程的接口器件,使用和開(kāi)發(fā)都很方便日病。本系統(tǒng)采用 DSP 片上的 SCI 串行通信模塊以及 MAX232 芯片轉(zhuǎn)換成標(biāo)準(zhǔn) RS-232 的通 信信號(hào)帜浇,實(shí)現(xiàn)正常的串口通信。
1.3 I/O 輸入輸出接口模塊
本系統(tǒng)的輸入/輸出是通過(guò) CPLD 的邏輯控制來(lái)實(shí)現(xiàn)的秦辆,以提高系統(tǒng)的工作可靠性和設(shè) 計(jì)柔性项茸。考慮到運(yùn)動(dòng)控制器的可擴(kuò)展性以及 DSP 的 GPIO 引腳的數(shù)量梦重,共設(shè)計(jì)了 16 路數(shù)字量輸出通道和 16 路數(shù)字量輸入通道兑燥。數(shù)字量輸出通道主要用于各軸方向、脈沖信號(hào)的輸出以及一些外部設(shè)備的啟颓倥。控制降瞳,如主軸及冷卻液的開(kāi)關(guān)控制等;數(shù)字量輸入通道可根據(jù)用戶 具體要求來(lái)定義其用途艾蓝,如作為傳感器接口力崇,用于零點(diǎn)、限位信號(hào)的輸入等赢织。為提高系統(tǒng)應(yīng)用的靈活性亮靴,系統(tǒng)輸出采用了普通輸出和差分輸出兩種方式,具體使用可由用戶自行設(shè)定于置。
1.4 外圍存儲(chǔ)器模塊
FLASH 用來(lái)存儲(chǔ)系統(tǒng)軟件程序已經(jīng)足夠茧吊,但是在實(shí)際使用中,考慮到運(yùn)動(dòng)控制指令和加工程序需要通過(guò) USB 總線或 PCI 總線下載到運(yùn)動(dòng)控制器中八毯,且 DSP 在工作過(guò)程中需要處理大 量的數(shù)據(jù)搓侄,僅依靠 DSP 芯片內(nèi)部的存儲(chǔ)空間遠(yuǎn)遠(yuǎn)不夠,所以考慮外擴(kuò)一片 FLASH 和一片SRAM 作為用戶加工程序存儲(chǔ)器和系統(tǒng)的工作存儲(chǔ)器予乏,它們通過(guò) CPLD 完成與 DSP 之間的讀寫操作偿寥。
本系統(tǒng)選用了 Intel 公司的 E28F128 FLASH 和 ISSI 公司的 IS61LV51216SRAM。E28F128 是一種采用 CMOS 工藝制成的 8MB 的 FLASH蟹游,其讀寫訪問(wèn)時(shí)間為 150ns填级,此讀寫周期已經(jīng) 大于 DSP 對(duì)外部端口的讀寫周期,為了能夠和 DSP 的讀寫周期進(jìn)行匹配蔓捡,在對(duì) FLASH 進(jìn) 行讀寫操作過(guò)程中必須插入等待周期怜人。IS61LV51216 是一種高速異步靜態(tài) 512KB 的 SRAM, 其讀寫周期為 10ns擦灸,與 DSP 之間可以無(wú)需插入等待周期便可以進(jìn)行讀寫操作癌羞,并可以直接映射到 DSP 外部存儲(chǔ)接口的 Zone2 或者 Zone6 區(qū)域。
2運(yùn)動(dòng)控制器軟件結(jié)構(gòu)
2.1 系統(tǒng)軟件功能設(shè)計(jì)運(yùn)動(dòng)控制器通常作為一個(gè)獨(dú)立的過(guò)程控制單元用于工業(yè)自動(dòng)化生產(chǎn)中剂撑,它的功能是由硬件和軟件共同實(shí)現(xiàn)的硬件為軟件運(yùn)豌富,行提供了支撐環(huán)境,軟件負(fù)責(zé)實(shí)現(xiàn)系統(tǒng)要求的所有功能苞毡。本系統(tǒng)軟件需要完成控制和管理兩大任務(wù)赋焕,圖2表示的是其軟件功能結(jié)構(gòu)。
其中仰楚,系統(tǒng)的控制包括位置控制隆判、插補(bǔ)、速度處理和開(kāi)關(guān)量I/O控制等僧界,這類任務(wù)的實(shí)時(shí)性很強(qiáng)侨嘀,所以軟件程序的優(yōu)先級(jí)也較高;系統(tǒng)的管理包括人機(jī)界面顯示捂襟、參數(shù)設(shè)置和程序下載等咬腕,這類任務(wù)的實(shí)時(shí)性要求不高,所以軟件程序的優(yōu)先級(jí)也相對(duì)較低葬荷≌枪玻可以說(shuō),一個(gè)運(yùn)動(dòng)控制系統(tǒng)的基本功能均由上述功能的子程序?qū)崿F(xiàn)宠漩,通過(guò)增加子程序可進(jìn)一步增加系統(tǒng)的功能举反。
要實(shí)現(xiàn)這些功能懊直,必須做好運(yùn)動(dòng)控制器的軟件規(guī)劃,劃分各個(gè)功能模塊火鼻,才能在DSP芯片上設(shè)計(jì)運(yùn)行程序旱醉。本系統(tǒng)軟件主要分為兩個(gè)層次,包括PC層軟件和DSP層軟件穗蚌,其中PC層軟件在單板式運(yùn)動(dòng)控制中主要實(shí)現(xiàn)加工程序的傳輸和下載等功能敬育;在插卡式運(yùn)動(dòng)控制中,除此之外崭守,還需實(shí)現(xiàn)加工情況顯示零勃、加工命令發(fā)送等人機(jī)交互界面的功能。運(yùn)動(dòng)控制器的主要功能由DSP層完成浙辫,本課題的主要任務(wù)也是DSP層軟件的程序?qū)崿F(xiàn)类菊,具體包括:
1.運(yùn)動(dòng)控制運(yùn)動(dòng)控制功能是運(yùn)動(dòng)控制器的主要功能,包括位置控制苫颤、插補(bǔ)和輔助功能的輸入輸出I/O控制枢菇。本系統(tǒng)基本功能是實(shí)現(xiàn)XYZ三軸的運(yùn)動(dòng)控制,包括三軸聯(lián)動(dòng)的直線插補(bǔ)運(yùn)動(dòng)和任意兩軸圓弧插補(bǔ)運(yùn)動(dòng)俯坐,可以實(shí)現(xiàn)步進(jìn)電機(jī)的運(yùn)動(dòng)控制噩拼,提供單脈沖(即脈沖+方向)和雙脈沖(即脈沖+脈沖)兩種控制方式。
2.速度控制
速度控制即調(diào)速寺晌,利用加減速算法世吨,實(shí)現(xiàn)系統(tǒng)的平穩(wěn)運(yùn)動(dòng)。系統(tǒng)設(shè)計(jì)空行程時(shí)的運(yùn)動(dòng)速度不小于100KHz呻征,加工過(guò)程中的插補(bǔ)運(yùn)動(dòng)速度不小于40KHz耘婚;當(dāng)脈沖當(dāng)量為2.5微米時(shí)可達(dá)到的空行程和加工的最高速度分別為15m/min和6m/min。
3.通信功能
運(yùn)動(dòng)控制器不是一個(gè)孤立封閉的系統(tǒng)陆赋,它必須和外界交換數(shù)據(jù)沐祷,主機(jī)通信主要完成兩個(gè)任務(wù):一個(gè)是程序的下載,另一個(gè)是控制指令的發(fā)送和加工狀態(tài)的反饋攒岛。根據(jù)單板式控制和插卡式控制兩種不同的應(yīng)用赖临,分別有不同的通信方式。其中灾锯,在單板式控制中兢榨,通過(guò)USB總線進(jìn)行程序下載而通過(guò)串口進(jìn)行控制指令的發(fā)送和加工狀態(tài)的反饋;在插卡式控制中顺饮,兩種任務(wù)都是由PCI總線來(lái)完成吵聪。本系統(tǒng)的多用性特點(diǎn)主要體現(xiàn)在通信方式的不同上,支持PCI總線方式沿阁、USB總線方式以及異步串行總線方式嫌盲,供用戶自由選擇董记。
4.參數(shù)設(shè)置作為開(kāi)放式運(yùn)動(dòng)控制器,應(yīng)該允許用戶對(duì)控制系統(tǒng)的各運(yùn)動(dòng)參數(shù)進(jìn)行實(shí)時(shí)調(diào)整與修改残团。
本系統(tǒng)設(shè)計(jì)將各參數(shù)存放在FLASH中蠕蹋,允許用戶通過(guò)人機(jī)界面對(duì)參數(shù)進(jìn)行修改桶邑,修改后的參數(shù)將在下次操作中起作用画眯。
2.2 系統(tǒng)軟件層次設(shè)計(jì)
DSP軟件采用模塊化和層次化的設(shè)計(jì)思路,為使結(jié)構(gòu)清晰务囤,整個(gè)系統(tǒng)軟件按功能群分割為多個(gè)文件分別處理和完成相應(yīng)的任務(wù)灌当,主要分為三個(gè)層次:
1.主控層:不涉及具體操作,只負(fù)責(zé)各個(gè)任務(wù)調(diào)度幅挂、中斷安排京球、時(shí)間和優(yōu)先級(jí)處理等,主控層只有一個(gè)文件main.c腺帽,包括主函數(shù)和中斷函數(shù)怎晰,在主函數(shù)和中斷函數(shù)中調(diào)用算法層的函數(shù)來(lái)實(shí)現(xiàn)系統(tǒng)的各個(gè)功能。
2.算法層:負(fù)責(zé)具體任務(wù)執(zhí)行敛苇,控制算法實(shí)現(xiàn)妆绞,系統(tǒng)的主要功能都在算法層實(shí)現(xiàn),包含的模塊由系統(tǒng)要求的各個(gè)功能來(lái)決定枫攀,算法層主要用以實(shí)現(xiàn)運(yùn)動(dòng)控制括饶、速度控制和系統(tǒng)管理等功能,各模塊之間通過(guò)標(biāo)志位來(lái)聯(lián)系来涨,不互相調(diào)用图焰。
3.接口層:負(fù)責(zé)與硬件的接口,所有與外設(shè)有關(guān)的操作都在該層進(jìn)行處理蹦掐,接口層中包括DSP硬件資源的定義技羔、系統(tǒng)硬件的驅(qū)動(dòng)等。除接口層外卧抗,系統(tǒng)其它層的程序禁止直接對(duì)外設(shè)進(jìn)行操作藤滥,接口層直接對(duì)外設(shè)進(jìn)行操作的函數(shù)盡可能做到功能完善。綜上所述颗味,本系統(tǒng)根據(jù)以上功能和層次進(jìn)行軟件設(shè)計(jì)并遵循以下原則:
〕健(1)全局性:盡量保證系統(tǒng)各模塊負(fù)載均衡;
【楦摹(2)正確性:數(shù)學(xué)推導(dǎo)嚴(yán)密战架,盡可能利用試驗(yàn)驗(yàn)證;
≌炱肌(3)結(jié)構(gòu)化:軟件設(shè)計(jì)做到層次化咸壮、模塊化拿奥、封裝化;
∑峋俊(4)規(guī)范性:保證程序的易讀性母滤、移植性和可維護(hù)性。
3 小結(jié):
本文作者創(chuàng)新點(diǎn)是運(yùn)動(dòng)控制是數(shù)控技術(shù)的核心钉榔,近年來(lái)城砖,隨著開(kāi)放式數(shù)控系統(tǒng)的發(fā)展,開(kāi)放式運(yùn)動(dòng)控制器也得到了前所未有的發(fā)展圣钝。運(yùn)動(dòng)控制器作為一個(gè)獨(dú)立的工業(yè)自動(dòng)化控制類標(biāo)準(zhǔn)部件廷诺,已經(jīng)被越來(lái)越多的產(chǎn)業(yè)領(lǐng)域接受,并形成了令人矚目的市場(chǎng)規(guī)模肖喂。本文介紹了運(yùn)動(dòng)控制器的總體設(shè)計(jì)方案簇抵,包括運(yùn)動(dòng)控制器的硬件平臺(tái)以及軟件設(shè)計(jì)思路。
關(guān)鍵字:軟件開(kāi)發(fā)恰起;DSP;運(yùn)動(dòng)控制
1運(yùn)動(dòng)控制器硬件結(jié)構(gòu)
本運(yùn)動(dòng)控制器的硬件結(jié)構(gòu)主要分為如下幾個(gè)模塊:DSP+CPLD 主控模塊,包括 DSP 核心 模塊和 CPLD 驅(qū)動(dòng)與擴(kuò)展模塊检盼;通信接口模塊肯污,包括 PCI 總線、USB 總線和串口吨枉;I/O 輸入輸 出接口模塊以及外圍存儲(chǔ)器模塊蹦渣,包括 SRAM 和 FLASH。
1.1 DSP+CPLD 主控模塊
本系統(tǒng)采用了 TI 公司的 TMS320F2812 DSP 為控制核心貌亭,這是工業(yè)界首批 32 位的控制 專用柬唯、內(nèi)含 FLASH 以及高達(dá) 150MHz 主頻的數(shù)字信號(hào)處理器,專門為工業(yè)自動(dòng)化圃庭、光學(xué)網(wǎng)絡(luò)及自動(dòng)化控制等應(yīng)用而設(shè)計(jì)的锄奢。TMS320F2812 采用哈佛總線結(jié)構(gòu),有獨(dú)立的程序和數(shù)據(jù)空間剧腻;具有很強(qiáng)的運(yùn)算能力工划,能夠?qū)崟r(shí)地處理許多復(fù)雜的控制算法;片上內(nèi)存豐富占找,可支持45 個(gè)外設(shè)級(jí)中斷和 3 個(gè)外部中斷绸秸,提取中斷向量和保存現(xiàn)場(chǎng)只需 9 個(gè)時(shí)鐘周期,響應(yīng)迅速支际; 片上集成了多種先進(jìn)的外設(shè)匠似,包括兩個(gè)事件管理器(EV)、12 位 A/D蟹嫁、兩個(gè)串行通信接口(SCI)暗沉、一個(gè)串行外圍接口(SPI)以及一個(gè)多通道緩沖串行接口(McBSP)等;其通用輸 入/輸出多路復(fù)用器(GPIO)擁有多達(dá) 56 個(gè) I/O 口讹玉,在系統(tǒng)的軟件開(kāi)發(fā)中正是利用了這些豐富的內(nèi)外設(shè)資源里淡,才實(shí)現(xiàn)了系統(tǒng)要求的各種功能。
本系統(tǒng)中選用的 CPLD 是 Altera 公司 MAX3000A 系列的 EPM3128挡辩,這是一款高性能谎跨、 低功耗的基于 EEPROM 的 PLD。由于本系統(tǒng)的控制對(duì)象是步進(jìn)電機(jī)垃杖,所以設(shè)計(jì)中主要利用TMS320F2812 的 GPIO 口進(jìn)行電機(jī)控制接口與 I/O 接口的輸入輸出男杈,但是由于 TMS320F2812
是低功耗處理器,其 GPIO 引腳的輸出驅(qū)動(dòng)能力有限调俘,而且由于 DSP 是主控核心伶棒,負(fù)載比 較多,所以將所有輸出信號(hào)都經(jīng)過(guò) CPLD 驅(qū)動(dòng)后輸出彩库,提高信號(hào)的驅(qū)動(dòng)能力肤无。此外先蒋,CPLD還用于系統(tǒng)電路的譯碼,增加系統(tǒng)設(shè)計(jì)的靈活性和可擴(kuò)展性宛渐。
1.2 通信接口模塊
本系統(tǒng)在用作插卡式運(yùn)動(dòng)控制時(shí)利用 PCI 總線實(shí)現(xiàn) DSP 與 PC 的通信竞漾。PCI(PeripheralComponent Interconnect 外圍部件互聯(lián))總線是 Intel 公司聯(lián)合其他 100 多家公司于 1992 年推 出的基于新一代處理器的一種局部總線,是一種高性能 32/64 位數(shù)據(jù)/地址復(fù)用總線窥翩,能為 CPU 及外設(shè)提供高性能數(shù)據(jù)畴蹭。PCI 總線具有嚴(yán)格的規(guī)范,目前已經(jīng)發(fā)布了 PCI V1.0 和 V2.1規(guī)范鳍烁,保證了其良好的兼容性叨襟;PCI 總線與 CPU 無(wú)關(guān),與時(shí)鐘頻率也無(wú)關(guān)羞条,可適用于各種平臺(tái)慌缨,支持多處理器和并發(fā)工作;PCI 總線可以提供極高的數(shù)據(jù)傳輸速率资妇,還具有良好的擴(kuò) 展性娱背。因此,PCI 總線在基于計(jì)算機(jī)總線的運(yùn)動(dòng)控制系統(tǒng)水矢,即“PC+運(yùn)動(dòng)控制器”的結(jié)構(gòu)中應(yīng)用十分廣泛烂秘。
本系統(tǒng)選用 CYPRESS 公司的 CY7C68001 芯片實(shí)現(xiàn) PC 機(jī)和 DSP 之間的 USB 通信。CY7C68001 是通用 USB2.0 接口控制器巩顶,它是基于應(yīng)用層編程的接口器件裳雕,相對(duì)于其它基于 鏈路層編程的接口器件,使用和開(kāi)發(fā)都很方便日病。本系統(tǒng)采用 DSP 片上的 SCI 串行通信模塊以及 MAX232 芯片轉(zhuǎn)換成標(biāo)準(zhǔn) RS-232 的通 信信號(hào)帜浇,實(shí)現(xiàn)正常的串口通信。
1.3 I/O 輸入輸出接口模塊
本系統(tǒng)的輸入/輸出是通過(guò) CPLD 的邏輯控制來(lái)實(shí)現(xiàn)的秦辆,以提高系統(tǒng)的工作可靠性和設(shè) 計(jì)柔性项茸。考慮到運(yùn)動(dòng)控制器的可擴(kuò)展性以及 DSP 的 GPIO 引腳的數(shù)量梦重,共設(shè)計(jì)了 16 路數(shù)字量輸出通道和 16 路數(shù)字量輸入通道兑燥。數(shù)字量輸出通道主要用于各軸方向、脈沖信號(hào)的輸出以及一些外部設(shè)備的啟颓倥。控制降瞳,如主軸及冷卻液的開(kāi)關(guān)控制等;數(shù)字量輸入通道可根據(jù)用戶 具體要求來(lái)定義其用途艾蓝,如作為傳感器接口力崇,用于零點(diǎn)、限位信號(hào)的輸入等赢织。為提高系統(tǒng)應(yīng)用的靈活性亮靴,系統(tǒng)輸出采用了普通輸出和差分輸出兩種方式,具體使用可由用戶自行設(shè)定于置。
1.4 外圍存儲(chǔ)器模塊
FLASH 用來(lái)存儲(chǔ)系統(tǒng)軟件程序已經(jīng)足夠茧吊,但是在實(shí)際使用中,考慮到運(yùn)動(dòng)控制指令和加工程序需要通過(guò) USB 總線或 PCI 總線下載到運(yùn)動(dòng)控制器中八毯,且 DSP 在工作過(guò)程中需要處理大 量的數(shù)據(jù)搓侄,僅依靠 DSP 芯片內(nèi)部的存儲(chǔ)空間遠(yuǎn)遠(yuǎn)不夠,所以考慮外擴(kuò)一片 FLASH 和一片SRAM 作為用戶加工程序存儲(chǔ)器和系統(tǒng)的工作存儲(chǔ)器予乏,它們通過(guò) CPLD 完成與 DSP 之間的讀寫操作偿寥。
本系統(tǒng)選用了 Intel 公司的 E28F128 FLASH 和 ISSI 公司的 IS61LV51216SRAM。E28F128 是一種采用 CMOS 工藝制成的 8MB 的 FLASH蟹游,其讀寫訪問(wèn)時(shí)間為 150ns填级,此讀寫周期已經(jīng) 大于 DSP 對(duì)外部端口的讀寫周期,為了能夠和 DSP 的讀寫周期進(jìn)行匹配蔓捡,在對(duì) FLASH 進(jìn) 行讀寫操作過(guò)程中必須插入等待周期怜人。IS61LV51216 是一種高速異步靜態(tài) 512KB 的 SRAM, 其讀寫周期為 10ns擦灸,與 DSP 之間可以無(wú)需插入等待周期便可以進(jìn)行讀寫操作癌羞,并可以直接映射到 DSP 外部存儲(chǔ)接口的 Zone2 或者 Zone6 區(qū)域。
2運(yùn)動(dòng)控制器軟件結(jié)構(gòu)
2.1 系統(tǒng)軟件功能設(shè)計(jì)運(yùn)動(dòng)控制器通常作為一個(gè)獨(dú)立的過(guò)程控制單元用于工業(yè)自動(dòng)化生產(chǎn)中剂撑,它的功能是由硬件和軟件共同實(shí)現(xiàn)的硬件為軟件運(yùn)豌富,行提供了支撐環(huán)境,軟件負(fù)責(zé)實(shí)現(xiàn)系統(tǒng)要求的所有功能苞毡。本系統(tǒng)軟件需要完成控制和管理兩大任務(wù)赋焕,圖2表示的是其軟件功能結(jié)構(gòu)。
其中仰楚,系統(tǒng)的控制包括位置控制隆判、插補(bǔ)、速度處理和開(kāi)關(guān)量I/O控制等僧界,這類任務(wù)的實(shí)時(shí)性很強(qiáng)侨嘀,所以軟件程序的優(yōu)先級(jí)也較高;系統(tǒng)的管理包括人機(jī)界面顯示捂襟、參數(shù)設(shè)置和程序下載等咬腕,這類任務(wù)的實(shí)時(shí)性要求不高,所以軟件程序的優(yōu)先級(jí)也相對(duì)較低葬荷≌枪玻可以說(shuō),一個(gè)運(yùn)動(dòng)控制系統(tǒng)的基本功能均由上述功能的子程序?qū)崿F(xiàn)宠漩,通過(guò)增加子程序可進(jìn)一步增加系統(tǒng)的功能举反。
要實(shí)現(xiàn)這些功能懊直,必須做好運(yùn)動(dòng)控制器的軟件規(guī)劃,劃分各個(gè)功能模塊火鼻,才能在DSP芯片上設(shè)計(jì)運(yùn)行程序旱醉。本系統(tǒng)軟件主要分為兩個(gè)層次,包括PC層軟件和DSP層軟件穗蚌,其中PC層軟件在單板式運(yùn)動(dòng)控制中主要實(shí)現(xiàn)加工程序的傳輸和下載等功能敬育;在插卡式運(yùn)動(dòng)控制中,除此之外崭守,還需實(shí)現(xiàn)加工情況顯示零勃、加工命令發(fā)送等人機(jī)交互界面的功能。運(yùn)動(dòng)控制器的主要功能由DSP層完成浙辫,本課題的主要任務(wù)也是DSP層軟件的程序?qū)崿F(xiàn)类菊,具體包括:
1.運(yùn)動(dòng)控制運(yùn)動(dòng)控制功能是運(yùn)動(dòng)控制器的主要功能,包括位置控制苫颤、插補(bǔ)和輔助功能的輸入輸出I/O控制枢菇。本系統(tǒng)基本功能是實(shí)現(xiàn)XYZ三軸的運(yùn)動(dòng)控制,包括三軸聯(lián)動(dòng)的直線插補(bǔ)運(yùn)動(dòng)和任意兩軸圓弧插補(bǔ)運(yùn)動(dòng)俯坐,可以實(shí)現(xiàn)步進(jìn)電機(jī)的運(yùn)動(dòng)控制噩拼,提供單脈沖(即脈沖+方向)和雙脈沖(即脈沖+脈沖)兩種控制方式。
2.速度控制
速度控制即調(diào)速寺晌,利用加減速算法世吨,實(shí)現(xiàn)系統(tǒng)的平穩(wěn)運(yùn)動(dòng)。系統(tǒng)設(shè)計(jì)空行程時(shí)的運(yùn)動(dòng)速度不小于100KHz呻征,加工過(guò)程中的插補(bǔ)運(yùn)動(dòng)速度不小于40KHz耘婚;當(dāng)脈沖當(dāng)量為2.5微米時(shí)可達(dá)到的空行程和加工的最高速度分別為15m/min和6m/min。
3.通信功能
運(yùn)動(dòng)控制器不是一個(gè)孤立封閉的系統(tǒng)陆赋,它必須和外界交換數(shù)據(jù)沐祷,主機(jī)通信主要完成兩個(gè)任務(wù):一個(gè)是程序的下載,另一個(gè)是控制指令的發(fā)送和加工狀態(tài)的反饋攒岛。根據(jù)單板式控制和插卡式控制兩種不同的應(yīng)用赖临,分別有不同的通信方式。其中灾锯,在單板式控制中兢榨,通過(guò)USB總線進(jìn)行程序下載而通過(guò)串口進(jìn)行控制指令的發(fā)送和加工狀態(tài)的反饋;在插卡式控制中顺饮,兩種任務(wù)都是由PCI總線來(lái)完成吵聪。本系統(tǒng)的多用性特點(diǎn)主要體現(xiàn)在通信方式的不同上,支持PCI總線方式沿阁、USB總線方式以及異步串行總線方式嫌盲,供用戶自由選擇董记。
4.參數(shù)設(shè)置作為開(kāi)放式運(yùn)動(dòng)控制器,應(yīng)該允許用戶對(duì)控制系統(tǒng)的各運(yùn)動(dòng)參數(shù)進(jìn)行實(shí)時(shí)調(diào)整與修改残团。
本系統(tǒng)設(shè)計(jì)將各參數(shù)存放在FLASH中蠕蹋,允許用戶通過(guò)人機(jī)界面對(duì)參數(shù)進(jìn)行修改桶邑,修改后的參數(shù)將在下次操作中起作用画眯。
2.2 系統(tǒng)軟件層次設(shè)計(jì)
DSP軟件采用模塊化和層次化的設(shè)計(jì)思路,為使結(jié)構(gòu)清晰务囤,整個(gè)系統(tǒng)軟件按功能群分割為多個(gè)文件分別處理和完成相應(yīng)的任務(wù)灌当,主要分為三個(gè)層次:
1.主控層:不涉及具體操作,只負(fù)責(zé)各個(gè)任務(wù)調(diào)度幅挂、中斷安排京球、時(shí)間和優(yōu)先級(jí)處理等,主控層只有一個(gè)文件main.c腺帽,包括主函數(shù)和中斷函數(shù)怎晰,在主函數(shù)和中斷函數(shù)中調(diào)用算法層的函數(shù)來(lái)實(shí)現(xiàn)系統(tǒng)的各個(gè)功能。
2.算法層:負(fù)責(zé)具體任務(wù)執(zhí)行敛苇,控制算法實(shí)現(xiàn)妆绞,系統(tǒng)的主要功能都在算法層實(shí)現(xiàn),包含的模塊由系統(tǒng)要求的各個(gè)功能來(lái)決定枫攀,算法層主要用以實(shí)現(xiàn)運(yùn)動(dòng)控制括饶、速度控制和系統(tǒng)管理等功能,各模塊之間通過(guò)標(biāo)志位來(lái)聯(lián)系来涨,不互相調(diào)用图焰。
3.接口層:負(fù)責(zé)與硬件的接口,所有與外設(shè)有關(guān)的操作都在該層進(jìn)行處理蹦掐,接口層中包括DSP硬件資源的定義技羔、系統(tǒng)硬件的驅(qū)動(dòng)等。除接口層外卧抗,系統(tǒng)其它層的程序禁止直接對(duì)外設(shè)進(jìn)行操作藤滥,接口層直接對(duì)外設(shè)進(jìn)行操作的函數(shù)盡可能做到功能完善。綜上所述颗味,本系統(tǒng)根據(jù)以上功能和層次進(jìn)行軟件設(shè)計(jì)并遵循以下原則:
〕健(1)全局性:盡量保證系統(tǒng)各模塊負(fù)載均衡;
【楦摹(2)正確性:數(shù)學(xué)推導(dǎo)嚴(yán)密战架,盡可能利用試驗(yàn)驗(yàn)證;
≌炱肌(3)結(jié)構(gòu)化:軟件設(shè)計(jì)做到層次化咸壮、模塊化拿奥、封裝化;
∑峋俊(4)規(guī)范性:保證程序的易讀性母滤、移植性和可維護(hù)性。
3 小結(jié):
本文作者創(chuàng)新點(diǎn)是運(yùn)動(dòng)控制是數(shù)控技術(shù)的核心钉榔,近年來(lái)城砖,隨著開(kāi)放式數(shù)控系統(tǒng)的發(fā)展,開(kāi)放式運(yùn)動(dòng)控制器也得到了前所未有的發(fā)展圣钝。運(yùn)動(dòng)控制器作為一個(gè)獨(dú)立的工業(yè)自動(dòng)化控制類標(biāo)準(zhǔn)部件廷诺,已經(jīng)被越來(lái)越多的產(chǎn)業(yè)領(lǐng)域接受,并形成了令人矚目的市場(chǎng)規(guī)模肖喂。本文介紹了運(yùn)動(dòng)控制器的總體設(shè)計(jì)方案簇抵,包括運(yùn)動(dòng)控制器的硬件平臺(tái)以及軟件設(shè)計(jì)思路。
聲明:本網(wǎng)站所收集的部分公開(kāi)資料來(lái)源于互聯(lián)網(wǎng)射众,轉(zhuǎn)載的目的在于傳遞更多信息及用于網(wǎng)絡(luò)分享碟摆,并不代表本站贊同其觀點(diǎn)和對(duì)其真實(shí)性負(fù)責(zé),也不構(gòu)成任何其他建議叨橱。本站部分作品是由網(wǎng)友自主投稿和發(fā)布典蜕、編輯整理上傳,對(duì)此類作品本站僅提供交流平臺(tái)雏逾,不為其版權(quán)負(fù)責(zé)嘉裤。如果您發(fā)現(xiàn)網(wǎng)站上所用視頻、圖片栖博、文字如涉及作品版權(quán)問(wèn)題屑宠,請(qǐng)第一時(shí)間告知,我們將根據(jù)您提供的證明材料確認(rèn)版權(quán)并按國(guó)家標(biāo)準(zhǔn)支付稿酬或立即刪除內(nèi)容仇让,以保證您的權(quán)益典奉!聯(lián)系電話:010-58612588 或 Email:editor@mmsonline.com.cn。
網(wǎng)友評(píng)論
匿名:
最新反饋
注冊(cè)獲取更多行業(yè)信息
- 暫無(wú)反饋
無(wú)須注冊(cè)徽捶,輕松溝通
編輯推薦
- 2025新年特刊:打造新質(zhì)生產(chǎn)力虫甲,智啟未來(lái)新篇章
- 定義制造業(yè)未來(lái)的數(shù)控加工中心技術(shù)專題
- 航空航天及交通領(lǐng)域先進(jìn)制造技術(shù)應(yīng)用專題
- 解碼消費(fèi)電子產(chǎn)品生產(chǎn)的數(shù)字化之路技術(shù)專題
- 精密智能機(jī)床,助力制造升級(jí)技術(shù)專題
- 汽車輕量化驅(qū)動(dòng)下的零部件加工應(yīng)用專題
- 高性能銑刀實(shí)現(xiàn)高精加工生產(chǎn)技術(shù)專題
- 航空航天發(fā)動(dòng)機(jī)解決方案專題
- 高效齒輪加工生產(chǎn)技術(shù)方案專題
- 金屬加工液的性能不止?jié)櫥夹g(shù)應(yīng)用專題