Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Ethernet STM32F207+DP83848
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > ARM, 32bit
Boriska
Что-то никак не получается запустить STM32F207+DP83848 в режиме RMII.
Почти стандартная программа от STM lwip+rtos на китайской демо-плате работает нормально.
На моей не хочет. Отличия следующие:
1. Другая разводка платы. Большая вероятность, что не очень удачная.
2. Тактирование не от генератора 50mHz, а от контроллера (MCO - PA8).
3. Резисторы не 49.9 - 1%, а 51 - 5% и не 4.87 - 1%, а 4.7 - 5%, хотя у меня есть еще один работающий китайский вариант платы с такими номиналами.
4. На RESET-е STM32 нет конденсатора 0.1u

DP83848 команды инициализации выполняет, autonegotiation работает, прерывание link срабатывает. Но светодиод ACT в режиме 1 - не горит (он правда без подтяжки к + или -). Светодиод SPEED горит или не горит, в зависимости от скорости подключения. Устройство по сети не отвечает совсем.

Подскажите, какая может быть последовательность поиска неисправности? Что попробовать в первую очередь?
shreck
Цитата(Boriska @ Dec 14 2012, 15:12) *
Что-то никак не получается запустить STM32F207+DP83848 в режиме RMII.
Почти стандартная программа от STM lwip+rtos на китайской демо-плате работает нормально.
На моей не хочет. Отличия следующие:
1. Другая разводка платы. Большая вероятность, что не очень удачная.
2. Тактирование не от генератора 50mHz, а от контроллера (MCO - PA8).
3. Резисторы не 49.9 - 1%, а 51 - 5% и не 4.87 - 1%, а 4.7 - 5%, хотя у меня есть еще один работающий китайский вариант платы с такими номиналами.
4. На RESET-е STM32 нет конденсатора 0.1u

DP83848 команды инициализации выполняет, autonegotiation работает, прерывание link срабатывает. Но светодиод ACT в режиме 1 - не горит (он правда без подтяжки к + или -). Светодиод SPEED горит или не горит, в зависимости от скорости подключения. Устройство по сети не отвечает совсем.

Подскажите, какая может быть последовательность поиска неисправности? Что попробовать в первую очередь?

Я не спец в этом, но может быть в следующем дело.
Пункт 2.7.5. Errat'ы: "MCO PLL clock pins not compatible with Ethernet IEEE802.3 long term jitter specifications"
Workaround: "... use an external 50 MHz oscillator..."
Boriska
Цитата(shreck @ Dec 14 2012, 13:40) *
Я не спец в этом, но может быть в следующем дело.
Пункт 2.7.5. Errat'ы: "MCO PLL clock pins not compatible with Ethernet IEEE802.3 long term jitter specifications"
Workaround: "... use an external 50 MHz oscillator..."

Большое спасибо за подсказку. Очень похоже, что это может быть основной проблемой. Попробую где-нибудь раздобыть генератор.
Boriska
Собрал еще одну платку STM32F407 с DP83848 (MII). Загрузил туда пример с http://www.oryx-embedded.com/cyclone_tcp.html
Пакеты принимаются нормально. Ответы тоже отправляются нормально (с точки зрения микроконтроллера), а вот в сети никаких пакетов не появляется, даже битых (Wireshark).
DMA - пакеты обрабатывает, TX_CLK - тикает, а вот TX_EN, TXD_0, TXD_1 выдают один импульс в момент отправки пакета - и на этом все заканчивается, т.е. до DP83848 данные не добираются.
Ethernet driver для stm32f4 (http://www.oryx-embedded.com/doc/stm32f4x7..._8c_source.html) практически ничем не отличается от работающего варианта для stm32f2.

Подскажите, какая может быть вероятная причина? Или в каком направлении копать?
Boriska
Цитата(Boriska @ Dec 9 2013, 01:04) *

Разобрался. Забыл включить обработчик прерываний.
kolobok0
Цитата(Boriska @ Dec 9 2013, 20:52) *
...Забыл включить обработчик прерываний.


бывает sm.gif
к слову lwIp
опенсоурс оставляет желать лучшего sad.gif
работу с железом рекомендую переписать.

ЗЫ
Вопрос на засыпку:
А Вы подключили выход с физики PWR_DWN/INT ? Если нет, то обратите более пристальное внимание на EXT прерывания
по статусу протухания линии - многие демоборды этим грешат, левакс однако sm.gif
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.