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

Gowin UART Programmer and debugger реализация

Всем добра. Есть задача.

Цитирую пункт ТЗ: Обеспечить информационное взаимодействие по интерфейсу UART для обеспечения удаленной прошивки без использования программатора JTAG, а также канала для отладки и вывода контрольных данных.

Прошу высказаться: данное требование реализуемо, и, если да, то куда смотреть за референсом?

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


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

Ставите МК в роли моста UART<=[Микроконтроллер]=>JTAG<=>Gowin и вуаля, получаете выполнение требования ТЗ. Как шить Gowin из МК здесь уже обсуждалось.

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


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

Правильно ли я понимаю, что минимизировать перечень элементов для выполнения требования ТЗ можно лишь применив т.н. Gowin goConfig, например Gowin goConfig SPI (https://www.gowinsemi.com/en/support/ip_detail/174/) ?
Поверхностное изучение вопроса показало, что режимы загрузки применимы только для GW1N(R)-2C. Это так?
 

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


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

Предусмотреть отладочный UART и не забивать голову, ибо в ТЗ ни слова конкретики.

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


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

17 часов назад, Zversky сказал:

без использования программатора JTAG

По-моему достаточно конкретно

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


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

В ТЗ все лаконично. Нужно не только удаленно программировать, но и использовать как технологический канал.

Должно быть что то типа remote update fpga ip.  Т.е. типа флеш бьется на две страницы. Первая заводская, которая загрузчик на базе ip. Вторая ваш проект. Иначе  всегда возможна ситация, когда зависните при прошивке, и без вскрытия железа будет не обойтись. Самому писать, потерять конкурентные преимущества. Не все кристаллы это поддерживают. Поэтому если говин не имеет такого ip, имеет смысл поедложить другого производителя или выкинуть из ТЗ удаленку.

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


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

42 минуты назад, sazh сказал:

В ТЗ все лаконично. Нужно не только удаленно программировать, но и использовать как технологический канал.

Автор ТЗ приводит референсным дизайном Артикс. У меня нет опыта работы с этой серией другого вендора, но что-то подсказывает, что как и про серию, как и про самого производителя в настоящих условия можно смело забыть?

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


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

Ну либо МК умеет прошивать конфигурационную память ПЛИС.

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


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

Без комментариев.

Каждый должен заниматься своим делом. 

Вы инженер. Тем более у Вас есть проект.

Если его нельзя перевести на Говин. Альтернативу Вам уже предложили. Микроконтроллер. Мост. И вдобавок связка микроконтроллера с плис по spi.

И вот у Вас уже дохлый микроконтроллер рулит системой. Кусок хлеба на всю жизнь.

BMTI

 

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


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

3 часа назад, Zversky сказал:

Правильно ли я понимаю, что минимизировать перечень элементов для выполнения требования ТЗ можно лишь применив т.н. Gowin goConfig, например Gowin goConfig SPI (https://www.gowinsemi.com/en/support/ip_detail/174/) ?
Поверхностное изучение вопроса показало, что режимы загрузки применимы только для GW1N(R)-2C. Это так?

Не понимаю проблемы: если есть JTAG, то у вас есть полный контроль и вы можете сделать приблизительно всё, что угодно. Зачем ещё какой-то SPI? Через JTAG вы можете зашить внутреннюю флешку Gowin, можете общаться с технологическим ядром и шить данные во внешнюю флешку, например, через SPI и т.п. Кстати, у Gowin можно переключать функцию пинов JTAG, а SPI на пинах JTAG реализуется легко и просто:

image.thumb.png.2ad55e258dfcc164b64454b84b02868b.png

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


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

4 часа назад, makc сказал:

Не понимаю проблемы: если есть JTAG, то у вас есть полный контроль и вы можете сделать приблизительно всё, что угодно. Зачем ещё какой-то SPI?

Потенциальный работодатель имел опыт с Артиксом, и ему вынь да положь было повторить тоже в Говине. Именно этот пункт стал камнем преткновения того, что мы так и остались потенциальными по отношению друг к другу. Отсюда я делаю вывод, что не всегда компетентность руководителя идёт во благо, иногда стоит прикинуться валенком и соглашаться с тем, что дано в ТЗ. Как в мульфильме про 10 шапок.

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


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

Только что, Zversky сказал:

Потенциальный работодатель имел опыт с Артиксом, и ему вынь да положь было повторить тоже в Говине. Именно этот пункт стал камнем преткновения того, что мы так и остались потенциальными по отношению друг к другу. Отсюда я делаю вывод, что не всегда компетентность руководителя идёт во благо, иногда стоит прикинуться валенком и соглашаться с тем, что дано в ТЗ. Как в мульфильме про 10 шапок.

Плюс/минус тоже можно повторить, никто не запрещает прогрузить в SRAM Gowin технологическую прошивку, реализующую JTAG TAP и далее использующуюся для прошивки всего, что заблагорассудится.

Я пока не вижу никакой принципиальной разницы между Gowin и Xilinx в этом плане. В Xilinx чуточку проще, т.к. есть аппаратный примитив, позволяющий работать с JTAG в довольно удобной виде, но при наличии JTAGSEL_N и реализации TAP можно получить всё то же самое.

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


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

52 минуты назад, makc сказал:

Плюс/минус тоже можно повторить, никто не запрещает прогрузить в SRAM Gowin технологическую прошивку

Но прогрузить-то откуда? Именно так Gowin Porgrammer и делает,  но он
1 подключается по JTAG и
2 имеет проприетарный API

Вернёмся к исходному ТЗ, доопределив его понимание потенциальным работодателем, как я его понял: имеется работающее ус-во на ПЛИС, связь с которым только по UART (SPI). Требуется обновить прошивку этого ус-ва. МК и прочие мозги ставить нельзя.

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


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

11 минут назад, Zversky сказал:

Но прогрузить-то откуда?

Микроконтроллером через JTAG.

12 минут назад, Zversky сказал:

Вернёмся к исходному ТЗ, доопределив его понимание потенциальным работодателем, как я его понял: имеется работающее ус-во на ПЛИС, связь с которым только по UART (SPI). Требуется обновить прошивку этого ус-ва. МК и прочие мозги ставить нельзя.

Если без МК, то всё сложнее. Остаётся только копать в сторону Multiboot в режиме конфигурирования MSPI из внешней флешки.

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


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

21 час назад, makc сказал:

Остаётся только копать в сторону Multiboot в режиме конфигурирования MSPI из внешней флешки.

В документе UG290-2.7.4E, 05/22/2024 Gowin FPGA Products Programming and Configuration Guide (https://cdn.gowinsemi.com.cn/UG290E.pdf) 
7 Configuration Mode Details 
7.5 MSPI Configuration Mode

на стр. 90 / 128 читаю 
MSPI Mode FPGA Configuration:
1. Set the MODE pin configuration values to MSPI mode.
2. To prompt the FPGA to automatically load the bitstream from external
Flash either
х Power Cycle the FPGA
х Or pulse RECONFIG_N low.

MSPI Mode External Flash Update:
The external Flash memory can also be re-programmed via the FPGA
using JTAG. This feature enables the FPGA to support bitstream
background updates and is often referred to as infield or remote update.
Once the FPGA has been configured, users can remotely write new
configuration data to the external Flash via the FPGA. Once Flash
programming completes the new bitstream can be automatically loaded by
triggering RECONFIG_N or power-cycling the FPGA.

Вопросы:
1 Т.к. перебрасывать питание не предполагается, то кто будет передёргивать RECONFIG_N? Сама ПЛИС?* 
2 "write new configuration data to the external Flash via the FPGA" - есть какие-либо механизмы доступа к MSPI изнутри прошивки?*
*Если больше мастеров не предполагается.

И вот ещё есть семинар GOWIN Webinar: Introduction to Programming and Configuring GOWIN FPGA Devices ( https://www.youtube.com/watch?v=SpfFIzJCLI0&t=1222s&ab_channel=GowinSemiconductor )

 

 где на указанной в ссылке временной отметке приводиться такая картинка:

image.thumb.png.c0ffc26956029d0f3575e4a521a7a4d4.png

т.е. загружать все прошивки предполагается всё-таки через JTAG суть Gowin Programmer и никак иначе?

 

Вопрос уже поднимался на форуме: 

и там без МК тоже никак (если я правильно прочитал и понял)

 

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


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

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

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

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

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

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

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

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

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

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