Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Стыковка ARM и ПЛИС.
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
Pruga
Здравствуйте.
Стоит задача: организовать двустронний обмен данными между ПЛИС XC3S500E-PQ208 и процессором ARM EP9312 от Cirrus`a. Свойства интерфейса должны быть следующими:
1) ПЛИС выдает сигнал прерывания для процессора, по которому последний считывает данные из ПЛИСа.
2) Процессор в любой момент может обратиться к ПЛИС и загрузить в нее данные.
3) Шина данных для передачи желательна 32-х разрядная.
Хочу для связи использовать интерфейс процессора к памяти SRAM. Т.е к ПЛИС подводятся шины адреса/данных, сигналы OE, CS, WE и сигнал прерывания. Что скажете?
Ruslan1
Цитата(Pruga @ May 11 2006, 21:35) *
Здравствуйте.
Стоит задача: организовать двустронний обмен данными между ПЛИС XC3S500E-PQ208 и процессором ARM EP9312 от Cirrus`a. Свойства интерфейса должны быть следующими:
1) ПЛИС выдает сигнал прерывания для процессора, по которому последний считывает данные из ПЛИСа.
2) Процессор в любой момент может обратиться к ПЛИС и загрузить в нее данные.
3) Шина данных для передачи желательна 32-х разрядная.
Хочу для связи использовать интерфейс процессора к памяти SRAM. Т.е к ПЛИС подводятся шины адреса/данных, сигналы OE, CS, WE и сигнал прерывания. Что скажете?


Я реализовывал подобный интерфейс между Блэкфином и Альтерой, 16-битный. В Альтере организовывал двухпортовое ОЗУ, через которое собственно и гонялись данные. С точки зрения CPU это все видилось как часть адресного пространства. Аппаратно положил резисторы 33 Ома в шинах и все.
Абсолютно никаких проблем не было.
aaarrr
Цитата(Pruga @ May 11 2006, 22:35) *
Что скажете?

Прикручивали EP9312 к логике (правда, к XC3S200, и шина 8 бит). Ровным счетом никаких проблем.
Shuuura
Используем связку Cyclon + sam7s. Шина SPI на 24 Мгц + несколько ножек на формирование прерывания готовности данных от Cyclon. Удобно что задействовано мало ножек и очень кстати PDC (данные сами грузятся в ОЗУ ARMа и по мере готовности обрабатываются). Если устраивает 3 Мб/с то это красивый вариант.
vladec
Делал аналогичное решение, но со 100 мипсовым контроллером от Silabs (C8051F133) и XC3S200, при этом загрузку ПЛИС произвожу провожу контроллером, а загрузочный модуль (в пожатом виде - размер порядка 30 с хвостиком килобайт) для него размещается также во FLASH-памяти контроллера. При этом не требуется загрузочная ПЗУшка и разъем для ее программирования.
Pruga
Благодарю за ответы.
Цитата(Ruslan1 @ May 11 2006, 21:58) *
Я реализовывал подобный интерфейс между Блэкфином и Альтерой, 16-битный. В Альтере организовывал двухпортовое ОЗУ, через которое собственно и гонялись данные. С точки зрения CPU это все видилось как часть адресного пространства. Аппаратно положил резисторы 33 Ома в шинах и все.Абсолютно никаких проблем не было.
А для чего нужны резисторы в шинах??

Цитата(vladec @ May 12 2006, 09:17) *
Делал аналогичное решение, но со 100 мипсовым контроллером от Silabs (C8051F133) и XC3S200, при этом загрузку ПЛИС произвожу провожу контроллером, а загрузочный модуль (в пожатом виде - размер порядка 30 с хвостиком килобайт) для него размещается также во FLASH-памяти контроллера. При этом не требуется загрузочная ПЗУшка и разъем для ее программирования.
Интересно. А можете рассказать поподробнее?? Скажите, как организуется процесс загрузки данных в ПЛИС?? И в каком режиме конфигурирования установлена ПЛИС??
aaarrr
Цитата(Pruga @ May 12 2006, 14:22) *
Скажите, как организуется процесс загрузки данных в ПЛИС?? И в каком режиме конфигурирования установлена ПЛИС??

Всё очень просто - ПЛИС ставится в режим SlaveSerial, данные передаются по SPI.
Дополнительно на процессор заводятся сигналы PRG и DONE.
Ruslan1
Цитата(Pruga @ May 12 2006, 13:22) *
Благодарю за ответы.
Цитата(Ruslan1 @ May 11 2006, 21:58) *

Я реализовывал подобный интерфейс между Блэкфином и Альтерой, 16-битный. В Альтере организовывал двухпортовое ОЗУ, через которое собственно и гонялись данные. С точки зрения CPU это все видилось как часть адресного пространства. Аппаратно положил резисторы 33 Ома в шинах и все.Абсолютно никаких проблем не было.
А для чего нужны резисторы в шинах??



Я ставил для исключения иголок на шине в момент переключения дюже шустрых микросхем. Да и блэкфиновская плата у меня единственная была- оберегал набортный кристалл, как мог. smile.gif
vladec
Я для загрузки SPI не использовал, а сигналы CCLK, DIN, PROGR выдавал с флагов и DONE принимал на флаг.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.