新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 80C196單片機仿真軟件的設計與實現(xiàn)

80C196單片機仿真軟件的設計與實現(xiàn)

作者: 時間:2013-09-11 來源:網(wǎng)絡 收藏
  為提高嵌入式控制軟件(以下簡稱為應用軟件)的質量和可靠性,研制過程中通常需對應用軟件進行全面細致的測評。但是基于嵌入式控制器的應用軟件測評通常需要構建與應用系統(tǒng)相當或更加復雜且完備的軟硬件測試環(huán)境,時間和資金的耗費不亞于被測系統(tǒng)開發(fā)。采用全軟件測試平臺實現(xiàn)應用軟件測評不失為一種較好的選擇。本文所介紹的即為旨在構建該種測試平臺的基礎技術之一。

l需求分析與軟件結構

  作為全軟件測試平臺的主框架,主要利用PC機上較豐富的資源,在PC機上實現(xiàn)應用軟件全速全功能仿真的運行,并頂留測試用例生成模塊、軟件模擬的外部激勵等軟件測評信息的插裝接口。

  該仿真軟件可仿真指令功能、中斷響應和外設接口功能。具有良好的人機界面,便于控制仿真過程,查看仿真結果。

  CPU模塊,主要仿真80C196 CPU芯片和存儲器,執(zhí)行80C196指令系統(tǒng)中的所有指令,支持多種數(shù)據(jù)類型,包括位、字節(jié)、字、雙字、短整形、整形、長整形,以及多種尋址方式,完成中斷處理并控制各種仿真的外設模塊;編譯模塊,完成源程序的預處理過程,包括編譯、分析、查錯,將源程序轉換成80C196 CPU能識別的指令集,供仿真運行使用;程序控制模塊,控制仿真軟件的運行,支持中斷點的設置,完成仿真軟件與用戶的交互;系統(tǒng)信息模塊,顯示當前系統(tǒng)信息,監(jiān)視仿真軟件的運行情況;結果信息模塊,查看源程序運行結果,并以形象直觀的方式顯示出來,具有良好的人機界面。

2仿真軟件設計與實現(xiàn)

  仿真軟件采用VC++面向對象技術,將系統(tǒng)中的各個抽象模塊,細化為各自的類實例,從而完成規(guī)定的系統(tǒng)功能。仿真軟件中所用到的主要類和關鍵技術描述如下

2.1 存儲器數(shù)據(jù)結構設計

  80C196具有一個邏輯上完全統(tǒng)一的寄存器空間,可尋址范圍為64 kB,其中大部分空間是用戶可以自由使用的空間。為了實現(xiàn)存儲器的全部功能以及便于程序控制,設計了一個包含多種信息的結構作為仿真軟件中的存儲單元,并由這些存儲單元組成了仿真平臺的存儲區(qū),軟件仿真平臺的存儲區(qū)與80C196的存儲空間一一映射。存儲單元結構表示如下:
仿真軟件中的存儲器表示為MyCode m_ramMap[0xffff],實現(xiàn)了與真實存儲空間的映射。

2.2 CPU模塊設計

  CPU模塊實質是一個龐大的類實例,模擬80C196CPU的所有功能,他是整個仿真軟件的核心。CPU類是80C196單片機中指令執(zhí)行部件,存儲器,IO接口,串行口等硬件部件的軟件實現(xiàn),完成指令仿真、存儲器管理、中斷管理等功能。能實現(xiàn)80C196單片機指令系統(tǒng)中104種指令的功能,并處理6種指令尋址方式,包括立即數(shù)尋址、寄存器直接尋址、間接尋址、自動增量間接尋址、短變址尋址和長變址尋址。

  80C196CPU的所有功能由C196Chip類實現(xiàn),C196Chip類的結構圖及其類中調用關系。

  CMyCPU類為所有類共有,包含存儲器單元,程序狀態(tài)字,CPU時鐘頻率,指令執(zhí)行總的周期數(shù)以及一些其他的CPU信號。CFindAddr 類實現(xiàn)了指令的六種尋址方式,通過提供統(tǒng)一的接口,實現(xiàn)不同的尋址方式,使得操作數(shù)的尋址過程變得透明。需要訪問存儲器的指令通過調用CFindAddr類中的方法完成訪問存儲器的過程,取得訪問數(shù)據(jù),依指令的不同,取得的數(shù)據(jù)類型包括字節(jié)、字、短整型數(shù)、整型數(shù)、雙字和長整型數(shù)。80C196指令系統(tǒng)中有104種指令,依據(jù)功能的不同,劃分為加法指令、減法指令、乘法指令、除法指令、邏輯運算指令、數(shù)據(jù)傳送指令、堆棧操作指令、跳轉和子程序調用指令、條件跳轉、位邏輯值跳轉指令、單寄存器指令、移位指令和特殊控制指令。每一類指令作為一個單獨的模塊設計為一個類實例,完成相應指令的解釋執(zhí)行。對于需要修改程序狀態(tài)字的指令,將修改狀態(tài)字的操作作為一個類。


上一頁 1 2 下一頁

評論


相關推薦

技術專區(qū)

關閉