Ситуевина такая. 68001 прилеплен к ПЛИСене. ЕЕПРОМа нет. ПЛИСина грузит ВИД, ПИД и ДИД (после прерывания SETUP) нумеруется хостом и вывешивает ENUMOK. Дрова EZUSB. Т.е. все ОК. При этом ендпоинты по умолчанию 4шт по 512байт (0х200) даблбуфер. Это я вижу в ЕЗ-мониторе. Т.е норма для ХайСпид. Если я начинаю их конфигурить ПЛИСиной через запись в EPxCFG(регистры 0х06...0х09) - оставляю 2 и 6 по 1024 даблбуфферинг, 4 и 8 убираю VALID=0 остальное по дефолту, то вижу что все равно присутствуют все 4-ре и размером 0х40 (64байт) - ФулСпид!!!! Лучше бы я их совсем не трогал! Никто не сталкивался? Чо за хрень такая? И как правильно их сконфигурить? Грузить весь Endpoint Configuration?? Через дескрипторы (регистр 0х30)? Софтом? Хелп, плз!!!
Цитата(Xenix @ Nov 8 2005, 20:34)

Ситуевина такая. 68001 прилеплен к ПЛИСене. ЕЕПРОМа нет. ПЛИСина грузит ВИД, ПИД и ДИД (после прерывания SETUP) нумеруется хостом и вывешивает ENUMOK. Дрова EZUSB. Т.е. все ОК. При этом ендпоинты по умолчанию 4шт по 512байт (0х200) даблбуфер. Это я вижу в ЕЗ-мониторе. Т.е норма для ХайСпид. Если я начинаю их конфигурить ПЛИСиной через запись в EPxCFG(регистры 0х06...0х09) - оставляю 2 и 6 по 1024 даблбуфферинг, 4 и 8 убираю VALID=0 остальное по дефолту, то вижу что все равно присутствуют все 4-ре и размером 0х40 (64байт) - ФулСпид!!!! Лучше бы я их совсем не трогал! Никто не сталкивался? Чо за хрень такая? И как правильно их сконфигурить? Грузить весь Endpoint Configuration?? Через дескрипторы (регистр 0х30)? Софтом? Хелп, плз!!!
Динамическое конфигурирование сайпрессом не поддерживается. Это значит, что нужно сконфигурить микруху и сделать ренумерацию с соответствующими дескрипторами...
Цитата(jur @ Oct 27 2005, 22:50)

Молодца фирма Cypress! В отличие от примененной мною более года назад FTDI, сайпрессовские драйвера не приводят к RESET'у компьютера, не вызывают никаких проблем и сама микросхема проще в применении (да и стоит дешевле).
Видимо вы не работали с драйвером EZUSB.SYS...
Всякий раз при попытке AbortPipe не существующего пайпа - происходил мгновенный выброс из винды...
Меня трижды выкинуло, пока я понял в чём дело.
Цитата(Trashy @ Nov 9 2005, 07:37)

Динамическое конфигурирование сайпрессом не поддерживается. Это значит, что нужно сконфигурить микруху и сделать ренумерацию с соответствующими дескрипторами...
В DS указанно такое. Но как мне правильно (аппаратно) сконфигурить ендпоинты.
Если я правильно понял нуна залить конфигурацию ЕР-тов после СЕТАПа, а потом залить дескрипторы
или залить дескрипторы с прописанными ЕР??? А потом я получу ЕНУМОК?!
Т.о. жду прерывания с СЕТАПом, потом я гружу все конфиги и настройки. Потом гружу регистр 0х30 с дескрипторами. И получаю прерывание ЕНУМОК. ??! Правильно?!
QuadMan
Nov 10 2005, 10:05
подскажите, пожалуйста, в драйвере CyUSB.sys имеется возможность какой-нибудь командой сбросить буферы данных драйвера?
2 Trashy. SX2. Гружу регистры 06-09 (выключаю 4 и 8-й ЕР) что сначала, что после дескрипторов одна кухня - в ЕЗМОНе вижу все четыре точки. В чем может быть трабла? Зачем делать FLUSH FIFO?
Заранее благодарен!
А вы не читали CY3682 Design Notes (на сайте есть), там описана процедура инициализации чипа. Сначала ждешь прерывания SETUP, затем грузишь регистры, затем дескрипторы. После этого винда енумерует устройство, если есть подходящий драйвер.
У меня еще не работает устройство, я пока на пути... но инициализация проходит.
Тоже нет Епрома, работаю с ПЛИС.
сорри, не SETUP прерывание вначале, а READY. Перепутал.
Цитата(vad2 @ Nov 18 2005, 12:42)

