|
|
  |
Конфигурация ml507 PHY Marvell 8e1111 для MII, Не запускается в режиме MII |
|
|
|
Dec 8 2011, 17:30
|
Участник

Группа: Участник
Сообщений: 46
Регистрация: 7-12-11
Пользователь №: 68 727

|
Приветствую, коллеги!
Моя задача проста - освоить 10/100 ethernet. Это маленькая часть будущего девайса. Это первый опыт работы с Ethernet. Есть плата ML507 с установленным PHY Marvel 8E1111. Последняя славится отсутствием документации в свободном доступе. Однако, нашел в сети распиновку и описание регистров. Написал Management Iface -- пишет и читает нормально (анализатором смотрю, ну и поведение микрухи начинает меняться). Не могу только понять что именно и в какой регистр положить. Насколько я понял, регистры на странице 0 относятся к режиму меди, что мне и нужно. С компа идут пакеты на плату, судя по мигающему светодиоду RX, значит должен менять свое состояние и вывод RX_DV, и состояние выводов данных MII_RXn. Однако анализатор говорит, что там тихо. Вобщем уже неделю читаю описание регистров и пробую разные варианты, но похоже, что этого зверя так без бубна не взять. Потому, хочу спросить у опытных людей. Какую конфигурационную последовательность нужно скормить микрухе, чтобы чудесным образом данные побежали по MII мне в плисину и чтобы скорость сама определялась 10 или 100?
PS: Честно прочел 50 страниц форума. По этому PHY инфы очень мало. Ну и гуглил недели три точно.
|
|
|
|
|
Dec 8 2011, 17:54
|

Местный
  
Группа: Свой
Сообщений: 314
Регистрация: 13-07-06
Из: Москва
Пользователь №: 18 797

|
Цитата(Mar_K @ Dec 8 2011, 20:30)  С компа идут пакеты на плату, судя по мигающему светодиоду RX, значит должен менять свое состояние и вывод RX_DV, и состояние выводов данных MII_RXn. Однако анализатор говорит, что там тихо. Вобщем уже неделю читаю описание регистров и пробую разные варианты, но похоже, что этого зверя так без бубна не взять. Потому, хочу спросить у опытных людей. Какую конфигурационную последовательность нужно скормить микрухе, чтобы чудесным образом данные побежали по MII мне в плисину и чтобы скорость сама определялась 10 или 100? О том что пакеты тдут вы судите по мигающему светодиоду или вы отправляете их к компа? Цитата(Mar_K @ Dec 8 2011, 20:30)  ...чтобы скорость сама определялась 10 или 100? включить режим autonegotiation
|
|
|
|
|
Dec 9 2011, 05:51
|
Участник

Группа: Участник
Сообщений: 46
Регистрация: 7-12-11
Пользователь №: 68 727

|
Цитата(DuHast @ Dec 8 2011, 21:54)  О том что пакеты тдут вы судите по мигающему светодиоду или вы отправляете их к компа?
включить режим autonegotiation Да, пакеты идут с компа, а по мигающему светодиоду я делаю вывод, что микросхема их принимает. Если начинать с поиска, то это обычно помогает. По всему интернету даже ходить не надо, достаточно по форуму. Не писать очевидного помогает внимательное чтение сообщений. Как раз с форума и скачал описание регистров.
|
|
|
|
|
Dec 9 2011, 06:09
|
Гуру
     
Группа: Модераторы
Сообщений: 4 011
Регистрация: 8-09-05
Из: спб
Пользователь №: 8 369

