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

 
 
> Работа 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 6 2009, 16:03
Сообщение #2


Местный
***

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



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


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


Участник
*

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



Спасибо за ответы

Цитата(tAmega @ May 6 2009, 23:03) *
Там есть условные переходы, и благодаря им проц может крутиться непрерывно до бесконечности,

Я про это и спрашивал. То есть все так и есть, как я писал в предыдущих постах: диаграмма может крутиться бесконечно без участия проца, но для ее запуска проц нужен обязательно.

Цитата(tAmega @ May 6 2009, 23:03) *
с другой стороны, длина одной транзакции четыре байта,

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

Цитата(tAmega @ May 6 2009, 23:03) *
Неужели если проц дернет
GPIF один раз за несколько мегабайт, это сильно затормозит процесс.

Я не обсуждал - хорошо это или плохо. Если лить в одно FIFO, то, наверное вполне подойдет - "запустил и забыл". Если в два попеременно и на высокой скорости, то, наверное, не очень хорошо - по крайней мере Cypress во многих местах пишет, что "проц. отвязат от высокоскоростной передачи, т.к. он для этого медленный".
Мой начальный вопрос был не "заторомозит это процесс или нет", а "можно сделать запуск без участия проца?"
Go to the top of the page
 
+Quote Post



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

 


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


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