在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

AVR單片機(jī)熔絲位的配置操作及相關(guān)解決措施

454398 ? 來(lái)源:博客園 ? 作者:宇的境界 ? 2020-10-21 16:08 ? 次閱讀

熔絲位是ATMEL公司AVR單片機(jī)比較獨(dú)到的特征。在每一種型號(hào)的AVR單片機(jī)內(nèi)部都有一些特定含義的熔絲位,其特性表現(xiàn)為多次擦寫的E2PROM。用戶通過配置(編程)這些熔絲位,可以固定地設(shè)置AVR的一些特性,參數(shù)以及I/O配置等,當(dāng)然也包括對(duì)片內(nèi)運(yùn)行代碼的鎖定(加密)。

用戶使用并行編程方式、ISP編程方式、JTAG編程方式都可以對(duì)AVR的熔絲位進(jìn)行配置,但不同的編程工具軟件提供對(duì)熔絲位的配置方式(指人機(jī)界面)也是不同的。有的是通過直接填寫熔絲位位值(如:CVAVR、PonyProg2000和SLISP等),有的是通過列出表格選擇(如AVR STUDIO、BASCOM-AVR)。前者程序界面比較簡(jiǎn)單,但是需要用戶在仔細(xì)查詢操作,會(huì)引起一些意想不到的后果,如造成芯片無(wú)法正常運(yùn)行,無(wú)法再次定入ISP編程模式等。建議用戶對(duì)AVR的熔絲位進(jìn)行配置時(shí),選擇用戶表格選擇方式界面的編程軟件,如BASCOM-AVR。不過版主使用的是前者PonyProg2000。 對(duì)AVR熔絲位的配置操作是比較細(xì)致的工作,用戶往往忽視其重要性,或感到不易掌握??吹竭@么多的人對(duì)AVR的熔絲位不會(huì)使用和誤操作,結(jié)合本人的使用實(shí)踐,給出以下方面的意見和參考。 下面給出對(duì)AVR熔絲位的配置操作時(shí)的一些要點(diǎn)和需要注意的相關(guān)事項(xiàng)以及相應(yīng)的拯救方法。

(一)設(shè)置方法 1.1.1 正確配置AVR熔絲位 對(duì)AVR熔絲位的配置是比較細(xì)致的工作,用戶往往忽視其重要性,或感到不易掌握。下面給出對(duì)AVR熔絲位的配置操作時(shí)的一些要點(diǎn)和需要注意的相關(guān)事項(xiàng)。有關(guān)ATmega128熔絲位的具體定義和功能請(qǐng)查看本書相關(guān)章節(jié),在附錄中將給出一個(gè)完整的匯總表。

(1)在AVR的器件手冊(cè)中,對(duì)熔絲位使用已編程(Programmed)和未編程(Unprogrammed)定義熔絲位的狀態(tài),“Unprogrammed”表示熔絲狀態(tài)為“1”(禁止);“Programmed”表示熔絲狀態(tài)為“0”(允許)。因此,配置熔絲位的過程實(shí)際上是“配置熔絲位成為未編程狀態(tài)“1”或成為已編程狀態(tài)“0””。

(2)在使用通過選擇打鉤“√”方式確定熔絲位狀態(tài)值的編程工具軟件時(shí),請(qǐng)首先仔細(xì)閱讀軟件的使用說(shuō)明,弄清楚“√”表示設(shè)置熔絲位狀態(tài)為“0”還是為“1”。

(3)使用CVAVR中的編程下載程序時(shí)應(yīng)特別注意,由于CVAVR編程下載界面初始打開時(shí),大部分熔絲位的初始狀態(tài)定義為“1”,因此不要使用其編程菜單選項(xiàng)中的“all”選項(xiàng)。此時(shí)的“all”選項(xiàng)會(huì)以熔絲位的初始狀態(tài)定義來(lái)配置芯片的熔絲位,而實(shí)際上其往往并不是用戶所需要的配置結(jié)果。如果要使用“all”選項(xiàng),應(yīng)先使用“read->fuse bits”讀取芯片中熔絲位實(shí)際狀態(tài)后,再使用“all” 選項(xiàng)。

