80C51系列單片機仿真器選購指南
測試程序:
ORG 0000H
LJMP TestStart
TestStart: MOV P0,#0FFH
TestLoop: MOV P0,#00H
NOP
MOV A,#0FFH
MOV DPTR,#0FFFFH
MOVX @DPTR,A
NOP
MOV P0,#00H
SJMP TestLoop
END
測試步驟
(1) 照您當(dāng)前使用的仿真器要求測試上面的程序,仿真器不接任何用戶設(shè)備。
(2) 單步運行完TestStart 的程序行,P0 的數(shù)值設(shè)置為0FFH。這時使用電壓表測量一下P0的任意一個管腳(例如P0.0)的電壓,記錄為V1,V1 的數(shù)值一般小于當(dāng)前的電源電壓。然后使用一個2K 電阻,一端接仿真器提供的地,另一端接P0.0,使用電壓表測量一下P0.0 的電壓,記錄為V2,V2的電壓越接近與0 說明該仿真器P0 在I/O 口方式下的特性越好(接近于開漏)。如果V2 大于1伏說明P0 口的輸入電阻在10K 以下,該仿真器P0 口在I/O 下性能較差。
(3) 在TestLoop 中連續(xù)全速運行,仍保持2K 電阻接在P0.0。使用示波器觀察P0.0 引腳,可以看到占空比較小的正電平脈沖,該正電平脈沖是有P0 輸出的低8 位地址和數(shù)據(jù)輸出引起的,因為處于總線方式,P0 口的驅(qū)動能力應(yīng)該較強。保持示波器的正常顯示,然后將2K 電阻不斷的接觸/脫離P0.0 引腳,觀察P0.0 腳脈沖信號幅度的變化。如果該信號在2K 電阻接入后幅度降低很大,例如1V 以上,說明該仿真器P0 口驅(qū)動能力不足,無法滿足用戶的正常的需要。
測試結(jié)論:HOOKS 仿真器要同時仿真I/O 口和總線模式而且保持良好的驅(qū)動特性是比較困難的,但是可以作到的。一般的HOOKS 仿真器一般不敢宣稱同時仿真I/O 口和總線方式,但是用戶需要注意即使宣稱可以同時仿真I/O 和總線,用戶也需要照上述的方法進行測試,防止廠家采取驅(qū)動折中的方法掩蓋。根據(jù)作者的測試結(jié)果,國內(nèi)所有的HOOKS 仿真器只有TKS 系列可以作到真正同時仿真I/O 口和總線方式,重要的是仍保持了良好的驅(qū)動特性。
是否占用用戶資源
設(shè)計優(yōu)良的HOOKS 仿真器不會占用任何用戶資源,但是由于設(shè)計技術(shù)的差別,有一些采用HOOKS技術(shù)的仿真器不能達(dá)到這樣的性能,一般會占用部分資源。占用資源將在使用中限制用戶的使用,用戶可能無法通過該仿真器實現(xiàn)正常程序的功能。該性能一般不需要測試,可以直接閱讀仿真器的性能說明或向生產(chǎn)廠商或代理商詢問。
ALE 信號的關(guān)閉/開啟
HOOKS 技術(shù)的一個突出優(yōu)點是能支持增強性能的仿真,而ALE 信號的關(guān)閉/開啟是增強性能的一個典型范例。由于在HOOKS 技術(shù)中,依賴ALE 信號能大大簡化信號的處理,因此一般采用HOOKS 技術(shù)的仿真器都不能關(guān)閉ALE 信號,否則會引起仿真時序的全面紊亂。該性能一般在仿真器的性能說明中沒有詳細(xì)說明,因此需要用戶自己進行測試。
下面的測試程序以PHILIPS 的P89C52X2 仿真芯片為例。
測試程序:
ORG 0000H
LJMP TestStart
TestStart: MOV P2,#55H /* 先對P1 進行設(shè)置 */
TestLoop: ORL AUXR,#01H /* 關(guān)閉ALE 信號 */
NOP
MOV P2,#55H
NOP
ANL AUXR,#0FEH /* 開啟ALE 信號 */
NOP
MOV P2,#0AAH
NOP
LJMP TestLoop /* 連續(xù)運行 */
END
測試步驟
(1) 照您當(dāng)前使用的仿真器要求測試上面的程序。
(2) 進入TestLoop 后,連續(xù)單步運行,程序應(yīng)該能照正確的程序流程運行,而且對P2 的操作能正確在P2 口反映出來。
(3) 在TestLoop 中連續(xù)全速運行,然后停止程序運行,觀察當(dāng)前程序位置是否是在TestLoop 內(nèi)的有效位置,P2 是否是前一個對P2 操作的數(shù)值。
測試結(jié)論:仿真器如果不能支持ALE 的關(guān)閉將無法通過上面的測試程序。
雙倍速時鐘的動態(tài)/靜態(tài)切換
PHILIPS、SST 等一些MCU 廠商在自己的增強型51 產(chǎn)品中增加了雙倍速時鐘的功能,使51 內(nèi)核的速度提高了兩倍。而且在有的型號中同時具有6/12Clock 時鐘切換的功能,用戶在使用中有了更多的靈活性。因此,這種變化要求HOOKS 仿真器必須同時滿足6/12Clock 兩種方式之一的仿真(靜態(tài)切換),更高的要求則是能在用戶程序運行中變換6/12Clock 模式(動態(tài)切換)。能同時滿足動態(tài)/靜態(tài)切換的仿真器難度很大,在國內(nèi)除TKS 宣布掌握這一技術(shù)外,沒有見到其它廠家有類似的報道。時鐘的靜態(tài)切換功能可以直接查閱仿真器的性能說明或向生產(chǎn)廠商/代理商詢問,也可以用下面的程序進行測試:
評論