테스트 중 이상한 점이 있어서 문의드립니다

W5100디바이스 두개를 1:1로 Cross 케이블로 Mapping 해서 데이터를 UDP로 송수신하는 코드를 짜서 테스트 중인데 테스트가 잘 진행 중이다가
송신을 하였는데 아무리 기다려도 수신쪽으로 데이터가 들어오지 않는겁니다.(인터럽트 발생 안함, 수신데이터 사이즈 레지스터도 증가 안함)

그래서 자세히 여기 저기 검토를 해보니 TX 쪽 W5100 디바이스에서 Send_OK 인터럽트는 발생했는데 Data가 나가지 않는 것으로 확인 되었습니다.
Send_OK 인터럽트는 어떠한 case로 발생되는 것인지, 그리고 이러한 경우가 발생할 수 있는 것인지, 만약 발생하는게 맞다면, 어느정도로 빈번하게
발생하는지 통계같은게 있으신지… 답변을 부탁드립니다.

현제 제가 테스트 하기로는 소켓 송수신 버퍼 사이즈는 2K로 설정하고 1회당 데이터를 500바이트씩 전송하는 수신하는 간단한 테스트 코드이며,
롱런 테스트시 Success 108498 times, Fail 377 times의 빈도로 랜덤한 타이밍에 위와 같은 현상이 발생하고 있습니다. 그런데 한번 발생하면
연달아 발생(2~3, 대체로 2번 연달아 발생)하는 것 같습니다.

추가로 파악된 부분이 있어 추가 사항을 더 적어보자면 Send_OK 인터럽트는 발생했는데 Data가 나가지 않는 것으로 확인된 것이 P & N 핀을
스코프로 찍었을 때 아무런 신호가 실리지 않는 것을 보면 Link가 끊어지는 것이 아닌가 하는 생각이 듭니다.

읽어보시고 제 생각이 맞는것인지 아닌지, 그리고 위의 문제를 어떻게 해결할 방법이 있는지 답변 부탁드립니다.

안녕하세요 :slight_smile:

W5100의 Send_OK 인터럽트는 Data가 Tx 버퍼로 모두 보내지면 발생하는 인터럽트입니다.
지금 말씀하신 경우에는 링크가 끊겨있는 경우가 맞는것 같습니다.

W5100끼리 물렸을 때 내부 테스트 결과는 정상동작을 하고 있습니다.
문제가 정확히 무엇인지는 확인이 불가하나 PC랑 통신이 되는지 먼저 테스트 해보시기바랍니다.

감사합니다.

우선 답변 감사합니다.

답변에 대한 궁금점을 말씀 드리자면 제 글을 읽으셨다면 통신이 안 되는 상황이 아니라 간혈적으로 링크가 끊어져
데이터를 쏘았는데 수신단에서 수신하지 못하는 문제인데 W5100간에 하는 시험과 PC랑 통신이 되는 상황인지 테스트하라고
하심은 W5100간의 통신과 PC와의 통신이 차이가 있다는 말로 해석해도 되는겁니까? 아니시겠죠…

그리고 PC로 오랫동안 테스트를 하지 않았지만 일정 데이터를 보내고 받는 심플 테스트는 수행한 상태에서 위와 같이 w5100간
Long Term Test를 진행하다 데이터 미 수신 문제가 발생해서 문의 드린겁니다.
(W5100 간의 테스트는 크로스 케이블로 직접 연결도 해보고, Hub에 연결하여 간접적으로 연결도 해본 상태입니다.)

하드웨어 레이아웃 가이드를 보면 P & N 라인에 GND로 가드를 쳐서 노이즈를 막고 P & N 라인에 대한 규격도 있던데 꼭 지켜줘야 하는 것인가요?
그리고 P & N 바로 옆 pin에 1.8v out 핀이 있는데 이 핀의 패턴과 P & N 간에도 어떤 레이아웃 레퍼런스가 있는건가요?

그리고 포럼 게시판을 보면 link 문제로 몇몇 글들이 올라와 있는데 글 올리신 분들은 다 해결이 된 건가요? 궁금하네요 ㅠ_ㅠ
그리고 링크가 끊어지게 되는데 영향을 줄 만한 것들이 무엇이 있는지 알려주시기 바랍니다.
답변을 부탁드립니다…

안녕하세요 :slight_smile:

PC와 테스트 해보라는 말은 정상적인 이미 검증된 프로그램과 테스트를 해보라는 말입니다.

즉 W5100과 붙여 사용하는 MCU에 들어가있는 프로그램이 제대로 작성이 되었는지 검증이 안되니 Windows나 Linux와 붙여 테스트가 정상적으로 동작하는지 확인해달라는 말입니다.

오해의 소지가 있었네요 ^^

안녕하세요 위즈네트 입니다.

설명해 주신 상황으로 판단을 하면 간헐적으로 Link가 끊어져 해당 문제가 발생할 가능성이 높습니다.

해당증상이 발견될 때 W5100의 LINK LED 핀을 확인해보시길 바랍니다.

만약 간헐적으로 Link가 끊키는 현상이 맞다면 하드웨어 적인 결함입니다.

설계하신 회로 혹은 PCB설계에 대한 재검토를 하셔야 할것 같습니다.

그리고 P & N 라인의 대한 규격은 어느 정도의 마진은 있겠지만 지켜주는 것을 추천 합니다.

대부분의 Link가 불안한 현상들은 회로 나 아트웍의 오류로 발생하는 경우가 대부분입니다.

잘못된 부분을 수정하고 해결이 되는 상황이 많습니다.

혹시 회로나 아트웍 자료를 올려주신다면 검토가 가능합니다.

감사합니다.