W5100 접속문제 - PING은 잘됩니다.

W5100을 사용하여 하드웨어 구성 후 펌웨어를 실행하는데

PING 응답은 이상없이 잘됩니다. - 세팅 완료

그런데 클라이언트에서 접속이 되질 않습니다.

대략적으로 메모리를 읽어본 결과

getSn_SR에 해당하는 메모리번지 값이 업데이트가 되질 않습니다.

무슨 문제일까요?

W5100을 TCP 서버로 사용하고 계신건가요?
우선 socket을 오픈하여 SR이 Listen 상태가 된것을 먼저 확인해보시고
이후 Establish 상태로 넘어가지 않는거라면,
IP와 port를 확인해보시기 바랍니다.

우선 어제 저녁까지 테스트 중 보드가 사망하였습니다 ㅠㅠ

보드를 신규 제작하는 대로 다시 테스트를 진행할 것입니다.

서버로 사용하고 있으며 클라이언트(PC)에서 접속하고자 합니다.

SR 레지스터가 항상 0x00(CLOSED) 에서 변하지 않습니다.

같은 조건에서 기존에 사용하던 보드에서 테스트시에는 0x14(LISTEN)로 잘 변하였습니다.

(기존 보드는 TMS320F28335 )

특이한 것이 이 번지에 값을 써보면 값이 써진다는 것입니다.

꼭 메모리 같이요

참고사항으로 사용하는 MCU는 TMS320F28379D이며

EMIF 2 CS3 - 0x300000 를 사용합니다.

MCU 설정이 잘못된 것일까요?

W5100은 2009년도 부터 사용중입니다.

Sn_SR의 레지스터는 Read only 이기 때문에 값을 쓸수 없습니다.
W5100와 MCU를 연결하는 인터페이스는 어떤걸 쓰시나요?

기존에 사용하던 보드와 같은 인터페이스를 사용하시는 건가요?

보드 신규 제작 후 Sn_SR의 레지스터의 데이터는 0x00으로 고정된 값이며,

써지지는 않는 상황입니다.

현재 인터페이스 입니다.

이전 인터페이스입니다.

현재는 TMS320F28379D 이며

이전은 TMS320F28335 입니다.

현재 메모리 상황입니다.

데이터 인터페이스가 16비트라 16비트로 캡쳐하였습니다. (5100은 8비트이지만…)

우선
PC에서
방화벽이나 보안툴이 켜져있으면 꺼주시고
VMware같은경우에도 꺼주시기 바랍니다.

Wireshark로 패킷을 캡쳐해보셔서 확인해보시는것도 도움이 될 수있습니다.

보드 신규로 제작 하셨다고 말씀하셨는데, 기존에 동작하던 보드와 다른 부분이 있나요?

이전에도 말씀 드린것 처럼 Sn_SR의 값은 Only read 만 가능한 레지스터이기때문에 값을 쓸수 없습니다.

W5100으로 Ping이 된다는건, interface 쪽에는 문제가 없어 레지스터에 network 정보들이 정확히 저장되었다고 생각됩니다. PHY Link led 가 켜진 후 W5100주소로 Ping을 보낸것이 맞는지 확인부탁드립니다.

또한 TCP Server로 W5100을 사용한다면, Socket Open후에는 설정해놓으신 Port로 TCP Client의 접속을 기다리게 됩니다. 이때 Sn_SR은 Listen상태로 변경됩니다.
Sn_SR이 0x00이라면, Socket Open이 제대로 되지 않았거나 TCP Client로 동작하는 것이 아닌런지…

회로도가 크게 변경되었다면,메일을 보내주시면 하드웨어 담당자분께서 확인해주실수 있습니다.

자삽 불량이었습니다. ㅠㅠ

관심 가져주셔서 감사합니다.

잘 해결되었다니
다행입니다.