|
Работа с USB2.0 SX2, Ктонибуть использовал SX2 |
|
|
|
Dec 27 2004, 20:30
|
Частый гость
 
Группа: Свой
Сообщений: 135
Регистрация: 10-07-04
Из: Зеленоград
Пользователь №: 310

|
Цитата(anton @ Dec 27 2004, 15:49) Кто-нибудь использовал SX2. Есть примеры реализации устройств. Итересный девайс есть фи-фо, 16 бит, хорошая скорость если с настрой и с драйверами нет проблем (по описанию получается что можно юзать вреде без МК записав конфигерацию во внешний EEPROM). Документации у кого-нибуть нет? Ну без внешнего МК если и можно прожить , то не просто. Я лично пристроил. По крайней мере для инициализации и приема пакетов...
|
|
|
|
|
Dec 27 2004, 21:43
|
Частый гость
 
Группа: Свой
Сообщений: 170
Регистрация: 30-09-04
Пользователь №: 746

|
Ничего хорошего. Документация на сайте производителя (кстати тоже весьма фиговая): Cypress
|
|
|
|
|
Jan 28 2005, 22:13
|
Участник

Группа: Новичок
Сообщений: 43
Регистрация: 28-01-05
Пользователь №: 2 279

|
Раскахите или напишите на мыло этапы создания устройства на cy7c68001. Какой программой что делать и т.п. Я читал на английском ее описание - ужас! Ничего не понять, даже примеров нет. Кто может напишите в кратце. Буду очень благодарен.
|
|
|
|
|
Jan 29 2005, 07:58
|
Частый гость
 
Группа: Свой
Сообщений: 121
Регистрация: 19-01-05
Пользователь №: 2 049

|
Цитата(ASV @ Jan 29 2005, 01:13) Раскахите или напишите на мыло этапы создания устройства на cy7c68001. Какой программой что делать и т.п. Я читал на английском ее описание - ужас! Ничего не понять, даже примеров нет. Кто может напишите в кратце. Буду очень благодарен. Плату спаял? Цепляешь, винда просит дривер. Суёшь дривер. Если плата без косяков , то устройство определяется как микруха от сайпресс. Во шлешину зашиваешь конфигурацию. Затем из приложения запускаешь либо QueryDosDevice(и находишь там EZUSB-i; i=0...10), либо находишь строку в которой есть: Vid0547 и Pid1002 перед найденой строкой подставляешь "\\\\.\\" и передаёшь это в CreateFile. Либо, если под Win98, то SetupDiGetClassDevs набираешь в поисковике MSDNа и читаешь как получить инфу о наличии устройств(даже примеры есть). Так же в NTDDK, даже сишный код имеется по инициализации USB устройств. Если открылось нормально, посылаешь запрос драйверу DeviceIoControl для установки Alt_Settings. Если мекруха 68013, усыпляешь её, заливаешь код, пробуждаешь. Затем через запросы IOCTL_EZUSB_BULK_READ и IOCTL_EZUSB_BULK_WRITE - осуществляешь передачу. В понедельник мне плату с 68001 принесут, напишу подробней
|
|
|
|
|
Jan 31 2005, 12:40
|
Участник

Группа: Новичок
Сообщений: 43
Регистрация: 28-01-05
Пользователь №: 2 279

|
Плату спаял. Втыкаю но винда не просит драйвер. Если изначально в ППЗУ ничего не записано, разве винда должна как-то на это реагировать? Я работаю без внешнего МК. Мне нужна точка опоры от которой можно оттолкнуться.
|
|
|
|
|
Jan 31 2005, 15:21
|
Частый гость
 
Группа: Свой
Сообщений: 135
Регистрация: 10-07-04
Из: Зеленоград
Пользователь №: 310

|
Цитата(ASV @ Jan 31 2005, 15:40) Плату спаял. Втыкаю но винда не просит драйвер. Если изначально в ППЗУ ничего не записано, разве винда должна как-то на это реагировать? Я работаю без внешнего МК. Мне нужна точка опоры от которой можно оттолкнуться. Запиши в ПЗУ дефолтный дискриптор, тот что приведен в datasheet с ним большую часть вещей можно пользовать.
|
|
|
|
|
Feb 1 2005, 07:02
|
Частый гость
 
Группа: Свой
Сообщений: 121
Регистрация: 19-01-05
Пользователь №: 2 049

|
Цитата(ASV @ Jan 31 2005, 15:40) Плату спаял. Втыкаю но винда не просит драйвер. Если изначально в ППЗУ ничего не записано, разве винда должна как-то на это реагировать? Я работаю без внешнего МК. Мне нужна точка опоры от которой можно оттолкнуться. Извини спутал с 68013... У 68001 сначала идёт опрос EEPROM, если он не найден, то вендоры должена свормировать внешняя логика... Рекомендую сначала в EEPROM записать... Это "3.3 Boot Methods" в пдф... Помимо вендоров нужны дискрипторы ендпойнтов, они в конце PDF (Defаult descriptors). Там не только ендпоинты но и куча другой инфы... Строка имени устройства и т.д... Так, вот, в таком режиме, ты сможешь увидеть микруху в винде, и сможешь с помощбю EzMr отправить или принять 2 пакета. Как только это у тебя получится, то можешь начинать прогить внешнюю логику... В этом отношении (начальной инициализации) 68013 - проще. Но на этом его простота заканчивается...
|
|
|
|
|
Feb 1 2005, 12:29
|
Участник

Группа: Новичок
Сообщений: 43
Регистрация: 28-01-05
Пользователь №: 2 279

|
Реально получить на CY7C68001 200 МБит/с??? Если микруха греется, то бока со схемой? Греется не то что сильно но греется.
|
|
|
|
|
Feb 1 2005, 20:27
|
Частый гость
 
Группа: Свой
Сообщений: 135
Регистрация: 10-07-04
Из: Зеленоград
Пользователь №: 310

|
Цитата(ASV @ Feb 1 2005, 15:29) Реально получить на CY7C68001 200 МБит/с??? Если микруха греется, то бока со схемой? Греется не то что сильно но греется. 200Мбит получить реально, микросхема действительно греется заметно.
|
|
|
|
|
Feb 12 2005, 21:12
|
Участник

Группа: Новичок
Сообщений: 43
Регистрация: 28-01-05
Пользователь №: 2 279

|
Как определить тип дескриптора? (Descriptor type). А то в даташите они написаны а откуда они взялись кто его знает.
|
|
|
|
|
Feb 13 2005, 13:20
|
Участник