А вы не читали CY3682 Design Notes (на сайте есть), там описана процедура инициализации чипа. Сначала ждешь прерывания SETUP, затем грузишь регистры, затем дескрипторы. После этого винда енумерует устройство, если есть подходящий драйвер.
У меня еще не работает устройство, я пока на пути... но инициализация проходит.
Тоже нет Епрома, работаю с ПЛИС.
Читал. Написано грузим конфиг. Что именно ??? Потом дескрипторы. Какие??? Потом размер- и все!
Для моей задачи устраивает почти все по дефолту, только надо выключить два Ер, а два других увеличить в два раза.
Поэтому после РЕДИ, гружу 06-09 - выключаю ЕР 4 и 8. Потом дескрипторы 6 байт, ловлю ЕНУМОК. ПК видит девайс и раньше видел, но два ЕР присутствуют- опять вижу в ЕЗМОНе.
Можно только дескрипторы загрузить и все. Кстати когда до или потом грузишь ЕРхКОНФ размеры буферов изменяются с 512 до 64. Что за штука???
Почему они не выключаются я им ВАЛИД убираю!!!
((Потом я должен увидеть ХСГРАНТ и настроить размер буферов.))
Или для загрузки интерфейса (до загрузки дескрипторов) я все равно должен загрузить все регистры с 0х01 поп 0х2Е.???
Я думаю, что для того чтобы получить только 2 ендпоинта, вместо 4-х, нужно переписать полную таблицу дескрипторов для вашего случая (2 ендпоинта по 1024 байта) по адресу 300. Винда определяет наличие и конфигурацию ендпоинтов по этой информации, а у вас по умолчанию там записана конфигурация для 4-х ендпоинтов. На последней странице даташита описаны default descriptors, а то что значат эти цифры можно найти в спецификации на шину USB2.0.
Надеюсь, что вам помог.
Цитата(vad2 @ Nov 22 2005, 18:14)

Надеюсь, что вам помог.
Спасибо попробую. Свяжусь как там получится.
2 vad2.
А каким образом аппаратно записать таблицу дескрипторов? В ПДФ гл.12 описан дефолтовый - он состоит из нескольких частей, каждый со своей длиной. И каким образом это пишется. Ведь при записи по 300-ке надо указать длину и данные. (смещение автоматом генерится?)
Все понял! Надо посчитать кол-во байт и записать при записи в 0х30.
А стринговые дескрипторы по 16битному Юникоду согласно кодировке загруженной в стринговом дескрипторе 0!
Цитата(Xenix @ Nov 24 2005, 14:22)

Все понял! Надо посчитать кол-во байт и записать при записи в 0х30.
А стринговые дескрипторы по 16битному Юникоду согласно кодировке загруженной в стринговом дескрипторе 0!
Совершенно верно. Я тоже, как и многие коллеги, работаю с собственным дескриптором. Порядок действий тут такой. После сброса я загружаю регистры нужными значениями (меня не устраивают значения по умолчанию, т.к. нужно одной ендпойнте назначить 16-битную шину, а двум другим - 8-битную. Ну и флаги еще жестко пристегнуть, что-б не мучались :-) После этого загружаю свой дескриптор. Микросхема енумерируется в Windows и нормально работает.
Правильно понимаю, что после подачи питания и сигнала RESET# с выхода IFCLK клоки выдаваться не будут?
Из документации:
7.1.3 Bit 5: IFCLKOE
This bit selects if the IFCLK pin is driven. If IFCLKOE = 0
(default), the IFCLK pin is floated. If IFCLKOE = 1, the IFCLK
pin is driven.
Цитата(lehho @ Apr 14 2006, 13:30)

Правильно понимаю, что после подачи питания и сигнала RESET# с выхода IFCLK клоки выдаваться не будут?
Из документации:
7.1.3 Bit 5: IFCLKOE
This bit selects if the IFCLK pin is driven. If IFCLKOE = 0
(default), the IFCLK pin is floated. If IFCLKOE = 1, the IFCLK
pin is driven.
Если конфигурация по умолчанию и Вы не трогали бит IFCLKOE, то никакого такта там не будет, и вообще этот пин по умолчанию не исползуется, т.к. SX2 по умолчанию работает в асинхронном режиме.
Дмитрий К.
May 7 2006, 20:42
Подскажите,
Контроллер CY7C68001
У меня не получается енумерация без EEPROM:
1. Делаю Reset usb
2. Получаю прерывание Ready (т.к. нет EEPROM)
3. Загружаю дескриптор по умолчанию программно от DSP (только VID, PID, DID)
4. Енумерация не присходит (нет прерывания)
Хотя с EEPROM все работает:
1. Делаю Reset usb
2. Получаю прерывание ENUMOK (в EEPROM прописаны IFCONFIG,POLAR, VID, PID, DID)
3. PC видит USB , все работает
4. Загружаю дескриптор по умолчанию программно от DSP (только VID, PID, DID уже с другими значениями , чем в EEPROM )
5. PC видит USB , все работает
Цитата(Дмитрий К. @ May 7 2006, 23:42)

