Wiz830 모듈 관련해서 문의드립니다

#1

wiz830 모듈 관련해서 문의드립니다.

현재 DHCP 방식으로 시스템 구성이 되어 있습니다.

  1. 데이터 수신 이상
    wiznet 에서 제공하는 loopback test program 프로그램을 사용할 경우 송수신이 정상적으로 이루어 집니다.
    그런데, 다른 통신 프로그램을 사용할 경우 프레임이 한번에 수신되고 있습니다.
    ex) Master frame 1 송신, frame 2 송신, frame 3 송신…
    이럴경우 1,2,3 frame가 한번에 수신됩니다. 특별한 이유가 있을까요?

  2. 공유기에서 IP할당문제
    일반적으로 공유기에서 IP를 할당한 경우 IP리스트에 표시되는 걸로 알고 있습니다.
    그런데, wiz830 모듈로 접속한 경우 IP할당 로그는 표시되나, IP리스트에는 나오지 않습니다.
    이유가 있을까요?

  3. DNS 설정
    wiznet 홈페이지의 내용에 보면
    "
    특히 main.c 부분의 xxx.xxx.xxx.xxx에 DNS IP를 설정하면 됩니다.
    // Set DNS server IP address
    dns_server_ip = htonl(inet_addr((u_char*) “xxx.xxx.xxx.xxx” ));

"

라고 되어 있습니다.

프로그램을 정확히 이해하지 못하겠습니다.

고정 IP를 사용 할 경우에만 사용하는 건가요?

유동 IP를 사용할 경우 IP 할당 후에 DNS 관련 부분을 따로 실행해야 하는 건가요?

내부에 DNS register 가 없는 거 같은데, 예제 프로그램을 수행하면 자동으로 설정되는 것인가요?

답변 부탁드립니다.

#2

이부분이 정확히 무엇을 말하는 것인지 이해가 잘 되지 않습니다.
Packet을 1,2,3개를 보낸다는 것인지, 아님 사용자가 정의한 Frame을 1,2,3개 보낸다는 것인지 잘모르겠습니다만,
WIZ830의 수신은 전적으로 Host가 어떻게 처리하느냐에 달려 있습니다.
Packet이든 Frame이든 상관없이 1을 보내고 1을 수신하는 동안 2를 보내고, 2를 수신하는 동안 3을 보낼 수 있습니다.
하지만, 1을 보내고, 미처 1을 수신처리하지 못했고, 2를 보내고 역시 1를 수신처리하지 못했고, 역시 3을 보내는 동안 1을 처리하지 못했다면, 수신이 가능한 시점에서 1,2,3 모든 수신을 한꺼번에 처리될 수 있습니다.
즉, Host의 수신처리 성능이 상대방의 전송처리 능력보다 떨어질 경우 한꺼번에 그동안 밀려 있던 수신데이타를 한꺼번에 읽어들일 수 있습니다.

특별한 이유는 없어 보입니다만, 공유기 특성에 따라 처리를 어떻게 하는지 알수가 없습니다.
가장 확실한 방법은 IP를 표시해주는 PC와 WIZ830의 DHCP 처리 메시지를 비교 분석해서 공유기의 특성을 맞추어 줄수는 있습니다만, 메시지의 차이가 없는데도 그런 현상이 나타나는 것이라면, 공유기 문제로 판단됩니다.
우선 이해가 되지 않는 것은 IP를 받아 왔는데도 IP list가 나타나지 않는다는 것이 이해가 되지 않네요.
혹시 다른 DHCP server로부터 IP를 할당받는 것이 아닌지 확인 바랍니다.

DNS는 응용 example입니다. WIZ830자체적으로 DNS를 처리하지 않습니다.
DNS 서버가 Real Static IP를 사용하는 관계로, WIZ830의 Network 설정은 DNS 연동을 위해 Internet 접속 가능한 Network 정보로 설정하셔야 합니다.

