亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于MultiSim10的MCU實時性仿真與研究

        2011-08-11 07:10:38張小進(jìn)
        關(guān)鍵詞:單片機系統(tǒng)設(shè)計

        張小進(jìn)

        (閩江學(xué)院 計算機科學(xué)系,福州350108)

        0 引 言

        隨著EDA技術(shù)的不斷發(fā)展,電子產(chǎn)品的設(shè)計過程從模型的建立,到包括電原理圖、PCB板圖、MCU及接口、MCU控制程序、FPGA的構(gòu)建、仿真、外觀界面、熱穩(wěn)定分析、電磁兼容分析在內(nèi)的物理級設(shè)計,再到PCB鉆孔圖、自動貼片、焊膏漏印、元器件清單、總裝配圖等生產(chǎn)所需資料等等全部在計算機上完成,發(fā)達(dá)國家目前已經(jīng)基本上不存在電子產(chǎn)品的手工設(shè)計[1].

        單片機系統(tǒng)的開發(fā)需要經(jīng)歷軟、硬件設(shè)計、調(diào)試,以及制作后的聯(lián)合統(tǒng)調(diào);以上的任何一個步驟一旦存在錯誤就要回朔到前一個或若干個步驟進(jìn)行修改設(shè)計,這導(dǎo)致了開發(fā)費用高、開發(fā)周期長等問題.美國NI公司推出的MultiSim9開始引入了MCU系統(tǒng)設(shè)計與仿真,它不但可以設(shè)計、仿真 MCU系統(tǒng),也可以對外圍的接口進(jìn)行設(shè)計與仿真,還可以支持C或匯編的軟件開發(fā)及斷點調(diào)試、MCU的內(nèi)存、寄存器查看等;從而使得單片機系統(tǒng)的開發(fā)可以更好地借助于計算機的輔助設(shè)計.

        1 實時性仿真問題

        單片機系統(tǒng)通常應(yīng)用于各種控制領(lǐng)域,它的實時性是一個極其重要的指標(biāo);主要體現(xiàn)在時鐘定時中斷、信息的動態(tài)顯示和數(shù)據(jù)的輸入等方面.無論是做系統(tǒng)開發(fā)還是輔助教學(xué),設(shè)計者都希望自己的設(shè)計能在實現(xiàn)前進(jìn)行很好地仿真,以檢驗設(shè)計中存在的軟硬件錯誤、邏輯功能上的問題和實時性的效果.那么利用MultiSim軟件對單片機系統(tǒng)進(jìn)行輔助設(shè)計能否滿足實時性仿真的要求呢?以常用的七段數(shù)碼管顯示系統(tǒng)時鐘為例,在單片機系統(tǒng)中為了節(jié)省有限的I/O端口,數(shù)碼管的顯示一般采用動態(tài)顯示技術(shù),它利用人眼的視覺暫留現(xiàn)象,快速地輪流點亮各個數(shù)碼管以達(dá)到穩(wěn)定顯示信息的目的[4-5].眾所周知,只有位選通輪轉(zhuǎn)的頻率至少達(dá)到24/秒次才能看到連續(xù)的信息,而要看到穩(wěn)定的信息需至少要達(dá)到48/秒次.實現(xiàn)一個六位七段數(shù)碼管動態(tài)顯示的硬件系統(tǒng)如圖1所示.

        這個系統(tǒng)采用7447N作為BCD-段碼的譯碼輸出,而不使用查表法;利用74LS138D輸出位選通信號;用共陽七段數(shù)碼管顯示時、分和秒信息.

        軟件系統(tǒng)的算法流程如圖2、圖3、圖4所示.

        圖1 數(shù)碼管顯示硬件系統(tǒng)

        定時器工作于定時的方式1,利用其每隔50ms中斷一次,寄存器計數(shù)累計到20次為1s時間到.按照以上的軟硬件設(shè)計,仿真的結(jié)果應(yīng)該是顯示設(shè)置的時、分、秒,并實時更新時間,但是在仿真中我們會發(fā)現(xiàn)存在兩個問題,導(dǎo)致仿真的結(jié)果與實際情況大相近庭.第一,沒有實現(xiàn)連續(xù)、穩(wěn)定的顯示時間,而只是像跑馬燈地顯示;第二,仿真顯示的時間與實際的時間相差很大,即顯示的時鐘走時慢了很多.

        在MultiSim中,可以通過修改“仿真”菜單下的“交互式仿真設(shè)置”菜單項上的“默認(rèn)瞬態(tài)分析”選項卡上的“設(shè)置初始時間步長”的值來改變仿真的速度,但是這個值的改變對數(shù)碼管的動態(tài)顯示仿真基本沒有作用,表1是對該值選擇不同時以上系統(tǒng)中某個數(shù)碼管被選通的次數(shù)比較.

        表1 設(shè)置初始時間步長

        從表1統(tǒng)計的數(shù)據(jù)可以看出,在六位數(shù)碼管動態(tài)顯示系統(tǒng)中,50次/min的選通顯然不能滿足正常顯示的條件;另外,初始時間步長的改變對動態(tài)顯示效果的改善基本無效.

        2 動態(tài)顯示的極限測試

        為了測試MultiSim下數(shù)碼管動態(tài)顯示的極限值,需要排除軟件執(zhí)行所花費的時間;因此,設(shè)計一個環(huán)形計數(shù)器用于產(chǎn)生數(shù)碼管動態(tài)顯示所需要的位選通信號[6-8],讓數(shù)碼管段碼引腳固定連接“高”或“低”電平以顯示某些數(shù)字,其測試硬件電路如圖5所示.連接于P0口的數(shù)碼管(內(nèi)部帶有譯碼電路)用于顯示定時的數(shù)值;連接于P2口的數(shù)碼管用于在定時時間到時顯示選通脈沖的個數(shù).

        圖5 動態(tài)顯示極限測試

        單片機用MultiSim默認(rèn)的晶振頻率12MHz,利用T0定時器定時以產(chǎn)生與實際時間相同的一分鐘定時;利用T1定時器對環(huán)形計數(shù)器的輸出,即位選通信號脈沖進(jìn)行計數(shù),測試出在實際時間1min內(nèi)某位數(shù)碼管被選通的次數(shù).

        在MultiSim默認(rèn)的仿真條件下,通過改變環(huán)形計數(shù)器的脈沖頻率(占空比為50%),測試數(shù)碼管某位實際顯示的頻率,表2是實際位顯示頻率測試的結(jié)果.

        表2 極限測試實際位顯示頻率的變化

        10kHz 1.1Hz 2.5kHz 20kHz 1.133Hz 5kHz 60kHz 1.167Hz 12.5kHz 100kHz 1.25Hz 25kHz 200kHz 1.25Hz 50kHz

        從表2的結(jié)果可以看到,當(dāng)環(huán)形計數(shù)器的脈沖頻率達(dá)到100kHz后,實際位顯示的頻率已經(jīng)無法提高了.

        測試所用的程序代碼如下:

        在程序設(shè)計中,讓T0、T1都工作于方式2,自動重裝初值以減少誤差.在純硬件實現(xiàn)四位動態(tài)顯示的條件下,環(huán)形計數(shù)器計數(shù)脈沖頻率為100kHz,按照MultiSim默認(rèn)的“設(shè)置初始時間步長”值,測試結(jié)果為75次/min,即1.25次/s;當(dāng)“最大時間步長”和“初始時間步長”都設(shè)置為80s時,測試結(jié)果為96次/min,即1.6次/s;顯然這都是無法滿足連續(xù)地顯示仿真,但是這并不代表該軟件不能實現(xiàn)數(shù)碼管的動態(tài)顯示仿真,因為在數(shù)碼管的位選通引腳上只要接上“測量探針”就可以檢測到位選通脈沖的頻率,如圖2中所示.因此,盡管看不到實際仿真的實時效果,但只要該頻率大于48Hz,在實際系統(tǒng)中是一定可以實現(xiàn)動態(tài)顯示的.

        在單片機系統(tǒng)中,定時器的計數(shù)初值計算公式是:

        (2n-X)機器周期(μs)=定時時間(μs)

        式中n的取值為0、1、2,分別對應(yīng)定時器的各種方式;由于在MultiSim中8051默認(rèn)的晶振頻率是12MHz,所以機器周期是1μs.在使用定時器仿真時由于線程時間配額的關(guān)系,定時器初值計算值的定時結(jié)果在仿真的實際效果中會大大延長;具體延長多少與不同的PC硬件、操作系統(tǒng)、當(dāng)時運行的進(jìn)程、以及是否正在做I/O操作等因素是有關(guān)的;在雙核的Intel(R)Pentium(R)Dual e2140@1.60 GHz CPU、Windows XP的操作系統(tǒng)下,大約100 μs的定時時間相當(dāng)于實際時間的1s;之所以是大約的值,是因為與PC系統(tǒng)開啟的進(jìn)程多少,如是否播放音頻、視頻等有關(guān).

        3 MultiSim實時性分析

        Multisim運行于多用戶、多任務(wù)的操作系統(tǒng)平臺下,其設(shè)計的仿真作為一般用戶進(jìn)程中的線程分時輪轉(zhuǎn)地使用操作系統(tǒng)的線程時間配額.對于Windows 2000/XP操作系統(tǒng)而言,每個線程都有一個優(yōu)先級和時間配額.

        3.1 線程優(yōu)先級

        在Windows 2000/XP操作系統(tǒng)下線程分為32個線程優(yōu)先級,優(yōu)先數(shù)是0到31,優(yōu)先數(shù)越大優(yōu)先級越高.其調(diào)度是基于內(nèi)核級線程的搶占式調(diào)度,調(diào)度策略是采用動態(tài)優(yōu)先數(shù)多級反饋隊列,每個優(yōu)先數(shù)都對應(yīng)于一個就緒隊列[2].線程優(yōu)先數(shù)在31~16范圍的屬于實時優(yōu)先級,用于通信和實時任務(wù);線程優(yōu)先數(shù)在15~1范圍的屬于可變優(yōu)先級,用于用戶的交互式任務(wù);線程優(yōu)先數(shù)為0的屬于系統(tǒng)線程優(yōu)先級,用于系統(tǒng)中的頁面任務(wù).

        在Windows 2000/XP操作系統(tǒng)中可以通過任務(wù)管理器修改進(jìn)程的基本優(yōu)先級,相應(yīng)的線程會繼承進(jìn)程的優(yōu)先級.如果用戶有權(quán)限,可以將 Multi-Sim的進(jìn)程優(yōu)先級升高到“實時”,由于硬件中斷的優(yōu)先級高于任何線程,所以它不會阻塞硬件中斷處理,但是它可能阻塞關(guān)鍵系統(tǒng)線程(如存儲管理器、緩存管理器、本地和網(wǎng)絡(luò)文件系統(tǒng)和設(shè)備驅(qū)動程序等)[3].因此,在仿真過程中會看到,當(dāng)優(yōu)先級設(shè)置為“實時”后仿真可能處于不穩(wěn)定的狀態(tài);另外,在仿真過程中不能有I/O操作,例如,移動鼠標(biāo)、敲擊鍵盤等,因為這些操作的中斷處理將優(yōu)先進(jìn)行,會導(dǎo)致仿真中線程暫停和時鐘定時的嚴(yán)重滯后.

        3.2 線程時間配額

        時間配額是一個線程從進(jìn)入運行狀態(tài)到 Windows 2000/XP檢查是否有其他優(yōu)先級相同的線程需要開始運行之間的時間總和[3].缺省狀態(tài)下,線程開始的時間配額為6,每個時鐘中斷減少的時間配額為3,因此一個線程的缺省運行時間為2個時鐘中斷間隔.對于X86單處理器系統(tǒng)的時鐘中斷間隔為10ms.換而言之就是在Windows 2000/XP(專業(yè)版)平臺下線程缺省的運行時間是20ms.如果一個進(jìn)程只有一個或幾個線程,線程優(yōu)先級為“實時”且仿真運行時不進(jìn)行I/O操作的話,那么至少是可以滿足數(shù)碼管連續(xù)的動態(tài)顯示.

        然而,通過任務(wù)管理器可以看到MultiSim運行時有二十幾個線程,且操作系統(tǒng)中還有相當(dāng)數(shù)量較高優(yōu)先級的系統(tǒng)進(jìn)程和后臺進(jìn)程(每個進(jìn)程有至少1個的線程),通過簡單的推算可以估計出一個仿真線程最快的情況下需要約500ms輪轉(zhuǎn)一次,也就是最快2次/s;這與動態(tài)顯示的極限測試的結(jié)果是基本吻合的,因此,在MultiSim下仿真要看到數(shù)碼管動態(tài)顯示符合實際的效果是不可能的.

        4 結(jié) 語

        本文主要針對MultiSim下MCU系統(tǒng)的實時性仿真存在的問題進(jìn)行分析與研究,設(shè)計了數(shù)碼管動態(tài)顯示的極限測試硬件電路和測試代碼,對極限測試的結(jié)果從MultiSim運行的平臺,即 Windows 2000/XP操作系統(tǒng)的角度分析了其實時性仿真的局限性和造成仿真中與實際效果不符的原因.

        由于仿真中MCU的定時時間顯示效果與實際時間差別較大,因此在MultiSim使用仿真時,為顯示需要所調(diào)用的延遲子程序可先注釋掉,以利于顯示效果.

        [1] 王冠華.Multisim10電路設(shè)計及應(yīng)用[M].北京:國防工業(yè)出版社,2008:20-23.

        [2] Abraham Silberschatz.[美]等.操作系統(tǒng)概念[M].北京:高等教育出版社,2002:114-122.

        [3] 孫鐘秀.操作系統(tǒng)教程[M].高等教育出版社,2003,(3):153-161.

        [4] 張毅剛.新編 MCS-51單片機應(yīng)用設(shè)計[M].黑龍江:哈爾濱工業(yè)大學(xué)出版社,2006:153-157.

        [5] 周立功.單片機與CPLD綜合應(yīng)用技術(shù)[M].北京航空航天大學(xué)出版社,2003:338-340.

        [6] 黃 麗.基于Multisim仿真的超聲波測距系統(tǒng)的設(shè)計與實現(xiàn)[J].湖南工程學(xué)院學(xué)報,2009,19(2):27.

        [7] 劉 超,等.基于NI Multisiml0MCU模塊的單片機仿真[J].應(yīng)用天地,2008,27(8):58-59.

        [8] 石嘉順.基于Multisim環(huán)境下的電路設(shè)計與仿真[J].計算機仿真,2007,24(12):307-308.

        猜你喜歡
        單片機系統(tǒng)設(shè)計
        Smartflower POP 一體式光伏系統(tǒng)
        WJ-700無人機系統(tǒng)
        ZC系列無人機遙感系統(tǒng)
        北京測繪(2020年12期)2020-12-29 01:33:58
        基于單片機的SPWM控制逆變器的設(shè)計與實現(xiàn)
        電子制作(2019年13期)2020-01-14 03:15:28
        基于單片機的層次漸變暖燈的研究
        電子制作(2019年15期)2019-08-27 01:12:10
        基于單片機的便捷式LCF測量儀
        電子制作(2019年9期)2019-05-30 09:42:02
        瞞天過?!律O(shè)計萌到家
        連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
        設(shè)計秀
        海峽姐妹(2017年7期)2017-07-31 19:08:17
        有種設(shè)計叫而專
        Coco薇(2017年5期)2017-06-05 08:53:16
        久久成人国产精品| 亚洲国产另类久久久精品小说| 2021亚洲色中文字幕| 国产精品午夜福利亚洲综合网 | www国产精品内射熟女| 国产va免费精品高清在线观看| 国产亚洲精品不卡在线| 国产又湿又爽又猛的视频 | 又嫩又硬又黄又爽的视频| 人妻激情另类乱人伦人妻| 每天更新的免费av片在线观看| 色丁香色婷婷| av狼人婷婷久久亚洲综合| 久久中文字幕av第二页| 日本高清一区二区三区在线观看 | 日本一区二区三区熟女俱乐部| 国产精品18久久久白浆| 蜜臀亚洲av无码精品国产午夜.| 亚洲乱亚洲乱少妇无码99p| 久久综合成人网| 狠狠亚洲婷婷综合久久久| 亚洲成人精品在线一区二区| 精品国产麻豆免费人成网站| 97超级碰碰人妻中文字幕| 亚洲一二三四五区中文字幕| 亚洲国产精品久久婷婷| 无码一区二区三区亚洲人妻| 国产99久久无码精品| 日本在线观看一区二区三区视频 | 亚洲一级毛片免费在线观看| 国产精品狼人久久久影院| 开心久久综合婷婷九月| 日日碰狠狠添天天爽| 一本到无码AV专区无码| 亚洲国产精品第一区二区三区| 极品粉嫩小仙女高潮喷水操av| 久久国产精品偷任你爽任你| 亚洲国产激情一区二区三区| 亚洲精品日本| 国产tv不卡免费在线观看| 天堂无码人妻精品av一区|