Jump to content

    
Sign in to follow this  
toweroff

CY7C68001

Recommended Posts

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

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

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

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

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

Share this post


Link to post
Share on other sites
Доброго времени!

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

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

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

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

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

Share this post


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

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

 

а по теме:

 

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

 

Share this post


Link to post
Share on other sites

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

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

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

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

Share this post


Link to post
Share on other sites

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

 

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, может тут собака порылась и последовательность действий должна быть другой?

Share this post


Link to post
Share on other sites

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

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

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

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

Спасибо

Share this post


Link to post
Share on other sites
ок, в понедельник сдую этого кролика и впихну CY7C68013A, потому как совсем непонятно поведение :(

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

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

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

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

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

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

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

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

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this