реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> Стыковка ARM и ПЛИС.
Guest_Pruga_*
сообщение May 11 2006, 18:35
Сообщение #1





Guests






Здравствуйте.
Стоит задача: организовать двустронний обмен данными между ПЛИС XC3S500E-PQ208 и процессором ARM EP9312 от Cirrus`a. Свойства интерфейса должны быть следующими:
1) ПЛИС выдает сигнал прерывания для процессора, по которому последний считывает данные из ПЛИСа.
2) Процессор в любой момент может обратиться к ПЛИС и загрузить в нее данные.
3) Шина данных для передачи желательна 32-х разрядная.
Хочу для связи использовать интерфейс процессора к памяти SRAM. Т.е к ПЛИС подводятся шины адреса/данных, сигналы OE, CS, WE и сигнал прерывания. Что скажете?
Go to the top of the page
 
+Quote Post
Ruslan1
сообщение May 11 2006, 18:58
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 360
Регистрация: 6-03-06
Из: Кишинев
Пользователь №: 15 025



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


Я реализовывал подобный интерфейс между Блэкфином и Альтерой, 16-битный. В Альтере организовывал двухпортовое ОЗУ, через которое собственно и гонялись данные. С точки зрения CPU это все видилось как часть адресного пространства. Аппаратно положил резисторы 33 Ома в шинах и все.
Абсолютно никаких проблем не было.
Go to the top of the page
 
+Quote Post
aaarrr
сообщение May 11 2006, 19:30
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(Pruga @ May 11 2006, 22:35) *
Что скажете?

Прикручивали EP9312 к логике (правда, к XC3S200, и шина 8 бит). Ровным счетом никаких проблем.
Go to the top of the page
 
+Quote Post
Shuuura
сообщение May 12 2006, 05:53
Сообщение #4


Частый гость
**

Группа: Свой
Сообщений: 80
Регистрация: 23-08-05
Пользователь №: 7 902



Используем связку Cyclon + sam7s. Шина SPI на 24 Мгц + несколько ножек на формирование прерывания готовности данных от Cyclon. Удобно что задействовано мало ножек и очень кстати PDC (данные сами грузятся в ОЗУ ARMа и по мере готовности обрабатываются). Если устраивает 3 Мб/с то это красивый вариант.
Go to the top of the page
 
+Quote Post
vladec
сообщение May 12 2006, 06:17
Сообщение #5


Профессионал
*****

Группа: Свой
Сообщений: 1 167
Регистрация: 3-10-05
Из: Москва
Пользователь №: 9 158



Делал аналогичное решение, но со 100 мипсовым контроллером от Silabs (C8051F133) и XC3S200, при этом загрузку ПЛИС произвожу провожу контроллером, а загрузочный модуль (в пожатом виде - размер порядка 30 с хвостиком килобайт) для него размещается также во FLASH-памяти контроллера. При этом не требуется загрузочная ПЗУшка и разъем для ее программирования.
Go to the top of the page
 
+Quote Post
Guest_Pruga_*
сообщение May 12 2006, 10:22
Сообщение #6





Guests






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

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


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(Pruga @ May 12 2006, 14:22) *
Скажите, как организуется процесс загрузки данных в ПЛИС?? И в каком режиме конфигурирования установлена ПЛИС??

Всё очень просто - ПЛИС ставится в режим SlaveSerial, данные передаются по SPI.
Дополнительно на процессор заводятся сигналы PRG и DONE.
Go to the top of the page
 
+Quote Post
Ruslan1
сообщение May 12 2006, 12:18
Сообщение #8


Гуру
******

Группа: Свой
Сообщений: 2 360
Регистрация: 6-03-06
Из: Кишинев
Пользователь №: 15 025



Цитата(Pruga @ May 12 2006, 13:22) *
Благодарю за ответы.
Цитата(Ruslan1 @ May 11 2006, 21:58) *

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



Я ставил для исключения иголок на шине в момент переключения дюже шустрых микросхем. Да и блэкфиновская плата у меня единственная была- оберегал набортный кристалл, как мог. smile.gif
Go to the top of the page
 
+Quote Post
vladec
сообщение May 12 2006, 13:47
Сообщение #9


Профессионал
*****

Группа: Свой
Сообщений: 1 167
Регистрация: 3-10-05
Из: Москва
Пользователь №: 9 158



Я для загрузки SPI не использовал, а сигналы CCLK, DIN, PROGR выдавал с флагов и DONE принимал на флаг.
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 20th July 2025 - 23:35
Рейтинг@Mail.ru


Страница сгенерированна за 0.01417 секунд с 7
ELECTRONIX ©2004-2016