Отговори на тема  [ 5 мнения ] 
Проблем с USB микроконтролер CY7C68013 
Автор Съобщение
Ранг: Популярен
Ранг: Популярен
Аватар

Регистриран на: Съб Дек 10, 2005 11:44 am
Мнения: 326
Местоположение: Lake Geneva Shoreline
Мнение Проблем с USB микроконтролер CY7C68013
Здравейте,

От известно време се боря с това животно и нещо не се получава както трябва. По едно време захапа, но след това пак не ще. Ето каква е постановката:

Kит на Digilent - X-Board със CPLD Xilinx CoolRunnerII. Има изведен JTAG, има и възможност за конфигуриране чрез USB. Това го прави въпросният микроконтролер, който емулира JTAG-а и същевременно може да извършва други задачи (мерене на температура и на консумиран ток от ядрото на CPLD-то през SPI... не е важно това).

Контролерчето на Cypress си зарежда програмата и дескрипторите от EEPROM 24LC128 и след това си изпълнява всичко от вътрешния RAM. Тази разновидност е най-малката, с 56 пина, и няма външна шина.

Изводите за Slave FIFO (8 data бита, флагове, стробове) на Cypress-а са навързани към CPLD-то, като в нормален режим не се използват.

Тези USB контролери могат да работят и без външна памет. В този случай при включване се държат като някакво default USB drive и си имат фабрични VID и PID на Cypress. Явно за тази цел на кита има оставено място за джъмпър, който да прекъсне SDA-то на външния EEPROM. Прекъснах пистата и запоих рейка на това място. Като е сложен джъмпъра си разпознава устройството като Digilent Onboard нещо си и всичко е OK. И тук идва тънкият момент - като е махнат джъмпъра трябва да види default USB drive-a на FX2. Обаче това общо взето не става. По едно време някак си стана, разпозна го, сложих му драйвери на Cypress и всичко си беше наред - програмката за debug и за наливане си го виждаше, разпознаваше му и конфигурация и endpoint-и... обаче после пак умря.

Някакви идеи защо се държи така? Правих какво ли не с тези пинове, дето са изведени към CPLD-то, особено много подозиран INT0, да не би да влиза в някакво прекъсване заради него... не е това. RESET-ът му е вързан на захранването през резистор, има и кондензатор към масата (захранването е 3,3 волта от един регулатор, който е вързан на 5-те волта на USB-то).

Между другото, явно бозата вижда нещо, но казва, че има VID 0000 и PID 0000 и казва, че не работи както трябва device-а и дотам. Слагам джъмпъра, включвам кабела и си работи с firmware-а на Digilent нормално.

_________________
Manners maketh man.


Чет Апр 17, 2008 7:41 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Пет Яну 19, 2007 9:16 am
Мнения: 1063
Местоположение: путинофили: "иди н***й"
Мнение 
преди 4-5г. работих с кита на Cypress CY3681 за FX2 - нямал съм проблеми:
- в EEPROMA трябва да имаш записан VID&PID на твоето у-во или firmware-то !
- след като windows-a го разпознае - драйвера ти трябва да download-ва софтуера в RAM-a (от където и се изпълнява!) .. протокола го има описан (сравнително елементарен е ... )

мина доста време от тогава - модифицирах оригиналните USB драйвери от Cypress (наскоро гледах че са ги зарязали ...) имаха много проблеми ... и се нагледах на сини екрани докато ги стабилизирам :)

Погледни pdf-а, ... но май без EEPROM в който има поне VID&PID няма как да тръгне !

_________________
путинофили: "иди н***й"


Пет Апр 18, 2008 9:07 am
Профил
Ранг: Популярен
Ранг: Популярен
Аватар

Регистриран на: Съб Дек 10, 2005 11:44 am
Мнения: 326
Местоположение: Lake Geneva Shoreline
Мнение 
Ето какво пише в PDF-ката на CY7C68013:

USB Boot Methods
During the power-up sequence, internal logic checks the I2C-compatible port for the connection of an EEPROM whose first byte
is either 0xC0 or 0xC2. If found, it uses the VID/PID/DID values in the EEPROM in place of the internally stored values (0xC0),
or it boot-loads the EEPROM contents into internal RAM (0xC2). If no EEPROM is detected, FX2 enumerates using internally
stored descriptors. The default ID values for FX2 are VID/PID/DID (0x04B4, 0x8613, 0xxxyy).


Надявах се да го тръгна по този начин (и за малко стана).

Иначе още не съм си уточнил firmware-а, за да пиша драйвери, а и няма да използвам EZ-USB, дето при всички положения налива програмата през USB, тя ще си е на EEPROM. Просто докато това стане исках да пробвам някои неща.

Правя тази простотия с този CPLD кит, защото платката ми още не е готова. Там конфигурацията е: FX2 - CPLD - DSP, като CPLD-то съгласува мултиплексирания паралелен порт на ADSP-21261 със Slave FIFO-то на Cypress-a... Може би всичко е заради кита на Digilent, може нещо да са направили, за да не барат user-ите където не им е работа, все пак тези неща изобщо не са документирани (освен в схемата на кита).

Благодаря за отговора :)

_________________
Manners maketh man.


Пет Апр 18, 2008 9:33 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Пет Яну 19, 2007 9:16 am
Мнения: 1063
Местоположение: путинофили: "иди н***й"
Мнение 
тогава с 0x04B4, 0x8613 трябва да работи - при теб явно има някакъв комуникационен проблем
на твое място бих го закачил на друг компютър/хъб/порт ...

проблема не е софтуерен - защото още не е опрял до драйверите

иначе поне за мен даунлоадването на firmware-то е голямо предимство (според случая де :))

_________________
путинофили: "иди н***й"


Пет Апр 18, 2008 10:51 am
Профил
Ранг: Популярен
Ранг: Популярен
Аватар

Регистриран на: Съб Дек 10, 2005 11:44 am
Мнения: 326
Местоположение: Lake Geneva Shoreline
Мнение 
Току що открих какво не му е наред.

На схемата на кита всичко е ОК, но в действителност този джъмпър разделя SDA линията така, че изводът на микроконтролера остава висящ. Pull-up резисторът е от страната на EEPROM-а. Това го видях като разгледах платката по-подробно. Сега с един допълнителен pull-up резистор заспа - винаги си го вижда като "Cypress FX2 without EEPROM" и после мога да си го използвам като такова устройство с неговите си generic драйвери и програмката за развой на Cypress.

Пореден урок за това как дребните камъчета обръщат колата...

_________________
Manners maketh man.


Пет Апр 18, 2008 1:47 pm
Профил
Покажи мненията от миналия:  Сортирай по  
Отговори на тема   [ 5 мнения ] 

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 9 госта


Вие не можете да пускате нови теми
Вие не можете да отговаряте на теми
Вие не можете да променяте собственото си мнение
Вие не можете да изтривате собствените си мнения
Вие не можете да прикачвате файл

Търсене:
Иди на:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software for PTF.
Хостинг и Домейни