реклама на сайте
подробности

 
 
> Назначение ETH_MMCRFCECR
yanvasiij
сообщение Feb 6 2017, 13:38
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 321
Регистрация: 23-12-11
Из: Уфа
Пользователь №: 69 041



Доброго времени суток!

Вопрос возможно идиотский, я не силен в сетевых делах. Поднял на моей железке (stm32f429 + ksz8721) tcp-стек (FreeRTOS+TCP) и запустил обычный пинг с большой длинной (1460). Обнаружил, что иногда ответ на ping просто не приходит (происходит ошибка таймаута, а в wireshark не видно никакого ответа, даже битого). Это происходит редко скажем на 1000 запросов один таймаут. Долго мучался искал ошибку в драйвере. Когда отчаялся подумал, может ошибка не софтовая, тогда вывел значения регистра ETH_MMCRFCECR (Ethernet MMC received frames with CRC error counter register) и выяснил, что его значение постепенно увеличивается. Вот только таймаутов больше, чем значение в этом регистре (например этот счетчик натикал 131, а таймаутов 160). Но этот счетчик стабильно увеличивается и, если это можно так назвать, "коррелирует" с количеством таймаутов. Сейчас моя железка соединена с ноутбуком "напрямую". На ноуте в wireshark'е я не вижу входящих фреймов с битым crc, но если я правильно понимаю это отрабатывается уровнем ниже, поэтому я и не увижу ничего.

Правильно ли я понимаю, что увеличивающийся ETH_MMCRFCECR сигнализирует о входящий фреймах с битым CRC, что косвенно указывает на аппаратный "недуг"?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
yanvasiij
сообщение Feb 7 2017, 04:30
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 321
Регистрация: 23-12-11
Из: Уфа
Пользователь №: 69 041



Наш кварц - SiT8103AI-23-33E-50.00000. Физика тактируется от кварца
Go to the top of the page
 
+Quote Post
jcxz
сообщение Feb 7 2017, 08:20
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(yanvasiij @ Feb 7 2017, 06:30) *
Наш кварц - SiT8103AI-23-33E-50.00000. Физика тактируется от кварца

А у вашей физики нету выхода тактовой частоты (или делённой на 2)? Его можно было бы завести на вход тактирования МК.
Ну или применить вместо кварца генератор и завести параллельно (если входная частота МК позволяет).
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Feb 7 2017, 08:37
Сообщение #4


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



QUOTE (jcxz @ Feb 7 2017, 10:20) *
А у вашей физики нету выхода тактовой частоты (или делённой на 2)? Его можно было бы завести на вход тактирования МК.
А смысл тактировать ядро этой частотй? На тактирование MAC эта частота заводится - в виде 50 МГц на вход RMII_REF_CLK. Тактированию ядра эта частота никак не мешает, но и помочь не может - тактирование ядра тут роли не играет.


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 24th August 2025 - 05:32
Рейтинг@Mail.ru


Страница сгенерированна за 0.01385 секунд с 7
ELECTRONIX ©2004-2016