소개
AT24C256 EEPROM 메모리 모듈입니다. 데이터를 읽고 쓸수 있으며 전원이 끊어져도 기록된 데이터가 소멸되지 않는 비 휘발성 메모리입니다. I2C 인터페이스를 사용합니다.
AT24Cxxx EEPROM의 메모리는 64바이트 크기를 갖는 페이지 단위로 구성되어 있으며 메모리 용량은 아래와 같습니다.
• AT24C128 : 256 페이지 x 64 바이트 = 16384 바이트
• AT24C256 : 512 페이지 x 64 바이트 = 32768 바이트
• AT24C128 : 256 페이지 x 64 바이트 = 16384 바이트
• AT24C256 : 512 페이지 x 64 바이트 = 32768 바이트
사양
- Supply Voltage : 5V
- Current : < 10mA
- Interface: I2C / TWI
- EEPROM : AT24C256
명령
INIT
모듈을 초기화합니다.
READ_DATA
시작주소에서 크기만큼 데이터를 읽어옵니다. 읽는 도중 페이지의 한계에 도달하면 다음 페이지를 연속해서 읽습니다. 다만, 메모리 주소 한계에 도달하면 첫 페이지의 시작(0)으로 돌아가서 계속 읽습니다.
항목 | 타입 | 설명 |
---|---|---|
주소 | WRITE | EEPROM에서 읽을 시작 주소를 입력합니다. (0~32767) |
읽을 크기 | WRITE | 읽을 바이트 크기입니다. |
데이터 | READ | EEPROM에서 읽어온 데이터입니다. |
WRITE_DATA
시작주소에서 데이터를 씁니다. 데이터를 쓰는 도중 페이지의 끝에 도달하면 해당 페이지의 처음으로 돌아가 기존 데이터를 덮어 씁니다.
항목 | 타입 | 설명 |
---|---|---|
주소 | WRITE | 데이터를 쓸 EEPROM의 주소를 입력합니다. (0~32767) |
데이터 | WRITE | EEPROM에 쓸 바이트 배열 데이터를 입력합니다. |
예제
부품
부품 | 갯수 |
---|---|
AT24C256 | 1 |
연결
AT24C256 | GPIO |
---|---|
VCC | 5V |
GND | GND |
SCL ¹ | 3 (I2C1 SCL) |
SDA ¹ | 2 (I2C1 SDA) |
¹ 하드웨어 I2C 핀 (GPIO 2,3)에 연결합니다. 소프트웨어 (bit-bang) 인터페이스 사용시 임의의 핀을 사용할 수도 있습니다.
I2C 주소
A0, A1, A2 점퍼를 변경하여 I2C 주소를 변경할 수 있습니다. (모듈 제조사마다 다를 수 있음)
A0 | A1 | A2 | I2C주소 |
---|---|---|---|
ON | ON | ON | 0x50 |
OFF | ON | ON | 0x51 |
ON | OFF | ON | 0x52 |
OFF | OFF | ON | 0x53 |
ON | ON | OFF | 0x54 |
OFF | ON | OFF | 0x55 |
ON | OFF | OFF | 0x56 |
OFF | OFF | OFF | 0x57 |
프로젝트