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

1921ВК035 в качестве конфигурационного устройства ПЛИС

День добрый!

В связи с прекращением выпуска 5576РС1У собираюсь использовать микроконтроллер с размещением прошивки для ПЛИС внутри микроконтроллера. Размер прошивки около 100 Кбайт, размер флешь-памяти 1921ВК035 64 Кбайта.
1. Получится ли использовать две микросхемы 1921ВК035 в режиме master-slave для конфигурирования ПЛИС? Или надо три микросхемы? Или такое в принципе невозможно?
2. Можно ли программировать микросхемы, подключенные последовательно в цепочке JTAG, или обязательно выводить свой JTAG каждой микросхемы?
3. Если кто знает, какой срок хранения данных у этой микросхемы? В ТУ я не нашёл

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


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

1. Если шьёт процессор то он и является мастером и он же формирует все сигналы. Как следствие он может хранить данные как хочет и где хочет. Хоть в базе данных :))))
2. Раз управляет проц то можно всё что угодно включая и работу в цепочке.

 

По поводу самой реализации рекомендую глянуть код который генерит прошивалка для JTAG... расширение файлов у xilinx *.xcf . Под него есть дока с описанием формата. Отлично реализуется  для проца.

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


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

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

Размер прошивки около 100 Кбайт

А еще попробуйте сжать файл прошивки, а распаковывать налету при загрузке в ПЛИС. Вот, как тут сделали, например.

 

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


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

11 часов назад, MegaVolt сказал:


2. Раз управляет проц то можно всё что угодно включая и работу в цепочке.

Имелось в виду не программирование ПЛИС, а программирование контроллеров. На плате мало места, выводить 2 разъёма нежелательно.

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


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

16 часов назад, MrGalaxy сказал:

2. Можно ли программировать микросхемы, подключенные последовательно в цепочке JTAG, или обязательно выводить свой JTAG каждой микросхемы?

Можно, но нужно чтобы ПО программирования поддерживало этот режим работы (МК в цепочке). Если вы будете шить через OpenOCD, то это будет работать в цепочке практически любой длины, но нужно уделить особое внимание трассировке сигнала TCK, т.к. при разводке его звездой могут начинаться неприятные эффекты.

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


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

15 часов назад, MrGalaxy сказал:

2. Можно ли программировать микросхемы, подключенные последовательно в цепочке JTAG, или обязательно выводить свой JTAG каждой микросхемы?

Проще добавить пару контактов и объединить JTAGи, используя для программирования каждого микроконтроллера отдельный переходник.

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


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

1 час назад, byRAM сказал:

Проще добавить пару контактов и объединить JTAGи, используя для программирования каждого микроконтроллера отдельный переходник.

 Чем проще? 

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


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

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

 Чем проще? 

Трассировкой проще, а кроме того - надёжнее.

У нас не всегда даже TMSы, которые заструганы для программирования паровозиком, выходит так программировать.

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


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

Может у кого есть опыт работы именно с этим контроллером (среда программирования CodeMaster++).

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


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

1 час назад, byRAM сказал:

Трассировкой проще, а кроме того - надёжнее.

Надёжность в контексте исключительно отладочного интерфейса так себе аргумент. Ну а с трассировкой нужно просто не от фонаря протащить TCK, а учесть минимизацию стабов и сделать какое-никакое согласование. Что характерно, практически всё то же самое требуется и для варианта точка-точка.

1 час назад, byRAM сказал:

У нас не всегда даже TMSы, которые заструганы для программирования паровозиком, выходит так программировать.

TMSов не было, но плата формата ATX с 5 ПЛИС в цепочке + ещё один гибрид (Zynq) прекрасно отлаживалась и прошивалась на частоте около 10 МГц. Но там всё было сделано аккуратно. Учитывая дубовость JTAG самого по себе (нет жёсткого требования выравнивания длин трасс),  то мне кажется что в вашем случае кто-то совершил несколько грубых ошибок, а кто-то это потом принял за норму и смирился, вместо того чтобы разобраться и больше не наступать на те же грабли.