Группа: Новичок
Сообщений: 43
Регистрация: 28-01-05
Пользователь №: 2 279

|
Цитата(olefil @ Feb 13 2005, 11:28) Если это вопрос о том, что такое тип дескриптора, то ядумаю лучше обратится к спецификация USB 2.0 или 1.1 там окромя новых наворотов HIGH SPEED ничего не менялось (между прочим в документации так и написано "смотрите спецификацию"). Существуют различные типы данных описывающие устройство. Эти данные сгруппировали и назвали своими именами: DEVICE, CONFIGURATION, STRING, INTERFACE и ENDPOINT. Все эти дескрипторы описывают устройство для HOST машины, а она поним решает какой протокол общения с устройством запустить. Мне нужно типы дескрипторов, которые используються для настройки CY7C68001 при записи EEPROM. Это они и есть?
|
|
|
|
|
Feb 14 2005, 06:58
|
Частый гость
 
Группа: Свой
Сообщений: 121
Регистрация: 19-01-05
Пользователь №: 2 049

|
Цитата(ASV @ Feb 13 2005, 16:20) Мне нужно типы дескрипторов, которые используються для настройки CY7C68001 при записи EEPROM. Это они и есть? Научись сначало работать на Default descriptors. То есть, залей в EEPROM только вид, пид и дид. 6 байт. После того как научишься работать с микрухой из приложения, вот тогда начнёшь с дескрипторами извращаться. Скорее всего тебе это даже не понадобится. НИКОГДА! На дефолтных дескрипторах можно получить скорость 26 мегабайт в секунду. Обычно, этого более чем достаточно...
|
|
|
|
|
Feb 17 2005, 06:30
|
Участник

Группа: Новичок
Сообщений: 43
Регистрация: 28-01-05
Пользователь №: 2 279

|
Цитата(Trashy @ Feb 14 2005, 10:58) Цитата(ASV @ Feb 13 2005, 16:20) Мне нужно типы дескрипторов, которые используються для настройки CY7C68001 при записи EEPROM. Это они и есть? Научись сначало работать на Default descriptors. То есть, залей в EEPROM только вид, пид и дид. 6 байт. После того как научишься работать с микрухой из приложения, вот тогда начнёшь с дескрипторами извращаться. Скорее всего тебе это даже не понадобится. НИКОГДА! На дефолтных дескрипторах можно получить скорость 26 мегабайт в секунду. Обычно, этого более чем достаточно... Да заливал я их. Нефига не грузиться. Наверно в схеме что-то не то.
|
|
|
|
|
Feb 17 2005, 11:12
|
Частый гость
 
Группа: Свой
Сообщений: 121
Регистрация: 19-01-05
Пользователь №: 2 049

|
Цитата(ASV @ Feb 17 2005, 09:30) Да заливал я их. Нефига не грузиться. Наверно в схеме что-то не то. Спакойна, не дёргаться! Первый байт 0хС4 Второй: Внимание! IFCONFIG - нужно отнестись предельно внимательно. 3) - полярность... Большую часть этого байта ты править не можешь. 4) - 0хС4 5) - 0х06 6) - 0х00 c 7го) - Внимание! Открываешь INF файл(который с драйвером идёт). Там находишь слово VID. Их будет много, идёшь в самый низ инфа, там найдёшь имя своёй микрухи и рядом прописанные VID и PID. (это при условии EZUSB.SYS) с CyUSB.SYS придётся пораскинуть мозгами и сделать по аналогии. VID(low) VID(high) PID(low) PID(high) DID(low) DID(high) Вносить в том виде как в инфе, ни чего переводить(ХЕКС/ДЕК) не нужно. При подключении, кампуктер тут же увидит девайс. Кстати, посмотри генерацию на кварце. Если нет осцила, то повешай на кварце емкости не 20-30pF, а 12pF. Так будет вернее. Кстати, разберись скольки байтный адрес у твоей EEPROM. И тоже отнесись к этому внимательно. Ну и про ресет не забудь.
|
|
|
|
|
Feb 17 2005, 14:33
|
Участник

Группа: Новичок
Сообщений: 43
Регистрация: 28-01-05
Пользователь №: 2 279

|
Спасибо огромное всем кто мне помогал! Винда наконецто увидела мою микруху. Была как я и думал ошибка в схеме. Теперь буду разбираться как заставить ее что-то передавать.
|
|
|
|
|
Feb 18 2005, 08:41
|
Частый гость
 
Группа: Свой
Сообщений: 121
Регистрация: 19-01-05
Пользователь №: 2 049

|
Цитата(ASV @ Feb 17 2005, 17:33) Спасибо огромное всем кто мне помогал! Спасибо в карман не положишь. Рассказывай: чё за косяк был?
|
|
|
|
|
Feb 18 2005, 10:57
|
Участник

Группа: Новичок
Сообщений: 43
Регистрация: 28-01-05
Пользователь №: 2 279

|
Цитата(Trashy @ Feb 18 2005, 12:41) Цитата(ASV @ Feb 17 2005, 17:33) Спасибо огромное всем кто мне помогал! Спасибо в карман не положишь. Рассказывай: чё за косяк был? Не подсоденили выводы SCL и SDA через резистор к питанию. Та м же выводы с открытым коллектором.
|
|
|
|
|
Feb 19 2005, 14:50
|
Частый гость
 
Группа: Свой
Сообщений: 135
Регистрация: 10-07-04
Из: Зеленоград
Пользователь №: 310

|
Не подсоденили выводы SCL и SDA через резистор к питанию. Та м же выводы с открытым коллектором. [/quote] Стандартные однако грабли...
|
|
|
|
|
Feb 21 2005, 04:35
|
Частый гость
 
Группа: Свой
Сообщений: 121
Регистрация: 19-01-05
Пользователь №: 2 049

|
Цитата(grumbler @ Feb 19 2005, 17:50) Стандартные однако грабли... Мне студент плату для него развёл. В тырнете схему у немцев дёрнул. Точно такая же в девелопмент кит лежит. Всего одна ошибка была, питание на аналоговую часть микрухи не завёл... Но, вообще, от косяков разводки меня Altera спасла, так как все сайпресовские пины на ПЛИСину были заведены. Даже ресет!
|
|
|
|
|
Feb 24 2005, 11:52
|
Участник

Группа: Новичок
Сообщений: 43
Регистрация: 28-01-05
Пользователь №: 2 279

|
На что влияет вывод 5 (NC) у cy7cc680001? Просто он должен висеть в воздухе, а мне его повесили на высокий. И теперь проблема его от тудова отодрать. Может это и есть причиной того что микруха не хочет читать пиды и виды из EEPROM?
|
|
|
|
|
Feb 24 2005, 15:13
|
Частый гость
 
Группа: Свой
Сообщений: 121
Регистрация: 19-01-05
Пользователь №: 2 049

|
Цитата(ASV @ Feb 24 2005, 14:52) На что влияет вывод 5 (NC) у cy7cc680001? Просто он должен висеть в воздухе, а мне его повесили на высокий. И теперь проблема его от тудова отодрать. Может это и есть причиной того что микруха не хочет читать пиды и виды из EEPROM? Врядли. Пока ты писал этот постинг, лучще бы иголочкой лапу поддел и паяльничком ткнул. И нет проблемм. Пусть в воздухе висит (как у меня). Лучше обрати внимание на разрядность адреса в твоей микрухе.
|
|
|
|
|
Feb 24 2005, 20:12
|
Участник

Группа: Новичок
Сообщений: 43
Регистрация: 28-01-05
Пользователь №: 2 279

|
Цитата(Trashy @ Feb 24 2005, 19:13) Цитата(ASV @ Feb 24 2005, 14:52) На что влияет вывод 5 (NC) у cy7cc680001? Просто он должен висеть в воздухе, а мне его повесили на высокий. И теперь проблема его от тудова отодрать. Может это и есть причиной того что микруха не хочет читать пиды и виды из EEPROM? Врядли. Пока ты писал этот постинг, лучще бы иголочкой лапу поддел и паяльничком ткнул. И нет проблемм. Пусть в воздухе висит (как у меня). Лучше обрати внимание на разрядность адреса в твоей микрухе. Да с разрядностью все нормально. Я поставил 24LC01B, как и в даташите рекомендуют. Вот только не хочет он дескрипторы читать и все. VID и PID в реестре нулевые. Тут еще мне не понятный прикол есть на микрухе написано 24LC01B, а программатор её шьет и читает только как 24LC01A - это вызывает подозрения.
|
|
|
|
|
Feb 25 2005, 13:06
|
Частый гость
 
Группа: Свой
Сообщений: 121
Регистрация: 19-01-05
Пользователь №: 2 049

|
Цитата(ASV @ Feb 24 2005, 23:12) Да с разрядностью все нормально. Я поставил 24LC01B, как и в даташите рекомендуют. Вот только не хочет он дескрипторы читать и все. VID и PID в реестре нулевые. Тут еще мне не понятный прикол есть на микрухе написано 24LC01B, а программатор её шьет и читает только как 24LC01A - это вызывает подозрения. Я сожалею, но мне, что бы что-то проверить, нужно кучу всего отпаивать от платы и Альтеру перешивать, что бы она пустила Супреса "в свободное плавание"... Я через ЕЕПРОМ уже давно не конфигурюсь. У меня этим ПЛИС занимается...
|
|
|
|
|
Feb 25 2005, 14:29
|
Участник

Группа: Новичок
Сообщений: 43
Регистрация: 28-01-05
Пользователь №: 2 279

|
Цитата(Trashy @ Feb 25 2005, 17:06) Цитата(ASV @ Feb 24 2005, 23:12) Да с разрядностью все нормально. Я поставил 24LC01B, как и в даташите рекомендуют. Вот только не хочет он дескрипторы читать и все. VID и PID в реестре нулевые. Тут еще мне не понятный прикол есть на микрухе написано 24LC01B, а программатор её шьет и читает только как 24LC01A - это вызывает подозрения. Я сожалею, но мне, что бы что-то проверить, нужно кучу всего отпаивать от платы и Альтеру перешивать, что бы она пустила Супреса "в свободное плавание"... Я через ЕЕПРОМ уже давно не конфигурюсь. У меня этим ПЛИС занимается... А какую ты EEPROM использовал? Просто 24LC01В вообще вроде как игнорирует дополнтильные биты адреса, которые выставляються выводами на ПЗУ А0-А2. И мне кажиться что из-за этого киприс мой не может понять что за EEPROM я ему подсунул и не может прочитать ВИД и ПИД. Он просто принимает их нулевыми, покрайней мере я это вижу в реестре.
|
|
|
|
|
Feb 27 2005, 07:21
|
Частый гость
 
Группа: Свой
Сообщений: 121
Регистрация: 19-01-05
Пользователь №: 2 049

|
Цитата(ASV @ Feb 25 2005, 17:29) А какую ты EEPROM использовал? Просто 24LC01В вообще вроде как игнорирует дополнтильные биты адреса, которые выставляються выводами на ПЗУ А0-А2. И мне кажиться что из-за этого киприс мой не может понять что за EEPROM я ему подсунул и не может прочитать ВИД и ПИД. Он просто принимает их нулевыми, покрайней мере я это вижу в реестре. Абсолютно не верные рассуждения! Сайпрес не отвечает на запросы виндовоза в принципе(в твоём случае)! А в реестре ты можешь увидеть нули, просто замкнув D+ на плюс(по моему, точно не помню, или даже выпаяв кварц из рабочей платы - эфект будет тот же). Что бы микруха начала передавать вид и пид, она должна считать 0xC4 два раза (с нулевой ячейки и с третьей)! И ещё должна считать размер дескриптора 0x00 и 0x06!!! То есть, вороятность ошибки равна нулю. Если она смогла считать это, то и вид с пидом считает. Но в твоём случае, она ваще ни хера не делает! Кстати, если у тебя всё таки сомнения, то проверяется это возникновением прерывания при завершении ренумерации. То есть, при завершении инициализации возникает прерывание для внешнего устройства. Ты это можешь запросто тестером увидеть... На тему еепрома, я сегодня закончу свою работу, а завтра вечером попробую с епроминой загрузиться. И скажу о результате Вспомнил! Прочитай внимательно INTENABLE bit definition пункт 3.4.2 а конкретно: Bit 0 - READY Ты поймёшь в каком случае какое прерывание происходит READY или ENUMOK. И отсюда ты сможешь понять, что на самом деле происходит с твоим устройством. Кароче, переведи внимательно и подробно.
|
|
|
|
|
Mar 25 2005, 20:42
|
Участник

Группа: Новичок
Сообщений: 43
Регистрация: 28-01-05
Пользователь №: 2 279

|
Не читает она ничего из EEPROM  . Вот щас освободился от другой работы и буду пытаться загрузить от внешнего МК.
|
|
|
|
|
Apr 17 2005, 08:55
|
Группа: Новичок
Сообщений: 10
Регистрация: 12-04-05
Пользователь №: 4 076

