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

 
 
> Как запустить rtl8201bl, Управление от AT91SAM7X256
OlegHmt
сообщение Dec 21 2006, 00:07
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 70
Регистрация: 5-12-06
Пользователь №: 23 146



Уже ничего не соображаю cranky.gif
Собственно ситуация выглядит следующим образом:
Разработку кода начал для платы от Олимекса. Там стоит микросхема от Микрела ksz8721bl (кажется не ошибся). Свой код разрабатывал на базе примеров от FreeRTOS которые написаны под плату разработчика от Атмела там тоже другая микросхема физического уровня. Пошагово проанализировал код, прочитал документацию, разобрался что к чему, подправил код - запустил работу с сетью на плате Олимекса. Но програма разрабатывается для устройства где в качестве чипа физуровня будет использоваться Риалтековская rtl8201bl. Но когда попробовал запустить код на пробной новой плате устройства возникла проблема - никак не могу заставить заработать чип сети. В качестве управляющего процесора используется ATSAM7X256. Разница между Олимексовской платой разработчика и спроектированным устройством в том, что на плате разработчика все управляющие ножки (включая конфигурационные) чипа физуровня подключены на ножки процесора, то-есть ими можна управлять, а на разработаном устройстве конфигурационные ножки посаженны резисторами на ноль или питание. А именно:
44 (MII), 41 (LDPS), 39 (SPEED), 38 (DUPLEX), 37 (ANE), 9 (PHYAD0) подтянуты к питанию;
43 (ISOLATE), 40 (RPTR) и остальные ножки установки адреса чипа посаженны на ноль.
То-есть чип должен бы быть сконфигурированным на адрес 1, автосогласование скорости, интерфейс MII.
Кроме того 24 ножка (режим UTP) резистором посажена на ноль.
Конфигурация модуля сети в процесоре используется одинаковая для обоих плат. Для Олимексовской платы дополнительно добавляется програмная конфигурация нескольким ножек. Дальше я пробую считать регистры ID чипа физуровня. Выполняется один и тот же код. Интерфейс управления стандартизованный. На Олимексовкой плате всё работает, на разработаной плате никак не могу запустить чип. При этом поведение его весьма странно.
Во-первых после подачи питания (при подключенном кабеле сети), что-бы я с ним не делал светодиоды статуса не загораются, сеть не появляется. Но если он постоит минут 10-20 (всё это время в цикле програма опрашивает его регистры), то вдруг появляется сеть (при этом канал управления всё равно не работает). Если переподключить кабель сети или питание, сеть появляется сразу, но если выключить питание минут на 20, то опять он минут 10 не реагирует на сеть.
А во вторых, подозревая, что конфигурация номера чипа может быть немного неправильной (немножко некоректно подключенны диоды статуса к ножкам установки номера), в програме я запустил по бесконечному циклу с выводом результатов на USB опрос регистров ID чипа постоянно изменяя номер чипа от которого я хочу получить ответ. Так вот, если код запускается на Олимексовской плате - все работает коректно, при обращении по правильному номеру чипа приходит нужный ответ, на все остальные запросы возвращается FF. При использовании кода на разработаной плате какие-то непонятные ответы приходят на номера 1, 2, 4, 8, 16 (то-есть один бит единицы, остальные 0), при этом от цикла к циклу цифры меняются (чипу выставлен номер 1).

Возможно я что-то не учёл, но вроде бы уже досконально изучил документацию, проверил схему, осцилографом посмотрел ножки конфигурации, вроде бы помехи нигде не пролазят. Разработчик платы, говорит, что этот чип физуровня именно в такой обвязке у него работает в другом устройстве где управление заводиться от ПЛИСок. Сделано три экземпляра платы, на всех одни и те же симптомы.

Как можно ещё попробовать локализировать проблему? Даже не знаю она на уровне железа или программы.

Помогите, пожалуйста
help.gif

Спасибо

Сообщение отредактировал OlegHmt - Dec 21 2006, 00:07
Go to the top of the page
 
