???
Математика на уровне МГУ

Страница 1 из 10 12345 ... КрайняяКрайняя
Показано с 1 по 25 из 226

Тема: USB контроллер на Микрочипе

  1. #1

    USB контроллер на Микрочипе

    По просьбе многих, открываю новый тред отпочковавшийся от
    http://www.sukhoi.ru/forum/showthrea...&page=32&pp=25
    ----------------------------------------------------------------
    Я тут практически закончил разработку USB контроллера для самодельщиков. Штука эта будет такая:

    Модель 1:
    http://www.lbodnar.dsl.pipex.com/joystick/
    8 аналоговых входов по 10бит разрешения каждый
    12 кнопок либо независимых, либо матрицей 6x6
    (вариант 10 аналоговых 10битных входов + 10 кнопок или 5x5 матрица, но Win не видит больше 8 осей на одном джойстике, поэтому он будет виден под Виндами как два джойстика)


    Модель 2:
    6 квадратурных декодеров, два из которых с оцифровкой до скорости 150кГц (для кодеров типа 2000линий на оборот) с разрешением 20бит
    8 цифровых кнопок

    Модель 3:
    100 кнопок в конфигурации матрицей 10x10.

    Общие для всех трех:
    Чип с 28 ножками в обычном DIP корпусе (Microchip PIC18F2550)
    Все что нужно для подключения: 4MHz кварц, два конденсатора и USB разъем (или сразу кабель)
    Питание от USB порта
    Full-speed USB (12Mbit), частота обновления всех каналов - 1000 раз в секунду (период 1мсек)
    Драйверы не нужны (стандартное устройство в Win/Mac/Linux)

    Я не хочу делать плату контроллера потому что цены подкрадываются со спины: плата, кварц, сборка, упаковка, тестирование, etc.

    Цена чипа: $15.

    Где-то в середине года у меня будет просто ОДНА модель - чип, которых можно переключать в любую конфигурацию из интерфейсной программки под Win/Mac/Linux.

    Честно говоря, я cтолько времени потерял с мышиными декодерами... это просто убийство времени, а результат - 30 импульсов на оборот. Самое мерзкое, что они теряют импульсы из-за фиговых сенсоров. Для мыши это не имеет значения, а в кодере после прогона 1000 импулсов в одну сторону обратно возвращаются только, например, 996, поэтому центровка джойстика постоянно дрейфует в процессе.

    И тут я открыл глаза! Есть готовые декодеры типа http://www.encoder.com/model755a-shaft.html с разрешением 2000 импульсов на оборот (до 10000 если очень нужно) это уже что-то т.к. 2000 импульсов дают разрешение в 8000 позиций на оборот (считаем-то фронты). Аналоговые потенциометры отдыхают! Купить их можно на eBay за $20-30. Проблема в том, что если человек крутанет этот декодер (или все-таки энкодер?) с приличной скоростью, импулсы посыпятся с такой частотой, что даже хороший контроллер, если он еще хоть чем-то занят просто их не успевает обработать и все работа - насмарку, центровка опять съезжает. В ATMega16 нет USB контроллера, поэтому MJoy использует аппаратную работу с USB - разбирает его по битам и собирает обратно. Это занимает безумное количество времени и делает применение крутых кодеров невозможным. Собственно поэтому я и ввязался в то, что у меня получилось в итоге.

    Идея такая - продавать самодельную плату типа MJoy16 людям, которые потом все равно все выходные с паяльниками сидят глупо. Поэтому я убиваю время над мудрым софтом внутри (USB - это не RS232!), а все остальное любой самодельщик может сделать буквально за 15минут и потратить на это $2-3. Вот такая вот идея.

    Уффф, пальцы отваливаются!

    P.S. Кстати, если все-же хочется сделать квадратурных кодер самому, то лучше раскурочить старый струйных принтер. Там часто используется осевой кодер на ~500 линий/оборот и линейный - такая прозрачная полоска с тоненькими линиями (720dpi?). Сенсоры (обычно Agilent) как бы обхватывают их и выдают уже хороший квадратурных сигнал TTL уровня. У них 4 ножки и им только нужно +5v для питания и все.
    Крайний раз редактировалось lbodnar; 01.03.2006 в 20:23.

  2. #2
    Я отправил пару образцов для тестов и, как не странно, все в один голос хотят аналоговые входы в первую очередь. Так что кодеры пока отошли на второй план.

    Окончательный вариант версии с аналоговыми входами получился такой:

    8 x 10-битных входов от резисторов 10к-100к
    32 кнопки
    HAT селектор вида (отдельные четыре кнопки)
    частота отсчетов - 300Гц

    Проверен под Виндами и Мас ОС Х. Краткие чертежики здесь -
    схема подключения выводов
    матрица кнопок
    USB разъем
    просто переменник
    Винды
    Мак

    Я, также, сделал модель с 10 аналоговыми входами и 25 кнопками, но из-за традиционного ограничения в DirectX на только 8 осей, пришлось один контроллер отображать как два виртуальных джоя - один с 6 осями, другой - с 4мя. Работает прекрасно, но как-то не нравиться мне. 8 осей и 32 кнопки, по моему - самое то.

    В конце концов их можно несколько прицепить, т.к. у них у всех разные серийные номера.

    Кстати, я заметил, что многие жалуются на большое время реакции высоко прецизионных джоев типа когуара. Я не знаю как они добиваются своей точности, но в реальности честный 15битный ацп требует супераккуратной аппартуры, чистейшего питания и стоит очень приличных денег. Даже 12битный ацп в джойстике уже вряд-ли нужен. Так что я подозреваю тут просто интерполяция где-то замешана.

    Я тоже могу сделать точность в 15бит подмешав в оцифровываемый сигнал белый шум и просто сложив результат 32 измерений. Задержка времени реакции гарантирована! Кстати, я оцифровываю четыре раза и потом усредняю сохраняя 10бит точности, хотя можно было бы и до 12 раздуть. Сейчас за 2 миллисекунды вполне хватает времени четыре раза оцифровать 8 каналов, усреднить результаты, отсканировать кнопки и отправить результат в компьютер через USB. C честными 10 битами и 3 миллисекундами "задержки" можно жить.
    Крайний раз редактировалось lbodnar; 15.01.2006 в 22:46.

  3. #3

    Кодеры

    Кстати, тут кто-то ссылку на дорогущий кодер приводил. Они бывают двух типов - разностные (квадратурные) и абсолютные.

    Абсолютный кодер в любой момент может точно сказать свое текущее состояние, например +23469234. Разностный - только +1 и -1 да и то в квадратурном коде. Абсолютные кодеры напичканы умной электроникой, часто имеют внутри батарейку и часто подключаются через одну из промышленных шин (Fieldbus, CAN, и тп) хотя есть и монстры с 20 битным параллельным выходом. Они не только дороже, но и с ними труднее работать из контроллера, хотя и нет проблемы с потерей ипмульсов - контроллер всегда узнает точное положение кодера даже если он был занят чем-то другим (например, работал с USB)

    Да, так вот ссылка была на абсолютный кодер, поэтому он такой и дорогой!

  4. #4
    бешеный суслик Аватар для -=REA=-
    Регистрация
    21.10.2005
    Адрес
    Россия г.Киров
    Возраст
    46
    Сообщений
    368

    Question Ответ: USB контроллер на Микрочипе

    Microchip PIC18F2550 - его прошивать надо?
    Крайний раз редактировалось -=REA=-; 15.01.2006 в 20:25.

  5. #5

    Ответ: USB контроллер на Микрочипе

    Больше конроллеров шустрых и разных!

    Я не очень понял принцип распространения проекта: полностью открытый? Аля MJoy8? Али прошивку/мс покупать надо?

    А на счёт энкодеров не врубился: их можно приспособить? А из принтеров?
    IMHO, на тримерах самое то, особенно относительные. Какое ещё применение?
    Есть только МиГ между прошлым и будущим.

  6. #6

    Ответ: USB контроллер на Микрочипе

    Проект (пока, во всяком случае) не открытый т.к. его будущее не совсем ясно.

    Что касается кодеров (как же они все-же по-русски правильно зовуться?!) из принтеров то нет никаких проблем - вот они, эти два из HP 2000 вытащены. Линейный очень удобен тем, кто гражданский штурвал делает. Серые полосы по краю диска и на полоске на самом деле это очень плотно расположенные штрихи. А у блока считывания четыре контакта - земля, +5в и два квадратурных выхода уже TTL уровня. Мечта самодельщика.

    Как я уже писал, мне нужны кодеры, т.к. я делаю систему нагрузки штурвала, но люди мне стали писать - "хотим точно так-же, только с аналоговыми входами!" поэтому пришлось в первую очередь заняться этим вариантом...
    Миниатюры Миниатюры Нажмите на изображение для увеличения. 

