Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: cy7c68013a отказывается работать
Форум разработчиков электроники ELECTRONIX.ru > Интерфейсы > Форумы по интерфейсам > RS232/LPT/USB/PCMCIA/FireWire
shide_3
добрый вечер. незнаю,может быть название темы не совсем в точку, но уже месяц с лишним бьемся об стену и результата ноль. В общем, суть такова.
Есть плата производства AnalogDev, во вложении ее pdf, у нее в еепроме рабочая прошивка для cy7c. Мы купили эту плату для своих нужд, и поэтому при работе (в режиме slave fifo) прошивали каждый раз после включения питания контроллер напрямую (не трогая еепром). все было хорошо. но вот потребовалось перенести плату в другое здание в измерительную комнату на другой комп. и тут все начало обламываться. после прошивки нашей прошивкой контроллер переставал опознаваться как USB -устройство (VID и PID По нулям.). После долгих танцев с бубном перетащил плату обратно на свой комп, и к удивлению после прошивки она обнаружилась, ладно, отнес обратно, и опять нифига. решили пойти другим путем, залили еепром другой прошивкой, но не нашей, а стандартной из аппноута 61345 (slave fifo). думали просто попробовать что будет. контроллер распознался, но почему-то в control center в списке конфигураций присутствуют все конечные точки, хотя запрограммированы только две, и ни в один эндпоинт я не могу ничего записать, всё ошибка. потом стал пробовать загонять свою прошивку в еепром, сгенерив предварительно iic-файл. и ничего не получается, вроде как зашивается, но в контроллере по-прежнему старая прошивка.
люди пишут, что перепрошивается еепром по-хитрому, надо его сначала отключать (линию SDA). короче, решил попробовать загружать контроллер скриптом (прописав соответствующую строчку в inf файл). но и это не помогло (по прежнему в контроллере та же прошивка из еепрома). в итоге отпаял ножку SDA еепрома, и контроллер не распознается (VID/PID=0000)/ всё, тупик.. help!! что дальше делать куда копать??
controller_m30
Можно было бы вместе с платой перенести и весь комп, с которым эта плата нормально работает. По моему, это самое простое. Отсоединить системник от всех проводов и перетащить в другое здание sm.gif
Возможно на новом компе стоят другие драйвера USB, или другая версия отладочной программы. Может на другом компе отличается BIOS или его настройки связанные с USB (напр. отключена/включена поддержка: FullSpeed, HighSpeed, LowSpeed не так, как это сделано на "рабочем" компе).
Может разные версии сервис-паков у Windows, разные версии самой Windows (XP,Vista,7,8) - это тоже фактор.

В логическом анализаторе Saleae Logic такой-же контроллер и флешка на 128 байт. Вот пример как в нём прошивается EEPROM.
Для начала, между отключенной ножкой и дорожкой, к которой она припаивалась - надо припаять джампер, чтоб можно было "на лету" присоединять и отсоединять SDA.
Потом, запустить на компе CyConsole из пакета Cypress Suite USB (у меня версия 3.4.7). Может захотеть поставить свои драйвера - разрешаем.
Подключить USB устройство с разомкнутым джампером SDA. В окне консоли должно появиться устройство Cypress EZ-USB FX2-LP No EEPROM.
В меню консоли Options выбрать EZ-USB Interface.
Замкнуть джампер на SDA.
В открывшемся окне EZ-USB Interface нажать кнопку S EEPROM, и выбрать файл *.iic для заливки.
Потом ОК, и ждать пока программа зальёт файл и напишет в конце Download Successful: ххх bytes downloaded Вместо ххх размер залитого файла.

Закрываем все программы для заливки, передёргиваем устройство в USB - должно заработать.

jcxz
Цитата(shide_3 @ Jul 26 2014, 02:24) *
люди пишут, что перепрошивается еепром по-хитрому, надо его сначала отключать (линию SDA). короче, решил попробовать загружать контроллер скриптом (прописав соответствующую строчку в inf файл). но и это не помогло (по прежнему в контроллере та же прошивка из еепрома). в итоге отпаял ножку SDA еепрома, и контроллер не распознается (VID/PID=0000)/ всё, тупик.. help!! что дальше делать куда копать??

Надо не людей слушать, а даташит на чип читать.
Насколько помню: при старте CY7C68013A пытается читать EEPROM на I2C, если не удаётся ставит какие-то дефолтные VID/PID и стартует прошивку из ROM.
В этом состоянии в её ОЗУ через USB (через определённые команды control-enpoint) можно загрузить прошивку на исполнение.
Если на I2C имеется EEPROM, то в ней может лежать или VID/PID (в начале) или Ваша прошивка. Формат не помню. В даташите всё есть. Учитесь его читать.
shide_3
Цитата(jcxz @ Jul 31 2014, 11:20) *
Надо не людей слушать, а даташит на чип читать.
Насколько помню: при старте CY7C68013A пытается читать EEPROM на I2C, если не удаётся ставит какие-то дефолтные VID/PID и стартует прошивку из ROM.

так я вроде об этом и писАл

Цитата(shide_3 @ Jul 25 2014, 23:24) *
в итоге отпаял ножку SDA еепрома, и контроллер не распознается (VID/PID=0000)/

и никакие дефолтные вид/пид он у меня не ставит

Цитата(controller_m30 @ Jul 30 2014, 12:29) *
В логическом анализаторе Saleae Logic такой-же контроллер и флешка на 128 байт. Вот пример как в нём прошивается EEPROM.
Для начала, между отключенной ножкой и дорожкой, к которой она припаивалась - надо припаять джампер, чтоб можно было "на лету" присоединять и отсоединять SDA.

а вот на этой платке http://www.terraelectronica.ru/catalog_info.php?CODE=1266250 у меня получается перепрошивать еепром и без отключения SDA.
а вышеупомянутая плата вот даже не определяется с отключенным еепромом
jcxz
Цитата(shide_3 @ Aug 2 2014, 01:58) *
а вот на этой платке http://www.terraelectronica.ru/catalog_info.php?CODE=1266250 у меня получается перепрошивать еепром и без отключения SDA.
а вышеупомянутая плата вот даже не определяется с отключенным еепромом

Если там в EEPROM прописаны только VID/PID без прошивки, то конечно получится, ведь по control endpoint поддерживаются все команды из ROM (в том числе и команды загрузки прошивки).
И даже если в EEPROM есть прошивка, то в ней тоже могут реализованы те же команды загрузки ПО. Когда я писал свою прошивку для CY7C68013A я так и делал, чтобы был однотипный
интерфейс обновления firmware и для ещё чистой EEPROM и для обновления поверх старой версии (без поднятия каких-бы то ни было ног EEPROM).
shide_3
Цитата(jcxz @ Aug 2 2014, 06:47) *
Если там в EEPROM прописаны только VID/PID без прошивки, то конечно получится, ведь по control endpoint поддерживаются все команды из ROM (в том числе и команды загрузки прошивки).
И даже если в EEPROM есть прошивка, то в ней тоже могут реализованы те же команды загрузки ПО. Когда я писал свою прошивку для CY7C68013A я так и делал, чтобы был однотипный
интерфейс обновления firmware и для ещё чистой EEPROM и для обновления поверх старой версии (без поднятия каких-бы то ни было ног EEPROM).

это всё хорошо. но проблема немного в другом: контроллер опознается с нулевыми VID/PID в двух случаях: 1)без еепрома; 2) с еепромом, после перепрошивки ОЗУ контроллера Hex файлом...
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2024 Invision Power Services, Inc.