Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Начать работать с Hi-Speed USB - CY7C68013
Форум разработчиков электроники ELECTRONIX.ru > Интерфейсы > Форумы по интерфейсам > RS232/LPT/USB/PCMCIA/FireWire
PrSt
Приветствую коллеги.
Ранее я надеялся на то что мне хватит того что по скорости обмена выжму с FTDI, но не хватило...
и уже немного изменились требования. Нужно чтото побыстрее.
Хочу начать работать с Hi-Speed USB.
(PS: Параллельно читаю аналогичный вопрос что был тут когда-то http://electronix.ru/forum/lofiversion/index.php/t25493.html )
Поверхностно пробежавшись, остановился на CY7C68013, как на самой популярной в этой категории, подозреваю (а точнее уверен) что она намного быстрее, правда пока не нашел конкретно на какую скорости USB можно надеяться. Мне необходимо сделать переходник с скоростью около 15-20МБайт/сек USB а параллельную щину или SPI. В дискуссиях сообщения что теоретический предел 60МБайт/сек, реально конечно скорость ниже, и у некоторых людей было ~20-24 МБайт/сек... а у некоторых едва 8 МБайт/сек получается. Как я понял с переписки на форуме - от кода зависит.
Какая скорость у кого получалась на практике, на что мне стоит надеяться?

Еще не понял до конца как с ней работать. На сколько я понял, это 8051 с USB шустрым приемопередатчиком на который нужно самому полностью написать прогу, проинитить, и осуществлять весь контроль на всем этапе обмена данными. Но есть она на настолько прозрачная как та же FTDI. Все верно?

Скачал мануал FX2_TechRefManual (link), там чтиво на 480 стр. Курю её... (приатачил сюда на всяк случай)
Чип конечно потяжелее чем тот же FTDI sm.gif
На то и надеюсь что он и умеет на порядок больше.
Посоветуйте плз, как с ней начать максимально быстро работать.
Оказуется, есть еще какой-то софт EZ‐USB Control Panel.
По косвенной информации с упоминаниями Keil пока догадываюсь что именно в ней то и нужно будет весь проект делать. Так ли это?
Вот тут есть ссылка софт какой-то, но он не доступен. Так что вопрос тоже открыт покаместь.

Много вопросов. Буду рад любим вашим советам.
Ну и да, так как я пока не совсем в USB-теме, может подскажете более современные решения?

И еще, так как чипа у меня под рукой нет, как вы думаете? На сколько оправданно начать с покупки и использования вот этой платки?
alexunder
+1 за платку, быстрее освоите. Но на платке той стоит 56-выводной МК, у которого не все пины доступны, хотя Вам для SPI хватит существующих.
У Cypress есть неплохие Application Notes на разные темы, в том числе и по Вашей (USB в быстрый последовательный интерфейс). Посмотрите на их сайте в разделе FX2LP, там есть отдельная страница с App notes.
PrSt
Цитата(alexunder @ Sep 21 2015, 01:37) *
+1 за платку, быстрее освоите. Но на платке той стоит 56-выводной МК, у которого не все пины доступны, хотя Вам для SPI хватит существующих.
У Cypress есть неплохие Application Notes на разные темы, в том числе и по Вашей (USB в быстрый последовательный интерфейс). Посмотрите на их сайте в разделе FX2LP, там есть отдельная страница с App notes.

Спасибо.
Хотя на самом деле, мне нужно и параллельный интерфейс и SPI, желательно одновременно.
alexunder
Цитата(PrSt @ Sep 21 2015, 00:40) *
Спасибо.
Хотя на самом деле, мне нужно и параллельный интерфейс и SPI, желательно одновременно.

этот мк идеален для параллельного интерфейса. Кстати, отвечая на первое Ваше сообщение, 8051 там как бы вторичен в случае скоростного обмена: 51 конфигурирует GPIO/FIFO, который затем работает как быстрый USB<>parallel.
PrSt
Цитата(alexunder @ Sep 21 2015, 01:45) *
этот мк идеален для параллельного интерфейса. Кстати, отвечая на первое Ваше сообщение, 8051 там как бы вторичен в случае скоростного обмена: 51 конфигурирует GPIO/FIFO, который затем работает как быстрый USB<>parallel.

мммм, а можно Вас вот тут вот, более детально объяснить?
Те коды, что я накачал и бегло пробежался(разгребать коды буду позже), похоже что 8051 там как раз всё и делает...
jcxz
Цитата(PrSt @ Sep 21 2015, 03:44) *
скорости USB можно надеяться. Мне необходимо сделать переходник с скоростью около 15-20МБайт/сек USB а параллельную щину или SPI. В дискуссиях сообщения что теоретический предел 60МБайт/сек,

SPI на такую скорость не получите с CY7C68013. Разве что Quad-SPI и в одну сторону и то - очень сомнительно посмотрите хотя-бы на тактовую CY7C68013.
Да и чем Вы собрались принимать SPI на такой скорости, каким МК???
И кстати - параллельная шина параллельной шине рознь - смотря от кол-ва управляющих сигналов и требований к их времянкам может и не получите на 8-разрядной параллельной шине 20МБ/сек. Но CY7C68013 умеет 16-бит в параллель.
Да, как и писали тут, 8051 там нужен для конфигурирования и для работы по медленным эндпоинтам. Для быстрого обмена там есть Slave-FIFO, который программируется визуально в их спец.среде
(рисуете ручками в виде осциллограмм необходимые сигналы и зависимости), потом полученная осциллограмма работы вносится в ПО в виде массива чисел, который используется 8051-ядром при программировании логики Slave-FIFO.
Я больших скоростей не получал (не нужно было, нужно было немного быстрее USB FS) и проект на CY7C68013 делал давно, многих тонкостей уже не помню. Помню, что взял один из примеров и переделал его под себя, вроде без проблем.
dinam
Максимум который я выжимал порядка 45 Мбайт/сек в устоявшемся в режиме Slave FIFO режиме . Зависит от конкретного порта USB компьютера. Я начинал с самодельной платки. Легко разводится и хорошо работает на двухслойной плате. На освоение CY7C68013 мы потратили кучу времени.
alexunder
Автор, ну, как успехи с FX2?

jcxz прав, быстрый SPI тем более совтовый поднимать на том 8051 - странная затея. Если Вам очень нужен SPI, то поищите преобразователи Parallel <> SPI, такой вы сможете подружить с FX2шным Slave-FIFO и наверняка обеспечит высокую скорость. Вроде бы даже TI делает нечто подобное.

Сам 8051 который встроен в FX2 довольно примитивный по современным меркам (если сравнивать с C8051 от Silabs, где есть аппаратный SPI, DMA и пр.) несмотря на то что фирма позиционирует его как high-performance. В нем даже нет watchdog, который может быть весьма полезен в случае зависания USB. В общем, high-performance версией 51 он мог считаться в конце 90-х, откуда собственно и растут его ноги. По большому счету, FX2 как и МК для Full Speed USB предлагаемые Cypress'ом разработан не самими кипарисами, а небольшой калифорнийской фирмочкой под названием Anchor Chips, которую Cypress скупили в 1999-м году за 15 миллионов баксов. Именно Anchor Chips придумали на тот момент весьма уникальную идею загрузки кода для 8051 по USB во внутреннюю ОЗУ с последующим исполнением из ОЗУ. Это свойство отчасти обеспечило популярность FX2.
Cypress даже поленились переименовать константы и функции в исходниках драйверов для FX2 - хорошо помню мелькание слова ANCHOR в Си коде в Kit'ах Cypress еще в 2004-2005 годах: нечто вроде typedef struct _ANCHOR_DOWNLOAD_CONTROL и тому подобное.
aaarrr
Цитата(alexunder @ Oct 8 2015, 13:26) *
По большому счету, FX2 как и МК для Full Speed USB предлагаемые Cypress'ом разработан не самими кипарисами, а небольшой калифорнийской фирмочкой под названием Anchor Chips...

И FX3, кажется, тоже был куплен на стороне.
k155la3
исходя из ТЗ T.S.

1.
Для реализации параллельного интерфейса - работает, и неплохо. По крайней мере то, что нам требовалось.
Режим - ввод, асинхронный. Шина-8бит. Управление от внешнего мастера - SLCS, SLWR, PKTEND.
Этот узел работает аппартатно, писать софт для 8051 не надо (только блок инициализации узла FIFO)
Флаги не использовались, тк. быстродействия хватало болеечем.
В качестве базы было взято Cypress AN Slave FIFO.

2.
Для SPI не подойдет. У Cypress есть AN для SPI, но он реализован программно на 8051
Через изворот, можно конечно и сделать, нечто bit-bang на fifo.
Для этих целей однозначно лучше FTDI2232D, где SPI-master реализован аппаратно.


Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2024 Invision Power Services, Inc.