[WizFi250] 전송 속도 문의합니다.

WizFi250 두개를 사용하여 한개는 soft AP를 만들고, 다른 한개로 접속하여 TCP connect하여 통신을 하고 있습니다.
connect후에는 data mode로 통신합니다.

921600 baud로 접속하여 통신하니 실질적으로 300Kbit/s 통신 속도가 나옵니다.
그 이상하면 data손실이 발생합니다.

홈페이지에 보니 아래처럼 command mode가 속도가 더 빠르다고 나와있습니다.
data mode가 더 빠를것 같은데, 어쨋든 그렇습니다.

Baud rate Data Mode Command Mode Flow Control
Time Speed(bit/s) Time Speed(bit/s)
3686400 24s 341K 5s 1.63M H/W
1843200 25s 327K 6s 1.36M H/W
921600 26s 315K 12s 682K H/W
115200 1m 35s 86K 1m 36s 85K H/W

command mode 로 전송하려면 “AT+SSEND” 를 사용해서 보내야 하는데,
문법은 아래와 같습니다.
AT+SSEND=,,,,

위 커맨드의 문법에서 실제 data는 어디에 위치하는것인가요?
그리고 soft AP로 두 모듈이 통신하려고 하는데, 이 command mode를 사용하면 data mode보다 더 빠른 속도를 낼수 있는지요?

안녕하세요

  • UART baud는 H/W flow control 설정 여부를 확인해주세요.

  • Command mode 데이터 전송 방법

  • AT+SSEND=0,15 → 0번 cid로 15 byte 전송을 의미합니다.
  • 명령을 입력하면, [0,15] 메세지가 출력됩니다.
  • 일정 시간안에 15byte를 Serial로 입력하게 되면 [OK] 응답을 출력합니다.
  • timeout 시간동안 15byte가 입력되지 않으면 [ERROR] 응답을 출력합니다.
  • Command mode가 Data mode보다 빠른 이유
  • Network 알고르즘 중 패킷의 오버헤드를 줄이기 위한 알고리즘이 있습니다. (Nagle Algorithm)
  • 위 알고리즘에 의해 한 패킷에 최대한 데이터를 포함 시키기 위해 약간의 대기시간이 존재합니다.
  • Command mode는 위에서 설명한 약간의 대기시간 없이, 명령 입력 시 바로 데이터를 전송하게 됩니다.
  • 이러한 차이로 Command mode가 속도는 더 빠릅니다.

그러면 command mode에서 수신은 어떻게 받게 되나요?

제품 wiki 페이지를 보시면 예제들이 있습니다.

http://wizwiki.net/wiki/doku.php?id=products:wizfi250:wizfi250pg:examples-data_communication#method_of_setting_tcp_server_and_exchanging_data_in_command_mode

위 링크에서 처럼. 아래 포맷으로 데이터 송/수신을 확인가능합니다.

AT+SSEND=0,5 ( Sending data to a Socket with CID 0 )
Hello <= When serial data is 5byte, WizFi250 send this data to peer system
[OK]

{0,192.168.12.23,5000,11}Hi WizFi250 ( Receiving data from pear system )

답변 감사드립니다.

그런데 속도를 높이기 위해 baud를 1843200으로 설정후 putty 프로그램으로 통신하니 통신이 제대로 되지 않는군요
PC에서 이 속도를 제대로 지원못하는것이 아닌가 생각되는데, 통신이 불능상태에서 모듈을 reset시키거나 속도를 변경할수 있는 방법이 있는지요?

모듈을 factory default 시 기본 baud인 115200으로 설정됩니다.

factory default 방법은, AT명령으로 AT+FDEF=FR을 사용하시는 방법과 Function GPIO를 3회 trigger 하시는 방법이 있습니다.
EVB를 사용하시는 경우에는 Function 버튼을 3회 누르시면 factory default 됩니다.