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

CY7C68013A ISO передача данных

Доброго времени суток всем! Начал осваивать данный микроконтроллер.

Начал с того что взял пример от Cypress bulksrc, записал в EEPROM, запустил и с консоли проверил-работает, данные передаются. Но для моих целей нужен изохронный режим. Поменял в примере дескриптор эндпоинта 6 с BULK на ISO, тип IN ,поменял конфигурацию в регистре EP6CFG. размер - 512 байт, буферизация х2. Зашиваю - не работает. В консоли при нажатии ISO trans пишет fail. В чем может быть проблема? Третий день бьюсь-никак. Да, забыл написать-отлака проводится на самодельной отладочной плате, где установлен сам чип, кварц, EEPROM, порты все выведены на разъемы и висят в воздухе.

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


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

Новое обстоятельство: в режиме FULL SPEED работает, а вот на HIGH SPEED не хочет :angry2: . Причем BULK работает и на HIGH и на FULL. В регистре EP6ISOINPKTS записан 0.

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


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

Не работает потому наверное, что дескрипторы не прописал для HIGH SPEED - в примере bulext можно поглядеть.

А на изохронную точку просто поменяв ее тип с BULK на ISO не заработет так просто, я тоже сначала так хотел, но пришел к выводу, что не нужна изохронная точка, булочной хватает и нет проблем с потерей данных.

скоко скорости надо?

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


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

Сам отвечаю на свой вопрос. Дело было в настройках Console. Пытался считывать один пакет размером 512 байт. После того как поставил количество передаваемых пакетов 8 все заработало. Выяснил случайно. Открыл пример стример, зашил, запустил приложение стример-все работает, показывает 24 мб/сек. Полез в настройки, поставил 1 пакет-пишет ошибка, число передаваемых пакетов должно быть не меньше 8. Опять зашил свой пример, поставил число принимаемых пакетов 8 и все ок!

to Torik: дескрипторы я прописал :) (как уже наверное стало ясно). Скорость требуется порядка 3 мб/сек на один девайс, а девайсов к шине подключаться должно несколько. Для меня важна не только скорость, но и время достави пакетов, поэтому выбюрал изохронку.

КСТАТИ, вопрос: МОЖНО ЛИ С ДРАЙВЕРОМ CYUSB.SYS РАБОТАТЬ С НЕСКОЛЬКИМИ ПРИБОРАМИ ОДНОВРЕМЕННО? В описании нашел, что open() можно применить только для одного устройства на шине, при этом если есть открытые устройства, то они автоматически закрываются. Правдв ли это? Т. е. получается что больше одного девайса на шину не повесишь?

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


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

Буду знать насчет восьми пакетов... спасибо за информацию

 

Насчет драйвера и нескольких устройств не знаю, врать не буду.

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


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

2Igoryok

Работать с несколькими девайсами можно. Для этого нужно для каждого девайса создать свой класс. В параметрах конструктора указывается GUID девайса, соответсвенно, в inf файле каждой железки перед инсталяцией прописывается индивидульный GUID. Короче читай мануал на CyUSB там это есть.

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


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

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

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

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

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

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

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

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

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

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