目前,基于PC 的開放式數(shù)控系統(tǒng)是數(shù)控技術(shù)開放式架構(gòu)的主要實(shí)現(xiàn)方式,這種實(shí)現(xiàn)方式主要是考慮利用工業(yè)PC 豐富的系統(tǒng)資源和業(yè)已標(biāo)準(zhǔn)化的接口來(lái)簡(jiǎn)化數(shù)控系統(tǒng)的設(shè)計(jì),降低數(shù)控系統(tǒng)開發(fā)的技術(shù)難度,并使設(shè)計(jì)出的數(shù)控系統(tǒng)具有一定的開放性,但這種體系結(jié)構(gòu)也存在很大的局限性,主要體現(xiàn)為: ①系統(tǒng)實(shí)時(shí)性和穩(wěn)定性較差,基于PC 的數(shù)控系統(tǒng)的操作系統(tǒng)多采用通用操作系統(tǒng),與RTOS相比,其在任務(wù)調(diào)度的實(shí)時(shí)性和系統(tǒng)運(yùn)行的穩(wěn)定性上都比較差; ②系統(tǒng)的開放性有限,無(wú)論是PC 嵌入NC 的結(jié)構(gòu),還是NC嵌入PC 的結(jié)構(gòu),其開放性特征都是基于PC 固有的開放特征,沒(méi)有針對(duì)數(shù)控加工的特點(diǎn)而進(jìn)行單獨(dú)的定義; ③工控機(jī)模式數(shù)控系統(tǒng)的成本太高,一臺(tái)能滿足數(shù)控加工要求的計(jì)算機(jī)至少需要投資數(shù)千元再配上價(jià)格昂貴的運(yùn)動(dòng)控制卡,使得成本很難降低。
另一方面,進(jìn)入20世紀(jì)90年代以來(lái),嵌入式計(jì)算機(jī)應(yīng)用技術(shù)獲得了飛速發(fā)展。 各種高性能的嵌入式微控制器MCU 層出不窮,與以前相比,嵌入式微控制器的CPU 運(yùn)算速度大大提高,處理數(shù)據(jù)寬度不斷加大,更重要的是片上集成資源越來(lái)越豐富; 與此同時(shí),出現(xiàn)了很多高效率、高可靠性和高穩(wěn)定性的內(nèi)核可裁減的嵌入式實(shí)時(shí)操作系統(tǒng)(RTOS) ,如VxW orks、LC /OS-Ⅱ等,這就使嵌入式系統(tǒng)在生活和生產(chǎn)的很多領(lǐng)域都得到了廣泛的應(yīng)用,如汽車工業(yè)、宇航工業(yè)等。 基于以上分析,筆者提出在數(shù)控系統(tǒng)的設(shè)計(jì)中采用嵌入式技術(shù),即基于微控制器的嵌入式數(shù)控系統(tǒng),這種設(shè)計(jì)方案的優(yōu)勢(shì)在于: ①市場(chǎng)上可供選擇的嵌入式微控制器種類繁多,片上資源豐富,針對(duì)不同的應(yīng)用,其片上集成資源有很大不同,完全可以選擇一種片上資源和運(yùn)算速度都相對(duì)非常適合數(shù)控系統(tǒng)設(shè)計(jì)的MCU 和DSP來(lái)構(gòu)建數(shù)控系統(tǒng)的硬件平臺(tái),這種硬件平臺(tái)的設(shè)計(jì)可以使系統(tǒng)集成度更高,體積更小,運(yùn)行更穩(wěn)定; ②數(shù)控系統(tǒng)的運(yùn)行是一個(gè)多任務(wù)的調(diào)度過(guò)程,特點(diǎn)是運(yùn)行任務(wù)相對(duì)較少,但實(shí)時(shí)性要求很強(qiáng),不存在冗余的任務(wù),而采用RTOS作為嵌入式數(shù)控系統(tǒng)的操作系統(tǒng),將使數(shù)控系統(tǒng)擁有更好的多任務(wù)調(diào)度能力和更強(qiáng)的實(shí)時(shí)性;③嵌入式數(shù)控系統(tǒng)的開發(fā)是一個(gè)從底層硬件到上層軟件的獨(dú)立開發(fā)過(guò)程,可以針對(duì)當(dāng)今數(shù)控系統(tǒng)特點(diǎn)和開放性的特征要求,根據(jù)嵌入式系統(tǒng)的特點(diǎn),來(lái)構(gòu)建適合于嵌入式應(yīng)用的數(shù)控系統(tǒng)開放式架構(gòu),與基于PC 的數(shù)控系統(tǒng)相比,它將有更好的穩(wěn)定性和開放性。
1 基于MCU + DSP雙CPU 架構(gòu)的硬件平臺(tái)搭建
根據(jù)數(shù)控系統(tǒng)多任務(wù)的運(yùn)行特征,針對(duì)系統(tǒng)任務(wù)運(yùn)行實(shí)時(shí)性的特殊要求,以及嵌入式系統(tǒng)的特點(diǎn),文中采用MCU + DSP的雙CPU 架構(gòu)來(lái)構(gòu)建嵌入式數(shù)控系統(tǒng)的硬件平臺(tái)。 MCU 的主要功能是負(fù)責(zé)運(yùn)行系統(tǒng)中與管理相關(guān)的任務(wù),是系統(tǒng)的主控制CPU; 而DSP 主要負(fù)責(zé)運(yùn)行插補(bǔ)運(yùn)算等運(yùn)算量較大、對(duì)任務(wù)的實(shí)時(shí)性要求較高的任務(wù),專用于繁重的插補(bǔ)運(yùn)算,減輕主控制CPU 的負(fù)擔(dān)。 本數(shù)控系統(tǒng)的設(shè)計(jì),MCU 選用MOTOROLA公司生產(chǎn)的MC68K 系列的MC68F375微控制器,DSP則選用NOVA 生產(chǎn)的DSP運(yùn)動(dòng)控制專用芯片MCX314。
1.1 嵌入式微控制器MC68F375簡(jiǎn)介
MC68F375是由MOTOROLA 公司推出的高速32位微控制器,它具有速度快、并行處理能力強(qiáng)和片上資源豐富等特點(diǎn),適用于各種控制場(chǎng)合。 芯片支持BDM(background debug mode)模式,通過(guò)簡(jiǎn)易的專用電纜接口,可以直接對(duì)微控制器系統(tǒng)進(jìn)行仿真開發(fā); 也可采用全功能的在線仿真器進(jìn)行實(shí)時(shí)開發(fā)。 同時(shí),MC68F375非常適合運(yùn)行多用戶、多任務(wù)操作系統(tǒng),使其更容易做到不死機(jī)。
MC68F375的片上資源主要包括: 系統(tǒng)集成模塊(SIM ) ; 8 KB 掉電保護(hù)SRAM; 8 KB 掩模ROM; 10位隊(duì)列式的模數(shù)轉(zhuǎn)換器(QADC64) ,16路A /D 轉(zhuǎn)換模塊具有強(qiáng)大的數(shù)模轉(zhuǎn)換控制功能; 隊(duì)列式串行通信模塊(QSMCM) ,可以方便地實(shí)現(xiàn)同步、異步通信功能; 可構(gòu)造時(shí)鐘模塊(CTM4) ,具有多種強(qiáng)大的定時(shí)、計(jì)數(shù)和脈沖調(diào)制功能; 時(shí)間處理單元(TPU ) ,分辨率高達(dá)250ns,可對(duì)各種事件進(jìn)行快速的智能處理,同時(shí)集成PWM 算法及各種輸入捕捉算法; CAN 控制模塊( TouCAN ) ,能方便地實(shí)現(xiàn)工業(yè)自動(dòng)化等場(chǎng)合的現(xiàn)場(chǎng)總線控制。
1.2 DSP專用運(yùn)動(dòng)控制芯片MCX314簡(jiǎn)介
MCX314是NOVA電子有限公司研制的DSP運(yùn)動(dòng)控制專用芯片,性能優(yōu)良,接口簡(jiǎn)單,編程方便,工作可靠,可廣泛用于數(shù)控機(jī)床及機(jī)器人等領(lǐng)域的運(yùn)動(dòng)控制。芯片能與8位或16位數(shù)據(jù)總線接口,通過(guò)命令、數(shù)據(jù)和狀態(tài)等寄存器實(shí)現(xiàn)4軸3聯(lián)動(dòng)的位置、速度、加速度等的運(yùn)動(dòng)控制和實(shí)時(shí)監(jiān)控,實(shí)現(xiàn)直線、圓弧和位元3種模式的軌跡插補(bǔ),輸出脈沖頻率最高達(dá)4MH z。 每軸都有伺服反饋輸入端、4個(gè)輸入點(diǎn)和8個(gè)輸出點(diǎn),能獨(dú)立設(shè)置為恒速、線性或S曲線加/減速控制方式,并有2個(gè)32位的邏輯、實(shí)際位置計(jì)數(shù)器和狀態(tài)比較寄存器,實(shí)現(xiàn)位置的閉環(huán)控制。
與通用DSP相比,MCX314更適合數(shù)控系統(tǒng)的設(shè)計(jì),是一種專用的運(yùn)動(dòng)控制芯片,主要表現(xiàn)在3方面:① 插補(bǔ)算法(三軸直線、平面圓弧和位模式插補(bǔ))、運(yùn)動(dòng)控制和位置控制主要由硬件來(lái)實(shí)現(xiàn),主控制CPU 通過(guò)接口對(duì)MCX314進(jìn)行相應(yīng)的工作方式、速度和加速度的設(shè)置,然后將運(yùn)動(dòng)的起點(diǎn)和終點(diǎn)傳送給MCX314,之后不再需要主控制CPU 的干預(yù)就能自動(dòng)完成從起點(diǎn)到終點(diǎn)的插補(bǔ)運(yùn)動(dòng)控制,減少了運(yùn)行過(guò)程中與主控制CPU 頻繁的數(shù)據(jù)交換,也減少了相應(yīng)軟件的設(shè)計(jì),縮短數(shù)控系統(tǒng)的開發(fā)研制周期,且能提高系統(tǒng)的運(yùn)行速度; ②片上集成有專用于運(yùn)動(dòng)控制的I/O接口,如硬件限位、急停等,可簡(jiǎn)化數(shù)控系統(tǒng)的硬件設(shè)計(jì),提高系統(tǒng)運(yùn)行的穩(wěn)定性; ③與主控制CPU 之間的通訊簡(jiǎn)單,易于協(xié)調(diào),對(duì)主控制CPU 來(lái)說(shuō),MCX314更像是一個(gè)外圍功能芯片,通過(guò)設(shè)置一定的地址和讀寫控制字就能實(shí)現(xiàn)對(duì)MCX314的控制。
1.3 嵌入式數(shù)控系統(tǒng)硬件平臺(tái)的搭建
圖1為本文研究的嵌入式數(shù)控系統(tǒng)硬件平臺(tái)模塊圖,以MC68F375和MCX314為硬件平臺(tái)的核心,根據(jù)數(shù)控系統(tǒng)的功能特點(diǎn)和工作特性要求,分別擴(kuò)展了如下多種功能模塊。
圖1 嵌入式數(shù)控系統(tǒng)硬件平臺(tái)模塊
(1) 擴(kuò)展FLASH 模塊,MC68F375片上集成有8K字節(jié)的掩模ROM,但這對(duì)于數(shù)控系統(tǒng)的運(yùn)行是遠(yuǎn)遠(yuǎn)不夠的,必須進(jìn)行片外擴(kuò)展。 在系統(tǒng)設(shè)計(jì)中,主要是在片外擴(kuò)展了2片512K字節(jié)的FLASH,主要用于存儲(chǔ)系統(tǒng)運(yùn)行所需的程序代碼,語(yǔ)言字庫(kù),需要斷電和長(zhǎng)期保存的系統(tǒng)參數(shù)、刀具參數(shù)、補(bǔ)償參數(shù)、機(jī)床參數(shù)以及數(shù)控加工程序等。
(2) 擴(kuò)展RAM模塊,雖然MC68F375片上集成有8K字節(jié)的SRAM,但由于數(shù)控系統(tǒng)不同于小型的嵌入式系統(tǒng),在運(yùn)行過(guò)程中需要有充足的RAM 空間,特別是由于運(yùn)算和RTOS的多任務(wù)調(diào)度以及文件系統(tǒng)的運(yùn)行都將產(chǎn)生大量的堆棧、全局變量和局部變量,而且由于系統(tǒng)內(nèi)置軟PLC( PLC的內(nèi)部繼電器R、定時(shí)器T 和計(jì)數(shù)器C)的運(yùn)行也將占用一部分RAM 空間,因此在數(shù)控系統(tǒng)設(shè)計(jì)時(shí),在片外擴(kuò)展了2片512K字節(jié)的靜態(tài)高速RAM,用于擴(kuò)展RAM空間,增強(qiáng)系統(tǒng)的運(yùn)行效率和實(shí)時(shí)性。
(3) 時(shí)鐘控制模塊,也就是日歷系統(tǒng),需要在系統(tǒng)斷電時(shí)能夠長(zhǎng)時(shí)間的保持日歷的工作狀態(tài)。 當(dāng)系統(tǒng)工作時(shí),進(jìn)行到文件相關(guān)操作時(shí),如在數(shù)據(jù)傳輸或用戶在對(duì)系統(tǒng)進(jìn)行編程、二次開發(fā)時(shí),都需要數(shù)據(jù)以文件的形式進(jìn)行存儲(chǔ)或傳輸,需要記錄下文件編寫的日期,以便文件系統(tǒng)的管理。
(4) LCD控制模塊,主要用于完成液晶顯示的控制刷新和與CPU32的數(shù)據(jù)交換,將機(jī)床的當(dāng)前狀態(tài)、系統(tǒng)信息、坐標(biāo)信息、參數(shù)信息和圖形仿真信息等通過(guò)LCD向用戶顯示出來(lái),屬人機(jī)交互的一部分。
(5) 鍵盤控制模塊,它是數(shù)控系統(tǒng)交互的重要環(huán)節(jié),鍵盤擴(kuò)展電路有多種實(shí)現(xiàn)方式,設(shè)計(jì)采用CPLD 來(lái)實(shí)現(xiàn)專用鍵盤接口芯片的設(shè)計(jì)方案,這種設(shè)計(jì)方案,既保證了設(shè)計(jì)的通用性和靈活性,同時(shí)所有的鍵值判斷等可通過(guò)CPLD 編程來(lái)實(shí)現(xiàn),最大限度節(jié)省了MC68F375的資源。
(6) 數(shù)據(jù)采集模塊,當(dāng)今的數(shù)控系統(tǒng)越來(lái)越重視對(duì)現(xiàn)場(chǎng)加工條件和機(jī)床工作狀態(tài)的實(shí)時(shí)監(jiān)控和診斷,本系統(tǒng)數(shù)據(jù)采集模塊設(shè)計(jì)主要是基于MC68F375片上集成的16 路QADC,外加抗混濾波單元和信號(hào)調(diào)理單元。
(7) 主軸控制模塊,由D /A控制芯片和編碼器反饋高速輸入口組成,能夠完成對(duì)單極性和雙極性模擬變頻主軸的控制。
(8) 網(wǎng)絡(luò)通訊模塊,為了適應(yīng)數(shù)控系統(tǒng)網(wǎng)絡(luò)化的發(fā)展趨勢(shì)和數(shù)控機(jī)床遠(yuǎn)程控制和遠(yuǎn)程診斷的發(fā)展需要,設(shè)計(jì)采用Realtek公司的10Mbps網(wǎng)絡(luò)通訊芯片RTL8019進(jìn)行系統(tǒng)網(wǎng)絡(luò)接口模塊的設(shè)計(jì),為機(jī)床的網(wǎng)絡(luò)化提供了硬件基礎(chǔ)。
(9) CAN 總線接口,主要由CAN 總線收發(fā)器和光藕元件組成,與MC68F375 片上集成的TouCAN 模塊一起構(gòu)成數(shù)控系統(tǒng)CAN 總線通訊功能的硬件基礎(chǔ)。
(10) BDM 調(diào)試接口,用于數(shù)控系統(tǒng)的開發(fā)調(diào)試階段,在上位計(jì)算機(jī)上,開發(fā)人員通過(guò)BDM 可方便地對(duì)數(shù)控系統(tǒng)進(jìn)行開發(fā)調(diào)試。
(11) COM 串行接口,主要利用MC68F375 片上集成的QSM 的SC I子模塊,外加芯片驅(qū)動(dòng)電路(如MAX238等) ,構(gòu)成數(shù)控系統(tǒng)與個(gè)人計(jì)算機(jī)之間串行通訊的硬件基礎(chǔ)。
(12) I/O接口,主要完成內(nèi)置PLC對(duì)外部機(jī)床電氣的控制,電機(jī)控制輸出和其他功能模塊的對(duì)外輸出,由驅(qū)動(dòng)元件、繼電器元件和光耦隔離元件等組成。通過(guò)上面對(duì)嵌入式數(shù)控系統(tǒng)硬件框架的搭建和各個(gè)硬件功能模塊的分析可知,本文設(shè)計(jì)的嵌入式數(shù)控系統(tǒng)除保留了傳統(tǒng)數(shù)控系統(tǒng)的功能外,特別加入了數(shù)據(jù)采集模塊、網(wǎng)絡(luò)通訊模塊和CAN 總線通訊模塊,通過(guò)這3個(gè)模塊,設(shè)計(jì)出的數(shù)控系統(tǒng)能很方便地實(shí)現(xiàn)與現(xiàn)場(chǎng)其他設(shè)備的總線連接和網(wǎng)絡(luò)通訊,更易于實(shí)現(xiàn)數(shù)控設(shè)備的遠(yuǎn)程診斷、監(jiān)控以及網(wǎng)絡(luò)化和數(shù)字化制造。
2 基于RTOS的嵌入式數(shù)控系統(tǒng)軟件平臺(tái)的研究
以前的數(shù)控系統(tǒng)的軟件結(jié)構(gòu)設(shè)計(jì)通常通過(guò)一個(gè)無(wú)限循環(huán)來(lái)判斷任務(wù)的標(biāo)志量,通過(guò)中斷(定時(shí)中斷和鍵盤中斷)來(lái)激活新的任務(wù),進(jìn)入固定的任務(wù)中斷程序入口,來(lái)實(shí)現(xiàn)任務(wù)的調(diào)度。 在這種單任務(wù)且無(wú)任務(wù)運(yùn)行環(huán)境調(diào)度方式下,系統(tǒng)的大多數(shù)時(shí)間被任務(wù)等待的無(wú)限循環(huán)占據(jù)了,在任務(wù)處理的過(guò)程中,其他的同等級(jí)的任務(wù)無(wú)法使用CPU 的資源,無(wú)法進(jìn)行任務(wù)之間有效的上下文切換,導(dǎo)致了系統(tǒng)的實(shí)時(shí)性十分不可靠。 同時(shí),如果任務(wù)在執(zhí)行過(guò)程中需要等待信號(hào),或延時(shí)信號(hào)處理,當(dāng)這種延時(shí)不可預(yù)計(jì)的情況下,就可能占據(jù)大量的系統(tǒng)時(shí)間,就會(huì)造成對(duì)系統(tǒng)資源的大量浪費(fèi),導(dǎo)致無(wú)法響應(yīng)更緊急的任務(wù),這種無(wú)限的等待情況會(huì)導(dǎo)致許多不可預(yù)計(jì)的后果。 針對(duì)單任務(wù)系統(tǒng)的軟件架構(gòu)的不足,本設(shè)計(jì)在數(shù)控系統(tǒng)軟件構(gòu)建中引入基于VxWo rks嵌入式實(shí)時(shí)多任務(wù)操作系統(tǒng)(RTOS)作為系統(tǒng)的任務(wù)調(diào)度基礎(chǔ)。
2.1 嵌入式實(shí)時(shí)操作系統(tǒng)VxWorks特點(diǎn)簡(jiǎn)介
VxWorks操作系統(tǒng)是美國(guó)W indR iver公司設(shè)計(jì)開發(fā)的一種嵌入式實(shí)時(shí)操作系統(tǒng)( RTOS)。 系統(tǒng)具有如下特點(diǎn): ① 內(nèi)核可裁剪,具有極好的伸縮性; ②成熟高效的任務(wù)調(diào)度機(jī)制,支持優(yōu)先級(jí)和時(shí)間片輪番調(diào)度法; ③ 任務(wù)間通訊手段靈活快速,支持信號(hào)量、消息隊(duì)列和互斥等多種通信方式; ④ 豐富的板級(jí)支持軟件包( BSP) ,縮短了系統(tǒng)開發(fā)周期,減少了開發(fā)的工作量; ⑤ 強(qiáng)大的網(wǎng)絡(luò)開發(fā)支持,簡(jiǎn)化了網(wǎng)絡(luò)開發(fā)的工作,系統(tǒng)集成TCP / IP協(xié)議的支持; ⑥ 支持多種文件系統(tǒng);⑦ 具有集成開發(fā)環(huán)境TORNADO 的支持,界面友好,能夠?qū)ο到y(tǒng)的任務(wù)調(diào)度和占用的時(shí)間片進(jìn)行實(shí)時(shí)監(jiān)控,提高系統(tǒng)的利用率,充分發(fā)揮系統(tǒng)性能; ⑧ 功能可擴(kuò)展,根據(jù)千變?nèi)f化的嵌入式應(yīng)用,除提供基本的內(nèi)核功能外,還可以根據(jù)需要加入功耗控制、嵌入式文件系統(tǒng)、嵌入式GU I系統(tǒng)和嵌入式數(shù)據(jù)庫(kù),用戶也可以根據(jù)自己的需要利用VxWorks的功能擴(kuò)展接口,開發(fā)出自己的功能; ⑨ 內(nèi)核可剝奪性,即當(dāng)前系統(tǒng)總是運(yùn)行就緒狀態(tài)下優(yōu)先級(jí)最高的任務(wù)。
2.2 基于VxWorks的嵌入式數(shù)控系統(tǒng)層次化軟件體系結(jié)構(gòu)設(shè)計(jì)
本文設(shè)計(jì)的嵌入式數(shù)控系統(tǒng)的層次化軟件體系結(jié)構(gòu)如圖2所示,它由以下3部分組成。
圖2 基于VxWorks的嵌入式數(shù)控系統(tǒng)軟件體系結(jié)構(gòu)
(1) 底層硬件驅(qū)動(dòng)層。 硬件驅(qū)動(dòng)程序的主要功能是為上層軟件提供良好的函數(shù)調(diào)用接口,完成對(duì)系統(tǒng)硬件資源的抽象,屏蔽掉底層的硬件細(xì)節(jié)。 通過(guò)抽象底層硬件的物理行為,使上層用戶實(shí)現(xiàn)對(duì)硬件功能的調(diào)用。 硬件驅(qū)動(dòng)程序單獨(dú)分層的編程思想為系統(tǒng)的升級(jí)提供了良好的條件,當(dāng)系統(tǒng)硬件設(shè)計(jì)發(fā)生變化時(shí),上層軟件不用做過(guò)多的修改,仍可以通過(guò)原有的接口實(shí)現(xiàn)硬件的調(diào)用,只需要修改底層驅(qū)動(dòng)就可以了。 另外,硬件驅(qū)動(dòng)程序的提出能夠方便項(xiàng)目開發(fā),軟硬件協(xié)同進(jìn)行設(shè)計(jì)。
(2) 實(shí)時(shí)操作系統(tǒng)層。 設(shè)計(jì)采用了實(shí)時(shí)性操作系統(tǒng)VxWorks作為系統(tǒng)任務(wù)調(diào)度與開發(fā)平臺(tái),本層的主要功能是處理由外部或內(nèi)部事件引發(fā)的中斷、設(shè)備驅(qū)動(dòng)層的激活以及執(zhí)行任務(wù)的調(diào)度。
(3) 系統(tǒng)應(yīng)用層。 它是在VxW orks的基礎(chǔ)上,通過(guò)對(duì)VxWorks的接口函數(shù)的系統(tǒng)調(diào)用,實(shí)現(xiàn)系統(tǒng)的具體的應(yīng)用功能,如交互模塊、控制模塊等。 在本設(shè)計(jì)中,各種任務(wù)以應(yīng)用程序的形式集合在應(yīng)用層,服務(wù)于不同的功能模塊。 VxW roks根據(jù)每個(gè)任務(wù)的要求,進(jìn)行資源管理,對(duì)MC68F375、MCX314、存儲(chǔ)器和外設(shè)的資源進(jìn)行合理分配,實(shí)現(xiàn)消息管理、任務(wù)調(diào)度和異常處理等工作。 在VxW orks的支持下,每個(gè)任務(wù)都被分配一個(gè)優(yōu)先級(jí),根據(jù)優(yōu)先級(jí)別的高低,動(dòng)態(tài)切換各個(gè)任務(wù),以保證實(shí)時(shí)性要求。
可以看出,設(shè)計(jì)采用分層型模塊化軟件結(jié)構(gòu)和實(shí)時(shí)性操作系統(tǒng)相結(jié)合的軟件設(shè)計(jì)方案,這種設(shè)計(jì)方法的優(yōu)勢(shì)在于可以實(shí)現(xiàn)軟硬件設(shè)計(jì)的并行開發(fā),VxWorks作為系統(tǒng)的硬件驅(qū)動(dòng)層與應(yīng)用層之間的橋梁,使應(yīng)用層的函數(shù)調(diào)用完全屏蔽掉了硬件細(xì)節(jié),層與層之間只需要通過(guò)定義好的接口函數(shù)進(jìn)行通訊,使得上層的軟件開發(fā)不必顧慮硬件設(shè)計(jì)。 這種軟件設(shè)計(jì)模式,實(shí)際上是軟硬件交叉進(jìn)行、并行設(shè)計(jì)的過(guò)程,在設(shè)計(jì)的開始階段,通過(guò)軟硬件的協(xié)商,定義系統(tǒng)的總體設(shè)計(jì)方案,一旦系統(tǒng)的體系結(jié)構(gòu)設(shè)計(jì)完成,軟硬件設(shè)計(jì)就可以獨(dú)立進(jìn)行了。 等軟硬件設(shè)計(jì)完成后,再集成一體進(jìn)行集成測(cè)試,使系統(tǒng)的開發(fā)周期縮短到最小,極大地提高了嵌入式系統(tǒng)的開發(fā)效率。
2.3 基于VxWorks的數(shù)控系統(tǒng)多任務(wù)調(diào)度機(jī)制的實(shí)現(xiàn)
2.3.1 數(shù)控系統(tǒng)中任務(wù)的劃分
數(shù)控系統(tǒng)是一個(gè)專用性很強(qiáng)的多任務(wù)調(diào)度運(yùn)行系統(tǒng),按照任務(wù)運(yùn)行實(shí)時(shí)性強(qiáng)弱的劃分方法,一般將數(shù)控系統(tǒng)的任務(wù)劃分為管理任務(wù)和控制任務(wù)2大類。 如圖3所示,其中控制類任務(wù)的工作與數(shù)控加工直接相連,對(duì)實(shí)時(shí)性要求高,而管理類任務(wù)的工作對(duì)實(shí)時(shí)性的要求相對(duì)較低。 系統(tǒng)的控制任務(wù)又可細(xì)分為位置控制、軌跡插補(bǔ)、指令譯碼、I/O 控制、誤差控制、狀態(tài)實(shí)時(shí)監(jiān)控與故障診斷等子任務(wù); 系統(tǒng)的管理任務(wù)則包括人機(jī)交互管理、顯示管理、數(shù)據(jù)管理、通信管理和網(wǎng)絡(luò)管理等子任務(wù)。 而且,在實(shí)際的開發(fā)設(shè)計(jì)中可根據(jù)需要對(duì)各個(gè)子任務(wù)進(jìn)行進(jìn)一步細(xì)分,形成一個(gè)任務(wù)集合,任務(wù)集合中的任務(wù)都必須根據(jù)外部事件及時(shí)被激活運(yùn)行,同時(shí)結(jié)合具體的加工情況,由V xWorks統(tǒng)一調(diào)度,動(dòng)態(tài)地對(duì)任務(wù)進(jìn)行優(yōu)先級(jí)控制,以適應(yīng)不同加工任務(wù)的要求。當(dāng)有高優(yōu)先級(jí)的任務(wù)進(jìn)入任務(wù)列表時(shí),內(nèi)核通過(guò)優(yōu)先級(jí)搶占調(diào)度方式切換到高優(yōu)先級(jí)的任務(wù); 當(dāng)同等優(yōu)先級(jí)的多個(gè)任務(wù)進(jìn)入任務(wù)列表時(shí),內(nèi)核通過(guò)時(shí)間片輪轉(zhuǎn)調(diào)度法實(shí)現(xiàn)多任務(wù)的并發(fā)控制。
圖3 數(shù)控系統(tǒng)中任務(wù)的劃分
2.3.2 數(shù)控系統(tǒng)中多任務(wù)調(diào)度機(jī)制的實(shí)現(xiàn)
圖3中劃分出的數(shù)控系統(tǒng)任務(wù)由VxWo rks進(jìn)行統(tǒng)一調(diào)度,由前面分析可知VxW orks支持優(yōu)先級(jí)和時(shí)間片輪番調(diào)度法,現(xiàn)將圖3中的控制任務(wù)按照優(yōu)先級(jí)由高到低的順序排列如下: 位置控制、軌跡插補(bǔ)、誤差控制、I/O 控制、指令譯碼、實(shí)時(shí)監(jiān)控、故障診斷; 而管理任務(wù)的優(yōu)先級(jí)要比控制任務(wù)的優(yōu)先級(jí)都低,系統(tǒng)設(shè)計(jì)中對(duì)管理任務(wù)的5個(gè)子任務(wù)采用時(shí)間片輪番調(diào)度法,即它們擁有相同的優(yōu)先級(jí),任務(wù)調(diào)度的示意如圖4所示。 在系統(tǒng)完成初始化后自動(dòng)進(jìn)入時(shí)間分配環(huán)中,在環(huán)中依次輪流處理各項(xiàng)管理任務(wù)。 在環(huán)中輪流處理各項(xiàng)管理任務(wù)時(shí),只要當(dāng)前時(shí)間片結(jié)束,不論當(dāng)前任務(wù)是否完成,都要暫時(shí)釋放CPU,把CPU 讓給另一個(gè)就緒的任務(wù),直到再次輪到該任務(wù)的時(shí)間片時(shí),再重新占用CPU,自動(dòng)跳轉(zhuǎn)到斷點(diǎn)處繼續(xù)執(zhí)行。 而對(duì)于系統(tǒng)中的實(shí)時(shí)性強(qiáng)于管理任務(wù)的控制任務(wù)則按優(yōu)先級(jí)排隊(duì),分別分配不同的優(yōu)先級(jí),由于環(huán)外的任務(wù)優(yōu)先級(jí)均高于管理任務(wù),環(huán)外的任務(wù)可以隨時(shí)通過(guò)優(yōu)先級(jí)搶占的任務(wù)調(diào)度方式中斷環(huán)內(nèi)的任務(wù)執(zhí)行,占用系統(tǒng)資源。 當(dāng)有多個(gè)同等級(jí)的任務(wù)進(jìn)入任務(wù)就緒隊(duì)列時(shí)(如零件加工時(shí)多軸的位置控制任務(wù)),根據(jù)時(shí)間片輪轉(zhuǎn)調(diào)度方式形成新的當(dāng)前任務(wù)調(diào)度環(huán),保證同優(yōu)先級(jí)的任務(wù)并發(fā)進(jìn)行。 同理,這種任務(wù)的搶占和調(diào)度機(jī)制也適用于其他不同優(yōu)先級(jí)的任務(wù)。
圖4 基于VxW orks的數(shù)控系統(tǒng)任務(wù)調(diào)度機(jī)制示意
3 數(shù)控系統(tǒng)引導(dǎo)型二次開發(fā)平臺(tái)理論模型的研究
數(shù)控系統(tǒng)二次開發(fā)功能的強(qiáng)弱在一定程度上代表了其開放性的好壞,根據(jù)嵌入式系統(tǒng)的結(jié)構(gòu)模式、設(shè)計(jì)特點(diǎn)和數(shù)控系統(tǒng)的功能特征,本文設(shè)計(jì)了一種適合嵌入式數(shù)控系統(tǒng)、具有引導(dǎo)功能的數(shù)控系統(tǒng)二次開發(fā)平臺(tái)的理論模型,如圖5所示。 二次開發(fā)平臺(tái)采用一種引導(dǎo)開發(fā)的模式,借助于預(yù)先定義的各種信息庫(kù),將使用特殊語(yǔ)言描述的用戶功能要求轉(zhuǎn)換成信息庫(kù)中特定策略的組合,然后通過(guò)與MCU 相匹配的代碼編譯器,將策略描述翻譯并通過(guò)計(jì)算機(jī)的并口經(jīng)由下載電纜傳送至數(shù)控系統(tǒng)的仿真開發(fā)接口。
圖5 二次開發(fā)平臺(tái)的理論模型
二次開發(fā)環(huán)境包括語(yǔ)言描述和引導(dǎo)設(shè)置2種開發(fā)方式。 語(yǔ)言描述方式采用結(jié)構(gòu)化的功能機(jī)制,預(yù)先定義出系統(tǒng)擴(kuò)展的算法結(jié)構(gòu),用戶只需根據(jù)算法的提示加入自己功能要求的描述。 二次開發(fā)平臺(tái)提供獨(dú)立的結(jié)構(gòu)化描述語(yǔ)言,采用面向?qū)ο蟮木幊趟枷耄怨δ軐?duì)象群組的構(gòu)成方式來(lái)完整描述數(shù)控組件對(duì)象的特定工作狀態(tài)。 語(yǔ)言描述方案,可以通過(guò)靈活定義的算法規(guī)范深入系統(tǒng)內(nèi)部的軟件構(gòu)成細(xì)節(jié),適用于系統(tǒng)底層策略方案的自定義配置。 引導(dǎo)設(shè)置采用開發(fā)向?qū)У男问揭詧D形化詢問(wèn)界面來(lái)定制用戶的擴(kuò)展需求,一般用于較為簡(jiǎn)單的擴(kuò)展開發(fā)。
4 數(shù)控系統(tǒng)的設(shè)計(jì)實(shí)現(xiàn)
成功搭建出了以MC68F375+ MCX314為基礎(chǔ)的硬件開發(fā)平臺(tái),規(guī)劃出了以嵌入式實(shí)時(shí)操作系統(tǒng)(RTOS)VxWorks為核心的層次化系統(tǒng)軟件體系結(jié)構(gòu)和任務(wù)調(diào)度機(jī)制,開發(fā)出了TDNCM4 數(shù)控系統(tǒng)原型機(jī),該系統(tǒng)能用于控制車床、鉆銑床,可控制4個(gè)進(jìn)給軸和1個(gè)模擬主軸三軸聯(lián)動(dòng),具有直線插補(bǔ)和平面圓弧插補(bǔ)、螺旋線插補(bǔ)和空間圓弧( C IP) 插補(bǔ)等控制方式,能進(jìn)行螺紋加工、變距螺紋加工等,可通過(guò)Internet進(jìn)行數(shù)據(jù)傳輸和網(wǎng)絡(luò)化制造,并將該系統(tǒng)應(yīng)用于TDNC-M40A 四軸加工中心的設(shè)計(jì)上,如圖6 所示。 經(jīng)實(shí)驗(yàn)證明,該數(shù)控機(jī)床工作穩(wěn)定,性能可靠,主軸轉(zhuǎn)速最高可達(dá)6 000 r/m in,切削進(jìn)給X、Y、Z 可達(dá)0~10 000mm /m in,定位精度X、Y、Z 可達(dá)? 0.005mm,重復(fù)定位精度X、Y、Z 可達(dá)? 0.003 mm,目前已被應(yīng)用于天津大學(xué)數(shù)字化制造與測(cè)控技術(shù)研究所的一般金屬切削加工和工業(yè)陶瓷加工的實(shí)驗(yàn)。
圖6 TDNC-M40A四軸加工中心
5 結(jié) 語(yǔ)
本系統(tǒng)設(shè)計(jì)的最大特點(diǎn)是將嵌入式技術(shù)應(yīng)用到數(shù)控系統(tǒng)的設(shè)計(jì)中來(lái),針對(duì)基于PC 的數(shù)控系統(tǒng)在穩(wěn)定性、實(shí)時(shí)性等方面的不足,提出利用控制性能更加穩(wěn)定和優(yōu)異的MCU 以及運(yùn)算性能更加強(qiáng)大的專用DSP芯片,為雙CPU 架構(gòu)構(gòu)建嵌入式數(shù)控系統(tǒng)的硬件平臺(tái),利用性能優(yōu)異的嵌入式實(shí)時(shí)操作系統(tǒng)VxWo rks作為數(shù)控系統(tǒng)的操作系統(tǒng)來(lái)統(tǒng)一調(diào)度系統(tǒng)運(yùn)行的各個(gè)任務(wù),使系統(tǒng)擁有了更佳的實(shí)時(shí)性和穩(wěn)定性,初步研究了數(shù)控系統(tǒng)引導(dǎo)型二次開發(fā)平臺(tái)的理論模型,開發(fā)設(shè)計(jì)出TDNCM4數(shù)控系統(tǒng)的原型機(jī),探索出了一條數(shù)控技術(shù)研究和開發(fā)的新渠道-嵌入式數(shù)控技術(shù)。
核心關(guān)注:拓步ERP系統(tǒng)平臺(tái)是覆蓋了眾多的業(yè)務(wù)領(lǐng)域、行業(yè)應(yīng)用,蘊(yùn)涵了豐富的ERP管理思想,集成了ERP軟件業(yè)務(wù)管理理念,功能涉及供應(yīng)鏈、成本、制造、CRM、HR等眾多業(yè)務(wù)領(lǐng)域的管理,全面涵蓋了企業(yè)關(guān)注ERP管理系統(tǒng)的核心領(lǐng)域,是眾多中小企業(yè)信息化建設(shè)首選的ERP管理軟件信賴品牌。
轉(zhuǎn)載請(qǐng)注明出處:拓步ERP資訊網(wǎng)http://www.ezxoed.cn/
本文標(biāo)題:基于嵌入式技術(shù)的數(shù)控系統(tǒng)開發(fā)設(shè)計(jì)
本文網(wǎng)址:http://www.ezxoed.cn/html/support/11121515255.html