-
Вложений: 1
Ответ: USB контроллер джоистика
Продолбался с программированием, потому что сначала заливал с помощью AVRprog1_37 и не знал как там выставлять биты (кстати MeanDog ссылался на 24-ю страницу описания ATmega8, я нашел pdf на английском, а там только 19 страниц, о каком документе шла речь?), потом выставил биты под PonyProg и все пошло. Насколько я понимаю в AVRprog установки должны получиться как в прилагаемом файле. Поправьте, если не так (я установил биты под PonyProg и считал потом под AVRprog).
-
Ответ: USB контроллер джоистика
Кстати по мотивам того, что я почитал по модификациям джойстиков в инете - есть много информации типа "я сделал оптический сенсор на базе оптопары мыши с затвором, напечатанным на струйнике на бумаге, но почему-то есть дергания", так вот при проверке на практике оказалось, что на работе такого варианта больше сказывается разнородность бымаги, чем разница в заливке чернилами, да и чернила не годятся для инфракрасного. Латунная шторка от переменного конденсатора подошла куда лучше.
Есть еще вопрос по диодной развязке, описанной раньше. Если делать это на кремниевых диодах и не обеспечить должной подсадки, то диоды будут работать почти как конденсаторы. При 5 вольтах подсаживать надо примерно 20-ти кОм-ами, а какую подсадку дает микроконтроллер в данном варианте?
-
Ответ: USB контроллер джоистика
Про AVRprog ничего сказать не могу, я лил PonyProg'ом. По поводу битов - ну тут давне все обсуждено, просмотри всю ветку.
О развязке диодами. Мысль про конденсаторы и "подсадку" я вообще не понял. Я у себя развязывал кремниевыми транзисторами (ну мне так оказалось удобнее, исходная схема MeanDog и вторая версия программы) - считай, те же диоды в данном случае. Плюс к этому некоторые входные линии микроконтроллера "подтягивал" к +5V резисторами на 39 кОм. В принципе, это достаточно индивидуально получается - топология монтажа и особенности шлейфа от контроллера к РУС/РУД. Кусочек своей схемы кнопок с диодами я тут уже рисовал, не поленись посмотреть.
-
Ответ: USB контроллер джоистика
Я сначала отсмотрел всю ветку а потом писал. По поводу битов обсуждено только что под PonyProg все их надо сбросить, а мне интересно что они все обозначают, к тому же теоретически под AVRprog программировать лучше, т.к. там стоит свой кварцованый контроллер, потому вдвойне интересно что выставлять под ним.
Я бы удивился, если бы кто-то развязывал германиевыми,т.к. они частично пропускают в обратном направлении.
Входными считаются линии, которые на сетке клавишь подключены к вертикалям или горизонталям?
-
Ответ: USB контроллер джоистика
А можно на ассемблере для AVR выполнять стандартные штуки PC-шного ассемблера типа:
rjmp req_offsets+temp1
req_offsets:
rjmp ComposeGET_STATUS ;GET_STATUS=0
rjmp ComposeCLEAR_FEATURE ;CLEAR_FEATURE=1
rjmp ZeroDATA1Answer ;=2
rjmp ComposeSET_FEATURE ;SET_FEATURE=3
rjmp ZeroDATA1Answer ;=4
rjmp ComposeSET_ADDRESS ;SET_ADDRESS=5
rjmp ComposeGET_DESCRIPTOR ;GET_DESCRIPTOR=6
rjmp ComposeSET_DESCRIPTOR ;SET_DESCRIPTOR=7
rjmp ComposeGET_CONFIGURATION ;GET_CONFIGURATION=8
rjmp ComposeSET_CONFIGURATION ;SET_CONFIGURATION=9
rjmp ComposeGET_INTERFACE ;GET_INTERFACE=10
rjmp ComposeSET_INTERFACE ;SET_INTERFACE=11
rjmp ComposeSYNCH_FRAME ;SYNCH_FRAME=12
а то меня как-то смущают переборы на равно/перейти
-
Ответ: USB контроллер джоистика
Цитата:
Сообщение от VKlimov
А можно на ассемблере для AVR выполнять стандартные штуки PC-шного ассемблера типа:
rjmp req_offsets+temp1
req_offsets:
rjmp ComposeGET_STATUS ;GET_STATUS=0
rjmp ComposeCLEAR_FEATURE ;CLEAR_FEATURE=1
rjmp ZeroDATA1Answer ;=2
rjmp ComposeSET_FEATURE ;SET_FEATURE=3
rjmp ZeroDATA1Answer ;=4
rjmp ComposeSET_ADDRESS ;SET_ADDRESS=5
rjmp ComposeGET_DESCRIPTOR ;GET_DESCRIPTOR=6
rjmp ComposeSET_DESCRIPTOR ;SET_DESCRIPTOR=7
rjmp ComposeGET_CONFIGURATION ;GET_CONFIGURATION=8
rjmp ComposeSET_CONFIGURATION ;SET_CONFIGURATION=9
rjmp ComposeGET_INTERFACE ;GET_INTERFACE=10
rjmp ComposeSET_INTERFACE ;SET_INTERFACE=11
rjmp ComposeSYNCH_FRAME ;SYNCH_FRAME=12
а то меня как-то смущают переборы на равно/перейти
Это можно с ICALL и IJMP командами. В даташите АВР ассемблера есть описание как:
mov r30,r0 ; Set offset to jump table
ijmp ; Jump to routine pointed to by r31:r30
К переборам с практикой привыкаеш ;)
Цитата:
Сообщение от VKlimov
По поводу битов обсуждено только что под PonyProg все их надо сбросить, а мне интересно что они все обозначают, к тому же теоретически под AVRprog программировать лучше, т.к. там стоит свой кварцованый контроллер, потому вдвойне интересно что выставлять под ним.
Я бы удивился, если бы кто-то развязывал германиевыми,т.к. они частично пропускают в обратном направлении.
Входными считаются линии, которые на сетке клавишь подключены к вертикалям или горизонталям?
Биты есть в полном даташите АТмега8 - doc2486.pdf. Может ты скачал урезаную версию.
Входы это горизонтали. Считываютса за 4 раза по 7 бит.
-
Ответ: USB контроллер джоистика
Перебор похож на код, который получается из case без оптимизации. Проблема в том, что с перебором выполнение последнего в списке варианта занимает под 40 тактов, а без перебора для любого варианта 4 такта. Я еще не уверен насколько это критично в данном случае, т.к. я только засел за понимание кода MJoy и ассемблера Atmel (если конкретный код выполняется всего один раз, так без разницы). Да, там по описанию использования косвенных переходов по Z (r30) вроде было указано, что используется еще r31 (старшая часть адреса) - его надо задействовать или нет? И как все-таки взять offset метки, команды offset у данного ассемблера то нет? Если в temp1 смещение (при условии что все команды по 1 слову и адресация пословная), то как вот это делается? Или r0 содержит текущий адрес?
Скачивал раньше я действительно урезанный.
Спасибо за ответы. И большое спасибо за проделанную работу по созданию.
-
Ответ: USB контроллер джоистика
попробовал скомпилировать версию 1.2 - компилятор в AVR Studio 4.10 дает кучу предупреждений о том, что call не поддерживаются данным чипом и Immediate byte operand out of range. Это нормально?
-
Ответ: USB контроллер джоистика
Вот так вроде работает:
StandardRequest:
cpi temp1, 13 ;compare with max avaliable
brsh req_exit ;if equal\above skip
ldi ZL, low(req_offsets)
ldi ZH, high(req_offsets)
add ZL, temp1
ijmp
req_offsets:
rjmp ComposeGET_STATUS ;GET_STATUS=0
rjmp ComposeCLEAR_FEATURE ;CLEAR_FEATURE=1
rjmp req_exit ;=2
rjmp ComposeSET_FEATURE ;SET_FEATURE=3
rjmp req_exit ;=4
rjmp ComposeSET_ADDRESS ;SET_ADDRESS=5
rjmp ComposeGET_DESCRIPTOR ;GET_DESCRIPTOR=6
rjmp ComposeSET_DESCRIPTOR ;SET_DESCRIPTOR=7
rjmp ComposeGET_CONFIGURATION ;GET_CONFIGURATION=8
rjmp ComposeSET_CONFIGURATION ;SET_CONFIGURATION=9
rjmp ComposeGET_INTERFACE ;GET_INTERFACE=10
rjmp ComposeSET_INTERFACE ;SET_INTERFACE=11
rjmp ComposeSYNCH_FRAME ;SYNCH_FRAME=12
;if not found known request
req_exit:
rjmp ZeroDATA1Answer ;if that was something unknown, then prepare zero answer
вроде r30 и r31 здесь сохранять\восстанавливать не надо, т.к. дальше они вроде местами переписываются, но не уверен.
-
Ответ: USB контроллер джоистика
Цитата:
Сообщение от VKlimov
попробовал скомпилировать версию 1.2 - компилятор в AVR Studio 4.10 дает кучу предупреждений о том, что call не поддерживаются данным чипом и Immediate byte operand out of range. Это нормально?
Это нормально. У меня АВР студио тоже так делает.
-
Ответ: USB контроллер джоистика
Хелп...
терзания мои продолжаются уже третий день
Собрал версию 1.2
Проверил
Еще раз проверил монтаж
ПониПрог AVR видит,прошивает, пишет все правильно
считываю прошивку, проверяю....
действительно все правильно
Подключаю ЮСБ - "неизвестное устройсто"
думаю ладно... резисторы 68 ом, стабилитроны, как советовали...
тоже самое.... вобщем вариантов у меня не осталось...
Уважаемые авторы, мое психическое здоровье на исходе...
Подскажите хоть в какую сторону копать
Заранее всем спасибо
-
Ответ: USB контроллер джоистика
целую неделю я гадал и мучился - почему не работает...
Оказалось конденсаторы бывают разные...
Я поставил "ленточные".
Знакомый электронщик только что сказал, что надо керамические поставить.
-
Ответ: USB контроллер джоистика
Цитата:
Сообщение от whiter
Хелп...
терзания мои продолжаются уже третий день
Собрал версию 1.2
Проверил
Еще раз проверил монтаж
ПониПрог AVR видит,прошивает, пишет все правильно
считываю прошивку, проверяю....
действительно все правильно
Подключаю ЮСБ - "неизвестное устройсто"
думаю ладно... резисторы 68 ом, стабилитроны, как советовали...
тоже самое.... вобщем вариантов у меня не осталось...
Уважаемые авторы, мое психическое здоровье на исходе...
Подскажите хоть в какую сторону копать
Заранее всем спасибо
Биты конфигурации запрограмировал? Еще попробуй включить в другой УСБ порт, например вместо заднего в передний (если есть) или на другом компютере...
-
Ответ: USB контроллер джоистика
Конденсаторы естественно керамические 0,1 мкф
2 MeanDog
Биты програмировал согласно скриншотов...
Пробовал разные УСБ порты, единственное предположение это припаяный шлейф к програматору (естественно он отключен от ЛПТ),
но может какие наводки возникают ????
Еще такой вопрос, может версия ПониПрога? У Вас какая?
Еще такой симптом:
напряжение на контакте D- УСБ 3,6 в а D+ 0,1 странно....
может сам АВР подпаленый или банально бракованый....
-
Ответ: USB контроллер джоистика
Заработало!!!!!
Проблема была в бракованом УСБ гнезде, припаял его на свою голову, хотел подключать стандартным шнуром....
После замены на шнур от старенкого СВЕНа688 все заработало с пол пинка, еще раз спасибо разработчику!!!
Остался маленький вопросик:
Подключил к одной из осей резюк 47к - наблюдаю странную картину
при вращении резистора реагируют ВСЕ оси, причем как-то странно
рывками. Т.е. верчу резистор и изменяются показатели всех осей
Версия прошивки 1.2.
Отсюда вопрос:
для автоматической калибровки нужно подключать резисторы ко всем
осям? или у меня опять гюки? или наводки?
Может у кого такое было?
Еще раз спасибо!
-
Ответ: USB контроллер джоистика
Цитата:
Сообщение от whiter
Заработало!!!!!
Проблема была в бракованом УСБ гнезде, припаял его на свою голову, хотел подключать стандартным шнуром....
После замены на шнур от старенкого СВЕНа688 все заработало с пол пинка, еще раз спасибо разработчику!!!
Остался маленький вопросик:
Подключил к одной из осей резюк 47к - наблюдаю странную картину
при вращении резистора реагируют ВСЕ оси, причем как-то странно
рывками. Т.е. верчу резистор и изменяются показатели всех осей
Версия прошивки 1.2.
Отсюда вопрос:
для автоматической калибровки нужно подключать резисторы ко всем
осям? или у меня опять гюки? или наводки?
Может у кого такое было?
Еще раз спасибо!
Это типа наводки, так как АЦП только один а неподключенные входы через мултиплексор неизменяют оставшее напряжение после последнего преобразования на сэмплинг конденсаторе. Когда подключиш все потенциометры все станет нормально. Если какую-то ось неиспользуеш, соедини ее с землей.
-
Ответ: USB контроллер джоистика
2 MeanDog
Спасибо за отличные ответы-консультации.
С меня бутылка. Хотя как передать??????
Могу по WM. Если принимаешь такие благодарности
дай знать в приват.
Еще раз большое спасибо!!!
-
Ответ: USB контроллер джоистика
Цитата:
Сообщение от whiter
2 MeanDog
Спасибо за отличные ответы-консультации.
С меня бутылка. Хотя как передать??????
Могу по WM. Если принимаешь такие благодарности
дай знать в приват.
Еще раз большое спасибо!!!
Пойду напюсь от счастья :)
-
Ответ: USB контроллер джоистика
Вопросик такого плана:
Вот возился с прошивками и нечаянно нажал комманду "Аппаратный сброс"
Расскажите плиз, was ist das, а то прошиваться перестало - мож из-за этого. Pоny prog говорит ,что девайс не найден или неисправен
-
Ответ: USB контроллер джоистика
Попробуй программировать с подачей тактового сигнала на 9-ю ногу от внешнего генератора (можно по элементарной схеме на ЛА3 или подобном собрать, если на ЛА3, то соединить 1-2,3-4-5, резисторы ~400-500 Ом между 1,3,6, кварц ~12 между 1 и 6, с 6-й через резистор ~500 Ом на 9-ю ATmega). Надеюсь посреди ночи ничего не перепутал.
-
Ответ: USB контроллер джоистика
Цитата:
Сообщение от paraManiac
Вопросик такого плана:
Вот возился с прошивками и нечаянно нажал комманду "Аппаратный сброс"
Расскажите плиз, was ist das, а то прошиваться перестало - мож из-за этого. Pоny prog говорит ,что девайс не найден или неисправен
Если "Аппаратный сброс" означает RSTDISBL, то он выключает функцию Ресет и это делает програмирование через серийный интерфейс невозможным. Чтобы восстановить этот бит потребуетса другой программатор, работающий в parallel режиме. Если такого неимеетса, то надо покупать другую микросхему.
-
Ответ: USB контроллер джоистика
-
Ответ: USB контроллер джоистика
Огромная просьба помочь!!! Не знаю что и думать! Спаял всю ботву, прошил, проверил прошивку – всё верно! Не работает, “неизвестное USB-устройство”! Перепробовал все порты, опять лажа(((, хотел завязать тему, но протестировав на другом компе – всё заработало !!!? Может в мамаше дело (ASUS P4P800), все входа USB 2.0? Поможите пажалст, а то силов боле нету!((( :confused: Может быть пришло время машину поменять? %)
-
Ответ: USB контроллер джоистика
Я в P4P800 её втыкал, вариант был от LaziCamel'a -работало, за что собственно ему спасибо.
Но вот решил сделать крайний вариант от MeanDog'a - и тут как на зло заело с перепрошивкой - в итоге я похоже микросхему загадил.
Воткнул девайс
reload...
OVERCLOCING FAILED-!???? - вот фигня, далее комп не грузится, а мать орёт
CPU TEST FAILED.
Посидел я, значит, почесал репу, и поехал в сервис,{мозги компьютерные и мать в том числе я купил ровно за неделю до этого} мол так-то и
поменяли, на что я собственно и не надеялся
Теперь собираюсь поднять старй кмп и закончить на нём эксперементы
-
Ответ: USB контроллер джоистика
Вообщем мораль такова, что по идее на P4P800 должно работать
-
Ответ: USB контроллер джоистика
Купив USB1.1 адаптер на РСI слот всё заработало (радость)))!!! Два варианта, первый: несовместимость USB-контроллера на мамаше с моим девайсом, и второй: не пашет это счастье с USB 2.0!?
-
Ответ: USB контроллер джоистика
Блин!!!!!!! Всё спаял, запаял и т.д ... проверил, зашил, но при подключении пишет "неизвестное устройство...." ну чё ещё надо .... USB помоему здесь не причём (пробовал на разных компах). ПОМОГИТЕ!!!! %) %) %) %) :confused: :eek: %)
-
Ответ: USB контроллер джоистика
У меня то же самое было. проверь правильность установки фузов, возможно контроллер у тебя работает от внутреннего генератора частоты . Посмотри вот тут http://forum.sukhoi.ru/showpost.php?...&postcount=351 и тут http://forum.sukhoi.ru/showpost.php?...3&postcount=93. Ну и конечно тут http://forum.sukhoi.ru/showpost.php?...5&postcount=53. Надеюсь тебе это поможет.
-
Ответ: USB контроллер джоистика
Интюресный момент получается, во-первых: проверив всё до отупления (распай со стабилитронами), работает ся радость только с прошивкой v1.1, и только через USB1.1 адаптер, и до кучи все оси коклбасит не по-детски (провода экранированы) ,кнопки работают, правда в место резюка 4.7 впаял 5.1 (в магазине других не было), мож в этом лажа? С прошивкой от LazyCamel видится как неопознанное USB-устройство (во всех портах)!!! Я склонен думать, что весь стрём в конкретно взятой мамаше! Попробую проверить оси на другом компе, тады посмотрим менять ту мать иль не менять!)))
-
Ответ: USB контроллер джоистика
ну и что опять за приколы ????
Люди внимательно читайте инструкцию к сборке .....
Дрожание возможно еасли какойнить из контактов остался болтаться в воздухе .. их все желательно занулять для того чтоб небыло шума
-
Ответ: USB контроллер джоистика
При установке флагов и битов (пользуюсь ПОНИпрог) эта ПОНИпрог перестаёт видеть микроконтроллер. Как тогда можно их поменять обратно!!!!!!!!!!!!!!!!!!!! %) %) %) %) :confused:
-
Ответ: USB контроллер джоистика
-
Ответ: USB контроллер джоистика
Цитата:
Сообщение от Kotik
Интюресный момент получается, во-первых: проверив всё до отупления (распай со стабилитронами), работает ся радость только с прошивкой v1.1, и только через USB1.1 адаптер, и до кучи все оси коклбасит не по-детски (провода экранированы) ,кнопки работают, правда в место резюка 4.7 впаял 5.1 (в магазине других не было), мож в этом лажа? С прошивкой от LazyCamel видится как неопознанное USB-устройство (во всех портах)!!! Я склонен думать, что весь стрём в конкретно взятой мамаше! Попробую проверить оси на другом компе, тады посмотрим менять ту мать иль не менять!)))
Попробуй поставить резистор меньшего номинала.
-
Ответ: USB контроллер джоистика
Получается, что никто не знает какие Security and Configuration bits нужно ставить в ПониПрог для того, чтобы этот хренов джойстик заработал. Конкретно со скриншотом подскажите, ну НЕРВЫ уже ни к чёрту............ А в описании по программированию приводят скриншот с убранными галками во всех битах, и типа записывай, но так перестаёт прошиваться через LPT контроллер и НЕ видит его винда :mad: :mad:
-
Ответ: USB контроллер джоистика
У меня с USB 2 работает. Если схема со стабилитронами, то 4.7 К там вообще не нужен. Ну и наконец не мешает поставить по питанию еще и электролит, мало ли какие там пульсации по питанию, а если еще и тонкий шнурок от USB и приличная токовая нагрузка (если скажем R3-R8 маленького номинала), то может получаться полный бардак.
-
Ответ: USB контроллер джоистика
А разработка на ATMega16 не будет проводится?
-
Ответ: USB контроллер джоистика
Цитата:
Сообщение от MeanDog
Попробуй поставить резистор меньшего номинала.
Thanks, попробую!
-
Ответ: USB контроллер джоистика
Цитата:
Сообщение от ivm
А разработка на ATMega16 не будет проводится?
Она интенсивно проводится. Хочу все выложить в более законченном виде.
-
Ответ: USB контроллер джоистика
Цитата:
Сообщение от Reaiddqd
Получается, что никто не знает какие Security and Configuration bits нужно ставить в ПониПрог для того, чтобы этот хренов джойстик заработал. Конкретно со скриншотом подскажите, ну НЕРВЫ уже ни к чёрту............ А в описании по программированию приводят скриншот с убранными галками во всех битах, и типа записывай, но так перестаёт прошиваться через LPT контроллер и НЕ видит его винда :mad: :mad:
По моему у тебя с кварцем не все в порядке. Попробуй поставить другой кварц. Можеш даже какого нибудь другово номинала попробовать. В этом случае хоть понипрог опять должен увидеть твою атмега.
Можеш попробовать поставить 2 конденсатора по 15пФ межлу ногами кварца и землей.
Какой точно у тебя чип? ATMega8-16PI ?
-
Вложений: 1
Ответ: USB контроллер джоистика
Цитата:
Сообщение от MeanDog
По моему у тебя с кварцем не все в порядке. Попробуй поставить другой кварц. Можеш даже какого нибудь другово номинала попробовать. В этом случае хоть понипрог опять должен увидеть твою атмега.
Можеш попробовать поставить 2 конденсатора по 15пФ межлу ногами кварца и землей.
Какой точно у тебя чип? ATMega8-16PI ?
Чип у меня точно ATMega8-16PI, кварц 12 МГц. Пробовал и без кварца прогой avreal. Тоже пишет ошибку, что мол прошить не могу. А ставлю новый чип, прошивается. Как только начну биты ставить - всё перетают все проги его прошивать.
А в схеме нет ошибок которая ниже:
-
Ответ: USB контроллер джоистика
Нет там ошибок, я эту схему практически 1 в 1 собрал. Тактовый генератор хоть заводится? Если есть возможность, посмотри осциллографом через щуп с низкой входной емкостью (обязательно!) на ногах кварца.
-
Ответ: USB контроллер джоистика
Очь. интересно: устройство работало нормально; сменил мамку - "неопознанное устройство" и через 5 сек БИОС начинает громко ругаться (пищит динамик) и комп реагирует только на Ресет. Раньше была ECS K7VTA3 (USB 1.1), сейчас Gigabyte 7N400 (USB 2.0.). Так может в матери дело, или в версии USB?
-
Ответ: USB контроллер джоистика
У меня дома Acorp 7NFU400 (NForce2), USB 2.0 - работает, на работе EP-8RDA3 (USB 2.0) - тоже.
-
Ответ: USB контроллер джоистика
А кварц менял? Дело в том что в незапрограмированном состоянии атмега работает от внутренего генератора, а прошив биты переключаеш ее на кварц. Все-таки попробуй какой нибудь кварц типа 4МГц.
Бывает что кварцы иногда вылетают в болшинстве от механических воздействий.
Я недавно опубликовал наиболее полную схему:
http://www.mindaugas.com/projects/MJ...matic_v1.4.pdf
Можеш попробовать доработать.
-
Ответ: USB контроллер джоистика
А можешь сказать в чём ті все єти схемки русуешь а ? я тоже так хочу 8) красиво выходит
-
Ответ: USB контроллер джоистика
MeanDog, а для версии 1.4 есть схема печатной платы?
-
Ответ: USB контроллер джоистика
Вопрос разработчикам:
Сложнейшие эксперименты :)) показали, что земляные ноги (8,22) соединины в меге накоротко,
VCC(8) и AVCC(20) - тоже
Так вот, зачем нужно два раза подводить к меге питание и землю, а тем более вставлять индуктивность ?
-
Ответ: USB контроллер джоистика
Молодца MeanDog, круто, попробую 1.4, мож заработает, а то я уморился с предыдущей версией, всё перепроверил, оси не калибруются!
p.s. Для полного кайфа не хватает печатной платы! :D
-
Ответ: USB контроллер джоистика
нарисуй себе её сам .... 8)
-
Ответ: USB контроллер джоистика
Цитата:
Сообщение от paraManiac
Вопрос разработчикам:
Сложнейшие эксперименты :)) показали, что земляные ноги (8,22) соединины в меге накоротко,
VCC(8) и AVCC(20) - тоже
Так вот, зачем нужно два раза подводить к меге питание и землю, а тем более вставлять индуктивность ?
Для надежности :D .Мега конечно мало кушает но возможно проводочки внутри корпуса мс ооочень тоненькие.
Девайс чудненкий.Пора признаватся кто какие датчики использует ;) -или все на резисторах :confused: :confused: