Перейти к содержанию
    

CY7C68001

Доброго времени!

Поделитесь, пожалуйста, сабжем (конкретный процессор-мастер не имеет значения, главное - правильная последовательность и возможные тонкости)

Не могу поднять девайс и все тут :(

Втыкаю EEPROM с дескриптором - все в порядке, пытаюсь залить то же самое с мастера - Device unknown и энумерация не проходит

Все бы и хорошо, но не хочется оставлять открытую для чтения EEPROM

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Доброго времени!

Поделитесь, пожалуйста, сабжем (конкретный процессор-мастер не имеет значения, главное - правильная последовательность и возможные тонкости)

Не могу поднять девайс и все тут :(

Втыкаю EEPROM с дескриптором - все в порядке, пытаюсь залить то же самое с мастера - Device unknown и энумерация не проходит

Все бы и хорошо, но не хочется оставлять открытую для чтения EEPROM

Зачем Вы этого динозавра используете?? Я его поменял на CY7C68013A, благо корпус 56PVXC в разводке оказался одинаков для обоих. С инициализацией проблем особых не было. EEPROM для него я использовал (на базе встроенной Flash в EPM1270), в нем только дескриптор был, далее инициализация комнадами от EPM1270 с синхронным интерфейсом 48МГц.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Зачем Вы этого динозавра используете?? Я его поменял на CY7C68013A, благо корпус 56PVXC в разводке оказался одинаков для обоих. С инициализацией проблем особых не было. EEPROM для него я использовал (на базе встроенной Flash в EPM1270), в нем только дескриптор был, далее инициализация комнадами от EPM1270 с синхронным интерфейсом 48МГц.

пользую потому, что он у меня есть :biggrin: а так в планах, конечно, потом ставить 13-й

 

а по теме:

 

накопал. В low-level записи в регистр SX2 нужно было сделать маленькую паузу, ARM слишком быстро гнал данные в SX2

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Новая проблема :)

Не получаю флаг ENUM_OK

Все, что сваливается в interrupt - READY и BUS_ACTIVITY, оба по одному разу.... и все :(

Прерывания разрешены все, т.е. в INTENABLE прописано в инициализации 0xFF

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Не, ну никак не хотит флаг подниматься. По шагам следующее:

 

0. Инитим прерывание INT0 у мастера

1. Ресетим SX2

2. Ждем ~500мкс

3. Ждем флаг READY

4. Пишем значения регистров

5. Заливаем дескриптор

6. Ждем флаг ENUMOK

 

при этом устройство определяется виндой, с точки зрения винды девайс вполне себе опознан и энумерован. По крайней мере в списке устройств появляется на своем месте и USBtrace показывает конфигурацию в полном соответствии с моим дескриптором.

Но сволостчь SX2 флаг ENUMOK не поднимает :(

 

Еще прочитал в каментах "CY3682 Design Notes", что подобная последовательность "//This code is for self powered devices which do not use the EEPROM to enumerate"

У меня девайс BusPowered, может тут собака порылась и последовательность действий должна быть другой?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

ок, в понедельник сдую этого кролика и впихну CY7C68013A, потому как совсем непонятно поведение :(

по поводу CY7C68013A - там свой контроллер, который мне не нужен. Как мне заставить этого зайца работать просто интерфейсом а-ля CY7C68001? Ткните носом в апноты, примеры, чтобы быть вооруженным хотя бы. Внутренний контроллер же хоть что-то должен исполнять? Или достаточно отконфигурить зверя как Slave FIFO и пользовать как интерфейс?

Странно, у всех хх001 поднимается и флаги ловятся, как со стороны контроллера (через ASYNC), так и со стороны PGA (через SYNC). Ну никак у меня этого не происходит :( всего два входа в прерывание - READY & BYS_ACTIVITY. Строго по одному разу

И еще - драйвер обязательно должен быть супрессовский? Может мной пользуемый libusb не катит?

Спасибо

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

ок, в понедельник сдую этого кролика и впихну CY7C68013A, потому как совсем непонятно поведение :(

по поводу CY7C68013A - там свой контроллер, который мне не нужен. Как мне заставить этого зайца работать просто интерфейсом а-ля CY7C68001? Ткните носом в апноты, примеры, чтобы быть вооруженным хотя бы.

Скачайте http://www.cypress.com/?rID=38232

Внутренний контроллер же хоть что-то должен исполнять?

Есть дефолтовая конфигурация, когда все запросы аппаратно обрабатываются, либо своя, но тогда фёрмвэре должно это делать.

Или достаточно отконфигурить зверя как Slave FIFO и пользовать как интерфейс?

Да, но для этого нужно фёрмвэре хотя бы по минимуму.

И еще - драйвер обязательно должен быть супрессовский? Может мной пользуемый libusb не катит?

Не знаю, в сайпрессовском есть возможность грузить прошивку с PC.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...