|
|
  |
USB, EZ-USB FX2 |
|
|
|
Feb 1 2010, 08:52
|

Участник

Группа: Участник
Сообщений: 46
Регистрация: 16-10-09
Из: msk
Пользователь №: 53 001

|
Вернулся к 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: кто искал пример связи плиса с микросхемой в режиме слейва - есть исходники по ссылке выше.
Сообщение отредактировал PDA - Feb 1 2010, 08:54
|
|
|
|
|
Feb 2 2010, 12:12
|

Участник

Группа: Участник
Сообщений: 46
Регистрация: 16-10-09
Из: msk
Пользователь №: 53 001

|
Проверял скорость передачи данных и на EzUSB драйвере и на CyUSB драйвере - передача 1МБ за чуть более 4 секунд. Проект плис построен на автомате: (использую только FIFO2 - как пылесос читает все данные что видит) 1 пока EmptyFlagEP2 = true ожидаем данные, иначе переход на чтение данных , 2 пока EmptyFlagEP2 = false читаем данные, иначе переход на ожидание данных , Программа на С++ выдает в СН7С68013А данные пачками по 32Байта и замеряет скорость передачи 1 МБ. Уж очень всё медленно...
|
|
|
|
|
Feb 2 2010, 15:12
|
Знающий
   
Группа: Свой
Сообщений: 549
Регистрация: 1-06-05
Пользователь №: 5 644

|
Цитата(PDA @ Feb 2 2010, 16:12)  Проверял скорость передачи данных и на EzUSB драйвере и на CyUSB драйвере - передача 1МБ за чуть более 4 секунд. ... Программа на С++ выдает в СН7С68013А данные пачками по 32Байта и замеряет скорость передачи 1 МБ. Уж очень всё медленно... Попробуйте выдавать в CY7C68013A данные пачками по 32 МБ и измерить скорость передачи 32 МБ. Может быть Вам поможет Archive.rar из темы прием данных из АЦП в ПК по USB, чтобы убедится в существовании более высоких скоростей обмена для FX2LP.
|
|
|
|
|
Mar 19 2010, 11:48
|
Знающий
   
Группа: Свой
Сообщений: 549
Регистрация: 1-06-05
Пользователь №: 5 644

|
Цитата(pergunt @ Mar 18 2010, 11:03)  Этот файл просто описательный файл для чипа? Или через него тоже меняются параметры у Сайпреса? Таким образом хост контроллер узнает о характеристиках устройства USB Цитата(pergunt @ Mar 18 2010, 11:03)  Тогда если я напишу в нем 150 в строке Power Requirements - станет ли больше возиожность потребления тока Сайпресом? Точнее вот так: если Ваше устройство USB потребляет от шины Vbus 300 мА, то вы обязаны в поле MaxPower дескриптора конфигурации (Configuration Descriptor) передать значение 150 ("150 в строке Power Requirements") Цитата(pergunt @ Mar 18 2010, 11:03)  Где можно найти более подробное описание дескрипторов для этого файла (что означают числа каждой из строк)? 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 Дескрипторы устройства"
|
|
|
|
|
Apr 8 2010, 12:26
|
Группа: Участник
Сообщений: 3
Регистрация: 12-09-09
Пользователь №: 52 316

|
Как организовать поток в ПК из устройства, который принимает данные и записывает их в файл (CY7C68013a, CyAPI, CyApi.lib, endpoint типа bulk)? я пытаюсь писать в VS, кое какие примеры нашел, буду рад любой помощи.
Сообщение отредактировал rezident - Apr 8 2010, 12:42
Причина редактирования: Ненужное форматирование.
|
|
|
|
|
Oct 11 2010, 11:58
|
Группа: Участник
Сообщений: 12
Регистрация: 11-10-10
Пользователь №: 60 070

|
Ребят, помогите? Есть устройство, но с недавнего времени, я так и не понял почему и когда началось VID стал 0000 а PID так и остался 8613... Соответвенно Device unknown... Что сделать можно?
|
|
|
|
|
Oct 12 2010, 10:40
|
Знающий
   
Группа: Свой
Сообщений: 549
Регистрация: 1-06-05
Пользователь №: 5 644

|
Цитата(kevin2 @ Oct 11 2010, 14:58)  ...VID стал 0000 а PID так и остался 8613... Соответвенно Device unknown... Что сделать можно? Если есть файл прошивки, то можно перепрошить EEPROM.
|
|
|
|
|
Oct 18 2010, 15:18
|
Группа: Участник
Сообщений: 12
Регистрация: 11-10-10
Пользователь №: 60 070

|
Попробую рассказать чуть подробнее. Это программатор UPA-USB. Однажды у меня он сбойнул, или я его чем-то пожег, не помню уже, давно было. Перестал он работать. Я пошел и купил новый CY7C86013A. Перепаял и он благополучно работал дальше. Ничего не перешивал. Просто перепаял чип интерфейса. А сейчас на двух программаторах что лежат у меня на столе наблюдаю такое. В совпадения я не верю. Пробовал их подключать к РАЗНЫМ компьютерам. Не помогает ничего...
|
|
|
|
|
Oct 19 2010, 10:04
|
Группа: Участник
Сообщений: 12
Регистрация: 11-10-10
Пользователь №: 60 070

|
Прошивку считал, попробую посмотреть, может чего пойму  новое это все для меня
|
|
|
|
|
Oct 19 2010, 13:18
|
Группа: Участник
Сообщений: 12
Регистрация: 11-10-10
Пользователь №: 60 070

|
Починил...
Похоже что именно софт производителя если считает, что устройство не оригинальное трет VID в атмеле 24С128. Идиотизм полный, у меня устройство купленное у производителя. На письма он не отвечает.
Просто прописал VID в 2-3 байты и все поднялось, правда софт (предыдущая версия) заставил перепрошить еепром, но заработало. Попробовал вставить опять в комп где обновленный софт - та же фигня, сразу еепром испортился. Хорошо что у меня 2 таких программатора, первый я починил с помощью Extrapic programmer (ооооочень долго он работает через usb2com), а дельше экспериментировал уже на починенном, пишет он атмел мгновенно.
|
|
|
|
|
Oct 20 2010, 05:31
|
Группа: Участник
Сообщений: 12
Регистрация: 11-10-10
Пользователь №: 60 070

|
Снес последнюю версию софта, поставил предыдущую - полет нормальный. Так что автор софта неадекватен, я конечно его тоже понимаю где-то, но не до такой же степени быть параноиком.
|
|
|
|
|
Nov 4 2010, 18:27
|

Гуру
     
Группа: Свой
Сообщений: 2 957
Регистрация: 19-09-06
Из: Москва
Пользователь №: 20 514

|
Подскажите с такой проблемой 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
|
|
|
|
|
  |
4 чел. читают эту тему (гостей: 4, скрытых пользователей: 0)
Пользователей: 0
|
|
|