alexPec 3 9 мая Опубликовано 9 мая · Жалоба Всем доброго дня! Есть плата с чипом XCZU4. Снаружи DDR4 1Гб+ загрузочная флешь MT25QU256. Из 100 плат 5 шт ведут себя нехорошо, а именно: Если плата долго полежала (час-два, когда как) 🙂 , то при включении грузится ПЛИС, но по всей видимости процессорные ядра не стартуют. Никаких признаков работы ядер нет,в т.ч. системный уарт. При этом PL часть работает. Если выключить питание и включить - стабильно запускается. И потом можно сколь угодно перетыкать питание - стабильно все запускается. 50 раз точно проверял. Полежит час-два - при первом включении та же история. Перепаял ПЛИС, DDR, флешку - все без толку. Поведение то же. Ресет сделан на ADM6711 - выход ее подключен к POR_RESET_B и PS_SRST. Но я не успокоился - думаю, раз ПЛИС грузится - поставлю ка я вочдог, который если процессор не дернет за линию - через n секунд дергает за master reset у AD6711, т.е. ПЛИС ресетит сама себя. Ну и что вижу - ПЛИС регулярно, через n сек. ресетится, но процессорные ядра не стартуют. Стоит переткнуть питание - все начинает работать и так пока снова долго не полежит. Загрузку ПЛИС контролирую по светодиодам PS_DONE и PS_INIT_B - они светятся когда ПЛИС загружена, т.е. на этих ногах "1". Повторюсь, все платы из 100, кроме 5 шт. работают нормально и ничего подобного за ними не наблюдается. Было у кого такое? Что делать? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
makc 214 9 мая Опубликовано 9 мая · Жалоба Проверьте соответствие порядка подачи питания требованиям документации. Желательно не просто по схеме и описаниям проверить, но и убедиться с помощью осциллографа на дурящих платах, что с этим всё в порядке. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
alexPec 3 9 мая Опубликовано 9 мая · Жалоба Тоже про это думал. Порядок включения у меня по цепочке, по сигналам Power Good. Только если по факту посмотреть как там, на аномальных. А так порядок сейчас такой: 0,85В одновременно 1,2В и 1,1В 1,8В 3,3В Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Nixon 4 10 мая Опубликовано 10 мая · Жалоба Если используете трансиверы то важно чтобы VMGTAVCC было раньше VMGTAVTT. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
alexPec 3 10 мая Опубликовано 10 мая · Жалоба Проверил осциллографом - все как задумано работает, ничего раньше чем надо не включается. Однако же эффект не ушел, даже после замены стабилизаторов. 55 минут назад, Nixon сказал: Если используете трансиверы то важно чтобы VMGTAVCC было раньше VMGTAVTT. Трансиверы не использую, VMGTAVCC делается из VMGTAVTT линейным стабилизатором. Поэтому растут они вместе, но поскольку первый 0,9В, а второй - 1,2В, то первый дорастает до своего значения раньше, потом дорастает 1,2В Теперь уже все списал бы на механический плавающий дефект (например, нестабильный контакт переходного отверстия), но смущает что еще 4 платы с такими же признаками. Не может же механический дефект одинаковый быть у 5 плат. Тем более что в остальных 95 платах ни одного дефекта. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Nixon 4 10 мая Опубликовано 10 мая · Жалоба "The recommended power-on sequence to achieve minimum current draw for the GTH or GTY transceivers is VCCINT, VMGTAVCC, VMGTAVTT OR VMGTAVCC, VCCINT, VMGTAVTT. There is no recommended sequencing for VMGTVCCAUX. Both VMGTAVCC and VCCINT can be ramped simultaneously." Т.е. обязательно требуется чтобы VMGTAVCC был раньше чем VMGTAVTT Я бы больше поставил все же на правильную последовательность чем на механический дефект - на это указывает также и то что при выключении и включении все работает нормально. Если вы не применяете rail discharge для своих питаний то это говорит о том что в этом случает неразряженные конденсаторы на VMGTAVCC (а там токи гораздо меньше) помогают соблюсти правильную последовательность Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
makc 214 10 мая Опубликовано 10 мая · Жалоба 31 минуту назад, alexPec сказал: Не может же механический дефект одинаковый быть у 5 плат. Тем более что в остальных 95 платах ни одного дефекта. При некачественной пайке я такое наблюдал несколько раз, что около 5% плат и даже больше по-разному чудят, в том числе и не запускаются. Может быть это банальный недогрев, посмотрите под микроскопом на форму шаров и сравните их с шарами на рабочих платах. Ещё можно попробовать перед запуском нажать пальцем на корпус посильнее и не отпуская пальца подать питание: если будет запускаться, то это однозначно проблема пайки. 10 минут назад, Nixon сказал: The recommended power-on sequence to achieve minimum current draw for the GTH or GTY transceivers Здесь нет ни слова, что несоблюдение приведет к проблемам запуска, это всего лишь способ не перегружать источник в момент пуска. 10 минут назад, Nixon сказал: Я бы больше поставил все же на правильную последовательность чем на механический дефект - на это указывает также и то что при выключении и включении все работает нормально. Если вы не применяете rail discharge для своих питаний то это говорит о том что в этом случает неразряженные конденсаторы на VMGTAVCC (а там токи гораздо меньше) помогают соблюсти правильную последовательность Я пока ни разу не сталкивался с проблемой запуска хилых ПЛИС при одновременной подаче VMGTAVCC и VMGTAVTT, а суммарный тираж плат больше 20e3. Непохоже это на причину проблемы. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Nixon 4 10 мая Опубликовано 10 мая · Жалоба Может и не влияет. Но лучше последовательность соблюдать. Кроме того посмотрите на время нарастания напряжений на источниках - не более 40ms до уровня 95% 1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
makc 214 10 мая Опубликовано 10 мая · Жалоба Только что, Nixon сказал: Кроме того посмотрите на время нарастания напряжений на источниках - не более 40ms до уровня 95% Вот на это действительно стоит обратить внимание и проверить осциллографом. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
alexPec 3 10 мая Опубликовано 10 мая · Жалоба 10 минут назад, Nixon сказал: Я бы больше поставил все же на правильную последовательность чем на механический дефект - на это указывает также и то что при выключении и включении все работает нормально. Но ведь абсолютно такие же платы, 95% работают нормально... Если бы причина была в противоречии между реальной конструкцией и документацией, думаю не работало бы гораздо больше. 3 минуты назад, Nixon сказал: Может и не влияет. Но лучше последовательность соблюдать. Кроме того посмотрите на время нарастания напряжений на источниках - не более 40ms до уровня 95% А вот это не смотрел, что-то на глаза не попалось это требование. Гляну, спасибо! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
fguy 5 11 мая Опубликовано 11 мая · Жалоба Обязательно тестируйте ддр на проце - не полагайтесь на сигнал конец калибровки - он не дает полной гарантии работоспособности ддр. Необходимый минимум тестов во всем диапазоне адресов - несколько разных масок и непрерывный счетчик для выявления проблем с адресами. Тест лучше всего запускать из памяти проца а не из ддр. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
alexPec 3 11 мая Опубликовано 11 мая · Жалоба 2 часа назад, fguy сказал: Обязательно тестируйте ддр на проце - не полагайтесь на сигнал конец калибровки - он не дает полной гарантии работоспособности ддр. Необходимый минимум тестов во всем диапазоне адресов - несколько разных масок и непрерывный счетчик для выявления проблем с адресами. Тест лучше всего запускать из памяти проца а не из ддр. Это обязательная вещь. Все проходят полное тестирование по программе из шаблона memory test Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
fguy 5 11 мая Опубликовано 11 мая · Жалоба 9 минут назад, alexPec сказал: Это обязательная вещь. Все проходят полное тестирование по программе из шаблона memory test Надо проверять весь объем и более тщательно, а не "вот это вот" из сдк. В 09.05.2024 в 10:12, alexPec сказал: Если плата долго полежала (час-два, когда как) 🙂 , то при включении грузится ПЛИС, но по всей видимости процессорные ядра не стартуют. Если плисовая часть выставила Done после включения это значит что как минимум загрузился в проц FSBL и выполнил удачную загрузку плис, а штатный процессорный код может зависнуть по миллиону причин. Самое простое это смотреть логи проца - если они у вас конечно выводятся и отражают последовательность запуска штатного софта проца. В таких случаях часто подвисает на инициализации периферийных чипов - генераторов, клокменеджеров и контролеров чего-нибудь. Если в плис есть подключенный к процу AXI-интерконнект работающий от внешних тактов, то их отсутствие так же приведет к глухому зависанию проца при попытке чего-нибудь прочитать или записать через него. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
alexPec 3 11 мая Опубликовано 11 мая · Жалоба 59 минут назад, fguy сказал: Надо проверять весь объем и более тщательно, а не "вот это вот" из сдк. Да вроде там прилично проверяется - и бегущими нулями, и единицами и паттерны, и рандомные тесты какие-то есть и все эти тесты я провожу на весь объем. Вообще, за всю историю работы с этими памятями (наверно, штук 1000+), единственный раз только попалась память битая. Клоки все внутри ультраскейла формируются, снаружи только генератор на 50 мгц. И судя по тому, что плисовая часть как-то работает (по крайней мере, вочдог самописный), то с генераторами и плл-ами все в порядке. А вот процы никаких признаков жизни не подают, в уарт вообще ничего не идет. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dxp 56 12 мая Опубликовано 12 мая · Жалоба А через JTAG подрубиться не пробовали? Там, вроде, есть режим, когда можно дебаг-сессию поднять, подключившись к уже загруженной в программе. Сам не пробовал такое. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться