|
LPC2368 + D9161A (RMII) - не передает пакеты в сетку, ARP пакеты принимает, передает назад в PHY - компьютер не ловит! |
|
|
|
Nov 8 2008, 08:11
|

Гуру
     
Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244

|
Цитата(VslavX @ Nov 8 2008, 09:29)  просто волосы дыбом встают.... Лично у меня волосы дыбом встают от описаной картины  . Даже ума не приложу, что надо было сотворить c бедным контроллером для тактого. Из всего перечисленного, действительно, с временными параметрами у NXP в подавляющем большинстве случаеев в документации просто никак  . Приходится заниматься лабораторными работами на отладочных платах. Цитата(VslavX @ Nov 8 2008, 09:29)  Посмотрел "модный" KSZ8041 и "зрелый" KS8721. У них Tsu - те же самые 4нс, от DM9161 никак не отличаются.... Естественно не отличаются и проблема не в PHY или LPC.
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
Nov 8 2008, 09:21
|

embarrassed systems engineer
    
Группа: Свой
Сообщений: 1 083
Регистрация: 24-10-05
Из: Осокорки
Пользователь №: 10 038

|
Цитата(zltigo @ Nov 8 2008, 10:11)  Лично у меня волосы дыбом встают от описаной картины  . Даже ума не приложу, что надо было сотворить c бедным контроллером для тактого. Да JTAG - вообще вещь темная - полно всяких недокументированных регистров - у каждого производителя свой набор внутренних "примочек". Я с этим сбоем пытался разобраться - в принципе, мой монитор просто непрерывно читает регистр 4 ICE (Debug Comms Control Register), когда флажок готовности DCC появляется - считываются собственно принятые данные . Цикл чтения регистров ICE не особо сложный, но там есть фаза вывода адреса и типа операции. И что-то по цепям (если трогать плату рукой) "проскакивает" и цикл чтения ICE заканчивается не совсем так как положено. Состояние TAP-контроллера при этом вроде адекватное - все документированное нормально доступно без сброса TAP-а. Работа JTAG полностью восстанавливается перезаписью IR и регистра номера цепочки. Такое иногда у меня бывает на разных процесорах, но почему у LPC при этом отпадает EMAC RAM - хз. Наверное, чтобы дать мне повод поворчать  . Если от аппаратных "помех" полностью избавляться - то, имхо, нужен JTAG с гальваноразвязкой, наверное они бывают, но я таких не видел, сам спокойно пользую обычный альтеровский байт-бластер. Баг "с отвалом" бывает не особо часто (особенно если руками не лезть куда не надо  ) , при отладке вполне терпимо, так особо напрягаться с разработкой спец.адаптера смысла не вижу пока. Цитата(zltigo @ Nov 8 2008, 10:11)  Из всего перечисленного, действительно, с временными параметрами у NXP в подавляющем большинстве случаеев в документации просто никак  . Приходится заниматься лабораторными работами на отладочных платах. Ну вот я тоже позанимался - вижу опережение данных перед тактовой на 6нс - не работает. Просмотрел буквально всю смысловую часть пакета (паддинг там однородный - смотреть все данные нечего - они не меняются) на TXD0/TXD1/TXEN - везде есть четко минимум 5.8нс, то есть ни помех и ничего такого подозрительного - а пакет "не прошел". На 100% в трассировке, конечно, уверенным быть нельзя - буду еще играться, но она сделана вполне добротно (даже не мной, а проинструктированным коллегой - в две головы думали  ) - не в первый раз сотня/полусотня МГц на двухслойке подымается. Цитата(zltigo @ Nov 8 2008, 10:11)  Естественно не отличаются и проблема не в PHY или LPC. Не знаю, имхо, LPC тоже "хорош" - иметь Tpd 12-14нс на 50МГц интерфейсе - не камильфо, приходится из-за этого ерундой страдать. Напишу-ка я еще пару "злобных" писем в NXP  - попробую недостающие цифры с них сторбить.
|
|
|
|
|
Nov 8 2008, 10:16
|

Гуру
     
Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244

