日韩在线不卡免费视频一区,日韩欧美精品一区二区三区经典,日产精品码2码三码四码区,人妻无码一区二区三区免费,日本feerbbwdh少妇丰满

微軟公司宣布不再支持你正在使用的 IE瀏覽器,這會嚴重影響瀏覽網(wǎng)頁,請使用微軟最新的Edge瀏覽器
廠商專區(qū)
產(chǎn)品/技術(shù)
應(yīng)用分類

交互式應(yīng)用一舉兩得 實時仿真與嵌入式系統(tǒng)并構(gòu)

2013-12-16 10:17 來源:電源網(wǎng) 編輯:娣霧兒

1、前言

對于程序開發(fā)和許多交互式應(yīng)用來說,UNIX和Windows可以算是優(yōu)秀的操作系統(tǒng)。然而,它們都不適于實時應(yīng)用。Tornado是美國 WindRiver公司為用戶提供的嵌入式開發(fā)平臺,VxWorks是Tornado的運行期組件,也是嵌入式行業(yè)應(yīng)用最為廣泛的實時操作系統(tǒng)。 VxWorks的實時性做的非常好,其系統(tǒng)本身的開銷很小,任務(wù)調(diào)度、任務(wù)間通信和中斷處理等系統(tǒng)公用程序精煉而高效,他們造成的延遲很短。 VxWorks提供的多任務(wù)機制對任務(wù)的控制采用了優(yōu)先級搶占調(diào)度和輪轉(zhuǎn)調(diào)度機制,也充分保證了可靠的實時性,使同樣的硬件配置能夠滿足更強的實時性要求,為應(yīng)用的開發(fā)留下更大的余地。

RTW(Real-Time Workshop)是Matlab圖形建模和仿真環(huán)境Simulink的一個重要的補充功能模塊,它是一個基于Simulink的代碼自動生出環(huán)境,它能直接從Simulink的模型中產(chǎn)生優(yōu)化的、可移植的和個性化的代碼,并根據(jù)目標(biāo)配置自動生成多種環(huán)境下的程序。

RTW提供了幾個快速原型化的目標(biāo),其中包括提供了從Simulink模型到VxWorks應(yīng)用代碼的自動轉(zhuǎn)換接口Tornado Real-Time Target,可以讓用戶的模型在VxWorks上執(zhí)行。

2、Tornado(VxWorks)實時目標(biāo)運行時結(jié)構(gòu)

開發(fā)VxWorks實時應(yīng)用系統(tǒng)的典型配置,如圖1所示:

仿真1

圖1 VxWorks實時應(yīng)用開發(fā)的經(jīng)典配置

實時代碼在主機上,用Tornado提供的交叉編譯器編譯。通過RTW的Tornado實時目標(biāo)生成目標(biāo)文件(vxmodel.lo),可通過 Tornado集成開發(fā)環(huán)境的WindSh下載到VxWorks目標(biāo)機。實時程序在VxWorks目標(biāo)機上執(zhí)行,通過IO設(shè)備和外部硬件交換數(shù)據(jù),并保持和主機之間的相互通信。

實時程序運行在VxWorks目標(biāo)機上,而Simulink運行在主機上。Simulink需要VxWorks目標(biāo)機上運行的任務(wù)來處理通信過程。 Tornado(VxWorks)Real-Time Tartget生成如下VxWorks任務(wù):一個用于和Simulink通信,其他用于完成模型功能[2]。

3、Tornado(VxWorks)實時目標(biāo)的實現(xiàn)過程

3.1 實驗環(huán)境

我的實驗環(huán)境如下表:

仿真2

表1 實驗環(huán)境


3.2 實時目標(biāo)的具體實現(xiàn)步驟

為了通過Real-Time Workshop實現(xiàn)和運行一個基于VxWorks的實時程序,用戶可按如下的步驟進行:

(1) 在Matlab/Simulink下建立一個模型,這里以一個經(jīng)典的PID模型為例:

仿真3

圖2 實驗所采用的經(jīng)典PID模型

模型采用外部工作模式(External Mode),并設(shè)置Simulink Parameters對話框中的參數(shù):

仿真5

圖3 仿真參數(shù)Solver設(shè)置

仿真6

圖4 仿真參數(shù)Real-Time Workshop設(shè)置

仿真7

圖5 仿真參數(shù)code generation options設(shè)置


