27.04.2022, 21:48
|
|
Гражданин KAZUS.RU
Регистрация: 21.02.2007
Сообщений: 551
Сказал спасибо: 37
Сказали Спасибо 17 раз(а) в 16 сообщении(ях)
|
Передача данных через CY7C68013A
Здравствуйте.
Есть у меня отладочная плата EZ-USB FX2LP CY7C68013A
к ней надо подключить какой нибудь микроконтроллер. Из наличия есть отладочная плата STM32F103.
МК должен формировать синтетический набор данных 100*100 байт и отправлять это все на комп с максимальной скоростью.
Скачал SDK для кипариса. Нашел документ ( https://www.infineon.com/dgdl/Infineon-AN4053_Streaming_Data_through_Isochronous_or_Bulk_ Endpoints_on_EZ-USB_FX2_and_FX2LP-ApplicationNotes-v10_00-EN.pdf) с описанием стримера, скачал код и программу. Сама отладочная плата работает что то там летает.
Но сколько документов не читаю, никак не могу врубиться в особенности построения системы. Как мне назначить протокол для связи с микроконтроллером?
Наверное чтобы было максимально быстро это надо SPI делать.
В общем помогите пожалуйста хотя бы начать куда то идти??
|
|
|
|
27.04.2022, 23:42
|
|
Модератор
Регистрация: 04.08.2010
Адрес: Москва СЗАО
Сообщений: 11,246
Сказал спасибо: 11,165
Сказали Спасибо 3,854 раз(а) в 2,925 сообщении(ях)
|
Re: Передача данных через CY7C68013A
worldmasters, там есть 24 бита i/O портов - их нужно настроить и обеспечить в программе для 8051 соответствующий обмен между USB, буфером и нужным портом для ввода-вывода данных.
Лет десять назад пользовали это чудо, сейчас до мелочей подробности не помню, но схема взаимодействия была примерно такой…
__________________
rtfm forever должно быть основой для каждого. Альтернатива грустна, поскольку метод слепого щенка успешно работает при весьма малом числе вариантов…
|
|
|
|
28.04.2022, 09:10
|
|
Гражданин KAZUS.RU
Регистрация: 21.02.2007
Сообщений: 551
Сказал спасибо: 37
Сказали Спасибо 17 раз(а) в 16 сообщении(ях)
|
Re: Передача данных через CY7C68013A
Сообщение от mike-y-k
|
Лет десять назад пользовали это чудо
|
А что, сейчас есть чтото более современное?? Посоветуйте.
Сообщение от mike-y-k
|
там есть 24 бита i/O портов - их нужно настроить и обеспечить в программе для 8051 соответствующий обмен между USB, буфером и нужным портом для ввода-вывода данных.
|
Это очевидно. Пример бы какой рабочий..
|
|
|
|
28.04.2022, 10:10
|
|
Почётный гражданин KAZUS.RU
Регистрация: 07.09.2014
Адрес: В Кремле!
Сообщений: 4,510
Сказал спасибо: 401
Сказали Спасибо 2,218 раз(а) в 1,316 сообщении(ях)
|
Re: Передача данных через CY7C68013A
Любая STM32 с USB. Хотя-бы даже ваша на плате BluePill.
Есть стмки 7-й серии с внешним драйвером физического уровня, скорость вооообще огонь. И есть стмки в USB 3
__________________
Убейте шизофреника Вовку Стогова!
|
|
|
Сказали "Спасибо" NewWriter
|
|
|
28.04.2022, 10:18
|
|
Вид на жительство
Регистрация: 17.09.2009
Адрес: Ярославль
Сообщений: 380
Сказал спасибо: 42
Сказали Спасибо 152 раз(а) в 101 сообщении(ях)
|
Re: Передача данных через CY7C68013A
Пошарьтесь по примерам, но на форумы доступ заблокирован- только через VPN.
github
USB Controllers Code Examples
|
|
|
|
28.04.2022, 10:33
|
|
Гражданин KAZUS.RU
Регистрация: 21.02.2007
Сообщений: 551
Сказал спасибо: 37
Сказали Спасибо 17 раз(а) в 16 сообщении(ях)
|
Re: Передача данных через CY7C68013A
Сообщение от NewWriter
|
Любая STM32 с USB
|
Ну не любая. HID и CDC не подойдут. Скорость маленькая. Это я для тестов взял всего 100*100 а в итоге надо будет гнать буфер около 320*240 может чуть больше. Да и на достаточно большой скорости.
Сообщение от NewWriter
|
Есть стмки 7-й серии с внешним драйвером физического уровня, скорость вооообще огонь. И есть стмки в USB 3
|
хм.. так то я смотрел в mcufinder, но МК мне будет нужен с железным портом CSI/MIPI чтобы можно было камеру подвесить. И чтобы было и то и то процов я не нашел. Поэтому и подумал что надо мост USB отдельный.
Может я криво смотрел конечно??
И не получится ли косяк с тем что когда в одной куче все находится то все будет жутко тормозить и лагать. И по итогу выброшеное время и деньги .. может принцип раздельности задач тут будет приоритетнее??
Да эти примеры то я вроде скачал.
Вот в файле fx2reg.h есть отметка на буферы:
Цитата:
|
// Endpoint Buffers
EXTERN xdata volatile BYTE EP0BUF[64] _AT_ 0xE740; // EP0 IN-OUT buffer
EXTERN xdata volatile BYTE EP1OUTBUF[64] _AT_ 0xE780; // EP1-OUT buffer
EXTERN xdata volatile BYTE EP1INBUF[64] _AT_ 0xE7C0; // EP1-IN buffer
EXTERN xdata volatile BYTE EP2FIFOBUF[1024] _AT_ 0xF000; // 512/1024-byte EP2 buffer (IN or OUT)
EXTERN xdata volatile BYTE EP4FIFOBUF[1024] _AT_ 0xF400; // 512 byte EP4 buffer (IN or OUT)
EXTERN xdata volatile BYTE EP6FIFOBUF[1024] _AT_ 0xF800; // 512/1024-byte EP6 buffer (IN or OUT)
EXTERN xdata volatile BYTE EP8FIFOBUF[1024] _AT_ 0xFC00; // 512 byte EP8 buffer (IN or OUT)
|
но насклько мне известно то слово EXTERN говорит о том что сам буфер определен в каком то другом файле. А тут перерыл проект и не нашел.
И каких размеров я могу этот буфер определить?
А надо ли вообще этот буфер делать может быть можно сразу налету считывать из какого то внешнего устройства??
Последний раз редактировалось worldmasters; 28.04.2022 в 10:40.
|
|
|
|
28.04.2022, 11:24
|
|
Почётный гражданин KAZUS.RU
Регистрация: 07.09.2014
Адрес: В Кремле!
Сообщений: 4,510
Сказал спасибо: 401
Сказали Спасибо 2,218 раз(а) в 1,316 сообщении(ях)
|
Re: Передача данных через CY7C68013A
Для HID и CDC скорость маленькая? А вы мануалы по классам и протоколам юсб почитайте и посмотрите, как вообще там реализовано. Для больших объемов - bulk-передачи. Или, если нужно в реальном времени, тогда изохорные передачи с заранее выделенной пропускной способностьтю. Стмки поддерживают эти типы передач, просто большинство примеров в сети основано на CDC и HID - делают виртуальный компорт и мышку/клаву.
Интерфейс до микросхемы физического уровня - ULPI, это отдельный параллельный 8-битный интерфейс. Микросхема физического уровня - например USB3320. Микроконтроллер - стмка 4-й и 7-й серий.
__________________
Убейте шизофреника Вовку Стогова!
Последний раз редактировалось NewWriter; 28.04.2022 в 11:35.
|
|
|
Эти 2 пользователя(ей) сказали Спасибо NewWriter за это сообщение:
|
|
|
28.04.2022, 11:32
|
|
Почётный гражданин KAZUS.RU
Регистрация: 08.02.2005
Адрес: Минск, Беларусь
Сообщений: 7,780
Сказал спасибо: 2,671
Сказали Спасибо 2,645 раз(а) в 1,953 сообщении(ях)
|
Re: Передача данных через CY7C68013A
Если не охота возиться с ULPI (если брать не готовую плату, а делать самому) - давно Atmel встраивал в свои чипы физический интерфейс USB HS, и это были недорогие микроконтроллеры - по цене сравнимые с STM с таким же ядром (тот же cortex M3, к примеру).
|
|
|
|
28.04.2022, 11:37
|
|
Почётный гражданин KAZUS.RU
Регистрация: 07.09.2014
Адрес: В Кремле!
Сообщений: 4,510
Сказал спасибо: 401
Сказали Спасибо 2,218 раз(а) в 1,316 сообщении(ях)
|
Re: Передача данных через CY7C68013A
В принципе, для передачи пары сотен килобайт пару десятков раз в секунду хватит и встроенного USB HS и даже FS без внешнего драйвера. Я так понимаю, автор хочет сделать что-то типа USB-камеры или наоборот дисплея.
__________________
Убейте шизофреника Вовку Стогова!
Последний раз редактировалось NewWriter; 28.04.2022 в 11:59.
|
|
|
|
28.04.2022, 12:08
|
|
Гражданин KAZUS.RU
Регистрация: 21.02.2007
Сообщений: 551
Сказал спасибо: 37
Сказали Спасибо 17 раз(а) в 16 сообщении(ях)
|
Re: Передача данных через CY7C68013A
Сообщение от NewWriter
|
Для HID и CDC скорость маленькая?
|
640*320* 250 = 51 200 000 байт в секунду.
Покажите пожалуйста как это можно прогнать через CDC. Про хид вообще молчу.
Сообщение от NewWriter
|
Интерфейс до микросхемы физического уровня - ULPI, это отдельный параллельный 8-битный интерфейс. Микросхема физического уровня - например USB3320.
|
За это спасибо, пойду почитаю что за зверь.
Сообщение от NewWriter
|
Я так понимаю, автор хочет сделать что-то типа USB-камеры или наоборот дисплея.
|
Правильно понимаете. Камера но не совсем обычная.
Сообщение от Yuri222
|
Если не охота возиться с ULPI (если брать не готовую плату, а делать самому) - давно Atmel встраивал в свои чипы физический интерфейс USB HS, и это были недорогие микроконтроллеры - по цене сравнимые с STM с таким же ядром (тот же cortex M3, к примеру).
|
С атмелами вообще никогда не работал.. Сейчас так с ценой хоть так хоть так проблемы, но с стм хотя бы есть хоть какой то опыт. с ULPI конечно не хочется возится руками но теперь видится решение как стм32 с ULPI и CSI + USB3320.
Вроде как это проще ... но осталось стм подобрать. STMCUFinder даже не в списке портов не показывает ULPI.
Последний раз редактировалось worldmasters; 28.04.2022 в 12:32.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 09:48.
|
|