|
Запускаю SX2 Собрал макетную плату к параллельной шине подключил ATmega8 которая в свою очередь управляется от PC через RS232. Сейчас ситуация следующая: при подключении к USB микросхема распознается, читается VID PID и.т.д. Могу передають данные от PC к SX2 через USB при помощи панели CyConsole с драйвером CyUSB.sys читаю через ATmega8 вроде все правильно. Но как только пытаюсь записать в SX2 что то через параллельную шину т.е. подаю 0 на SLWR, SX2 начинает жрать кучу тока, падает напряжение питания и перестает работать кварц и SX2 пропадает с шины USB. Проверил все тестером тыкал на SLOE, SLWR, ADR0-2 все правильно, на всякий случай на параллельную шину SX2 поставил резисторы 1кОм; то же самое. Собрал вторую макетную плату работает точно так же как и первая я в отчаянии. Может у кого были подобные симптомы поделитесь рецептом или есть сгоревшие образцы которые не работают так же как и мои и надо собирать третью макетную плату.
|
|
|
|
|
Apr 17 2005, 09:51
|
Частый гость
 
Группа: Свой
Сообщений: 121
Регистрация: 19-01-05
Пользователь №: 2 049

|
Цитата(sphera @ Apr 17 2005, 11:55) т.е. подаю 0 на SLWR, SX2 начинает жрать кучу тока, падает напряжение питания и перестает работать кварц и SX2 пропадает с шины USB. Куча, это скока? И вкаком режиме(синхронный или асинхронный)? Цитата на всякий случай на последовательную шину SX2 поставил резисторы 1кОм; Где у него такая шина? Цитата Проверил все тестером тыкал на SLOE, SLWR, ADR0-2 все правильно, ПРи включении SLOE - Data шина в высокоимпедансное состояние уходит?
|
|
|
|
|
Apr 19 2005, 14:15
|
Группа: Новичок
Сообщений: 10
Регистрация: 12-04-05
Пользователь №: 4 076

|
1. ток не мерял но стабилизатор 3.3В на 1А должно хватать; SX2 работает в асинхронном режиме так как ATmega8 в синхронном не успеет. 2. Сори действительно оговорился имелось в виду параллельная шина (уже исправлено). 3. Шина уходит в высокоимпедансное состояние так как падение напряжения на резисторая 1кОм 0.2В а ATmega8 питается от 5В.
|
|
|
|
|
Apr 20 2005, 03:26
|
Частый гость
 
Группа: Свой
Сообщений: 121
Регистрация: 19-01-05
Пользователь №: 2 049

|
Цитата(sphera @ Apr 19 2005, 17:15) 1. ток не мерял но стабилизатор 3.3В на 1А должно хватать; SX2 работает в асинхронном режиме так как ATmega8 в синхронном не успеет. 2. Сори действительно оговорился имелось в виду параллельная шина (уже исправлено). 3. Шина уходит в высокоимпедансное состояние так как падение напряжения на резисторая 1кОм 0.2В а ATmega8 питается от 5В. А что мешает атмегу на 3.3 вольта включить? На сколько я силен в смехотехнике, там входы от перенапряжения защищены диодами подключенными к 3.3 вольтам. То есть, все твои 5 вольт будут через эти диоды до 3.9 коротиться. Попробуй у атмеги снизить питание до 3.9... Что тебе мешает включать по одному биту на портах атмеги? Кстати, когда пишешь в Супрес, то ендпоинт должен подключаться типа IN. Это делается пинами FIFOADDR[2..0]. То есть для тебя: или 010 или 011. Либо ты перепутал полярность при конфигурации(например того же SLWR)... А, то вообще, сопля на этом проводе. Тестером на КЗ проверь. Хотя, я не думаю, что один порт атмеги может 1ампер пропустить(если только сопля не на 5 вольт)... Кстати, при включении IN-ендпоинта, микруха сама должна переводить данные в Z состояние. SLOE не нужен(хотя подробностей не помню)...
|
|
|
|
|
Apr 20 2005, 12:28
|
Участник

Группа: Новичок
Сообщений: 43
Регистрация: 28-01-05
Пользователь №: 2 279

|
Зачем в даташите в схеме питание на AVCC подаеться через RC цепочку?
|
|
|
|
|
Apr 20 2005, 12:56
|
Участник

Группа: Новичок
Сообщений: 43
Регистрация: 28-01-05
Пользователь №: 2 279

|
Зачем в даташите питание на AVCC подаеться через RC-цепочку?
|
|
|
|
|
Apr 21 2005, 06:24
|
Частый гость
 
Группа: Свой
Сообщений: 121
Регистрация: 19-01-05
Пользователь №: 2 049

|
Цитата(ASV @ Apr 20 2005, 15:28) Зачем в даташите в схеме питание на AVCC подаеться через RC цепочку? Называется - развязывающий фильтр. 480 мегагерц шоб по плате не гуляло. В твоём случае - вещь абсолютно бесполезная. У меня этой цепочки тоже нету. Кстати, обрати внимание на номинал резистора. Надеюсь, у тебя все выводы Vcc зашунтированы 0.1микрофарадами...
|
|
|
|
|
Apr 21 2005, 11:29
|
Участник

Группа: Новичок
Сообщений: 43
Регистрация: 28-01-05
Пользователь №: 2 279

|
Цитата(Trashy @ Apr 21 2005, 10:24) Цитата(ASV @ Apr 20 2005, 15:28) Зачем в даташите в схеме питание на AVCC подаеться через RC цепочку? Называется - развязывающий фильтр. 480 мегагерц шоб по плате не гуляло. В твоём случае - вещь абсолютно бесполезная. У меня этой цепочки тоже нету. Кстати, обрати внимание на номинал резистора. Надеюсь, у тебя все выводы Vcc зашунтированы 0.1микрофарадами... Зашунтированы. Я вообще сейчас плату переразвожу (до этого не я разводил) и ставлю новую микруху. Потому что как я не пытался ее заставить заработать, так она и не заработала. Винда пишет, что найдено новое устройство, но оно не опознано. Единственное что, я не могу из реестра удалить нулевые пиды (пишет что из-за ошибки не возможно удаление всех ключей).
|
|
|
|
|
May 24 2005, 12:55
|
Группа: Новичок
Сообщений: 1
Регистрация: 24-05-05
Пользователь №: 5 346

