W5300 주기통신에 관한 질문입니다.

안녕하세요? W5300 담당자님,

예전에 W5300 사용관련해서 문의를 드렸던 적이 있습니다.

W5300을 사용하여 MCU(TMS320F28346)에서 이더넷 UDP를 이용하여
주기통신을 하려하는데, 속도나 성능 측면에서 문제가 없겠냐고요.

그 때의 답변은 문제가 없다고 하셨는데요, 제가 저희 프로젝트 개발 관련해서
실제 PBA의 송수신 되는 곳을 오실로스코프로 측정한 결과
1Hz,5Hz,10Hz는 정상이었으나, 15Hz(약67ms)부터 약간의 Delay가 생기기 시작했습니다.

혹시 개발경험상 이것이 원래 그런것인지 아니면
제가 잘못 구현한 것인지 궁금합니다.
또한 EtherCat을 사용한 경험이 있으시면 알려주시기 바랍니다.
답변 부탁드립니다. 감사합니다.

안녕하세요

지난 질문을 보니 일반적으로 RS-422 통신과 Ethernet 통신을 비교했을때 Ethernet이 RS-422의 대역폭 보다 더 높은 대역폭을 갖고 있기 때문에 딜레이의 영향이 없을 것이라는 답변을 드린것으로 보입니다.

이번 질문에서는 어떤 테스트를 하셨는지 또한 1Hz, 5Hz, 10Hz의 의미는 어떤 것인지 잘 모르겠습니다.

자세한 정보를 더 주신다면 도움 드릴수 있을것 같습니다 :slight_smile:

감사합니다.

자세한 시험 방법을 설명드립니다.

  1. 시험 준비
  1. PBA_1 (UDP통신, W5300을 사용)
  2. PBA_2 (UDP통신, W5300을 사용)
  1. 시험 방법
  1. PBA_1에서 UDP통신으로 12Bytes 데이터를 PBA_2로 송신한다.
    이때 송신주기는 각 1Hz(1초), 5Hz(0.2초), 10Hz(0.1초), 15Hz(0.067초) 주기로 계속 송신한다.

  2. PBA_2에서 UDP통신으로 12Bytes 데이터를 PBA_1로부터 수신한다.

  3. PBA_2에서 UDP통신으로 12Bytes 데이터를 PBA_1로 송신한다.

  4. PBA_1에서 UDP통신으로 12Bytes 데이터를 PBA_2로부터 수신한다.

  5. 오실로스코프로 PBA_1에서 UDP송신, UDP수신 파형을 측정한다.

  1. 결과
  1. 송신주기 1Hz(1초)로 시험했을 때, 오실로스코프로 PBA_1에서 UDP송신, UDP수신 측정결과
    Delay 없음

  2. 송신주기 5Hz(0.2초)로 시험했을 때, 오실로스코프로 PBA_1에서 UDP송신, UDP수신 측정결과
    Delay 없음

  3. 송신주기 10Hz(0.1초)로 시험했을 때, 오실로스코프로 PBA_1에서 UDP송신, UDP수신 측정결과
    Delay 없음

  4. 송신주기 15Hz(0.067초)로 시험했을 때, 오실로스코프로 PBA_1에서 UDP송신, UDP수신 측정결과
    Delay 생김. Delay가 발생되므로 이후로 데이터가 점점 뒤로 늘어지면서 수신됩니다.

원하시는 정보가 되었는지 모르겠습니다. 확인하시고 답변주시면 감사하겠습니다. 수고하세요~

추가질문드립니다.

W5300을 사용하여 EtherCat 사용하신 경험 있으신가요?
혹시 사용해 보셨다면 EtherCat 설정 방법을 알려주시면 감사하겠습니다.

안녕하세요. Wiznet의 Peter입니다.

먼저 주기 통신에 대해 말씀드리겠습니다.

W5300이 100Mbps로 연결되어 있고 그 중 성능이 절반만 나온다 하여도

50Mbps = 50,000,000 bps = 6,250,000 byte/s 입니다. Ethernet Packet의 Maximum 값은 1514 byte이므로

6,250,000 / 1514 = 4128.13 그러므로 최대값을 가지는 Ethernet packet을 초당 4128개를 보낼 수 있는 속도를 지니고 있습니다.

즉 속도가 50Mbps만 나와도 4128Hz의 속도가 가능하다는 결론이 나옵니다.

제 생각에는 프로그램에서의 의도적인 Delay(15Hz를 맞추기 위한)와 Packet을 내보내는 Triggering 사이에 Delay가 존재하는게 아닌가 싶습니다.

관련 부분 펌웨어라도 올려 주시면 검토해 보겠습니다.

그리고 Ethercat에 관해 말씀드리겠습니다.

Ethercat은 TCP/IP Stack 위에서 동작하는 프로토콜이 아니므로 W5300의 Socket 0번을 사용하여 MAC RAW로 구현해야 합니다.

그리고 Ethercat Packet 처리도 직접 구현하셔야 합니다.

마침 TMS320F28335를 이용해 위와 같은 방식으로 구현하신 분이 있네요.

아래에 구현하신 분의 블로그 링크를 걸어드립니다. 참고하시기 바랍니다.

[url]http://nexp.tistory.com/1947[/url]

감사합니다.