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

 
 
 
Reply to this topicStart new topic
> TMS320C6415 + EMIF, Срочно нужна помощь !!! HELP !!!
Wiener
сообщение Feb 2 2006, 10:41
Сообщение #1


Участник
*

Группа: Почетный участник
Сообщений: 42
Регистрация: 30-01-06
Из: Москва
Пользователь №: 13 758



Добрый день.

Срочно нужна помощь по работе с TMS320C6415, в частности с модулем EMIF. До этого работал только с 8-ми разрядниками HC08 (FreeScale), так, что в TMS практически по нулям (помогает только знание C/C++).

Что есть:
- TMS320C6415 которому на EMIFA (на ED (шина данных EMIFA)) подключена ПЛИС;
- ПЛИС подаёт на GPIO_GP3 тактовый сигнал, а на ED данные (адреса и прочее не используются);
- среда разработки CodeComposer Studio 3.1 (C/C++);
- желание заставить это работать ;-).

Что надо:
- по приходу клока (передний фронт) на GPIO_GP3 запускать подпрограмму обработки прерывания и снимать данные с ED.

Заранее благодарен всем ответившим.
Go to the top of the page
 
+Quote Post
bav
сообщение Feb 2 2006, 13:09
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 693
Регистрация: 21-06-05
Из: Санкт-Петербург
Пользователь №: 6 184



ну воопервых - вам необходимо еще использовать сигнал ACEx. Он будет формировать некоторую область памяти (адреса). Вот по ним (по одмному из них) Вы и будете считывать.
Иначе - мультиплексировать память самому, что не получится (будут большие задержки, апроц и так работает на пределе).
Можете сделать следующий алгоритм: не генерить прерывание, а генерить событие для DMA. А это чудо отправит данные куда нужно.
Если скрость прихода данных не большая, лучше используйте последовательные интерфейсы. Ваше изобретение будет сильно тормозить весь процесс. - переключение шин, переключение блоков памяти и т. д. Может спасти, если прогу разместить с нулевого адреса (если она не большая). Если большая - незабудьте инициализировать кеш.
Или лучше используйте GPIO[15..0], PCI,...

удачи!
Go to the top of the page
 
+Quote Post
Wiener
сообщение Feb 3 2006, 07:02
Сообщение #3


Участник
*

Группа: Почетный участник
Сообщений: 42
Регистрация: 30-01-06
Из: Москва
Пользователь №: 13 758



Использовать другие сигналы проблематично, т.к. со стороны ПЛИС уже всё сделано, да и устройство функционально закончено.
А можно примерчик, просто чтения EMIF ?!
А то я нашёл вызовы инициализации GPIO и EMIF, с GPIO вроде всё понятно (кроме привязки к IRQ), с EMIF вообще ничего не ясно, т.к. нет как у GPIO функций чтения/записи...
Go to the top of the page
 
+Quote Post
bav
сообщение Feb 6 2006, 08:57
Сообщение #4


Знающий
****

Группа: Свой
Сообщений: 693
Регистрация: 21-06-05
Из: Санкт-Петербург
Пользователь №: 6 184



EMIF - external memory interface.
инициализация - там прописываете, какие такты, задержки, разрядность и т. д. у памяти (в Вашем случае, девайса).
Общение как с обычной памятью - запись/чтение байта/слова/двойного слова по заданному адресу.

usigned int in_data = (*(unsigned int*)ADDR); //чтение 32 бит данных, расположенных по адресу ADDR
(*(unsigned int*)ADDR) = out_data; //запись данных

для DMA немного по-сложнее. На сайие TI есть пример использования. Там все хорошо разжевано. Правда, на англ. языке.

Без сигнала ACEx - не обойтись. Без него Ваш девайс не узнает, кого хотят - память или Ваше устройство. Будет конфликт с памятью.
И еще раз повторюсь, если прогу уместите во внутреннем ОЗУ, может, прокатит. Но я не уверен, что там можно много напихать.

// проблема в документациях от TI - пока не заработает, ничего не понятно. Приходится много экспериментировать... smile3046.gif
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 21st July 2025 - 22:46
Рейтинг@Mail.ru


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