Перейти к содержанию
    

CY7c68001

Здравствуйте

Помогите советом вот в таком вопросе.

Контроллер 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.

 

Возможно ли это, и если можно вкратце мои действия.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Посмотрите пункт 7.2 FLAGSAB/FLAGSCD Registers 0x02/0x03 таблицу 7-2. FIFO Flag 4-bit Coding в datasheet на SX2, должно помочь :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А как теперь внести изменеия в регистр???

Исключительно через командный интерфейс, т.е. для изменения настроек нужна или ПЛИС или контроллер внешний, иначе - никак. Кстати, если используете автовывод по заполнению, то еще надо и размер пакета через командный интерфейс менять, в зависимости от скорости, Full Speed (64) или High Speed (512). А вообще по распиновке SX2 с легкостью меняется на FX2LP (по крайней мере в корпусе SSOP56) и проблемы с конфигурированием берет на себя встроенный в FX2LP микроконтроллер, кстати и жрет последняя в 3 раза меньше, да и температурный диапазон поширше :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Исключительно через командный интерфейс, т.е. для изменения настроек нужна или ПЛИС или контроллер внешний, иначе - никак. Кстати, если используете автовывод по заполнению, то еще надо и размер пакета через командный интерфейс менять, в зависимости от скорости, Full Speed (64) или High Speed (512). А вообще по распиновке SX2 с легкостью меняется на FX2LP (по крайней мере в корпусе SSOP56) и проблемы с конфигурированием берет на себя встроенный в FX2LP микроконтроллер, кстати и жрет последняя в 3 раза меньше, да и температурный диапазон поширше :)

 

У меня она есть, и собрана макетная плата, но я никак не разберусь с внутренней микропрограммой,

то она читает, а не пишет или наооборот. А в той директории C:\Cypress\USB\Examples\Sx2\eeprom images\ еше есть три прошивки, может их попробовать.

Мне нужно всего передавать данные в порт---8мбайт.с, переодически принимая 8 байт для настроек.

железяка перестраиваеться по приходу етих 8 байт

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

У меня она есть, и собрана макетная плата, но я никак не разберусь с внутренней микропрограммой,

то она читает, а не пишет или наооборот. А в той директории C:\Cypress\USB\Examples\Sx2\eeprom images\ еше есть три прошивки, может их попробовать.

Мне нужно всего передавать данные в порт---8мбайт.с, переодически принимая 8 байт для настроек.

железяка перестраиваеться по приходу етих 8 байт

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

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

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

Спасибо Al, что направили по правильному пути, я наконец-то написал микропрограмму для CY7c68013a

в режиме SLAVE FIFO уже работает и флаги прописал как мне нужно!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...