이번에 WIZ850io을 사용하여 프로젝트를 진행하면서 궁금한 점이 있어서 이렇게 문의드립니다.
WIZ850io에 연결상태와 통신상태를 알려주는 LED(녹색, 노랑)가 있는데, 통신을 하는 과정에서 LINK LED(녹색)이 점멸되거나 LED가 꺼져버리는 현상이 나타나 이렇게 문의드립니다.
이런 현상이 간헐적으로 발생하여 네트워크의 문제인지, 칩의 문제인지… 어디를 체크해봐야할지 문의드립니다.
제가 확인한바로는 MCU에서 초기 구동시에 WIZ850io의 RESET 핀을 LOW로 만들어 준 상태에서 SPI통신을 하지 않아도 녹색LED에 불이 들어오는 것으로 보아서는MCU와 W5500사이의 통신과는 상관없이 정상적인 LINK가 연결되면 녹색불이 켜지는것 같은데, 어떤 상황에서 녹색이 꺼질수 있는지 알고 싶습니다.
테스트를 진행하는 과정에서 LINK LED, ACTIVE LED가 고정이 되어버리는 경우가 발생하여, WIZ850io의 RESET핀을 사용하여 리셋을 걸어주어도 W5500칩 자체가 동작을 하지 못하는것 같습니다. 이렇게 판단한 이유는 SPI 통신을 하게 되는데 Response가 전혀 들어오지 않아 MCU가 static uint8_t wizchip_rw(uint8_t byte) 함수에 계속 머물러 있거나, WIZ850io의 LINK LED가 점멸되고 PC에서 ping을 해주어도 전혀 연결이 되지 않습니다.
아래 동영상은 제가 임의로 상황을 재현해 본것입니다. 동영상을 보면 LINK LED가 반응하지 않는 것을 볼수 있습니다. 동영상
WIZ850io 모듈을 사용해서 SPI통신을 하는겁니다.
회로도는 일반적인 SPI 연결입니다.
잘 사용을 하다 한번씩 위에 말씀드린것 처럼 연결이 이상해서 왜 그럴까? 원인이 찾아보다가 저런 이상한 테스트를 하니 W5500이 비정상적인 동작을 하게 되어서 문의드리는 겁니다.
W5500의 ACT LED와 LINK LED는 Ethernet 연결이 되는 peer와 물리적으로 연결이 되면 점등합니다.
이는 OSI계층, 혹은 TCP 계층에서 표현되는 물리적인 네트워크 Layer 영역입니다.
LINK LED는 전원인가 후 RESET이 되지 않는이상 꺼지지 않습니다.
LED가 꺼지는 경우는 EMI라던지, ESD라던지 등의 영향으로 보이게 될 수 있습니다. 또한 주변의 환경상황이라던지,
WIZ850io와 연결되는 보드가 어떻게 구성되어 있는지 정확한 진단이 필요할 것으로 생각됩니다.
즉, 정확하게 어떤 테스트를 진행했더니, 어떤 비정상적인 동작을 하게 되었다는지… 등등의 정확한 정보가 필요합니다.
위 동영상의 문제로 모듈이 문제인듯하여 모듈을 교체하여 테트스하니 케이블을 끼웠다 뺐다를 반복하면 모듈이 LINK LED가 꺼지는 현상은 계속발생하지는 않습니다. 모듈이 불량인듯합니다. 이거 교환되나요??
그런데 모듈을 교체하여 이데넷 연결을 테스트하는 과정(TCP Client 모드로 동작)에서 이더넷 케이블을 빼서 다시 연결한다던지, IP 변경을 한다든지 하였을때, ACTIVE LED가 계속 켜져있는 현상이 발생하면 모듈이 RESET된것 같은 현상이 나타납니다. 그 경우에 케이블을 빼고 다시 연결하면 LINK LED에 켜지지 않습니다. 위즈넷에서 제공되는 소스를 사용하였습니다.
TCP server 소켓에 연결할 때 while문에서 계속 대기하는 현상(MCU가 다른 함수 호출이 안되는)이 있어 Retry Time과 Retry Count를 아래와 같이 줄여서 SOCK_CLOSED 상태에서 소켓 Open하고 있습니다
setRTR(3); setRCR(2);
초기 시스템이 부팅되어 정상적으로 TCP 서버와 연결이 이루어지면 통신이 잘되다 소켓이 닫히고 다시 연결되는 현상도 한번씩 발생하고 있습니다.
위즈넷에서 제공하는 소스에서 폴링방식이 아닌 인터럽트방식으로 구동되는 예제가 있다고 포럼에서 글을 읽은적이 있느데 보내주시면 프로젝트를 진행하는데 도움이 될것 같습니다.