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

 
 
 
Reply to this topicStart new topic
> Передача данных в USB с помощью CY7C68013A
Alexander_
сообщение Apr 10 2007, 17:20
Сообщение #1


Участник
*

Группа: Свой
Сообщений: 45
Регистрация: 7-04-06
Пользователь №: 15 929



Необходимо передавать данные с DSP процессора на компьютер по USB шине (скорость приблизительно 256 Мбит/сек). Есть микросхема CY7C68013A. Нужно ли использовать 51 ядро или передавать в режиме AUTOOUT=1? Потянет ли такое быстродействие 51 контроллер в режиме AUTOOUT=0? Есть ли примеры кода для программирования контроллера в этих режимах? Заранее спасибо.
Go to the top of the page
 
+Quote Post
Konst_777
сообщение Apr 10 2007, 19:33
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 549
Регистрация: 1-06-05
Пользователь №: 5 644



При такой скорости передачи (32 Мбайта/сек) нужно использовать или Slave FIFOs или GPIF.
51 контроллер в режиме AUTOOUT=0 однозначно не сможет обеспечить такую скорость обмена ни с DSP процессором, ни с компьютером.
Go to the top of the page
 
+Quote Post
Alexander_
сообщение Apr 10 2007, 21:28
Сообщение #3


Участник
*

Группа: Свой
Сообщений: 45
Регистрация: 7-04-06
Пользователь №: 15 929



Получается при большой пропускной способности нецелесообразно использовать данную микросхему, а лучше заменить ее на CY7C68001 без контроллера?
Go to the top of the page
 
+Quote Post
-Al-
сообщение Apr 11 2007, 07:50
Сообщение #4


Местный
***

Группа: Свой
Сообщений: 330
Регистрация: 10-06-05
Из: Россия, Москва
Пользователь №: 5 894



Цитата(Alexander_ @ Apr 10 2007, 22:28) *
Получается при большой пропускной способности нецелесообразно использовать данную микросхему, а лучше заменить ее на CY7C68001 без контроллера?

Зачем?? FX2 по скорости ничем не уступает SX2 если работать напрямую с FIFO, да и жрет раза в 3 меньше, и попроще в инициализации будет... НО при скорости 32 МБ/сек, Вам просто необходимо иметь приличный буфер на стороне DSP (несколько МБ, надеюсь он у Вас есть smile.gif) для Bulk передачи.
Go to the top of the page
 
+Quote Post
Alexander_
сообщение Apr 11 2007, 17:07
Сообщение #5


Участник
*

Группа: Свой
Сообщений: 45
Регистрация: 7-04-06
Пользователь №: 15 929



Как в данном случае прицепить микросхему к DSP процессору в режиме Slave FIFO? Предполагалась подключаться к порту ASYNC как к асинхронной памяти (сигналы RDY, OE, WE, RE), но у Cypress сигнала готовности два (FULL – для записи в микросхему, EMPTY – для чтения) и как их подключить к Ready? Вывод этих сигналов на постоянные ножки и постоянный опрос не подходит по быстродействию, или вывести их на прерывания? Есть ли стандартные решения данной проблемы, вроде как FX2 приспособлена для подключения к DSP.
Go to the top of the page
 
+Quote Post
-Al-
сообщение Apr 11 2007, 18:25
Сообщение #6


Местный
***

Группа: Свой
Сообщений: 330
Регистрация: 10-06-05
Из: Россия, Москва
Пользователь №: 5 894



Цитата(Alexander_ @ Apr 11 2007, 18:07) *
Как в данном случае прицепить микросхему к DSP процессору в режиме Slave FIFO? Предполагалась подключаться к порту ASYNC как к асинхронной памяти (сигналы RDY, OE, WE, RE), но у Cypress сигнала готовности два (FULL – для записи в микросхему, EMPTY – для чтения) и как их подключить к Ready? Вывод этих сигналов на постоянные ножки и постоянный опрос не подходит по быстродействию, или вывести их на прерывания? Есть ли стандартные решения данной проблемы, вроде как FX2 приспособлена для подключения к DSP.