(4)新的AVR芯片在使用前,應(yīng)首先查看它熔絲位的配置情況,再根據(jù)實(shí)際需要,進(jìn)行熔絲位的配置,并將各個(gè)熔絲位的狀態(tài)記錄備案。

(5)AVR芯片加密以后僅僅是不能讀取芯片內(nèi)部Flash和E2PROM中的數(shù)據(jù),熔絲位的狀態(tài)仍然可以讀取但不能修改配置。芯片擦除命令是將Flash和E2PROM中的數(shù)據(jù)清除,并同時(shí)將兩位鎖定位狀態(tài)配置成“11”,處于無(wú)鎖定狀態(tài)。但芯片擦除命令并不改變其它熔絲位的狀態(tài)。

(6)正確的操作程序是:在芯片無(wú)鎖定狀態(tài)下,下載運(yùn)行代碼和數(shù)據(jù),配置相關(guān)的熔絲位,最后配置芯片的鎖定位。芯片被鎖定后,如果發(fā)現(xiàn)熔絲位配置不對(duì),必須使用芯片擦除命令,清除芯片中的數(shù)據(jù),并解除鎖定。然后重新下載運(yùn)行代碼和數(shù)據(jù),修改配置相關(guān)的熔絲位,最后再次配置芯片的鎖定位。

(7)使用ISP串行方式下載編程時(shí),應(yīng)配置SPIEN熔絲位為“0”。芯片出廠時(shí)SPIEN位的狀態(tài)默認(rèn)為“0”,表示允許ISP串行方式下載數(shù)據(jù)。只有該位處于編程狀態(tài)“0”,才可以通過AVR的SPI口進(jìn)行ISP下載,如果該位被配置為未編程“1”后,ISP串行方式下載數(shù)據(jù)立即被禁止,此時(shí)只能通過并行方式或JTAG編程方式才能將SPIEN的狀態(tài)重新設(shè)置為“0”,開放ISP。通常情況下,應(yīng)保持SPIEN的狀態(tài)為“0”,允許ISP編程不會(huì)影響其引腳的I/O功能,只要在硬件電路設(shè)計(jì)時(shí),注意ISP接口與其并接的器件進(jìn)行必要的隔離,如使用串接電阻或斷路跳線等。

(8)當(dāng)你的系統(tǒng)中,不使用JTAG接口下載編程或?qū)崟r(shí)在線仿真調(diào)試,且JTAG接口的引腳需要作為I/O口使用時(shí),必須設(shè)置熔絲位JTAGEN的狀態(tài)為“1”。芯片出廠時(shí)JTAGEN的狀態(tài)默認(rèn)為“0”,表示允許JTAG接口,JTAG的外部引腳不能作為I/O口使用。當(dāng)JTAGEN的狀態(tài)設(shè)置為“1”后,JTAG接口立即被禁止,此時(shí)只能通過并行方式或ISP編程方式才能將JTAG重新設(shè)置為“0”,開放JTAG。

(9)一般情況下不要設(shè)置熔絲位把RESET引腳定義成I/O使用(如設(shè)置ATmega8熔絲位RSTDISBL的狀態(tài)為“0”),這樣會(huì)造成ISP的下載編程無(wú)法進(jìn)行,因?yàn)樵谶M(jìn)入ISP方式編程時(shí)前,需要將RESET引腳拉低,使芯片先進(jìn)入復(fù)位狀態(tài)。

