|
|
  |
программирование Spartan 6 |
|
|
|
Feb 19 2013, 09:36
|

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

|
Есть задача программировать 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 Пока не обращайте внимание если нет на схеме какого-то подтягивающего резистора или конденсатора не хватает - сейчас мне важна суть...
Эскизы прикрепленных изображений
--------------------
If it doesn't work in simulation, it won't work on the board.
"Ты живешь в своих поступках, а не в теле. Ты — это твои действия, и нет другого тебя" Антуан де Сент-Экзюпери повесть "Маленький принц"
|
|
|
|
|
Feb 19 2013, 10:11
|
Знающий
   
Группа: Свой
Сообщений: 726
Регистрация: 14-09-06
Из: Москва
Пользователь №: 20 394

|
Цитата(Maverick @ Feb 19 2013, 13:36)  Есть задача программировать Spartan 6 с помощью внешнего процессора (SPI mode) или с помощью внешней флешки (Atmel AT45DBxxxD) Режим программирования должен переключаться с помощью перемычки. А есть параллельная шина от процессора к ПЛИС? Вы ж данными как-то обмениваетесь "проц к/от ПЛИС"? Вот через эту шину и шить, если от процессора. Младший байт шины повесить на правильные ноги ПЛИС, DONE, PROG и INIT на GPIO проца. Чтобы правильно подключить CSI и CLK - надо знать какой процессор. Тогда может и внешняя SPI-флешка не нужна будет?
Сообщение отредактировал faa - Feb 19 2013, 10:12
|
|
|
|
|
Feb 19 2013, 10:29
|

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

|
Цитата(faa @ Feb 19 2013, 12:11)  А есть параллельная шина от процессора к ПЛИС? Вы ж данными как-то обмениваетесь "проц к/от ПЛИС"? Вот через эту шину и шить, если от процессора. Младший байт шины повесить на правильные ноги ПЛИС, DONE, PROG и INIT на GPIO проца. Чтобы правильно подключить CSI и CLK - надо знать какой процессор. Тогда может и внешняя SPI-флешка не нужна будет? не совсем понял Ваш ответ... Процессор и ПЛИС связаны по SPI процессор STM32F4xxRx
--------------------
If it doesn't work in simulation, it won't work on the board.
"Ты живешь в своих поступках, а не в теле. Ты — это твои действия, и нет другого тебя" Антуан де Сент-Экзюпери повесть "Маленький принц"
|
|
|
|
|
Feb 21 2013, 07:33
|

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

|
Вопрос Можно сделать в схеме ( ссылка стр 16 Figure 1-4: SPI Flash Interface Topology и сама схема стр 8) добавить микропроцессор который будет записывать во флешку новую прошивку? Упраление сделать через сигнал CS, затем микропроцессор просто отправляет ПЛИС на переконфигурацию с помощью сигналов Program_B и INIT Или это не корректное решение?
--------------------
If it doesn't work in simulation, it won't work on the board.
"Ты живешь в своих поступках, а не в теле. Ты — это твои действия, и нет другого тебя" Антуан де Сент-Экзюпери повесть "Маленький принц"
|
|
|
|
|
Feb 21 2013, 09:53
|
Знающий
   
Группа: Свой
Сообщений: 802
Регистрация: 11-05-07
Из: Томск
Пользователь №: 27 650

|
Цитата(Maverick @ Feb 21 2013, 14:33)  Вопрос Можно сделать в схеме ( ссылка стр 16 Figure 1-4: SPI Flash Interface Topology и сама схема стр 8) добавить микропроцессор который будет записывать во флешку новую прошивку? Упраление сделать через сигнал CS, затем микропроцессор просто отправляет ПЛИС на переконфигурацию с помощью сигналов Program_B и INIT Или это не корректное решение? Практика показывает, что если у вас больше одного девайса в системе, которому нужна уникальная прошивка, то лучше все прошивки держать в одном большом хранилище и собирать в кучу средствами софта, чем городить отдельный интерфейс для прошивки каждого устройства.Как правило этим(загрузкой всего) занимается процессор. Поддерживать и апдейтить такие системы гораздо проще.
|
|
|
|
|
Feb 22 2013, 01:28
|
Местный
  
Группа: Свой
Сообщений: 224
Регистрация: 22-06-04
Из: Новосибирск
Пользователь №: 87

|
Цитата(Bad0512 @ Feb 21 2013, 20:46)  Процессор грузится сам (если это возможно) с большой последовательной флэшки.В этой же флэш ке лежит бит стрим для ПЛИС (его можно сжать нехило используя любой открытый алгоритм), а также прошивки для других устройств в системе если они есть.ПЛИС грузится как правило в режиме slave serial , хотя в некоторых случаях выбирают и другие режимы.JTAG плиски пользуется только для отладки так как slave serial проще в реализации. Полностью согласен с Bad0512, так намного универсальней, и более того, если есть нормальный внешний интерфейс, типа USB или даже UART то можно прошивку грузить через контроллер непосредственно в FPGA. По схеме, если вы еще не поправили, необходимо завести сигнал CS от AT45... на все т.е. и на XILINX (CSO_B) и на контроллер. Т.к. многие операции записи чтение заканчиваются имеено по снятию сигнала CS.
|
|
|
|
|
  |
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0
|
|
|