|
Цитата(VslavX @ Nov 8 2008, 12:21)  ..иметь Tpd 12-14нс на.. Вопрос в том, чем все это смотрели? Осциллограф гигагерцовый, щупы активные....? В противном случае видимое имеет сильные отличия от реальности. Цитата(VslavX @ Nov 8 2008, 12:21)  ..спокойно пользую обычный альтеровский байт-бластер. Это следует понимать, как нечто самодельное функционально совместимое с LPTшным байтбластером? Подключенное в лучшем случае 10pin шлейфом в 20pin стандартный ARM JTAG? Или экономия еще больше - в стиле http://electronix.ru/forum/index.php?showtopic=54883&hl=  ?
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
Nov 8 2008, 20:36
|

embarrassed systems engineer
    
Группа: Свой
Сообщений: 1 083
Регистрация: 24-10-05
Из: Осокорки
Пользователь №: 10 038

|
Цитата(zltigo @ Nov 8 2008, 12:16)  Вопрос в том, чем все это смотрели? Осциллограф гигагерцовый, щупы активные....? В противном случае видимое имеет сильные отличия от реальности. Увы, скоп скромный - с полосой всего лишь 350МГц и на 2Gs, щупы обычные. В абсолютных значениях сигнала может быть оно и отличается от реальности, но дельты видно отлично. А щупы из комплекта, ну не фонтан, но и не столь уж плохи - я ими DDR-333 шину данных отлаживал - нормально, жить можно. Ну и экспериментальный факт - добавили задержку 3нс (BTW, мой неидеальный скоп это четко показал) - и все жужжит. И Davicom в даташите указал Tsu, а вот NXP свой Tpd стыдливо зажал. Пока верим Davicov-у  - потому как больше нечему верить. Ответит NXP - обсудим. Цитата(zltigo @ Nov 8 2008, 12:16)  Это следует понимать, как нечто самодельное функционально совместимое с LPTшным байтбластером? Подключенное в лучшем случае 10pin шлейфом в 20pin стандартный ARM JTAG? Или экономия еще больше - в стиле http://electronix.ru/forum/index.php?showtopic=54883&hl=  ? Угу. Cкорее мелкосерийное, уже штук 200-300 раздали за 10 лет. И экономия - то само собой - "Наташа, Вас никогда не били мокрым веслом по голому заду?" - а меня, случается, за лишние резисторы-конденсаторы 0805 "бьют"  . И "плебейские" SAM7xx работают по этому "экономическому" разъему практически без сбоев - хоть при разработке, хоть серийно  , а вот "аристократические" LPC - как-то сбоят  .
|
|
|
|
|
Nov 9 2008, 15:15
|

Частый гость
 
Группа: Свой
Сообщений: 163
Регистрация: 22-06-06
Из: Киев
Пользователь №: 18 292

|
Цитата(VslavX @ Nov 8 2008, 12:21)  Ну вот я тоже позанимался - вижу опережение данных перед тактовой на 6нс - не работает. Мне немного помог конденсатор 15пик на тактовую и включенная подтяжка этого сигнала в LPC2368. НО все это шаманство, день от дня работает по-разному. Платы с starterkit (8 шт) с LPC2378 и KS8721BL работают как часы. То ли я так развел неудачно, то ли 2368 и 2378 EMAC модули различатся ???
|
|
|
|
|
Nov 9 2008, 19:00
|

embarrassed systems engineer
    
Группа: Свой
Сообщений: 1 083
Регистрация: 24-10-05
Из: Осокорки
Пользователь №: 10 038

|
Цитата(lebiga @ Nov 9 2008, 17:15)  Мне немного помог конденсатор 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 чего хорошего по времянке отпишет.
|
|
|
|
|
Nov 10 2008, 08:20
|

Частый гость
 
Группа: Свой
Сообщений: 163
Регистрация: 22-06-06
Из: Киев
Пользователь №: 18 292

|
Цитата(VslavX @ Nov 9 2008, 22:00)  А какой именно "старперкит", если не секрет? Печатная плата там случайно не 4-х+ слойная? SK-LPC2378-S300 плата двухслойная
|
|
|
|
|
Nov 12 2008, 21:02
|

embarrassed systems engineer
    
Группа: Свой
Сообщений: 1 083
Регистрация: 24-10-05
Из: Осокорки
Пользователь №: 10 038