Название:	IMG_1166.jpg 
Просмотров:	694 
Размер:	40.6 Кб 
ID:	50204  

  7. #7
    Забанен Аватар для Orion33
    Регистрация
    17.07.2004
    Адрес
    левый берег Невы ;)
    Возраст
    40
    Сообщений
    1,209

    Ответ: USB контроллер на Микрочипе

    И сколько цена сего девайса вырисовывается?

  8. #8

    Ответ: USB контроллер на Микрочипе

    Цитата Сообщение от Orion33
    И сколько цена сего девайса вырисовывается?
    Пока - не более $15.

  9. #9

    Ответ: USB контроллер на Микрочипе

    Вот для развлечения - два из моих кодеров. Первый - многооборотный абсолютный на 1024 позиций на оборот (кажется, несколько сотен оборотов.) Вывод позиции - последовательный синхронный интерфейс на скорости 125кбит. Каежется, его можно было перепрограммировать на 4096 поз/оборот т.к. физически там плотность штрихов именно такая внутри, просто он загрублен программно.

    Второй - обычный квадратурный на 2000 импульсов. Да еще и в водонепронецаемом корпусе

    Прошу заметить - абсолютный кодер выдает уже готовую вычисленную позицию, так что 1024 они и есть 1024 позиции, больше не выжать. У квадратурного на выходе две последовательности импулсьов, так что после декодирования точность отсчета увеличивается в четыре раза, так что 2000 импульсов превращаются в 8000 позиций.

    Надеюсь, не утомил! :expl:
    Миниатюры Миниатюры Нажмите на изображение для увеличения. 