#3

빠른 답변 감사드립니다.

  1. 데이터 수신 에러문제
    Wireshark로 분석해 본 결과 Host에서 데이터 전송후 Slave의 응답을 받지 못하여 Retransmission 이 발생되는 거 같습니다. 또한, Retransmission 진행 중 Host에서 새로운 데이터를 전송하고, 다음 전송 시 이전에 전송되지 못한 데이터와 함께 전송 되는거 같습니다.
    이 경우 말씀하신 대로 양쪽 기기간 데이터 처리 능력에 의해 에러가 발생되는걸로 생각됩니다.
    이럴경우 해결 방법이 있는지요?

2.공유기 문제
회사내에 공유기는 하나만 사용되고 있습니다. 회사내 모든 PC등 네트웍 장비들의 리스트는 다 표시되므로 공유기 문제는 아닌것으로 생각됩니다. 공유기 특성에 따라 달라 질수 있다고 하시면, 공유기에 따라 Wiz830 모듈에 대해 표시되지 않을 수 있다는 말씀이신가요? 이미 말씀드렸듯이, 공유기에서 IP를 할당 했다는 정보는 표시되는데 말입니다.
3. DNS 설정
간단히 이해하면 DNS 주소는 설정하지 않아도 된다는 말씀인가요?

추가로 질문드립니다.
저희가 테스트 하는 호스트 프로그램은 특정 프로토콜을 시험하는 상용제품으로 PC와 PC 간에는 이상없이 동작합니다. 처리 능력의 차이라고 하시면 저희가 외국의 특정 Host 프로그램과 접속 시 에러가 발생 할수도 있다는 말씀인가요?

#4

Slave가 WIZ830인가요? 재전송을 하는 주체는 WIZ830이 아닌 Host를 말씀하시게 맞습니까?
망 지연으로 한꺼번에 패킷을 수신할 수 있는 것은 에러가 아닙니다.
그리고, 앞서 답변드린 Host는 WIZ830에서 Data를 System memory로 Copy하는 같은 시스템의 MCU를 말씀드린것입니다.
약간의 오해가 있으신것 같아 다시 설명드리겠습니다.
상대방이 1,2,3 데이타를 WIZ830의 ACK 수신과 상관없이 WIZ830의 Windows Size보다 Data들을 보낼 수 있고, WIZ830은 이를 순차적으로 수신하나, 수신된 데이타를 가져가는 MCU의 성능에 따라 한꺼번에 수신된것으로 보일수 있다는 것입니다.
질문에 말씀하시는 에러가 정확히 무슨 문제인지 알려주세요. 패킷이 한꺼번에 수신되는 것은 에러가 아닙니다.

[quote]]
2.공유기 문제
회사내에 공유기는 하나만 사용되고 있습니다. 회사내 모든 PC등 네트웍 장비들의 리스트는 다 표시되므로 공유기 문제는 아닌것으로 생각됩니다. 공유기 특성에 따라 달라 질수 있다고 하시면, 공유기에 따라 Wiz830 모듈에 대해 표시되지 않을 수 있다는 말씀이신가요? 이미 말씀드렸듯이, 공유기에서 IP를 할당 했다는 정보는 표시되는데 말입니다.
[/quote]
좀더 정확한 분석을 위해서는 PC와 공유기 간 DHCP메시지와 WIZ830과 공유기간 DHCP메시지를 비교 분석이 필요합니다.
두 메시지 패킷을 WireShark로 Capture하여 보내주세요.

응용프로그램에서 DNS를 사용하지 않는다면, DNS code 자체를 없애도 무방합니다.
하지만, DHCP 연동으로 동작한다면 기본적으로 공유기가 dns서버 정보를 알려 줍니다.
이를 사용하고 사용하지 않고는 응용프로그램의 기능에 의해 결정되는 것인지라,
필요없다면 dns code를 적용할 필요는 없습니다.