Zedomax DIY121 - Kif tagħmel int stess "PS3 kontrollur SIXAXIS" stil BASIC programmabbli-apparat USB!
Ikklikkja hawn biex View Full Screen Mode
Apparat USB huma faċli għall-utenti biex tinstalla u stabbilit (sakemm kollox ikun qed jaħdem sew). Spiss, inti biss plug f'apparat USB u taħdem immedjatament. Dan huwa speċjalment veru għal apparati ta 'input, bħal ġrieden u keyboards.
Dawk il-mezzi jikkonformaw ma 'speċifikazzjoni jirkeb fuq nett tal-protokoll USB: Bniedem Device Interface. Kważi kull tip possibbli ta 'l-input huwa definit; EUROVOC kollu ta' rapport "tintuża lingwa li tgħid il-kompjuter kif proċess ta 'l-input. Din mhix sempliċi ħafna biex jiġu implimentati; għexieren ta 'talbiet speċifiċi għandha tiġi mmaniġġjata sew. Hemm ħafna passi bejn pagamnenti f'apparat USB u li jkunu jistgħu jużawh; dawn kollha jsiru fi ftit millisekondi u nuqqas ta 'kwalunkwe pass tfisser l-apparat ma jaħdimx.
X'jiġri jekk inti ma għandekx għalfejn tinkwieta dwar xi li? X'jiġri jekk inti tista 'tuża mikrokontrolluri favoriti tiegħek, ma "xi ħaġa" u l-kontribut jidher fuq il-kompjuter fil-forma korretta? Inti ma jkollhomx għalfejn tinkwieta dwar USB kodiċi kumplessi, HID speċifikazzjonijiet, jew breaking kodiċi USB tiegħek meta jiżdied il-funzjonijiet oħra li għandek bżonn. Inti ma jkollhomx għalfejn tinkwieta ħafna dwar il-kodiċi ottimizzati bil-miktub, jew dejjem jkollna fil-mod ta 'jinterrompi USB.
HID Portal
That's I eżattament dak li ddeċidew li jagħmlu. Koppja ta 'snin ilu, jiena żviluppajt apparat USB u għaddiet l-uġigħ ta' ras ta 'jkollna a USB HID twaqqaf u qed jiffunzjona. Peress I diġà kellha x-xogħol iebes magħmul, I iddeċieda li jżid l-metodu ta 'data li tirċievi minn Stat mikrokontrolluri u l-użu li d-data bħala l-fluss ta' input għall-kodiċi HID. I riedu jużaw BAŻIĊI Cubloc-kontrollur programmabbli li tiġi proċessata data input tiegħi u tibgħatha lill-Portal HID. Applikazzjoni tat-test My tkun aċċellerometru bbażata fuq joystick HID; sempliċement plagg l-apparat fil-kompjuter u se taħdem.
Hija ma kellhiex tkun joystick; din tista 'tkun tastiera, maws a, jew kontrolli oħra ħafna iddefinit mill-istandard HID. Huwa possibbli li jiżdiedu buttuni tal-kontroll tal-volum għal mekkaniżmu ... forsi jkollhom ċirkwit mutu kompjuter tiegħek meta l-anelli phone? Turn kull input tal-vultaġġ ġo assi joystick, kull bidla fis-buttuna? Xejn huwa possibbli!
Update: I iddeċieda li tiċkien il-hardware CUBLOC stabbiliti għal CB220, u kollox tajjeb fis-mudell ajruplan. Il-mudell ġie magħżul biex jaqblu ma 'ajruplan disponibbli fil-Eroj tal-logħba tal-Paċifiku we użati biex ikunu ttestjati l-interface joystick.
Hardware Spjegazzjoni
Il-Portal HID hija bbażata fuq proġett qadim ta 'mini, ibbażata fuq mikrokontrolluri MC68HC908JB8 u programmati fil-lingwa assemblaġġ. Għal raġunijiet ta 'ċerti I ma jistgħux attwalment ir-rilaxx tal-kodiċi dritt issa, imma hemm bosta proġetti USB oħra hemmhekk li jista' jiġi adattat għal dan il-għan. Hemm ta 'l-miftuħa tal-PNR implimentazzjoni artab USB għall-mikrokontrolluri ATtiny, per eżempju.
Mikrokontrolluri tiegħi ma iħaddnu I2c jew SPI, so I meħtieġa biex jimplimentaw waħda mill tiegħi stess. I wkoll ma kellhiex jinterrompux pins disponibbli, jiġifieri soluzzjoni tiegħi meħtieġa biex tkun ibbażata fuq l-votazzjoni. Meta kollox kien imsemmi u jsir u ottimizzati, I ma setgħetx tiskoprihom trufijiet aktar mgħaġġel minn 16Khz. Dan huwa madwar għaxar darbiet aktar bil-mod bidla mill-produzzjoni disponibbli mill-kontrollur CUBLOC, so I ma seta 'juża dik. I ended up miktub shift tiegħi stess fl-rutina fl-BAŻIĊI biex jiksbu d-data lill-Portal HID. Din tista 'tiġi evitata billi tintuża mikroċirkwit li SPI jew I2c mibnija diġa, iżda l-JB8 huwa dak li kelli fuq naħa.
I tuża t-tliet sinjali biex jikkomunikaw mal-kontrollur CUBLOC. L-ewwel, hemm sinjal CLK. Il-Portal HID jikxef rising edge. F'dak il-punt, jgħid il-valur preżenti fuq il-linja DATA. Din hija trasferita ġo reġistru sakemm byte ikun wasal, u l-azzjonijiet tal-kodiċi għall-byte li jmiss. Il-/ RST linja hija mod biex synchronize l-bidu ta 'kull pakkett tad-data fil-każ li kien hemm xi dħul artifiċjali; LOW meta hija tiffissa l-pakkett u l-indiċijiet bit għal żero.
Il-Portal HID bħalissa huwa pprogrammat li jaġixxu bħala joystick bi tliet assi u tmien buttuni. Stajt wkoll ittestjati bħala keyboard. Fl-iżvilupp futur, I'd simili biex tagħmel il-Portal HID aktar flessibbli; let-kontrollur estern agħżel it-tip mezz u kemm ta 'kull input huma meħtieġa. Ikun l-aktar flessibbli jekk hija direttament aċċettat deskritturi rapport HID, iżda li jiftaħ il-possibbiltà li jsiru żbalji fl-aktar u tispiċċa bil-mezz mhux tax-xogħol.
L-aċċellerometru huwa DE-ACCM3D mill-Dimensjoni Engineering. Il-CUBLOC sempliċiment jaqra l-vultaġġ dwar il-portijiet ADIN tagħha u tikkonverti għal valur bejn -127 u 127.
Komplew fuq Next Page
















