Название:	IMG_1165.jpg 
Просмотров:	446 
Размер:	176.7 Кб 
ID:	50206   Нажмите на изображение для увеличения. 

Название:	IMG_1164.jpg 
Просмотров:	368 
Размер:	152.3 Кб 
ID:	50207  

  10. #10
    Забанен Аватар для catfish
    Регистрация
    22.11.2001
    Адрес
    Moscow
    Возраст
    43
    Сообщений
    1,250

    Ответ: USB контроллер на Микрочипе

    Цитата Сообщение от sergeyk
    Больше конроллеров шустрых и разных!

    Я не очень понял принцип распространения проекта: полностью открытый? Аля MJoy8? Али прошивку/мс покупать надо?

    А на счёт энкодеров не врубился: их можно приспособить? А из принтеров?
    IMHO, на тримерах самое то, особенно относительные. Какое ещё применение?
    Больше-то оно больше, тока было бы лучше. Пока ничем конкретным от МJOY Миндога не отличается. Кроме одного - за прошивку еще даже сам автор не знает сколько запросит (((((

    P.S. Матрица из диодов для кнопок - не самое правильное и технологичное решение.

  11. #11
    Забанен Аватар для Orion33
    Регистрация
    17.07.2004
    Адрес
    левый берег Невы ;)
    Возраст
    40
    Сообщений
    1,209

    Ответ: USB контроллер на Микрочипе

    Цитата Сообщение от lbodnar
    Пока - не более $15.
    Дайте две!

    Рассуждения на тему "1024 отсчета - это много или мало?"
    Может не совсем по теме, но в соседней этот вопрос поднимался.

    На какой угол отклоняется среднестатистическая палка? Напольники не в счет! 30 градусов. В сумме туда-сюда получается 60 град. Т.о. на один отсчет приходится примерно 0,06 град. или 0,06*pi/180 = 0,001 радиан.
    Если отклонить ручку на такой угол, то наружная точка оси джоя совершит перемещение r*sin(0,001). r - радиус оси джоя. Для малых углов справедливо равенство sin(x) = x, поэтому величина этого перемещения составляет примерно 5*0,001 = 5 мкм (диаметр оси берется порядка 1см - на Еве такие. Если он меньше, то все гораздо хуже ).
    Из чисто логических соображений ясно, что механический люфт должен быть меньше, чтобы почувствовалось это перемещение...

    ВНИМАНИЕ, вопрос! В каком серийном джое люфты меньше 5 микрон??? Правильно, таких джоев нет! И даже с 50мкм тоже нет. Минимум - 0,1 мм. То есть 128 значений более чем достаточно...

    Вывод таков: не верным путем идете, товарищи! Механику надо сначала хорошую иметь!

  12. #12

    Ответ: USB контроллер на Микрочипе

    Цитата Сообщение от Orion33
    Рассуждения на тему "1024 отсчета - это много или мало?"
    Я вообще-то все это дело под штервал делал. На маленькой Цессне ход штурвала - 165мм вперед-назад и 90 градусов в обе стороны. При тихой погоде на посадке обычно крутишь его туда-сюда буквально градусов на пять. В следующий раз на машине будете рулить - посмотрите насколько на трассе руль отклоняется из двух полных оборотов. Так вот, 5 градусов от 180 составляет около 3%. Мне хочется чтобы это были плавные 3 процента а не как на лифте - вверх/вниз. "Плавные" означает состоять они должны из 25-30 шагов. Вот и получаем в итоге 1000 шагов на весь ход штурвала - это минимум для комфорта. Конечно, на штурмовиках можно и с 2 битным джойстиком летать делая ШИМ правой рукой.

    На полный ход я штурвал вообще никогда не видел чтобы отклонялся, ну кроме, разве что до стопора на себя чтобы перед сваливанем в штопор скорость погасить да еще до стопора влево/вправо на рулежке при сильном боковом ветре.

    А штурвал на кодере делается абсолютно элементарно без всякого люфта - сам кодер и является осью вращения и одной из опор штурвала. Там подшипники очень высого класса точности стоят без люфтов и нагрузку он держит киллограм 10-20. Еще один подшипник на ось крена ставится и все. С джойстиком - больше возни, это правда.
    Крайний раз редактировалось lbodnar; 16.01.2006 в 04:54.

  13. #13

    Ответ: USB контроллер на Микрочипе

    Цитата Сообщение от Orion33
    Дайте две!

    Рассуждения на тему "1024 отсчета - это много или мало?"
    Может не совсем по теме, но в соседней этот вопрос поднимался.

    На какой угол отклоняется среднестатистическая палка? Напольники не в счет! 30 градусов. В сумме туда-сюда получается 60 град. Т.о. на один отсчет приходится примерно 0,06 град. или 0,06*pi/180 = 0,001 радиан.
    Если отклонить ручку на такой угол, то наружная точка оси джоя совершит перемещение r*sin(0,001). r - радиус оси джоя. Для малых углов справедливо равенство sin(x) = x, поэтому величина этого перемещения составляет примерно 5*0,001 = 5 мкм (диаметр оси берется порядка 1см - на Еве такие. Если он меньше, то все гораздо хуже ).
    Из чисто логических соображений ясно, что механический люфт должен быть меньше, чтобы почувствовалось это перемещение...

    ВНИМАНИЕ, вопрос! В каком серийном джое люфты меньше 5 микрон??? Правильно, таких джоев нет! И даже с 50мкм тоже нет. Минимум - 0,1 мм. То есть 128 значений более чем достаточно...

    Вывод таков: не верным путем идете, товарищи! Механику надо сначала хорошую иметь!


    Я вот еще в догонку хочу спросить сколько бит та переменная которая отвечает за положение штурвала в Иле ???
    Я могу с 200% уверенностью сказать что в FS эта переменная всего 8 бит и там хоть суй ему 16-ти битную переменную , все равно позициЙ ручки с симе будет 256 !!!... Как дела в ИЛ2 обстоят ? Ктонибудь считал количесво ступеней полного хода виртуальной ручки с кабине ? ПОвторю , что в FS - всего 256 ступенек на полный ход ЛЮБОЙ АНАЛОГОВОЙ ОСИ !.. ПОэтому что на входе сима из ви нды будет диапазон оси 1024 , что 65536 - все автоматом перемасштабируется в диапазон 256 ступенек..

  14. #14
    Механик
    Регистрация
    19.02.2005
    Адрес
    Odessa-Mama
    Возраст
    64
    Сообщений
    498

    Ответ: USB контроллер на Микрочипе

    если честно то я тоже пока не вижу существенной разници от миндоговского , энкодеры . вещь дорогая и не всем доступная , линейность . я уже говорил , на угловых датчиках она почти линейная , какойто процент не в счет . все одно крмвые отклика ставят свои , шумы ?7.. ну незнаю , что еще.. а х.з. ! как я вижу следующий вариант..
    вариант для эстетов 2 оси на энкодерах (тока на осях джоя) остальные аналоговые , и самое главное ! возможность изменять кривые отклика на ходу !ведь согласитесь что каждый крафт требует сомх крмвых , да и ситуации разные , на посадке надо очень плавно рулить , бой по другому , бомбадировщик - третье , штурмовик . четвертое , гражданский - пятое , пусть это будет незначительное усложнение , или добавить опционально , тоесть потом в основную схему добавляеш чтото и она уже работает . ну и можно еще че добавить . типа индикации режима или номер загруженого профайла откликов

  15. #15
    Забанен Аватар для Orion33
    Регистрация
    17.07.2004
    Адрес
    левый берег Невы ;)
    Возраст
    40
    Сообщений
    1,209

    Ответ: USB контроллер на Микрочипе

    Цитата Сообщение от Ezdok
    Я вот еще в догонку хочу спросить сколько бит та переменная которая отвечает за положение штурвала в Иле ???
    Я могу с 200% уверенностью сказать что в FS эта переменная всего 8 бит и там хоть суй ему 16-ти битную переменную , все равно позициЙ ручки с симе будет 256 !!!... Как дела в ИЛ2 обстоят ? Ктонибудь считал количесво ступеней полного хода виртуальной ручки с кабине ? ПОвторю , что в FS - всего 256 ступенек на полный ход ЛЮБОЙ АНАЛОГОВОЙ ОСИ !.. ПОэтому что на входе сима из ви нды будет диапазон оси 1024 , что 65536 - все автоматом перемасштабируется в диапазон 256 ступенек..
    Я уже говорил и еще раз повторю: ручка - это одна модель, плоскости - другая, а отработка поведения - совсем другая. И у каждой имеет место быть своя дискретность.

  16. #16

    Ответ: USB контроллер на Микрочипе

    Цитата Сообщение от Ezdok
    Я вот еще в догонку хочу спросить сколько бит та переменная которая отвечает за положение штурвала в Иле ???
    Я могу с 200% уверенностью сказать что в FS эта переменная всего 8 бит и там хоть суй ему 16-ти битную переменную , все равно позициЙ ручки с симе будет 256 !!!
    Я - железо делаю и мне не очень интересно какие у софта сейчас ограничения - это не должно стать тормозом прогресса.

    Я точно знаю что под Mac OS X у X-Plane, например, как минимум 16-битное разрешение для всех осей. Вообще-то там плавающая точка с двойной точностью используется, поэтому если и есть какое ограничение - так это только ограничение выхода данных с HID устройства (не более 32 бит на одну переменную.) Хотя тот же X-Plane под Виндами почему-то с лету устанавливает пределы переменных в DirectInput в +-100 и т.к. результат используется в целочисленном виде, получаем всего 200 шагов. Я этот кусок кода долго смотрел, но так и не понял, зачем Остин это сделал - наверное он его сто лет назад написал, не зная, что DirectInput все сводит к целым числам, а т.к. это было под Виндами, то ему не особо на глаза попадалось потом. Я этот вопрос у него выясню.

    Хотя, кто X-Plane видел, знают, что там любую переменную физики процесса можно вытащить из программы или туда же загнать либо через плагин либо через UDP. Я посылал 16битную позицию штурвала на кодере по сети через UDP и все было просто супер, как маслянное! Поэтому заметил глюк только после того как джойстик напрямую подключил. Так что кто очень хочет может написать программульку на питоне, которая считывает позицию джойстика и напрямую впрыскивает это в X-Plane с любым разрешением (на том же компьютере) - для многих это не составляет труда, нужно только один раз сделать. То же, наверняка, можно и в FS.

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

    А то что я делаю я все равно не брошу, пусть оно никому и не нужно.

  17. #17

    Ответ: USB контроллер на Микрочипе

    - железо делаю и мне не очень интересно какие у софта сейчас ограничения - это не должно стать тормозом прогресса.
    ---
    Это понятно , порддерживаю и сам придерживаюсь такой политики. Софт-софтом , а жележо - совсем другая песня...

    К чему весь разговор :
    Наухо шипну общественности сухого - сейчас разрабатывается целый комплекс управляющего железа для FS .. Точнее для его части ПТ..
    Хотелось бы его юзать не только в FS2004
    Некоторые из скромных возможностей комплекса:

    128 модулей по 8 10-ти битных осей. Общее количество осей - 128*8...
    128 модулей кнопок/тумлеров. 1 модуль = 184 тумблера. общее количество кнопок в комплексе 128*184....

    128 модулей стрелочных индикаторов. 1 модуль стрелочников = 20 приборов.
    Общее количество стрелочных приборов 128*20....

    128 модулей 8-ми сегментных индикаторов. 1 модуль = 28 индикаторов по 8 цифр.
    общее количество индикаторов 128*28...

    128 модулей ламп накаливания, светодиодов , другой нагрузки.. 1 модуль = 30 ламп.. общее количество лам 128*30....

    128 модулей энкодеров. 1 модуль = 16 настоящих честных реал-тайм энкодлеров. ( кручу , мгновенно вижу результат с какойбы скоростью бы я не крутил энкодер). Общее количество 128*16....

    128 модулей прямого физического бинарного ввода в сим. 1 модуль = 1 32-х битная переменная. (нах нужен - незнаю , но пока в планах) общее количество модулй 128*1......

    Помимо помимо всего в планах нормальная конфигурация модулей в системе прямо из сервисного софта , и как всегда минимум контроллеров и обвязки..

    Вот чего и спрашиваю про переменные.. Хотелось бы этот комплекс не только под ПТ юзать , а скажем в X-PLANE или IL2 или LockOn.. с FS переменными вроде как понятно.. для этого есть FSUIPC и знающие головы , а вот с другими симами - пока темный лес. Еще интересует подключение внешнего железа к x-plane и протоколы обмена. Слишком обнадеживает x-plane как нормальный сим после выхода анонса FSX.. Покрайней мере в движке иксов гораздо больше фитч чем в FSX.
    Крайний раз редактировалось Ezdok; 16.01.2006 в 21:51.

  18. #18

    Ответ: USB контроллер на Микрочипе

    Отличная идея - через какой интерфейс подключается и сколько будет стоить? Я куплю одну штучку!

    Что касается X-Plane все просто - любой параметр из приведенных на экране можно вывести наружу или ввести обратно в программу динамически в любой момент. Конечно, те величины, которые собственно вычисляются внутри смысла вводить нет - для этого сим и создан.

    А протокол очень простой - UDP по сети или черз плагин непосредственно на том же компе. Вот например, как я считывю данные из СОМ1 и посылаю данные штурвала через UDP (моя очень старая программка - еще через компор работающая, но уже с 16битным положением штурвала). Если сравнить рисунок и текст, то видно, что что в седьмой позиции (там где стоит галка) - данные джойстика. Их восемь, но я посылаю только два - крен и тангаж. Данные x-plane кушает с плавающей точкой. Точно также и выводит - любую комбинацию из 900 параметров. Например, если поставить галку в позиции 50, то через UDP на указанный адрес сети будет выводится напряжение до восьми бортовых батарей. Ну и далее в том же духе.

    Удачи!

    # X-Plane 8.15 UDP Client

    import win32file
    import socket
    import struct
    import time
    import serial

    HOST = '' # Symbolic name meaning the local host
    PORT = 49000 # Arbitrary non-privileged port
    xplaneHost = ('192.168.0.61', 49000)
    s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
    s.bind((HOST, PORT))

    ser = serial.Serial('COM1', 2400, timeout=1)

    while 1:

    byte1 = struct.unpack("1B", ser.read())
    byte2 = struct.unpack("1B", ser.read())
    byte3 = struct.unpack("1B", ser.read())
    byte4 = struct.unpack("1B", ser.read())

    pitch = byte1[0]*256+byte2[0]
    roll = byte3[0]*256+byte4[0]

    pitch = pitch / 32000.0 - 1.0
    roll = roll / 32000.0 - 1.0

    sendPacket = struct.pack('>5si8f', "DATA\n", 7, pitch, roll, 0, 0, 0, 0, 0, 0)
    s.sendto( sendPacket, xplaneHost )

    ser.close()
    Миниатюры Миниатюры Нажмите на изображение для увеличения. 

Название:	999.gif 
Просмотров:	335 
Размер:	83.4 Кб 
ID:	50288  
    Крайний раз редактировалось lbodnar; 16.01.2006 в 22:14.

  19. #19
    Инструктор
    Регистрация
    15.12.2000
    Адрес
    Togliatty
    Сообщений
    1,545

    Ответ: USB контроллер на Микрочипе

    Э-х-х, блин.
    Я лично себе такую систему( в смысле комерческую) представлял полностью независимую от софта, повязаную скажем через CANaerospace или Arinc-429, к которой через враппер данные льет хоть МСФС, хоть ЛокОН. Как у больших все.

    Чтобы потом наработки и для реальных бортов переносить/отлаживать можно было, а получается опять пять-десять писюков с почти бытовыми УСБ-глюкалами натыкано, под управлением дельфийно/киликсовских заплаток. :-(
    Если кто-то в Грузии думал что русские простят 20.09.07 - он был категорически неправ !!!

  20. #20

    Ответ: USB контроллер на Микрочипе

    Цитата Сообщение от LazyCamel
    Э-х-х, блин.
    Я лично себе такую систему( в смысле комерческую) представлял полностью независимую от софта, повязаную скажем через CANaerospace или Arinc-429, к которой через враппер данные льет хоть МСФС, хоть ЛокОН. Как у больших все.

    Чтобы потом наработки и для реальных бортов переносить/отлаживать можно было, а получается опять пять-десять писюков с почти бытовыми УСБ-глюкалами натыкано, под управлением дельфийно/киликсовских заплаток. :-(
    Без проблем, присылай спецификацию - в CAN или любой другой бас тебе закатаю что хочешь! Только платить тоже как большие будешь! :p

  21. #21

    Ответ: USB контроллер на Микрочипе

    Цитата Сообщение от LazyCamel
    Э-х-х, блин.
    Я лично себе такую систему( в смысле комерческую) представлял полностью независимую от софта, повязаную скажем через CANaerospace или Arinc-429, к которой через враппер данные льет хоть МСФС, хоть ЛокОН. Как у больших все.

    Чтобы потом наработки и для реальных бортов переносить/отлаживать можно было, а получается опять пять-десять писюков с почти бытовыми УСБ-глюкалами натыкано, под управлением дельфийно/киликсовских заплаток. :-(

    Для реальных бортов, есть реальные люди. Которые и занимаются серьёзным делом.

    В нашем случае, народные умельцы развлекаются как могут.

  22. #22

    Ответ: USB контроллер на Микрочипе

    Э-х-х, блин.
    Я лично себе такую систему( в смысле комерческую) представлял полностью независимую от софта, повязаную скажем через CANaerospace или Arinc-429, к которой через враппер данные льет хоть МСФС, хоть ЛокОН. Как у больших все.
    ---

    Поясни , ты про что ? как понять полностью независимую от софта ??
    Поясни что есть враппер ? И как данные со штурвала и ли с какогонить батона попадают в переменную сима ? И кто её туда пихает , если в самом симе нет механизма запихивания переменных извне ? Неесть ли это как раз та заплатка ?


    Чтобы потом наработки и для реальных бортов переносить/отлаживать можно было, а получается опять пять-десять писюков с почти бытовыми УСБ-глюкалами натыкано, под управлением дельфийно/киликсовских заплаток. :-(
    ---
    Ну незнаю какие там глюкалки USB имееш в виду.. То что планируем и разрабатываем не совсем бытовая штука. И не совсем USB.. Это достаточно уникальная и наращиваемя почти до бесконечности система управления со своим достатоно уникальным протоколом.

    Дело в том что все HUD устройства в том числе Mjoy это всеже привязка к дровам винды. Ну незахотел БГ сделать больше 8-ми осей и 32-х батонов.. Незахоетл - ненадо. Выбрасываем в зад вообще всю идею USB HUD устройств и делаем свою. Под управлением дельфийной заплатки данные с такой системы льются непосредственно в сим минуя всю хрень и все ограничения которыми упихана винда. Я про то и спрашиваю можно ли добратся до переменных LockOn и IL2 как добираемся до переменных FS , чтобы написать 'заплатку' нетолько для FS... Есть железка и юзай её в любом симе. Вот идея .. Да и дело то всего в обслуживающем софте..
    Крайний раз редактировалось Ezdok; 17.01.2006 в 01:10.

  23. #23

    Ответ: USB контроллер на Микрочипе

    Цитата Сообщение от Ezdok
    Дело в том что все HUD устройства в том числе Mjoy это всеже привязка к дровам винды. Ну незахотел БГ сделать больше 8-ми осей и 32-х батонов.. Незахоетл - ненадо. Выбрасываем в зад вообще всю идею USB HUD устройств и делаем свою. Под управлением дельфийной заплатки данные с такой системы льются непосредственно в сим минуя всю хрень и все ограничения которыми упихана винда. Я про то и спрашиваю можно ли добратся до переменных LockOn и IL2 как добираемся до переменных FS , чтобы написать 'заплатку' нетолько для FS... Есть железка и юзай её в любом симе. Вот идея .. Да и дело то всего в обслуживающем софте..
    Ezdok, вы и вправду там USB делаете? И насколько уже продвинулись?

    Могу сказать что у меня джойстик занял 5% времени, остальное - сделать так, чтобы стек польностью все тесты USB2.0 стандарта проходил. А HID работает на любой OC так что я бы не стал его так с разворота отбрасывать. Как только вы HID отключаете так тут то вот как раз и надо писать драйвера низкого урованя дла всех возможных ОС. HID это очень общий стандарт, в него даже медицинская аппаратура и UPS входят, а прелесть в том, что драйверная прослойка между аппаратурой и приложениями уже в любой системе есть. А ограничения DirectX никакого отношения к HID не имеют. Устройство HID, например может иметь 65000 кнопок и столько же 32 битных осей. А написать прослойку между ним и симулятором можно за один вечер, так как драйвера HID в ОС уже есть и DirectX тут не причем.

    Вы там вправду всерьез что-то делаете или пока так?.. Я бы с удовольствием купил добротный USB интерфейс сам.
    Крайний раз редактировалось lbodnar; 17.01.2006 в 01:20.

  24. #24

    Ответ: USB контроллер на Микрочипе

    в него даже медицинская аппаратура и UPS входят, а прелесть в том, что драйверная прослойка между аппаратурой и приложениями уже в любой системе есть.
    ----
    Знаем , слышали , а входит ли драйвер для HomeConstructors - просто передать пакет определенной длины.. И все ! ?????? Ненужны нам дрова для медицинской аппаратуры и прочей не симмерской лабуды. Просто передать пакеты.. А куда их всовывать и как кодировать - сами разберемся..


    ---
    Вобще мы планируем делать на USB2COM.. Разогнать COM до 250кбит и не парится с прослойками.. 250 кбит это мм.. 0.3 мс длительности пакета из 10-ти байт. 10 байт это обслужить ооочень много железок.. Но у нас протокол еще меньщей длины.. Поэтому нет никакого смысла напрягятся и юзать достаточно не покотоемкую систему на USB.... ПОТОК ТО какой ??? Нажал батон - раз в 5 минут , или дергнул рудами - раз в 1 час.. И то проблема реалтайма не в самом комплексе и скорости передачи пакетов , а в реакции самого сима , которая зависит ковсему прочему от рэнда видеокарты и других причин.. Так что передать поток непроблема . А вот с HID надо конечно в дальнейшем разобратся..... Но меня пугают цены на контроллеры с аппаратным USB.. Не с програмным а с аппартным. А поскольку цена одного контроллера с аппаратным USB порядка 15-17$ , отсутствует напроч прошивка контроллеров сторонними самопальными программаторами , затею с USB считаю пока делом каждого..... Мне лично пока ненравятся цены на USB комплектующие.. Дороговато. Тем более что в системе планирются использовать порядка 10-ти контроллеров. Самые скромные расчеты показывают , для полного реал-тайма сгодится скорость COM порта 115к... КУДА БОЛЬШЕ ? Примером тому уже обкатанная система EZ_BUS или FS_BUS .. как угодно.. скорость общения 19.2 через COM .. все работает как часы.. Кроме энкодеров , потому как сам сим очень медленно обрабатывает входящую инфу. У нас планируется повышенная частота опросов энкодеров и десятикратное увеличение скорости предачи пакетов в симулятор. Максимум обсчетов происходит в контроллерах.. Итак FPS нехватает..
    ---
    А HID работает на любой OC так что я бы не стал его так с разворота отбрасывать.
    --
    Недоверие... в первую очередь к HID.. Задача просто передать данные из железки в комп и обратно.. Через какой путь проходит бедный пакет от железки я могу только догадыватся. Мы используем настоящий человеческий протокол с контрольными суммами , надежный , поверенный на многих железках и повторюсь , тратить время на то чтобы изучать весь USB с HUD вместе взятыми просто нет.. COM проверен до безобразия , весь расковырян вдоль и поперек. Слабые места изучены и изучены нюансы его работы... Контроллеры которые нам больше всего подходят для реализации затеи с аппартным USART стоят 3.5$ и поцене 1-го контроллера со встроенным USB можно будет собрать всю систему целиком.. USB не панацея.. Очень много очень дорогих и очень быстрых приборов до сих пор работают через COM или через его эмуляцию.. Комплекс на COM делаем исключительно для себя и если будем продавать то только полный пакет - тоесть софт+спаянные платы в корпусе.. с USB разъемом :-)).. Дешево не будет.. Однако прекрасно понимаем , что дорого COM железку продать уже не получится. Везде USB...
    Крайний раз редактировалось Ezdok; 17.01.2006 в 04:41.

  25. #25
    Инструктор
    Регистрация
    15.12.2000
    Адрес
    Togliatty
    Сообщений
    1,545

    Ответ: USB контроллер на Микрочипе

    По порядку:
    Враппер - здесь это программа-транслятор, которая переводит внутренние переменные игры в попугаях, в данные согласно протоколу аппаратуры.

    Про HID.
    Очень часто недоверие - просто недостаток опыта работы с чем-то.
    HID спокойно передает произвольные (сырые) данные, прочитайте стандарт насчет Feature Report и гляньте системные вызовы WinXP HidDGetFeature/HidDSetFeature. В этом режиме даже не надо вторую endpoint заводить. Все будет работать через control endpoint0.
    Не совсем понятно какое отношение ограничения DirectX имеет к Hid-протоколу ? Ва м никто не запрещает читать данные с hid-устройств и помимо него.
    Рекомендую курить вот эту книжку http://www.natahaus.ru/2005/09/16/in...p__agurov.html до просветления

    Про аппаратуру.
    Аппаратный контроллер с УСБ 2.0 12Мбит(фулл-спид) стоит от 6 баксов в розницу и самошьется по УСБ. Кодовое слово LPC41xx.
    За 10-15 можно купить такой же с поддержкой CAN и Ethernet.

    Про протоколы:

    Речь же вроде шла про процедурный тренажер для больших, а не про наши поделки для флайт-симщиков? Все-таки найдите в сети стандарт на CANaerospace. Это протокол верхнего уровня. Используется в ЕвроВертушке и А380. Принят НАСА и МО США для новых БПЛА и перспективных самолетов.
    Совершенно не обязательно использовать CAN в качестве физшины, можно хоть rs232 c опторазвязкой. Возможно и не придется собственные протоколы изобретать. Там как раз идет передача РЕАЛЬНЫХ полетных данных, как то курс, координаты, высота, вплоть до магнитного склонения, частот радиокомпаса и температуры газов перед и за турбиной.

    ЗЫ:
    По крайней мере я свой кокпит для Черной Акулы уже на его базе начинаю делать.
    Если кто-то в Грузии думал что русские простят 20.09.07 - он был категорически неправ !!!

Страница 1 из 10 12345 ... КрайняяКрайняя

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •