Перейти к содержанию
    

Рекомендации по разводке PHY в режиме RMII

Вот собрал плату LPC2468+DP83848. При отладке при помощи j-tag не инициализируется РHY, точнее-не устанавливает связь с Ethernet(все регистры читаются нормально):

Подпрограмма выходит из цикла по таймауту.

while ( timeout != 0 )

{

 

regValue = ReadPHY( PHY_PHYSTS );

if ( (regValue & 0x0011) == 0x0011 )

//regValue = ReadPHY( PHY_BMSR );

//if ( (regValue & 0x0002) == 0x0002 )

{

break; /* link established if bit 0 is set */

}

timeout--;

}

 

На демо плате под LPC2378 все работает нормально. Однако если скомпилировать hex файл и зашить его в процессор, тоже все работает! Вот пока думаю что тайна может быть скрыта в неправильной разводке PHY или в IAR'е. Может кто поделится особенностями по разводке (ведь частоты высокие)???

(на всякий случай прилагаю файл с проектом)

EMAC.rar

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

не устанавливает связь с Ethernet

Что это значит? Линк не видит, его не видят?

 

Проблемы, скорее всего, не в разводке, а в схемотехнике.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Что это значит? Линк не видит, его не видят?

 

Проблемы, скорее всего, не в разводке, а в схемотехнике.

 

Link не видит. Но все замечательно работает при прошивке контроллера. Схемотехника идентична плате MCB2378.(Единственное отличие - это тип контроллера)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Все. Причиной этого всего было то, что мой PHY не работает нормально с трансформатором LU1T516, который стоял у меня на плате. Все отлично заработало с трансформатором J0011D21. Всем спасибо

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Link не видит. Но все замечательно работает при прошивке контроллера.

1. PHY вообще не видит Link всмысле светодиод "Link" не зажигается?

или

2. "Link" не видно через EMAC в процессе инициализации PHY?

 

Если 1. то дело может быть в подключении средней точки, у разных трансов разные рекомендации включения.

Если 2. то забить на это (тем более под отладкой).

 

 

Опс.. не видел вашего последнего поста..

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Поторопился я немного. Сейчас (после смены трансформатора) после резета светодиод зажигается. Потом если сделать резет PHY, светодиод больше не зажигается. Поэтому в режиме отладки j-tag'ом PHY не обнаруживает Link и не проходит инициализация. Вот ищу причину всего этого

Это вариант 1 - забить нельзя, просто не известно каким боком потом это все выйдет в готовом устройстве. (схема включения транса соответствует даташиту и схеме демоплаты)

 

Тут документ лежит по этой теме:

http://narod.yandex.ru/100.xhtml?iosifk.na...el_info_pcb.pdf

Изменено пользователем Vitaliy_ARM

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Поторопился я немного. Сейчас (после смены трансформатора) после резета светодиод зажигается. Потом если сделать резет PHY, светодиод больше не зажигается.

А если замкнуть RX+ с TX+ на трансе со стороны PHY (при отключенном внешнем кабеле)?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А если замкнуть RX+ с TX+ на трансе со стороны PHY (при отключенном внешнем кабеле)?

 

Спасибо за совет. Но к сожалению эффект тот же. Все работает с подачей питания, и не работает после резета PHY.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Спасибо за совет. Но к сожалению эффект тот же. Все работает с подачей питания, и не работает после резета PHY.

Тогда можно предположить следующее:

после ресета PHY считывает с выводов светодиодов и пр. то состояние в котором оно должно работать. Если Вы не зашили требуемое Вам состояние в эти выводы, то после ресета необходимо произвести загрузку режимов по MII, правда если Вы не умудрились заглушить в нее запись аппаратно. Вот после загрузки режимов PHY должен придти в норму. Ну и еще. Надо посмотреть, как соотносятся сигналы относительно сброса и длительность сигнала сброса. Может быть и здесь еще не все хорошо....

удачи!

Напишите мне, как у Вас дело пойдет...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Тогда можно предположить следующее:

после ресета PHY считывает с выводов светодиодов и пр. то состояние в котором оно должно работать. Если Вы не зашили требуемое Вам состояние в эти выводы, то после ресета необходимо произвести загрузку режимов по MII, правда если Вы не умудрились заглушить в нее запись аппаратно. Вот после загрузки режимов PHY должен придти в норму. Ну и еще. Надо посмотреть, как соотносятся сигналы относительно сброса и длительность сигнала сброса. Может быть и здесь еще не все хорошо....

удачи!

Напишите мне, как у Вас дело пойдет...

 

Проверил и выводы на всякий случай. С выводами на светодиоды все впорядке, там висят еще подтягивающие резисторы по 2к все как в даташите. Есть один минус - я к трансформатору на демо плате подпаялся. Для того, чтобы платы не конфликтовали, демо плату завел всю в резет. Трансформатор нет смысла выпаивать, поэтому заказал новый, а пока так возился и ни чего не получилось. Придет транс, тогда картина будет обрисована более четко. Виновата либо демоплата своим вмешательством либо все таки у меня на плате что-то. В крайнем случае заменю все это на KSZ8001+H1102.

Изменено пользователем Vitaliy_ARM

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В крайнем случае заменю все это на KSZ8001+H1102.

IMHO H1102 самый правильный транс, но он ничего не исправит если PHY в Loopback'е не работает.

Смотрите, что у Вас с инициализацией PHY, возможно после сброса PHY загоняется в idle, может еще что-то...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Серия вторая.

Сегодня получил родные трансформаторы для DP83848 - J0011D21BNL. Припаял. Эффект тот же. После резета PHY не видит линк. Однако если кратковременно замкнуть вывод PFBOUT на землю линк обнаруживается. Если кто применял такую связку можно ли увидеть кусок схемы, может я чего-то упустил :05:

 

Кстати пока шли тратсформаторы, написал прошивку ответа на запросы ICMP ECHO и отладил на плате MCB2300. Потом скомпилировал и зашил на LPC2468 - все пингуется. Т.е. глючит именно плата (последние сомнения отпали)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

После замены микросхемы PHY заработал!!!! Теперь стало на оборот. При прошитой флеш не работает, вылетает в Prefetch abort, но это уже не проблема

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...