[W5300] UDP Rx 문제점 관련 문의 드립니다.

[W5300]
안녕하세요. W5300 UDP Mode로 사용 중 문제가 있어서 지원 요청 드립니다.
연결하여 사용하는 CPU는 STM32F7 Series 이며, FMC로 W5300과 연결 되어 있습니다.

UDP Mode로만 사용하고 있으며, Socket은 0~2번까지 3개를 사용하고 있습니다.

요청드리고자 하는 내용은)
W5300 초기화 이후, Rx를 수신하지 못하는 문제가 빈번히 발생하고 있습니다.
전원을 Off → On하면, 50% 정도는 Rx를 수신하지 못하며, 그때의 상황은 /RXLED가 On 되어 있습니다.

Sn_RX_RSR 및 Sn_RX_RSR2 레지스터의 값은 0 입니다.

전원 Off → On 이후 위와 같은 문제가 없으면, Rx/Tx 정상동작합니다.
위와 같은 문제 발생시에는 Rx/Tx 모두 안됩니다.
위 문제점 상황에서 W5300 S/W Reset를 해도 풀리지가 않습니다.

위 문제에 대한 조언 부탁 드립니다.
감사합니다.

안녕하세요.

혹시 개별적으로 테스트는 진행해보셨나요??
먼저 TCP로도 구현해서 테스트해보시는 것을 추천드립니다.
해당 부분은 Ethernet 라인에 사용하는 HUB에서 데이터를 막는 것일 수도 있습니다.

하드웨어 검토 부터 펌웨어 검토까지 필요한 부분인 것 같습니다.

감사합니다.

안녕하세요. 우선 빠른 회신에 감사 드립니다.

현재까지 Test한 내용을 좀 더 자세히 설명 드리겠습니다. 검토 부탁 드립니다.

개발 진행시 문제 되었던 부분)

  1. STM32F765와 W5300의 타이밍 문제 있음.
    → CPU의 FMC timing과 W5300의 Read/Write timing이 잘 맞지 않음.
    → 이 부분은 완벽하게 맞지는 않지만, CPU Timing 조정으로 어느정도 Clear 됨
  2. FIFO Write 문제
    → Data Tx를 하기 위하여 연속으로 FIFO에 Write할 경우 10 byte 이상 보내면 Data 깨지는 현상 발생함.
    → FIFO에 Write시 500ns 이상 Delay간격을 주어야 정상적으로 Data 처리됨
    → W5300 Data sheet에는 /CS Next Assert Time 28ns 이상으로 되어 있음.

우선 개발 진행 중 크게 문제 되었던 2가지 부분은 위와 같이 처리하여 Test중에 있습니다.
현재 나타나는 문제에 대해서 설명 드리면)
Power Off->On 시 대략 50%정도 확률로 Rx Data를 받지 못하는 상황이 발생합니다.
이 증상은 Power Off->On 및 LAN Cable을 Off->On해도 동일합니다.

이 상황에서의 증상은 RXLED가 항상 ON 되어 있습니다. Tx를 내보내도 나가지 않습니다.
정상인 상태와 비정상 상태의 W5300 내부 레지스터를 모두 Read하여 비교해 보아도
다른 부분이 보이지 않습니다.
또한 W5300 S/W RESET을 해도 위 증상이 풀리지 않습니다.

Power Off->On시에는 초기화 하고 하는 부분들에서 문제가 발생하여 꼬일수 있다고 생각할 수도 있지만
Lan Cable을 제거 → 삽입 했을 경우에도 동일한 확률로 문제가 발생하고 있습니다.

위의 내용 검토 부탁 드리며, 제가 추가적으로 확인해 봐야 하는 부분이나 문제 해결을 위해서
더 필요하신 정보가 있으시면 연락 부탁 드립니다.
감사합니다.

W5300의 Host interface는 Direct/Indirect address mode와 16/8 bit data bus width 따라 결정됩니다.
하드웨어적으로도 제대로 연결 되어있는지 확인 부탁드립니다.

CPU와의 타이밍은 데이터시트에 명시 되어있는 시간만큼 유지해주셔야합니다.
예를 들어 Read timing 경우
tDATAs가 42ns를 유지한 후에 정상적인 데이터를 읽게 됩니다.
image
image

UDP 통신보다는 Register의 read/Write 가 제대로 동작하는지 확인 후 UDP통신으로 넘어가는게 낫을것 같습니다.