PDA 0 Posted February 1, 2010 (edited) · Report post Вернулся к USB - скорость предачи данных около 70 кБайт/сек недопустима. Использую СН7С68013А EzUSB. Причем тормозит работу медленная функция чтения DWORD USB_BulkRead(DWORD pipe, void* buffer, DWORD buffersize) { DWORD nBytes; assert(buffersize<0x10000); DeviceIoControl(XyloDeviceHandle, 0x22204E, &pipe, sizeof(pipe), buffer, buffersize, &nBytes, NULL); return nBytes; } Сравнивая скорости, опубликованные другими до 45Мб/с, начал искать проблему. Вот тут дневник одного разработчика http://koonlab.com/MultiChannelI2S/MultiChannelI2S.html - у него тоже максимальная скорость была 2Мб/с - это тоже меньше 25-45Мб/с. Решения он, к сожалению, не нашел. Какие у вас получались скорости передачи, используя эту микросхему? Были ли особенности у программы(или драйвера) на компе, для увеличения скорости обмена? Подскажите направления куда копать? Возможно стоит попробовать драйвер CyUSB? update: кто искал пример связи плиса с микросхемой в режиме слейва - есть исходники по ссылке выше. Edited February 1, 2010 by PDA Quote Ответить с цитированием Share this post Link to post Share on other sites
PDA 0 Posted February 2, 2010 · Report post Проверял скорость передачи данных и на EzUSB драйвере и на CyUSB драйвере - передача 1МБ за чуть более 4 секунд. :crying: Проект плис построен на автомате: (использую только FIFO2 - как пылесос читает все данные что видит) 1 пока EmptyFlagEP2 = true ожидаем данные, иначе переход на чтение данных , 2 пока EmptyFlagEP2 = false читаем данные, иначе переход на ожидание данных , Программа на С++ выдает в СН7С68013А данные пачками по 32Байта и замеряет скорость передачи 1 МБ. Уж очень всё медленно... Quote Ответить с цитированием Share this post Link to post Share on other sites
Konst_777 0 Posted February 2, 2010 · Report post Проверял скорость передачи данных и на EzUSB драйвере и на CyUSB драйвере - передача 1МБ за чуть более 4 секунд. :crying: ... Программа на С++ выдает в СН7С68013А данные пачками по 32Байта и замеряет скорость передачи 1 МБ. Уж очень всё медленно... Попробуйте выдавать в CY7C68013A данные пачками по 32 МБ и измерить скорость передачи 32 МБ. Может быть Вам поможет Archive.rar из темы прием данных из АЦП в ПК по USB, чтобы убедится в существовании более высоких скоростей обмена для FX2LP. Quote Ответить с цитированием Share this post Link to post Share on other sites
pergunt 0 Posted March 18, 2010 · Report post Уважаемые! Работаем с CY7C68013A в режиме asynhronous Slave Fifo. Один энд-пойнт на запись и один на чтение данных. Заметил следующее, что когда я гружу прошивку в чип (Сайпрес) посредством Cypress USB Console, то в окне Device Configurations (1) - в столбце Max Power написано 0x32(100mA). Если я беру чужую прошивку (из какого-то примера), то в этом столбце написано 0х82(260mA). Нашел, что в файле dscr.a51 для прошивки есть такие строки: HighSpeedConfigDscr: db DSCR_CONFIG_LEN ;; Descriptor length db DSCR_CONFIG ;; Descriptor type db (HighSpeedConfigDscrEnd-HighSpeedConfigDscr) mod 256 ;; Total Length (LSB) db (HighSpeedConfigDscrEnd-HighSpeedConfigDscr) / 256 ;; Total Length (MSB) db 1 ;; Number of interfaces db 1 ;; Configuration number db 0 ;; Configuration string db 10100000b ;; Attributes (b7 - buspwr, b6 - selfpwr, b5 - rwu) db 50 ;; Power requirement (div 2 ma) Этот файл просто описательный файл для чипа? Или через него тоже меняются параметры у Сайпреса? Тогда если я напишу в нем 150 в строке Power Requirements - станет ли больше возиожность потребления тока Сайпресом? Где можно найти более подробное описание дескрипторов для этого файла (что означают числа каждой из строк)? Quote Ответить с цитированием Share this post Link to post Share on other sites
Konst_777 0 Posted March 19, 2010 · Report post Этот файл просто описательный файл для чипа? Или через него тоже меняются параметры у Сайпреса? Таким образом хост контроллер узнает о характеристиках устройства USB Тогда если я напишу в нем 150 в строке Power Requirements - станет ли больше возиожность потребления тока Сайпресом? Точнее вот так: если Ваше устройство USB потребляет от шины Vbus 300 мА, то вы обязаны в поле MaxPower дескриптора конфигурации (Configuration Descriptor) передать значение 150 ("150 в строке Power Requirements") Где можно найти более подробное описание дескрипторов для этого файла (что означают числа каждой из строк)? Don Anderson "System Architecture (USB 2.0)": Chapter 19 "USB Device Configuration" USB 2.0 Specification : "9.6 Standard USB Descriptor Definitions" Jan Axelson "USB Complete Third Edition": "4. Enumeration: How the Host Learns about Devices" Павел Агуров "Интерфейс USB. Практика использования и программирования ": "4.1.3 Дескрипторы устройства" Quote Ответить с цитированием Share this post Link to post Share on other sites
_Stalker_ 0 Posted April 8, 2010 (edited) · Report post Как организовать поток в ПК из устройства, который принимает данные и записывает их в файл (CY7C68013a, CyAPI, CyApi.lib, endpoint типа bulk)? я пытаюсь писать в VS, кое какие примеры нашел, буду рад любой помощи. Edited April 8, 2010 by rezident Ненужное форматирование. Quote Ответить с цитированием Share this post Link to post Share on other sites
kevin2 0 Posted October 11, 2010 · Report post Ребят, помогите? Есть устройство, но с недавнего времени, я так и не понял почему и когда началось VID стал 0000 а PID так и остался 8613... Соответвенно Device unknown... Что сделать можно? Quote Ответить с цитированием Share this post Link to post Share on other sites
Konst_777 0 Posted October 12, 2010 · Report post ...VID стал 0000 а PID так и остался 8613... Соответвенно Device unknown... Что сделать можно? Если есть файл прошивки, то можно перепрошить EEPROM. Quote Ответить с цитированием Share this post Link to post Share on other sites
kevin2 0 Posted October 18, 2010 · Report post Попробую рассказать чуть подробнее. Это программатор UPA-USB. Однажды у меня он сбойнул, или я его чем-то пожег, не помню уже, давно было. Перестал он работать. Я пошел и купил новый CY7C86013A. Перепаял и он благополучно работал дальше. Ничего не перешивал. Просто перепаял чип интерфейса. А сейчас на двух программаторах что лежат у меня на столе наблюдаю такое. В совпадения я не верю. Пробовал их подключать к РАЗНЫМ компьютерам. Не помогает ничего... :( Quote Ответить с цитированием Share this post Link to post Share on other sites
Sun525 0 Posted October 19, 2010 (edited) · Report post kevin2 Повредилось содержимое 24Сxx? Edited October 19, 2010 by Sun525 Quote Ответить с цитированием Share this post Link to post Share on other sites
kevin2 0 Posted October 19, 2010 · Report post Прошивку считал, попробую посмотреть, может чего пойму :) новое это все для меня :) Quote Ответить с цитированием Share this post Link to post Share on other sites
kevin2 0 Posted October 19, 2010 · Report post Починил... Похоже что именно софт производителя если считает, что устройство не оригинальное трет VID в атмеле 24С128. Идиотизм полный, у меня устройство купленное у производителя. На письма он не отвечает. Просто прописал VID в 2-3 байты и все поднялось, правда софт (предыдущая версия) заставил перепрошить еепром, но заработало. Попробовал вставить опять в комп где обновленный софт - та же фигня, сразу еепром испортился. Хорошо что у меня 2 таких программатора, первый я починил с помощью Extrapic programmer (ооооочень долго он работает через usb2com), а дельше экспериментировал уже на починенном, пишет он атмел мгновенно. Quote Ответить с цитированием Share this post Link to post Share on other sites
Konst_777 0 Posted October 19, 2010 · Report post ...Похоже что именно софт производителя если считает, что устройство не оригинальное трет VID в атмеле 24С128... А может это не софт производителя, а Вы стали первым владельцем вируса FX2LP_Killer? Попробуйте запретить запись в EEPROM. Ведь Вы же дружите с паяльником. :) Станет ясно, кто портит EEPROM. А если софт производителя затаится, то можно и с помощью программного анализатора USB протокола посмотреть. Quote Ответить с цитированием Share this post Link to post Share on other sites
kevin2 0 Posted October 20, 2010 · Report post Снес последнюю версию софта, поставил предыдущую - полет нормальный. Так что автор софта неадекватен, я конечно его тоже понимаю где-то, но не до такой же степени быть параноиком. Quote Ответить с цитированием Share this post Link to post Share on other sites
toweroff 0 Posted November 4, 2010 · Report post Подскажите с такой проблемой 1. Под руками оказалась только AT24C256 - вроде ж должно быть без разницы? А0 висит на VCC, но прошивание EEPROM средствами CyConsole, FxEEPROM приводит ни к чему (при перезапуске супресс опять как дефолтный), хотя они и говорят, что все ок. Заливание прошивки напрямую в RAM вызывает нормальную реинумерацию, но возникает пункт 2. 2. Установка драйвера для Streamer. Прописал в inf VID_04B4, PID_1003. При установке на реальной ОС WinXP x86 дает ошибка 10, при установке под VMWare7 - краш вари. Хотя если подсовывать тот же инф для дефолтных VID_04B4&PID_8613 (в inf прописаны оба девайса), то драйвер устанавливается и всякие CyConsole работают нормально. При установке драйвера под Win7 x64, несмотря на утверждение в мануале о работоспособности под этой ОС, винда драйвер ставит, но отключает как неподписанный ЗЫ. Софт установил Cypress Suite USB 3.4.2 Quote Ответить с цитированием Share this post Link to post Share on other sites