Перейти к содержанию
    

Проблемы со стартом XCZU3CG

12 минут назад, gosha-z сказал:

Для меня до сих пор остается загадкой: чем народу не нравится All-in-One супервизор питания, сделанный специально для ZUS+, все почему-то норовят сделать россыпью?

Просто они у меня в серии используются, а это первая опытная плата на XCZU.

Нашел косяк в плате - прошляпил подключение ног VCC_PSADC, и весь АЦП PL: VCCADC, GNDADC, VREFN, VREFP, VN, VP, DXN, DXP. Все это сейчас в воздухе болтается. Может из-за этого висеть APU?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

AMS - штука полезная, но вроде ее незапитанность не должна влиять на работоспособность APU. Хотя кто его знает. Вообще говоря, полезная штука - не надо внешние мониторы вешать, пользуй все готовое. А если внешний вентилятор используется - то для этого выход DXP/DXN и предназначен.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 час назад, gosha-z сказал:

AMS - штука полезная, но вроде ее незапитанность не должна влиять на работоспособность APU. Хотя кто его знает. Вообще говоря, полезная штука - не надо внешние мониторы вешать, пользуй все готовое. А если внешний вентилятор используется - то для этого выход DXP/DXN и предназначен.

Написано что в любом случае питание АЦП цеплять надо и у PS и у PL, даже если не используется, написано

image.png.3fd7926815167257a68d2bd331170a23.png

Возможно монитор как-то внутренне блокирует работу APU, если его не подцепить.

А как эти чипы (корпус SFVC784) относятся к rework? Никто не пробовал их спаивать и реболить?  

Альтеры на пайку-то плохо реагируют. Чуть температура побольше - и все, внутренние обрывы ног корпуса...

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В 19.04.2019 в 11:26, gosha-z сказал:

AMS - штука полезная, но вроде ее незапитанность не должна влиять на работоспособность APU. Хотя кто его знает. Вообще говоря, полезная штука - не надо внешние мониторы вешать, пользуй все готовое. А если внешний вентилятор используется - то для этого выход DXP/DXN и предназначен.

Подремонтировал плату, запитал мониторы PL и PS. В jtag все появилось, и APU 2 ядра, и RPU 2 ядра. PL нормально заливается.

Создал проект из темплейта - memory test. При попытке запустить его на дебаг начинает инициализировать все, потребляемый ток подскакивает в разумных пределах (видимо арм включается) и все, висит... Лог такой:

15:31:31 INFO	: Connected to target on host '127.0.0.1' and port '3121'.
15:31:31 INFO	: Jtag cable 'Digilent JTAG-HS3 210299A56F1B' is selected.
15:31:31 INFO	: 'jtag frequency' command is executed.
15:31:31 INFO	: Sourcing of 'C:/Xilinx/SDK/2018.2/scripts/sdk/util/zynqmp_utils.tcl' is done.
15:31:31 INFO	: Context for 'APU' is selected.
15:31:31 INFO	: Cleared APU and A53 resets
15:31:31 INFO	: Context for 'RPU' is selected.
15:31:31 INFO	: Cleared RPU and R5 resets
15:31:31 INFO	: Context for 'APU' is selected.
15:31:31 INFO	: Hardware design information is loaded from 'D:/xilinx_proj/zcu3_testrealboard/test_xczu3real.sdk/Base_Zynq_MPSoC_wrapper_hw_platform_0/system.hdf'.
15:31:31 INFO	: 'configparams force-mem-access 1' command is executed.
15:31:31 INFO	: Context for 'APU' is selected.
15:31:31 INFO	: Sourcing of 'D:/xilinx_proj/zcu3_testrealboard/test_xczu3real.sdk/Base_Zynq_MPSoC_wrapper_hw_platform_0/psu_init.tcl' is done.
15:32:12 ERROR	: Memory read error at 0xFD080030. Invalid DAP IDCODE. Invalid DAP ACK value: 7

Виснет на предпоследней строчке, последняя вылезла когда надоело ждать и я выключил питание.

В ld-фйале посмотрел - все секции располагаются в ocm памяти, в  ddr ничего не ложится.

Подскажите пожалуйста, как понять в чем проблема, на чем он тормозится?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 час назад, gosha-z сказал:

В COM-порту тоже тишина?

Да, тихо. И еще PS_INIT_B в нуле и PS_DONE в нуле...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 час назад, gosha-z сказал:

А покажите еще раз targets. Ну и детально посмотреть бы конфигурацию PS...

1353450032_4.jpg.48894eddaa951908670b732336e22ad8.jpg

Тут я вывел targets, затем из SDK запустил на дебаг мемтест - вывалилось Info, затем, когда SDK висел в ожидании, еще раз вывел targets.

Настройки тут:

psu_init.html

