MrGalaxy 9 18 октября, 2024 Опубликовано 18 октября, 2024 · Жалоба Здравствуйте! Вопрос к пользователям 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 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sazh 8 19 октября, 2024 Опубликовано 19 октября, 2024 · Жалоба Помниттся, Iam плеер работал с байт бластером мв под lpt портом. При переходе на usbбластер все уже стандартным программером пол зоаались. А в ващем случае в довесок от производителя прогрммное обеспечение для создания конфигурационного файла и рекомендация использовать байт бластер мв. Я б все по руководству программирования бы делал. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MrGalaxy 9 19 октября, 2024 Опубликовано 19 октября, 2024 · Жалоба 5 минут назад, sazh сказал: Помниттся, Iam плеер работал с байт бластером мв под lpt портом. При переходе на usbбластер все уже стандартным программером пол зоаались. А в ващем случае в довесок от производителя прогрммное обеспечение для создания конфигурационного файла и рекомендация использовать байт бластер мв. Я б все по руководству программирования бы делал. Перед тем как схему разрабатывать, я освоил технологию заливки прошивки по USB-бластеру на отладочной комплекте ОП5576ХС6Т.02 Нет, дело не в типе бластера, тут что-то другое. Может отозовутся пользователи этой микросхемы Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sazh 8 19 октября, 2024 Опубликовано 19 октября, 2024 · Жалоба Я хотел сказать, что в далеком прошлом у меня сложилось мнение, что jam плеер альтеры работает только с lpt портом. А шить sof, pof квартусом можно чем угодно. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MrGalaxy 9 23 октября, 2024 Опубликовано 23 октября, 2024 · Жалоба Как должны вести себя сигналы nSTATUS, CONF_DONE и INIT_DONE при работе через JTAG? Если кто знает, подскажите, плз. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sazh 8 23 октября, 2024 Опубликовано 23 октября, 2024 · Жалоба 6 часов назад, MrGalaxy сказал: Как должны вести себя сигналы nSTATUS, CONF_DONE и INIT_DONE при работе через JTAG? Если кто знает, подскажите, плз. А Ваша плис реально конфигурируется в режиме PPS? Ибо ваша схема неуловимо не соответствует рекомендованной в ТО или инструкции по программированию (у меня этих документов нет). По идее эти сигналы ведут себя также при работе по jtag. (nconfig к vcc через резистор, dclk низкий или высокий уровень). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MrGalaxy 9 24 октября, 2024 Опубликовано 24 октября, 2024 · Жалоба 13 часов назад, sazh сказал: А Ваша плис реально конфигурируется в режиме PPS? Да. Сразу при включении питания. 13 часов назад, sazh сказал: Ибо ваша схема неуловимо не соответствует рекомендованной в ТО или инструкции по программированию (у меня этих документов нет). Откуда тогда такие мысли если документов нет? Временные диаграммы взяты из Д4, времена указаны с реально снятых осциллограмм. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sazh 8 24 октября, 2024 Опубликовано 24 октября, 2024 · Жалоба Меня смущает такой переход на 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 конфигурирования указывает на то, что конфигурирование прошло успешно). Больше сказать нечего. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MrGalaxy 9 24 октября, 2024 Опубликовано 24 октября, 2024 (изменено) · Жалоба Сегодняшний ответ КТЦ Электроника на мой вопрос по сигналам: Цитата ... по действию LOAD ПЛИС должна выходить из рабочего режима и вывод nSTATUS на несколько микросекунд должен перейти в лог.0, а CONF_DONE перейти лог. 0 до окончания конфигурирования. Вывод INIT также переходит в лог.0. ... Комментарий: действие LOAD в данном контексте аналогично действию PROGRAM. 45 минут назад, sazh сказал: без подачи confdone на микроконтроллер ( а еще лучше ему добавить и initdone) вы не можете уверенно обрубить dclk после конфигурации и инициализации. А я его и не обрубаю, сэкономил на логике. 45 минут назад, sazh сказал: Микроконтроллер не должен реагировать на nstatus, не должен вырабатывать nconfig и dclk. Он вырабатывает nCONFIG один раз при включении питания, зато реагирует на nSTATUS, ну так ведь иначе нельзя. По DCLK мне в своё время, когда я проектировал контроллер, техподдержка ответила, что кол-во импульсов должно быть минимум 10. Я это воспринял как то, что максимум не ограничен. Спасибо. Есть пища для размышления. Изменено 24 октября, 2024 пользователем MrGalaxy Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
us_guest 0 28 октября, 2024 Опубликовано 28 октября, 2024 (изменено) · Жалоба В 18.10.2024 в 10:59, MrGalaxy сказал: ... Есть ли особенности программирования 5576ХС6Т через JTAG в системе? При программировании по JTAG MSELы надо в ноль ставить, т.к. по JTAG возможен только PS-режим. В Д4 схемы приведены. В таких случаях пишете разработчику - они помогут. Изменено 28 октября, 2024 пользователем us_guest Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MrGalaxy 9 28 октября, 2024 Опубликовано 28 октября, 2024 · Жалоба 1 час назад, us_guest сказал: При программировании по JTAG MSELы надо в ноль ставить, т.к. по JTAG возможен только PS-режим. В Д4 схемы приведены. По JTAG PS-конфигурирование не осуществляется, оно идёт по Download-порту. Касательно схем конфигурирования - ничего нового, всё содрано один-в-один с Альтеры. Здесь именно недокументированное различие в архитектурах Альтеры и ХС6, я ж не зря так подробно написал 1-й пост. На импорте всё отлажено и работает. ЗЫ. us-guest, Вы сами пробовали переконфигурировать ХС6 в системе по JTAG (не путать с Download-портом (!), там только разъём одинаковый), которая при включении питания конфигурируется по PS? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
us_guest 0 28 октября, 2024 Опубликовано 28 октября, 2024 · Жалоба В 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. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sazh 8 28 октября, 2024 Опубликовано 28 октября, 2024 · Жалоба Архитектура не может быть другой. И в д4 должно быть написано как и в epf10k, разве что с ошибками. Jtag приоритетен. Но его нельзя начинать, пока не завершен любой другой пользовательский режим загрузки. И есть требования к служебным пинам других режимов загрузки. Nce 0, nstatus подтянут к1, nconfig1, msel пользовательский режим загрузки, dclk0, data0не болтается, configdone подтянут 1. Trst1.Если dclk продолжает вырабатываться значит режим загрузки не завершен. А если в аналоге epf10k есть отсебятина, так она наверняка работает в рабочем режиме с галочкой авторестарт по ошибке. Да вгоните вочдог таймер на 15с, переведите dclk в 0 и посмотрите, пойдет ли jtag. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MrGalaxy 9 28 октября, 2024 Опубликовано 28 октября, 2024 (изменено) · Жалоба 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с, Что это такое и как это сделать? Изменено 28 октября, 2024 пользователем MrGalaxy Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sazh 8 28 октября, 2024 Опубликовано 28 октября, 2024 · Жалоба Я не понял, для чего непрерывная частота на dclk. И почему вы проигнорировали временную диаграмму, которую привели на вашей схеме. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться