[Atmega128] 11. DATA Memory - EEPROM

2019. 8. 6. 10:47개발 관련 학습정리/AVR(atmega128) Register 분석

반응형

 

이번엔 데이터 메모리 EEPROM을 다루는 방법을 알아보자.

EEPROM은, Electrically Erasable Programmable Read-Only Memory의 약자로

ROM에 전기적으로 지우고, 프로그램 가능한 ROM을 말한다.

특징으로는 최대 10만번 쓰기가 가능한 4K바이트가 내장되었다는 점이다.

 

 

 

그럼 제어하는 레지스터를 알아보자

 

 

 

 

1. EEAR (EEPROM Address Register)

 

EEAR0...11 : 읽고 쓸 EEPROM의 주소 지정에 사용된다.

초기에는 임의값이 들어가니 항상 접근 전에 주소값 지정이 필요하다.

 

 

 

 

 

 

 

 

2. EEDR (EEPROM Data Register)

 

쓰기의 경우에는 EEAR의 주소에 쓰여질 값을 임시로 저장하고,

읽기의 경우에는 읽힌 값을 저장한다.

 

 

 

 

 

 

 

3. EECR (EEPROM Control Register)

 

EERIE (EEPROM Ready interrupt Enable) : 1로 설정하면 EEWE가 0일때 READY 인터럽트를 발생시킨다.

 

EEMWE (EEPROM Master Write Enable) : EEWE를 1로 설정할때 쓰기 허용 여부를 결정한다.

 

EEWE (EEPROM Write Enable) : EEMWE가 1로 설저오디면 EEWE가 1로 되고나서 4클록 내에 

EEDR데이터를 EEAR이 가리키는 주소에 쓴다. 쓰기가 완료되면 EEMWE가 클리어 된다.

 

EERE (EEPROM Read Enable) : 1로 세트해야 읽기를 할 수 있다.

 

 

 

 

 

 

 

 

과정 정리

 

쓰기 과정 :

1. EEWE가 0이 될때까지 기다린다.

2. EEPROM주소를 EEAR에 저장한다

3. EEPROM 데이터를 EEDR에 저장한다.

4. EEMWE는 1로 EEWE는 0으로 설정한다.

5. 4클럭 내에 EEWE를 1로 설정한다. 그리고 쓰기가 수행된다.

 

 

읽기 과정 :

1. EEWE가 0이 될때까지 기다린다.

2. 읽을 EEPROM주소를 EEAR에 저장한다.

3. EERE를 1로 설정한다.

4. EEPROM 데이터를 EEDR로 부터 읽는다.

[복두출판사]AVR ATmega128 프로그래밍 응용실습:ED-4513 마이크로프로세서 콤보 IT를 이용한, 복두출판사
반응형