MrGalaxy 9 October 18 Posted October 18 · Report post Здравствуйте! Вопрос к пользователям 5576ХС6Т. Имеется плата, на которой установлена эта ПЛИС. Конфигурирование происходит при включении питания в режиме PPS. Дополнительно на разъём для подключения USB-бластера выведен интерфейс JTAG. При попытке залить прошивку через JTAG командой «quartus_jli -a program файл.jam» приходит сообщение об успешном завершении с нулевым кодом, но плата начинает потреблять аномально большой ток (источник питания входит в режим ограничения тока) и светодиод на выводе INIT_DONE тускло мерцает-дрожит. Такое впечатление, что идёт сбой конфигурации и ПЛИС пытается переконфигурироваться. Прошивки одного и того же проекта, только в ПЗУ вшит файл .rbf. Оба файла, и .rbf и .jam, сформированы программой cfg-tools-gui. Аналогичная схема конфигурирования работает на Альтеровской ПЛИС EP1K30TC144-1 семейства ACEX1K (загруженная по PPS при включении питания успешно без единого сбоя конфигурируется по JTAG командой «quartus_jli -a program файл.jbc»). Есть ли особенности программирования 5576ХС6Т через JTAG в системе? Увеличивать ток на источнике питания опасаюсь чтобы не сжечь ПЛИС. Схема.pdf Quote Share this post Link to post Share on other sites More sharing options...
sazh 8 October 19 Posted October 19 · Report post Помниттся, Iam плеер работал с байт бластером мв под lpt портом. При переходе на usbбластер все уже стандартным программером пол зоаались. А в ващем случае в довесок от производителя прогрммное обеспечение для создания конфигурационного файла и рекомендация использовать байт бластер мв. Я б все по руководству программирования бы делал. Quote Share this post Link to post Share on other sites More sharing options...
MrGalaxy 9 October 19 Posted October 19 · Report post 5 минут назад, sazh сказал: Помниттся, Iam плеер работал с байт бластером мв под lpt портом. При переходе на usbбластер все уже стандартным программером пол зоаались. А в ващем случае в довесок от производителя прогрммное обеспечение для создания конфигурационного файла и рекомендация использовать байт бластер мв. Я б все по руководству программирования бы делал. Перед тем как схему разрабатывать, я освоил технологию заливки прошивки по USB-бластеру на отладочной комплекте ОП5576ХС6Т.02 Нет, дело не в типе бластера, тут что-то другое. Может отозовутся пользователи этой микросхемы Quote Share this post Link to post Share on other sites More sharing options...
sazh 8 October 19 Posted October 19 · Report post Я хотел сказать, что в далеком прошлом у меня сложилось мнение, что jam плеер альтеры работает только с lpt портом. А шить sof, pof квартусом можно чем угодно. Quote Share this post Link to post Share on other sites More sharing options...
MrGalaxy 9 October 23 Posted October 23 · Report post Как должны вести себя сигналы nSTATUS, CONF_DONE и INIT_DONE при работе через JTAG? Если кто знает, подскажите, плз. Quote Share this post Link to post Share on other sites More sharing options...
sazh 8 October 23 Posted October 23 · Report post 6 часов назад, MrGalaxy сказал: Как должны вести себя сигналы nSTATUS, CONF_DONE и INIT_DONE при работе через JTAG? Если кто знает, подскажите, плз. А Ваша плис реально конфигурируется в режиме PPS? Ибо ваша схема неуловимо не соответствует рекомендованной в ТО или инструкции по программированию (у меня этих документов нет). По идее эти сигналы ведут себя также при работе по jtag. (nconfig к vcc через резистор, dclk низкий или высокий уровень). Quote Share this post Link to post Share on other sites More sharing options...
MrGalaxy 9 October 24 Posted October 24 · Report post 13 часов назад, sazh сказал: А Ваша плис реально конфигурируется в режиме PPS? Да. Сразу при включении питания. 13 часов назад, sazh сказал: Ибо ваша схема неуловимо не соответствует рекомендованной в ТО или инструкции по программированию (у меня этих документов нет). Откуда тогда такие мысли если документов нет? Временные диаграммы взяты из Д4, времена указаны с реально снятых осциллограмм. Quote Share this post Link to post Share on other sites More sharing options...
sazh 8 October 24 Posted October 24 · Report post Меня смущает такой переход на 3х вольтовую Российскую элементную базу. Если использовать преобразователи уровня с z состоянием, их можно переводить сигналом confdone от плис в третье состояние. Тогда имеет смысл подтянуть data0 резистором, чтоб не плавал, при этом когда data[7:1] становятся пользовательскими, не надо заботиться о состоянии их портов в проекте. Согласно вашей временной диаграмме на схеме начало конфигурирования когда (nconfig == 1) && (nstatus == 1) && (confdone == 0). После успешного конфигурирования confdone == 1. Далее микроконтроллер подает 10 тактов на вход dclk с целью инициализации (если активирован initdone, initdone == 1) и перехода в пользовательский режим. После этого микроконтроллер удерживает dclk в состоянии низкого уровня, data[7:0] в z состояние, data0 не плавает. Следовательно функция успешного конфигурирования и инициализации (initdone == 1) && (confdone == 1). Если в процессе конфигурирования возникла ошибка, плис формирует nstatus == 0, confdone остается в состоянии низкого уровня. Жмем nconfig == 0. Получается, что без подачи confdone на микроконтроллер ( а еще лучше ему добавить и initdone) вы не можете уверенно обрубить dclk после конфигурации и инициализации. И так как PPS у вас все же работает, в конфигурировании по jtag после успешного конфигурирования по PPS я вижу только одну засаду. Jtag конечно приоритетен, но и ему по идее никто не должен мешать. Микроконтроллер не должен реагировать на nstatus, не должен вырабатывать nconfig и dclk. Может он по КД в этом режиме хочет на входе dclk постоянный уровень. Вам виднее (состояние низкого уровня на nstatus во время itag конфигурирования указывает на то, что произошла ошибка, состояние высокого уровня на confdone в конце jtag конфигурирования указывает на то, что конфигурирование прошло успешно). Больше сказать нечего. Quote Share this post Link to post Share on other sites More sharing options...
MrGalaxy 9 October 24 Posted October 24 (edited) · Report post Сегодняшний ответ КТЦ Электроника на мой вопрос по сигналам: Цитата ... по действию LOAD ПЛИС должна выходить из рабочего режима и вывод nSTATUS на несколько микросекунд должен перейти в лог.0, а CONF_DONE перейти лог. 0 до окончания конфигурирования. Вывод INIT также переходит в лог.0. ... Комментарий: действие LOAD в данном контексте аналогично действию PROGRAM. 45 минут назад, sazh сказал: без подачи confdone на микроконтроллер ( а еще лучше ему добавить и initdone) вы не можете уверенно обрубить dclk после конфигурации и инициализации. А я его и не обрубаю, сэкономил на логике. 45 минут назад, sazh сказал: Микроконтроллер не должен реагировать на nstatus, не должен вырабатывать nconfig и dclk. Он вырабатывает nCONFIG один раз при включении питания, зато реагирует на nSTATUS, ну так ведь иначе нельзя. По DCLK мне в своё время, когда я проектировал контроллер, техподдержка ответила, что кол-во импульсов должно быть минимум 10. Я это воспринял как то, что максимум не ограничен. Спасибо. Есть пища для размышления. Edited October 24 by MrGalaxy Quote Share this post Link to post Share on other sites More sharing options...
us_guest 0 October 28 Posted October 28 (edited) · Report post В 18.10.2024 в 10:59, MrGalaxy сказал: ... Есть ли особенности программирования 5576ХС6Т через JTAG в системе? При программировании по JTAG MSELы надо в ноль ставить, т.к. по JTAG возможен только PS-режим. В Д4 схемы приведены. В таких случаях пишете разработчику - они помогут. Edited October 28 by us_guest Quote Share this post Link to post Share on other sites More sharing options...
MrGalaxy 9 October 28 Posted October 28 · Report post 1 час назад, us_guest сказал: При программировании по JTAG MSELы надо в ноль ставить, т.к. по JTAG возможен только PS-режим. В Д4 схемы приведены. По JTAG PS-конфигурирование не осуществляется, оно идёт по Download-порту. Касательно схем конфигурирования - ничего нового, всё содрано один-в-один с Альтеры. Здесь именно недокументированное различие в архитектурах Альтеры и ХС6, я ж не зря так подробно написал 1-й пост. На импорте всё отлажено и работает. ЗЫ. us-guest, Вы сами пробовали переконфигурировать ХС6 в системе по JTAG (не путать с Download-портом (!), там только разъём одинаковый), которая при включении питания конфигурируется по PS? Quote Share this post Link to post Share on other sites More sharing options...
us_guest 0 October 28 Posted October 28 · Report post В 28.10.2024 в 13:32, MrGalaxy сказал: По JTAG PS-конфигурирование не осуществляется, оно идёт по Download-порту. Я не совсем корректно написал. Зная, что PS – Passive Serial – пассивное последовательное, PPS – Passive Parallel Synchronous – пассивн. параллельное синхронное, для последовательного MSELы надо ставит в 0, для параллельного MSEL0 в 0, MSEL1 в 1 . А JTAG-конфигурирование - оно тоже последовательное. На схеме для JTAG-конфигурирования MSELы подключены к 0. Quote Share this post Link to post Share on other sites More sharing options...
sazh 8 October 28 Posted October 28 · Report post Архитектура не может быть другой. И в д4 должно быть написано как и в epf10k, разве что с ошибками. Jtag приоритетен. Но его нельзя начинать, пока не завершен любой другой пользовательский режим загрузки. И есть требования к служебным пинам других режимов загрузки. Nce 0, nstatus подтянут к1, nconfig1, msel пользовательский режим загрузки, dclk0, data0не болтается, configdone подтянут 1. Trst1.Если dclk продолжает вырабатываться значит режим загрузки не завершен. А если в аналоге epf10k есть отсебятина, так она наверняка работает в рабочем режиме с галочкой авторестарт по ошибке. Да вгоните вочдог таймер на 15с, переведите dclk в 0 и посмотрите, пойдет ли jtag. Quote Share this post Link to post Share on other sites More sharing options...
MrGalaxy 9 October 28 Posted October 28 (edited) · Report post 25 минут назад, sazh сказал: Архитектура не может быть другой. И может, и есть. Как минимум, нет толерантности к 5 В. Второе отличие - при подаче питания до начала конфигурирования все выводы подтянуты к плюсу питания. Несмотря на то, что в Д4 написано, что они в z-состоянии. 25 минут назад, sazh сказал: И в д4 должно быть написано как и в epf10k, разве что с ошибками. Ну да, так и есть, вроде без ошибок. 25 минут назад, sazh сказал: Jtag приоритетен. Но его нельзя начинать, пока не завершен любой другой пользовательский режим загрузки. Разумеется не начинаю. 25 минут назад, sazh сказал: Nce 0, nstatus подтянут к1, nconfig1, msel пользовательский режим загрузки, dclk0, data0не болтается, configdone подтянут 1. Trst1. Специально выложил схему. 25 минут назад, sazh сказал: Если dclk продолжает вырабатываться значит режим загрузки не завершен. Нет. Я написал почему у меня так сделано. 25 минут назад, sazh сказал: А если в аналоге epf10k есть отсебятина, так она наверняка работает в рабочем режиме с галочкой авторестарт по ошибке. Воот! Есть! Что-то в аналоге "улучшили". 25 минут назад, sazh сказал: Да вгоните вочдог таймер на 15с, Что это такое и как это сделать? Edited October 28 by MrGalaxy Quote Share this post Link to post Share on other sites More sharing options...
sazh 8 October 28 Posted October 28 · Report post Я не понял, для чего непрерывная частота на dclk. И почему вы проигнорировали временную диаграмму, которую привели на вашей схеме. Quote Share this post Link to post Share on other sites More sharing options...