PS: как без соединения в одну цепочку вы можете использовать boundary scan тестирование соединений? Ответ практически однозначен: сложно или вообще никак.

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


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

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

TMSов не было, но плата формата ATX с 5 ПЛИС в цепочке + ещё один гибрид (Zynq) прекрасно отлаживалась и прошивалась на частоте около 10 МГц. Но там всё было сделано аккуратно. Учитывая дубовость JTAG самого по себе (нет жёсткого требования выравнивания длин трасс),  то мне кажется что в вашем случае кто-то совершил несколько грубых ошибок, а кто-то это потом принял за норму и смирился, вместо того чтобы разобраться и больше не наступать на те же грабли.

Иностранные ПЛИС изначально заструганы для такого программирования, а обсуждаемые микроконтроллеры - под вопросом, заструганы или нет.

Если нет, то я бы не рискнул их так программировать, потом в случае неудачи мороки куда бо́льше будет, чем с изначальным разделением на одной вилке 3-x JTAGов.

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


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

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

Иностранные ПЛИС изначально заструганы для такого программирования, а обсуждаемые микроконтроллеры - под вопросом, заструганы или нет.

Стандарт на JTAG един для всех и поэтому я не понимаю в чём конкретно выражается "заструганность" ПЛИС по сравнению с МК? Поясните, пожалуйста, в деталях разницу заструганных и незаструганных девайсов.

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

Если нет, то я бы не рискнул их так программировать, потом в случае неудачи мороки куда бо́льше будет, чем с изначальным разделением на одной вилке 3-x JTAGов.

Мне кажется вы излишне это драматизируете. Консерватизм это хорошо (в некоторых областях), но важно чтобы он не перерос в ретроградство. ;-) 

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


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

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

Стандарт на JTAG един для всех и поэтому я не понимаю в чём конкретно выражается "заструганность" ПЛИС по сравнению с МК? Поясните, пожалуйста, в деталях разницу заструганных и незаструганных девайсов.

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

Если в КД на этот микроконтроллер или программатор для него ничего такого нет, то разработчик, включивший его таким образом, как Вы предлагаете, будет действовать на свой страх и риск. А в случае возникновения проблем производитель претензии точно не примет.

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


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

1 час назад, byRAM сказал:

Всё очень просто: в документации должна быть указана возможность такого программирования и нарисована схема подключения нескольких устройств при программировании конкретным отладчиком или программатором.

Эта возможность предписана стандартом на JTAG и у тех же STM32 вариант программирования в цепочке не описан, однако они шьются в таком варианте "на ура", т.к. стандарт это позволяет. ЧЯДНТ? :-)

1 час назад, byRAM сказал:

Если в КД на этот микроконтроллер или программатор для него ничего такого нет, то разработчик, включивший его таким образом, как Вы предлагаете, будет действовать на свой страх и риск. А в случае возникновения проблем производитель претензии точно не примет.

Если в КД на МК написано "реализует JTAG", то должно и будет работать, если только разработчик не ошибётся при разработке платы. Но это не вина МК и его производителя, а ответственность разработчика платы. 

В общем вы пока никаких разумных обоснований насчёт проблем с JTAGом у данных МК или других им подобных не привели. Поскольку в среде разработки от НИИЭТ используется OpenOCD, то я вообще никаких проблем не вижу в объединении этих МК с ПЛИС в одну цепочку. 

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


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

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

В общем вы пока никаких разумных обоснований насчёт проблем с JTAGом у данных МК или других им подобных не привели. Поскольку в среде разработки от НИИЭТ используется OpenOCD, то я вообще никаких проблем не вижу в объединении этих МК с ПЛИС в одну цепочку. 

Ну что же, объединяйте, я не против. Разумных обоснований против моего варианта я тоже не увидел.

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


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

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

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

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

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

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

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

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

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

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