Еще такой момент. Я чтобы с чего-то начать (в части DDR) создал проект из темплейта (Base Zynq MPSoC) для ZCU104, т.к. чипы DDR поставлены у меня такие же как на ZCU104 . Затем сменил чип, урезал разрядность DDR до 32 бит, сменил клок входной на 50 МГЦ. Сделал очистить кэш для сабмодулей, Reset outputs, Generate outputs. После синтеза расставил ноги под свою плату, запустил implementation и generate bitstream. Потом Export hardware, launch SDK, создал проект из темплейта Zynq MPSoC DDR test (что-то типа этого). Перед стартом заливаю ПЛИС, затем в SDK делаю debug as hardware.

Сейчас вот думаю, в Вивадо изначально для ZCU104 процессорная система рассчитана на 4 ядра APU, а у XCZU3CG только два. Интересно при перекомпиляции это учитывается или надо тот zynq, который был поставлен, удалить, и какой-то другой ZYNQ в блок-дизайне ставить?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ух как у вас весело. В проекте Vivado надо указывать ровно тот Part, который используется и PS конфигурить именно для него. Для проверки PS битстрим грузить не надо, он все равно не при делах, в конфигурировании APU он не участвует.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

19 минут назад, gosha-z сказал:

Ух как у вас весело. В проекте Vivado надо указывать ровно тот Part, который используется и PS конфигурить именно для него. Для проверки PS битстрим грузить не надо, он все равно не при делах, в конфигурировании APU он не участвует.

Part указан именно тот, только изначально проект создан по XCZU7EV, а затем я в setting сменил part на XCZU3CG. Имеете ввиду изначально создавать проект с нужным part-ом?

Взял тут psu_init, перетащил его в исходники, а в дебагере отключил запуск psu_init.tcl. В проц все залилось, но по строкам исходника не ходит, только дизассемблер. Тормозится на последней зеленой строчке. Именно после ее выполнения процессор висит (на следующую строчку не переходит), а ток подскакивает. Есть подозрение что это переход процессора на высокую частоту - включение умножения частоты, конфигурирование PLL. Только вот что сейчас дальше с этим счастьем делать пока не знаю.

63321204_5.thumb.jpg.0cd1af02675d9c92afe47be4d88e09e0.jpg

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 minutes ago, alexPec said:

Взял тут psu_init, перетащил его в исходники

Перетащить-то перетащили, а позвали из main()? Можно оставить psu_init.tcl - делает он все то же самое, оба генерятся из BSP. Для очистки совести можете сделать Regenerate BSP Sources - иногда он косячит при таком трансфере из вивадо прямиком в SDK. Я всегда запускаю SDK отдельно, и даже так SDK иногда не генерит исходники.

3 minutes ago, alexPec said:

но по строкам исходника не ходит, только дизассемблер.

Есть такой косяк в дебаггере. Обратите внимание, что программа у вас на нулевом ядре, а дебаг стоит на первом. Ткнитесь в окне Debig в строчку с /src/memtest.c - на вас снизойдет озарение!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

10 минут назад, gosha-z сказал:

Перетащить-то перетащили, а позвали из main()? Можно оставить psu_init.tcl - делает он все то же самое, оба генерятся из BSP. Для очистки совести можете сделать Regenerate BSP Sources - иногда он косячит при таком трансфере из вивадо прямиком в SDK. Я всегда запускаю SDK отдельно, и даже так SDK иногда не генерит исходники.

Да, конечно из main вызвал. Понятно что .tcl то же делает, только его по шагам не пустишь чтобы понять где стопорится все.

Цитата

что программа у вас на нулевом ядре, а дебаг стоит на первом.

Жесть! :) Я и не заметил...

Тогда дубль два: перепроверил с шагами по исходнику - ток подскакивает действительно при инициализации PLL у APU и у DDR.  А виснет все на этой строчке - в процедуре psu_ddr_phybringup_data (зеленая строчка):

699356030_6.thumb.jpg.fc594dc779ff34e6287bcdd54fc74b3b.jpg

Ее выполняешь - и все, дебагер отваливается и все висит. Дебагер говорит что-то типа "memory read error..., access error..." .

Что за магический регистр такой?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

8 минут назад, gosha-z сказал:

Вот теперь точно тупик :)

PHY initialization complete enable signal.
When asserted the dfi_init_complete signal can be used to trigger SDRAM initialization
Programming Mode: Quasi-dynamic Group 3

Как я понимаю, этим сигналом запускается инициализация DDR и все виснет.  

И вот даже предположений нет, из-за чего такое может быть... То ли с железом что не так, то ли настройка DDR неверная.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Почитал конфиг PS. Есть вопросы:

1. А камни памяти точно под этот Speed Bin? И их разводка точно повторяет разводку отладки? Прочий конфиг памяти проверяли?

2. Два активных UART. Какой из них назначен консольным?

Остальные вопросы будут позже.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...