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