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

программирование Spartan 6

Есть задача программировать Spartan 6 с помощью внешнего процессора (SPI mode) или с помощью внешней флешки (Atmel AT45DBxxxD) Режим программирования должен переключаться с помощью перемычки.

Была нарисована схема (во вложении), но моя "пятая точка" подсказывает что-то тут не так.

В схеме использовать 2 режима конфигурирования:

Master SPI - конфигурирование ПЛИС из флешки

Slave Serial - конфигурирование ПЛИС процессором

 

Потом начал разбираться подробнее

 

Отсюда следует что ссылка, что

 

There is no slave SPI mode. You mean slave serial mode.

 

Processor should

 

1. pulse PROG_B low, return to high.

 

2. wait for INIT_B to go low, then wait for INIT_B to go high

 

3. send configuration data until DONE goes high (signaling success) or INIT_B goes low (signaling failure).

 

It is useful for processor to monitor INIT_B signal.

 

В итоге получается что в моей схеме не хватает сигналов PROG_B и INIT_B для процессора... Или как?

 

Выводы М1 МО нужны для того чтобы выбирать режим конфигурации

SPI

BPI

JTAG

master or slave

 

и все?

 

Прошу помощи... Как правильно должно быть? Любая критика приветствуется...

PS Пока не обращайте внимание если нет на схеме какого-то подтягивающего резистора или конденсатора не хватает - сейчас мне важна суть...

post-24839-1361260503_thumb.png

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


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

А зачем читать про S-3?

надо это читать http://www.xilinx.com/support/documentatio...uides/ug380.pdf

стр.42

это я тоже только что нашел...

хотел исправить... Вы опередили... :)

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


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

Есть задача программировать Spartan 6 с помощью внешнего процессора (SPI mode) или с помощью внешней флешки (Atmel AT45DBxxxD) Режим программирования должен переключаться с помощью перемычки.

А есть параллельная шина от процессора к ПЛИС?

Вы ж данными как-то обмениваетесь "проц к/от ПЛИС"?

Вот через эту шину и шить, если от процессора. Младший байт шины повесить на правильные ноги ПЛИС,

DONE, PROG и INIT на GPIO проца. Чтобы правильно подключить CSI и CLK - надо знать какой процессор.

Тогда может и внешняя SPI-флешка не нужна будет?

Изменено пользователем faa

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


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

А есть параллельная шина от процессора к ПЛИС?

Вы ж данными как-то обмениваетесь "проц к/от ПЛИС"?

Вот через эту шину и шить, если от процессора. Младший байт шины повесить на правильные ноги ПЛИС,

DONE, PROG и INIT на GPIO проца. Чтобы правильно подключить CSI и CLK - надо знать какой процессор.

Тогда может и внешняя SPI-флешка не нужна будет?

не совсем понял Ваш ответ...

Процессор и ПЛИС связаны по SPI

процессор STM32F4xxRx

 

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


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

Всем спасибо ...

 

Схему нарисовал (RC цепочка - убирается - процессор производит сброс. RC цепочка нужна в случае кнопки)...

 

Но предложения и замечания выслушаю...

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


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

На схеме вижу противоречие - если режим выбирается перемычкой, то процессор не видит её положение, если же процессором, то перемычка вроде и не нужна, процессор может сам управлять M0.

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


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

Вопрос

Можно сделать в схеме (ссылка стр 16 Figure 1-4: SPI Flash Interface Topology и сама схема стр 8) добавить микропроцессор который будет записывать во флешку новую прошивку? Упраление сделать через сигнал CS, затем микропроцессор просто отправляет ПЛИС на переконфигурацию с помощью сигналов Program_B и INIT

Или это не корректное решение?

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


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

Вопрос

Можно сделать в схеме (ссылка стр 16 Figure 1-4: SPI Flash Interface Topology и сама схема стр 8) добавить микропроцессор который будет записывать во флешку новую прошивку? Упраление сделать через сигнал CS, затем микропроцессор просто отправляет ПЛИС на переконфигурацию с помощью сигналов Program_B и INIT

Или это не корректное решение?

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

 

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


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

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

В Вашем случае процессор прошивает ПЛИС через JTAG напрямую ПЛИС или нет (конфигурационную флеш память ПЛИС)?

PS На схему в первом посте не обращать внимание...

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


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

В Вашем случае процессор прошивает ПЛИС через JTAG напрямую ПЛИС или нет (конфигурационную флеш память ПЛИС)?

PS На схему в первом посте не обращать внимание...

Процессор грузится сам (если это возможно) с большой последовательной флэшки.В этой же флэш ке лежит бит стрим для ПЛИС (его можно сжать нехило используя любой открытый алгоритм), а также прошивки для других устройств в системе если они есть.ПЛИС грузится как правило в режиме slave serial , хотя в некоторых случаях выбирают и другие режимы.JTAG плиски пользуется только для отладки так как slave serial проще в реализации.

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


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

Процессор грузится сам (если это возможно) с большой последовательной флэшки.В этой же флэш ке лежит бит стрим для ПЛИС (его можно сжать нехило используя любой открытый алгоритм), а также прошивки для других устройств в системе если они есть.ПЛИС грузится как правило в режиме slave serial , хотя в некоторых случаях выбирают и другие режимы.JTAG плиски пользуется только для отладки так как slave serial проще в реализации.

Полностью согласен с Bad0512, так намного универсальней, и более того, если есть нормальный внешний интерфейс, типа USB или

даже UART то можно прошивку грузить через контроллер непосредственно в FPGA.

По схеме, если вы еще не поправили, необходимо завести сигнал CS от AT45... на все т.е. и на XILINX (CSO_B) и на контроллер.

Т.к. многие операции записи чтение заканчиваются имеено по снятию сигнала CS.

 

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


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

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

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

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

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

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

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

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

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

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