페이지

글목록

2015년 12월 27일 일요일

[PSOC] PSOC4 I2C I/F with AT24C04(EEPROM) - 결선 (1/3)

PSOC4로 AT24C04 와 I2C 통신으로 Read/Write 테스트를 해봤습니다.

PSOC4 장치는 CY8CKIT-042 개발 키트를 사용하였고,
AT24C04 는 얼마 전에 엘레파츠에서 AT24CXX 보드를 사서 붙였습니다.

[AT24Cxx BOARD 그림]

AT24C04 는 Serial EEPROM으로, I2C 통신시 최대 400KHz 속도까지 나옵니다.
메모리는 4KBIT(512x8)이고 Page 단위는 16 Byte입니다.


AT24 시리즈는 파트넘버마다 Page 와 핀의 기능이 서로 조금씩 달라집니다.
AT24C01,02 는 Page size 가 8-Byte 이고, 04,08,16 은 16-Byte 입니다.

또한 파트마다 H/W 핀 기능 중 Device Address Select 핀인 A2,A1,A0이 달라집니다.
01,02 는 A2,A1,A0 모두 사용할 수 있지만,
04 는 A2,A1 만 사용 가능하고 남는(안쓰는) A0는 연결하지 않거나 GND에 연결합니다.
08 은 A2 만 사용 가능하고, 남는(안쓰는) A1,A0는 연결하지 않거나 GND에 연결합니다.
16은 모두 안쓰고, 남는(안쓰는) A2,A1,A0는 연결하지 않거나 GND에 연결합니다.

WP 핀은 Active High 로 High 일 때, Write Protect 됩니다.


AT24Cxx 의 주소는 2가지로 구성되어 있습니다.

1. Device Address

I2C 통신시 장치를 구분해 주는 ID와 같은 역할을 합니다. 이 주소가 틀리면 AT24Cxx IC는 응답을 안합니다.
이 주소는 H/W Address Select 핀을 반영하는데, 위의 Address Select 핀 설명에서 처럼 A2,A1,A0 을 High/Low에 연결해서 주소를 바꿀 수가 있습니다.
04 부터는 Px 가 있어서 1 Word address(0x00~0xFF)를 넘어가는 Address를 바꾸는데 사용합니다. Word Address 는 8-bit로 256개(0x00~0xFF) 밖에 내부 메모리 주소를 Access 할 수 없으므로 용량이 커지면서 Px Address가 생겨난 것으로 봅니다.

2. Word Address
이 주소는 내부 8bit(1 Byte) 데이터 단위로 순차적으로 구성되어 있습니다. 
8bit 로 되어 있고, 따라서 0~255(256개) 로 Address를 선택 할 수 있습니다.
따라서 4K(512-Byte=256x2 Byte, @24C04) 부터는 Device Address의 Px Address를 이용해서 주소를 확장할 수 있습니다.


AT24CXX IC Datasheet 링크


[개발키트와의 결선도]


PSOC4 보드와의 결선도인데, I2C 로 AT24C04와 연결하였고 Read/Write 내용을 간단하게 테스트해 보기 위해서 UART를 추가로 연결해서 터미날(Tera COM 이나 Hyper Terminal)을 이용해서 PC에서 눈으로 확인했습니다.

다음은 PSOC4에 프로그램하기 위해 PSOC Creator 설정입니다.
1. TopDesign.cysch

I2C component의 설정은 이번에 처음 다뤄서 내용을 같이 올립니다.
PSOC4에 기본으로(UDB가 아닌) 제공되는 SCB(Serial Communication Block)을 사용한 I2C 콤포넌트인데, Configuration을 I2C로 선택하고, I2C Basic TAB에서 Mode는 Master , 속도는 100Kbps 를 선택했습니다.

UART는 예전에 다뤘으니 세부 사항은 다루지 않겠습니다.

2. PSOC4 핀 결선
cwdrw 파일을 psoc Creator 에서 수정해서 핀들을 적절하게 설정하였습니다.

댓글 없음:

댓글 쓰기