안녕하세요 현재 Cortex-M 계열로 W5300을 사용하여 Ethernet 통신을 하고 있습니다
다름이 아니라 MCU에서 데이터를 전송 시 수신 받는 쪽에서 데이터가 깨지는 현상이 발생하고 있습니다
아래의 코드에서 delay를 10us 미만으로 설정을 할 경우 데이터 전송 시 무조건 깨지는 현상이 발생하고
10us 일 때는 간간히 깨지는 현상이 있습니다. 10MB 속도로 통신을 해야 되는데…데이터가 깨져서 사용 할 수 없게 되고 있습니다
주석 처리 한 방법을 사용해도 똑같고, 주석을 처리하지 않은 방법을 사용해도 똑같이 깨집니다…
STM32F7 시리즈로 FMC(SRAM Controller) 통신 10bit address, 16bit data bus로 bank1 select 2와 bank1 select 3 두 개를 사용하고 , W5300은 wiz830mj 제품 2개로 하나는 server, 하나는 client로 사용하고 있습니다
Align Mode를 사용하지 않는 경우,
TCP Packet 마다 2byte의 Header (Data 크기)가 앞에 붙어 올라 옵니다.
ioLibrary를 사용하고 계신지 자작한 Driver를 사용하시는지 먼저 알려주시고,
ioLibrary를 사용함에도 불구하고 데이타가 깨진다면, Host I/F Time과 Critical Section등을 제대로 구현했는지 확인 해야 합니다.
특히 칩 두개를 사용하신다고 하셨고, FIFOR access 중간에 다른 칩 Register이든 같은 칩의 Register등을 Access해서는 안됩니다.
즉 FIFO을 읽어들이는 경우 간섭이 발생하지 않도록 주의 하셔야 합니다.