初學者對熔絲經常不解,AVR芯片使用熔絲來設定時鐘、啟動時間、一些功能的使能、BOOT區設定、當然還有最讓初學者頭疼的保密位,設不好鎖了芯片很麻煩。要想使MCU功耗最小也要了解一些位的設定 在此寫下自己對熔絲的理解,參照了一些MEGA16的PDF文檔,雙龍的文檔,以及大家的帖子。力求易懂、全面。 首先記。 1:未編程(檢查框不打鉤) 0:編程 (檢查框打鉤) 建議在配置熔絲之前先“讀取配置”讀出原來的設定,再自己編輯。 看看 M16的出廠設置。 默認設置為:內部RC振蕩8MHZ 6 CK + 65 ms CKSEL=0100 SUT=10 高位:時鐘及啟動時間設置: BODLEVEL: BOD電平選擇 1:2.7V電平; 0:4.0V電平 BODEN: BOD功能控制 1:BOD功能禁止;0:BOD功能允許 使用方法: BOD(Brown-out Detection) 掉電檢測電路 , 如果BODEN使能(編程) 啟動掉電檢測, 檢測電平由BODLEVEL決定 一旦VCC下降到觸發電平(2.7v或4.0v)以下,MUC復位,當VCC電平大于觸發電平后,經過tTOUT 延時周后重新開始工作。 注:1: 因為M16L可以工作在2.7v-5.5v所以觸發電平可選2.7v或4.0v。M16工作在4.5 - 5.5V,所以 BODLEVEL=0。BODLEVEL=1 不適用于ATmega16, SUT1/0: 復位啟動時間選擇 當選擇不同晶振時,SUT有所不同。 如果沒有特殊要求推薦SUT1/0設置電源緩慢上升。 CKSEL3/0: 時鐘源選擇 低位:BOOT區設置 JTAGEN: JTAG允許 1:JTAG禁止; 0:JTAG允許 OCDEN: OCD功能允許 1:OCD功能禁止;0:OCD功 OCDEN(On-chip Debug)片上調試使能位, JTAGEN:JTAG使能JTAG 測試訪問端口。 使用方法:在JTAG調試時使能OCDEN JTAGEN兩位(打勾),并保持所有的鎖定位處于非鎖定狀態,在實際使用時為降低功耗不使能OCDEN JTAGEN,大約減少2-3mA的電流。 SPIEN: SPI下載允許 1:SPI下載禁止;0:SPI下載使能 在雙龍的軟件里,SPIEN是不能編輯的,默認為0。 CKOPT:選擇這兩種放大器模式 CKOPT=0:高幅度振蕩輸出;CKOPT=1:低幅度振蕩輸出 當CKOPT 被編程時振蕩器在輸出引腳產生滿幅度的振蕩。這種模式適合于噪聲環境,以及需要通過XTAL2 驅動第二個時鐘緩沖器的情況。而且這種模式的頻率范圍比較寬。當保持CKOPT 為未編程狀態時,振蕩器的輸出信號幅度比較小。其優點是大大降低了功耗,但是頻率范圍比較窄,而且不能驅動其他時鐘緩沖器。(據我測量功耗差別在1mA左右)。 對于諧振器,CKOPT未編程時的最大頻率為8 MHz,CKOPT編程時為16 MHz。內部RC振蕩器工作時不對CKOPT編程。 EEAVE: 燒錄時EEPROM數據保留 1:不保留;0:保留 在一次使用EEProm時沒注意EEAVE位的編程,調試程序每次燒flash時,EEProm都沒了,后來才知道,EEAVE打了勾。 BOOTRST: 復位入口選擇 1:程序從0x0000地址開始 0:復位后從BOOT區執行(參考BOOTSZ0/1) BOOTSZ1/0: 引導區程序大小及入口 00: 1024Word/0xc00; 01: 512Word/0xe00; 10: 256Word/0xf00; 11: 128Word/0xf80 時鐘總表
時鐘源 啟動延時 熔絲 外部時鐘 6 CK + 0 ms CKSEL=0000 SUT=00 外部時鐘 6 CK + 4.1 ms CKSEL=0000 SUT=01 外部時鐘 6 CK + 65 ms CKSEL=0000 SUT=10 內部RC振蕩1MHZ 6 CK + 0 ms CKSEL=0001 SUT=00 內部RC振蕩1MHZ 6 CK + 4.1 ms CKSEL=0001 SUT=01 內部RC振蕩1MHZ1 6 CK + 65 ms CKSEL=0001 SUT=10 內部RC振蕩2MHZ 6 CK + 0 ms CKSEL=0010 SUT=00 內部RC振蕩2MHZ 6 CK + 4.1 ms CKSEL=0010 SUT=01 內部RC振蕩2MHZ 6 CK + 65 ms CKSEL=0010 SUT=10 內部RC振蕩4MHZ 6 CK + 0 ms CKSEL=0011 SUT=00 內部RC振蕩4MHZ 6 CK + 4.1 ms CKSEL=0011 SUT=01 內部RC振蕩4MHZ 6 CK + 65 ms CKSEL=0011 SUT=10 內部RC振蕩8MHZ 6 CK + 0 ms CKSEL=0100 SUT=00 內部RC振蕩8MHZ 6 CK + 4.1 ms CKSEL=0100 SUT=01 內部RC振蕩8MHZ 6 CK + 65 ms CKSEL=0100 SUT=10 外部RC振蕩≤0.9MHZ 18 CK + 0 ms CKSEL=0101 SUT=00 外部RC振蕩≤0.9MHZ 18 CK + 4.1 ms CKSEL=0101 SUT=01 外部RC振蕩≤0.9MHZ 18 CK + 65 ms CKSEL=0101 SUT=10 外部RC振蕩≤0.9MHZ 6 CK + 4.1 ms CKSEL=0101 SUT=11 外部RC振蕩0.9-3.0MHZ 18 CK + 0 ms CKSEL=0110 SUT=00 外部RC振蕩0.9-3.0MHZ 18 CK + 4.1 ms CKSEL=0110 SUT=01 外部RC振蕩0.9-3.0MHZ 18 CK + 65 ms CKSEL=0110 SUT=10 外部RC振蕩0.9-3.0MHZ 6 CK + 4.1 ms CKSEL=0110 SUT=11 外部RC振蕩3.0-8.0MHZ 18 CK + 0 ms CKSEL=0111 SUT=00 外部RC振蕩3.0-8.0MHZ 18 CK + 4.1 ms CKSEL=0111 SUT=01 外部RC振蕩3.0-8.0MHZ 18 CK + 65 ms CKSEL=0111 SUT=10 外部RC振蕩3.0-8.0MHZ 6 CK + 4.1 ms CKSEL=0111 SUT=11 外部RC振蕩8.0-12.0MHZ 18 CK + 0 ms CKSEL=1000 SUT=00 外部RC振蕩8.0-12.0MHZ 18 CK + 4.1 ms CKSEL=1000 SUT=01 外部RC振蕩8.0-12.0MHZ 18 CK + 65 ms CKSEL=1000 SUT=10 外部RC振蕩8.0-12.0MHZ 6 CK + 4.1 ms CKSEL=1000 SUT=11 低頻晶振(32.768KHZ) 1K CK + 4.1 ms CKSEL=1001 SUT=00 低頻晶振(32.768KHZ) 1K CK + 65 ms CKSEL=1001 SUT=01 低頻晶振(32.768KHZ) 32K CK + 65 ms CKSEL=1001 SUT=10 低頻石英/陶瓷振蕩器(0.4-0.9MHZ) 258 CK + 4.1 ms CKSEL=1010 SUT=00 低頻石英/陶瓷振蕩器(0.4-0.9MHZ) 258 CK + 65 ms CKSEL=1010 SUT=01 低頻石英/陶瓷振蕩器(0.4-0.9MHZ) 1K CK + 0 ms CKSEL=1010 SUT=10 低頻石英/陶瓷振蕩器(0.4-0.9MHZ) 1K CK + 4.1 ms CKSEL=1010 SUT=11 低頻石英/陶瓷振蕩器(0.4-0.9MHZ) 1K CK + 65 ms CKSEL=1011 SUT=00 低頻石英/陶瓷振蕩器(0.4-0.9MHZ) 16K CK + 0 ms CKSEL=1011 SUT=01 低頻石英/陶瓷振蕩器(0.4-0.9MHZ) 16K CK + 4.1ms CKSEL=1011 SUT=10 低頻石英/陶瓷振蕩器(0.4-0.9MHZ) 16K CK + 65ms CKSEL=1011 SUT=11 中頻石英/陶瓷振蕩器(0.9-3.0MHZ) 258 CK + 4.1 ms CKSEL=1100 SUT=00 中頻石英/陶瓷振蕩器(0.9-3.0MHZ) 258 CK + 65 ms CKSEL=1100 SUT=01 中頻石英/陶瓷振蕩器(0.9-3.0MHZ) 1K CK + 0 ms CKSEL=1100 SUT=10 中頻石英/陶瓷振蕩器(0.9-3.0MHZ) 1K CK + 4.1 ms CKSEL=1100 SUT=11 中頻石英/陶瓷振蕩器(0.9-3.0MHZ) 1K CK + 65 ms CKSEL=1101 SUT=00 中頻石英/陶瓷振蕩器(0.9-3.0MHZ) 16K CK + 0 ms CKSEL=1101 SUT=01 中頻石英/陶瓷振蕩器(0.9-3.0MHZ) 16K CK + 4.1ms CKSEL=1101 SUT=10 中頻石英/陶瓷振蕩器(0.9-3.0MHZ) 16K CK + 65ms CKSEL=1101 SUT=11 高頻石英/陶瓷振蕩器(3.0-8.0MHZ) 258 CK + 4.1 ms CKSEL=1110 SUT=00 高頻石英/陶瓷振蕩器(3.0-8.0MHZ) 258 CK + 65 ms CKSEL=1110 SUT=01 高頻石英/陶瓷振蕩器(3.0-8.0MHZ) 1K CK + 0 ms CKSEL=1110 SUT=10 高頻石英/陶瓷振蕩器(3.0-8.0MHZ) 1K CK + 4.1 ms CKSEL=1110 SUT=11 高頻石英/陶瓷振蕩器(3.0-8.0MHZ) 1K CK + 65 ms CKSEL=1111 SUT=00 高頻石英/陶瓷振蕩器(3.0-8.0MHZ) 16K CK + 0 ms CKSEL=1111 SUT=01 高頻石英/陶瓷振蕩器(3.0-8.0MHZ) 16K CK + 4.1ms CKSEL=1111 SUT=10 高頻石英/陶瓷振蕩器(3.0-8.0MHZ) 16K CK + 65ms CKSEL=1111 SUT=11
|