Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: CY7C68013A ISO передача данных
Форум разработчиков электроники ELECTRONIX.ru > Интерфейсы > Форумы по интерфейсам > RS232/LPT/USB/PCMCIA/FireWire
Igoryok
Доброго времени суток всем! Начал осваивать данный микроконтроллер.
Начал с того что взял пример от Cypress bulksrc, записал в EEPROM, запустил и с консоли проверил-работает, данные передаются. Но для моих целей нужен изохронный режим. Поменял в примере дескриптор эндпоинта 6 с BULK на ISO, тип IN ,поменял конфигурацию в регистре EP6CFG. размер - 512 байт, буферизация х2. Зашиваю - не работает. В консоли при нажатии ISO trans пишет fail. В чем может быть проблема? Третий день бьюсь-никак. Да, забыл написать-отлака проводится на самодельной отладочной плате, где установлен сам чип, кварц, EEPROM, порты все выведены на разъемы и висят в воздухе.
Igoryok
Новое обстоятельство: в режиме FULL SPEED работает, а вот на HIGH SPEED не хочет angry.gif . Причем BULK работает и на HIGH и на FULL. В регистре EP6ISOINPKTS записан 0.
torik
Не работает потому наверное, что дескрипторы не прописал для HIGH SPEED - в примере bulext можно поглядеть.
А на изохронную точку просто поменяв ее тип с BULK на ISO не заработет так просто, я тоже сначала так хотел, но пришел к выводу, что не нужна изохронная точка, булочной хватает и нет проблем с потерей данных.
скоко скорости надо?
Igoryok
Сам отвечаю на свой вопрос. Дело было в настройках Console. Пытался считывать один пакет размером 512 байт. После того как поставил количество передаваемых пакетов 8 все заработало. Выяснил случайно. Открыл пример стример, зашил, запустил приложение стример-все работает, показывает 24 мб/сек. Полез в настройки, поставил 1 пакет-пишет ошибка, число передаваемых пакетов должно быть не меньше 8. Опять зашил свой пример, поставил число принимаемых пакетов 8 и все ок!
to Torik: дескрипторы я прописал smile.gif (как уже наверное стало ясно). Скорость требуется порядка 3 мб/сек на один девайс, а девайсов к шине подключаться должно несколько. Для меня важна не только скорость, но и время достави пакетов, поэтому выбюрал изохронку.
КСТАТИ, вопрос: МОЖНО ЛИ С ДРАЙВЕРОМ CYUSB.SYS РАБОТАТЬ С НЕСКОЛЬКИМИ ПРИБОРАМИ ОДНОВРЕМЕННО? В описании нашел, что open() можно применить только для одного устройства на шине, при этом если есть открытые устройства, то они автоматически закрываются. Правдв ли это? Т. е. получается что больше одного девайса на шину не повесишь?
torik
Буду знать насчет восьми пакетов... спасибо за информацию

Насчет драйвера и нескольких устройств не знаю, врать не буду.
Warlord
2Igoryok
Работать с несколькими девайсами можно. Для этого нужно для каждого девайса создать свой класс. В параметрах конструктора указывается GUID девайса, соответсвенно, в inf файле каждой железки перед инсталяцией прописывается индивидульный GUID. Короче читай мануал на CyUSB там это есть.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.