Jump to content

    

Начать работать с Hi-Speed USB - CY7C68013

Приветствую коллеги.

Ранее я надеялся на то что мне хватит того что по скорости обмена выжму с 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 :)

На то и надеюсь что он и умеет на порядок больше.

Посоветуйте плз, как с ней начать максимально быстро работать.

Оказуется, есть еще какой-то софт EZ‐USB Control Panel.

По косвенной информации с упоминаниями Keil пока догадываюсь что именно в ней то и нужно будет весь проект делать. Так ли это?

Вот тут есть ссылка софт какой-то, но он не доступен. Так что вопрос тоже открыт покаместь.

 

Много вопросов. Буду рад любим вашим советам.

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

 

И еще, так как чипа у меня под рукой нет, как вы думаете? На сколько оправданно начать с покупки и использования вот этой платки?

FX2_TechRefManual.pdf

Share this post


Link to post
Share on other sites

+1 за платку, быстрее освоите. Но на платке той стоит 56-выводной МК, у которого не все пины доступны, хотя Вам для SPI хватит существующих.

У Cypress есть неплохие Application Notes на разные темы, в том числе и по Вашей (USB в быстрый последовательный интерфейс). Посмотрите на их сайте в разделе FX2LP, там есть отдельная страница с App notes.

Share this post


Link to post
Share on other sites
+1 за платку, быстрее освоите. Но на платке той стоит 56-выводной МК, у которого не все пины доступны, хотя Вам для SPI хватит существующих.

У Cypress есть неплохие Application Notes на разные темы, в том числе и по Вашей (USB в быстрый последовательный интерфейс). Посмотрите на их сайте в разделе FX2LP, там есть отдельная страница с App notes.

Спасибо.

Хотя на самом деле, мне нужно и параллельный интерфейс и SPI, желательно одновременно.

Share this post


Link to post
Share on other sites
Спасибо.

Хотя на самом деле, мне нужно и параллельный интерфейс и SPI, желательно одновременно.

этот мк идеален для параллельного интерфейса. Кстати, отвечая на первое Ваше сообщение, 8051 там как бы вторичен в случае скоростного обмена: 51 конфигурирует GPIO/FIFO, который затем работает как быстрый USB<>parallel.

Share this post


Link to post
Share on other sites
этот мк идеален для параллельного интерфейса. Кстати, отвечая на первое Ваше сообщение, 8051 там как бы вторичен в случае скоростного обмена: 51 конфигурирует GPIO/FIFO, который затем работает как быстрый USB<>parallel.

мммм, а можно Вас вот тут вот, более детально объяснить?

Те коды, что я накачал и бегло пробежался(разгребать коды буду позже), похоже что 8051 там как раз всё и делает...

Share this post


Link to post
Share on other sites
скорости 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 делал давно, многих тонкостей уже не помню. Помню, что взял один из примеров и переделал его под себя, вроде без проблем.

Share this post


Link to post
Share on other sites

Максимум который я выжимал порядка 45 Мбайт/сек в устоявшемся в режиме Slave FIFO режиме . Зависит от конкретного порта USB компьютера. Я начинал с самодельной платки. Легко разводится и хорошо работает на двухслойной плате. На освоение CY7C68013 мы потратили кучу времени.

 

Share this post


Link to post
Share on other sites

Автор, ну, как успехи с 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 и тому подобное.

Share this post


Link to post
Share on other sites
По большому счету, FX2 как и МК для Full Speed USB предлагаемые Cypress'ом разработан не самими кипарисами, а небольшой калифорнийской фирмочкой под названием Anchor Chips...

И FX3, кажется, тоже был куплен на стороне.

Share this post


Link to post
Share on other sites

исходя из ТЗ 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 реализован аппаратно.

 

 

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this