Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Загрузка Alter-ы через SPI
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Работаем с ПЛИС, области применения, выбор
Морковный
Привет.
Я новичек в работе с ПЛИС.
Подскажите пожалуйста, как запрограммировать ПЛИС через порт SPI ?
zltigo
Цитата(Морковный @ Jun 25 2007, 12:47) *
Подскажите пожалуйста, как запрограммировать ПЛИС через порт SPI ?

Берете документацию на конкретный чип и читаеете.
misyachniy
Цитата(Морковный @ Jun 25 2007, 12:47) *
Привет.
Я новичек в работе с ПЛИС.
Подскажите пожалуйста, как запрограммировать ПЛИС через порт SPI ?


Скачать полую документацию и почитать о режимах загрузки.
Режим AS - ПЛИС самостоятельно с внешней ПЗУ считывает конфинурационные данные
Режим PS - Устройство(обычно микроконтроллер) загружает в ПЛИС данные по SPI.
Морковный
Цитата(misyachniy @ Jun 25 2007, 17:18) *
Скачать полую документацию и почитать о режимах загрузки.
Режим AS - ПЛИС самостоятельно с внешней ПЗУ считывает конфинурационные данные
Режим PS - Устройство(обычно микроконтроллер) загружает в ПЛИС данные по SPI.

Спасибо
Морковный
Если не особо затруднит, ответьте на несколько вопросов (что-то не могу найти нормальной документации, только какие-то обрывки. Соответственно не могу получить целостного представления о проблеме):

1) Схема подключения ПЛИС к порту SPI?
SPI процессора BlacKFin имеет ножки MISO (вход), MOSI(выход), SCK(тактовый сигнал) и какую-нибудь из ножек FP для выборки устройства. Их необходимо подключить к соответствующим ножкам ПЛИС (MAX EPM7256AETC100-10). Насколько я понимаю: MISO к TDO, MOSI к TDI, SCK к TCK, а FP видимо к TMS. Я правильно понял? Нужно ли еще что-то подавать на ПЛИС?


2) Протокол передачи прошивки?
Как перевести ПЛИС в режим готовности принять прошивку по SPI?
Что фактически надо передавать по SPI? Вряд ли ведь содержимое файла *.pof.
misyachniy
Цитата(Морковный @ Jun 27 2007, 15:26) *
Если не особо затруднит, ответьте на несколько вопросов (что-то не могу найти нормальной документации, только какие-то обрывки. Соответственно не могу получить целостного представления о проблеме):

1) Схема подключения ПЛИС к порту SPI?
SPI процессора BlacKFin имеет ножки MISO (вход), MOSI(выход), SCK(тактовый сигнал) и какую-нибудь из ножек FP для выборки устройства. Их необходимо подключить к соответствующим ножкам ПЛИС (MAX EPM7256-10). Насколько я понимаю: MISO к TDO, MOSI к TDI, SCK к TCK, а FP видимо к TMS. Я правильно понял? Нужно ли еще что-то подавать на ПЛИС?
2) Протокол передачи прошивки?
Как перевести ПЛИС в режим готовности принять прошивку по SPI?
Что фактически надо передавать по SPI? Вряд ли ведь содержимое файла *.pof.



Вы спутали CPLD и FPGA.
EPM7256 прошивается один раз на все время работы через ByteBlaster например.
FPGA тоже обычно загружают всегда одной программой из загрузочной памяти или процессором.
Вам нужно перепрограммировать CPLD в системе?
Морковный
Цитата(misyachniy @ Jun 27 2007, 17:43) *
Вы спутали CPLD и FPGA.
EPM7256 прошивается один раз на все время работы через ByteBlaster например.
FPGA тоже обычно загружают всегда одной программой из загрузочной памяти или процессором.
Вам нужно перепрограммировать CPLD в системе?


Действительно, что-то я попутал. Просто передо мной поставили задачу програмировать Stratix2 при помощи BlackFin. А поскольку Stratix-а пока нет в наличии дали печатную плату с Max-ом и ByteBlaster со словами "А типа это одно и то же".
А как выясняется, Stratix то надо программировать совсем по другому.
misyachniy
Цитата(Морковный @ Jun 28 2007, 09:26) *
Действительно, что-то я попутал. Просто передо мной поставили задачу програмировать Stratix2 при помощи BlackFin. А поскольку Stratix-а пока нет в наличии дали печатную плату с Max-ом и ByteBlaster со словами "А типа это одно и то же".
А как выясняется, Stratix то надо программировать совсем по другому.


Ну что сказать?
Правильно поставленное техническое задание это 70% успеха ;-)

Вот есть обсуждения как "шить" CPLD:
http://www.telesys.ru/wwwboards/fpga/297/messages/6620.shtml

Но нужно ли? ;-)
vleo
Цитата(Морковный @ Jun 25 2007, 13:47) *
Привет.
Я новичек в работе с ПЛИС.
Подскажите пожалуйста, как запрограммировать ПЛИС через порт SPI ?


Напишите мне на vleo@linuxmedialabs.com, я отвечу по существу.

Печально мне смотреть как люди не зная ответа на вопрос тем не менее распальцовываются по самое немогу... "читайте документацию". Там ответа НЕТ.
zltigo
Цитата(vleo @ Jul 26 2007, 23:06) *
Печально мне смотреть...

