產品FAQ
1、D8051的6個腳一定要與CPU的JTAG口接上,分別是VCC GND TDO TMS TDI TCK缺一不可,注意不能用TXD,RXD的ISP模式;
2、D8051要能通過JTAG靈活控制著CPU,也就是這TDO TMS TDI TCK上的外設要是對CPU高阻弱輸入,或者乾脆是CPU的輸出,嚴禁鎖死電平;
3、D8051的驅動一定要正確安裝到電腦上,WIN7要管理員許可權裝,某些克隆閹割版本的XP的USB驅動可能有問題不可用;
4、D8051如果正確連接到電腦,上面的綠燈會亮,這時可以用ISP51升級固件是否成功來測試PC端連接是否正常;
5、D8051的JTAG口的74LVC4245抗不了多高電壓,沒有其他保護措施,比較容易損壞,請帶電插撥或者目標板有強電高壓浪湧干擾的調試時需要注意;
6、D8051與目標板連接的VCC上不要有大於220UF的電解電容,另外要正確配置D8051的供電模式,外供電時要注意上電次序;
7、D8051的10針排線與常規的不同,有左右錯位的情況,請認真用萬用表檢查信號次序,別想當然的接,不討論排線,排線有多種壓法;
8、D8051的介面為面對讀者,缺口向左時,左上角是VCC,右下角是GND,右邊從上到下是TCK TDI TMS TDO GND;
9、D8051如果通信不成功,請用掃描模式自動掃描上電參數,再不行把CPU與D8051只連接6根線,其餘任何腳都不接來測試硬體連接及軟體環境;
10、其餘不會有什麼情況,除非CPU或者D8051介面給強電燒壞了,請從有沒有成功過或者換個器件,換個D8051是否成功測試來判斷。
I/O作中斷使用時,當某中斷輸入端被觸發且保持在低電位,問其他I/O中斷輸入端可否有效?
Answer
沒有效。被觸發的I/O中斷輸入端需釋放回復為高電位後,其他I/O中斷才有效。
中斷回應查詢的先後次序如何?
Answer
1. 假設EXT_INT對應 $00[3],TM0INT對應 $00[2],TIM1INT對應 $00[1],PORTINT對應 $00[0](上面假設只是方便說明問題,實際對應關係需根據不同產品的定義,不能一蓋而論),只有當對應寄存器打開時,中斷才會響應。
2. 當多個中斷同時發生時,中斷優先順序順序是:
EXT_INT ($00[3] = 1) >TM0INT ($00[2] = 1)>TM1INT ($00[1] = 1) > PORTINT ( $00[0]=1 )。
3. 如果中斷發生時,對應的中斷EN($00)寄存器不開,則不回應該中斷,但是對應中斷標誌寄存器等於1:EXTINT發生時,$01[3]=1;TM0INT發生時,$01[2]=1;TM1INT發生時,$01[1]=1; PORTINT發生時,$01[0]=1。
例: 假定四個中斷EN同時打開($00=F). 接著EXT_INT和PORTINT同時發生了.然後在中斷回應過程中,TM1INT中斷也發生了.
回應情況:
當EXT_INT和PORTINT同時發生,根據中斷優先順序順序,CPU首先回應EXT_INT: 硬體在收到中斷請求後,首先關閉所有中斷EN信號($00=0),然後選擇外部中斷為回應中斷,將程式位址轉到EXT_INT中斷服務副程式入口位址001。當在執行中斷服務副程式時,TM1INT中斷發生了,但是由於$00=0不產生中斷。當執行完中斷服務副程式後,可以通過兩種方式來判斷:
1. 查詢方式,通過查詢中斷標誌位元寄存器($01)是否為1,如果為1則跳轉到該中斷對應服務副程式。
2. 中斷方式
A). 在退出中斷服務副程式後,首先將前一次中斷對應的中斷標誌寄存器清0,本例中是將$01[3]清0。
B). 打開中斷EN信號,由於前面TM1INT和PORTINT都有發生過,此時根據中斷優先順序順序,CPU首先回應TM1INT 中斷,首先關閉所有中斷EN信號 ($00=0),然後程式位址轉到TM1INT中斷服務副程式入口位址003。
C). 當完成TM1INT中斷服務副程式後,再打開中斷EN ($00),此時CPU回應最後一個中斷PORTINT,將程式位址轉到 PORTINT中斷服務副程式入口位址004。
應用程式在USB ICE66上進行調試時,PORTF無論作輸入口還是輸出口狀態總是不停的變化。
Answer
在ICE66仿真視窗的Config\Device configuration的選項中有一項reserved RAM設置。Default為 $1D,正好是PORTF的狀態RAM被系統佔用,需將其設置為其他任意你無需用到的RAM。
用I/O來做option時測試靜態電流偏大。
Answer
用I/O來做option時一般是將I/O當輸入口來用內部pull-up enable,當程式判斷到I/O外部被拉低後,需將輸入口狀態改為輸出口,並輸出相應的電平,否則會出現I/O漏電的現象。
T0端在不應用時,接VDD、GND或懸空不接?
Answer
VDD或GND都可以。由於T0是輸入端,若懸空的話,會引起電流增大幾個uA。
上電後OSC在什麼時候開始起振?
Answer
在VDD達到工作電壓之前已經起振,然後再經過一段Warm up的時間後振盪才會穩定。低頻晶振起振較慢,高晶振起振較快。Reset過程中會加快晶體起振的進程 (speed up),晶體振盪的幅度也較大。
系統寄存器在晶體未起振之前是否已經初始化?
Answer
大部分系統寄存器在這之前已經初始化完畢,部分和時鍾有關的寄存器要等晶體穩定後才初始化完成。
WDT可否做TIMER來使用。
Answer
內部RC時鍾源的WDT在STOP時仍在運行,且此時電流約大20US左右。對時間控制要求不是很高的時候,用戶也可以將WDT喚醒STOP作為TIMER來使用。
上電復位和LVR如何區分?
Answer
Power on reset 後RAM值會被清除,LVR後RAM值未改變。因此,可以通過在某些RAM位置寫入一些特定的值,在Reset時讀出這些RAM值是否發生改變,從而判斷是LVR還是上電復位。上電復位後相鄰位置的RAM值相同且為00或FF的幾率較大,因此用來判斷LVR的RAM最好相鄰,寫入05H或0AH為佳。
WDT時鍾的精確度大約是多少?
Answer
WDT的RC振盪源時鍾一般在幾十K的數量級,其RC時鍾頻率的漂移決定了WDT時鍾的精確度。WDT最低時間僅為軟體清除WDT標誌的最小時間,不保證WDT時間的準確。
Question 9
工作電壓為5V和3V時WDT的時間精確度有沒有差異?
Answer
差別不大,對用戶而言可不用考慮其差別。
不要Power On Reset,只靠LVR IC是否也是可以正常工作?
Answer
可以,Power On Reset 和LVR二者只要有其中一個動作都會導致系統重定。
1、D8051的6個腳一定要與CPU的JTAG口接上,分別是VCC GND TDO TMS TDI TCK缺一不可,注意不能用TXD,RXD的ISP模式;
2、D8051要能通過JTAG靈活控制著CPU,也就是這TDO TMS TDI TCK上的外設要是對CPU高阻弱輸入,或者乾脆是CPU的輸出,嚴禁鎖死電平;
3、D8051的驅動一定要正確安裝到電腦上,WIN7要管理員許可權裝,某些克隆閹割版本的XP的USB驅動可能有問題不可用;
4、D8051如果正確連接到電腦,上面的綠燈會亮,這時可以用ISP51升級固件是否成功來測試PC端連接是否正常;
5、D8051的JTAG口的74LVC4245抗不了多高電壓,沒有其他保護措施,比較容易損壞,請帶電插撥或者目標板有強電高壓浪湧干擾的調試時需要注意;
6、D8051與目標板連接的VCC上不要有大於220UF的電解電容,另外要正確配置D8051的供電模式,外供電時要注意上電次序;
7、D8051的10針排線與常規的不同,有左右錯位的情況,請認真用萬用表檢查信號次序,別想當然的接,不討論排線,排線有多種壓法;
8、D8051的介面為面對讀者,缺口向左時,左上角是VCC,右下角是GND,右邊從上到下是TCK TDI TMS TDO GND;
9、D8051如果通信不成功,請用掃描模式自動掃描上電參數,再不行把CPU與D8051只連接6根線,其餘任何腳都不接來測試硬體連接及軟體環境;
10、其餘不會有什麼情況,除非CPU或者D8051介面給強電燒壞了,請從有沒有成功過或者換個器件,換個D8051是否成功測試來判斷。