WIZnet Developer Forum

W7500p i2c 통신포트 사용 샘플프로그램에 대해

안녕하세요?

제가 현재 W7500P를 이용한 제품 개발을 위해 프로그램 중 입니다.
위즈넷에서 제공해 주신 샘플프로그램을 참조하여 프로그램을 작성 중입니다.

이더넷통신, 타이머 인터럽트, PWM, IO포트 입출력 등과 같은 대부분의 경우 문제없이 잘 동작되지만
I2C통신은 잘 동작되지 않습니다.

제가 시도하고 있는 프로그램은 EEPROM(24LC256)을 I2C통신으로 연결하여 사용하는 프로그램입니다.

제가 궁금한 점은 아래와 같습니다.

(1) W7500P 헤더파일(w7500x.h)에 I2C통신과 관련된 레지스터 들만 정의 되어 있지 않은데(코멘트 처리되어 있음)
그 이유는 무었인가요?
제가 매뉴얼을 참조하여 헤더 파일에 I2C통신과 관련된 구조체 레지스터들을 추가하여 해 보았는데도
여전히 잘 동작되지 않습니다.
I2C 통신기능을 잘 구현하는 샘플프로그램이 있으면 제공해 주실 수 있습니까?

(2) 기존에 위즈넷에서 제공하는 I2C통신과 관련된 샘플프로그램(예를들면, I2C_EEPROM_24LC02B 폴더) 을 보면
매뉴얼에서 제공하는 I2C통신 관련 레지스터는 전혀 사용하지 않고 그냥 자체적으로 I2C통신 프로토콜을 구현하고 있는데
그 이유가 무었인가요? 그리고 이 프로그램에 약간의 문제가 있는것 같습니다.
이 프로그램을 사용해도 역시 동작을 하지 않습니다.

(3) W7500P I2C 통신포트가 총 2개인가요? 아니면 3개인가요? 제가 알기로는 총 3개인것으로 알고 있는데
매뉴얼에는 2개만 있는것 같네요.

제품 개발이 촉박해 빠른 답변 부탁드립니다.
감사합니다.

안녕하세요 :slight_smile:

현재 W7500P에서 지원하는 I2C는 GPIO로 control 하는 I2C 입니다.
그래서 GPIO library를 이용해서 사용하고 있습니다.
W7500P 자체적으로 들어가 있는 I2C는 일부 case에서 오동작이 발견되어 아예 사용하지 않게 했습니다.
그래서 우리가 예제로 올린 I2C example은 GPIO를 사용한 예입니다.
하지만, 다양한 센서 memory display로 정상동작을 확인했습니다.
뭔가 pin을 gpio로 사용하도록 세팅하지 않았던가, address 세팅이 잘못되어 있던가 할 것 같습니다.

원래는 I2C가 2개가 맞고 현재는 gpio를 이용하기 때문에 몇개든 사용하 실 수 있으십니다.

위에서 말씀 하신 I2C의 예제코드를 받고 싶습니다.
현재 w7500p로 디자인해서 개발 중인데, I2C을 이용한 eeprom의 R/W만 해결 되면
개발이 완료되는 상황입니다.
메일 주소 : pj1620@gmail.com

Copyright © 2017 WIZnet Co., Ltd. All Rights Reserved.