|
Прошивка ПЛИС посредством Ethernet |
|
|
|
Oct 7 2010, 06:41
|
Частый гость
 
Группа: Участник
Сообщений: 184
Регистрация: 7-10-10
Пользователь №: 59 981

|
Появилась необходимость загрузки прошивки в ПЛИС посредством Ethernet. Предполагаемый алгоритм работы следующий (ещё он отображён на схеме): Изначально Flash прошивается JTAG-ом. Далее после включения питания Flash конфигурирует ПЛИС, система начинает свою работу. В последствии, появляется необходимость переконфигурирования Flash (например, смена версии или исправление ошибок). Будет ли работать следующее: из ПК подаётся специальная команда и происходит загрузка битового файла конфигурации в ПЛИС (в это время ПЛИС уже загружена и работает в обычном режиме), после чего (или одновременно) ПЛИС программирует Flash (как бы эмулируя работу JTAG). После этого при следующем запуске платы будет грузиться уже новая конфигурация. Вопросы: 1) сложно ли реально реализовать данную схему, кто-нибудь делал это? 2) Есть ли альтернативные схемы без значительного увеличения сложности и стоимости? Спасибо! Схема
Сообщение отредактировал Art55555 - Oct 7 2010, 06:45
Эскизы прикрепленных изображений
|
|
|
|
|
Oct 7 2010, 07:11
|

я только учусь...
     
Группа: Модераторы
Сообщений: 3 447
Регистрация: 29-01-07
Из: Украина
Пользователь №: 24 839

|
Цитата(Art55555 @ Oct 7 2010, 09:41)  Появилась необходимость загрузки прошивки в ПЛИС посредством Ethernet. Предполагаемый алгоритм работы следующий (ещё он отображён на схеме):
Изначально Flash прошивается JTAG-ом. Далее после включения питания Flash конфигурирует ПЛИС, система начинает свою работу. В последствии, появляется необходимость переконфигурирования Flash (например, смена версии или исправление ошибок). Будет ли работать следующее: из ПК подаётся специальная команда и происходит загрузка битового файла конфигурации в ПЛИС (в это время ПЛИС уже загружена и работает в обычном режиме), после чего (или одновременно) ПЛИС программирует Flash (как бы эмулируя работу JTAG). После этого при следующем запуске платы будет грузиться уже новая конфигурация. Вопросы: 1) сложно ли реально реализовать данную схему, кто-нибудь делал это? 2) Есть ли альтернативные схемы без значительного увеличения сложности и стоимости? Спасибо!
Схема мне кажется без вспомогательного микропроцессора/CPLD или какого-то внешнего watchdog timer не обойтись
--------------------
If it doesn't work in simulation, it won't work on the board.
"Ты живешь в своих поступках, а не в теле. Ты — это твои действия, и нет другого тебя" Антуан де Сент-Экзюпери повесть "Маленький принц"
|
|
|
|
|
Oct 19 2010, 05:37
|
Частый гость
 
Группа: Участник
Сообщений: 184
Регистрация: 7-10-10
Пользователь №: 59 981

|
Цитата(Koluchiy @ Oct 18 2010, 17:25)  Ставите ПЛИС, которая умеет грузиться со SPI-FLASH (все более-менее новые). Организовываете схемотехнику так, чтобы ПЛИС могла в рабочем режиме общаться со своей загрузочной флешкой. После загрузки с флешки ПЛИС начинает работать с езернетом. В частности, получать с него новую прошивку и грузить ее в загрузочную флешку.
Возможность инициировать перезагрузку самой себя после окончания записи нового файла конфигурации во флеш (и еще куча функций в ту же степь) тоже в большинстве ПЛИС современных есть. Даже если нет, то это несложно организовать схемотехнически.
Всё, чего еще надо? Спасибо! На этом решении , скорее всего, и остановлюсь. В данном случае пугает только одно. Вот, если произошёл сбой при загрузки флэш через SPI интерфейс. Решить вопрос уже можно только через JTAG, а это, согласитесь, некоторые сложности (ехать к заказчику или объяснять ему где взять провод и импакт - сомнительное удовольствие). Интерфейс - Ethernet UDP плюсь собственный протокол передачи и контроля. Есть ли какие-нибудь принципиальные моменты программирования флэшики по SPI из ПЛИС? Кто-нибудь делал сам это? Спасибо! И еще пару вопросов: Умеет-ли грузиться с SPI-FLASH VIRTEX-4? XCF32P - это SPI-Flash?
|
|
|
|
|
Oct 19 2010, 08:59
|
Знающий
   
Группа: Свой
Сообщений: 614
Регистрация: 12-06-09
Из: рядом с Москвой
Пользователь №: 50 219

|
Цитата(Art55555 @ Oct 19 2010, 09:37)  И еще пару вопросов: Умеет-ли грузиться с SPI-FLASH VIRTEX-4? XCF32P - это SPI-Flash? 1) нет 2) нет
|
|
|
|
|
Oct 19 2010, 09:19
|
Гуру
     
Группа: Свой
Сообщений: 2 563
Регистрация: 8-04-05
Из: Nsk
Пользователь №: 3 954

|
Цитата(vadimuzzz @ Oct 7 2010, 14:13)  я делал, работает. документировано, правда, довольно скудно. в принципе Eth не обязателен, любой интерфейс подойдет. небольшой вопрос вдогонку: в an521 параллельная флэш описана. в cyclone3 у последовательной флэши chipsel, datain, dataout и так сидят на пинах с io, а вот доступен ли потом после загрузки вывод dclk чтобы флэш перепрошить, или надо дополнительно завести клоки на какой-нибудь io пин?
|
|
|
|
|
Oct 25 2010, 19:14
|
Частый гость
 
Группа: Участник
Сообщений: 184
Регистрация: 7-10-10
Пользователь №: 59 981

|
Остановились на следующем варианте: Изначально мы программируем флэшку в Спартане постоянной прошивкой в которой будет протокол обмена по LAN. При перезагрузки платы, прошивка конфигурирует Spartan. Далее оператор по LAN предает прошивку для Virtex 4, которую прошивает спартан. Имеет-ли место быть такой вариант? Есть-ли какие-нибудь подводные камни?
Эскизы прикрепленных изображений
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|