Подскажите,
Контроллер CY7C68001
У меня не получается енумерация без EEPROM:
1. Делаю Reset usb
2. Получаю прерывание Ready (т.к. нет EEPROM)
3. Загружаю дескриптор по умолчанию программно от DSP (только VID, PID, DID)
4. Енумерация не присходит (нет прерывания)
Там одна хитрость есть. В регистре IFCONFIG (Register No 0x01) имеется бит DISCON (Bit No 0). Так он по умолчанию установлен, т.е. микросхема логически отключена от USB. Попробуй сбросить этот бит в ноль.
Дмитрий К.
May 9 2006, 17:50
Цитата(jur @ May 8 2006, 22:44)

Цитата(Дмитрий К. @ May 7 2006, 23:42)

Подскажите,
Контроллер CY7C68001
У меня не получается енумерация без EEPROM:
1. Делаю Reset usb
2. Получаю прерывание Ready (т.к. нет EEPROM)
3. Загружаю дескриптор по умолчанию программно от DSP (только VID, PID, DID)
4. Енумерация не присходит (нет прерывания)
Там одна хитрость есть. В регистре IFCONFIG (Register No 0x01) имеется бит DISCON (Bit No 0). Так он по умолчанию установлен, т.е. микросхема логически отключена от USB. Попробуй сбросить этот бит в ноль.
Пробовал,
перед загрузкой дескриптора, загружаю все регистры (0x001-0x01D) значениями по умолчанию, в .т.ч. IFCONFIG (0x0C8).
Вроде делаю также как написано в примерах (Bulk Transfers with the EZ-USB SX2™ Connected to a
Hitachi SH3™ DMA Interface и CY3682 Design Notes) .
но ENUMOK нету.
Gennadiy_
May 12 2006, 16:54
Если не в тему извените.
Требуется передать пользовательский поток в 3 а лучше 6 мбит/с в ПВМ, допустим, с микроконтроллера типа АТмеги162, естественно процессор занят сбором этого потока, поэтому проекты программной реализации протокола USB могут рассматриваться только расположенные в отдельном 2ом процессоре.Есть сильные сомнения, что и этот второй процессор (AVR) успеет захватить этот поток параллельно с обработкой USB шины. Cпециальных AVR кристалов от АТмел с интегрированным интерфейсом пока ненашел, на приемлемых условиях. Пока, хотел бы иметь некий переходник с USB на параллельную 8ми битную шину, с буфером для данных внутри.
Поодойдут ли мне обсуждаемые кристаллы?
Или поправьте меня.
Что потребется для использования?
Спасибо.
Цитата(Gennadiy_ @ May 12 2006, 20:54)

Если не в тему извените.
Требуется передать пользовательский поток в 3 а лучше 6 мбит/с в ПВМ, допустим, с микроконтроллера типа АТмеги162, естественно процессор занят сбором этого потока, поэтому проекты программной реализации протокола USB могут рассматриваться только расположенные в отдельном 2ом процессоре.Есть сильные сомнения, что и этот второй процессор (AVR) успеет захватить этот поток параллельно с обработкой USB шины. Cпециальных AVR кристалов от АТмел с интегрированным интерфейсом пока ненашел, на приемлемых условиях. Пока, хотел бы иметь некий переходник с USB на параллельную 8ми битную шину, с буфером для данных внутри.
Поодойдут ли мне обсуждаемые кристаллы?
Или поправьте меня.
Что потребется для использования?
Спасибо.
Мог бы посоветовать Вам FT245BM, с одной стороны USB с другой стороны 8битная шина с простым контролем), но тут без внешнего буфера на таких скоростях в реальном времени не обойтись - будут потери, но можно в разрыв поставить FIFO типа IDT7205 (на 8к) например, управлять можно всем этим с помощью атмеги, получится гораздо проще чем с сайпрессом, да и API у FTDI-ных чипов проще.
nagserg
May 15 2006, 10:27
Цитата(Gennadiy_ @ May 12 2006, 20:54)