(10)使用內(nèi)部有RC振蕩器的AVR芯片時(shí),要特別注意熔絲位CKSEL的配置。一般情況下,芯片出廠時(shí)CKSEL位的狀態(tài)默認(rèn)為使用內(nèi)部1MHz的RC振蕩器作為系統(tǒng)的時(shí)鐘源。如果你使用了外部振蕩器作為系統(tǒng)的時(shí)鐘源時(shí),不要忘記首先正確配置CKSEL熔絲位,否則你整個(gè)系統(tǒng)的定時(shí)都會(huì)出現(xiàn)問題。而當(dāng)在你的設(shè)計(jì)中沒有使用外部振蕩器(或某鐘特定的振蕩源)作為系統(tǒng)的時(shí)鐘源時(shí),千萬(wàn)不要誤操作或錯(cuò)誤的把CKSEL熔絲位配置成使用外部振蕩器(或其它不同類型的振蕩源)。一旦這種情況產(chǎn)生,使用ISP編程方式則無(wú)法對(duì)芯片操作了(因?yàn)镮SP方式需要芯片的系統(tǒng)時(shí)鐘工作并產(chǎn)生定時(shí)控制信號(hào)),芯片看上去“壞了”。此時(shí)只有使用取下芯片使用并行編程方式,或使用JTAG方式(如果JTAG為允許時(shí)且目標(biāo)板上留有JTAG接口)來(lái)解救了。另一種解救的方式是:嘗試在芯片的晶體引腳上臨時(shí)人為的疊加上不同類型的振蕩時(shí)鐘信號(hào),一旦ISP可以對(duì)芯片操作,立即將CKSEL配置成使用內(nèi)部1MHz的RC振蕩器作為系統(tǒng)的時(shí)鐘源,然后再根據(jù)實(shí)際情況重新正確配置CKSEL。

(11)使用支持IAP的AVR芯片時(shí),如果你不使用BOOTLOADER功能,注意不要把熔絲位BOOTRST設(shè)置為“0”狀態(tài),它會(huì)使芯片在上電時(shí)不是從Flash的0x0000處開始執(zhí)行程序。芯片出廠時(shí)BOOTRST位的狀態(tài)默認(rèn)為“1”。關(guān)于BOOTRST的配置以及BOOTLOADER程序的設(shè)計(jì)與IAP的應(yīng)用請(qǐng)參考本章相關(guān)內(nèi)容。

1.1.2 ATmega128中重要熔絲位的配置 上一小節(jié)介紹了配置AVR熔絲位的要點(diǎn)和注意事項(xiàng),本小節(jié)把在一般情況下使用ATmega128時(shí),幾個(gè)重要的熔絲位配置情況進(jìn)行說(shuō)明。

(1)熔絲位M103C。M103C的配置將設(shè)定ATmega128是以ATmega103兼容方式工作運(yùn)行還是以ATmega128本身的方式工作運(yùn)行。ATmega128在出廠時(shí)M103C默認(rèn)狀態(tài)為“0”,即默認(rèn)以ATmega103兼容方式工作。當(dāng)用戶系統(tǒng)設(shè)計(jì)使芯片以ATmega128方式工作時(shí),應(yīng)首先將M103C的狀態(tài)配置為“1”。

(2)CLKSEL0..3。CLKSEL0、CLKSEL1、CLKSEL2、CLKSEL3用于選擇系統(tǒng)的時(shí)鐘源。有五種不同類型的時(shí)鐘源可供選擇(每種類型還有細(xì)的劃分)。芯片出廠時(shí)的默認(rèn)情況為CLKSEL3..0和SUT1..0分別是“0001”和“10”。即使用內(nèi)部1MHz RC振蕩器,使用最長(zhǎng)的啟動(dòng)延時(shí)。這保證了無(wú)論外部振蕩電路是否工作,都可以進(jìn)行最初的ISP下載。對(duì)于CLKSEL3..0熔絲位的改寫需要十分慎重,因?yàn)橐坏└膶戝e(cuò)誤,會(huì)造成芯片無(wú)法啟動(dòng),見上一小節(jié)第10點(diǎn)說(shuō)明。

(3)JTAGEN。如果不使用JTAG接口,應(yīng)將JTAGEN的狀態(tài)設(shè)置為“1”,即禁止JTAG,JTAG引腳用于I/O口。

(4)SPIEN。SPI方式下載數(shù)據(jù)和程序允許,默認(rèn)狀態(tài)為允許“0”。一般保留其狀態(tài)。

(5)WDTON。看門狗定時(shí)器始終開啟。WDTON默認(rèn)為“1”,即禁止看門狗的定時(shí)器始終開啟。如果該位設(shè)置為“0”后,看門狗的定時(shí)器就會(huì)始終打開,不能被內(nèi)部程序控制了,這是為了防止當(dāng)程序跑飛時(shí),未知代碼通過寫寄存器將看門狗定時(shí)器關(guān)斷而設(shè)計(jì)的(盡管關(guān)斷看門狗定時(shí)器需要特殊的方式,但它保證了更高的可靠行)。

