新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > Matlab/RTW實時仿真與嵌入式系統(tǒng)開發(fā)

        Matlab/RTW實時仿真與嵌入式系統(tǒng)開發(fā)

        作者: 時間:2009-11-27 來源:網(wǎng)絡 收藏

          引 言

          在日益激烈的競爭中,系統(tǒng)的開發(fā)周期顯得尤為重要,但開發(fā)時間與系統(tǒng)安全性、可靠性又有一定沖突,如果仍然使用傳統(tǒng)的編寫代碼的模式,顯然有些不妥。本文介紹一種基于Matlab/RTW實現(xiàn)實時仿真與開發(fā)的方法。方法所涉及的開發(fā)環(huán)境如下:

        ◆Microsoft Windows XP SP3:
        ◆Matlab Version 7.5.0.342(R2007b);
        uVersion2V 2.30;
        7.1SP2。

          先借助Matlab/RTW建立模型并生成RTW(Real-Time Workshop)代碼(C語言),再使用編譯、調(diào)試Matlab生成的C語言代碼,并且生成HEX文件。之后,利用觀察代碼生成的效果,以驗證代碼的正確性。基本流程如圖1所示。

        基本流程

          1 構(gòu)建Simulink模型并生成RTW代碼

          以較為簡單的模型為例,用2個開關同時控制一個報警燈模型。當開關1、2同時閉合時,報警燈亮,邏輯真值表如表1所列。在Simulink中構(gòu)建對應模型,只有當開關1、2同時閉合時,報警燈才亮,故選擇如下模型實現(xiàn)上述功能。模型連接如圖2所示。

        模型連接

          模型連接好之后,打開參數(shù)配置選項卡調(diào)整參數(shù)。具體修改項及其對應值如表2所列。

        具體修改項及其對應值

          至此生成模型代碼的前期準備已經(jīng)完成,保存模型,取名Matlab_Test。下一步就是點擊Real_Time Work-shop選項中的Build按鈕,Matlab將自動生成模型代碼。

          Matlab命令窗口中顯示內(nèi)容如下:

        ###Starting Real-Time Workshop build procedure for model:
        Matlab_Test
        ……
        ###Successful completion of Real-Time Workshop build proce-dure for model:Matlab_Test
        至此,模型的代碼也生成成功。

        模型的代碼

        模型代碼

          完成代碼修改之后,建造目標。若暫且不管代碼優(yōu)化問題,則所需的HEX文件已經(jīng)成功生成。

          3.2 KeiI與的連接

          將安裝文件夾Proteus\Model下的VDM51.dll文件復制到\C51\INC文件夾下,用以實現(xiàn)兩軟件間的通信,并且在TOOLS.INI文件中加入VDM51.DLL文件的目錄及描述,具體添加內(nèi)容如圖4所示。

        添加內(nèi)容

          至此,Keil與Proteus間的連接前期準備已經(jīng)完成。下面開始Keil與Proteus聯(lián)機調(diào)試:選擇目標1的屬性,彈出對話框,在調(diào)試選項卡中選擇使用Proteus VSM Mo-nitor-51,具體調(diào)節(jié)參數(shù)如圖5所示。Keil與Proteus的連接已經(jīng)完成。

        調(diào)節(jié)參數(shù)

          4 Proteus仿真

          打開Proteus,新建一個工程,選擇80C51,正確連接基本電路;選擇P1.0引腳作為輸出,P1.6、P1.7引腳作為輸入,所連接的電路如圖6所示。

        連接的電路

          單擊Debug菜單,選擇Use Remote Debug Monitor選項。然后,雙擊80C51器件,彈出器件編輯對話框,在Program File選項中選擇Keil生成的HEX文件(本例中該文件名為Keil_Test.HEX),進行仿真。

          5 結(jié) 論

          實驗證明,基于Matlab生成的代碼具有較高的可靠性。

        ①通過Proteus的仿真結(jié)果可以得出,由Matlab生成的代碼同樣具有正確性;
        ②由Matlab直接生成代碼可以將設計人員從繁重的編寫代碼的工作中解脫出來,大大節(jié)省了開發(fā)時間,提高了開發(fā)效率;
        ③本文所述過程為的開發(fā)與實時仿真的實現(xiàn)提供了參考,具有實際指導意義。



        評論


        相關推薦

        技術專區(qū)

        關閉
        主站蜘蛛池模板: 浮梁县| 闻喜县| 辛集市| 延吉市| 栾城县| 江油市| 新泰市| 乡城县| 枣强县| 九台市| 湖口县| 滨州市| 萨嘎县| 拉萨市| 谷城县| 龙口市| 建湖县| 南宫市| 高雄县| 龙里县| 理塘县| 即墨市| 隆化县| 淳化县| 江北区| 青冈县| 镇原县| 英山县| 河曲县| 随州市| 文水县| 泰安市| 海原县| 兴国县| 福贡县| 宜兰县| 公主岭市| 钟祥市| 永平县| 饶河县| 清流县|