AVR熔絲位拯救方法詳細(xì)攻略_第1頁(yè)
AVR熔絲位拯救方法詳細(xì)攻略_第2頁(yè)
AVR熔絲位拯救方法詳細(xì)攻略_第3頁(yè)
AVR熔絲位拯救方法詳細(xì)攻略_第4頁(yè)
AVR熔絲位拯救方法詳細(xì)攻略_第5頁(yè)
已閱讀5頁(yè),還剩3頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、AVR 熔絲位拯救方法詳細(xì)攻略1.1.3 AVR 芯片的 ISP 全攻略 當(dāng)然你在配置熔絲位時(shí)要小心從事,防止芯片 鎖死。有不少網(wǎng)友屢屢遭此不幸。其實(shí)你在熔絲位配置時(shí),只要方法正確,一般 是不會(huì)出錯(cuò)的。如果當(dāng)你改動(dòng)了 AVR 的熔絲位配置,重新加電后,想再用 ISP 下載,提示:“進(jìn)入編程模式失敗”等,極有可能是你搞錯(cuò)了熔絲位,導(dǎo)致芯片 不知道使用何種外部主頻而無(wú)法正常工作 ( 僅限于使用內(nèi)部 RC 振蕩的情況) 。不 過(guò),不用太擔(dān)心,其實(shí)拯救的辦法還是有很多的,操作起來(lái)也是很容易的,具體解決方法為:。進(jìn)入 JTAG 模式修改 SPIEN 熔絲位需要使用 JTAGICE 調(diào)試器,不過(guò)一般情況

2、下 調(diào)試模式也進(jìn)不去,JTAGEN 值為 1) 鎖死了。并行編程器恢復(fù)需要你有USB 或 COM 口制作的并行HVPRO 編程器 ,STK200/STK300 3 。通過(guò)外加有源晶振 需要你有外部有源振蕩晶體(石英或晶振 14M ) 這個(gè)方法最簡(jiǎn)單,速度最快(強(qiáng)烈推薦)。使用通用編程器將芯片恢復(fù)到出廠狀態(tài)這個(gè)方法,需要你有市場(chǎng)上的通用編 程器,可以修改三個(gè)熔絲位寄存器數(shù)據(jù)。寄回給芯片服務(wù)商,讓他們幫忙將芯片恢復(fù)這是最省事,但是最費(fèi)時(shí)間,最無(wú)可奈何的方法。 先介紹一下基本恢復(fù)理論ISP (In System Programmability ) 在系統(tǒng)編程,簡(jiǎn)稱為 串行下載 IAP (In App

3、lication Programing ) 在應(yīng)用編程,BootLoader 也是類似的意思ISP 雖然利用了 SPI 接口 (例外 :M64/M128 為 UASRT 接口, Tiny13 等沒(méi)有 SPI 接口 ) 的引腳,但只在復(fù)位時(shí)起作用,而且下載完成后合格的下載器會(huì)自動(dòng)斷開(kāi)端口的連接,對(duì)正常工作時(shí)沒(méi)有影響的( 在產(chǎn)品應(yīng)用中,下載器一定是不會(huì)一 直粘在 上面的)。雖然高壓并行下載能修復(fù)任何熔絲位,但對(duì)于貼片封裝來(lái)說(shuō)是很不現(xiàn)實(shí)的, 所以添加 ISP10 標(biāo)準(zhǔn)插座接口后就是最常用的 ISP 下載方式了雖然 IAP 是一種新的升級(jí)方法,但I(xiàn)AP 程序本身也是要先用高壓并行下載或ISP 來(lái)燒進(jìn)芯