|
Коллеги! Есть плата: DSP (хост процессор) соединен с CY7C68001 по параллельной шине, также на плате предусмотренна EEPROM. Пытаюсь инициализировать CY7C68001. Ситуация №1: Инициализация через EEPROM. Прописываем C4,C9,00,C4,47,05,02,10,00,01. После инициализации супраса таким образом PC определяет новое устройство положенным образом. Но при этом Host процессор не может установить связь с супрасом (супрас не отвечает на запросы) Ситуация №2: Инициализация через host процессор (изначально в этом случае host видит супресс). Прописываем VID, PID, DID (для использования дескриптора по умолчанию). Проверка показывает (чтение супраса хост процессором), что VID, PID, DID прописались правильно. Однако PC не идентифицирует новое устройство. В чем может быть проблема?
|
|
|
|
|
May 25 2005, 03:48
|
Частый гость
 
Группа: Свой
Сообщений: 121
Регистрация: 19-01-05
Пользователь №: 2 049

|
Цитата(Fam @ May 24 2005, 15:55) Коллеги! Есть плата: DSP (хост процессор) соединен с CY7C68001 по параллельной шине, также на плате предусмотренна EEPROM. Пытаюсь инициализировать CY7C68001. Ситуация №1: Инициализация через EEPROM. Прописываем C4,C9,00,C4,47,05,02,10,00,01. После инициализации супраса таким образом PC определяет новое устройство положенным образом. Но при этом Host процессор не может установить связь с супрасом (супрас не отвечает на запросы) Ситуация №2: Инициализация через host процессор (изначально в этом случае host видит супресс). Прописываем VID, PID, DID (для использования дескриптора по умолчанию). Проверка показывает (чтение супраса хост процессором), что VID, PID, DID прописались правильно. Однако PC не идентифицирует новое устройство. В чем может быть проблема? Драйвер чей? Вообще, у супресса ендпоинты с двойной буфферизацией(по умолчанию), так, что после CreateFile(); Можно, например, отправить два пакета по 512 в каждый ендпоинт 2 или 4. Третий пакет - подвесит приложение. Если этот механизм работает, то косяк в согласовании с ДСП. Ситуация№2 - не ясна абсолютно...
|
|
|
|
|
May 25 2005, 04:06
|
Частый гость
 
Группа: Свой
Сообщений: 121
Регистрация: 19-01-05
Пользователь №: 2 049

|
Цитата(Fam @ May 24 2005, 15:55) Коллеги! Есть плата: DSP (хост процессор) соединен с CY7C68001 по параллельной шине, также на плате предусмотренна EEPROM. Пытаюсь инициализировать CY7C68001. Ситуация №1: Инициализация через EEPROM. Прописываем C4,C9,00,C4,47,05,02,10,00,01. После инициализации супраса таким образом PC определяет новое устройство положенным образом. Но при этом Host процессор не может установить связь с супрасом (супрас не отвечает на запросы) Ситуация №2: Инициализация через host процессор (изначально в этом случае host видит супресс). Прописываем VID, PID, DID (для использования дескриптора по умолчанию). Проверка показывает (чтение супраса хост процессором), что VID, PID, DID прописались правильно. Однако PC не идентифицирует новое устройство. В чем может быть проблема? Блин - понял... Со второй ситуацией обожди. Пока заведи на епромине. И забудь пока, о существовании ДСП. Зацепи игрушку к ПК, и зашли в ендпоинт2 пакет. Тестером пощупай флаги. Попереключай FIFOADDR. Потом ещё один пакет. Опять флаги посмотри. Опорожни ендпоинт в синхронном режиме(коротнув SLRD). Опять содержимое флагов оцени. Потом, пробуй читать приложением. Приложение повиснет. И будет ждать когда, ты коротнёшь SLWR... Кароче, посмотри как это всё работает, а уж потом будешь весь из себя - крутой программер у которого все блоки с первого раза заработали...
|
|
|
|
|
Jun 16 2005, 09:35
|
Группа: Новичок
Сообщений: 3
Регистрация: 1-06-05
Пользователь №: 5 645

|
Приветствую! Кто-нибудь работал с драйверами от Jungo? каких скоростей удовалось достич? ps я планирую использовать CY7C68001
|
|
|
|
|
Jun 17 2005, 08:16
|
Группа: Новичок
Сообщений: 3
Регистрация: 1-06-05
Пользователь №: 5 645

|
При первом знакомстве с этим драйвером выявилось следующее: PC не может принят от устройства посылку более 64 байт. Приняв 64 байта происходит выход из процедуры чтения, хотя ожидаемый пакет: несколько килобайт. использую следующие pipe: pipe $2 на запись pipe $86 на чтение процедура: WDU_Transfer Что харрактерно: windriverwizard также не может принят более 64 байт, при этом замечено что PC генерит 8мс паузы между этими пакетами (в режиме прослушивания)... Кто нибудь может подсказать где собака зарыта? Есть подозрения что дело во размерах входного буфера USb со стороны PC, если это так, то как изменить его настройки (размер)?
|
|
|
|
|
Jun 18 2005, 05:10
|
Частый гость
 
Группа: Свой
Сообщений: 121
Регистрация: 19-01-05
Пользователь №: 2 049

|
Цитата(Enrique @ Jun 17 2005, 11:16) При первом знакомстве с этим драйвером выявилось следующее: PC не может принят от устройства посылку более 64 байт. Приняв 64 байта происходит выход из процедуры чтения, хотя ожидаемый пакет: несколько килобайт. использую следующие pipe: pipe $2 на запись pipe $86 на чтение процедура: WDU_Transfer Что харрактерно: windriverwizard также не может принят более 64 байт, при этом замечено что PC генерит 8мс паузы между этими пакетами (в режиме прослушивания)... Кто нибудь может подсказать где собака зарыта? Есть подозрения что дело во размерах входного буфера USb со стороны PC, если это так, то как изменить его настройки (размер)? У меня буфер(физический) 4 килобайта, а драйвер берёт 64килобайта. Так, что - фигня это всё. К тому же, через какой эндпоинт данные гонишь?
|
|
|
|
|
Jun 20 2005, 15:14
|
Группа: Новичок
Сообщений: 3
Регистрация: 1-06-05
Пользователь №: 5 645

|
Согласен, фигня вышла с программой в железе, щас все ок.
|
|
|
|
|
Oct 24 2005, 08:27
|
Местный
  
Группа: Свой
Сообщений: 205
Регистрация: 16-10-05
Пользователь №: 9 704