Если не в тему извените.
Требуется передать пользовательский поток в 3 а лучше 6 мбит/с в ПВМ, допустим, с микроконтроллера типа АТмеги162, естественно процессор занят сбором этого потока, поэтому проекты программной реализации протокола USB могут рассматриваться только расположенные в отдельном 2ом процессоре.Есть сильные сомнения, что и этот второй процессор (AVR) успеет захватить этот поток параллельно с обработкой USB шины. Cпециальных AVR кристалов от АТмел с интегрированным интерфейсом пока ненашел, на приемлемых условиях. Пока, хотел бы иметь некий переходник с USB на параллельную 8ми битную шину, с буфером для данных внутри.
Поодойдут ли мне обсуждаемые кристаллы?
Или поправьте меня.
Что потребется для использования?
Спасибо.
пользовал ISP1581 USB 2.0 контроллеры от филипс с параллельной шиной совместно с мегой128
Direct interface to ATA/ATAPI peripherals; applicable only in the split bus mode
Complies fully with Universal Serial Bus Specification Rev. 2.0
Complies with most Device Class specifications
High performance USB peripheral controller with integrated Serial Interface
Engine (SIE), PIE, FIFO memory, data transceiver and 3.3 V voltage regulators
Supports automatic Hi-Speed USB mode detection and Original USB fall-back
mode
High-speed DMA interface (12.8 Mword/s)
Fully autonomous and multi-configuration DMA operation
7 IN endpoints, 7 OUT endpoints and a fixed control IN/OUT endpoint
Integrated physical 8 kbyte of multi-configuration FIFO memory
Endpoints with double buffering to increase throughput and ease real-time data
transfer
Bus independent interface with most microcontroller/microprocessors
(12.5 Mbyte/s)
12 MHz crystal oscillator with integrated PLL for low EMI
Integrated 5 V-to-3 V built-in voltage regulator
Software controlled connection to the USB bus (SoftConnect™)
Complies with the ACPI™, OnNow™ and USB power management requirements
Internal power-on and low-voltage reset circuit, also supporting a software reset
Operation over the extended USB bus voltage range (4.0 to 5.5 V) with 5 V
tolerant I/O pads
Operating temperature range -40 to +85 °C
Available in LQFP64 package.
Цитата(Дмитрий К. @ May 9 2006, 21:50)

Цитата(jur @ May 8 2006, 22:44)

Цитата(Дмитрий К. @ May 7 2006, 23:42)

Подскажите,
Контроллер CY7C68001
У меня не получается енумерация без EEPROM:
1. Делаю Reset usb
2. Получаю прерывание Ready (т.к. нет EEPROM)
3. Загружаю дескриптор по умолчанию программно от DSP (только VID, PID, DID)
4. Енумерация не присходит (нет прерывания)
Там одна хитрость есть. В регистре IFCONFIG (Register No 0x01) имеется бит DISCON (Bit No 0). Так он по умолчанию установлен, т.е. микросхема логически отключена от USB. Попробуй сбросить этот бит в ноль.
Пробовал,
перед загрузкой дескриптора, загружаю все регистры (0x001-0x01D) значениями по умолчанию, в .т.ч. IFCONFIG (0x0C8).
Вроде делаю также как написано в примерах (Bulk Transfers with the EZ-USB SX2™ Connected to a
Hitachi SH3™ DMA Interface и CY3682 Design Notes) .
но ENUMOK нету.
при енумерации грузится весь дескриптор, или точнее все дескрипторы, а не только VID, PID, DID. Грузи весь.
Дмитрий К.
May 26 2006, 19:26
Спасибо за ответы,
но проблема была в железе,
заработало как должно быть
работает и с загрузкой всего дескриптора, так и по умолчанию (только VID, PID, DID)
1. Делаю Reset usb
2. Получаю прерывание Ready (т.к. нет EEPROM)
3. Загружаю дескриптор по умолчанию программно от DSP (только VID, PID, DID)
4. Енумерация происходит
Скажите, пожалуйста, а кто-то подключал CY7C68001 к AT91RM9100? (изначально идея такая
http://electronix.ru/forum/index.php?showtopic=16589)Никто не подключал САБЖ к микроконтроллеру как внешнюю SRAM, никаких граблей при этом не было?
Цитата(Gennadiy_ @ May 12 2006, 19:54)

Пока, хотел бы иметь некий переходник с USB на параллельную 8ми битную шину, с буфером для данных внутри.
Поодойдут ли мне обсуждаемые кристаллы?
IMHO, ничего проще CY7C68001 и быть не может :-) Микросхема, кварц, несколько резисторов/конденсаторов - все, что нужно для организации высокоскоростного канала USB 2.0 в своей разработке (и стоит все это копейки, что иногда бывает немаловажно). Занимает это дело 2-3 квадратных сантиметра на плате. Присоединяется CY7C68001 к микроконтроллеру/ПЛИС самым стандартным образом: CS/, RD/, OE/ (можно соединить с RD/), WR/, READY (можно не использовать), INT/ (можно не использовать), шина данных 8 или 16 бит и шина адреса. Куда уж проще? Если поставить еще малюсенькую сериальную ЕЕПРОМку, то микроконтроллер вообще сможет работать с USB 2.0 аналогично простейшей FT245. Однако, в отличие от FT245, вы получите кроме высокой скорости еще и 4 ендпойнта (две - туда, две - обратно) с двойным буферированием (2 х 512 байт каждая). Кроме того, можно очень гибко организовать буферирование, например, иметь 2 ендпойнта с 4 х 512 или 2 х 1024 буферами каждая.
На компьютерной стороне тоже все хорошо. Используя сайпрессовскую CY4604 - USB Developer's uStudio v1.5.1.1 я еще не сталкивался с проблемой ресета компьютера, как с драйверами от FTDI (правда, коллега
Trashy упоминал о проблемах с EZUSB.SYS, но я работаю с CyUSB.sys, т.к. это рекомендует сам изготовитель микросхемы).
В общем, рекомендую :-)
Цитата(sff @ May 29 2006, 21:56)

