Switching chip 연결시 Ping 안됨

Wiznet 850SW과 W5200 자료를 참조하고 포럼의 도움도 받아
MCU(STM32F103)-- W3150A+ --RTL8306SD H/W를 구성하여
SPI로 MCU-W3150A+ configuration은 성공햇습니다.
즉 TCP server로 동작하기위한 Network 설정은 잘되었습니다.
(IP, SubNet, Mac, Gateway의 read/write test OK)

그런데 utp cable을연결하고 ping test를 하면 접속이 안됩니다.
원인은 RTL8306SD 자체문제와 W3150a+ 와 RTL8306SD 간의 통신문제로 보입니다.

w3150a+와 Switching chip의 H/W 구성은 Wiz850SW과 동일합니다.
전원을 공급하면 RTL8306SD에 연결된 RJ45 jack에 LED가 깜박입니다.
그리고 RJ45 jack Led가 전부 OFF 입니다.

다음 w3150a+ 와 RTL8306SD 간의 TXD[0:3]을 체크하기 위해
data_buf에 데이타를 넣고 send(s, data_buf, 50);
명령을 loop 돌려서 스코프로 찍어보면 모두 Low 이고
이상하게도 TXEN 또한 LOW 입니다. (이때 MCU-W3150A 간 SPI 신호에는 전송되는 신호가 보입니다.)
이방법이 맞는지요?

W3150a+ 와 외부 device 와 MII 이용 동작여부를 확인할 수 있는 방법을
있으면 알려주시길 바랍니다.

TXC와 RXC에 25MHz clock인 Feed 되는지 확인 부탁드립니다.

RTL8306SD 로부터 W3150A+ 로 25MHz 가 안나옵니다.

RTL8306SD의 data sheet에 따라(또한 Wiz850SW 도면과 같이)
Mode를 [00011]로 해서 RTL8306SD의 2pin을 Output으로 했고요

Switch에서 clock을 나오지 않는다면,
W3150A+ 역시 동작할 수 없습니다.
Mode 변경으로 out으로 설정하셨다고 하셨는데, 해당 핀에서 clock이 나오지 않는다면 설정이 잘못되었거나 다른 문제가 있는 것 같습니다.


예 이제 동작을 합니다.
스위칭 chip 납땜시 온도의 영향으로 문제가 발생했습니다.

Clock도 나오고 switching 동작도 잘합니다.
pc에서 다른 pc나 네트워에 연결된 다른 장비의 ping시 이상없이 동작하나
여전히 w3150a+에 설정한 Network configuration으로 ping이 안됩니다.
loopback을 돌려도 마찬가지 입니다.
MCU → W3150A+ 로 Network config는 3150a+ 의 set/get 함수를 통해
설정값을 확인했습니다.

확인할 방법이 없는지요?

참고로 저희는 두개의 접속단자가 필요해서
RJ45 jack을 두개만 사용했습니다.(port0,1)
w3150a+와 switching의 MII 연결은 port4를 이용하는 것으로 되어있는데
데이타 신호버스는 내부적으로 연결되어 있는 것이 아닌가요

ping test 결과는 그림과 같습니다.

W3150A+의 용도가 정확히 어떻게 되는지 궁금합니다.
단순히 단말이라면, 공유기와 바로 연결하면 되는데,
Switch칩을 이용하는 이유를 모르겠네요.
Network가 정확히 어떻게 구성되는지 이해가 잘 되지 않습니다.
자세한 설명 부탁드립니다.

저희 제품을 여러개 설치해서 인터넷망으로 연결하려고 합니다.(따로 분배기를 사용하지 않기 위해)
그리고 저희 제품 각각은 TCP server로 동작하고 있는 상태에서 Client가 각 server IP 로 접속,
필요한 정보를 받기위한 구조입니다.
그래서 multi port를 가진 Switching을 적용한 Wiz850sw module 을 고려한 것입니다.
기본구성은 하기와 같습니다.
client <======> DEV_1(ip_1) <–> DEV_2(ip_2) <–>DEV_3(ip_3) <—> DEV_n(ip_n)

W3150a+ 에 1개의 PHY가 결합된 NM7010B+ 를 이용하면 ping 이 됩니다.

Daisy Chain 방식나 Ring 방식으로 구현을 원하시는 것입니까?

WIZnet chip은 기본적으로 앞서 말씀드린 방식이 지원되지 않습니다.
단 Swtiching 칩을 사용하여 구성할 경우 가능한 방식입니다. swtich 칩마다 구성이나 연결이 다를 수 있으며, switching 방법이 상이할 수 있습니다. 중요한 것은 WIZnet chip은 단말기능(Terminal 기능만을 수행)만 지원하며, 자신의 패킷이 아닌 경우 전부 무시합니다. 따라서 스위치 칩에 대한 switching 경로가 제대로 작동하는지 확인이 필요합니다.
하드웨어적인 문제가 없다면, switching 이 제대로 이루어지지 않는 원인을 찾아야 합니다.
WIZnet에 문의하는 것보단 Switching 칩 업체에 문의하는 것이 좀더 빠른 해결을 찾을 수 있을 거라 판단됩니다.
별 도움이 못드려서 죄송합니다.

감사합니다.

답변감사합니다.
H/W 적인 것은 확인을 할 수 있는 것은 Wiz850sw 회로도와 module로 하였는데
혹시 s/w적인 문제로 발생하는지 알 고 싶어
Network config에 관려된 값들은 set/get을 통해 확인하였습니다.
S/W 검증을 위해 loopback_tcps(0 , 5000) 만을 loop 실행해보면
SOCK_CLOSED: → SOCK_INIT: 만 하고 getSn_SR(s) 이 실행안됩니다.
즉 SOCK_ESTABLISHED 이 되질 않습니다.

socket 이 제대로 setting 이 되는지를 알 수 있는 방법이 없을까요?

W3150A+ network register값이 제대로 읽힌다면 W3150A+의 문제는 아닌 것으로 판단됩니다.
사용하시는 스위치 칩 설정을 확인해보세요.

스위칭칩 쪽 관련 문제였습니다.
감사합니다.