2ibodnar: у атмела эта штука (software usb) вполне себе официально, они не считают это кустарщиной. у них есть application note...
2ibodnar: у атмела эта штука (software usb) вполне себе официально, они не считают это кустарщиной. у них есть application note...
А кто сказал "кустарщина"? А AP для Atmela Игорь написалСообщение от ender
Дело в том, что для 100% соответствия всем закорюкам USB стандарта код наверняка начнет угрожающе расти. Я мельком посмотрел его и некоторые вещи там просто опущены. У меня с соответствием стандарту немножко пунктик есть. Настоящее коммерческое устройство с этого должно начинаться и я на это угрохал огромное количество времени. Как я уже говорил, даже баг в железе обнаружил. Хотя, "работало и так." А вообще-то разнообразие - это хорошо. Игорь и Миндог и LazyCamel - молодцы!
Я пол-года назад в USB сам был не в пень ногой и думал, что кроме MJoy крестьянину некуда больше податься, но потом быстро сообразил, что с высокоразрядными (?) энкодерами MJoy не справиться, т.к. тайминг плотно подвязан к USB и прерывания вообще, кажется, временами отключаются в критических местах (давно я смотрел код.) Так что пришлось зарыться в книги и MC даташиты на пару месяцев...
Я вообще любых разработчиков уважаю, тк это - совершенно неблагодарное дело!![]()
Я вот только не понял зачем новый дизайн на 16F84А делать - его днем с огнем не сыщешь и стоит он из-за этого будь здоров, т.к. остатки скупают изготовители левых карточек доступа закрытых ТВ каналов.
я сам думал, все эти штуки... но, насколько я понимаю, в винде hid где-то тоже не соответствует стандарту, плюс разные штуки могут быть опущены. что касается crc - оно там не вычисляется - то оно тут как мёртвому припадки: в совсем серьёзных случаях не поможет, в приложениях типа mjoy некритично.Сообщение от lbodnar
касательно flow - прерывания запрещаются, да. примерно на 100 мкс, может больше. плюс авр славится своей богатой переферией - хочешь, используешь 8 или 16 разрядные счётчики, хочешь - компаратор с таймером. а уж они не используются в usb стеке и работают независимо. кста, в некоторых новых tiny avr таймеры работают на частоте 64mHz, при частоте ядра 0-20 mHz.
я думал, карточки делаются теперь на чем-то типа tiny12![]()
а на 16f84 - ((красавчики)) он хоть и стоит больше, чем mega48, зато у нас по всем лавкам лежит
у атмела, кстати, с настоящими коммерческими устройствами для USB как-то не очень. 89c5131 они прекратили пр.-во, типа устарел, существуют ещё usb avr, но в них нет флэша (проскакивала информация, что быстродействия не хватает у флеша). ну и правильно: на сегодняшний момент самый быстрый AVR - 24Mhz (или 20...), а usb avr работают на 48Mhz и имеют на борту или масочную ПЗУ, или ОЗУ, куда прошивка может загружаться из последовательного ППЗУ или (не уверен) по USB.
кстати, о стандартах. а у тебя в устройстве, наверное, и Physical descriptor имплементирован?![]()
Я собирался, но не смог описать все части тела, которыми управляются 8 осей и 32 кнопкиСообщение от ender
А если серьезно, то его даже стандарт рекомендует использовать только в инженерных целях (не помню точную формулировку.) А вот есть вещи, которые стандарт точно оговаривает, например мой любимый 9.4.5Все это обязано быть в коде.The Halt feature is required to be implemented for all interrupt and bulk endpoint types
...
For endpoints using data toggle, regardless of whether an endpoint has the Halt feature set, a ClearFeature(ENDPOINT_HALT) request always results in the data toggle being reinitialized to DATA0.
...
The Halt feature is reset to zero after either a SetConfiguration() or SetInterface() request even if the requested configuration or interface is the same as the current configuration or interface.
Я честно скажу, что мое устройство все же не прошло бы сертификацию по железу (если бы я нашел на это дело $5000) - по стандарту, при прекращении траффика на шине, устройство по прошествии 10мс должно перейти в режим потребления тока от шины не более 500мкА. Мой процессор-то в такой режим переходит, да вот переменные резисторы остаются подключенными между +5В шины и землей. В принципе, надо ставить КМОП ключ на всю остальную часть схемы кроме самого процессора. Это относится к светодиодам, pull-up резисторам и прочему.
Но я пока на это откровенно задвинул.
Я собирался, но не смог описать все части тела, которыми управляются 8 осей и 32 кнопкиСообщение от ender
А если серьезно, то его даже стандарт рекомендует использовать только в инженерных целях (не помню точную формулировку.) А вот есть вещи, которые стандарт точно оговаривает, например мой любимый 9.4.5Все это обязано быть в коде.The Halt feature is required to be implemented for all interrupt and bulk endpoint types
...
For endpoints using data toggle, regardless of whether an endpoint has the Halt feature set, a ClearFeature(ENDPOINT_HALT) request always results in the data toggle being reinitialized to DATA0.
...
The Halt feature is reset to zero after either a SetConfiguration() or SetInterface() request even if the requested configuration or interface is the same as the current configuration or interface.
Я честно скажу, что мое устройство все же не прошло бы сертификацию по железу (если бы я нашел на это дело $5000) - по стандарту, при прекращении траффика на шине, устройство по прошествии 10мс должно перейти в режим потребления тока от шины не более 500мкА. Мой процессор-то в такой режим переходит, да вот переменные резисторы остаются подключенными между +5В шины и землей. В принципе, надо ставить КМОП ключ на всю остальную часть схемы кроме самого процессора. Это относится к светодиодам, pull-up резисторам и прочему.
Но я пока на это откровенно задвинул.
Господа-товарищи, я тута прикупил МЕГА8 в планарном корпусе, а там ишшо 2 ноги дополнительных(ADC6, ADC7). В доках по этим ногам написано следующее:
In the TQFP and QFN/MLF package, ADC7..6 serve as analog inputs to the A/D converter. These pins are powered from the analog supply and serve as 10-bit ADC channels.
Кто-нить знает, че с ентими ногами делать, а?
Может на землю их.... Через резистор?
Количество выпитой пилотами водки не влияет на ТТХ истребителей!!!
Ну, видимо в планаре аж целых 8 аналого-цифровых преобразователя против 6 в корпусе DIP.
На землю их, можно и без резисторов.
Не поверишь, это у меня в АВР уже есть :-) Команд верифаер проходит :-)Сообщение от lbodnar
Я на это тоже сразу задвинул, но вот как быть с пулл-апом пока не ясно. Его что - через эти 10мс тоже снимать ? но тогда после начала обмена с устройством начнется по новой и энумерация.Я честно скажу, что мое устройство все же не прошло бы сертификацию по железу (если бы я нашел на это дело $5000) - по стандарту, при прекращении траффика на шине, устройство по прошествии 10мс должно перейти в режим потребления тока от шины не более 500мкА. Мой процессор-то в такой режим переходит, да вот переменные резисторы остаются подключенными между +5В шины и землей. В принципе, надо ставить КМОП ключ на всю остальную часть схемы кроме самого процессора. Это относится к светодиодам, pull-up резисторам и прочему.
Но я пока на это откровенно задвинул.
А если его оставить, он так и будет жрать свои 2ма ? или хост свои приеники тоже отключает ?
Крайний раз редактировалось LazyCamel; 23.03.2006 в 12:51.
Если кто-то в Грузии думал что русские простят 20.09.07 - он был категорически неправ !!!
Верю!Сообщение от LazyCamel
Но верифаер это не проверяет, поэтому я обратил на это внимание только читая стандарт - посмотрел в код, а там этого не было.Начинать снимать всю нагрузку надо через 3мс, а 10мс - это предел когда все должно быть уже "чисто".Я на это тоже сразу задвинул, но вот как быть с пулл-апом пока не ясно. Его что - через эти 10мс тоже снимать ? но тогда после начала обмена с устройством начнется по новой и энумерация.
А если его оставить, он так и будет жрать свои 2ма ? или хост свои приеники тоже отключает ?
Касательно пулапа/пулдауна - ничего делать не надо - посмотри рис.7-20 на стр.141 Они всегда остаются подключены (кроме HighSpeed)
Пулап на шине данных - 1.5кОм, но когда хост прекращает обмен на шине, он переходит в режим приема (чтобы устройство могло послать ему wakeup) и к шине остаются подключенными только пулдаун резисторы по 15кОм. При этом ток течет через пулап и пулдаун последовательно: I=5В/(15кОм+1.5кОм)=300мкА. Так что у тебя есть еще целых 200мкА в запасе
В предыдущем сообщении я имел в виду пулапы на входах периферии, типа тумблеров замыкающихся на землю. Если тумблер остается в замкнутом состоянии, то его пулап будет продолжать травить ток.
Крайний раз редактировалось lbodnar; 23.03.2006 в 13:28.
Супер! Спасибо огромное!!!Сообщение от Ussuri
Мне понравилась модификация - всё в одном, а именно, вариант "Board1" в сборнике MJoy16new.
Кто-то изготавливал по этому чертежу?
Есть ли там ошибки?
Учтены ли все последние пожелания и модификации?
Хочу заказать изготовление этого варианта пром. способом.
Я в Харькове, если кому надо, можем скооперироваться.
Но все-же, самое главное - насколько хорош этот, "Board1" вариант?
если учесть тот странный факт,Сообщение от lbodnar
что в имеющемся железе (материнские платы) иногда USB подключается напрямую к выходу БП +5VSB (дежурное питание, реализовано на 7805), и иногда имеют переключатель (джампер), позоляющий переключать +5V и +5VSB, то начинаешь думать, а как же там с энергопотреблением?
с другой стороны, если мы имеем дело с компьютером, работающим от батарейки (ноутбук), то его выключат, отцепят всю перефирию и уберут в сумку, так что это не критично.
А что касается HALT - винда-то это поддерживает, использует где-нибудь вообще? и насколько это имеет смысл для контроллера джойстика?
Вот вы тему развили.. из рядового устройства ввода..
Первый пост был аж 04-02-2004.. Прошло 2 года.. МОжно в книгу рекордов заносить это событие :-)))))
Не рекордов ради, блага ближнего для!!!
to Ussuri
В ветке, где то проскакивало, что холлы не подходят для геймпорта. Но ss469 по-моему, со встроенным усилителем... Не сталкивался с этим? А то для педалей ставлю военные резюки - шумят, ставлю гражданский отстой СП3 - шумят. Вот...
Геймпорт меряет ток через резистор, а точнее время разряда конденсатора через резистор.Т.е. нужна схема с генератором тока, где-то были на форуме.Поищи. Но шум можно убрать хорошим экранированием проводов, хорошим геймпортом.ИМХО дело не в датчике, а в плохих проводах. Нужен витой экранированный кабель.Сообщение от gsh23
Спирт, клофелин и димедрол- именно эти три компонента делали Айболита добрым.
А витой-то зачем?Сообщение от Ussuri
Витой от магнитных наводок. Все верно.
Всем привет .Знаю, что самодельный контроллер обсуждали еще года 2 назад, но я наткнулся
на вас только позавчера, мне очень интересно. Я собрал сам контроллер и приступил к программатору,
но я не понял, какие ставить сопротивления на нем, на 330 Ом , или на 330 КОм у вас не написано в схеме.
Заранее спасибо.![]()
![]()
![]()
![]()
если просто написано 330 то это омы , если 330к то это килоомы
Сообщение от Blek
Огромное спасибо. А кстати чтото MeanDoga создателя контроллера не видно
Крайний раз редактировалось DFYZ; 30.03.2006 в 16:52.
.Вопрос всем! Что такое VCC, AVCC, AREF, на микросхеме и почему по чертежу
все эти контакты обьединены в один и подключены к +5В на USB ???
А на другом чертеже VCC И AVCC соединены катушкой на 10 генри,
а AREF проходит через кондер на землю.:confused: :confused: :confused:![]()
Крайний раз редактировалось DFYZ; 01.04.2006 в 11:50.
10 Генри?
VCC - питание микросхемы.Сообщение от DFYZ
AVCC - питание АЦП, не должно отличатья от VCC более чем на 0,2V.
AREF - напряжение, которое будет обозначать 100% отклонения оси (не рекомендуется меньше 2V).
Дросель (катушка 10 микро Генри) и кондер на землю - фильтр питаня, устанавливаются на собственное усмотрение.
Крайний раз редактировалось YuretsKm; 31.03.2006 в 12:34.
Ну да генри,Сообщение от lbodnar
индуктивность ведь в генри изменряется!!! :p
Сообщение от YuretsKm
Большое спасибо!
Но я не понял одного, то что на одной схеме AREF подключен к VCC, а
на другой схеме к земле, это без разницы???:confused:![]()