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

 
 
> Работа GPIF с FIFO без участия CPU, FX2LP
mikeT
сообщение May 2 2009, 12:14
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 73
Регистрация: 6-02-08
Из: Новосибирск
Пользователь №: 34 789



Загрузился таким вопросом: как я понял, транзакции GPIF (например, FIFO-read, FIFO-write) должны запускаться "ручками", например, через GPIFTRIG или EPxGPIFTRIG.
Таким образом, участие CPU (8051, что внутри FX2LP) необходимо.

А можно ли каким-нибудь образом полностью "отвязаться" от участия CPU в этом процессе? То есть, например, дернул внешний (по отношению к FX2LP) девайс каким-то пином FX2LP и после этого стартует процесс FIFO-read для определенного FIFO?

Я не нашел в FX2LP Reference как это можно сделать.
Вопрос связан с тем, что скорость передачи данных требуется близкая к предельной (High-Speed) и не очень хочется задействовать процессор FX2LP для периодического запуска транзакций. Даже если это будет короткий обработчик прерывания - хоть по внешнему событию, хоть по внутреннем флагам состояния FIFO.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
tAmega
сообщение May 2 2009, 13:57
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 474
Регистрация: 20-01-09
Из: НН
Пользователь №: 43 639



На самом деле так и задумана работа FX2LP в режиме полного автомата. Читайте внимательно. Триггер дергается всего один раз в самом начале, дальше процесс в автомате пока не закончится передача всего массива данных.


--------------------
пользователь отключен
Go to the top of the page
 
+Quote Post
mikeT
сообщение May 6 2009, 15:55
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 73
Регистрация: 6-02-08
Из: Новосибирск
Пользователь №: 34 789



Цитата(tAmega @ May 2 2009, 20:57) *
На самом деле так и задумана работа FX2LP в режиме полного автомата. Читайте внимательно. Триггер дергается всего один раз в самом начале, дальше процесс в автомате пока не закончится передача всего массива данных.


Я имел в виду вот что: допустим я хочу лить данные непрерывно в два разных FIFO. "Непрерывно" - не значит, что оба потока параллельно (так невозможно), а скорее "по мере готовности", но сами потоки не прекращаются. Да даже пусть будет хотя бы одно FIFO. Я понимаю, что можно запрограммировать GPIF и он будет постоянно ожидать готовности внешних данных и по мере готовности вычитывать их, но диаграмма то при этом "крутится", то есть находится в одном из состояний S0-S6! А если диаграмма заканчивается, то запустить ее можно снова только вручную с CPU. Если не так, то подскажите пожалуйста где про это написано.
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 23rd August 2025 - 21:31
Рейтинг@Mail.ru


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