正確配置AVR單片機的熔絲位
上一小節(jié)介紹了配置AVR熔絲位的要點和注意事項,本小節(jié)把在一般情況下使用ATmega128時,幾個重要的熔絲位配置情況進行說明。
(1)熔絲位M103C。M103C的配置將設定ATmega128是以ATmega103兼容方式工作運行還是以ATmega128本身的方式工作運行。ATmega128在出廠時M103C默認狀態(tài)為“0”,即默認以ATmega103兼容方式工作。當用戶系統(tǒng)設計使芯片以ATmega128方式工作時,應首先將M103C的狀態(tài)配置為“1”。
(2)CLKSEL0..3。CLKSEL0、CLKSEL1、CLKSEL2、CLKSEL3用于選擇系統(tǒng)的時鐘源。有五種不同類型的時鐘源可供選擇(每種類型還有細的劃分)。芯片出廠時的默認情況為CLKSEL3..0和SUT1..0分別是“0001”和“10”。即使用內(nèi)部1MHz RC振蕩器,使用最長的啟動延時。這保證了無論外部振蕩電路是否工作,都可以進行最初的ISP下載。對于CLKSEL3..0熔絲位的改寫需要十分慎重,因為一旦改寫錯誤,會造成芯片無法啟動,見上一小節(jié)第10點說明。
(3)JTAGEN。如果不使用JTAG接口,應將JTAGEN的狀態(tài)設置為“1”,即禁止JTAG,JTAG引腳用于I/O口。
(4)SPIEN。SPI方式下載數(shù)據(jù)和程序允許,默認狀態(tài)為允許“0”。一般保留其狀態(tài)。
(5)WDTON??撮T狗的定時器始終開啟。WDTON默認為“1”,即禁止看門狗的定時器始終開啟。如果該位設置為“0”后,看門狗的定時器就會始終打開,不能被內(nèi)部程序控制了,這是為了防止當程序跑飛時,未知代碼通過寫寄存器將看門狗定時器關(guān)斷而設計的(盡管關(guān)斷看門狗定時器需要特殊的方式,但它保證了更高的可靠行)。
(6)EESAVE。執(zhí)行擦除命令時是否保留E2PROM中的內(nèi)容,默認狀態(tài)為“1”,表示E2PROM中的內(nèi)容同F(xiàn)lash中的內(nèi)容一同擦除。如果該位設置為“0”,對程序進行下載前的擦除命令只會對FLASH代碼區(qū)有效,而對E2PROM區(qū)無效。這對于希望在系統(tǒng)更新程序時,需要保留E2PROM中數(shù)據(jù)的情況下是十分有用的。
(7)BOOTRST。決定芯片上電起動時,第一條執(zhí)行指令的地址。默認狀態(tài)為“1”,表示起動時從0x0000開始執(zhí)行。如果BOOTRST設置為“0”,則起動時從BOOTLOADER區(qū)的起始地址處開始執(zhí)行程序。BOOTLOADER區(qū)的大小由BOOTSZ1和BOOTSZ0決定,因此其首地址也隨之變化。
(8)BOOTSZ1和BOOTSZ0:這兩位確定了BOOTLOADER區(qū)的大小以及其起始的首地址。默認的狀態(tài)為“00”,表示BOOTLOADER區(qū)為4096字,起始首地址為0xF000。
(9)推薦用戶使用ISP方式配置熔絲位。配置工具選用BASCOM-AVR(網(wǎng)上下載試用版,它對ISP下載無限制),和STK200/STK300兼容的下載電纜。
評論