+Quote Post
2 страниц V   1 2 >  
Start new topic
Ответов (1 - 14)
aaarrr
сообщение Dec 21 2006, 01:42
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Прежде всего, проверьте состояние адресных пинов - если адрес будет считан как '0', то RTL поведет себя примерно так, как Вы описываете. Я бы посоветовал временно подтянуть к питанию еще один адресный пин.
LDPS на время отладки лучше отключить.
Наконец, проверьте, что частота MDC не превышает 2.5МГц - RTL этого очень не любит.
Go to the top of the page
 
+Quote Post
iosifk
сообщение Dec 21 2006, 09:47
Сообщение #3


Гуру
******

Группа: Модераторы
Сообщений: 4 011
Регистрация: 8-09-05
Из: спб
Пользователь №: 8 369



Если хотите, пришлите мне по почте на iosifk@eltech.spb.ru скриншот фрагмента схемы с подключением трансивера к линии, или выложите здесь.
Действительно, при чтении служебного интерфейса нет нужды торопиться и частоту можно смело понизить. Я это проходил на LXT972... Это линия с третьим состоянием. Возможно, что там запаяли не тот резистор - надо посмотреть фронты.
А еще надо проверить формирование импульса сброса. Все установки, зашитые резисторами записываются внутрь кристалла под сброс. Если у Вас есть возможность - повторите по MDIO загрузку установок. Код это небольшой, и хуже от этого точно не будет.

Про пропадание линии - возможно, что что-то неправильно с трансформатором при включении и он замагничивается или может быть какие-нибудь емкости по входам стоят? Без схемы сказать трудно. Может 50 омные резисторы не 1%?
Но в любом случае MDIO читаться должен.
Удачи!


--------------------
www.iosifk.narod.ru
Go to the top of the page
 
+Quote Post
RIYA
сообщение Dec 21 2006, 13:06
Сообщение #4


Участник
*

Группа: Участник
Сообщений: 32
Регистрация: 26-10-06
Из: Ukraine, Lviv
Пользователь №: 21 690



Вот схема подключения.

Что не так?
Прикрепленные файлы
Прикрепленный файл  rtl_to_at91sam7X.pdf ( 17.43 килобайт ) Кол-во скачиваний: 508
 
Go to the top of the page
 
+Quote Post
OlegHmt
сообщение Dec 21 2006, 13:10
Сообщение #5


Участник
*

Группа: Участник
Сообщений: 70
Регистрация: 5-12-06
Пользователь №: 23 146



Частота 1.5 МГц.
Сброс чипа сидит на линии сброса процесора и управляется самим процесором.

Схема подключения чипа в предыдущем сообщении

Сообщение отредактировал OlegHmt - Dec 21 2006, 13:11
Go to the top of the page
 
+Quote Post
iosifk
сообщение Dec 21 2006, 13:26
Сообщение #6


Гуру
******

Группа: Модераторы
Сообщений: 4 011
Регистрация: 8-09-05
Из: спб
Пользователь №: 8 369



Цитата(OlegHmt @ Dec 21 2006, 13:10) *
Частота 1.5 МГц.
Сброс чипа сидит на линии сброса процесора и управляется самим процесором.

Схема подключения чипа в предыдущем сообщении


Ну а среднюю точку трансформаторов Пушкин на +3,3В забыл подключить?
Посмотрите у меня на сайте статьи про подключение трансивера к меди или даташит на 8721...

Не зевайте так больше и удачи!
Напишите, когда исправите.


--------------------
www.iosifk.narod.ru
Go to the top of the page
 
+Quote Post
rustelcom
сообщение Dec 21 2006, 13:38
Сообщение #7


Участник
*

Группа: Свой
Сообщений: 29
Регистрация: 19-01-05
Пользователь №: 2 052



LDPS - нах !

Про 3.3 это вы загнули, батенька.
Go to the top of the page
 
+Quote Post
RIYA
сообщение Dec 21 2006, 13:58
Сообщение #8


