新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 80C51系列單片機仿真器選購指南

        80C51系列單片機仿真器選購指南

        作者: 時間:2012-10-26 來源:網絡 收藏

        3.連續中斷性能的測試

        測試說明:在 的中斷系統中,串口中斷比較特殊。進入串口中斷服務程序后中斷標志TI或RI不會自動清除,如果用戶程序不對TI 或RI進行清除操作則可能會出現連續進入中斷服務程序的情況。根據 的中斷處理,在退出中斷后必須執行完一條指令后才能重新進入中斷服務程序,因此即使連續中斷的情況下主程序也能得到連續執行。

        測試程序:

        ORG 0000H

        LJMP TestStart

        ORG 0023H /* 定時器0 的中斷服務程序 */

        RETI

        TestStart:

        SETB EA /* 開放全局中斷允許 */

        SETB ES /* 開放串口中斷允許 */

        SETB TI

        TestLoop:

        NOP

        NOP

        INC A /* A 數值加一,以便觀察程序持續運行 */

        LJMP TestLoop /* 連續運行 */

        END

        測試步驟

        (1) 照您當前使用的要求測試上面的程序。

        (2) 進入TestLoop 后,每次單步運行完一條程序都會進入串口中斷,退出后繼續運行一條下面的程序,然后又進入中斷服務程序,A 的數值可以得到遞增。

        (3) 主程序能在TestLoop 中連續運行,因此A 能連續加一,但是每循環一次就進入一次中斷。

        測試結論:如果沒有照嚴格正規設計,程序連續運行中斷程序性能將不準確。可能出現程序不能跳轉到中斷服務程序,或沒有返回到正確的主程序,或A 不能每次循環連續的加1。

        測試小結

        上述的幾個測試程序對的性能要求很高,如果仿真器通過測試說明被測試的仿真器仿真性能指標較高;如果仿真器沒有通過測試只能判斷仿真器性能不是最好,具體的綜合性能要有待其它檢驗。

        第七章 如何挑選測試HOOKS 技術仿真器

        HOOKS 技術是國外普遍采用的一種仿真技術,同Bondout 技術相比較,仿真器的適用范圍可以更廣。HOOKS 技術在10年前已經被國內引進,并被當時的仿真器廠家試圖采用。但是由于HOOKS 技術本身的復雜性,當時國內眾仿真器廠家竟無法設計出可以使用的仿真器,致使國內的仿真技術遠遠落后于國外。

        2002年,周立功旗下的廣州致遠電子有限公司推出了研制多年的TKS HOOKS 仿真器,并在性能上全面超過國外同類型的HOOKS 仿真器,國內的用戶能以低廉的價格購買到技術先進的HOOKS技術仿真器。在TKS HOOKS 仿真器面市以后,國內的仿真器廠商紛紛加強研發力量研制HOOKS技術,經過了一段時間后也宣布供應采用HOOKS 技術的仿真器。用戶需要注意的是:HOOKS 技術只是一個基本的仿真技術,要最終作成仿真器還必須依靠設計工程師精心的設計,因此市場上HOOKS 技術的仿真器性能指標可能有很大的差別,有的不占用用戶資源,有的就做不到;有的仿真頻率可以到很高,但是有的不行。因此用戶應仔細加以挑選和鑒別。

        根據HOOKS 技術本身的特點,用戶應該對以下的幾個方面加以注意和測試。

        能否運行外部用戶目標板上的程序

        由于HOOKS 技術中P0/P2 口是重新構造的,因此P0/P2 口上的時序處理是整個設計中的難點。P0/P2 的I/O 特性和數據總線特性相對容易實現一點,但是程序總線很難正確實現,這是由于HOOKS的技術結構決定的。一般HOOKS 仿真器在實現仿真內部64K 代碼空間比較容易,但是仿真內部4K (類似89C51)/8K (類似89C54)/16K (類似89C54)/32K (類似89C58)等能外擴ROM 空間的MCU類型則無法實現。在國內外所有的HOOKS 技術的仿真器中,只有廣州致遠公司的TKS 仿真器B 能真正做到穩定運行外部用戶目標板上的程序。運行外部用戶目標板上的程序是非常必要的,因為用戶可能在外部擴充了一般的用戶程序,需要實際仿真一下來驗證整個系統的正確性;也可能在外部放置了大容量的(可能超過64K 的物理地址限制)分組字庫,而這種特性是仿真器內部無法實現的;也可能是外部有分組的BANK 方式的運行代碼,這種方式要求仿真器必須有運行外部程序代碼的能力。

        P0/P2 口能否同時用作總線和I/O

        這種特性是芯片本來的性能,但是由于HOOKS 技術的難度,有很多HOOKS 仿真器不能做到這一點,導致用戶在使用時無法全面滿足要求。該性能一般不需要測試,可以直接閱讀仿真器的性能說明或向生產廠商或代理商詢問。作者檢測過國內外知名仿真器廠家的多種HOOKS 仿真器,幾乎都沒有完美做到P0/P2 口的準確仿真。

        P0/P2 口的直流參數

        如果需要檢測的仿真器根本做不到同時仿真I/O 和總線方式,則沒有必要檢測P0/P2 的直流參數。如果要檢測的仿真器宣稱能夠同時仿真I/O 和總線方式,用戶還必須分別在I/O 和總線兩種方式下對直流參數進行測試。根據作者的HOOKS 仿真器測試經驗,有的仿真器雖然宣稱能夠同時仿真I/O 和總線方式,但是根本不區分這兩種方式驅動能力,采用的是一種平均方式,這樣在作為I/O 時高電平驅動能力過大,而作為總線時驅動能力過小。用戶在使用這類仿真器作為輸入時,必須加大外部信號的驅動能力,這跟實際芯片的驅動能力相差太遠;在作為總線使用時,如果外部的總線(包括地址總線和數據總線)個數稍多,總線電平將嚴重下降而無法工作。用戶可以使用下面的測試程序配合示波器檢查。



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 昂仁县| 香港| 商丘市| 科技| 鹿邑县| 莒南县| 类乌齐县| 巴里| 永嘉县| 崇信县| 荣成市| 巴南区| 满洲里市| 确山县| 开封市| 自治县| 克拉玛依市| 榆树市| 绥滨县| 磐石市| 土默特右旗| 高邮市| 呼和浩特市| 漾濞| 思南县| 邹城市| 湖州市| 若羌县| 仁化县| 昆山市| 万山特区| 玉门市| 汪清县| 桂东县| 金秀| 乌拉特后旗| 高台县| 迁安市| 都江堰市| 西丰县| 鄂州市|