Зедомакс ДИЫ121 - Како направити сопствени "СИКСАКСИС пс3 контролер" БАСИЦ-стил-програмабилни УСБ уређаја!
Кликните овде за преглед у Фулл Сцреен моду
Преко УСБ уређаји се лако корисницима да инсталирати и подесити (под условом да је све исправно). Често, само прикључите УСБ уређај и одмах ради. Ово нарочито важи за улазни уређаји, као што су мишеви и тастатуре.
Они уређаја у складу са спецификацијом слојевитог на врху преко УСБ протокола: Хуман Интерфаце Девице. Скоро све могуће врсте уноса је дефинисан; цео "Извештај дескриптор" језик се користи да кажете рачунару како да процес уноса. Ово није једноставан за примену, десетине специфичних захтеви морају да се рукује правилно.Постоји много корака између прикључивање УСБ уређаја и бити у могућности да га користе, те све одвија у неколико милисекунди и неуспеха сваком кораку, значи уређај неће радити.
Шта ако не морате да бринете о било који? Шта ако можете да користите свој омиљени микроконтролер, то "нешто", а улаз се појављује на рачунар у исправном формату? Ви не би морали да брину о сложеним УСБ-код, ХИД спецификација, или ломљење УСБ кода приликом додавања других функција вам је потребна. Ти не би да се много брину о писању оптимизован код, или се увек добија на начин УСБ прекида.
ХИД портал
То је управо оно што сам одлучио да радим. Пре пар година сам развио УСБ уређаја и прошао кроз све главобоља од добијања УСБ ХИД горе и трчање. Пошто сам већ имала тежак посао урадио, одлучио сам да додате метод примања података са другим микроконтролером и користе те податке, као улазни ток за ХИД кода. Желео сам да користите Цублоц ОСНОВНЕ-програмабилних контролера на мој процес уноса података и послати га ХИД портала.Мој пријаве испита бити убрзања заснован ХИД џојстик, једноставно прикључите уређај у рачунар и он ће радити.
То не мора да буде навигатор, то може бити тастатура, миш, или многе друге контроле дефинисаних стандарда ХИД. То је могуће додати дугмад за контролу јачине звука на уређају ... можда имају склоп искључите рачунар када телефон зазвони? Окрените било ког напона на осе навигатор, било који прелазак на дугме? Све је могуће!
Упдате: одлучио сам да се смањују ЦУБЛОЦ хардвера до ЦБ220, и све стане у авион модела. Модел је изабран да одговара авион на располагању хероја на Пацифику игри смо користили за тестирање интерфејса навигатора.
Објашњење хардвер
ХИД портал је заснован на старом пројекту рудника, заснована на микроконтролеру МЦ68ХЦ908ЈБ8 и програмирао у асемблеру. За одређених разлога не могу да заправо издање број сада, али има много других пројеката УСБ-тамо која може бити прилагођен за ову сврху. Постојиопен потиче мека УСБ-имплементација за АТтины микроконтролер, рецимо.
Мој микроконтролер нема уграђену И2Ц или СПИ-, па ми је потребна за спровођење једног од мог. Ја, такође нису имали прекинули пинове на располагању, што значи да ми је потребно да решење буде засновано на гласање. Када је све речено и учињено и оптимизован, нисам могао да детектује ивице брже од 16кХз. То је око десет пута спорији него помак излаз на располагању од ЦУБЛОЦ контролер, тако да нисам могао да се користи. Ја се завршила писање моје смене оут рутине у БАСИЦ-у да бисте добили податке ХИД портала. Ово би могло да се избегне коришћењем микроконтролера који има И2Ц или СПИ-у већ изграђена, али ЈБ8 је оно што сам имао при руци.
Да користе три сигнала за комуникацију са контролером ЦУБЛОЦ. Прво, ту је ЦЛК сигнала. ХИД портал детектује диже предност. У том тренутку, он наводи вредност присутна на ПОДАТАКА линији.Ово се помера у регистар док бајт је примио, и број потеза на следећи бајт. / РСТ линија је начин да синхронизујете почетку сваког пакета података у случају да је било Подметнут уноса, када се поставља најнижи пакет и мало индексе на нулу.
ХИД Портал је тренутно програмиран да ради као навигатор са три осе и осам тастера. Ја сам такође је тестиран као тастатура. У будућем развоју, волео бих да ХИД портал флексибилнији, нека спољни контролер изаберете тип уређаја и колико сваки улаз су обавезна. Било би најфлексибилнији ако је директно прихваћен извештај ХИД дескриптора, али то отвара могућност да направи више грешака и на крају се уз уређај не ради.
Убрзања је де-АЦЦМ3Д од димензија факултет. ЦУБЛОЦ једноставно чита напона на АДИН портове и конвертује на вредност између 127 и -127.
Наставак на Следеца Страна
















































