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

 
 
 
Reply to this topicStart new topic
> W3150A+RTL8201BL, RTL8201 стартует через раз
Сергей Борщ
сообщение Jun 2 2007, 16:50
Сообщение #1


Гуру
******

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



Схема из рекомендаций к W3150A, за тем лишь исключением, что забыли резисторы подтяжки PHYAD0...4, но насколько я понял даташит, этот адрес используется только при общении через ноги MDC, MDIO (я прав?), а они у меня не используются. Ресет на обе микросхемы подается с ноги процесора. Симптомы: запускаю проц. Система не пингуется, визнет при попытке передачи зависает в состоянии ARP. Останавливаю проц, рестартую программу - все работает. Останавливаю, рестартую - снова не работает. Снова рестартую - работает. Если в состоянии "не работает" подать ресет пинцетом только на RTL8201 - все начинает работать. Пробовал задерживать ресет 8201 RC-цепочкой - не помогает. Оторвал ресет RTL8201 от схемы, оставил только подтяжку - все работает, но это не решение. На трех ногах PHYAD висят светодиоды, проверял - уровень на них в ресете выше половины питания, т.е. адрес должен защелкнуться ненулевой и 8201 не должа войти в power down. Эффект стабильно повторяется на 9 платах. Смущает, что предыдущая версия этой же платы на W3100A и такой же RTL8201BL работала прекрасно без этих подтяжек.
Какие будут мысли у коллег, что ей не нравится теперь?


--------------------
На любой вопрос даю любой ответ
"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
a3r3
сообщение Jun 2 2007, 21:30
Сообщение #2


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

Группа: Новичок
Сообщений: 84
Регистрация: 24-05-07
Пользователь №: 27 947



Цитата(Сергей Борщ @ Jun 2 2007, 20:50) *
...уровень на них в ресете выше половины питания, т.е. адрес должен защелкнуться ненулевой и 8201 не должа войти в power down

А Вы проверьте на всякий случай осциллографом - в power down кварц не запускается.
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Jun 4 2007, 10:07
Сообщение #3


Гуру
******

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



Цитата(a3r3 @ Jun 3 2007, 00:30) *
А Вы проверьте на всякий случай осциллографом - в power down кварц не запускается.
Проверил. Кварц запускается всегда. sad.gif


--------------------
На любой вопрос даю любой ответ
"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
Сергей Борщ
сообщение Jun 14 2007, 14:32
Сообщение #4


Гуру
******

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



Цитата(Сергей Борщ @ Jun 2 2007, 19:50) *
Система не пингуется, визнет при попытке передачи зависает в состоянии ARP. Останавливаю проц, рестартую программу - все работает. Останавливаю, рестартую - снова не работает. Снова рестартую - работает.
Фууух... Разобрался. Красивые грабли себе подложил. Если вдруг кто-то наступит, вот что было: Один из выводов ADDR/LED RTL8201 используется как сигнал FullDuplex для W3150. При включении питания емкости разряжены, RTL считывает с вывода ноль и считает активным уровнем высокий. Договорившись со свичем о Full-Duplex, RTL выставляет активный (высокий) уровень на этот вывод. В то время как W3150 ожидает, что высокий уровень сигнализирует о Half Duplex. Все не работает. Делаю сброс RTL8201. На емкостях вывода держится выкий уровень, который считывается RTL как ADDR и сигнализирует, что активным уровнем будет низкий. Договорившись со свичем RTL выставляет низкий уровень, все работает. Снова делаю сброс - круг повторяется. Такой вот забавный триггер получился.
Найдя и устранив эту ошибку обнаружил, что в старой версии платы (с W3100) резистор подтяжки был, но то ли разводчик неправильно понял мои указания когда менял 3100 на 3150, то ли проявил инициативу - факт, что резистор исчез. Кто виноват теперь уже установить не удатся - два месяца назад он уволился.


--------------------
На любой вопрос даю любой ответ
"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
siriasis
сообщение Jun 16 2007, 07:21
Сообщение #5


Участник
*

Группа: Новичок
Сообщений: 40
Регистрация: 26-05-05
Пользователь №: 5 438



Цитата(Сергей Борщ @ Jun 14 2007, 18:32) *
Фууух... Разобрался. Красивые грабли себе подложил. Если вдруг кто-то наступит, вот что было: Один из выводов ADDR/LED RTL8201 используется как сигнал FullDuplex для W3150. При включении питания емкости разряжены, RTL считывает с вывода ноль и считает активным уровнем высокий. Договорившись со свичем о Full-Duplex, RTL выставляет активный (высокий) уровень на этот вывод. В то время как W3150 ожидает, что высокий уровень сигнализирует о Half Duplex. Все не работает. Делаю сброс RTL8201. На емкостях вывода держится выкий уровень, который считывается RTL как ADDR и сигнализирует, что активным уровнем будет низкий. Договорившись со свичем RTL выставляет низкий уровень, все работает. Снова делаю сброс - круг повторяется. Такой вот забавный триггер получился.
Найдя и устранив эту ошибку обнаружил, что в старой версии платы (с W3100) резистор подтяжки был, но то ли разводчик неправильно понял мои указания когда менял 3100 на 3150, то ли проявил инициативу - факт, что резистор исчез. Кто виноват теперь уже установить не удатся - два месяца назад он уволился.


Ребята у меняы проблема небольшая тоже появилась, наверное что то в схематике. У меня модуль на Визнете и РТЛ работает нормально со свичом, а если крос линком к компу подсоединяю то даже не пингуется. Может у кого есть какие нибудь догадки или уже сталкивался с этим
Go to the top of the page
 
+Quote Post
GL_basik
сообщение Jul 3 2007, 09:33
Сообщение #6


Участник
*

Группа: Участник
Сообщений: 68
Регистрация: 19-07-06
Пользователь №: 18 918



Цитата(siriasis @ Jun 16 2007, 11:21) *
Ребята у меняы проблема небольшая тоже появилась, наверное что то в схематике. У меня модуль на Визнете и РТЛ работает нормально со свичом, а если крос линком к компу подсоединяю то даже не пингуется. Может у кого есть какие нибудь догадки или уже сталкивался с этим

Я так понимаю линк есть...
Нужно проверить адрес шлюза установленный в модуле. Для того чтоб с компом была связь адрес шлюза и адрес компа должны совпадать. У меня все работало.
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 18th June 2025 - 12:01
Рейтинг@Mail.ru


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