(6)EESAVE。執(zhí)行擦除命令時(shí)是否保留E2PROM中的內(nèi)容,默認(rèn)狀態(tài)為“1”,表示E2PROM中的內(nèi)容同F(xiàn)lash中的內(nèi)容一同擦除。如果該位設(shè)置為“0”,對(duì)程序進(jìn)行下載前的擦除命令只會(huì)對(duì)FLASH代碼區(qū)有效,而對(duì)E2PROM區(qū)無(wú)效。這對(duì)于希望在系統(tǒng)更新程序時(shí),需要保留E2PROM中數(shù)據(jù)的情況下是十分有用的。

(7)BOOTRST。決定芯片上電起動(dòng)時(shí),第一條執(zhí)行指令的地址。默認(rèn)狀態(tài)為“1”,表示起動(dòng)時(shí)從0x0000開始執(zhí)行。如果BOOTRST設(shè)置為“0”,則起動(dòng)時(shí)從BOOTLOADER區(qū)的起始地址處開始執(zhí)行程序。BOOTLOADER區(qū)的大小由BOOTSZ1和BOOTSZ0決定,因此其首地址也隨之變化。

(8)BOOTSZ1和BOOTSZ0:這兩位確定了BOOTLOADER區(qū)的大小以及其起始的首地址。默認(rèn)的狀態(tài)為“00”,表示BOOTLOADER區(qū)為4096字,起始首地址為0xF000。

(9)推薦用戶使用ISP方式配置熔絲位。配置工具選用BASCOM-AVR (網(wǎng)上下載試用版,它對(duì)ISP下載無(wú)限制),和STK200/STK300兼容的下載電纜(見第四章內(nèi)容)。

注:不同AVR的熔絲也不同,使用前必須仔細(xì)查看芯片手冊(cè)。 要重視手冊(cè)學(xué)習(xí),不僅是掌握如何使用,也是從根本上認(rèn)識(shí)和掌握原理和結(jié)構(gòu)。對(duì)于硬件工程師來(lái)將,數(shù)據(jù)手冊(cè)是真正的“經(jīng)書”,其它都是“修練經(jīng)驗(yàn)”。不熟讀“經(jīng)書”,你無(wú)法修煉成“仙”的。這也是《M128》、《M8》的目的之一!

(二)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振蕩的情況)。不過,不用太擔(dān)心,其實(shí)拯救的辦法還是有很多的,操作起來(lái)也是很容易的,具體解決方法為:

1。進(jìn)入JTAG模式修改SPIEN熔絲位 需要使用JTAGICE調(diào)試器,不過一般情況下調(diào)試模式也進(jìn)不去,JTAGEN(值為1)鎖死了。

2。并行編程器恢復(fù) 需要你有USB或COM1口制作的并行HVPROG編程器,STK200/STK300

3。通過外加有源晶振 需要你有外部有源振蕩晶體(石英或晶振1-4M) 這個(gè)方法最簡(jiǎn)單,速度最快(強(qiáng)烈推薦)

4。使用通用編程器將芯片恢復(fù)到出廠狀態(tài) 這個(gè)方法,需要你有市場(chǎng)上的通用編程器,可以修改三個(gè)熔絲位寄存器數(shù)據(jù)。

5。寄回給芯片服務(wù)商,讓他們幫忙將芯片恢復(fù) 這是最省事,但是最費(fèi)時(shí)間,最無(wú)可奈何的方法。 先介紹一下基本恢復(fù)理論 ISP(In System Programmability) 在系統(tǒng)編程,簡(jiǎn)稱為 串行下載 IAP(In Application Programing) 在應(yīng)用編程,BootLoader也是類似的意思

1. ISP雖然利用了SPI接口(例外:M64/M128為UASRT0接口,Tiny13等沒有SPI接口)的引腳,但只在復(fù)位時(shí)起作用,而且下載完成后合格的下載器會(huì)自動(dòng)斷開端口的連接,對(duì)正常工作時(shí)沒有影響的( 在產(chǎn)品應(yīng)用中,下載器一定是不會(huì)一直粘在上面的)。

2. 雖然高壓并行下載能修復(fù)任何熔絲位,但對(duì)于貼片封裝來(lái)說(shuō)是很不現(xiàn)實(shí)的,所以添加ISP10標(biāo)準(zhǔn)插座接口后就是最常用的ISP下載方式了

