VitalyM4 0 2 января, 2007 Опубликовано 2 января, 2007 · Жалоба С Новым Годом!!! Здравствуйте премногоуважаемые жители форума!!! Имею сей контроллер не знаю как к нему подступиться чтобы USB начаеть делать. Какой софт юзать?? Смотрел кейл, там вроде этот проц есть. Может есть что специфическое от cypressa?? А для разработки драйвера и софта под виндой че юзать??? СПС!!! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aaarrr 53 2 января, 2007 Опубликовано 2 января, 2007 · Жалоба Для начала стоит посмотреть софт от developer kit'а, там как раз Keil и используется в качестве компилятора, есть примеры. Простой поиск на сайте Cypress'а CY7C68013A (только с правильным количеством нулей) дает кучу ссылок. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
rvk 0 2 января, 2007 Опубликовано 2 января, 2007 (изменено) · Жалоба Для того, чтобы полностью врубиться в USB стандарт, а также написать программу под этот чип в Keil и спроектировать схему нужен всего один документ : FX2 TechRefManual.pdf, он лежит в разделе доков для данного чипа на сайте Cypress. По поводу драйвера : Можно воспользоваться уже готовым драйвером с исходниками EZUSB.sys, к нему же в ките, который лежит там же, в разделе SDK для чипа на сайте cypress, есть программа под винду, которая работает в паре с драйвером, тоже с исходниками. Если не нравится EZUSB, он слегка тормознутый, можно использовать драйвер CyUSB.sys, тоже есть с исходниками. Правда верхняя программа под него, классная кстати идет уже без сорцов. Можно воспользоваться уловкой виндов и использовать свое устройство как MASS STORAGE DEVICE, что значит, чип обзывает себя накопителем, как это делается смотреть на сайте usb.org, ссылки в это форуме есть. Тогда драйвер не нужен в принципе, используется готовый по умолчанию в виндах. Ну а если очень хочется можно написать свой с нуля с помощью WIN XP DDK. Ну и конечно понадобится собственно USB2.0 спецификация, там же на usb.org. Изменено 2 января, 2007 пользователем rvk Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
VitalyM4 0 2 января, 2007 Опубликовано 2 января, 2007 · Жалоба Спасибо, я где-то так и делал. Просто для подстраховки, чтобы не забыть чего-то!!! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jur 0 2 января, 2007 Опубликовано 2 января, 2007 · Жалоба можно использовать драйвер CyUSB.sys, тоже есть с исходниками.Я использую этот драйвер. Отлично работает! Хотел поинтересоваться, а где его исходники найти? А то в китах все больше EZUSB.sys приводится. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
rvk 0 2 января, 2007 Опубликовано 2 января, 2007 (изменено) · Жалоба Да извините прогнал я по поводу CyUSB, исходников нет, есть только API файл с заголовком и библиотекой для использования в программе верхнего уровня. Изменено 2 января, 2007 пользователем rvk Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
XShocK 0 3 января, 2007 Опубликовано 3 января, 2007 · Жалоба FX2_TechRefManual.pdf + GPIF_Primer.pdf рулят. Только в последнем они постоянно что-то недоговаривают. Во всяком случае мне все время так кажется. А я вот просидел 3 дня, прикрутил его родимого к Spartan 3, пакеты летают по GPIF как ласточки. Но вот на комп(возможно и на сам спартан тоже) отдельные пакетики в 512 байт прилетают как попало. Было-бы очень интересно как правильно решать такую проблему. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jur 0 3 января, 2007 Опубликовано 3 января, 2007 · Жалоба Да извините прогнал я по поводу CyUSB, исходников нетНу вот... А я уже губки раскатал... :-) FX2_TechRefManual.pdf + GPIF_Primer.pdf рулят. Только в последнем они постоянно что-то недоговаривают. Во всяком случае мне все время так кажется.Есть такая буква... Но вообще-то этот Primer - хороший материал. Он даже в основу хелпа GPIF Designer'а лёг. Правда, я не смог с их дурацкого сайта (ох, прошелся бы я серпом по избранным местам их web-дезайнера!) скачать исходники: нажимаю линк - ничего не скачивается (скачал только сам PDF с описанием). Пришлось обращаться в техподдержку, они мне приаттачили ZIP-архив с этими исходниками. А я вот просидел 3 дня, прикрутил его родимого к Spartan 3, пакеты летают по GPIF как ласточки. Но вот на комп (возможно и на сам спартан тоже) отдельные пакетики в 512 байт прилетают как попало. Было-бы очень интересно как правильно решать такую проблему.Не знаю, что используется на компьютерной стороне, но я пользуюсь CyAPI к их превосходному CyUSB.sys. У меня была похожая проблема, пакеты хаотически не приходили. Понятное дело, грешил на их драйвер. Но зря. Оказалось, что в моем железе была трудноуловимая ошибка, импульс SLWR изредка был короче, чем нужно (речь о CY7C68001). Поэтому мне думается, что если работа идет через CyAPI, то желательно очень внимательно проверить железо. В Спартане что-нибудь отладочное намутить, хотя бы пакеты подсчитывать. Т.к. их CyAPI работает очень хорошо, я на него грешил бы в последнюю очередь. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
XShocK 0 3 января, 2007 Опубликовано 3 января, 2007 · Жалоба Не знаю, что используется на компьютерной стороне, но я пользуюсь CyAPI к их превосходному CyUSB.sys. У меня была похожая проблема, пакеты хаотически не приходили. Понятное дело, грешил на их драйвер. Но зря. Оказалось, что в моем железе была трудноуловимая ошибка, импульс SLWR изредка был короче, чем нужно (речь о CY7C68001). Поэтому мне думается, что если работа идет через CyAPI, то желательно очень внимательно проверить железо. В Спартане что-нибудь отладочное намутить, хотя бы пакеты подсчитывать. Т.к. их CyAPI работает очень хорошо, я на него грешил бы в последнюю очередь. Я наверно выразился немного смутно. Все пакеты приходят, и насколько я понял без ошибок. Проблема в том, что эти самые пакеты приходят не в правильном порядке. Если отправление делать медленно, то все путем. Стоит начать отправлять без задержки, так начинаются проблемы. На компе запущен CyBulk(та, что идет в пакете sdk) который и проверяет целостность. Насколько я понимаю USB в Bulk режиме не дает гарантии когда пакет придет, но я так и не понял, что насчет гарантии очередности пакетов. Если ее нет то посоветуйте, как правильно и быстро(что важно) это можно решить. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
XShocK 0 4 января, 2007 Опубликовано 4 января, 2007 · Жалоба Мой вопрос отпадает. Написал свою прогу на CyAPI и все начало работать. Видать этот CyBulk как-то странно считывает данные. Теперь правда беда, скорость с CyAPI ник черту. Видео 512 на 512 8-бит идет всего 25 фпс, это примерно 12 мегабайт/сек. А хочется 35 мб/сек. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
grumbler 0 4 января, 2007 Опубликовано 4 января, 2007 · Жалоба Мой вопрос отпадает. Написал свою прогу на CyAPI и все начало работать. Видать этот CyBulk как-то странно считывает данные. Теперь правда беда, скорость с CyAPI ник черту. Видео 512 на 512 8-бит идет всего 25 фпс, это примерно 12 мегабайт/сек. А хочется 35 мб/сек. Забить на CyAPI - перейти на USBIO и всё получится. А как провереяте скорость ? Переполнение буферов ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
XShocK 0 4 января, 2007 Опубликовано 4 января, 2007 · Жалоба Забить на CyAPI - перейти на USBIO и всё получится. А как провереяте скорость ? Переполнение буферов ? Программа посылает Спартану картинку, тот ее по простому инвертирует и отсылает назад, на моем конце я гляжу частоту с которой я принимаю кадры. Судя по этому и расчитал, что примерно 12 метров. Насчет переполнения буферов. Судя по мигающему на борде светодиоду ПЛИС справляется со своим делом очень быстро. Почти все время стоит в ожидании. Я поставил на вход и на выход по 2кб фифо, так что и ПЛИС микроконтроллер помоему не стоят. Еще я попробовал убрать весь код какой можно было из главного цикла. Скорость поднялась с 25 до 27 кадров с сек. Так что последую вашему совету и попробую USBIO. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
grumbler 0 4 января, 2007 Опубликовано 4 января, 2007 · Жалоба Программа посылает Спартану картинку, тот ее по простому инвертирует и отсылает назад, на моем конце я гляжу частоту с которой я принимаю кадры. Судя по этому и расчитал, что примерно 12 метров. Насчет переполнения буферов. Судя по мигающему на борде светодиоду ПЛИС справляется со своим делом очень быстро. Почти все время стоит в ожидании. Я поставил на вход и на выход по 2кб фифо, так что и ПЛИС микроконтроллер помоему не стоят. А какого размера буфер софтовый передается драйверу ? Размером на кадр или маленький ? Еще я попробовал убрать весь код какой можно было из главного цикла. Скорость поднялась с 25 до 27 кадров с сек. Какая машина используется ? Так что последую вашему совету и попробую USBIO. У нас когда то давно получилось на ввод получить примерно 27Мб, больше не было потребности. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
XShocK 0 4 января, 2007 Опубликовано 4 января, 2007 · Жалоба А какого размера буфер софтовый передается драйверу ? Размером на кадр или маленький ? Размер буфера на весь кадр, тоесть примерно 260 кбайт. Какая машина используется ? Pentium 4 3.06ghz, 533 mhz bus. Мать с 865 чипсетом. Только что попробовал USBIO Demo application и его Read File to Pipe и второй с Write Pipe to File. Тоесть пишу в EP2OUT и читаю из EP6IN. При запуске оба показывают стабильно 8.9 мегабайт/с. Тоесть примерно 18 мбайт/с так как трафик идет в обе стороны. Уже не 12 как в CyAPI, но и не желаемые 30-35. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jur 0 4 января, 2007 Опубликовано 4 января, 2007 · Жалоба Забить на CyAPI - перейти на USBIO и всё получится.Ну не знаю, не знаю... По моему, от API это никак не зависит, все дело в драйвере. А драйверу все равно, как к нему обращаться: посредством своих низкоуровневых вызовов, или через CyAPI. Является ли драйвер ezusb.sys лучше чем CyUSB.sys я тоже затрудняюсь сказать. Во всяком случае специалисты самой Cypress говорят, что предпочтительнее использовать CyUSB.sys. Кроме того, ничто не мешает работать с CyUSB.sys посредством низкоуровневых вызовов, т.к. хендл драйвера всегда имеется (вызов DeviceHandle). Что касается CyAPI, то нужно помнить, что для скоростного обмена данными следует использовать асинхронный ввод/вывод через связку BeginDataXfer->WaitForXfer->FinishDataXfer, а не простой XferData. Также следует учесть буферирование. Например, для своих скоростей передачи (до 8 МБ) я опытным путем выяснил, что достаточная скорость достигается при очереди из 4 запросов по 8 512-байтных блоков в каждом (увеличение до 16-ти или 32-х увеличивает общую скорость передачи, но уже не намного). Далее. Передача данных должна обязательно производиться в отдельном треде, для которого нужно выставить повышенный приоритет (я выставляю THREAD_PRIORITY_TIME_CRITICAL). Ну и, наконец, достижение скоростей передачи в 30-35 МБ/сек - далеко не тривиальная задача! Достаточно взглянуть на скорость передачи данных с одного винчестера на другой. У меня скорость такой передачи на дисках EIDE даже 30 МБ не достигает! А ведь эта процедура выполняется системными средствами, хорошо вылизанными и отлаженными системными драйверами! Получить скорость более 35 МБ удается только с дисками SATA. Поэтому мне думается, что задача достижения скорости передачи в 30-35 МБ/сек должна решаться комплексно, с учетом не только драйверного хозяйства, но и приложения, использующего эти данные. Кстати, очень полезно провести хронометраж с помощью точного таймера (того, который QueryPerformanceCounter), это может помочь выявить узкие места. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться