Jump to content

    

cy7c68013a отказывается работать

добрый вечер. незнаю,может быть название темы не совсем в точку, но уже месяц с лишним бьемся об стену и результата ноль. В общем, суть такова.

Есть плата производства AnalogDev, во вложении ее pdf, у нее в еепроме рабочая прошивка для cy7c. Мы купили эту плату для своих нужд, и поэтому при работе (в режиме slave fifo) прошивали каждый раз после включения питания контроллер напрямую (не трогая еепром). все было хорошо. но вот потребовалось перенести плату в другое здание в измерительную комнату на другой комп. и тут все начало обламываться. после прошивки нашей прошивкой контроллер переставал опознаваться как USB -устройство (VID и PID По нулям.). После долгих танцев с бубном перетащил плату обратно на свой комп, и к удивлению после прошивки она обнаружилась, ладно, отнес обратно, и опять нифига. решили пойти другим путем, залили еепром другой прошивкой, но не нашей, а стандартной из аппноута 61345 (slave fifo). думали просто попробовать что будет. контроллер распознался, но почему-то в control center в списке конфигураций присутствуют все конечные точки, хотя запрограммированы только две, и ни в один эндпоинт я не могу ничего записать, всё ошибка. потом стал пробовать загонять свою прошивку в еепром, сгенерив предварительно iic-файл. и ничего не получается, вроде как зашивается, но в контроллере по-прежнему старая прошивка.

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

HSC_ADC_EVALC.pdf

Share this post


Link to post
Share on other sites

Можно было бы вместе с платой перенести и весь комп, с которым эта плата нормально работает. По моему, это самое простое. Отсоединить системник от всех проводов и перетащить в другое здание :)

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

 

 

Share this post


Link to post
Share on other sites
люди пишут, что перепрошивается еепром по-хитрому, надо его сначала отключать (линию SDA). короче, решил попробовать загружать контроллер скриптом (прописав соответствующую строчку в inf файл). но и это не помогло (по прежнему в контроллере та же прошивка из еепрома). в итоге отпаял ножку SDA еепрома, и контроллер не распознается (VID/PID=0000)/ всё, тупик.. help!! что дальше делать куда копать??

Надо не людей слушать, а даташит на чип читать.

Насколько помню: при старте CY7C68013A пытается читать EEPROM на I2C, если не удаётся ставит какие-то дефолтные VID/PID и стартует прошивку из ROM.

В этом состоянии в её ОЗУ через USB (через определённые команды control-enpoint) можно загрузить прошивку на исполнение.

Если на I2C имеется EEPROM, то в ней может лежать или VID/PID (в начале) или Ваша прошивка. Формат не помню. В даташите всё есть. Учитесь его читать.

Share this post


Link to post
Share on other sites
Надо не людей слушать, а даташит на чип читать.

Насколько помню: при старте CY7C68013A пытается читать EEPROM на I2C, если не удаётся ставит какие-то дефолтные VID/PID и стартует прошивку из ROM.

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

 

в итоге отпаял ножку SDA еепрома, и контроллер не распознается (VID/PID=0000)/

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

 

В логическом анализаторе Saleae Logic такой-же контроллер и флешка на 128 байт. Вот пример как в нём прошивается EEPROM.

Для начала, между отключенной ножкой и дорожкой, к которой она припаивалась - надо припаять джампер, чтоб можно было "на лету" присоединять и отсоединять SDA.

а вот на этой платке http://www.terraelectronica.ru/catalog_info.php?CODE=1266250 у меня получается перепрошивать еепром и без отключения SDA.

а вышеупомянутая плата вот даже не определяется с отключенным еепромом

Edited by shide_3

Share this post


Link to post
Share on other sites
а вот на этой платке http://www.terraelectronica.ru/catalog_info.php?CODE=1266250 у меня получается перепрошивать еепром и без отключения SDA.

а вышеупомянутая плата вот даже не определяется с отключенным еепромом

Если там в EEPROM прописаны только VID/PID без прошивки, то конечно получится, ведь по control endpoint поддерживаются все команды из ROM (в том числе и команды загрузки прошивки).

И даже если в EEPROM есть прошивка, то в ней тоже могут реализованы те же команды загрузки ПО. Когда я писал свою прошивку для CY7C68013A я так и делал, чтобы был однотипный

интерфейс обновления firmware и для ещё чистой EEPROM и для обновления поверх старой версии (без поднятия каких-бы то ни было ног EEPROM).

Share this post


Link to post
Share on other sites
Если там в EEPROM прописаны только VID/PID без прошивки, то конечно получится, ведь по control endpoint поддерживаются все команды из ROM (в том числе и команды загрузки прошивки).

И даже если в EEPROM есть прошивка, то в ней тоже могут реализованы те же команды загрузки ПО. Когда я писал свою прошивку для CY7C68013A я так и делал, чтобы был однотипный

интерфейс обновления firmware и для ещё чистой EEPROM и для обновления поверх старой версии (без поднятия каких-бы то ни было ног EEPROM).

это всё хорошо. но проблема немного в другом: контроллер опознается с нулевыми VID/PID в двух случаях: 1)без еепрома; 2) с еепромом, после перепрошивки ОЗУ контроллера Hex файлом...

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this