|
Цитата(Mar_K @ Dec 8 2011, 21:30)  PS: Честно прочел 50 страниц форума. По этому PHY инфы очень мало. Ну и гуглил недели три точно. Если бы Вы усердно рыли, то давно бы нашли и мои рекомендации и мои статьи на сайте. Делайте так: ставьте заглушку "сам на себя". по служебному интерфейсу должны читаться первые 16 регистров, которые у всех трансиверов вообще одинаковые. Устанавливайте режим допустим 100 М и запретите автосогласование. потом отправляйте широковещательный пакет. Он безусловно должен приниматься МАСом. при этом вы всегда сможете засинхронизироваться от передачи... А так, если сразу воткнуться в общую сеть, то Вас пакеты от сервера будут мучить каждую секунду. И входной буфер будет ими забиваться...
--------------------
www.iosifk.narod.ru
|
|
|
|
|
Dec 9 2011, 06:28
|
Участник

Группа: Участник
Сообщений: 46
Регистрация: 7-12-11
Пользователь №: 68 727

|
Цитата(iosifk @ Dec 9 2011, 10:09)  Если бы Вы усердно рыли, то давно бы нашли и мои рекомендации и мои статьи на сайте. Делайте так: ставьте заглушку "сам на себя". по служебному интерфейсу должны читаться первые 16 регистров, которые у всех трансиверов вообще одинаковые. Устанавливайте режим допустим 100 М и запретите автосогласование. потом отправляйте широковещательный пакет. Он безусловно должен приниматься МАСом. при этом вы всегда сможете засинхронизироваться от передачи... А так, если сразу воткнуться в общую сеть, то Вас пакеты от сервера будут мучить каждую секунду. И входной буфер будет ими забиваться... Пока решил не ставить MAC, смотрю активность сигналов MII. Я правильно понимаю, что на этом уровне проходят все фреймы? Значит на MII должна быть активность?
|
|
|
|
|
Dec 9 2011, 09:44
|
Участник

Группа: Участник
Сообщений: 46
Регистрация: 7-12-11
Пользователь №: 68 727

|
Цитата(iosifk @ Dec 9 2011, 13:01)  Да, если они правильно сконфигурирована и не находится в сбросе или повер-дауне каком-либо. Но MII-служебный интерфейс я бы сделал. И по нему всегда можно проверить что и как там с трансивером... В повер дауне не находится, читал состояние битов регистра 0. Иначе светодиоды бы не моргали. Подключил анализатор к RXD0 ... RXD3. Вижу активность только на RXD0...RXD2, а на RXD3 очень короткий импульс проскакивает длительностью 10ns. Делаю вывод, что микруха принимает фреймы, однако, она сконфигурирована не для работы по MII. Ведь при работе по MII должны идти биты данных по RXD0..RXD3? Есть некий набор битов, в регистре 27, называется hwcfg_mode. Но я не пойму что туда записать, чтобы заработал MII. Или я вообще не туда смотрю? Нашел строку в описании регистров, что если в hwcfg_mode записать 1111, то получим заветный MII. Чтож, отправляю туда заветные единички, делаю soft reset, как написано. Ничего не меняется. Хотя по светодиодам похоже что ресет выполняется (они сначала гаснут все, а потом загорается LED_100 и моргает LED_RX).
Сообщение отредактировал Mar_K - Dec 9 2011, 09:45
|
|
|
|
|
Dec 10 2011, 09:16
|
Участник

Группа: Участник
Сообщений: 46
Регистрация: 7-12-11
Пользователь №: 68 727

|
Цитата(VladimirB @ Dec 9 2011, 22:22)  А вы клок подали 25МГц на MII? Разве в режиме МII его должен не PHY генерировать? Если вы про тактирование самой микрухи, то она 25 МГц кварцем затактирована.
Сообщение отредактировал Mar_K - Dec 10 2011, 09:17
|
|
|
|
|
Dec 13 2011, 08:35
|
Участник

Группа: Участник
Сообщений: 46
Регистрация: 7-12-11
Пользователь №: 68 727

|
Короче, все правильно работает, это я неправильно анализатор подключил  Микруха хардварно уже сконфигурирована была на MII, так что в регистры ничего не писал. Теперь все работает. Спасибо всем.
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|