Никто не подключал САБЖ к микроконтроллеру как внешнюю SRAM, никаких граблей при этом не было?
Я подключил, правда, не напрямую к микроконтроллеру, а через ПЛИС, но никаких граблей с этой микросхемой нет. Она выглядит просто как блок из 8-ми ячеек памяти (используется только пять). Сигналы для присоединения к микроконтроллеру тоже вполне стандартные.
Gennadiy_
Jun 6 2006, 10:14
Цитата
Однако, в отличие от FT245, вы получите кроме высокой скорости еще и 4 ендпойнта (две - туда, две - обратно) с двойным буферированием (2 х 512 байт каждая). Кроме того, можно очень гибко организовать буферирование, например, иметь 2 ендпойнта с 4 х 512 или 2 х 1024 буферами каждая.
Спасибо за ответы.
Если я правильно понял CY........ имеет встроенное FIFO,а как быть с необходимой мне развязкой на более 4кв, 232 позволяет установить по одному оптрону в обоих направлениях ?
Gennadiy_
Jun 6 2006, 12:57
Правка у меня неработает. За прошедшее время пришел к выводу, что развязку проще поставить между процессором и мостом USB, поэтому FT232. Правильнее сделать развязку между процессорным блоком и АЦП, но потребуется минимум 7мь оптопар с пропускной способностью около 1-2 мбита. Выбор оптопар на скорость более 0,5 мбита * 4 кв небольшой, и наблюдается скачек цен. Есть предложения?
Может интерфейс сменить, так чтоб развязку проще сделать было?
Имею проблему аналогичную той, что была и у Дмитрия К.
Есть ПЛИС, есть SX2, нет конфигурационной флешки.
Конфигурирую от ПЛИС.
1) Дожидаюсь наступления READY.
2) Записываю B0 - инициирую запись в регистр 30.
3) Записываю 00 00 00 06 - длину дескриптора.
4) Записываю 0B 04 00 04 - записываю VID из прмера в datasheet
5) Записываю 00 02 01 00 - записываю PID из прмера в datasheet
6) Записываю 00 01 00 00 - записываю DID из прмера в datasheet
И все. Никаких тебе ENUMOK, Windows глухо молчит.
Пытался выставить бит Discon из регитсра 0x01 в 0 - не помогает.
Может кто сталкивался с аналогичной проболемой - подскажите как бороться...
Кстати, еще если на SX2 подан reset - в windows возникает сообщение
"One of the USB devices attached to this computer has malfunctioned, and Windows dose not recognize it"
Это нормально?
Разобрался.
По п.3 длину дескриптора необходимо писать как 00 06 00 00.
Едем дальше - видим мост.
SX2 сконфигурирована по умолчанию (default descriptor)
SX2 прикручена к ПЛИС, в ПЛИС сконфигурирован модуль памяти 16х256, заполненный некоторыми значениями.
EP4 играет роль управляющего интерфейса для ПЛИС. На нее приходит команда, по которой ПЛИС выпихивает все содержимое памяти в FIFO EP6 (которая по умолчанию - 512кБайт). После того как все данные выпихнулись честно выставляется флажок заполненности FIFO.
Родной программкой USB console читаю из EP6. Все читается. Флаг заполненности FIFO убирается.
Вроде бы все хорошо, но проблема в следующем:
Если читать EP6 еще раз - считываются те же самые данные!!! А вот если попытаться читать в третий раз USB console честно заявляет Bulk IN failed.
Что это за ерунда какая-то?? Я честно проверял - в момент между чтениями моя ПЛИС ничего в SX2 не пишет. Откуда второй раз берутся те же самые данные?
Может кто сталкивался с подобным?
Цитата(Гяук @ Nov 24 2006, 18:25)