Участник
*

Группа: Участник
Сообщений: 32
Регистрация: 26-10-06
Из: Ukraine, Lviv
Пользователь №: 21 690



Относительно включения конектора/транса:
- замечание по подключению 3,3 вольта касается других типов этих конекторов;
- в другом нашем устройстве (FPGA-based) всё в таком виде (кроме шины к процессору, естесственно), работает нормально с LU1S041 and LU1T516-43, тоесть в части RTL-to-net наверное вс' в порядке.

Проблемы между процессором и PHY
Go to the top of the page
 
+Quote Post
iosifk
сообщение Dec 21 2006, 14:16
Сообщение #9


Гуру
******

Группа: Модераторы
Сообщений: 4 011
Регистрация: 8-09-05
Из: спб
Пользователь №: 8 369



Цитата(RIYA @ Dec 21 2006, 13:58) *
Относительно включения конектора/транса:
- замечание по подключению 3,3 вольта касается других типов этих конекторов;
- в другом нашем устройстве (FPGA-based) всё в таком виде (кроме шины к процессору, естесственно), работает нормально с LU1S041 and LU1T516-43, тоесть в части RTL-to-net наверное вс' в порядке.

Что касается "LDPS - нах !" - то здесь я согласен абсолютно. Это я даже представить не мог что Вы так сделаете...
А вот что касается "подключению 3,3" - то это извините стандарт и по другому здесь делать нельзя. Среднюю точку трансформатора по передаче положено подключать на питание.
Интеловсий LXT972 - тоже, Микрел - Тоже...

Или другой вариант - вот пример -давиком, стр 45...
А у Вас ни так ни эдак...
Но дело кончно Ваше, если хотите поупражняться....

Сообщение отредактировал iosifk - Dec 21 2006, 14:22


--------------------
www.iosifk.narod.ru
Go to the top of the page
 
+Quote Post
RIYA
сообщение Dec 21 2006, 14:56
Сообщение #10


Участник
*

Группа: Участник
Сообщений: 32
Регистрация: 26-10-06
Из: Ukraine, Lviv
Пользователь №: 21 690



В приложении - схема модуля от Wiznet

Им-то нет основания не доверять, они собак-то наелись в єтом деле smile.gif

Жду коментариев!
Прикрепленные файлы
Прикрепленный файл  NM7010B_LF.pdf ( 33.77 килобайт ) Кол-во скачиваний: 237
 
Go to the top of the page
 
+Quote Post
iosifk
сообщение Dec 21 2006, 15:32
Сообщение #11


Гуру
******

Группа: Модераторы
Сообщений: 4 011
Регистрация: 8-09-05
Из: спб
Пользователь №: 8 369



Цитата(RIYA @ Dec 21 2006, 14:56) *
В приложении - схема модуля от Wiznet

Им-то нет основания не доверять, они собак-то наелись в єтом деле smile.gif

Жду коментариев!


Пока не скачаю хоть один из тестовых примеров от Реалтека - комментировать не буду.
Вполне возможно, что у них в Реалтеке сделан симметричный выходной касакад. Но пока не получу пример, точно ничего не скажу. А у нас IT позавчера провел акцию, так что FTP реалтека приравняно к порно и прочим и закрыто...
А то, что ребята из Wiznet неправильно посадили на землю 24 ногу трансивера - это вижу.
Но что могу точно сказать, так это то, что в отличие от микреловского KSZ8001, реалтек не умеет делать проверку импеданса линии связи, не умеет делать переназначение Rx-Tx.
А кстати, что Вы делаете свич или ник?
Судя по Вашей схеме - свич...
Вот пока все.

Сообщение отредактировал iosifk - Dec 21 2006, 15:43


--------------------
www.iosifk.narod.ru
Go to the top of the page
 
+Quote Post
OlegHmt
сообщение Dec 21 2006, 16:15
Сообщение #12


Участник
*

Группа: Участник
Сообщений: 70
Регистрация: 5-12-06
Пользователь №: 23 146



