引言 在日益激烈的競爭中,系統(tǒng)的開發(fā)周期顯得尤為重要,但開發(fā)時(shí)間與系統(tǒng)安全性、可靠性又有一定沖突,如果仍然使用傳統(tǒng)的編寫代碼的模式,顯然有些不妥。本文介紹一種基于Matlab/RTW實(shí)現(xiàn)實(shí)時(shí)仿真與嵌入式系統(tǒng)開發(fā)的方法。方法所涉及的開發(fā)環(huán)境如下: ◆Microsoft Windows XP SP3: ◆Matlab Version 7.5.0.342(R2007b); ◆Keil uVersion2V 2.30; ◆Proteus 7.1SP2。 先借助Matlab/RTW建立模型并生成RTW(Real-Time Workshop)代碼(C語言),再使用Keil編譯、調(diào)試Matlab生成的C語言代碼,并且生成HEX文件。之后,利用Proteus觀察代碼生成的效果,以驗(yàn)證代碼的正確性。基本流程如圖1所示。 1 構(gòu)建Simulink模型并生成RTW代碼 以較為簡單的模型為例,用2個(gè)開關(guān)同時(shí)控制一個(gè)報(bào)警燈模型。當(dāng)開關(guān)1、2同時(shí)閉合時(shí),報(bào)警燈亮,邏輯真值表如表1所列。在Simulink中構(gòu)建對應(yīng)模型,只有當(dāng)開關(guān)1、2同時(shí)閉合時(shí),報(bào)警燈才亮,故選擇如下模型實(shí)現(xiàn)上述功能。模型連接如圖2所示。 模型連接好之后,打開參數(shù)配置選項(xiàng)卡調(diào)整參數(shù)。具體修改項(xiàng)及其對應(yīng)值如表2所列。 至此生成模型代碼的前期準(zhǔn)備已經(jīng)完成,保存模型,取名Matlab_Test。下一步就是點(diǎn)擊Real_Time Work-shop選項(xiàng)中的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 至此,模型的代碼也生成成功。 完成代碼修改之后,建造目標(biāo)。若暫且不管代碼優(yōu)化問題,則所需的HEX文件已經(jīng)成功生成。 3.2 KeiI與Proteus的連接 將安裝文件夾Proteus\Model下的VDM51.dll文件復(fù)制到Keil\C51\INC文件夾下,用以實(shí)現(xiàn)兩軟件間的通信,并且在 TOOLS.INI文件中加入VDM51.DLL文件的目錄及描述,具體添加內(nèi)容如圖4所示。 至此,Keil與Proteus間的連接前期準(zhǔn)備已經(jīng)完成。下面開始Keil與Proteus聯(lián)機(jī)調(diào)試:選擇目標(biāo)1的屬性,彈出對話框,在調(diào)試選項(xiàng)卡中選擇使用Proteus VSM Mo-nitor-51,具體調(diào)節(jié)參數(shù)如圖5所示。Keil與Proteus的連接已經(jīng)完成。 4 Proteus仿真 打開Proteus,新建一個(gè)工程,選擇80C51,正確連接基本電路;選擇P1.0引腳作為輸出,P1.6、P1.7引腳作為輸入,所連接的電路如圖6所示。 單擊Debug菜單,選擇Use Remote Debug Monitor選項(xiàng)。然后,雙擊80C51器件,彈出器件編輯對話框,在Program File選項(xiàng)中選擇Keil生成的HEX文件(本例中該文件名為Keil_Test.HEX),進(jìn)行仿真。 5 結(jié)論 實(shí)驗(yàn)證明,基于Matlab生成的代碼具有較高的可靠性。 ①通過Proteus的仿真結(jié)果可以得出,由Matlab生成的代碼同樣具有正確性; ②由Matlab直接生成代碼可以將設(shè)計(jì)人員從繁重的編寫代碼的工作中解脫出來,大大節(jié)省了開發(fā)時(shí)間,提高了開發(fā)效率; ③本文所述過程為嵌入式系統(tǒng)的開發(fā)與實(shí)時(shí)仿真的實(shí)現(xiàn)提供了參考,具有實(shí)際指導(dǎo)意義。 參考文獻(xiàn) 1. 陳永春.從Matlab/Simulink模型到代碼實(shí)現(xiàn)[M].北京:機(jī)械工業(yè)出版社,1999. 2. 湯滌.系統(tǒng)實(shí)時(shí)仿真開發(fā)環(huán)境與應(yīng)用[M].北京:機(jī)械工業(yè)出版社,2003. 3. 王正林,王勝開,陳國順,等.Matlab/Simulink與控制系統(tǒng)仿真[M].北京:電子工業(yè)出版社,2008. 4. 張志涌,等.精通Matlab6.5版[M].北京:北京航空航天大學(xué)出版社,2003. 5. 葛哲學(xué),等.精通Matlab[M].北京:電子工業(yè)出版社,2008. 作者:西北工業(yè)大學(xué) 史維佳 何鵬舉 李杰 來源:《單片機(jī)與嵌入式系統(tǒng)應(yīng)用》 2009(10) |