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