嵌入式系統(tǒng)與實(shí)時(shí)仿真技術(shù)淺談

時(shí)間:2009-11-20

來(lái)源:中國(guó)傳動(dòng)網(wǎng)

導(dǎo)語(yǔ):Tornado是美國(guó)WindRiver公司為用戶(hù)提供的嵌入式開(kāi)發(fā)平臺(tái),VxWorks是Tornado的運(yùn)行期組件,也是嵌入式行業(yè)應(yīng)用最為廣泛的實(shí)時(shí)操作系統(tǒng)。

1、前言 對(duì)于程序開(kāi)發(fā)和許多交互式應(yīng)用來(lái)說(shuō),UNIX和Windows可以算是優(yōu)秀的操作系統(tǒng)。然而,它們都不適于實(shí)時(shí)應(yīng)用。Tornado是美國(guó)WindRiver公司為用戶(hù)提供的嵌入式開(kāi)發(fā)平臺(tái),VxWorks是Tornado的運(yùn)行期組件,也是嵌入式行業(yè)應(yīng)用最為廣泛的實(shí)時(shí)操作系統(tǒng)。VxWorks的實(shí)時(shí)性做的非常好,其系統(tǒng)本身的開(kāi)銷(xiāo)很小,任務(wù)調(diào)度、任務(wù)間通信和中斷處理等系統(tǒng)公用程序精煉而高效,他們?cè)斐傻难舆t很短。VxWorks提供的多任務(wù)機(jī)制對(duì)任務(wù)的控制采用了優(yōu)先級(jí)搶占調(diào)度和輪轉(zhuǎn)調(diào)度機(jī)制,也充分保證了可靠的實(shí)時(shí)性,使同樣的硬件配置能夠滿(mǎn)足更強(qiáng)的實(shí)時(shí)性要求,為應(yīng)用的開(kāi)發(fā)留下更大的余地。 RTW(Real-Time Workshop)是Matlab圖形建模和仿真環(huán)境Simulink的一個(gè)重要的補(bǔ)充功能模塊,它是一個(gè)基于Simulink的代碼自動(dòng)生出環(huán)境,它能直接從Simulink的模型中產(chǎn)生優(yōu)化的、可移植的和個(gè)性化的代碼,并根據(jù)目標(biāo)配置自動(dòng)生成多種環(huán)境下的程序。 RTW提供了幾個(gè)快速原型化的目標(biāo),其中包括提供了從Simulink模型到VxWorks應(yīng)用代碼的自動(dòng)轉(zhuǎn)換接口Tornado Real-Time Target,可以讓用戶(hù)的模型在VxWorks上執(zhí)行。 2、Tornado(VxWorks)實(shí)時(shí)目標(biāo)運(yùn)行時(shí)結(jié)構(gòu) 開(kāi)發(fā)VxWorks實(shí)時(shí)應(yīng)用系統(tǒng)的典型配置,如圖1所示:
實(shí)時(shí)代碼在主機(jī)上,用Tornado提供的交叉編譯器編譯。通過(guò)RTW的Tornado實(shí)時(shí)目標(biāo)生成目標(biāo)文件(vxmodel.lo),可通過(guò)Tornado集成開(kāi)發(fā)環(huán)境的WindSh下載到VxWorks目標(biāo)機(jī)。實(shí)時(shí)程序在VxWorks目標(biāo)機(jī)上執(zhí)行,通過(guò)IO設(shè)備和外部硬件交換數(shù)據(jù),并保持和主機(jī)之間的相互通信。 實(shí)時(shí)程序運(yùn)行在VxWorks目標(biāo)機(jī)上,而Simulink運(yùn)行在主機(jī)上。Simulink需要VxWorks目標(biāo)機(jī)上運(yùn)行的任務(wù)來(lái)處理通信過(guò)程。Tornado(VxWorks)Real-Time Tartget生成如下VxWorks任務(wù):一個(gè)用于和Simulink通信,其他用于完成模型功能[2]。 3、Tornado(VxWorks)實(shí)時(shí)目標(biāo)的實(shí)現(xiàn)過(guò)程 3.1 實(shí)驗(yàn)環(huán)境 我的實(shí)驗(yàn)環(huán)境如下表: 表1 實(shí)驗(yàn)環(huán)境
3.2 實(shí)時(shí)目標(biāo)的具體實(shí)現(xiàn)步驟 為了通過(guò)Real-Time Workshop實(shí)現(xiàn)和運(yùn)行一個(gè)基于VxWorks的實(shí)時(shí)程序,用戶(hù)可按如下的步驟進(jìn)行: (1) 在Matlab/Simulink下建立一個(gè)模型,這里以一個(gè)經(jīng)典的PID模型為例:
模型采用外部工作模式(External Mode),并設(shè)置Simulink Parameters對(duì)話(huà)框中的參數(shù):
(2) 配置模板聯(lián)編連文件tornado.tmf,該文件位matlabroot%/rtw/c/tornado目錄下,要對(duì)這個(gè)文件作如下修改: #———————————— Macros read by make_rtw ————————————- MAKECMD = C:Tornado2.2hostx86-win32 inmake HOST = PC #————————————-Tool Locations————————————————————————————- WIND_BASE= C:Tornado2.2 WIND_REGISTRY=$(COMPUTERNAME) WIND_HOST_TYPE=x86-win32 #————————————Vxworks Configuration—————————————————— VX_TARGET_TYPE = pentium CPU_TYPE = PENTIUM2 #————————————-Macros for Downloading to Target————- TARGET=target TGTSVR_HOST=host VX_CORE_LOC = $(WIND_BASE)/target/config/ pcPentium3/vxWorks (3) 程序的生成、編譯、連接 設(shè)置完參數(shù),保存后,開(kāi)始創(chuàng)建程序,單擊上圖中的Build按鈕,開(kāi)始編譯程序,成功后可在當(dāng)前的目錄中產(chǎn)生了一個(gè)vxmodel_tornado_rtw的文件夾和一個(gè)目標(biāo)文件vxmodel.lo。 (4) 手動(dòng)下載和運(yùn)行可執(zhí)行文件 現(xiàn)在可以將實(shí)時(shí)程序下載到目標(biāo)機(jī)中,具體的方法是在Tornado集成開(kāi)發(fā)環(huán)境中啟動(dòng)WindSh,在WindSh窗口執(zhí)行如下命令: ld
打開(kāi)External Mode Control Panel,如圖7所示。點(diǎn)擊Connect按鈕,執(zhí)行Start real-time code,可以看到Scope上的圖形輸出。此時(shí),可以改變模型的參數(shù)(如增益的數(shù)值),參數(shù)下載后Scope的曲線將隨之改變。仿真時(shí)間結(jié)束以后,可以看到產(chǎn)生了一個(gè)external.mat文件,由目標(biāo)機(jī)會(huì)傳到主機(jī),放在Tornado的安裝根目錄下。
4、結(jié)論 針對(duì)Matlab的仿真特性和VxWorks操作系統(tǒng)的實(shí)時(shí)特點(diǎn),本文介紹了RTW面向Tornado(VxWorks)實(shí)時(shí)目標(biāo)的運(yùn)行結(jié)構(gòu),并且較為詳細(xì)的闡述了Tornado(VxWorks)實(shí)時(shí)目標(biāo)的具體實(shí)現(xiàn)流程,實(shí)現(xiàn)了Simulink在Tornado(VxWorks)實(shí)時(shí)目標(biāo)下的仿真。 在結(jié)合相關(guān)文檔的同時(shí),筆者加入了親身實(shí)驗(yàn)的經(jīng)驗(yàn),增補(bǔ)了一些必要的內(nèi)容,完善了實(shí)驗(yàn)的具體步驟,降低了為讀者今后實(shí)驗(yàn)的調(diào)試難度。
中傳動(dòng)網(wǎng)版權(quán)與免責(zé)聲明:

凡本網(wǎng)注明[來(lái)源:中國(guó)傳動(dòng)網(wǎng)]的所有文字、圖片、音視和視頻文件,版權(quán)均為中國(guó)傳動(dòng)網(wǎng)(m.u63ivq3.com)獨(dú)家所有。如需轉(zhuǎn)載請(qǐng)與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個(gè)人轉(zhuǎn)載使用時(shí)須注明來(lái)源“中國(guó)傳動(dòng)網(wǎng)”,違反者本網(wǎng)將追究其法律責(zé)任。

本網(wǎng)轉(zhuǎn)載并注明其他來(lái)源的稿件,均來(lái)自互聯(lián)網(wǎng)或業(yè)內(nèi)投稿人士,版權(quán)屬于原版權(quán)人。轉(zhuǎn)載請(qǐng)保留稿件來(lái)源及作者,禁止擅自篡改,違者自負(fù)版權(quán)法律責(zé)任。

如涉及作品內(nèi)容、版權(quán)等問(wèn)題,請(qǐng)?jiān)谧髌钒l(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。

關(guān)注伺服與運(yùn)動(dòng)控制公眾號(hào)獲取更多資訊

關(guān)注直驅(qū)與傳動(dòng)公眾號(hào)獲取更多資訊

關(guān)注中國(guó)傳動(dòng)網(wǎng)公眾號(hào)獲取更多資訊

最新新聞
查看更多資訊

娓娓工業(yè)

廣州金升陽(yáng)科技有限公司

熱搜詞
  • 運(yùn)動(dòng)控制
  • 伺服系統(tǒng)
  • 機(jī)器視覺(jué)
  • 機(jī)械傳動(dòng)
  • 編碼器
  • 直驅(qū)系統(tǒng)
  • 工業(yè)電源
  • 電力電子
  • 工業(yè)互聯(lián)
  • 高壓變頻器
  • 中低壓變頻器
  • 傳感器
  • 人機(jī)界面
  • PLC
  • 電氣聯(lián)接
  • 工業(yè)機(jī)器人
  • 低壓電器
  • 機(jī)柜
回頂部
點(diǎn)贊 0
取消 0