3. 雖然IAP是一種新的升級(jí)方法,但I(xiàn)AP程序本身也是要先用高壓并行下載或ISP來(lái)燒進(jìn)芯片里面才行

4. Tiny13等少管腳AVR芯片因?yàn)楣苣_實(shí)在太少了,有ISP,但沒有[高壓并行編程]而特制了[高壓串行編程] 所以,產(chǎn)品上一般都留有ISP10標(biāo)準(zhǔn)接口插座,或更省位置的ISP6標(biāo)準(zhǔn)插座----留6個(gè)焊盤就行了

ISP的工作前提 1. 芯片沒有物理?yè)p壞

2. 芯片的SPIEN熔絲位=0 使能ISP功能

3. 芯片的RSTDISBL熔絲位=1 RESET引腳有效 (假如芯片有這個(gè)熔絲位)

4. 線路正常--接錯(cuò)線? 短路?

5. ISP下載器正常-------特別要考慮 連線的接觸不良問題

6. 電源正常 (一) 并行編程器恢復(fù),最早的編程方法, 功能最強(qiáng)大,通常需要12V~24V的高壓,以示區(qū)別,下面稱為 高壓并行編程。制作方式也有:

1.USB或COM1口制作的并行HVPROG編程器,軟件例如USBASP的ISP上位機(jī)軟件AVR_fighter.exe(zhb2000)和USBAVRISP(ZHIFENG),但需要AVR MCU連接較多的引腳 (一般20腳);

2.并行編程器STK200/STK300,串行編程器軟件PonyProg2000. 但需要電腦留有LPT打印機(jī)接口,AVR MCU留有ISP6-10標(biāo)準(zhǔn)燒寫口。

1.以我們常用的小馬PonyProg2000串行編程器下載軟件為例,在Command菜單中選Security and Configuration Bits,(或者點(diǎn)Security and Configuration Bits按鈕)在接著出現(xiàn)的熔絲位配置窗口的下面,有幾個(gè)按鈕,千萬(wàn)不要亂按。正確的方法是先按“Read”按鈕,讀出原來(lái)芯片中熔絲位的配置,然后再以此為基礎(chǔ),按你的需要進(jìn)行局部修改,確定無(wú)誤后再按“Write”按鈕,就OK了。一般不會(huì)出現(xiàn)鎖死的問題。如果萬(wàn)一由于操作不當(dāng),出現(xiàn)鎖死也不必驚慌。

2.除了用并行編程器恢復(fù)的方法以外,對(duì)于沒有并行編程器的朋友,還可以用外接有源振蕩器的方法解鎖,方法是用一個(gè)1MHz的振蕩信號(hào)接到ATmega16L的 13腳XTAL1,接通單片機(jī)的電源,正常的話你會(huì)看到原來(lái)單片機(jī)中的程序已經(jīng)可以正常運(yùn)行了。說(shuō)明外接振蕩器已經(jīng)使單片機(jī)恢復(fù)工作了。這下來(lái)就好辦了,仍然用PonyProg2000,點(diǎn)Security and Configuration Bits按鈕,進(jìn)入熔絲位配置窗口,這時(shí)你會(huì)看到所有的熔絲位都沒打√,連灰色的SPIEN前面那個(gè)模糊不清的√也沒了,不過沒關(guān)系Don’t worry,你只要按照下圖中ATmega16L出廠時(shí)熔絲位的設(shè)置打√,然后按“Write”按鈕,如果屏幕輕輕的閃一下,OK,恭喜你已經(jīng)好了,再按“Read”按鈕,你會(huì)看到除了你打√的地方以外,SPIEN前面那個(gè)模糊不清的√也出來(lái)了。鎖死的芯片已經(jīng)解鎖了。