На такой скорости - только синхронное подключение должно быть, а сигналы у FX2 настраиваются как угодно, читайте datasheet.
Go to the top of the page
 
+Quote Post
Alexander_
сообщение Apr 11 2007, 22:59
Сообщение #7


Участник
*

Группа: Свой
Сообщений: 45
Регистрация: 7-04-06
Пользователь №: 15 929



Цитата(-Al- @ Apr 11 2007, 19:25) *
На такой скорости - только синхронное подключение должно быть, а сигналы у FX2 настраиваются как угодно, читайте datasheet.


Насколько я понял при асинхронном режиме время на одну передачу равно Twrl + Twrh = 120 нс, это примерно 8 МГц, что соответствует 16 Мбайт/сек. Я уже склоняюсь к понижению скорости и этого вполне достаточно. Реально ли работать на такой скорости в асинхронном режиме?
Ножки флагов FIFO настраиваются как угодно, но на конкретный флаг (либо FULL, либо EMPTY), а можно ли настроить так, чтобы одна и та же нога соответствовала флагу full при одном значении FIFOADR и флагу empty при другом значении FIFOADR (тогда ее можно завести на сигнал готовности памяти)?
Go to the top of the page
 
+Quote Post
Konst_777
сообщение Apr 12 2007, 13:05
Сообщение #8


Знающий
****

Группа: Свой
Сообщений: 549
Регистрация: 1-06-05
Пользователь №: 5 644



Цитата(Alexander_ @ Apr 11 2007, 22:59) *
... что соответствует 16 Мбайт/сек... Реально ли работать на такой скорости в асинхронном режиме?

Вполне реально. Если использовать драйвер устройства CyUSB.sys от Cypress, то обычная скорость обмена равна 25-27 МБ/сек.

Цитата(Alexander_ @ Apr 11 2007, 22:59) *
Ножки флагов FIFO настраиваются как угодно, но на конкретный флаг (либо FULL, либо EMPTY), а можно ли настроить так, чтобы одна и та же нога соответствовала флагу full при одном значении FIFOADR и флагу empty при другом значении FIFOADR (тогда ее можно завести на сигнал готовности памяти)?

Если выводы флагов сконфигурированы для работы в Indexed mode, то можно использовать как сигнал готовности памяти либо FLAGB - FIFO полностью заполнено, либо FLAGC - FIFO полностью пустое. Выбор флага определяется требуемым уровнем для сигнала готовности памяти.
Go to the top of the page
 
+Quote Post
jur
сообщение Apr 18 2007, 23:06
Сообщение #9


Местный
***

Группа: Свой
Сообщений: 205
Регистрация: 16-10-05
Пользователь №: 9 704



Цитата(Alexander_ @ Apr 10 2007, 17:20) *
Необходимо передавать данные с DSP процессора на компьютер по USB шине (скорость приблизительно 256 Мбит/сек). Есть микросхема CY7C68013A. Нужно ли использовать 51 ядро или передавать в режиме AUTOOUT=1? Потянет ли такое быстродействие 51 контроллер в режиме AUTOOUT=0? Есть ли примеры кода для программирования контроллера в этих режимах? Заранее спасибо.
Думаю, что никаких проблем не возникнет. Если применить GPIF. Прямо сейчас я работаю со следующими параметрами: тактовая интерфейса 30 MHz, время передачи пакета 512 байт примерно 8.5 мксек (16-разрядная шина). Время реакции микроконтроллера на запрос передачи (опрашивается внешний бит готовности блока данных в модуле TD_Poll, т.е. просто как дверь) от 5 до 7 мксек. Иными словами, без всяких ухищрений и сложностей, с управлением от микропроцессора (т.е. AUTOOUT=0) возможно получение свыше 60 МБ/сек (этого даже шина не обеспечивает ;-) Даже хватит времени для какого-то простого анализа: передавать пакет, или не стоит, изменить заголовок, или и так сойдет, и т.п.


--------------------
MPEG-4 - в массы!
Go to the top of the page
 
+Quote Post

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

 


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


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