Едем дальше - видим мост.
SX2 сконфигурирована по умолчанию (default descriptor)
SX2 прикручена к ПЛИС, в ПЛИС сконфигурирован модуль памяти 16х256, заполненный некоторыми значениями.
EP4 играет роль управляющего интерфейса для ПЛИС. На нее приходит команда, по которой ПЛИС выпихивает все содержимое памяти в FIFO EP6 (которая по умолчанию - 512кБайт). После того как все данные выпихнулись честно выставляется флажок заполненности FIFO.
Родной программкой USB console читаю из EP6. Все читается. Флаг заполненности FIFO убирается.
Вроде бы все хорошо, но проблема в следующем:
Если читать EP6 еще раз - считываются те же самые данные!!! А вот если попытаться читать в третий раз USB console честно заявляет Bulk IN failed.
Что это за ерунда какая-то?? Я честно проверял - в момент между чтениями моя ПЛИС ничего в SX2 не пишет. Откуда второй раз берутся те же самые данные?
Может кто сталкивался с подобным?
Значит пишете раньше

Каково условие окончания записи в EP6 со стороны ПЛИС?? случаем не EP6 Full, Вы не забыли про двойную буферизацию по умолчанию??? И еще, как сконфигурированы FIFO EP4 и EP6?? На обмен байтами или словами (16бит)??
Цитата(-Al- @ Nov 24 2006, 19:19)

Значит пишете раньше

Каково условие окончания записи в EP6 со стороны ПЛИС?? случаем не EP6 Full, Вы не забыли про двойную буферизацию по умолчанию???
Условие окончания - выпихивание 256-и 16-бинтых слов из памяти ПЛИС
А вот по поводу двойной буферизации по умолчанию я так и не понял.... Пакет по умолчанию - 512 байт - то есть буфер FIFO по умолчанию - 1024 байта?
Цитата(-Al- @ Nov 24 2006, 19:19)

И еще, как сконфигурированы FIFO EP4 и EP6?? На обмен байтами или словами (16бит)??
Если вы имеете в виду бит WORDWIDE в регистрах EPxPKTLENH соответствующих FIFO, то там в обоих "1", т.е. 16 бит.
Начал догадываться где порылась собака. Разберусь - отпишусь.
Цитата(Гяук @ Nov 27 2006, 14:16)

...А вот по поводу двойной буферизации по умолчанию я так и не понял.... Пакет по умолчанию - 512 байт - то есть буфер FIFO по умолчанию - 1024 байта?...
Пакет по умолчанию 512 байт, но каждый эндпоинт имеет двойную буферизацию по умолчанию (можно и четверную сделать, если надо), поэтому флажок EPxFF выставится только при заполнении всего буфера (2 кадра, по умолчанию), а снимется после того, когда хотя-бы один кадр уйдет.
Цитата
После того как все данные выпихнулись честно выставляется флажок заполненности FIFO.
У Вас как раз и получается, что Вы 2 кадра в буфер пишете, а потом их читаете
Цитата(-Al- @ Nov 27 2006, 15:30)

У Вас как раз и получается, что Вы 2 кадра в буфер пишете, а потом их читаете

Так и есть, то есть так и было
Глаз да глаз за всем нужен

Спасибо,
-Al-!
Подскажите кто знает, а для своей программки отладочной "USB-Console" Cypress готовый драйвер не дает?
Где бы достать...?
Цитата(line @ Dec 22 2006, 12:37)

Подскажите кто знает, а для своей программки отладочной "USB-Console" Cypress готовый драйвер не дает?
Где бы достать...?

сам разобрался... хелп смотреть надо...
TailWind
Dec 23 2006, 17:50
Мужики!
А она у Вас сильно греется?
У меня после включения начинает медленно разогреваться.
Через минуту больно палец держать.
grumbler
Dec 23 2006, 19:10
Цитата(TailWind @ Dec 23 2006, 17:50)

Мужики!
А она у Вас сильно греется?
У меня после включения начинает медленно разогреваться.
Через минуту больно палец держать.
Греется естественно, ну уж не так чтобы сильно. Работоспособность при этом не теряется ?
Цитата(TailWind @ Dec 23 2006, 17:50)

Мужики!
А она у Вас сильно греется?
У меня после включения начинает медленно разогреваться.
Через минуту больно палец держать.
Ну это естественно, SX2 ведь жрёт >200мА на HighSpeed, если хотите, чтоб не грелась - ставьте вместо неё FX2LP (CY7C68013A), она вообще не греется и жрёт в ~3 раза меньше
TailWind
Dec 25 2006, 13:02
Цитата
Греется естественно, ну уж не так чтобы сильно. Работоспособность при этом не теряется ?
Всё прекрасно передаётся.
Потребляет чуть больше 200мА
Цитата
ставьте вместо неё FX2LP (CY7C68013A), она вообще не греется и жрёт в ~3 раза меньше
Если будут сложности с отводом тепла придётся. Спасибо.
TailWind
Dec 25 2006, 18:55
А кто как тепло отводит?
(Если это офф-топ прошу прощения, можете не отвечать)
Цитата(TailWind @ Dec 25 2006, 18:55)

А кто как тепло отводит?
(Если это офф-топ прошу прощения, можете не отвечать)
Никак

Греется себе и греется, но ведь работет-же без сбоев часами
AndreyS
Feb 6 2007, 18:02
Добрый день.
Есть трабл.
Черт не в ту ветку написал. Это ядро FX2. CY7C68013. Извиняйте. Если не прав, то перенесите плиз.
Есть куча одинаковых компов, на одних и тех же мамах и процах, и видеокартах. В общем кроме винтов в них все одинаково. Потому как организация.
Так вот на одной машине при подключении Кипреса к порту 1 (не к порту 0) одного и того же хоста.
Это ядро (скажу сразу что загружаю свою прогу в ОЗУ, т.е. не использую ЕЕПРОМ и вообще его на борту нет), а таких плат более 50 и все ведут себя на этой машине одинаково, определяется как:
DVB-T BDA USB receiver
IdVendor 0x15F4
IdProduct 0x0130
Когда переключаю на порт 0 этого же хоста, то все нормуль Кипрес но-ЕЕПРОМ.
Cypress Semiconductor
idVendor: 0x04B4
idProduct: 0x8613
Винда Windows XP SP2. Есть вопрос что это???
Самое смешное, что с чипом ничего не делаем. Проги в нем нет. Пустой. Но на одном порту он Кипрес на другом DVB. Провод один и тот же. Просто сказка какая-то.
Подскажите люди. Кто в Санкт-Петербурге могу как-нибудь попробовать продемонстрировать.
перводится Digital Video Broadcasting) цифровое видео-

Может в этом что-то быть? BDA похоже на "прямого доступа" судя по лингве.
Дык может у тебя просто совпали Виды и Пиды с каким-либо устройством, которое имеется в базе винды....
AndreyS
Feb 6 2007, 20:43
Цитата(torik @ Feb 6 2007, 18:18)

перводится Digital Video Broadcasting) цифровое видео-

Может в этом что-то быть? BDA похоже на "прямого доступа" судя по лингве.
Дык может у тебя просто совпали Виды и Пиды с каким-либо устройством, которое имеется в базе винды....
Так я ж цитировал. В железке при включении ничего нет. Я просто перетыкаю ее из одного порта в другой на одном и том же хосте. Но на одном она определяется как FX2, а на другом как DVB (ерундой в общем). Думал может бит где переворачивается. Так вид и пид так разнятся, что прям ужас. Не врубаюсь в чем прикол. Флешка в этом порту определяется нормально. Смотрю все это в usbview. Надо будет просканить пакеты. Что там вообще прется на этом порту. А то я вообще ничего не понимаю. Как такое может быть?
Есть еще одна машинка (но на ней уже другая мама и проц P4) так на этой маме USB устройство то определяется, то нет. Причем это единственная машина с таким глюком. Т.е. на такой же машине с пнем 4 нормально работает. Причем питается все устройство от собственного БП. А определяется или нет выглядит так. Винда то может поставить дрова, то нет. Т.е. то считывает Вид и Пид, то нет. Ну с этой машиной проще. Потому как на ней вообще винда глючная, не только с этим устройством траблы. Надо попробовать пепреставить.
Цитата(AndreyS @ Feb 6 2007, 19:43)