|
Здравствуйте! Давайте разберемся с прерываниями в этой микросхеме? Очень уж не логично они там наворочали... Я уже задавал подобный вопрос в сайпрессовской техподдержке, ответ получил аж через неделю. И ответ этот несколько странен: он никак не совпадает с данными даташита. Суть проблемы вот в чем. Имеем аппаратную логику, которая считывает поток байт из OUT-ендпойнта. Где-то в процессе считывания может возникнуть прерывание. Эту ситуацию я изобразил на примерной временнОй диаграмме:  Что будет считано на шину данных по очередному импульсу считывания (nSLRD+nSLOE), когда пришло прерывание? Это будет байт статуса прерывания или все-таки очередной байт данных? В техподдержке мне невнятно сказали, что статус прерывания считывается только по адресу команд (FIFOADR[2..0] = B"100"). В этом случае со считыванием данных вроде все должно быть хорошо. Но почему тогда в даташите нигде не говорится, что статус прерывания считывается именно по адресу FIFOADR[2..0] = B"100"? Написано просто: когда пришло прерывание, то статус байт прерывания выдается по импульсам считывания (nSLRD+SLOE). Вот что мы имеем в даташите (ревизия E): (стр. 3) When an interrupt occurs, the INT# pin will be asserted, and the corresponding bit will be set in the Interrupt Status Byte. The external master reads the Interrupt Status Byte by strobing SLRD/SLOE. This presents the Interrupt Status Byte on the lower portion of the data bus (FD[7:0]). Т.е. считываем - получаем. Про адрес ничего не сказано. (стр. 7) An address of [1 0 0] on FIFOADR [2:0] will select the command interface. The command interface is used to write to and read from the SX2 registers and the Endpoint 0 buffer, as well as the descriptor RAM. Опять же, ничего не говорится про статус прерывания. Так как же оно на самом деле? Подскажите, пожалуйста, про этот проклятый байт прерывания...
--------------------
MPEG-4 - в массы!
|
|
|
|
|
Oct 24 2005, 18:49
|
Местный
  
Группа: Свой
Сообщений: 205
Регистрация: 16-10-05
Пользователь №: 9 704

|
Хм... Провел специальный эксперимент. Микроконтроллер обнаруживает ноль на линии INT#. Выставляет адрес FIFOADR[2..0] = 000b, считывает байт данных. Линия прерывания как была в нуле, так и остается. Тогда микроконтроллер выставляет адрес FIFOADR[2..0] = 100b, считывает байт данных. Линия прерывания уходит в единицу.
Похоже, можно верить сайпрессовской техподдержке... Неужели трудно было об этом в даташите написать? Заразы...
А микросхема у них превосходная :-) Допкомпонентов нужно мало, в работе проста (когда все необходимые шишки набьешь :-) скорость обеспечивает приличную. А со стороны PC я использую их CY4604 - USB Developer's uStudio v1.5.1.1. На первый взгляд там все просто, как дверь. Во всяком случае прилагаемые примеры откомпилировались без проблем, полученные exe-шники работают, необходимые мне 8 МБайт/сек дают свободно (процессор PC PIV-2.6GHz нагружается на 6-8%, Embedded-мама с VIA C3-1.3GHz - порядка 10-12%). А дальше - совершенствование.
Подскажите, пожалуйста, чем хорош драйвер USBIO.SYS по сравнению с CyUSB.sys из их Девелопер Студии?
--------------------
MPEG-4 - в массы!
|
|
|
|
|
Oct 25 2005, 03:23
|
Частый гость
 
Группа: Свой
Сообщений: 121
Регистрация: 19-01-05
Пользователь №: 2 049

|
Цитата(jur @ Oct 24 2005, 21:49) Подскажите, пожалуйста, чем хорош драйвер USBIO.SYS по сравнению с CyUSB.sys из их Девелопер Студии? Что бы ответить на этот вопрос - нужно иметь исходники. Не знаю как USBIO.SYS, но старый драйвер EZUSB.SYS - прокачивает 26мег в секунду. Единственный косяк, не соответствует спецификации энергосбережения и не поддерживает оверлаппед. К тому же в нём много прибабахов для 68013. А в CyUSB - их поделяли. Вообще, есть мнение, что самый лучший драйвер для кипариса, получается из исходников EZUSB + пример из ДДК.
|
|
|
|
|
Nov 8 2005, 17:34
|
Участник

Группа: Свой
Сообщений: 29
Регистрация: 4-05-05
Пользователь №: 4 741

|
Ситуевина такая. 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)? Софтом? Хелп, плз!!!
|
|
|
|
|
Nov 9 2005, 03:37
|
Частый гость
 
Группа: Свой
Сообщений: 121
Регистрация: 19-01-05
Пользователь №: 2 049

