[W5300] UDP 데이터 수신 가능한 최대 주기는 얼마인가요?

안녕하세요

W5300를 TI C2000 MCU와 구성하여 UDP 데이터를 수신하여 처리하고 있습니다.

팻킷의 크기는 1248byte이고 756Hz, 1808Hz, 5790Hz의 3개의 주기를 가지는 데이터가 있습니다.

756Hz, 1808Hz는 정상적으로 수신되는 것이 확인되었는데 5790Hz는 정상적으로 수신되지 않고 2890Hz의 주기로 수신되는 것을 확인하였습니다.

그래서 W5300으로 수신할 수 있는 데이터 최대 주기가 얼마정도 되나요?

아니면 5790Hz의 데이터를 수신할 다른 방법은 있는지…

답변 부탁드립니다.

안녕하세요

W5300의 이상적인 통신속도는 100Mbps입니다.
하지만 이러한 통신속도는 통신망에 트래픽이 없어야하고,
mcu가 통신속도만큼 데이터를 빨리 읽어가야 가능합니다.
(host가 W5300의 buffer를 빨리 비어줘야)
말씀하신 5790Hz는 124885790 = 55.13Mbps로 이상적인 환경에서는 가능한 속도입니다.
mcu로 버거우시면 DMA를 사용하는 방법도 있습니다.

답변 감사합니다. 추가적으로 문의 드릴 것이 있습니다.

MCU로 TI TMS320C28346을 사용하여 W5300의 buffer를 16bit BUS를 이용하여 데이터를 수신하고 있습다.

MCU측에서 16bit 데이터를 수신하는데 약 300ns 정도가 소요가 됩니다. 그래서 W5300의 buffer에서 16bit씩 데이터를 읽어오는 방법외에 memcpy를 이용해서 buffer의 데이터를 한번에 가져 올수는 없는지 문의드립ㄴ디ㅏ.

답변 부탁드립니다.

안녕하세요

데이터를 한번에 가져올 수는 없습니다.
위에 말씀드렸다시피 DMA Controller를 사용하시면
MCU보다는 빠른속도로 데이터를 가져올 수 있습니다.