В железке при включении ничего нет. Я просто перетыкаю ее из одного порта в другой на одном и том же хосте. Но на одном она определяется как FX2, а на другом как DVB (ерундой в общем).
...
Есть еще одна машинка (но на ней уже другая мама и проц P4) так на этой маме USB устройство то определяется, то нет. Причем это единственная машина с таким глюком.
Очень похоже на аппаратные проблемы... У тебя входные цепи корректно сделаны, дорожки не слишком длинные? Генерация кварца устойчивая? Длительность сброса правильная?
Цитата(AndreyS @ Feb 6 2007, 19:43)

Ну с этой машиной проще. Потому как на ней вообще винда глючная, не только с этим устройством траблы. Надо попробовать пепреставить.
IMHO, Винда тут совсем ни при чем.
AndreyS
Feb 7 2007, 09:29
Цитата
Очень похоже на аппаратные проблемы... У тебя входные цепи корректно сделаны, дорожки не слишком длинные? Генерация кварца устойчивая? Длительность сброса правильная?
Объясните пожалуйста, как аппаратная часть последовательного порта (диф пара), предположим плохо разведена, может работать на одном и том же порту как Кипресс, а на другом как DVB???? Это не парралельный порт. Я бы еще поверил в это, если бы устройство каждый раз определялось по разному. НО это стабильное определение как DVB наводит на мысль о корректной работе винды. Может что на машине в винде еще стоит чего я не знаю. Операционки то на всех машинах XP, но у каждого со своими надстройками и дровам.
Цитата
IMHO, Винда тут совсем ни при чем.
Хммм. Посмотрим.
Цитата(AndreyS @ Feb 7 2007, 09:29)

Цитата
Очень похоже на аппаратные проблемы... У тебя входные цепи корректно сделаны, дорожки не слишком длинные? Генерация кварца устойчивая? Длительность сброса правильная?
Объясните пожалуйста, как аппаратная часть последовательного порта (диф пара), предположим плохо разведена, может работать на одном и том же порту как Кипресс, а на другом как DVB???? Это не парралельный порт. Я бы еще поверил в это, если бы устройство каждый раз определялось по разному. НО это стабильное определение как DVB наводит на мысль о корректной работе винды. Может что на машине в винде еще стоит чего я не знаю. Операционки то на всех машинах XP, но у каждого со своими надстройками и дровам.
Цитата
IMHO, Винда тут совсем ни при чем.
Хммм. Посмотрим.
А может просто было когда-то подключено устройство, собранное на FX2??? Ведь FX2 может грузится на лету при подключении, а там стоит драйвер со скриптом, который при обнаружении FX2 грузит в него прошиву и рестартует FX2, поэтому и VID с DID меняются...
ЗЫ это только предположение...
AndreyS
Feb 7 2007, 11:48
Цитата
А может просто было когда-то подключено устройство, собранное на FX2??? Ведь FX2 может грузится на лету при подключении, а там стоит драйвер со скриптом, который при обнаружении FX2 грузит в него прошиву и рестартует FX2, поэтому и VID с DID меняются...
ЗЫ это только предположение...
Это хороше предположение. Об этом я не подумал.
Цитата(-Al- @ Feb 7 2007, 09:48)

А может просто было когда-то подключено устройство, собранное на FX2??? Ведь FX2 может грузится на лету при подключении, а там стоит драйвер со скриптом, который при обнаружении FX2 грузит в него прошиву и рестартует FX2, поэтому и VID с DID меняются...
ЗЫ это только предположение...
Темное дело... По идее, в этом случае не зависело бы от гнезда USB. Ведь VID/PID те же самые.
Цитата(AndreyS @ Feb 7 2007, 08:29)

Объясните пожалуйста, как аппаратная часть последовательного порта (диф пара), предположим плохо разведена, может работать на одном и том же порту как Кипресс, а на другом как DVB????
Тут еще может сказываться, какой именно USB на данном порту. У меня, к примеру, четыре 82801EB USB и только один 82801EB USB2. Может это как-то сказывается?... У меня FX2 всегда появляется на порту USB2, куда бы я его не втыкал. Но что интересно, при первом втыкании в другой порт Винда заново запрашивает установку драйвера. Тоже непонятно...
Ну и, в конце концов, можно попробовать для этого странного устройства DVB сделать апдейт драйвера, чтобы "отцепить" этот посторонний драйвер (если он как-то пролез в систему) и назначить нужный.
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.