新聞中心

AVR筆記8:mega16再次鎖死

作者: 時(shí)間:2016-11-27 來(lái)源:網(wǎng)絡(luò) 收藏
今天嘗試使用11.0592MHz外部晶振來(lái)設(shè)置USART的波特率,沒(méi)想到理解錯(cuò)誤,把熔絲位設(shè)置為外部RC振蕩CKSEL=1000,下載完成后就知道出問(wèn)題了,有了上次芯片鎖死的經(jīng)歷,這次就也不慌了,知道問(wèn)題出在哪兒,借來(lái)函數(shù)信號(hào)發(fā)射器,給13引腳的XTAL1加入1MHz的脈沖,成功的解鎖了。然后再次上網(wǎng)查這方面的資料,發(fā)現(xiàn)因這樣出錯(cuò)的還不少,使用外部晶振,得將熔絲位設(shè)置為CKSEL=1111,這樣才是正確的。

雖然,在嘗試的過(guò)程中出現(xiàn)了一些不大不小的錯(cuò)誤,但是通過(guò)嘗試進(jìn)步了,學(xué)到東西了,還是比較興奮地。不能因?yàn)楹ε鲁霈F(xiàn)問(wèn)題或者是犯錯(cuò),而不敢去嘗試,人總是在不斷的嘗試中成長(zhǎng)起來(lái)的。

本文引用地址:http://m.butianyuan.cn/article/201611/322370.htm

【轉(zhuǎn)載】馬潮老師

AVR芯片鎖死的解救是有條件的:
1.首先芯片本身沒(méi)有壞(多余了)
2.如果RESET引腳被禁止作為I/O用了(如M48,M8等),那么通過(guò)通常的串行編程方式是不能解救的(這類芯片通常沒(méi)有JTAG口).
3.如果SPI和JTAG都被禁止了,那么通過(guò)通常的串行編程方式是不能解救的.
4.2、3情況只能通過(guò)高壓串行或高壓并行方式解救,當(dāng)然,通常就要把芯片從板上取下了。

我所講的“解救”,主要是由于時(shí)鐘熔絲配置錯(cuò)誤造成的鎖死,但SPI或JTAG是允許的。這種情況通常發(fā)生在系統(tǒng)設(shè)計(jì)使用內(nèi)部RC振蕩源的情況下,這時(shí)X1、X2為空腳,或作為I/O使用。但下載程序時(shí)出現(xiàn)問(wèn)題,或熔絲配置錯(cuò)誤,選擇了非內(nèi)部RC振蕩源。由于此時(shí)AVR無(wú)系統(tǒng)時(shí)鐘源,表現(xiàn)為鎖死。
錯(cuò)誤的出現(xiàn)可能為:
1。配置錯(cuò)誤,這是人為的。
2。下載程序過(guò)程中,突然斷電;下載接頭接觸不良;下載器本身不穩(wěn)定。
3。錯(cuò)誤的使用下載功能,如CVAVR中下載功能中的ALL(當(dāng)熔絲位沒(méi)有正確選擇)。有些下載軟件的功能不是非常完善,如使用CVAVR中下載功能的ALL項(xiàng),不先讀一次熔絲位就使用肯定出問(wèn)題(通常會(huì)將SPI也禁止了)因?yàn)槌跏蓟娜劢z配置都不打勾。另外還有使用SPI下載,但還能讓用戶配置SPIEN等,也是不完善的。

如果僅僅是系統(tǒng)熔絲配置錯(cuò)誤,那么可以通過(guò)嘗試在芯片的晶體引腳上臨時(shí)人為的疊加上不同類型的振蕩時(shí)鐘信號(hào)進(jìn)行解救。如將一個(gè)5v/1M的脈沖波加在X1上(地當(dāng)然要連通了),或用2個(gè)電容和一個(gè)晶體臨時(shí)搭個(gè)外部電路加在X1、X2上。如果板上AVR的X1、X2沒(méi)有使用還是比較方便的,如果X1、X2已經(jīng)作為I/O使用連接了其它外部器件的話,就可能也行不通。因?yàn)橥獠窟B接的器件可能會(huì)影響疊加上的時(shí)鐘信號(hào)的。

另外,疊加上的時(shí)鐘信號(hào)頻率不要太高,1M左右比較合適,因?yàn)橥ǔ/B加時(shí)引線比較長(zhǎng),頻率高的話,振蕩信號(hào)不穩(wěn)定了。還必須注意將ISP下載的頻率降低,因?yàn)锳VR規(guī)定,ISP下載頻率必須是系統(tǒng)時(shí)鐘的1/2以下。因此,疊加1M的話,ISP的頻率不能大于500K。



關(guān)鍵詞: AVR筆記mega16鎖

評(píng)論


技術(shù)專區(qū)

關(guān)閉