要注意的是外接的信號(hào)幅度不可太大,以免損毀芯片,我開始用一個(gè)51單片機(jī)的震蕩信號(hào)接過來(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) 4096Hz <1024Hz //很變態(tài)的用法,外接32.768KHz晶體+CKDIV8 ,不過AVRISP還是提供了603Hz這個(gè)速度了 //另一簡(jiǎn)易解決辦法是 下載時(shí)在32.768KHz晶體并聯(lián)一個(gè)1MHz晶體,雙龍的下載線就配有一個(gè)8MHz的石英晶體 32768Hz <8192Hz 128KHz < 32KHz //內(nèi)部RC128KHz 1.0MHz <250KHz //默認(rèn)值(包括8MHz+CKDIV8),所以AVRISP的ISP速度多為230KHz 8.0MHz <2000KHz 16.0MHz <4000KHz 運(yùn)行時(shí)鐘不等于震蕩器的頻率,因?yàn)椴糠諥VR芯片有系統(tǒng)時(shí)鐘預(yù)分頻器,可以對(duì)震蕩器進(jìn)行1~256分頻

CKDIV8熔絲位決定CLKPS位的初始值。 若CKDIV8未編程,CLKPS位復(fù)位為“0000”;若CKDIV8 已編程,CLKPS 位復(fù)位為“0011”,給出啟動(dòng)時(shí)分頻因子為8 AVRISP可提供的ISP時(shí)鐘 921.6KHz,230.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 根本就沒有什么意義,頻率精度/穩(wěn)定度不高,成本也沒有降低,所以新的AVR芯片已經(jīng)沒有這個(gè)選項(xiàng)了。

各位網(wǎng)友要注意的是錯(cuò)誤設(shè)定后補(bǔ)救方法 外部晶體 接上合適的晶體,選擇合適的ISP速度。 ------補(bǔ)救: 外部時(shí)鐘源接到XTAL1 外部時(shí)鐘 接上合適的時(shí)鐘源,選擇合適的ISP速度。 ------補(bǔ)救: 外部時(shí)鐘源接到XTAL1 外部時(shí)鐘源可以是 外部(4MHz)有源晶體輸出,其他MCU的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=0x0FFFH, M64/M128=0x10FFH,必然出錯(cuò)! AVR的所有熔絲位均是: 1 未編程,多為不起作用的意思。 0 編程,多為 起作用的意思。 基于可編程工藝的都是這樣: PROM/EEPROM/FLASH都是出廠時(shí)和擦除后變?yōu)槿?(0xFF)的,要編程才能變成0。 反過來(lái)就是了,跟CE/OE/INT都是[低電平有效]一樣,都是很常見。 在ISP模式下永遠(yuǎ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)致RESET失效而令I(lǐng)SP無(wú)法工作外,其他情況都能恢復(fù)正常。

一般來(lái)說(shuō),只要滿足ISP的工作前提,再把XTAL1接到一個(gè)4MHz有源晶體的輸出,基本是萬(wàn)試萬(wàn)靈的。 通過外加有源晶振的辦法,讓其恢復(fù), 這個(gè)方法最可行。它可以恢復(fù)大部分熔絲位搞錯(cuò)的芯片。(重點(diǎn)推薦) 接法如下

打點(diǎn)的口子對(duì)應(yīng)1號(hào)腳依次逆時(shí)針1 NC2 GND3 CLK4 VCC 1腳不接,2腳接地,3腳接輸出,4腳接電源。恢復(fù)方法:

接上上圖的有源晶振,重新通電,可以看到芯片又重新正常工作了,這時(shí)就能用ISP或JTAG下載線修改錯(cuò)誤的熔絲位了。修改完成后,斷電,將有源晶振拆走,看看是否已經(jīng)恢復(fù)正常。

還有一個(gè)辦法,如果沒有有源晶振的話可以用其他工作正常的單片機(jī)的時(shí)鐘作為外部晶振,只要將工作正常的單片機(jī)的XTAL2腳連接熔絲設(shè)置錯(cuò)誤的單片機(jī)的XTAL1引腳即可。像我使用AVR910下載線的可直接把AT90S2313的時(shí)鐘輸出連到被設(shè)置錯(cuò)的芯片就可恢復(fù)了,很方便。

不要忘記,并行高壓編程的時(shí)鐘信號(hào)也是從XTAL1導(dǎo)入方波信號(hào)的。 如果有源晶振的方法不行(除了ISPEN=0,RSTDISBL=0情況外),恐怕高壓編程也未必能奏效。 其他一些功能操作對(duì)ISP熔絲位的影響