4、片里面才行Tiny13等少管腳AVF芯片因?yàn)楣苣_實(shí)在太少了,有ISP,但沒(méi)有高壓并行編程 而特制了 高壓串行編程 所以,產(chǎn)品上一般都留有ISP10 標(biāo)準(zhǔn)接口插座,或更省位置的 ISP6 標(biāo)準(zhǔn)插座 留 6個(gè)焊盤(pán)就行了ISP 的工作前提1. 芯片沒(méi)有物理?yè)p壞芯片的 SPIEN 熔絲位 =0 使能 ISP 功能芯片的 RSTDISBL 熔絲位 =1 RESET 引腳有效 ( 假如芯片有這個(gè)熔絲位 )線路正常-接錯(cuò)線?短路?ISP下載器正常 一一特別要考慮 連線的接觸不良問(wèn)題電源正常(一)并行編程器恢復(fù),最早的編程方法,功能最強(qiáng)大,通常需要12V24V的高壓,以示區(qū)別,下面稱為 高壓并行編程。制作方式

5、也有:. USB或COM 口制作的并行HVPRO編程器,軟件例如 USBAS的ISP上位機(jī)軟 件 AVR_fighter.exe (zhb2000 )和 USBAVRISPZHIFENG ,但需要 AVR MC 連 接 較多的引腳(一般20腳);.并行編程器STK200/STK300串行編程器軟件PonyProg2000.但需要電腦留有 LPT 打印機(jī)接口,AVR MC留有ISP6-10標(biāo)準(zhǔn)燒寫(xiě)口。以我們常用的小馬PonyProg2000串行編程器下載軟件為例,在Comman菜單中 選Security and Configuration Bits, (或者 點(diǎn) Security and Con

6、figurationBits按鈕)在接著出現(xiàn)的熔絲位配置窗口的下面,有幾個(gè)按鈕,千萬(wàn)不要亂按。正確的方法是先按“ Read按鈕,讀出原來(lái)芯片中熔絲位的配置,然后再以 此 為基 礎(chǔ),按你的需要進(jìn)行局部修改,確定無(wú)誤后再按“ Write ”按鈕,就0K 了。 一般不 會(huì)出現(xiàn)鎖死的問(wèn)題。如果萬(wàn)一由于操作不當(dāng),出現(xiàn)鎖死也不必驚慌。除了用并行編程器恢復(fù)的方法以外,對(duì)于沒(méi)有并行編程器的朋友,還可以用外接有源振蕩器的方法解鎖,方法是用一個(gè)1MHZ勺振蕩信號(hào)接到ATmega16L的13腳XTAL1接 通單片機(jī)的電源,正常的話你會(huì)看到原來(lái)單片機(jī)中的程序已經(jīng)可以正常運(yùn)行了。說(shuō)明 TOC o 1-5 h z 外接振

7、蕩器已經(jīng)使單片機(jī)恢復(fù)工作了。這下來(lái)就好辦了,仍然用 Pon yProg2000,點(diǎn) Security and Con figuration Bits 按鈕,進(jìn)入熔絲位 配置窗口,這時(shí)你會(huì)看到所有的熔絲位都沒(méi)打V,連灰色的SPIEN前面那個(gè)模糊不清的V也沒(méi)了,不過(guò)沒(méi)關(guān)系 Don t worry,你只要按照下圖中 ATmega16l出廠時(shí) 熔絲位的設(shè)置打V,然后按“ Write ”按鈕,如果屏幕輕輕的閃一下,OK恭喜你已經(jīng)好了,再按“ Read按鈕,你會(huì)看到除了你打 V的地方以外,SPIEN前面 那個(gè)模糊不清的V也出來(lái)了。鎖死的芯片已經(jīng)解鎖了。ConfigLTBtion bhc! Seojrity

