Ну USB - Universal Serial Bus. Чем слово Serial неустраивает.
Просто COM - онже RS232 , онже USART ... Везде serial - тобиш последовательно..Да и аппаратный контроль четности тоже есть вроде...
Ну USB - Universal Serial Bus. Чем слово Serial неустраивает.
Просто COM - онже RS232 , онже USART ... Везде serial - тобиш последовательно..Да и аппаратный контроль четности тоже есть вроде...
Люди старались в первую очередь замену COM порту придумать. Что-то мы отклонились от темы (а она была вообще?!)
Кто , тема или замена COM ???
Т.к. проекты MJoy, судя по всему замерзают или переходят в коммерческое русло, ответ ДА.Сообщение от lbodnar
Особенно меня заинтересовали энкодеры: насколько у них стандартизовн интерфейс?
Идея в следующем: покупать новые оригинальные енкодеры малоцелесообразно. А вот использовать из старых принтеров/плотеров это без проблем, сейчас б/у'шной техники навалом. Вопрос только в том сколько надо потратить на использование этой холявы?
За готовое изделие цена неплохая.Сообщение от lbodnar
Доставка, оплата? Я сам по себе немного ленивый, хотя и бывший радиолюбитель, но подумывал купить MJoy16, по старым ценам, но сейчас это выливается уже в покупку изделия, а не радиокнструктора.
P.S. Решил ответить в твоей ветке т.с. в тему![]()
Есть только МиГ между прошлым и будущим.
На железном-то USB с этим больших проблем нет, у меня на АРМах тоже все проходит, хотя со стрессом тоже пришлось покопаться.
Если кто-то в Грузии думал что русские простят 20.09.07 - он был категорически неправ !!!
Вопрос , на который я несмог найти ответ..
Может ли USB передавать пакет заданной длины не разбивая его на байты по 8 бит ? Например мой протокол содердит 64 бита в пакете. Могу ли я передавать целиком пакеты ? Это первое.
Как происходит контроль ошибок . Может ли контроллер USB восстанавливать потерянные биты в пакете ( если их немного конечно ) и есть ли там понятие аппаратное CRC ? Или чтонить в этом духе..
Аппаратное CRC16 и прозрачный для программиста перезапрос битых пакетов. Передача информации только кратно байтам, интерпретировать полученые байты можешь как угодно. В HID протоколе предусмотрена битовые значения, но общий их размер все равно должен быть выравнен на границу байта.
Исправление одиночных и двойных ошибок хеммингом не предусмотрено, битые пакеты просто аппаратно перезапрашиваются. (Для софтовой реализации на Меге при приеме от хоста CRC входящего пакета не проверяется и соответсвенно битые пакеты не перезапрашиваются, при передаче - все работает нормально)
Если кто-то в Грузии думал что русские простят 20.09.07 - он был категорически неправ !!!
Я могу отслеживать дохлые пакеты ? Тоесть у меня будет возможность знать , что пакет пришел дохлый и контроллер его или выбросил , или перезапросил ?
могу ли я передавать в лоб байты скажем FF FF FF FF FF FF подряд без какой либо предварительной кодировки. USB сам разберется где начало пакета , а где его конец ? Я к чему спрашиваю - если все будет пучком - стану изучать... а так пока нет смысла в моих задачах..
Отслеживать дохлые пакеты со стороны програмиста невозможно.
Программист о пакетах вообще ничего не знает.
Прием и получение данных со стороны програмиста выглядит как чтение и запись файла.Чуть сложнее чем обычно выгялдит процедура нахождения хендла для файла.
ЗЫ: Извините, я настойчиво рекомендую пройти по ссылке что я дал и скачать указанную книгу.
Если кто-то в Грузии думал что русские простят 20.09.07 - он был категорически неправ !!!
Максимум что можно - следить за флажками прерываний по ошибкам уровня протокола -Сообщение от LazyCamel
bit stuffing
bus turnaround
data field size (выравнено ли по границе байта)
CRC5
CRC16
PID
Мне давно было интересно посмотреть какой реальный уровень ошибок (BER?) в канале USB. Но это - чисто академический интерес.
Не , неподходит для наших задач.. тоесть теже яйца только с боку , только еще и книгу читать.. Но ссылку все равно прочту... пасибо..
Да нет , несовсем академический.... Нужно реально знать процент ошибок.
При точном кварце на процессоре расчитанном на сокрсть скажем 115к , процент ошибок равен примерно 0.01%.. Что тварится в USB - хз. реально бы посмотреть...
Я думаю из за огромной скорости часто идут ретрэйны пакетов. Но нам как-бы незаметно.. Но в ответственных местах 1 битый пакет может быть фатальным скажем для устройства снятия информации на большой скорости.... Например RFID.. Метка проехала , 1 раз отдала пакет и уехала..увы , ретрейн у нее не попросиш..
Бесполезно это, как уровень ошибок в CD-ROMе или GSM. Пакеты приходят в итоге - и ладно. А сколько раз пришлось их передать и каков точный уровень ошибок - не имеет значения.Сообщение от Ezdok
Петька, прибор!
Сорок семь!
А что - сорок семь?!
А что - прибор, Василий Иваныч?
В УСБ процент ошибок или ~0% (ограниченый CRC16) или 100% (если по тайм-ауту свалились)Сообщение от Ezdok
Ерунду ты сейчаз говоришь, если у тебя девайс считал метку и послал ее в компьютер по УСБ, то до тех пор пока передача успешно не завершится - он так и будет ее АВТОМАТИЧЕСКИ повторять, в отличии от RS-232, в котором девайс на аппаратном уровне не знает успешно или нет он передал инфу в комп.Я думаю из за огромной скорости часто идут ретрэйны пакетов. Но нам как-бы незаметно.. Но в ответственных местах 1 битый пакет может быть фатальным скажем для устройства снятия информации на большой скорости.... Например RFID.. Метка проехала , 1 раз отдала пакет и уехала..увы , ретрейн у нее не попросиш..
А учитывая что в USB ы отличии от RS232 сигнал идет по дифф-паре и в экранированном кабеле, то помехоустойчивость в пределах описаной в стандарте дальности более чем.
Если кто-то в Грузии думал что русские простят 20.09.07 - он был категорически неправ !!!
2 lbodnar
простите, за всеми перепетиями споров тонких по поводу интерфейсов/стандартовя так и не разобрался, что же реально вкусного получит обныкновеный симмер
хотелось бы уточнить:
1) возможно ли на Вашей разработке получить систему, которая поддерживала бы 6-7 хаток + 6-8 кнопок + 8-10 осей, из которых, по крайней мере 3 оси были бы наибольшей разрядности.
2) по поводу динамической загрузки. а как физически осуществляется загрузка ручки? это позволяют сами энкодеры? т.е. - имеется ли возможность избавиться от применения пружин и прочих видов мехнической загрузки. в каком вообще состояниии находится проект? я так понял, "по просьбам трудящихся" Вы сейчас основные усилия направили на создание "обычного контроллера" без динамической загрузки?
поскольку тут контроллер совсем не обсуждается, а обсуждаются генеральные вопросы по USB, то есть вопрос: в винде поддерживаются HID- устройства, не-мышь, не-джойстик и т.п..? реализован hid как надо? я могу взять mjoy, поменять прошвку в нём и hid-descriptor, и смогу сделать что-то вроде контроллера параллельного вывода(восемь линий логического вывода), и оно автоматически определится в винде, установится стандартный виндовый драйвер, и я смогу работать с устройством с помощью api-функций, реализовав что-то типа процедуры __послать64_байта(*data)? если что, киньте в меня инфой, что да как, а то я сам дуб-дубом![]()
Блин. Качаем ссылку по книге на прошлой странице. Там столько инфы, что 99% вопросов снимется.
ЗЫ:
Когда винда видит хид-устройство, то устанавливает дрова для hid-compiliant device, после этого получать и посылать данные можно с помощью команд типа read_file|write_file.
Если в дескрипторе стоит что это джойстик или там клавиатура , тогда еще доустанавливаются дрова уже для конкретного типа девайса.
Если кто-то в Грузии думал что русские простят 20.09.07 - он был категорически неправ !!!
Ерунду ты сейчаз говоришь, если у тебя девайс считал метку и послал ее в компьютер по УСБ, то до тех пор пока передача успешно не завершится - он так и будет ее АВТОМАТИЧЕСКИ повторять, в отличии от RS-232, в котором девайс на аппаратном уровне не знает успешно или нет он передал инфу в комп.
---
КАК ТАК БУДЕТ ПОВТОРЯТЬ ??????????
ТОесть повиснет ? Надо будет нажимать RESET на устройстве ?
Если устройство повиснет, то надо нажимать RESET, а как же еще?Сообщение от Ezdok
LazyCamel: Я вывел флаг прерывания по [любой] ошибке шины на внешний пин - мониторил его пол-часа осциллографом, но он так и не дернулся. Надоело. Обычный 2м USB кабель, обычный PC, макетка. Пустое это занятие!
Что-то тут долго обсуждают тему, а толку никакого...
Может лучше всем миром взяться за контролер? Ну там выбрать чип, поспрашивать на форумах где тусуются программеры этих микрочипов... А дока вроде вся есть на www.microchip.ru или на их буржуйском оффсайте... Думаю что реализовать это можно гораздо быстрее того времени, которое тут потратили на обсуждение.![]()
Почему толку никакого? Очень даже интересная беседа получается. И что именно реализовывать? Контроллер готов уже. Точнее, нескольких независимых контроллеров от разных людей.Сообщение от vav
![]()
Заказы уже можно делать? мне бы для ЕВО КИБОРГ
4-ре оси 256-512, 12 кнопок.
Спаять могу сам, мне только схему и детальки.
2 LazyCamel
Скажем так: я зашел в эту ветку чтобы что-то узнать, а ничего не узнал...
Насчет спаять: я сотовые ремонтирую уже 5-й год и имею опыт пайки не только 64 ног 0.5, а 200 и более в упаковке BGA и т.д.. Ну и для кучи у меня есть именные сертификаты от моторолы и сименса...
Так что для меня оптимальный вариант - схему, прошивку, т.к. дома есть китайский фен для BGA, штук 8 разных программаторов и т.д. Платы утюгом делаю за полчаса...
Просто лучше сразу: будет фри или нет. Нет - ждем предложений. И вот ответа на этот вопрос нет на 3-х страницах.
Чем миндоговская мега16-то не устраивает тогда ?Сообщение от vav
Фри будет примерно на таком же уровне. Схема + прошивка. AT91SAM7S64 найдешь ? или PIC c УСБ
Если кто-то в Грузии думал что русские простят 20.09.07 - он был категорически неправ !!!