안녕하세요. 취업한 공대누나입니다.
오늘은 EEPROM에 대해 알아보도록 하겠습니다.
개발 시에 제가 많이 사용한 건 아니지만 동료가 사용하는 걸 보고 저도 공부 좀 해봐야지
생각이 들어서 정리해 보게 되었습니다.
그럼 시작해보겠습니다.
1, Memory 종류
우선 Memory는 데이터를 읽거나 쓰기를 위한 저장 공간입니다.
크게 ROM(롬)과 RAM(램)으로 구분할 수 있습니다.
1) RAM
Random Access Memory의 약자로 읽기도 가능하고, 데이터 저장도 가능합니다.
하지만 전원이 끊어지면 기억되어 있는 데이터들이 소멸됩니다.
2) ROM
Read Only Memory의 약자로 읽기만 가능한 메모리입니다.
전원이 끊어져도 기록된 데이터들이 소멸되지 않는 비휘발성 메모리입니다.
오늘 우리가 볼 EEPROM은 ROM 안에 포함되게 됩니다.
하지만 위의 특징과는 조금 다릅니다.
- PROM (Programmable ROM)
저장된 데이터를 1회 수정할 수 있습니다.
내부에 퓨즈가 연결되어 있으며, 데이터를 기록할 경우 퓨즈가 끊어지게 됩니다.
따라서 수정이 불가능합니다.
EEPROM (Electrically Erasable PROM)
전기적인 기능을 통해 저장된 데이터를 지울 수 있는 ROM입니다.
정격전압 보다 높은 고전압을 통해 데이터를 지울 수 있으며, 1바이트 씩 데이터를 지우기 때문에 속도가 느린 편입니다.
따라서 실시간으로 사용하는 메모리라기 보다는 중요한 데이터들을 백업해 놓는 형태로 사용하는 것이 적합합니다.
주로 MCU 내부 비휘발성 메모리로 크기가 작은 편입니다.
EEPROM 그대로 이이피롬이라고 읽기도 하고 이투피롬이라고 읽기도 합니다.
2. EEPROM 읽기와 쓰기
Mouser에서 EEPROM을 검색해서 하나의 예시로 보도록 하겠습니다.
이미지 출처 : Mouser
AT28C010E라는 IC입니다. (용량은 1MB입니다.)
핀맵은 아래와 같이 구성되어 있습니다.
Pin의 이름을 하나씩 보도록 하겠습니다.
A0-A16 : Address
CE : Chip Enable -> 칩 활성화
OE : Output Enable -> 출력 활성화
WE : Write Enable
I/O0 - I/O7 : Data Inputs/Outputs
NC와 DC는 각각 No connect와 Don't connect입니다.
읽기와 쓰기 방법은 각 칩의 데이터시트를 참고해야 합니다.
1) Read
데이터 시트에 나와있듰이 CE와 OE는 모두 Active Low로 동작하는 Pin입니다.
즉, 0일 때 활성화가 되는 핀입니다.
그래서 처음에는 High 상태로 시작을 합니다.
읽을 주소 값을 입력해주고
CE에 0을 입력하면 EEPROM이 활성화가 되고, OE에 0을 입력하면 OUTPUT pin이 활성화됩니다.
이렇게 설정만 하게 되면 DATA핀에서 값을 읽어올 수 있습니다.
2) Write
CE 또는 WE가 0으로 되고(Active low) OE가 High 일 때 Write Cycle이 시작됩니다.
데이터 시트의 윗 부분에 설명대로 말씀을 드리면
주소는 CE 또는 WE의 falling edge중 마지막에 발생하는 지점에서 래치됩니다.
데이터는 CE 또는 WE의 첫번째 rising edge에서 래치가되게 됩니다.
쓰기가 끝날 때까지 최소 시간을 유지해주면 해당 Address에 Data가 Write된 것입니다.
다음에는 컨트롤러를 가지고 직접 메모리에 읽고 써보는 시간을 가져보면 좋겠습니다.
틀린 점이 있다면 언제나 지적해주세요.
감사합니다.
'전자 공학 > 기타' 카테고리의 다른 글
I2C 통신(TWI)이란? (0) | 2020.12.24 |
---|---|
CMOS센서 CCD센서 (0) | 2020.12.23 |
LAN이란? Ethernet이란? (0) | 2020.12.21 |
CE 인증이란? (0) | 2020.12.19 |
블루투스 통신이란?(2) (0) | 2020.12.16 |