프로그램/마이컴

AVR 퓨즈비트 (Fuse bits) 설정

더월드 2022. 3. 11.

 ATmega128의 기본적인 설정용으로 사용되며 Extended Fuse, Fuse High, Fuse Low바이트로 모두 3개의바이트로 구성되어 있다.

 

※ 주의 할점은 기본 비트값이 1로 되어 있고 프로그램하면 0으로 설정되고 chip erase명령에 의해 영향을 받지 않으므로 메모리 Lock비트의 LB1을 0으로 하여 퓨즈 비트를 변경할 수 없도록 할 수 있다.

퓨즈 비트를 먼저 설정하고 메모리 Lock비트를 설정해야 한다.

  

Extended Fuse Byte

 

ATmega103 compatibility 설정

 - BIT1(M103C) : 기본 0으로 설정되어 ATmega13과 호환모드로 되어 있다. 1로 프로그램하면 노말모드로 ATmega128의 고유기능을 전부 활용할 수 있다.

 

 WDTON( Watchdog Timer) 설정 

 - BIT0(WDTON: WatchDog Timer ON) :  기본 1로 설정되어 워치독 타이머 기능이 동작하도록 한다.

 

Normal Mode는 ATmega128의 기능을 모두 사용하는 모드로 4096Bytes의 내부SRAM을 모두 사용할 수 있다.
ATmega103호환모드에선 기능을 모두 사용할 수 없고 내부SRAM도 4000Bytes로 모두 사용하지 못 한다.

 

 

Fuse High Byte (CKOPT, JTAGEN 등)

 

○ OCDEN, JTAGEN, SPIEN 설정

 - BIT7 : 기본 1로 설정되어 있으며 On chip debug를 허용한다.

 - BIT6 : 기본 0로 설정되어 JTAG를 허용한다.

 - BIT5: 기본 0로 설정되어 SPI를 통한 직렬 프로그래밍을 허용한다.

 

○ CKOPT 설정

 - BIT4 :  기본1로 설정되어 클럭 옵션을 설정한다

 

○ EESAVE 설정

- BIT3 : 기본 1로 설정되어 Chip Erase할 때 EEPROM의 내용을 보호한다.

 

○ BOOT Size 설정

 - BIT2~1: 부트 사이즈를 선택하는 데 사용한다

 - BIT0: Reset vector의 선택에 사용한다.

           기본 1로 설정되어 0x0000번지를 리셋 주소로 하고, 0이면 BIT2~1의 설정을 적용한다.

Fuse Low Byte 설정( SUT, CKSEL 등)

BODEN 설정

 - BIT7: 기본 1로 설정되어 Brown Out Detector의 기능을 레벨값에 따라 트리거되도록 설정한다.

 - BIT6: 기본 1로 설정되어 Brown Out Detector의 기능을 허용한다.

 

SUT1/0 설정

 - BIT5~4: Start up 시간을 설정한다. 기본 상태로는 10의 값을 갖는다.

              예를 들어 SUT1/0 비트를 "00"으로 설정할 경우 부팅 타임이 4.1ms 걸린다.

 

 

○ CKSEL 설정

 - BIT3~0(CKSEL3~0) : 클럭 소스를 설정한다. 기본 0001의 값을 갖고 있어 디폴트

                               상태로는 1MHz의 내부 RC발진기를 통한 클록을 사용하도록 설정되어 있다.

① External Crystal or Ceramic Resonator ( External Crystal or Ceramic Resonator)

② Low-Frequency Crystal Oscillator

③ External RC Oscillator

 

 

④ 내부 RC 오실레이터 (Calibrated Internal RC Oscillator)

- Fuse 비트에서 CKOPT는 반드시 ‘1’로 설정

- XTAL1과 XTAL2 핀에는 아무것도 연결하지 않음

 

⑤ External Oscillator External Oscillator

⑥ 타이머/카운터 오실레이터

- TOSC1과 TOSC2 핀에 32.768kHz 의 크리스털을 직접 연결

- 외부에 커패시터는 연결하지 않음

 

 

기본 설정은 CKOPT와 CKSEL 설정이 중요하다.

CKSEL은 연결된 크리스탈 클럭에 맞게 설정하자.

 

퓨즈비트 설정이 어렵다거나 퓨즈비트 설정을 어떻게 할지 모르겠다면

퓨즈비트 계산기를 이용해 보는것도 좋아요.

 

AVR 퓨즈비트 계산기

'프로그램 > 마이컴' 카테고리의 다른 글

코드비젼 AVR (Codevision AVR) 자료형  (0) 2021.10.03
포트 제어 (LED 켜기/끄기) 방법  (0) 2020.03.12
PIC18F4520 EEPROM  (0) 2020.03.04
PIC18F4520 Timer.  (0) 2020.03.04
8051 모든 인터럽트  (0) 2020.03.04

댓글

💲 추천 글