8、 bits!廠廠 BoolLDckt2 廠 BoDU-ockll 廠 EoctLockOS 廠 8oot|.Qck01 廠廠r OCDEN JTAGEN 廠廠(XOPT 廠 EESAVE P BOOTSZ1 17 BOOTAZOT BOOTRST廠 BOOLEVEL r BODEN P SUT1 P SUTO P CK.SEL3 P CXSEL2 CrSELI 廠 CKSELOw Checked meant pfoprammedl (bit ? 0廠 Unchecked ftent nrwanj unpfoprwwined (Rerei to dtvcepk&u匚 Jncel 1QK CisA

9、f AB 女就 站 塑 itc | Rtsd要注意的是外接的信號(hào)幅度不可太大,以免損毀芯片,我開(kāi)始用一個(gè)51單片機(jī)的震蕩信號(hào)接過(guò)來(lái),結(jié)果不行,可能是驅(qū)動(dòng)能力不夠。后來(lái)?yè)Q了一個(gè)信號(hào)發(fā)生器輸出的1MHZ的信號(hào),就成功了。也可以用 NE555芯片搭個(gè)振蕩器做信號(hào)源。(二)外加有源晶振運(yùn)行時(shí)鐘ISP時(shí)鐘(必須低于運(yùn)行時(shí)鐘的1/4) 4096Hz1024Hz 很變態(tài)的用法,外接32.768KHZ晶體+CKDIV8 ,不過(guò)AVRISP還是提供了 603Hz這個(gè)速度了 /另 一簡(jiǎn) 易解決辦法是下載時(shí)在32.768KHZ晶體并聯(lián)一個(gè)1MHz晶體,雙龍的下載線 就配有 一個(gè) 8MHz 勺石英晶體 32768Hz

10、 8192Hz128KHz 32KHz 內(nèi)部 RC128KHz 1.0MHz 250KHz / 默認(rèn)值(包括 8MHz+CKDIV8)所以 AVRISP 的 ISP 速度多為 230KHz 8.0MHz 2000KHz 16.0MHz 4000K H運(yùn)行時(shí)鐘不等于震蕩器的頻率,因 為部分AVR芯片有系統(tǒng)時(shí)鐘預(yù)分頻器,可以對(duì)震蕩器進(jìn)行1256分頻CKDIV8熔絲位決定 CLKPS&的初始值。若 CKDIV8未編程,CLKPS&復(fù)位為“0000” ;若CKDIV8已編程,CLKPS位復(fù)位為“ 0011”,給出啟動(dòng)時(shí)分頻因子 為 8 AVRISF 可提供的 ISP 時(shí)鐘 921.6KHZ ,230.

11、4KHz, 57.6KHz ,28.8KHz,4.0KHz,603Hz STK500 可提供的 ISP 時(shí)鐘 1.845MHz , 460.8KHz , 115.2KHz , 57.6KHz , 4.0KHz, 1206Hz時(shí)鐘設(shè)定ISP方案 內(nèi)部RC選擇合適的ISP速度 外部RC接 上合 適的電阻和電容,選擇合適的ISP速度。補(bǔ)救:外部時(shí)鐘源接到XTAL1外部RC 根本就沒(méi)有什么意義,頻率精度/穩(wěn)定度不高,成本也沒(méi)有降低,所以 新的AVR芯片 已經(jīng)沒(méi)有這個(gè)選項(xiàng)了。各位網(wǎng)友要注意的是錯(cuò)誤設(shè)定后補(bǔ)救方法外部晶體接上合適的晶體,選擇合適的ISP速度。補(bǔ)救:外部時(shí)鐘源接到XTAL1外部時(shí)鐘接上合適的

12、時(shí)鐘 源,選擇 合適的ISP速度。 補(bǔ)救:外部時(shí)鐘源接到XTAL1外部時(shí)鐘源可 以是夕卜部 (4MHz)有源晶體輸出,其他 MC 口的XTAL2腳,各種方波振蕩電路(NE555)輸出等 大 部分 AVR 芯片的 ISP 端口是 SCK,MOSI,MISO,RESET 而 M64/M128 的 ISP 端口是 SCK, PDI, PDO,RESET 而且 M64/M128 出廠默認(rèn)兼容 M103熔 絲位 M103C=0很多新特性不能使用,程序也可能不能正常運(yùn)行-因?yàn)镃編譯器通常默認(rèn)自動(dòng)把 SP指向SRAM勺末端,M103=0 x0FFFH, M64/M128=0 x10FFH必然出錯(cuò)! AVR的

13、所有熔絲位均是:1未編程,多為不起作用的意思。0編程,多為 起作用的意思。 基于可編程工藝的都是這樣:PROM/EEPROM/FLA者睚出 廠時(shí)和 擦除后變?yōu)槿? (0 xFF)的,要編程才能變成0。反過(guò)來(lái)就是了,跟 CE/OE/INT都是低電平有效一樣,都是很常見(jiàn)。在ISP模式下永遠(yuǎn)不能訪問(wèn)(修 改)SPIEN位,這是AVR芯片的硬件保護(hù) 有獨(dú)立RESET 的M16/M32/M64/M128 等,在ISP模式 下根本就就不會(huì)令I(lǐng)SP無(wú)效,無(wú)論如何修改熔絲位,都能恢復(fù)正常。M8/M48/M88/M168/Tiny 系列有RSTDISBL容絲位可以令導(dǎo)致 RESETS效而 令I(lǐng)SP 無(wú)法工作外,

