zltigo 1 8 ноября, 2008 Опубликовано 8 ноября, 2008 · Жалоба просто волосы дыбом встают.... Лично у меня волосы дыбом встают от описаной картины :). Даже ума не приложу, что надо было сотворить c бедным контроллером для тактого. Из всего перечисленного, действительно, с временными параметрами у NXP в подавляющем большинстве случаеев в документации просто никак :(. Приходится заниматься лабораторными работами на отладочных платах. Посмотрел "модный" KSZ8041 и "зрелый" KS8721. У них Tsu - те же самые 4нс, от DM9161 никак не отличаются.... Естественно не отличаются и проблема не в PHY или LPC. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
VslavX 0 8 ноября, 2008 Опубликовано 8 ноября, 2008 · Жалоба Лично у меня волосы дыбом встают от описаной картины :). Даже ума не приложу, что надо было сотворить c бедным контроллером для тактого. Да JTAG - вообще вещь темная - полно всяких недокументированных регистров - у каждого производителя свой набор внутренних "примочек". Я с этим сбоем пытался разобраться - в принципе, мой монитор просто непрерывно читает регистр 4 ICE (Debug Comms Control Register), когда флажок готовности DCC появляется - считываются собственно принятые данные . Цикл чтения регистров ICE не особо сложный, но там есть фаза вывода адреса и типа операции. И что-то по цепям (если трогать плату рукой) "проскакивает" и цикл чтения ICE заканчивается не совсем так как положено. Состояние TAP-контроллера при этом вроде адекватное - все документированное нормально доступно без сброса TAP-а. Работа JTAG полностью восстанавливается перезаписью IR и регистра номера цепочки. Такое иногда у меня бывает на разных процесорах, но почему у LPC при этом отпадает EMAC RAM - хз. Наверное, чтобы дать мне повод поворчать :). Если от аппаратных "помех" полностью избавляться - то, имхо, нужен JTAG с гальваноразвязкой, наверное они бывают, но я таких не видел, сам спокойно пользую обычный альтеровский байт-бластер. Баг "с отвалом" бывает не особо часто (особенно если руками не лезть куда не надо :)) , при отладке вполне терпимо, так особо напрягаться с разработкой спец.адаптера смысла не вижу пока. Из всего перечисленного, действительно, с временными параметрами у NXP в подавляющем большинстве случаеев в документации просто никак :(. Приходится заниматься лабораторными работами на отладочных платах. Ну вот я тоже позанимался - вижу опережение данных перед тактовой на 6нс - не работает. Просмотрел буквально всю смысловую часть пакета (паддинг там однородный - смотреть все данные нечего - они не меняются) на TXD0/TXD1/TXEN - везде есть четко минимум 5.8нс, то есть ни помех и ничего такого подозрительного - а пакет "не прошел". На 100% в трассировке, конечно, уверенным быть нельзя - буду еще играться, но она сделана вполне добротно (даже не мной, а проинструктированным коллегой - в две головы думали :)) - не в первый раз сотня/полусотня МГц на двухслойке подымается. Естественно не отличаются и проблема не в PHY или LPC. Не знаю, имхо, LPC тоже "хорош" - иметь Tpd 12-14нс на 50МГц интерфейсе - не камильфо, приходится из-за этого ерундой страдать. Напишу-ка я еще пару "злобных" писем в NXP :) - попробую недостающие цифры с них сторбить. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
zltigo 1 8 ноября, 2008 Опубликовано 8 ноября, 2008 · Жалоба ..иметь Tpd 12-14нс на.. Вопрос в том, чем все это смотрели? Осциллограф гигагерцовый, щупы активные....? В противном случае видимое имеет сильные отличия от реальности. ..спокойно пользую обычный альтеровский байт-бластер. Это следует понимать, как нечто самодельное функционально совместимое с LPTшным байтбластером? Подключенное в лучшем случае 10pin шлейфом в 20pin стандартный ARM JTAG? Или экономия еще больше - в стиле http://electronix.ru/forum/index.php?showtopic=54883&hl= :(? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
VslavX 0 8 ноября, 2008 Опубликовано 8 ноября, 2008 · Жалоба Вопрос в том, чем все это смотрели? Осциллограф гигагерцовый, щупы активные....? В противном случае видимое имеет сильные отличия от реальности. Увы, скоп скромный - с полосой всего лишь 350МГц и на 2Gs, щупы обычные. В абсолютных значениях сигнала может быть оно и отличается от реальности, но дельты видно отлично. А щупы из комплекта, ну не фонтан, но и не столь уж плохи - я ими DDR-333 шину данных отлаживал - нормально, жить можно. Ну и экспериментальный факт - добавили задержку 3нс (BTW, мой неидеальный скоп это четко показал) - и все жужжит. И Davicom в даташите указал Tsu, а вот NXP свой Tpd стыдливо зажал. Пока верим Davicov-у :) - потому как больше нечему верить. Ответит NXP - обсудим. Это следует понимать, как нечто самодельное функционально совместимое с LPTшным байтбластером? Подключенное в лучшем случае 10pin шлейфом в 20pin стандартный ARM JTAG? Или экономия еще больше - в стиле http://electronix.ru/forum/index.php?showtopic=54883&hl= :(? Угу. Cкорее мелкосерийное, уже штук 200-300 раздали за 10 лет. И экономия - то само собой - "Наташа, Вас никогда не били мокрым веслом по голому заду?" - а меня, случается, за лишние резисторы-конденсаторы 0805 "бьют" . И "плебейские" SAM7xx работают по этому "экономическому" разъему практически без сбоев - хоть при разработке, хоть серийно , а вот "аристократические" LPC - как-то сбоят :crying:. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
lebiga 0 9 ноября, 2008 Опубликовано 9 ноября, 2008 · Жалоба Ну вот я тоже позанимался - вижу опережение данных перед тактовой на 6нс - не работает. Мне немного помог конденсатор 15пик на тактовую и включенная подтяжка этого сигнала в LPC2368. НО все это шаманство, день от дня работает по-разному. Платы с starterkit (8 шт) с LPC2378 и KS8721BL работают как часы. То ли я так развел неудачно, то ли 2368 и 2378 EMAC модули различатся ??? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
VslavX 0 9 ноября, 2008 Опубликовано 9 ноября, 2008 · Жалоба Мне немного помог конденсатор 15пик на тактовую и включенная подтяжка этого сигнала в LPC2368. НО все это шаманство, день от дня работает по-разному. Платы с starterkit (8 шт) с LPC2378 и KS8721BL работают как часы. То ли я так развел неудачно, то ли 2368 и 2378 EMAC модули различатся ??? С конденсатором как раз понятно - затянулся немного фронт, пороги переключения у двух отдельных чипов (9161 и LPC) разные, и зависят от кучи факторов - вот времянка немного и "сыграла" . А какой именно "старперкит", если не секрет? Печатная плата там случайно не 4-х+ слойная? Я сейчас пробую именно на 2378 - симптомы те же самые что и у Вас. Есть платы и на 2368 - могу и их погонять (трассировка, правда, там совсем другая - эксперимент не слишком корректный будет), но не думаю, что 78-ые принципиально от 68-ых отличаются. Посмотрел даташит на SAM7X - у них Tpd по данным ETXxx до 15.9нс. Теперь я понимаю почему у них в Errata на SAM7X есть скромный такой пунктик "RMII is not functional" :). А вот Tsu по ERXxx/ERDV - достаточно хороши - 2нс . Глупо, конечно, экстраполировать данные от SAM7 на LPC (ну ясен пень - SAM7 в тыщу разов круче ) , но технология более-менее одинаковая, будем надеятся что прием со сдвинутой RMII-тактовой заработает на LPC23xx нормально. А там может и NXP чего хорошего по времянке отпишет. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
lebiga 0 10 ноября, 2008 Опубликовано 10 ноября, 2008 · Жалоба А какой именно "старперкит", если не секрет? Печатная плата там случайно не 4-х+ слойная? SK-LPC2378-S300 плата двухслойная Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
VslavX 0 12 ноября, 2008 Опубликовано 12 ноября, 2008 · Жалоба SK-LPC2378-S300 плата двухслойная Да, там дизайн платы любопытный - двухсторонний монтаж, CPU и PHY практически один над другим с разных сторон платы - бутербродиком. Я запустил, наконец, EMAC на прием. Tpd у DM9161 на линиях ERXD[1..0] примерно 13нс, задерживаем тактовую на DM9161 на 3нс, получаем Tsu на LPC по входам ERXD[1..0] примерно 4 нс. При этом все устойчиво работает - и прием и передача. Полдня пинговалось 1500-байтовыми пакетами - 0% loss. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
zltigo 1 12 ноября, 2008 Опубликовано 12 ноября, 2008 · Жалоба Да, там дизайн платы любопытный - двухсторонний монтаж... Eсть несколько плат LPC24/23 двуслойных с односторонним монтажем и при этом без всяких проблем. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
VslavX 0 12 ноября, 2008 Опубликовано 12 ноября, 2008 · Жалоба Eсть несколько плат LPC24/23 двуслойных с односторонним монтажем и при этом без всяких проблем. Угу. Я пока "для себя" проблему так разложил - 30% трассировка, 70% проблема Давикома. Трассировка у нас на этой проблемной плате неидеальная - есть что поулучшать, но и не беспредел - все возвратные земельки/питания в наличии имеются, раздача клоков выравнена и согласована - никаких "левых: отражений. А вот Давиком - чип достаточно древний и с достаточно мутным даташитом, да и скоп показывает, что вроде как все требования Tsu/Th выполняются. Сейчас будет еще одна итерация платы с 9161 (время жмет - не дали добро на быстрый перепрыг на Макрель) - там с длиной тактовых цепей и землями поиграемся - в свете результатов экспериментов, ну а потом - вплотную займемся Макрелью. NXP на вопрос по Tpd/Tsu/Th уже полторы недели молчит, на ранее заданные вопросы по MII management - три недели молчок. Подтверждение на вопросы пришло - типа рассматривают. Ну OK, еще подождем - все пока обычно - как для бесплатного саппорта. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
lebiga 0 13 ноября, 2008 Опубликовано 13 ноября, 2008 · Жалоба Да, там дизайн платы любопытный - двухсторонний монтаж, CPU и PHY практически один над другим с разных сторон платы - бутербродиком. Я запустил, наконец, EMAC на прием. Tpd у DM9161 на линиях ERXD[1..0] примерно 13нс, задерживаем тактовую на DM9161 на 3нс, получаем Tsu на LPC по входам ERXD[1..0] примерно 4 нс. При этом все устойчиво работает - и прием и передача. Полдня пинговалось 1500-байтовыми пакетами - 0% loss. А теперь попробуйте погреть процессор или собрать в корпус и поганять. Только проц нагревается до 40-50 - идет пропадание пакетов. Пришлось мне ставить вентилятор - не мог сдать проект вовремя... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
VslavX 0 13 ноября, 2008 Опубликовано 13 ноября, 2008 · Жалоба А теперь попробуйте погреть процессор или собрать в корпус и поганять. Только проц нагревается до 40-50 - идет пропадание пакетов. Пришлось мне ставить вентилятор - не мог сдать проект вовремя... Погрел - нормально все. "Прогнал" три платы примерно в диапазоне 5..70C. Плата с задержкой тактовой на PHY работает при любой температуре 5..70. Еще одна плата (без доработки для задержки) - работает примерно 20..70, вторая плата (тоже без задержки) - 35..70. В моем случае нагрев только помогает :). Прием пакетов работает везде и при любой температуре. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
lebiga 0 10 декабря, 2008 Опубликовано 10 декабря, 2008 · Жалоба В общем так... После многочисленных тестов на трех видах разводки плат с DM9161AE, LPC2368 и LPC2387 сделал вывод - DM9161 для LPC НЕ ПОДХОДИТ, работа всегда неустойчива, настроить требует больших затрат, при этом работоспособность и надежность не гарантируется. Одни платы работают только на 10М, другие зависят от температуры, третьи вообще не обмениваются по RMII (настройка по MDIO выполняется). Перешел на KS8721BL - и забыл о всех этих проблемах, на 100М валит хороший поток, ничего не греется. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
VslavX 0 10 декабря, 2008 Опубликовано 10 декабря, 2008 · Жалоба В общем так... После многочисленных тестов на трех видах разводки плат с DM9161AE, LPC2368 и LPC2387 сделал вывод - DM9161 для LPC НЕ ПОДХОДИТ, работа всегда неустойчива, настроить требует больших А у нас - получилось :). Схема трассировки клока RMII такая - разветвление возле генератора 50МГц, потом стоят два резистора по 27Ом, и цепь от генератора на DM9161 длинее на 25-30 см чем до процессора. Все работает на нескольких разных платах - 2368/78/88 и приразных температурах. Второй вариант - цепи тактовой примерно одинаковые, резисторы - там же (возле генератора), но на вход тактовой RMII процессора добавить 20-30пФ - тоже работает - выходные данные просто "переезжают" на следующий период. Затягивать фронты на DM9161 - нельзя, иначе его внутренняя PLL периодически улетает не пойми куда, а вот LPC - гораздо лояльней к фронтам. Но по итогам - да, согласен - 9161 с LPC "не дружит", в серии тоже переходим на Micrel. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
brag 0 16 декабря, 2008 Опубликовано 16 декабря, 2008 (изменено) · Жалоба прочитал этот топик, думаю, стоит ли использовать LPC2378+KS8721 или LAN8700 для ethernet-задач..сейчас надо начинать проект, вот и думаю, что бы влепить... то ли рискнуть LPC23, то ли sam7x, то-ли что-нибудь от ST... я так понимаю, что более стабильно работает MII из за низкой частоты, прочитав тему, понял,что проблеммы из за Tpd/Tsu/Th Изменено 16 декабря, 2008 пользователем brag Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться