Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: CY7c68001
Форум разработчиков электроники ELECTRONIX.ru > Интерфейсы > Форумы по интерфейсам > RS232/LPT/USB/PCMCIA/FireWire
леха_настойчивый
Здравствуйте
Помогите советом вот в таком вопросе.
Контроллер CY68001
Я через макетную плату на CY68013 залил в ПЗУ пример прошивки
SX2 C:\Cypress\USB\Examples\Sx2\eeprom images\SX2 C4
перепаял ПЗУ к CY68001.(программатора у меня нет)

Все работает, четыре точки EP2, EP4-512 OUT, EP6,EP8-512-IN управляется вешней логикой-- читается пишется все нормально.
Но теперь возникла проблема ---мое устройство должно в процессе передачи данных на в ОС периодически менять свои параметры, реагируя на команды с хоста в процессе передачи данных, а флаги если выставить адрес FIFO IN, не указывают пришло что-то с хоста или нет. Мне бы нужно изменить работу флагов так, чтобы один из них при любом адресеFIFO, показывал есть ли что-то в одном из приемных FIFO.

Возможно ли это, и если можно вкратце мои действия.
-Al-
Посмотрите пункт 7.2 FLAGSAB/FLAGSCD Registers 0x02/0x03 таблицу 7-2. FIFO Flag 4-bit Coding в datasheet на SX2, должно помочь smile.gif
леха_настойчивый
А как теперь внести изменеия в регистр???
-Al-
Цитата(леха_настойчивый @ Sep 18 2007, 10:59) *
А как теперь внести изменеия в регистр???

Исключительно через командный интерфейс, т.е. для изменения настроек нужна или ПЛИС или контроллер внешний, иначе - никак. Кстати, если используете автовывод по заполнению, то еще надо и размер пакета через командный интерфейс менять, в зависимости от скорости, Full Speed (64) или High Speed (512). А вообще по распиновке SX2 с легкостью меняется на FX2LP (по крайней мере в корпусе SSOP56) и проблемы с конфигурированием берет на себя встроенный в FX2LP микроконтроллер, кстати и жрет последняя в 3 раза меньше, да и температурный диапазон поширше smile.gif
леха_настойчивый
Цитата(-Al- @ Sep 18 2007, 10:15) *
Исключительно через командный интерфейс, т.е. для изменения настроек нужна или ПЛИС или контроллер внешний, иначе - никак. Кстати, если используете автовывод по заполнению, то еще надо и размер пакета через командный интерфейс менять, в зависимости от скорости, Full Speed (64) или High Speed (512). А вообще по распиновке SX2 с легкостью меняется на FX2LP (по крайней мере в корпусе SSOP56) и проблемы с конфигурированием берет на себя встроенный в FX2LP микроконтроллер, кстати и жрет последняя в 3 раза меньше, да и температурный диапазон поширше smile.gif


У меня она есть, и собрана макетная плата, но я никак не разберусь с внутренней микропрограммой,
то она читает, а не пишет или наооборот. А в той директории C:\Cypress\USB\Examples\Sx2\eeprom images\ еше есть три прошивки, может их попробовать.
Мне нужно всего передавать данные в порт---8мбайт.с, переодически принимая 8 байт для настроек.
железяка перестраиваеться по приходу етих 8 байт
-Al-
Цитата(леха_настойчивый @ Sep 18 2007, 11:24) *
У меня она есть, и собрана макетная плата, но я никак не разберусь с внутренней микропрограммой,
то она читает, а не пишет или наооборот. А в той директории C:\Cypress\USB\Examples\Sx2\eeprom images\ еше есть три прошивки, может их попробовать.
Мне нужно всего передавать данные в порт---8мбайт.с, переодически принимая 8 байт для настроек.
железяка перестраиваеться по приходу етих 8 байт

Регистры из прошивки у SX2 изменить невозможно, там только дескриптор и регистры IFCONFIG, POLAR меняются, причем изменения дескриптора недостаточно, нужно потом и регистры внутренние менять, чтоб заработало так, как в дескрипторе. Так что используйте командный интерфейс или следите за нужным флагом, изменяя адрес FIFO.

Моя железяка, например, как раз при включении через командный интерфейс настраивает все регистры на нужный режим (изменение типов эндпоинтов, привязывание флагов к FIFO, и т.д.), и уж потом только можно спокойно работать.
леха_настойчивый
Цитата(-Al- @ Sep 18 2007, 12:51) *
Регистры из прошивки у SX2 изменить невозможно, там только дескриптор и регистры IFCONFIG, POLAR меняются, причем изменения дескриптора недостаточно, нужно потом и регистры внутренние менять, чтоб заработало так, как в дескрипторе. Так что используйте командный интерфейс или следите за нужным флагом, изменяя адрес FIFO.

Моя железяка, например, как раз при включении через командный интерфейс настраивает все регистры на нужный режим (изменение типов эндпоинтов, привязывание флагов к FIFO, и т.д.), и уж потом только можно спокойно работать.

Спасибо Al, что направили по правильному пути, я наконец-то написал микропрограмму для CY7c68013a
в режиме SLAVE FIFO уже работает и флаги прописал как мне нужно!
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.