14、其他情況都能恢復(fù)正常。用殳來(lái)說(shuō),只要滿足ISP的工作前提,再把XTAL1接到一個(gè)4MHzt源晶體的輸 出,這個(gè)方法最可行。它可 接法如下基本是萬(wàn)試萬(wàn)靈的。 通過(guò)外加有源晶振的辦法,讓其恢復(fù), 以恢復(fù)大部分熔絲位搞錯(cuò)的芯片。(重點(diǎn)推存)接法如下:VCC OLlXTALI(AVR KCU)nF gnd-II 91-4MHZ打點(diǎn)的口子對(duì)應(yīng)11 NC 2 GND 3 CLK 4 VCC1腳不接,2腳接地,3腳接輸出,4腳接電源?;謴?fù)方法: 接上上圖的有源晶振,重新 通電,可以看到芯片又重新正常工作了, 這時(shí)就能用ISP或JTAG下載線修改錯(cuò)誤的 熔絲位了。修改完成后,斷電,將有源晶振拆走, 看看是否已

15、經(jīng)恢復(fù)正常。還有一個(gè)辦法,如果沒(méi)有有源晶振的話可以用其他工作正常的單片機(jī)的時(shí)鐘 作為外部晶振,只要將工作正常的單片機(jī)的 XTAL2 腳連接熔絲設(shè)置錯(cuò)誤的單片機(jī)的XTAL1 引腳即可。像我使用 AVR910F 載線的可直接把AT90S2313 勺時(shí)鐘輸出 連到被設(shè)置錯(cuò)的芯片就可恢復(fù)了,很方便。不要忘記,并行高壓編程的時(shí)鐘信號(hào)也是從XTAL1 導(dǎo)入方波信號(hào)的。如果有源晶振的方法不行( 除了 ISPEN=O,RSTDISBL= 情況外 ) ,恐怕高壓編程也未必 能奏效。 其他一些功能操作對(duì)ISP 熔絲位的影響JTAG 的影響(M16,M32,M128 等):JTAG 能訪問(wèn)SPIEN和JTAGEN要

16、是不小心 同SPIEN=1 JTAGEN= , 將會(huì)導(dǎo)致 MCI 鎖死,需要高壓并行編程才能恢復(fù)。DebugWIR 的影響 :(M48,M88,M168,T2313 等, 數(shù)據(jù)手冊(cè)里面的資料不是很詳細(xì))由于 DebugWIRES 用 RESET 腳來(lái)通訊,所以跟 ISP 有所沖突 可以通過(guò) ISP 或并 行高壓編程來(lái)使能 DebugWIR 功能 即 DWEN=0 使能 DebugWIR 功能后 ,ISP 功 能失 效。 可以通過(guò) DebugWIR 來(lái)關(guān)閉 DebugWIR 助能 即 DWEN= ,關(guān)閉 DebugWIR 功能后 , 如果 RSTDISBL=1 SPIEN=0 ISP 功能有效。 比較特殊的是DebugWIR 調(diào)試中,斷點(diǎn)的使用會(huì)降低Flash 數(shù)據(jù)記憶時(shí)間 DebugWIRE 調(diào)試用 的器件不能發(fā)給最終客戶。JTAG MKII 同時(shí)具備 JTAG/DeubgWIRE/ISPE 種功能,可以輕

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論