Jump to content

    

STM32f767 + ks8721 теряются пакеты

Добрый день!
Ситуация такая: к STM32f767 по RMII подключен ks8721 - на передачу всё OK, а вот на приёме теряются чуть больше 10% пакетов.

Если смотреть скопом то с phy сигналы есть, а стм-ка их иногда не принимает.

Пробовал ставить один пакет в 5 секунд и смотреть непосредственно в памяти dma в отладке - на осциллографе сигнал с phy проскакивает, а в памяти иногда ничего не появляется. 

Причём от количества пакетов в секунду ничего не зависит, что 1 пакет в секунду, что 100 не проходит где-то десятая часть.

Может кто подскажет куда копать.

Share this post


Link to post
Share on other sites

Документ, раздел 2.16.6 не ваш случай?

Вот выдержка

Quote

Ethernet erroneous data received in RMII configuration Description • In the reduced media-independent interface (RMII) configuration, an erroneous data might be received on the RXD0 signal (PC4). The bit received might flip from 0 to 1 and lead to a received frame with a CRC error. The ETH_MMCRFCECR register increments each time a frame is received. This is related to internal timing constraints on the reference clock generated after the sync divider. • Using the RMII reference clock of 50 MHz, the error is seen for both cases: – 100-Mbit/s operating rate (sync divider = div2) – 10-Mbit/s operating rate (sync divider = div20) • The issue is not present in the MII mode with a direct reference clock from the pad (no division). Workaround Using the MAC management counters, the software can identify if the RMII is correctly initialized or not. – If too many errors are detected during the initialization (received frames with CRC error counter), reset the RMII interface and restart the monitoring. – If a good frame is received after initialization (received good unicast frame counter register), the RMII is correctly initialized and stop the monitoring.

 

Share this post


Link to post
Share on other sites

Да похоже наш, ревизия A в платах.

workaround какая-то лажа,  короче покупать нужно ревизию Z.

 

Share this post


Link to post
Share on other sites
8 часов назад, sergvks сказал:

workaround какая-то лажа

Предлагают перезапускать пинками пока не заведётся :)

Share this post


Link to post
Share on other sites

У нас случай не совсем идентичный - ошибки не сыпятся на старте системы, а появляются по одной временами.  С тем же кодом запущенным на нуклео с камнем ревизии Z никаких ошибок crc на приёме нет. 

Share this post


Link to post
Share on other sites

Длина дорожек, последовательно резисторы в разрыв, блокировочные конденсаторы питания - столько всего может влиять на RMII...
Я для себя решил, что MII хоть и больше проводов - но надёжнее.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now