Цитата
А то, что ребята из Wiznet неправильно посадили на землю 24 ногу трансивера - это вижу.

Тут небольшая специфика самого чипа, эта нога используется для переключения чипа между режимами UTP (0) и Fiber (1). То-есть там должно бы быть правильно (по крайней мере у нас в схеме ножка подтянута к нулю, но, всё равно управляется процесором).

Цитата
А кстати, что Вы делаете свич или ник?
Судя по Вашей схеме - свич...

К сожалению, не понял к чему это относится? Такого нюанса я не встречал (или упустил). В принципе, в описании чипа это упоминается для ножки RPTR, но там написано, что для использования в приложениях NIC/Switch посадить ножку на землю. Что у нас и сделано.

Цитата
Что касается "LDPS - нах !" - то здесь я согласен абсолютно. Это я даже представить не мог что Вы так сделаете...

Тут также, я не понял в чём проблема. Опять же из описания чипа: если эта ножка на питании, то при отсутсвии кабеля выходные каскады отключаются. Возможно поэтому сбоит включение выходных каскадов, но, насколько я сумел разобраться, крамолы в этом нет.

Что же касается инициализации MDIO попробую перед читанием несколько раз записать конфигурацию в регистры - авось действительно заработает. Также LDPS посажу на ноль, может и это поможет. Приду домой - попробую, о результатах напишу уже завтра.

А пока спасибо за помощь
smile.gif
Go to the top of the page
 
+Quote Post
boez
сообщение Dec 21 2006, 16:16
Сообщение #13


Частый гость
**

Группа: Новичок
Сообщений: 79
Регистрация: 1-11-06
Пользователь №: 21 868



Зря это вы вот так. Людям верить надо. Наверное там и правда полный выходной каскад и транс можно вообще без средней точки бахнуть - это ж 10 мегабит, там третий уровень не нужен.
В общем в аппнотах реалтека есть разные согласующие штуки по переменке через конденсаторы на землю - но по постоянке смещений/подтяжек нет никаких!
Go to the top of the page
 
+Quote Post
iosifk
сообщение Dec 21 2006, 16:35
Сообщение #14


Гуру
******

Группа: Модераторы
Сообщений: 4 011
Регистрация: 8-09-05
Из: спб
Пользователь №: 8 369



Ладно, давайте подождем результата...
только вот по поводу RXER - это ВЫХОД трансивера. При инициализации он опрашивается и это состояние защелкивается. А потом этот пин переключается на Вывод. И туда выводится 1 в случае ошибок в тракте передачи. А Визнет этот пин посадил на землю.
По поводу "свич" - это я посмотрел на описание LXT972 там раздельные схемы для свича и для ника. Проверьте, там где-то должно быть перекрещено Tx на Rx. Обычно это делается в хабах - свичах. Тогда можно применить прямой кабель. А если Вы подключаете ник в РС напрямую, то надо перекрещенный кабель брать. Нет ли здесь ошибки, потому что есть хабы и свичи, которые делают перекрест автоматически. Может Ваш свич чего-то не понимает и пытается перекреститься...
И еще я проверил - сброс для KSZ8721 - должен быть 5 мкс, а для Реалтека 10 мСек. Надеюсь, что здесь правильно!
Напишите мне, если что узнаете по этому поводу...


--------------------
www.iosifk.narod.ru
Go to the top of the page
 
+Quote Post
OlegHmt
сообщение Dec 21 2006, 16:59
Сообщение #15


Участник
*

Группа: Участник
Сообщений: 70
Регистрация: 5-12-06
Пользователь №: 23 146



Касательно свич\ник - я использую уже перекрещенный кабель для связи комп-комп и подключаю свою плату напрямую в разъём сети компа. Тут вроде-бы всё правильно.

Касательно сброса - там тоже правильно. Давал сброс 15мс, а потом вообще 2с (сколько позволяет процесор). Поведение одинаковое
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 21st July 2025 - 16:15
Рейтинг@Mail.ru


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