|
Цитата(zltigo @ Nov 12 2008, 21:40)  Eсть несколько плат LPC24/23 двуслойных с односторонним монтажем и при этом без всяких проблем. Угу. Я пока "для себя" проблему так разложил - 30% трассировка, 70% проблема Давикома. Трассировка у нас на этой проблемной плате неидеальная - есть что поулучшать, но и не беспредел - все возвратные земельки/питания в наличии имеются, раздача клоков выравнена и согласована - никаких "левых: отражений. А вот Давиком - чип достаточно древний и с достаточно мутным даташитом, да и скоп показывает, что вроде как все требования Tsu/Th выполняются. Сейчас будет еще одна итерация платы с 9161 (время жмет - не дали добро на быстрый перепрыг на Макрель) - там с длиной тактовых цепей и землями поиграемся - в свете результатов экспериментов, ну а потом - вплотную займемся Макрелью. NXP на вопрос по Tpd/Tsu/Th уже полторы недели молчит, на ранее заданные вопросы по MII management - три недели молчок. Подтверждение на вопросы пришло - типа рассматривают. Ну OK, еще подождем - все пока обычно - как для бесплатного саппорта.
|
|
|
|
|
Nov 13 2008, 08:21
|

Частый гость
 
Группа: Свой
Сообщений: 163
Регистрация: 22-06-06
Из: Киев
Пользователь №: 18 292

|
Цитата(VslavX @ Nov 12 2008, 20:56)  Да, там дизайн платы любопытный - двухсторонний монтаж, CPU и PHY практически один над другим с разных сторон платы - бутербродиком. Я запустил, наконец, EMAC на прием. Tpd у DM9161 на линиях ERXD[1..0] примерно 13нс, задерживаем тактовую на DM9161 на 3нс, получаем Tsu на LPC по входам ERXD[1..0] примерно 4 нс. При этом все устойчиво работает - и прием и передача. Полдня пинговалось 1500-байтовыми пакетами - 0% loss. А теперь попробуйте погреть процессор или собрать в корпус и поганять. Только проц нагревается до 40-50 - идет пропадание пакетов. Пришлось мне ставить вентилятор - не мог сдать проект вовремя...
|
|
|
|
|
Dec 10 2008, 11:03
|

embarrassed systems engineer
    
Группа: Свой
Сообщений: 1 083
Регистрация: 24-10-05
Из: Осокорки
Пользователь №: 10 038

|
Цитата(lebiga @ Dec 10 2008, 12:35)  В общем так... После многочисленных тестов на трех видах разводки плат с DM9161AE, LPC2368 и LPC2387 сделал вывод - DM9161 для LPC НЕ ПОДХОДИТ, работа всегда неустойчива, настроить требует больших А у нас - получилось  . Схема трассировки клока RMII такая - разветвление возле генератора 50МГц, потом стоят два резистора по 27Ом, и цепь от генератора на DM9161 длинее на 25-30 см чем до процессора. Все работает на нескольких разных платах - 2368/78/88 и приразных температурах. Второй вариант - цепи тактовой примерно одинаковые, резисторы - там же (возле генератора), но на вход тактовой RMII процессора добавить 20-30пФ - тоже работает - выходные данные просто "переезжают" на следующий период. Затягивать фронты на DM9161 - нельзя, иначе его внутренняя PLL периодически улетает не пойми куда, а вот LPC - гораздо лояльней к фронтам. Но по итогам - да, согласен - 9161 с LPC "не дружит", в серии тоже переходим на Micrel.
|
|
|
|
|
Dec 16 2008, 11:30
|
Профессионал
    
Группа: Свой
Сообщений: 1 047
Регистрация: 2-12-06
Из: Kyiv, Ukraine
Пользователь №: 23 046

|
прочитал этот топик, думаю, стоит ли использовать LPC2378+KS8721 или LAN8700 для ethernet-задач..сейчас надо начинать проект, вот и думаю, что бы влепить... то ли рискнуть LPC23, то ли sam7x, то-ли что-нибудь от ST...
я так понимаю, что более стабильно работает MII из за низкой частоты, прочитав тему, понял,что проблеммы из за Tpd/Tsu/Th
Сообщение отредактировал brag - Dec 16 2008, 11:34
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|