|
Цитата(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 не существующего пайпа - происходил мгновенный выброс из винды... Меня трижды выкинуло, пока я понял в чём дело.
|
|
|
|
|
Nov 9 2005, 10:21
|
Участник

Группа: Свой
Сообщений: 29
Регистрация: 4-05-05
Пользователь №: 4 741

|
Цитата(Trashy @ Nov 9 2005, 07:37)  Динамическое конфигурирование сайпрессом не поддерживается. Это значит, что нужно сконфигурить микруху и сделать ренумерацию с соответствующими дескрипторами... В DS указанно такое. Но как мне правильно (аппаратно) сконфигурить ендпоинты. Если я правильно понял нуна залить конфигурацию ЕР-тов после СЕТАПа, а потом залить дескрипторы или залить дескрипторы с прописанными ЕР??? А потом я получу ЕНУМОК?! Т.о. жду прерывания с СЕТАПом, потом я гружу все конфиги и настройки. Потом гружу регистр 0х30 с дескрипторами. И получаю прерывание ЕНУМОК. ??! Правильно?!
|
|
|
|
|
Nov 14 2005, 10:57
|
Участник

Группа: Свой
Сообщений: 29
Регистрация: 4-05-05
Пользователь №: 4 741

|
2 Trashy. SX2. Гружу регистры 06-09 (выключаю 4 и 8-й ЕР) что сначала, что после дескрипторов одна кухня - в ЕЗМОНе вижу все четыре точки. В чем может быть трабла? Зачем делать FLUSH FIFO? Заранее благодарен!
|
|
|
|
|
Nov 18 2005, 08:42
|
Группа: Новичок
Сообщений: 8
Регистрация: 3-10-05
Пользователь №: 9 172

|
А вы не читали CY3682 Design Notes (на сайте есть), там описана процедура инициализации чипа. Сначала ждешь прерывания SETUP, затем грузишь регистры, затем дескрипторы. После этого винда енумерует устройство, если есть подходящий драйвер. У меня еще не работает устройство, я пока на пути... но инициализация проходит. Тоже нет Епрома, работаю с ПЛИС.
|
|
|
|
|
Nov 18 2005, 20:07
|
Группа: Новичок
Сообщений: 8
Регистрация: 3-10-05
Пользователь №: 9 172

|
сорри, не SETUP прерывание вначале, а READY. Перепутал.
|
|
|
|
|
Nov 21 2005, 16:49
|
Участник

Группа: Свой
Сообщений: 29
Регистрация: 4-05-05
Пользователь №: 4 741

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

|
Я думаю, что для того чтобы получить только 2 ендпоинта, вместо 4-х, нужно переписать полную таблицу дескрипторов для вашего случая (2 ендпоинта по 1024 байта) по адресу 300. Винда определяет наличие и конфигурацию ендпоинтов по этой информации, а у вас по умолчанию там записана конфигурация для 4-х ендпоинтов. На последней странице даташита описаны default descriptors, а то что значат эти цифры можно найти в спецификации на шину USB2.0. Надеюсь, что вам помог.
|
|
|
|
|
Nov 22 2005, 15:18
|
Участник

Группа: Свой
Сообщений: 29
Регистрация: 4-05-05
Пользователь №: 4 741

|
Цитата(vad2 @ Nov 22 2005, 18:14)  Надеюсь, что вам помог. Спасибо попробую. Свяжусь как там получится.
|
|
|
|
|
Nov 23 2005, 09:05
|
Участник

Группа: Свой
Сообщений: 29
Регистрация: 4-05-05
Пользователь №: 4 741

|
2 vad2. А каким образом аппаратно записать таблицу дескрипторов? В ПДФ гл.12 описан дефолтовый - он состоит из нескольких частей, каждый со своей длиной. И каким образом это пишется. Ведь при записи по 300-ке надо указать длину и данные. (смещение автоматом генерится?)
|
|
|
|
|
Nov 24 2005, 12:22
|
Участник

Группа: Свой
Сообщений: 29
Регистрация: 4-05-05
Пользователь №: 4 741

|
Все понял! Надо посчитать кол-во байт и записать при записи в 0х30. А стринговые дескрипторы по 16битному Юникоду согласно кодировке загруженной в стринговом дескрипторе 0!
|
|
|
|
|
Dec 1 2005, 22:12
|
Местный
  
Группа: Свой
Сообщений: 205
Регистрация: 16-10-05
Пользователь №: 9 704

|
Цитата(Xenix @ Nov 24 2005, 14:22)  Все понял! Надо посчитать кол-во байт и записать при записи в 0х30. А стринговые дескрипторы по 16битному Юникоду согласно кодировке загруженной в стринговом дескрипторе 0! Совершенно верно. Я тоже, как и многие коллеги, работаю с собственным дескриптором. Порядок действий тут такой. После сброса я загружаю регистры нужными значениями (меня не устраивают значения по умолчанию, т.к. нужно одной ендпойнте назначить 16-битную шину, а двум другим - 8-битную. Ну и флаги еще жестко пристегнуть, что-б не мучались :-) После этого загружаю свой дескриптор. Микросхема енумерируется в Windows и нормально работает.
--------------------
MPEG-4 - в массы!
|
|
|
|
|
May 7 2006, 20:42
|
Участник

Группа: Участник
Сообщений: 24
Регистрация: 6-05-06
Из: Москва
Пользователь №: 16 848

|
Подскажите,
Контроллер 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 8 2006, 18:44
|
Местный
  
Группа: Свой
Сообщений: 205
Регистрация: 16-10-05
Пользователь №: 9 704

|
Цитата(Дмитрий К. @ 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. Попробуй сбросить этот бит в ноль.
--------------------
MPEG-4 - в массы!
|
|
|
|
|
May 9 2006, 17:50
|
Участник

Группа: Участник
Сообщений: 24
Регистрация: 6-05-06
Из: Москва
Пользователь №: 16 848

|
Цитата(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 нету.
|
|
|
|
|
May 12 2006, 17:01
|

Местный
  
Группа: Свой
Сообщений: 330
Регистрация: 10-06-05
Из: Россия, Москва
Пользователь №: 5 894

|
Цитата(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-ных чипов проще.
|
|
|
|
|
May 15 2006, 10:27
|
Участник

Группа: Участник
Сообщений: 47
Регистрация: 12-05-05
Пользователь №: 4 940

|
Цитата(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 16 2006, 07:52
|
Участник

Группа: Новичок
Сообщений: 17
Регистрация: 27-09-05
Пользователь №: 8 995

|
Цитата(Дмитрий К. @ 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
|
Участник

Группа: Участник
Сообщений: 24
Регистрация: 6-05-06
Из: Москва
Пользователь №: 16 848

|
Спасибо за ответы, но проблема была в железе,
заработало как должно быть работает и с загрузкой всего дескриптора, так и по умолчанию (только VID, PID, DID)
1. Делаю Reset usb 2. Получаю прерывание Ready (т.к. нет EEPROM) 3. Загружаю дескриптор по умолчанию программно от DSP (только VID, PID, DID) 4. Енумерация происходит
|
|
|
|
|
May 29 2006, 18:56
|
Частый гость
 
Группа: Свой
Сообщений: 172
Регистрация: 23-04-06
Пользователь №: 16 404

|
Скажите, пожалуйста, а кто-то подключал CY7C68001 к AT91RM9100? (изначально идея такая http://electronix.ru/forum/index.php?showtopic=16589)Никто не подключал САБЖ к микроконтроллеру как внешнюю SRAM, никаких граблей при этом не было?
|
|
|
|
|
May 31 2006, 08:23
|
Местный
  
Группа: Свой
Сообщений: 205
Регистрация: 16-10-05
Пользователь №: 9 704

|
Цитата(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-ми ячеек памяти (используется только пять). Сигналы для присоединения к микроконтроллеру тоже вполне стандартные.
--------------------
MPEG-4 - в массы!
|
|
|
|
|
Jun 6 2006, 10:14
|
Частый гость
 
Группа: Свой
Сообщений: 79
Регистрация: 13-01-06
Из: Москва
Пользователь №: 13 133

|
Цитата Однако, в отличие от FT245, вы получите кроме высокой скорости еще и 4 ендпойнта (две - туда, две - обратно) с двойным буферированием (2 х 512 байт каждая). Кроме того, можно очень гибко организовать буферирование, например, иметь 2 ендпойнта с 4 х 512 или 2 х 1024 буферами каждая. Спасибо за ответы. Если я правильно понял CY........ имеет встроенное FIFO,а как быть с необходимой мне развязкой на более 4кв, 232 позволяет установить по одному оптрону в обоих направлениях ?
|
|
|
|
|
Nov 27 2006, 14:16
|
Местный
  
Группа: Свой
Сообщений: 213
Регистрация: 6-12-04
Из: г. Таганрог
Пользователь №: 1 346

|
Цитата(-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, 15:30
|

Местный
  
Группа: Свой
Сообщений: 330
Регистрация: 10-06-05
Из: Россия, Москва
Пользователь №: 5 894

|
Цитата(Гяук @ Nov 27 2006, 14:16)  ...А вот по поводу двойной буферизации по умолчанию я так и не понял.... Пакет по умолчанию - 512 байт - то есть буфер FIFO по умолчанию - 1024 байта?... Пакет по умолчанию 512 байт, но каждый эндпоинт имеет двойную буферизацию по умолчанию (можно и четверную сделать, если надо), поэтому флажок EPxFF выставится только при заполнении всего буфера (2 кадра, по умолчанию), а снимется после того, когда хотя-бы один кадр уйдет. Цитата После того как все данные выпихнулись честно выставляется флажок заполненности FIFO. У Вас как раз и получается, что Вы 2 кадра в буфер пишете, а потом их читаете
|
|
|
|
|
Nov 28 2006, 09:36
|
Местный
  
Группа: Свой
Сообщений: 213
Регистрация: 6-12-04
Из: г. Таганрог
Пользователь №: 1 346

|
Цитата(-Al- @ Nov 27 2006, 15:30)  У Вас как раз и получается, что Вы 2 кадра в буфер пишете, а потом их читаете  Так и есть, то есть так и было Глаз да глаз за всем нужен  Спасибо, -Al-!
|
|
|
|
|
Dec 22 2006, 14:00
|
Частый гость
 
Группа: Свой
Сообщений: 85
Регистрация: 27-06-05
Пользователь №: 6 331

|
Цитата(line @ Dec 22 2006, 12:37)  Подскажите кто знает, а для своей программки отладочной "USB-Console" Cypress готовый драйвер не дает? Где бы достать...?  сам разобрался... хелп смотреть надо...
|
|
|
|
|
Dec 23 2006, 19:10
|
Частый гость
 
Группа: Свой
Сообщений: 135
Регистрация: 10-07-04
Из: Зеленоград
Пользователь №: 310

|
Цитата(TailWind @ Dec 23 2006, 17:50)  Мужики!
А она у Вас сильно греется?
У меня после включения начинает медленно разогреваться. Через минуту больно палец держать. Греется естественно, ну уж не так чтобы сильно. Работоспособность при этом не теряется ?
|
|
|
|
|
Dec 25 2006, 13:02
|
Частый гость
 
Группа: Свой
Сообщений: 125
Регистрация: 15-11-04
Пользователь №: 1 135

|
Цитата Греется естественно, ну уж не так чтобы сильно. Работоспособность при этом не теряется ? Всё прекрасно передаётся. Потребляет чуть больше 200мА Цитата ставьте вместо неё FX2LP (CY7C68013A), она вообще не греется и жрёт в ~3 раза меньше Если будут сложности с отводом тепла придётся. Спасибо.
|
|
|
|
|
Feb 6 2007, 18:02
|

Местный
  
Группа: Участник
Сообщений: 235
Регистрация: 28-01-05
Из: Санкт-Петербург
Пользователь №: 2 276

|
Добрый день.
Есть трабл.
Черт не в ту ветку написал. Это ядро 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. Провод один и тот же. Просто сказка какая-то. Подскажите люди. Кто в Санкт-Петербурге могу как-нибудь попробовать продемонстрировать.
Сообщение отредактировал AndreyS - Feb 6 2007, 18:07
--------------------
Удачи.
|
|
|
|
|
Feb 6 2007, 20:43
|

Местный
  
Группа: Участник
Сообщений: 235
Регистрация: 28-01-05
Из: Санкт-Петербург
Пользователь №: 2 276

|
Цитата(torik @ Feb 6 2007, 18:18)  перводится Digital Video Broadcasting) цифровое видео-  Может в этом что-то быть? BDA похоже на "прямого доступа" судя по лингве. Дык может у тебя просто совпали Виды и Пиды с каким-либо устройством, которое имеется в базе винды.... Так я ж цитировал. В железке при включении ничего нет. Я просто перетыкаю ее из одного порта в другой на одном и том же хосте. Но на одном она определяется как FX2, а на другом как DVB (ерундой в общем). Думал может бит где переворачивается. Так вид и пид так разнятся, что прям ужас. Не врубаюсь в чем прикол. Флешка в этом порту определяется нормально. Смотрю все это в usbview. Надо будет просканить пакеты. Что там вообще прется на этом порту. А то я вообще ничего не понимаю. Как такое может быть? Есть еще одна машинка (но на ней уже другая мама и проц P4) так на этой маме USB устройство то определяется, то нет. Причем это единственная машина с таким глюком. Т.е. на такой же машине с пнем 4 нормально работает. Причем питается все устройство от собственного БП. А определяется или нет выглядит так. Винда то может поставить дрова, то нет. Т.е. то считывает Вид и Пид, то нет. Ну с этой машиной проще. Потому как на ней вообще винда глючная, не только с этим устройством траблы. Надо попробовать пепреставить.
--------------------
Удачи.
|
|
|
|
|
Feb 7 2007, 08:19
|
Местный
  
Группа: Свой
Сообщений: 205
Регистрация: 16-10-05
Пользователь №: 9 704

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

Местный
  
Группа: Участник
Сообщений: 235
Регистрация: 28-01-05
Из: Санкт-Петербург
Пользователь №: 2 276

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

Местный
  
Группа: Свой
Сообщений: 330
Регистрация: 10-06-05
Из: Россия, Москва
Пользователь №: 5 894

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

Местный
  
Группа: Участник
Сообщений: 235
Регистрация: 28-01-05
Из: Санкт-Петербург
Пользователь №: 2 276

|
Цитата А может просто было когда-то подключено устройство, собранное на FX2??? Ведь FX2 может грузится на лету при подключении, а там стоит драйвер со скриптом, который при обнаружении FX2 грузит в него прошиву и рестартует FX2, поэтому и VID с DID меняются... ЗЫ это только предположение... Это хороше предположение. Об этом я не подумал.
--------------------
Удачи.
|
|
|
|
|
Feb 7 2007, 13:30
|
Местный
  
Группа: Свой
Сообщений: 205
Регистрация: 16-10-05
Пользователь №: 9 704

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