<dfn id="is4kg"></dfn>
  • <ul id="is4kg"></ul>
  • <abbr id="is4kg"></abbr>
  • <ul id="is4kg"></ul>
    <bdo id="is4kg"></bdo>

    曙海教育集團論壇VxWorks專區VxWorks 應用開發 → 實時仿真與嵌入式系統


      共有8987人關注過本帖樹形打印

    主題:實時仿真與嵌入式系統

    美女呀,離線,留言給我吧!
    wangxinxin
      1樓 個性首頁 | 博客 | 信息 | 搜索 | 郵箱 | 主頁 | UC


    加好友 發短信
    等級:青蜂俠 帖子:1393 積分:14038 威望:0 精華:0 注冊:2010-11-12 11:08:23
    實時仿真與嵌入式系統  發帖心情 Post By:2010-12-1 11:33:30

    1、前言

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

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

        RTW提供了幾個快速原型化的目標,其中包括提供了從Simulink模型到VxWorks應用代碼的自動轉換接口Tornado Real-Time Target,可以讓用戶的模型在VxWorks上執行。

        2、Tornado(VxWorks)實時目標運行時結構

        開發VxWorks實時應用系統的典型配置,如圖1所示:

    圖片點擊可在新窗口打開查看
    圖1 VxWorks實時應用開發的經典配置

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

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

        3、Tornado(VxWorks)實時目標的實現過程

        3.1 實驗環境

        我的實驗環境如下表:

    表1 實驗環境
    圖片點擊可在新窗口打開查看

        3.2 實時目標的具體實現步驟

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

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

    圖片點擊可在新窗口打開查看
    圖2 實驗所采用的經典PID模型

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

    圖片點擊可在新窗口打開查看
    圖3 仿真參數Solver設置

    圖片點擊可在新窗口打開查看
    圖4 仿真參數Real-Time Workshop設置

    圖片點擊可在新窗口打開查看
    圖5 仿真參數code generation options設置

    (2) 配置模板聯編連文件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) 程序的生成、編譯、連接

        設置完參數,保存后,開始創建程序,單擊上圖中的Build按鈕,開始編譯程序,成功后可在當前的目錄中產生了一個vxmodel_tornado_rtw的文件夾和一個目標文件vxmodel.lo。

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

        現在可以將實時程序下載到目標機中,具體的方法是在Tornado集成開發環境中啟動WindSh,在WindSh窗口執行如下命令:

        ld<vxmodel.lo

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

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

        參數的含義分別是:

        rt_main()是實時程序定義的函數,用來產生任務執行代碼和與Simulink進行通信;?
        -tf用于指定仿真時間,此處設為100秒;?
        -w表示在外部模式時,運行前等待來自Simulink消息的觸發;?
        “*”為安裝所有的信號;?
        0表示使用各自的模塊名;?
        30表示使用默認作為tBaseRate優先級;?
        17725為TCP默認端口號(可以設置在256~65535之間)。?

        運行后我們可以看到目標機上的屏幕上顯示:
        waiting for start message from host

        (5) 建立連接

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

    圖片點擊可在新窗口打開查看
    圖6 External Target Interface對話框設置

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

    圖片點擊可在新窗口打開查看
    圖7 External Mode Control Panel對話框

        4、結論

        針對Matlab的仿真特性和VxWorks操作系統的實時特點,本文介紹了RTW面向Tornado(VxWorks)實時目標的運行結構,并且較為詳細的闡述了Tornado(VxWorks)實時目標的具體實現流程,實現了Simulink在Tornado(VxWorks)實時目標下的仿真。

        在結合相關文檔的同時,筆者加入了親身實驗的經驗,增補了一些必要的內容,完善了實驗的具體步驟,降低了為讀者今后實驗的調試難度


    支持(0中立(0反對(0單帖管理 | 引用 | 回復 回到頂部

    返回版面帖子列表

    實時仿真與嵌入式系統








    簽名
    主站蜘蛛池模板: 久久精品中文无码资源站| 久久97久久97精品免视看秋霞 | 131的美女午夜爱爱爽爽视频| 麻豆久久久9性大片| 99热在线免费播放| 99精品国产在热久久| 要灬要灬再深点受不了好舒服| 精品欧洲AV无码一区二区男男| 看国产黄大片在线观看| 黄色激情视频在线观看| 高清无码一区二区在线观看吞精 | 国产精品91在线播放| 国产女人乱子对白AV片| 啊快点再快点好深视频免费| 亚洲视屏在线观看| 亚洲乱码在线视频| 久久国产精品2020盗摄| 中文字幕亚洲色图| 91精品久久久久久久久久小网站 | 2019亚洲午夜无码天堂| 精品少妇人妻AV免费久久洗澡| 波多野42部无码喷潮在线| 欧美一区二区三区精品影视| 日本xxwwxxww在线视频免费| 天天操天天操天天射| 国产精品亚洲专区在线播放| 国产xx在线观看| 亚洲欧洲自拍拍偷午夜色无码| 久久免费区一区二区三波多野| av片在线观看永久免费| 美妇与子伦亲小说| 欧美三级视频在线| 怡红院日本一道日本久久| 国产精品熟女一区二区| 国产一精品一av一免费爽爽| 亚洲热线99精品视频| 久久99精品国产麻豆不卡| 7777精品伊人久久久大香线蕉| 色老二精品视频在线观看| 色噜噜狠狠狠狠色综合久不| 欧美综合自拍亚洲综合图|