1. JTAG的影響(M16,M32,M128等): JTAG能訪問 SPIEN 和 JTAGEN,要是不小心同時(shí)改成SPIEN=1,JTAGEN=1,將會(huì)導(dǎo)致MCU鎖死,需要高壓并行編程才能恢復(fù)。

2. DebugWIRE的影響:(M48,M88,M168,T2313等,數(shù)據(jù)手冊(cè)里面的資料不是很詳細(xì)) 由于DebugWIRE使用RESET腳來(lái)通訊,所以跟ISP有所沖突 可以通過ISP或并行高壓編程來(lái)使能DebugWIRE功能[即DWEN=0],使能DebugWIRE功能后,ISP功能失效。 可以通過DebugWIRE來(lái)關(guān)閉DebugWIRE功能[即DWEN=1],關(guān)閉DebugWIRE功能后,如果RSTDISBL=1,SPIEN=0,ISP功能有效。 比較特殊的是 DebugWIRE調(diào)試中,斷點(diǎn)的使用會(huì)降低Flash 數(shù)據(jù)記憶時(shí)間 DebugWIRE調(diào)試用的器件不能發(fā)給最終客戶。

3.JTAG MKII同時(shí)具備JTAG/DeubgWIRE/ISP三種功能,可以輕松實(shí)現(xiàn)DebugWIRE/ISP的切換。 (軟件需要升級(jí)到1.09版以后 即對(duì)應(yīng)AVRstudio 4.12以后版本) 最新版本 JTAG MK2使用說(shuō)明中文pdf(20051125) 設(shè)計(jì)使用debugWIRE 的系統(tǒng)時(shí),必須進(jìn)行下面的檢查: ? dW/(RESET) 的上拉電阻不得小于10kΩ。debugWIRE 并不需要上拉電阻 ? 將 RESET 引腳與 VCC 直接連接將無(wú)法工作 ? 使用debugWIRE 時(shí)必須斷開與RESET 引腳連接的電容 ? 必須斷開所有的外部復(fù)位源。
編輯:hfy

  • AVR單片機(jī)
    +關(guān)注

    關(guān)注

    22

    文章

    608

    瀏覽量

    56126
  • 有源晶振
    +關(guān)注

    關(guān)注

    1

    文章

    920

    瀏覽量

    21127
  • 熔絲位
    +關(guān)注

    關(guān)注

    0

    文章

    19

    瀏覽量

    11346
  • 并行編程器
    +關(guān)注

    關(guān)注

    0

    文章

    2

    瀏覽量

    6281
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    正確配置AVR單片機(jī)

    對(duì)AVR配置是比較細(xì)致的工作,用戶往往忽視其重要性,或感到不易掌握。下面給出對(duì)AVR
    發(fā)表于 11-09 17:33 ?3589次閱讀

    AVR單片機(jī)解密后的配置?

    單片機(jī)內(nèi)部有多組與器件配置和運(yùn)行環(huán)境相關(guān)的的,這些
    發(fā)表于 06-04 11:25

    對(duì)AVR配置操作時(shí)有哪些需要注意的相關(guān)事項(xiàng)以及相應(yīng)的拯救方法?

    是什么意思?對(duì)AVR進(jìn)行
    發(fā)表于 07-07 07:19

    AVR單片機(jī)

    1.簡(jiǎn)介:狀態(tài)為“1”表示未編程,
    發(fā)表于 07-13 07:36

    如何對(duì)AVR進(jìn)行配置

    對(duì)AVR配置是比較細(xì)致的工作,用戶往往忽視其重要性,或感到不易掌握。下面給出對(duì)AVR
    發(fā)表于 07-13 07:24

    如何設(shè)置AVR單片機(jī)加密?

    什么是?如何設(shè)置AVR單片機(jī)加密
    發(fā)表于 09-24 06:55

    AVR單片機(jī)時(shí)配置出現(xiàn)的一些問題

    AVR單片機(jī)配置AVR
    發(fā)表于 11-23 07:03

    AVR單片機(jī)解密后的配置

    AVR單片機(jī)解密后的配置 AVR單片機(jī)內(nèi)部有多
    發(fā)表于 10-12 11:21 ?2055次閱讀

    一文詳解ATMEGA128配置

    AVR系列單片機(jī)在仿真調(diào)試之前,首先必須對(duì)AVR和鎖定位進(jìn)行
    的頭像 發(fā)表于 06-17 09:12 ?1.2w次閱讀
    一文詳解ATMEGA128<b class='flag-5'>熔</b><b class='flag-5'>絲</b><b class='flag-5'>位</b><b class='flag-5'>配置</b>

    三分鐘告訴你:AVR單片機(jī)與解鎖

    AVR單片機(jī)配置AVR
    發(fā)表于 05-25 17:10 ?1.4w次閱讀
    三分鐘告訴你:<b class='flag-5'>AVR</b><b class='flag-5'>單片機(jī)</b>的<b class='flag-5'>熔</b><b class='flag-5'>絲</b>與解鎖

    AVR單片機(jī)概念解析 相關(guān)知識(shí)介紹

    欣世紀(jì)電子阿迪老師單片機(jī)系列視頻教程之《AVR單片機(jī)十日通》,這是第二日:AVR單片機(jī)概述及
    的頭像 發(fā)表于 07-04 09:47 ?3930次閱讀

    關(guān)于AVR單片機(jī)的特點(diǎn)介紹

    AVR單片機(jī)
    的頭像 發(fā)表于 07-10 11:26 ?4577次閱讀

    AVR單片機(jī)設(shè)置

    AVR單片機(jī)設(shè)置
    發(fā)表于 11-14 20:21 ?12次下載
    <b class='flag-5'>AVR</b><b class='flag-5'>單片機(jī)</b><b class='flag-5'>熔</b><b class='flag-5'>絲</b><b class='flag-5'>位</b>設(shè)置

    AVR單片機(jī)和解鎖

    AVR單片機(jī)配置AVR
    發(fā)表于 11-14 20:51 ?8次下載
    <b class='flag-5'>AVR</b><b class='flag-5'>單片機(jī)</b><b class='flag-5'>熔</b><b class='flag-5'>絲</b>和解鎖

    關(guān)于AVR單片機(jī)的設(shè)置和拯救方法大全 AVR單片機(jī)的設(shè)置和詳細(xì)的拯救方法

    是ATMEL公司AVR單片機(jī)比較獨(dú)到的特征。在每一種型號(hào)的AVR
    發(fā)表于 11-15 09:06 ?44次下載
    關(guān)于<b class='flag-5'>AVR</b><b class='flag-5'>單片機(jī)</b><b class='flag-5'>熔</b><b class='flag-5'>絲</b><b class='flag-5'>位</b>的設(shè)置和拯救方法大全 <b class='flag-5'>AVR</b><b class='flag-5'>單片機(jī)</b><b class='flag-5'>熔</b><b class='flag-5'>絲</b><b class='flag-5'>位</b>的設(shè)置和詳細(xì)的拯救方法
    主站蜘蛛池模板: free性欧美video69 | 国产三级视频 | 超黄视频在线观看 | 免费一看一级毛片全播放 | 久久久久久久综合色一本 | 日本福利小视频 | 四虎影院永久网站 | 国产精品三区四区 | 国产在线97色永久免费视频 | 日本网站免费观看 | 国产精品午夜免费观看网站 | 全国男人的天堂天堂网 | vr亚洲成年网址在线观看 | mm131美女肉体艺术图片 | 欧美视频一区二区三区在线观看 | 四虎影视最新 | 天天操天天曰 | 欧美黄色片网站 | 亚洲人成人| 五月月色开心婷婷久久合 | 综合色久七七综合七七蜜芽 | 在线观看日本亚洲一区 | 婷婷亚洲综合一区二区 | 亚洲 欧洲 另类 综合 自拍 | 精品国产综合区久久久久99 | 快乐你懂的在线视频免费观看 | 亚洲国产欧美在线成人aaaa | 欧美射射射 | 深夜释放自己vlog糖心旧版本 | 午夜免费一级片 | 久久天天躁狠狠躁夜夜躁综合 | 视频1区| 18男女很黄的视频 | 四虎免费看黄 | 免费国产午夜在线观看 | 欧美另类bbw | 欧美三级免费观看 | 97玖玖| 欧美又黄又嫩大片a级 | 精品女同同性视频很黄很色 | 在线观看视频h |