lebiga 0 2 июня, 2008 Опубликовано 2 июня, 2008 · Жалоба Сделал платку на LPC2368 и D9161A. Пробовал два стека - uIP и Nichelite. Линк есть, ARP пакеты принимает, передает назад в PHY - и ничего - компьютер не ловит! Может ошибся в подключении (не работал с D9161A в RMII режиме) - помогите! Сброс и PWRDOWN заведены на ноги, там все нормально. Инициализация портов правильная, проверял много раз. Включал две платы уже, та же история... Подключение LPC2368_______________D9161A P1.0(ENET_TXD0)_______TXD0(20) P1.1(ENET_TXD1)_______TXD1(19) P1.4(ENET_TX_EN)______TXEN(21) P1.8(ENET_CRS)________RXDV(37) - вот это вызыват вопросы! Смотрел datasheet и AS9200. P1.9(ENET_RXD0)_______RXD0(29) P1.10(ENET_RXD1)______RXD1(28) P1.14(ENET_RX_ER)_____RXER(38) P1.15(ENET_REF_CLK)___XT2(42)=50МГц P1.16(ENET_MDC)_______MDC(24) P1.17(ENET_MDIO)______MDIO(25) ______________________RXEN(31)=1 ______________________COL/RMII(36)=1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
lebiga 0 3 июня, 2008 Опубликовано 3 июня, 2008 · Жалоба Мда, а проблема совсем не в этом. Принудительно переключил в 10Мбит - все заработало. Но - нужно 100. Понижение питания аналоговой части до 2,5В (рекомендовали для DM9161AE) эффекта не дало. Трансформатор - J00-0065NL(PULSE), на 100Мбит. Конденсаторов хватает. Линк устанавливается всегда, прием пакетов в процессор есть, передача в PHY тоже - а потом тишина. Подскажите, где смотреть? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aaarrr 69 3 июня, 2008 Опубликовано 3 июня, 2008 · Жалоба Настораживает фраза: Понижение питания аналоговой части до 2,5В (рекомендовали для DM9161AE) эффекта не дало. У DM9161A ведь встроенный 2.5В источник. И выход немного не так подключается, как в DM9161E. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
lebiga 0 3 июня, 2008 Опубликовано 3 июня, 2008 · Жалоба Настораживает фраза: У DM9161A ведь встроенный 2.5В источник. И выход немного не так подключается, как в DM9161E. Это я упустил, сделал по привычке. Выпаял индуктивность, теперь AVDD ~ 2.6В История та же, 10М работает, 100М - нет. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aaarrr 69 3 июня, 2008 Опубликовано 3 июня, 2008 · Жалоба А в среднюю точку 50Ом резисторов на TX AVDD не заводится случайно по привычке? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
lebiga 0 3 июня, 2008 Опубликовано 3 июня, 2008 · Жалоба А в среднюю точку 50Ом резисторов на TX AVDD не заводится случайно по привычке? Нет, это я посмотрел, AVDD завел только на средние точки трансформаторров. Правда, вместо 49.9 поставил 51 ом, в тайванских свичах тоже 51 стоит. Это может радикально влиять на неработоспособность 100М? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aaarrr 69 3 июня, 2008 Опубликовано 3 июня, 2008 · Жалоба Это может радикально влиять на неработоспособность 100М? Радикально не может. А если записать 0x1785 в регистр 0x10 PHY и попробовать посылать пакеты на вход? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
lebiga 0 5 июня, 2008 Опубликовано 5 июня, 2008 · Жалоба Заработало. Взял третью плату - сделел как по даташиту - и 100М пошли пинги. Так что звиняйте за беспокойство, спасибо за подсказку! Всегда нужно читать последние даташиты :) ! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
lebiga 0 18 июля, 2008 Опубликовано 18 июля, 2008 · Жалоба Заработало. Взял третью плату - сделел как по даташиту - и 100М пошли пинги. Так что звиняйте за беспокойство, спасибо за подсказку! Всегда нужно читать последние даташиты :) ! Мда, а проблема совсем в другом. 100М сбоит или совсем не работает - когда перегревается сам процессор LPC2368. Проверено многократно, локально нагревая маленьким феном различные микросхемы (и кварцы тоже!). Немного улучшило картину 15пик, поцепленных на тактовый сигнал 50МГц. Поотключал в процессоре неиспользованную периферию, все входы-выходы особо не нагружены. И все-таки - нагреваю где-то до 50 градусов саму LPC - пошли сбои пинга. Подскажите, где копать? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
VslavX 0 7 ноября, 2008 Опубликовано 7 ноября, 2008 · Жалоба Продолжу тему. У меня тоже LPC2368/78 + DM9161AE, стек свой, успешно откатанный на SAM7X + DM9161E/AE. Линк на 100М успешно подымается, запускаю тест - передача 100 коротких self-ARP - на трех платах ведет себя по-разному - на комп(пробовал свичи/маршрутизаторы/сетевухи) приходит от 0, ~30%, ~90% пакетов. Четыре дня рвал на себе волосы - все грешил на 9161 и аналоговую часть - хотя опыта тут достаточно много наработано, сигналы в парах красивые - амплитуда отличная, согласование отличное. Перелопатил и перепахал тотально все - не работает нормально. По мере наблюдений выяснилось, что с прогревом пропадание пакетов уменьшается и со временем почти 100% начинают проходить на всех трех экспериментальных платах. Сейчас вот провел постой эксперимент - выложил самую глючную плату за окно (~ +5C сегодня). - платка полежала за окном, потом запустил серию из 100 пакетов - принято 0. - опять за окошко, снова серия, но при этом феном подогреваем 9161+трансформатор - принято 0. - за окошко, серия, феном греем генератор 50МГц + 9161 - принято 0. - за окошко, серия, феном греем 2378 - оп-па - пошли пакеты! Все, дальнейший нагрев (в разумных пределах) никак не влияет - сеть стабильно работает. Ну и как это понимать? Все Tsu/Th промерены - все согласно документации, с хорошим запасом, тактовая 50МГц тоже красивенькая. Сейчас вот буду пытаться сам пакет на RMII при помощи FPGA сграббить (осциллографом тяжеловато минимальные 576 бит прокрутить, а анализатора у меня нет). Чего я это все пишу? Да вопрос у меня есть - как там 23xx с другими PHY работает - все сразу и стабильно на 100М заводится? (С 10-кой и у меня все OK) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
zltigo 1 7 ноября, 2008 Опубликовано 7 ноября, 2008 · Жалоба Да вопрос у меня есть - как там 23xx с другими PHY работает - все сразу и стабильно на 100М заводится? (С 10-кой и у меня все OK) Совершенно нормально LPC2378 работает на любых скоростях и разрешенных температурах RMII от Micrel. Всякие шаманства описанные предыдущим оратором с кондерами на 50MHz прежде всего наводят на мысль, что разводили все левой ногой, а 50/100MHz это уже вполне серьезно. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AltemirX 0 7 ноября, 2008 Опубликовано 7 ноября, 2008 (изменено) · Жалоба Всякие шаманства описанные предыдущим оратором с кондерами на 50MHz прежде всего наводят на мысль, что разводили все левой ногой, а 50/100MHz это уже вполне серьезно. Господа, извините, конечно, под рукой нет сейчас даташита на 2368, но возможно ли ему подавать внешний тактовый сигнал 50МГц? Может только до 24? Изменено 7 ноября, 2008 пользователем Altemir Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
zltigo 1 7 ноября, 2008 Опубликовано 7 ноября, 2008 · Жалоба Господа, извините, конечно, под рукой нет сейчас даташита на 2368, но возможно ли ему подавать внешний тактовый сигнал 50МГц? А причем тут тактовая ядра/PLL LPC? 50MHz это тактировка RMII интерфейса на 100Mbit. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
VslavX 0 7 ноября, 2008 Опубликовано 7 ноября, 2008 · Жалоба Еще немного информации. Поставил я тактовый буфер типа PCK2002 на тактовую 50МГц, развязать тактовые сегменты, так сказать (у 9161 мутноватая тактовая схема - 50МГц надо подавать на ВЫХОД генератора). Для начала тупо подал тактовые на CPU и PHY с выходов буфера. С тем же результатом - сеть не работает. OK, буфер вносит задержку примерно 3нс, поиграемся с Tsu/Th. Оп-па - если тактовую, подаваемую на DM9161, задержать на эти самые 3нс - все начинает прекрасно работать, и сразу "c мороза", без всякого прогрева. Итого, мое имхо - в даташите на 9161 написано Tsu для сигналов TXD1/0, TXEN 4нс, реально скоп показывает минимум 5.8нс (по уровням 20/80). И этого оказывается недостаточно - возможно, помехи какие-то сдвигают время переключения, или в даташите бред (там есть еще несовпадающие с реалом места, так что исключить бред 100% нельзя). Задержка тактовой на DM9161 кардинально решает ситуацию с передачей. Но вот что там будет с приемом - пока непонятно - в даташите на LPC23xx я не нашел информацию по Tsu/Th для RMII. Попробую прием практически (допишу вот MAC-драйвер), а вот в серии придется, видимо, посмотреть в сторону Micrel-а. P.S. Всем спасибо за ответы. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
VslavX 0 8 ноября, 2008 Опубликовано 8 ноября, 2008 · Жалоба Посмотрел "модный" KSZ8041 и "зрелый" KS8721. У них Tsu - те же самые 4нс, от DM9161 никак не отличаются, так что не факт что на моей плате KSxxx заработают. Поиграюсь еще немного с трассировкой. А вообще NXP - "маладцы" - никакой информации в даташите насчет времянок RMII нет - на Tsu, ни Th, ни Tod. Намерянное мной Tod для LPC2378 - 12-14нс - вывод по RMII "впритык" получается, если где хоть малейший косячок - имеем проблему. До этого еще ковырялся с MDIO/MDC - там тоже времянки у LPC "сказочные" - в фазе вывода обеспечивает для PHY минимальнейшие Tsu порядка 10нс - короче LPC все время "по лезвию бритвы ходит". Еще при обмене по MDIO/MDC в MIND периодически вылазит бит "MII link fail" при чтении регистра 1 от PHY. Причем все остальные регистры работают без проблем. И из "фатального" регистра 1 данные нормально и правильно, но вот бит сбоя вылазит. Записал осциллографом нормальный цикл обмена и цикл с установленным битом сбоя - никаких отличий нет. Написал в NXP насчет разъяснения значения бита - третью неделю "морозятся". Пришлось на этот бит ошибки пока забить - также сделано и в коде Keil/Micrium/Niche. Еще MDIO/MDC не обнаруживает отсутствие стартового бита в ответе - на SAM7 было удобно автоматически сканировать шину MDIO по адресам, теперь приходится полагаться только на читаемый ID. Далее - JTAG у LPC23xx достаточно нестабильный. Я пользую терминальную отладку по DCC много лет - S3C44, S3C2410, IXP42x, PXA3xx, SAM7xx, BGB203 - все работают замечательно на том же софте и тех же адаптерах, а вот у 23-го при простом мониторинге DCC иногда вылазит какая-то хрень. Причем проблема явно аппаратная - если плату не трогать - тесты сутками крутятся, но стоит ее потрогать руками - тут же слетает. И подтяжки все на входах JTAG есть, и частоты входные не очень большие, и трассировка класса "не первый год замужем", а вот периодически слетает и все. Причем, сам процессор работает нормально и не сбрасывается, программа продолжает работать, слетает именно сам ICE/DCC - переинициализируешь по JTAG - все продолжается, программа сбоя даже не замечает. При отладке эзернета еще чудная вещь вылезла - при таком сбое по JTAG напрочь отваливается EMAC RAM. Все регистры EMAC-а доступны, все работает, а вот 16K памяти EMAC - просто нет. PCONP тут не причем - не помогает даже сброс-установка 30-го бита в PCONP, также не помогает сброс WDT - только "честный" аппаратный сброс через внешний вход. Классный такой баг - в сетевом стеке начинают разнобразные ассерты сыпаться - просто волосы дыбом встают, почти два дня на эту ерунду убил :( - мысль об отказе памяти даже в голову прийти не могла. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться