Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Работа с USB2.0 SX2
Форум разработчиков электроники ELECTRONIX.ru > Интерфейсы > Форумы по интерфейсам > RS232/LPT/USB/PCMCIA/FireWire
Страницы: 1, 2, 3
Xenix
Ситуевина такая. 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)? Софтом? Хелп, плз!!!
Trashy
Цитата(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 не существующего пайпа - происходил мгновенный выброс из винды...
Меня трижды выкинуло, пока я понял в чём дело.
Xenix
Цитата(Trashy @ Nov 9 2005, 07:37) *
Динамическое конфигурирование сайпрессом не поддерживается. Это значит, что нужно сконфигурить микруху и сделать ренумерацию с соответствующими дескрипторами...


В DS указанно такое. Но как мне правильно (аппаратно) сконфигурить ендпоинты.

Если я правильно понял нуна залить конфигурацию ЕР-тов после СЕТАПа, а потом залить дескрипторы
или залить дескрипторы с прописанными ЕР??? А потом я получу ЕНУМОК?!

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

Читал. Написано грузим конфиг. Что именно ??? Потом дескрипторы. Какие??? Потом размер- и все!
Для моей задачи устраивает почти все по дефолту, только надо выключить два Ер, а два других увеличить в два раза.
Поэтому после РЕДИ, гружу 06-09 - выключаю ЕР 4 и 8. Потом дескрипторы 6 байт, ловлю ЕНУМОК. ПК видит девайс и раньше видел, но два ЕР присутствуют- опять вижу в ЕЗМОНе.
Можно только дескрипторы загрузить и все. Кстати когда до или потом грузишь ЕРхКОНФ размеры буферов изменяются с 512 до 64. Что за штука???
Почему они не выключаются я им ВАЛИД убираю!!!

((Потом я должен увидеть ХСГРАНТ и настроить размер буферов.))

Или для загрузки интерфейса (до загрузки дескрипторов) я все равно должен загрузить все регистры с 0х01 поп 0х2Е.???
vad2
Я думаю, что для того чтобы получить только 2 ендпоинта, вместо 4-х, нужно переписать полную таблицу дескрипторов для вашего случая (2 ендпоинта по 1024 байта) по адресу 300. Винда определяет наличие и конфигурацию ендпоинтов по этой информации, а у вас по умолчанию там записана конфигурация для 4-х ендпоинтов. На последней странице даташита описаны default descriptors, а то что значат эти цифры можно найти в спецификации на шину USB2.0.
Надеюсь, что вам помог.
Xenix
Цитата(vad2 @ Nov 22 2005, 18:14) *
Надеюсь, что вам помог.

Спасибо попробую. Свяжусь как там получится.
Xenix
2 vad2.
А каким образом аппаратно записать таблицу дескрипторов? В ПДФ гл.12 описан дефолтовый - он состоит из нескольких частей, каждый со своей длиной. И каким образом это пишется. Ведь при записи по 300-ке надо указать длину и данные. (смещение автоматом генерится?)
Xenix
Все понял! Надо посчитать кол-во байт и записать при записи в 0х30.
А стринговые дескрипторы по 16битному Юникоду согласно кодировке загруженной в стринговом дескрипторе 0!
jur
Цитата(Xenix @ Nov 24 2005, 14:22) *
Все понял! Надо посчитать кол-во байт и записать при записи в 0х30.
А стринговые дескрипторы по 16битному Юникоду согласно кодировке загруженной в стринговом дескрипторе 0!
Совершенно верно. Я тоже, как и многие коллеги, работаю с собственным дескриптором. Порядок действий тут такой. После сброса я загружаю регистры нужными значениями (меня не устраивают значения по умолчанию, т.к. нужно одной ендпойнте назначить 16-битную шину, а двум другим - 8-битную. Ну и флаги еще жестко пристегнуть, что-б не мучались :-) После этого загружаю свой дескриптор. Микросхема енумерируется в Windows и нормально работает.
lehho
Правильно понимаю, что после подачи питания и сигнала 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.
-Al-
Цитата(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 по умолчанию работает в асинхронном режиме.
Дмитрий К.
Подскажите,

Контроллер 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 , все работает
jur
Цитата(Дмитрий К. @ 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. Попробуй сбросить этот бит в ноль.
Дмитрий К.
Цитата(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_
Если не в тему извените.
Требуется передать пользовательский поток в 3 а лучше 6 мбит/с в ПВМ, допустим, с микроконтроллера типа АТмеги162, естественно процессор занят сбором этого потока, поэтому проекты программной реализации протокола USB могут рассматриваться только расположенные в отдельном 2ом процессоре.Есть сильные сомнения, что и этот второй процессор (AVR) успеет захватить этот поток параллельно с обработкой USB шины. Cпециальных AVR кристалов от АТмел с интегрированным интерфейсом пока ненашел, на приемлемых условиях. Пока, хотел бы иметь некий переходник с USB на параллельную 8ми битную шину, с буфером для данных внутри.
Поодойдут ли мне обсуждаемые кристаллы?
Или поправьте меня.
Что потребется для использования?
Спасибо.
-Al-
Цитата(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
Цитата(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.
al333
Цитата(Дмитрий К. @ 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. Грузи весь.
Дмитрий К.
Спасибо за ответы,
но проблема была в железе,

заработало как должно быть
работает и с загрузкой всего дескриптора, так и по умолчанию (только VID, PID, DID)

1. Делаю Reset usb
2. Получаю прерывание Ready (т.к. нет EEPROM)
3. Загружаю дескриптор по умолчанию программно от DSP (только VID, PID, DID)
4. Енумерация происходит
sff
Скажите, пожалуйста, а кто-то подключал CY7C68001 к AT91RM9100? (изначально идея такая http://electronix.ru/forum/index.php?showtopic=16589)

Никто не подключал САБЖ к микроконтроллеру как внешнюю SRAM, никаких граблей при этом не было?
jur
Цитата(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_
Цитата
Однако, в отличие от FT245, вы получите кроме высокой скорости еще и 4 ендпойнта (две - туда, две - обратно) с двойным буферированием (2 х 512 байт каждая). Кроме того, можно очень гибко организовать буферирование, например, иметь 2 ендпойнта с 4 х 512 или 2 х 1024 буферами каждая.

Спасибо за ответы.
Если я правильно понял CY........ имеет встроенное FIFO,а как быть с необходимой мне развязкой на более 4кв, 232 позволяет установить по одному оптрону в обоих направлениях ?
Gennadiy_
Правка у меня неработает. За прошедшее время пришел к выводу, что развязку проще поставить между процессором и мостом 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 не пишет. Откуда второй раз берутся те же самые данные?

Может кто сталкивался с подобным?
-Al-
Цитата(Гяук @ 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 не пишет. Откуда второй раз берутся те же самые данные?

Может кто сталкивался с подобным?

Значит пишете раньше smile.gif

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

Каково условие окончания записи в EP6 со стороны ПЛИС?? случаем не EP6 Full, Вы не забыли про двойную буферизацию по умолчанию???

Условие окончания - выпихивание 256-и 16-бинтых слов из памяти ПЛИС

А вот по поводу двойной буферизации по умолчанию я так и не понял.... Пакет по умолчанию - 512 байт - то есть буфер FIFO по умолчанию - 1024 байта?

Цитата(-Al- @ Nov 24 2006, 19:19) *
И еще, как сконфигурированы FIFO EP4 и EP6?? На обмен байтами или словами (16бит)??

Если вы имеете в виду бит WORDWIDE в регистрах EPxPKTLENH соответствующих FIFO, то там в обоих "1", т.е. 16 бит.

Начал догадываться где порылась собака. Разберусь - отпишусь.
-Al-
Цитата(Гяук @ Nov 27 2006, 14:16) *
...А вот по поводу двойной буферизации по умолчанию я так и не понял.... Пакет по умолчанию - 512 байт - то есть буфер FIFO по умолчанию - 1024 байта?...

Пакет по умолчанию 512 байт, но каждый эндпоинт имеет двойную буферизацию по умолчанию (можно и четверную сделать, если надо), поэтому флажок EPxFF выставится только при заполнении всего буфера (2 кадра, по умолчанию), а снимется после того, когда хотя-бы один кадр уйдет.

Цитата
После того как все данные выпихнулись честно выставляется флажок заполненности FIFO.

У Вас как раз и получается, что Вы 2 кадра в буфер пишете, а потом их читаете smile.gif
Гяук
Цитата(-Al- @ Nov 27 2006, 15:30) *
У Вас как раз и получается, что Вы 2 кадра в буфер пишете, а потом их читаете smile.gif

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

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

smile.gif сам разобрался... хелп смотреть надо...
TailWind
Мужики!

А она у Вас сильно греется?

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

А она у Вас сильно греется?

У меня после включения начинает медленно разогреваться.
Через минуту больно палец держать.

Греется естественно, ну уж не так чтобы сильно. Работоспособность при этом не теряется ?
-Al-
Цитата(TailWind @ Dec 23 2006, 17:50) *
Мужики!

А она у Вас сильно греется?

У меня после включения начинает медленно разогреваться.
Через минуту больно палец держать.

Ну это естественно, SX2 ведь жрёт >200мА на HighSpeed, если хотите, чтоб не грелась - ставьте вместо неё FX2LP (CY7C68013A), она вообще не греется и жрёт в ~3 раза меньше smile.gif
TailWind
Цитата
Греется естественно, ну уж не так чтобы сильно. Работоспособность при этом не теряется ?
Всё прекрасно передаётся.
Потребляет чуть больше 200мА
Цитата
ставьте вместо неё FX2LP (CY7C68013A), она вообще не греется и жрёт в ~3 раза меньше
Если будут сложности с отводом тепла придётся. Спасибо.
TailWind
А кто как тепло отводит?

(Если это офф-топ прошу прощения, можете не отвечать)
-Al-
Цитата(TailWind @ Dec 25 2006, 18:55) *
А кто как тепло отводит?

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

Никак smile.gif Греется себе и греется, но ведь работет-же без сбоев часами smile.gif
AndreyS
Добрый день.

Есть трабл.

Черт не в ту ветку написал. Это ядро 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. Провод один и тот же. Просто сказка какая-то.
Подскажите люди. Кто в Санкт-Петербурге могу как-нибудь попробовать продемонстрировать.
torik
перводится Digital Video Broadcasting) цифровое видео- smile.gif
Может в этом что-то быть? BDA похоже на "прямого доступа" судя по лингве.
Дык может у тебя просто совпали Виды и Пиды с каким-либо устройством, которое имеется в базе винды....
AndreyS
Цитата(torik @ Feb 6 2007, 18:18) *
перводится Digital Video Broadcasting) цифровое видео- smile.gif
Может в этом что-то быть? BDA похоже на "прямого доступа" судя по лингве.
Дык может у тебя просто совпали Виды и Пиды с каким-либо устройством, которое имеется в базе винды....


Так я ж цитировал. В железке при включении ничего нет. Я просто перетыкаю ее из одного порта в другой на одном и том же хосте. Но на одном она определяется как FX2, а на другом как DVB (ерундой в общем). Думал может бит где переворачивается. Так вид и пид так разнятся, что прям ужас. Не врубаюсь в чем прикол. Флешка в этом порту определяется нормально. Смотрю все это в usbview. Надо будет просканить пакеты. Что там вообще прется на этом порту. А то я вообще ничего не понимаю. Как такое может быть? huh.gif cranky.gif

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

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


Объясните пожалуйста, как аппаратная часть последовательного порта (диф пара), предположим плохо разведена, может работать на одном и том же порту как Кипресс, а на другом как DVB???? Это не парралельный порт. Я бы еще поверил в это, если бы устройство каждый раз определялось по разному. НО это стабильное определение как DVB наводит на мысль о корректной работе винды. Может что на машине в винде еще стоит чего я не знаю. Операционки то на всех машинах XP, но у каждого со своими надстройками и дровам.


Цитата
IMHO, Винда тут совсем ни при чем.


Хммм. Посмотрим.
-Al-
Цитата(AndreyS @ Feb 7 2007, 09:29) *
Цитата
Очень похоже на аппаратные проблемы... У тебя входные цепи корректно сделаны, дорожки не слишком длинные? Генерация кварца устойчивая? Длительность сброса правильная?


Объясните пожалуйста, как аппаратная часть последовательного порта (диф пара), предположим плохо разведена, может работать на одном и том же порту как Кипресс, а на другом как DVB???? Это не парралельный порт. Я бы еще поверил в это, если бы устройство каждый раз определялось по разному. НО это стабильное определение как DVB наводит на мысль о корректной работе винды. Может что на машине в винде еще стоит чего я не знаю. Операционки то на всех машинах XP, но у каждого со своими надстройками и дровам.


Цитата
IMHO, Винда тут совсем ни при чем.


Хммм. Посмотрим.

А может просто было когда-то подключено устройство, собранное на FX2??? Ведь FX2 может грузится на лету при подключении, а там стоит драйвер со скриптом, который при обнаружении FX2 грузит в него прошиву и рестартует FX2, поэтому и VID с DID меняются...
ЗЫ это только предположение...
AndreyS
Цитата
А может просто было когда-то подключено устройство, собранное на FX2??? Ведь FX2 может грузится на лету при подключении, а там стоит драйвер со скриптом, который при обнаружении FX2 грузит в него прошиву и рестартует FX2, поэтому и VID с DID меняются...
ЗЫ это только предположение...


Это хороше предположение. Об этом я не подумал.
jur
Цитата(-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 сделать апдейт драйвера, чтобы "отцепить" этот посторонний драйвер (если он как-то пролез в систему) и назначить нужный.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.