Печально смотреть, как люди НЕ ЧИТАЯ документацию чего-то методом тыка рожают.
Цитата
..."читайте документацию". Там ответа НЕТ.

Конкретно по Altera-м имеет место быть отдельный ИСЧЕРПЫВАЮЩИЙ документ немалой толщины по всевозможным загрузкам всех их FPGA. По нему была c без всякого напряга и сбора информации по "курилкам" сделана загрузка по SPI циклонов.

Так-что про "распальцовываются по самое немогу" это прежде всего к обладателям "сокровенных" знаний.
vleo
Цитата(zltigo @ Jul 27 2007, 01:08) *
Печально смотреть, как люди НЕ ЧИТАЯ документацию чего-то методом тыка рожают.

Конкретно по Altera-м имеет место быть отдельный ИСЧЕРПЫВАЮЩИЙ документ немалой толщины по всевозможным загрузкам всех их FPGA. По нему была c без всякого напряга и сбора информации по "курилкам" сделана загрузка по SPI циклонов.

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


И тем не менее - на вопрос поставленный так (как я понял) - "Как загрузить (допустим Cyclone II/III) используя SPI flash микросхему?"

ответа практически нигде нет, ни на интернете, и ТЕМ БОЛЕЕ на сайте у Альтеры. Это вполне законый вопрос между тем. Я недавно узнал ответ. И был в шоке от того, как налетели (не по делу) на человека, задавшего вопрос, но так правильного ответа и БЛИЗКО не дали.

Наводящий Вам вопрос - сколько и какие нужны элементы чтобы осуществить такую загрузку, кроме., понятно Циклона и самой flash памяти?
Andr2I
2vleo
Цитата
И тем не менее - на вопрос поставленный так (как я понял) - "Как загрузить (допустим Cyclone II/III) используя SPI flash микросхему?"


Вообще-то человек сам проговорился, что грузить будет с BlackFin.

Цитата
Наводящий Вам вопрос - сколько и какие нужны элементы чтобы осуществить такую загрузку, кроме., понятно Циклона и самой flash памяти?


Не читая документацию, рискну сказать, что потребуется пара резисторов - подтягов на 3,3V. Вопрос в другом - как в саму флеш засунуть прошивку - через программатор?
vleo
Цитата(Andr2I @ Jul 28 2007, 22:12) *
2vleo


Вообще-то человек сам проговорился, что грузить будет с BlackFin.
Не читая документацию, рискну сказать, что потребуется пара резисторов - подтягов на 3,3V. Вопрос в другом - как в саму флеш засунуть прошивку - через программатор?


Проще всего засунуть c помощью кабеля ByteBlaster-II или USB.

Да, если задачи программировать flash-ку в схеме не ставится то нужны 3 резистора, а если нужно программировать, то еще и резъем, естественно и еще один резистор. См. стр. 4-7 и 4-8 "Cyclone Device Handbook Volume 1, August 2005".

Ладно - вот ответ по существу на все эти вопросы - то, что Альтера называет AS, это на самом деле - SPI. Но этого у них нигде не написано - еще бы EPCS4 стоит $13, а SPI flash такого же размера - $2.50. Сравните распиновку (и цену) EPCS4 и M25P40.

Мне думается, что грузить с BlackFin это только мороку себе создавать, но тогда надо пользовать протокол PS (стр. 8-20, "Configuration Handbook, Volume 1, August 2005".

Потому что AS (a.k.a. SPI) flash можно перезаливать через мегафункцию SPL, и протокол там вполне простой.

Ну и также можно перезаливать через JTAG при загруженной SPL мегафункции, это стандартная функция программатора в Quartus-е.

У меня ко всем просьба - ищу замечательный файл от Альтеры, который доступен только купившим лицензию на Quartus - altremote_update_DesignExample_ex1.zip и altaltremote_update_DesignExample_ex2_msim.zip. Эта технология (remote_update) позволяет обновлять flash-ку вообще на ходу, без никаких кабелей, MCU - полностью средствами самой прошивки, которая работает в FPGA, и ко всему прочему позволяет гарантированно вернуться к заводской, рабочей прошивке, если что-то не то залилось.
dvladim
Цитата(vleo @ Jul 29 2007, 18:54) *
Эта технология (remote_update) позволяет обновлять flash-ку вообще на ходу, без никаких кабелей, MCU - полностью средствами самой прошивки, которая работает в FPGA

Ничего не путаете? Вроде remote_update обновляет конфигурацию в ПЛИС, а не во Flash. И функция существует только для Стратиксов.
Обновление Flash средствами FPGA - это flash loader. (посмотрите altserial_flash_loader)
vleo
Цитата(den_realan @ Jul 30 2007, 10:42) *
Ничего не путаете? Вроде remote_update обновляет конфигурацию в ПЛИС, а не во Flash. И функция существует только для Стратиксов.
Обновление Flash средствами FPGA - это flash loader. (посмотрите altserial_flash_loader)


А Вы? Читали руководство на Cyclone-III?
А сообщение на которое как бы отвечаете? Там и про SFL есть.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.