(2) 配置模板聯(lián)編連文件tornado.tmf,該文件位于%matlabroot%/rtw/c/tornado目錄下,要對這個文件作如下修改:

#------------ 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ù),保存后,開始創(chuàng)建程序,單擊上圖中的Build按鈕,開始編譯程序,成功后可在當(dāng)前的目錄中產(chǎn)生了一個 vxmodel_tornado_rtw的文件夾和一個目標(biāo)文件vxmodel.lo。

(4) 手動下載和運行可執(zhí)行文件

現(xiàn)在可以將實時程序下載到目標(biāo)機中,具體的方法是在Tornado集成開發(fā)環(huán)境中啟動WindSh,在WindSh窗口執(zhí)行如下命令:

 ld

請注意要保證lo文件在WindSh的工作路徑下。VxWorks實時程序定義了一個函數(shù)rt_main(),用來創(chuàng)建和執(zhí)行模型代碼、完成與 Simulink的通信(如果選擇了外部模式方式)。rt_main函數(shù)在文件rt_main.c中定義,這個文件位于目錄%matlabroot% twc ornado中。

在WindSh窗口中調(diào)用rt_main函數(shù),開始運行程序:sp(rt_main,vxmodel,"-tf 100 -w ","*",0,30,17725)

參數(shù)的含義分別是:

rt_main()是實時程序定義的函數(shù),用來產(chǎn)生任務(wù)執(zhí)行代碼和與Simulink進行通信;

-tf用于指定仿真時間,此處設(shè)為100秒;

-w表示在外部模式時,運行前等待來自Simulink消息的觸發(fā);

“*”為安裝所有的信號;

0表示使用各自的模塊名;

30表示使用默認作為tBaseRate優(yōu)先級;

17725為TCP默認端口號(可以設(shè)置在256~65535之間)。

運行后我們可以看到目標(biāo)機上的屏幕上顯示:

waiting for start message from host


(5) 建立連接

在External Target Interface對話框中的MEX-file arguments指定目標(biāo)機的IP、冗長度和TCP端口號,如圖6所示,就可以建立連接了。

仿真8

圖6 External Target Interface對話框設(shè)置

打開External Mode Control Panel,如圖7所示。點擊Connect按鈕,執(zhí)行Start real-time code,可以看到Scope上的圖形輸出。此時,可以改變模型的參數(shù)(如增益的數(shù)值),參數(shù)下載后Scope的曲線將隨之改變。仿真時間結(jié)束以后,可以看到產(chǎn)生了一個external.mat文件,由目標(biāo)機會傳到主機,放在Tornado的安裝根目錄下。

仿真9

圖7 External Mode Control Panel對話框

4、結(jié)論

針對Matlab的仿真特性和VxWorks操作系統(tǒng)的實時特點,本文介紹了RTW面向Tornado(VxWorks)實時目標(biāo)的運行結(jié)構(gòu),并且較為詳細的闡述了Tornado(VxWorks)實時目標(biāo)的具體實現(xiàn)流程,實現(xiàn)了Simulink在Tornado(VxWorks)實時目標(biāo)下的仿真。在結(jié)合相關(guān)文檔的同時,加入親身實驗的經(jīng)驗,增補了一些必要的內(nèi)容,完善了實驗的具體步驟,降低了今后實驗的調(diào)試難度。

聲明:本內(nèi)容為作者獨立觀點,不代表電源網(wǎng)。本網(wǎng)站原創(chuàng)內(nèi)容,如需轉(zhuǎn)載,請注明出處;本網(wǎng)站轉(zhuǎn)載的內(nèi)容(文章、圖片、視頻)等資料版權(quán)歸原作者所有。如我們采用了您不宜公開的文章或圖片,未能及時和您確認,避免給雙方造成不必要的經(jīng)濟損失,請電郵聯(lián)系我們,以便迅速采取適當(dāng)處理措施;歡迎投稿,郵箱∶editor@netbroad.com。

相關(guān)閱讀

微信關(guān)注
技術(shù)專題 更多>>
技術(shù)專題之EMC
技術(shù)專題之PCB
電子行業(yè)原創(chuàng)技術(shù)內(nèi)容推薦
客服熱線
服務(wù)時間:周一至周五9:00-18:00
微信關(guān)注
獲取一手干貨分享
免費技術(shù)研討會
editor@netbroad.com
400-003-2006