본문 바로가기
전자/임베디드 시스템

ATmega128 입출력 포트와 클럭

by Begi 2018. 10. 12.
반응형

입출력 포트

ATmega의 Digital I/O 내부 회로는 다음과 같다. Sleep이 아닐 때는 핀의 신호를 항상 입력 받는다.

 

 

AVR의 출력 포트의 최대 전류는 40mA이다. 다른 MCU들이 보통 25mA 정도인 것에 비해 매우 큰 전류를 출력할 수 있다.

 

 

출력 포트의 소스 전류는 다음과 같다. 40mA가 흐를 때 포트 전압이 약 4V까지 떨어진다.

 

출력 포트의 싱크 전류는 다음과 같다. 40mA가 흐를 때 포트 전압이 약 1V까지 상승한다.

 

클럭 퓨즈

ATmega의 클럭 관련 퓨즈는 다음과 같다. 여기서 SUT0-1은 시작 지연시간을 설정하고 CKSEL0-3은 클럭 소스를 설정한다.

 

 

클럭 소스에 따른 CKSEL 값은 다음과 같다. 

 

 

● Internal RC Osillator : AVR 내부의 오실레이터 회로 사용

● Crystal Oscillator : 외부 크리스탈 연결. 일반적인 크리스탈을 사용할 때는 Low Power Crystal Oscillator를 선택해야 한다.

● External Clock : 오실레이터 등의 외부 클럭 사용

 

CKSEL 설정이 Internal RC Oscillator이 아닌데 그에 맞는 외부 크리스탈이나 오실레이터가 연결되어 있지 않다면 AVR가 동작이 안되고 AVRISP도 연결되지 않는다. 이 때는 CKSEL 설정에 맞게 크리스탈이나 오실레이터를 연결해 주어야 한다. 실수로 CKSEL 설정이 바뀌어다면 임시로 크리스탈이나 오실레이터를 연결해서 설정을 원래대로 바꿔야 한다.

 

크리스탈의 주파수에 따른 CKSEL1-3은 다음과 같다.

 

 

아래 표에서와 같이 세라믹 레조네이터를 사용할 때는 CKSEL0을 0으로 설정하고, 크리스탈을 사용할 때는 CKSEL0을 1로 설정해야 한다.

 

 

즉, 16MHz 크리스탈을 사용한 회로에서는 CKSEL0-3을 1111로 설정하고, SUT을 01 또는 10 또는 11로 시작 지연시간을 설정한다.

 

반응형

'전자 > 임베디드 시스템' 카테고리의 다른 글

AVR 프로그래밍  (0) 2019.03.10
Watchdog 프로그램에서 위치  (0) 2019.03.09
Arbiter Circuit  (0) 2018.09.30
BeagleBoard, BeagleBone 보드  (0) 2018.09.07
JTAG과 cJTAG과 SWD  (0) 2018.07.28

댓글