AVR筆記8:mega16再次鎖死
【轉(zhuǎn)載】馬潮老師
AVR芯片鎖死的解救是有條件的:
1.首先芯片本身沒有壞(多余了)
2.如果RESET引腳被禁止作為I/O用了(如M48,M8等),那么通過通常的串行編程方式是不能解救的(這類芯片通常沒有JTAG口).
3.如果SPI和JTAG都被禁止了,那么通過通常的串行編程方式是不能解救的.
4.2、3情況只能通過高壓串行或高壓并行方式解救,當(dāng)然,通常就要把芯片從板上取下了。
我所講的“解救”,主要是由于時鐘熔絲配置錯誤造成的鎖死,但SPI或JTAG是允許的。這種情況通常發(fā)生在系統(tǒng)設(shè)計使用內(nèi)部RC振蕩源的情況下,這時X1、X2為空腳,或作為I/O使用。但下載程序時出現(xiàn)問題,或熔絲配置錯誤,選擇了非內(nèi)部RC振蕩源。由于此時AVR無系統(tǒng)時鐘源,表現(xiàn)為鎖死。
錯誤的出現(xiàn)可能為:
1。配置錯誤,這是人為的。
2。下載程序過程中,突然斷電;下載接頭接觸不良;下載器本身不穩(wěn)定。
3。錯誤的使用下載功能,如CVAVR中下載功能中的ALL(當(dāng)熔絲位沒有正確選擇)。有些下載軟件的功能不是非常完善,如使用CVAVR中下載功能的ALL項,不先讀一次熔絲位就使用肯定出問題(通常會將SPI也禁止了)因為初始化的熔絲配置都不打勾。另外還有使用SPI下載,但還能讓用戶配置SPIEN等,也是不完善的。
如果僅僅是系統(tǒng)熔絲配置錯誤,那么可以通過嘗試在芯片的晶體引腳上臨時人為的疊加上不同類型的振蕩時鐘信號進(jìn)行解救。如將一個5v/1M的脈沖波加在X1上(地當(dāng)然要連通了),或用2個電容和一個晶體臨時搭個外部電路加在X1、X2上。如果板上AVR的X1、X2沒有使用還是比較方便的,如果X1、X2已經(jīng)作為I/O使用連接了其它外部器件的話,就可能也行不通。因為外部連接的器件可能會影響疊加上的時鐘信號的。
另外,疊加上的時鐘信號頻率不要太高,1M左右比較合適,因為通常疊加時引線比較長,頻率高的話,振蕩信號不穩(wěn)定了。還必須注意將ISP下載的頻率降低,因為AVR規(guī)定,ISP下載頻率必須是系統(tǒng)時鐘的1/2以下。因此,疊加1M的話,ISP的頻率不能大于500K。
評論