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) Register 분석' 카테고리의 다른 글
[Atmega128] 10. Reset과 Watchdog 타이머 (0) | 2019.08.06 |
---|---|
[Atmega128] 9. I2C 통신 (Inter-Integrated Circuit) (2) | 2019.08.05 |
[Atmega128] 8. UASRT 통신 (Universal Synchronus Receiver Transmit) (5) | 2019.08.05 |
[Atmega128] 7. SPI 통신 (Serial Peripheral Interface Bus) (0) | 2019.08.05 |
[Atmega128] 6. 아날로그 변환기 ADC (Analog to Digital Converter) (0) | 2019.08.05 |