2013年9月1日 星期日

配置ATmega128 ATmega169 fuse bit

keyboard: 配置 ATmega128  ATmega169 熔絲 位元 fuse bit lock bit

正確配置AVR ATmega128位元
ATmega128 lock bits  byte



ATmega128  Fuse Bits



ATmega128 lock bits & Fuse Bits
ponyProg2000's screenshot          “√”表示:Enable (0)  (允許)       

IAR Embedded Workbench's screenshot “√”表示:Enable (0)  (允許)   

ATMEL studio 6's  screenshot “√”表示:Enable (0)  (允許)

       


       對AVR位元的配置是比較細緻的工作,用往往忽其重要性,或感到不易掌握。下面AVR位元的配置操作的一些要點和需要注意的相

       1)在AVR的器件手中,位使用已程(Programmed)和未
Unprogrammed)定位元的狀態,“Unprogrammed”表示熔絲狀態為1”(禁止);“Programmed”表示熔絲狀態為0” (允許)因此,配置熔位元的實際上是“配置熔位元成狀態1” 或成狀態0” 。

      2)在使用通過選擇“√”方式確定熔位元狀態值的程工具首先仔細閱讀軟體的使用明,弄清楚“√”表示置熔位元狀態為01” 。

      3)使用CVAVR中的程下程式時應注意,由於CVAVR程下介面初始打開時,大部分熔位元的初始狀態義為1” ,因此不要使用其程功能表選項中的“all選項。此的“all選項會以熔位元的初始狀態義來配置晶片的熔位元,而實際上其往往並不是用所需要的配置果。如果要使用“all選項先使用“read->fuse bits取晶片中熔位元實際狀態後,再使用“all 選項

      4)新的AVR晶片在使用前,首先查看它熔位元的配置情況,再根據實際需要,行熔位元的配置,並各個熔位元的狀態記錄備案。

      5AVR晶片加密以後僅僅是不能取晶片FlashE2PROM中的料,熔位元的狀態仍然可以取但不能修改配置。晶片擦除命令是FlashE2PROM中的料清除,並同時將兩位元定位元(lock bits)狀態配置成“11” ,無鎖狀態。但晶片擦除命令並不改其他熔位元的狀態(Fuse bits , Extended bits)

      6)正確的操作程式是:在晶片無鎖狀態下,下載運行代料,配置相的熔位元,最後配置晶片的定位元。晶片被定後,如果發現位元配置不,必使用晶片擦除命令,清除晶片中的料,並解除定。然後重新下載運行代料,修改配置相的熔位元,最後再次配置晶片的定位元。

       7)使用ISP串列方式下載編配置SPIEN位元0” 。晶片出廠SPIEN位元的狀態認為0” ,表示允ISP串列方式下載資料。只有位元狀態0” ,才可以通AVRSPIISP,如果位元被配置程“1” 後,ISP串列方式下載資料立即被禁止,此只能通並行方式或JTAG程方式才能SPIEN狀態重新0” ,ISP。通常情況下,保持SPIEN狀態為0” ,允ISP程不影響其引I/O功能,只要在硬體設計時,注意ISP介面與其並接的器件行必要的隔離,如使用串接阻或路跳等。

      8你的系中,不使用JTAG介面下載編程或即時仿真調試,且JTAG介面的引需要作I/O口使用,必須設置熔位元JTAGEN狀態為1” 。晶片出廠JTAGEN狀態認為0” ,表示允JTAG介面,JTAG的外部引不能作I/O口使用。JTAGEN狀態設1” 後,JTAG介面立即被禁止,此只能通並行方式或ISP程方式才能JTAG重新0” ,JTAG

      9)一般情況下不要置熔位把RESETI/O使用(如ATmega8位元RSTDISBL狀態為0” ),這樣會造成ISP的下載編行,因ISP方式前,需要RESET拉低,使晶片先入重定模式

      10)使用部有RC器的AVR晶片,要特注意熔位元CKSEL的配置。一般情況下,晶片出廠CKSEL位元的狀態認為使用1MHzRC器作時鐘源。如果你使用了外部振器作時鐘,不要忘首先正確配置CKSEL位元,否你整個系的定現問題。而在你的設計有使用外部振器(或某特定的振源)作時鐘,千萬不要操作或錯誤的把CKSEL位元配置成使用外部振器(或其他不同型的振源)。一旦種情況生,使用ISP程方式則無晶片操作了(因ISP方式需要晶片的系統時鐘工作並生定控制信),晶片看上去“壞了”。此只有使用取下晶片使用並行程方式,或使用JTAG方式(如果JTAG許時且目板上留有JTAG介面)解救了。另一種解救的方式是:嘗試在晶片的晶體引臨時的疊加上不同型的振盪時鐘,一旦ISP可以晶片操作,立即CKSEL配置成使用1MHzRC器作時鐘源,然後再根據實際情況重新正確配置CKSEL

      11)使用支援IAPAVR晶片,如果你不使用BOOTLOADER功能,注意不要把熔BOOTRST0狀態,它使晶片在上電時不是從Flash0x0000處開行程式。晶片出廠BOOTRST位元的狀態認為1” 。

 ATmega128中重要熔位元的配置 
   
      1)熔M 103CM 103C 的配置將設ATmega128是以ATmega103相容方式工作是以ATmega128本身的方式工作行。ATmega128在出廠M 103C認狀態為0” ,即默ATmega103相容方式工作。統設計使晶片以ATmega128方式工作首先M 103C狀態配置1” 。

      2CLKSEL0..3CLKSEL0CLKSEL1CLKSEL2CLKSEL3用於選擇時鐘源。有五種不同型的時鐘源可供選擇(每種的劃分)。晶片出廠的默情況CLKSEL3..0SUT1..0是“0001” 和“10” 。即使用1MHz RC器,使用最啟動無論外部振盪電路是否工作,都可以行最初的ISPCLKSEL3..0位元的改需要十分慎重,因一旦改寫錯誤造成晶片啟動

      3JTAGEN。如果不使用JTAG介面,應將JTAGEN狀態設1” ,即禁止JTAGJTAG用於I/O口。 

       4SPIENSPI方式下載資料和程式允,默認狀態為0” 。一般保留其狀態

       5WDTON。看狗的計器始終開啟WDTON認為1” ,即禁止看狗的計器始終開啟。如果0” 後,看狗的計器就,不能被部程式控制了,了防止程式跑飛時,未知代過寫寄存器狗計關斷設計的(關斷狗計器需要特殊的方式,但它保了更高的可靠行)。

       6EESAVE行擦除命令是否保留E2PROM中的容,默認狀態為1” ,表示E2PROM中的容同Flash中的容一同擦除。如果位元0” ,程式行下前的擦除命令只會對FLASH碼區有效,而E2PROM區無效。這對於希望在系更新程式,需要保留E2PROM料的情況下是十分有用的。

       7BOOTRST。決定晶片上動時,第一條行指令的位址。默認狀態為1” ,表示起動時0x0000行。如果BOOTRST0” ,動時BOOTLOADER的起始位址處開行程式。BOOTLOADER的大小由BOOTSZ1BOOTSZ0決定,因此其首位址也化。

       8BOOTSZ1BOOTSZ0這兩位確定了BOOTLOADER的大小以及其起始的首位址。默狀態為00” ,表示BOOTLOADER區為4096字,起始首位址0xF000

     
注:不同AVR的熔也不同,使用前必查看晶片手
    要重冊學習,不要掌握如何使用,也要從根本上認識和掌握原理和構。於硬體工程師來將料手是真正的“經書”,其他都是“修練經驗”。不熟經書”,你法修成“仙”的。


正確配置AVR ATmega169位元
ATMega169, ATMega169L, ATMega169V, ATMega169P, ATMega169PV, ATMega169PA
AVR ATmega169 Lock bits   

 
AVR ATmega169 Fuse bits


















AVR ATmega169 Extended bits
AVR ATmega169PV Extended bits
ponyProg2000's screenshot       “√”表示:Enable (0)  (允許)

IAR Embedded Workbench's screenshot          “√”表示:Enable (0)  (允許)


ATMEL studio 6's  screenshot               “√”表示:Enable (0)  (允許)































沒有留言:

張貼留言

注意:只有此網誌的成員可以留言。