Emulátor disku USB. Vytvorenie virtuálnej jednotky Flash na príklad programu OSFUNT

Projekt OLOF LAGERQUIST, vynikajúci program pre emuláciu diskov, ale pretože môže všetky emulovať disky, ale nie vytvoriť flash disk alebo disketu. Disky sú vytvorené vo virtuálnej pamäti, môžete ich fyzicky vyložiť do súborov súborov. Po inštalácii je program dostupný na ovládacom paneli PC.

Kliknite na "OK", je pripravený virtuálny obraz.

Formulár
Obrázok môže byť v prípade potreby uložený a namontovaný. Kde príde to Handy? Napríklad, pre lenivý na takýto virtuálny flash disk, môžete hodiť certifikáty pre Cryptopro.)) Alebo použiť ako disk v RAM na uloženie vyrovnávacej pamäte, stránkovacieho súboru a iných vecí.
Tam je tiež alternatívny GUI -

Automatické pripojenie:
Echo
rEM Umiestnite do automatického pripojenia
c: Windows System32 imdisk.exe -a -f "% ProgramFiles% Flash.IMG" -M F: -O REM

Niektoré parametre príkazového riadka:

iMDISK.EXE -E -S 300M -M B: - Priblíženie disku B 300 MB

iMDISK -A -T FILE -O RO -M -M Y: -F C: boot.img - Namontujte boot.IMG disk y, len čítanie

iMDISK -A -T FILE -M Y: -F C: BOOT.IMG - Namontujte boot.img disk y, len čítanie / zápis

iMDISK -D -D -M Y: - Demontujte pohon y

iMDISK -A -S 150M -M #: -P "/ FS: NTFS / Y / Q / V: IMDISK - Vytvorte 150 MB disk, zobrazenie prvej voľnej, formátovania v NTFS, IMDisk Disk Label

iMDISK -A -A -S 10% -M #: -P "/ FS: NTFS / Y / Q / V: IMDISK - Aj keďže predchádzajúca, iba veľkosť je označená ako 10% voľnej pamäte.

iMDISK -A -S -500M -M #: -P "/ FS: NTFS / Y / Q / V: IMDISK - Aj keďže predchádzajúca, iba veľkosť je označená iba veľkosťou mínus, to znamená, že rovnaký objem voľnej pamäte mínus zadaná veľkosť. S 1200 MB voľnej pamäte bude veľkosť disku 1200-500 \u003d 700 MB

iMDISK.EXE -A -T PROXY -O IP -F 127.0.0.01:80 -M Z: - Použitie so serverom, ktorý sa nachádza na internete, v skutočnosti nekontroloval.

A - Connect Wirth. disk.

D - Zakázať Worth. disk.

E-editácia wirth. disk.

_________________________

B - Zadajte offset, to znamená, že začiatok údajov na disku je indikovaný pre disky vytvorené v rôznych programoch, na obrázkoch, z ktorých musíte preskočiť počiatočné atribúty v súbore.

S - veľkosť virtuálneho disku. Veľkosť je počet bajtov, ak prípona A (AUTO), B (Množstvo 512 Byte Blocks), K (tisíce Byte), M (milión bajtov), \u200b\u200bG (Bills Byte), T (billón bajt), K (kilobyt) , M (megabyte), g (gigabyte) alebo t (terabajt). Tisíc bajtov a kilobajtov sa líšia v kilobate 1024 bajtoch, a nie 1000. Napríklad. -s 150m alebo -s 10% - 10 percent voľnej pamäte. Parameter -500m - s mínusovým znakom určuje veľkosť generovaného disku ako objem voľnej pamäte mínus zadaná veľkosť.

O - Nastavené možnosti, aplikované v spojení s uvedenými parametrami

rO - Len čítanie

rW - čítanie / záznam

rEM - Inštalácia ako disk shift (flash disk). To určuje vlastnosti disku, ukladanie do pamäte cache a tak ďalej.

oprava - nastavená ako trvalý, pevný disk (na rozdiel od REM)

cD - Vytvorenie virtuálneho CD-ROM / DVD-ROM.

fD - Vytvorenie diskety. Predvolené pre veľkosť 160k, 180K, 320K, 360K, 640K, 720K, 820K, 1200K, 1440K, 1680K, 1722K, 2880K, 123264K alebo 234752K.

hD - Vytvorenie tvrdej časti.

iP - parameter pripojiť k proxy serveru.

comm - Pripojenie k pamäťovému serveru cez port COM.

________________

M - Definuje list jednotky. Napríklad -m b: alebo -m y: alebo -M #: - prvý bezplatný list disku.

F - Názov súboru Wirth. disk, napríklad -f c: boot.img alebo -f server \\ t -F \\ EDVERTION Harddisk0 \\ t - Posledná, keď písmeno disku nie je priradený a definícii podľa tvrdého čísla, číslo čísla oddielu (logický disk) a skutočný spôsob.

Niekedy existujú situácie, keď budete musieť pracovať s nástrojmi (účtovníctvo, sociálne, ktoré si vyžadujú povinnú dostupnosť externého dopravcu v počítači). Alebo stačí nainštalovať novú verziu operačného systému. Ale čo robiť, ak neexistuje žiadny flash disk, žiadne bezplatné CD. Tam je výjazd! Potrebujete špeciálny program, ktorý bude fungovať ako virtuálny flash disk.

Osfmount- Rescue Circle pre tých, ktorí nemajú žiadne vymeniteľné médiá

Osfmount je malý program, ktorý pomôže vytvoriť disk. Táto aplikácia môže vytvoriť ako pripravený obraz (obrázok) pohonu a RAM, ktorý existuje len v RAM. Disketový pevný disk, umelý optický disk, a čo je najdôležitejšie, virtuálny flash disk - program môže namontovať všetky tieto obrázky. Windows 10, Windows 8, Windows 7 Virtual USB Flash disk bude vytvorený na ľubovoľnom operačnom systéme Windows a v 64-bitovom prostredí a 32-bitovom prostredí. V montáži môžete dokonca určiť definované písmeno pre umelý disk a nainštalovať požadované atribúty. Veľkosť pomôcka sa zároveň nedosiahne až 2 megabajty, jeho veľkosť je len 1,95 MB. Zo minusov, len skutočnosť, že program nepodporuje rusky.

Osfmount pomocou inštrukcií

Pri používaní je jednoduché a vytvoriť flash disk nebude potrebovať veľa času a úsilia. Ako vytvoriť virtuálny USB flash disk pomocou OSFount:


Aj v dokumente môže potrebovať niektoré možnosti, ktoré sa otvárajú po kliknutí na akcie jednotky. V tejto možnosti existujú:

  • Odvolanie - odpojiť;
  • Formátovanie - Pomocou tejto možnosti môžete vytvoriť formátovanie;
  • SAVETOIMAGEFILE - Uloženie v požadovanom formáte;
  • Otvorené - na otvorenie;
  • Nastavte len čítanie médií - zakazuje záznam;
  • Rozširuje - slúži na expandovanie;
  • Nastavené médiá zapisovateľné je záznam.

To je, ako veľmi ľahko vykonávať virtuálny USB blesk na počítači. Zobrazí sa obrázky pre virtuálny blesk. Ale v prípade zavádzacieho obrazu bude musieť disk formátovať a otvoriť len v tejto aplikácii.

Alternatívnou verziou tejto aplikácie je virtuálna flash disk, ktorá je tiež veľmi jednoduchá a pohodlná pri vytváraní umelého ukladania informácií. Ich rozdiel je, že v ostmount ďalších ďalších možností a navyše k blesku USB môžu byť vyrobené iné umelé disky.

Záver

Teraz sa stáva jasným, aj keď neexistujú žiadne externé nosiče, a sú veľmi potrebné, môžete ich urobiť umelo vytvorené analógové v niekoľkých kliknutiach.

Čo je to a prečo je to potrebné?
Ak má magnetol v aute vstup pre CD CDAnder, môžete k nej pripojiť podobný adaptér, oklamať rádio a rozhodne sa, že menič bol pripojený k nemu, a namiesto zvyčajného flash disk s hudbou sa používa namiesto disky. Adaptér môže byť spravovaný pravidelnými prostriedkami, vrátane ovládania z volantu.

Tam bolo už niekoľko recenzií takýchto adaptérov, najznámejšie - čínske Yatour.

Rozhodol som sa ísť neštandardným spôsobom, rozhodol som sa vyskúšať ruské trómy FLIPPER 2.
Celkové hodnotenie je vynikajúce, som spokojný s nákupom, odporúčam.

Podrobnosti sa pýtam pod mačkou

Predslov

Je tu jednoduchá túžba - chcem počúvať hudbu v aute. V rádiu je ďaleko od toho, že vždy prichádza niečo vhodné, niesť veľa CD diskov, a dokonca ich neustále zaznamenávajte, unavený.
V mojom PEUGEOT 407 2007 je tu Gu (hlavná jednotka), v budúcnosti navštívil jednoducho rádio, bez USB, Bluetooth a bez pravidelného vstupu AUX.

Ak stroj stojí za to obvyklé rádio, nie je viazané na ovládanie niektorých funkcií stroja, najjednoduchší spôsob, ako si kúpiť novú rádiovú pásku. Značková rádiová páska Recorder s USB vstupom je možné zakúpiť v sto euro. Ktorá suma bude musieť minúť tak, že chápe správu z volantu.

Môžete si libry a pripojiť AUX (AUDIO) vstup, ale stále zvukový zdroj bude potrebovať, a o ovládaní z volantu bude musieť zabudnúť.

Možnosti s FM vysielače, ktoré som dlho upustil - Snažil som sa pár rôznych vysielačov, kvalita zvuku nebolo veľmi.

Existuje ešte jeden spôsob, pripojte sa k magnetolu k vstupu CD meniča appter, ktorý umožní počúvať hudbu z pohonov flash, ovládanie adaptéra pravidelnými prostriedkami rádiovej pásky, vrátane volantu. Podobné adaptéry môžete nájsť od rôznych výrobcov s rôznymi parametrami a s kvalitou, spoľahlivosťou, pohodlnosťou alebo cenou.
Najslávnejší adaptér je Yatour. Najkrajší, možno, American Grom Audio, ktorý hrá, vrátane FLAC. No, na hromadu niekoľkých ďalších zariadení - Audiolink, Xcarlink, DMC, Dension.

V prvom rade som sa začal pozerať na Yatour. Na Ali, theties z $ 50. Ale preskúmania na internetovom nadšenici trochu prigilne. Na lineárnom výkone adaptéra s pevnou úrovňou sa preto na mnohých rozhlasových záznamoch, úroveň hlasitosti je výrazne nižšia ako z rádia. Niekedy nestabilná práca, zavesiť, kritické pre prevenciu zahraničných súborov na flash disk. Počet podporovaných adresárov - koľko diskov podporuje rádio, v mojom prípade je 6.

Yatour nemá oficiálnu stránku, stránky internetu sú stránky predajcov. A informácie musia byť zostavené na zrnách na rôznych miestach, väčšinou odhlásiť tých, ktorí ho dali, ale ich skúsenosti nie sú vždy vhodné pre vaše rádio.
Ale mal som šťastie, narazil som sa na bieloruský predajca Yatour Sergei Aka SSD, ktorý odpovedal na všetky moje otázky, vrátane funkcií práce s mojím rádiom.
Všeobecne platí, že to funguje, ale môžu existovať problémy s objemom a nestabilnou prácou. Od Sergeyho najprv počul o Grom Audio a o trime, ktorý tiež predáva.

Grom Audio na Android, podporuje FLAC, ale nie je pre moje auto.

Ale troma flipper 2 záujem. Po prvé, možnosť nastavenia úrovne výstupu (hlasitosť). Okrem toho má oveľa pohodlnejšiu organizáciu priečinkov a môže byť oveľa viac. A je oveľa menej gluchny.
Požičaným dobrým porovnávacím stolom a trojcom


Zvýšenie domácich zvierat:
1. Zahraničné súbory nezasahujú do prehrávania. Minimálne na nejakom firmvéri.

Tak som si vybral. Troma !!!
Pri nákupe podobného adaptéra, musíte si vybrať model pod vaším autom. Presnejšie, pod strojovým strojom vášho auta. Rôzne magnetol môže mať rôzne konektory pod meničom, ktoré nie sú navzájom kompatibilné.

Kde si môžem kúpiť trojkomusty?

Internetová stránka výrobcu, ktoré predávajú triom produkty. S nákupom adaptéra v Rusku alebo Bielorusku nie sú žiadne problémy. A v Európe, kde si ma uľahčuje a nemusíte prispôsobiť a zaplatiť NSO, ceny sú dvakrát vyššie, od 120EUR bez nákladov na prepravu.

Začal hľadať známych, ktorí by mi mohli priniesť adaptér z Ruska alebo Bieloruska. Nájdené !!! Našiel si priateľa z Ruska, ktorý si objednal a na začiatku februára mi už priniesol adaptér! Oleg, ďakujem!

A tu je adaptér doma!



Súprava obsahuje samotný adaptér, kábel na pripojenie k rádiu a kábel USB.
Dĺžka kábla na pripojenie k rádiu je len 40 cm, ktorá okamžite ukladá obmedzenia na usporiadanie adaptéra v stroji - musí byť umiestnený priamo za rádiom, dokonca aj pred krabicou rukavice nedosiahne.
Adaptér veľkosti je niekde s cigaretou. Jednoduchý plastový box s vyčnievajúcim káblom na pripojenie pod zariadeniach alebo káblom AUX. Avšak, po pripojení adaptéra do rádia, nikto iný to nevidí.
Okrem toho vzal kábel AUX s Minijackom na konci (+ 500R)


Niekoľko ďalších obrázkov

Konektor pre pripojenie ďalších zariadení, kábla AUX alebo adaptéra Bluetooth


Mama na adaptéri


Otec na kábel


RD4 Magnetický konektor


Neotvárať


Inštalácia

RADY RADIO, HEXAGON odhalí dve skrutky a získajte rádio.

Za dva vhodným konektorom nebude fungovať na jednom z nich - overené;)
Fotografia určuje požadovaný konektor. V ňom je vysielanie pripojené na pripojenie chandra, vytiahnite inštalovaný konektor a zapnite sa vlastné.


Pripojujeme kábel s adaptérom, zapnite zapaľovanie a zázrak - všetko okamžite zarobené !!! Okrem toho je úroveň hlasitosti približne rovnaká ako z vstavaného CD.

Ale potom začneme myslieť - kde zobraziť USB kábel. Najjednoduchší spôsob, ako v mojom prípade Ukázalo sa, že blokovanie kábla pod volantu v malého hráča na ľavý ovládač.


Samotný adaptér skočil do výkriku vzadu vľavo od rádia. Miesta sú trochu, po inštalácii rádia na mieste sa ukázalo, že adaptér sa tam upustil, aby bol upnutý káblom, takže nebolo potrebné upevniť adaptér na ďalší konsolidát.

Všetky fóra píšu, že magnetol vyžaduje aktiváciu meniča v službe. Mám všetko, čo sa ukázalo oveľa jednoduchšie. Po zapnutí sa magnetol sám určil, že menič je pripojený k nemu a je možné vybrať cez vstupný spínač (rádio / CD / menič).
Ako sa ukázalo, aktivácia nie je potrebná pre rádio, ale pre displej tak, aby mohol odrážať informácie pre chandra.
Ale pred pol rokom som a čínština, dobre vykonané, pošlite displej so všetkými aktivovanými funkciami. Takže všetko fungovalo pre mňa bez ďalšej aktivácie.

Práca adaptéra

Kvalita zvuku. Porovnateľné s prehrávačom CD. Staviteľská akustika v aute je pomerne mediocre, takže určite nepočujete rozdiel s bežným CD prehrávačom na mojom aute.
Rýchlosť výkonu. Menej pár sekúnd po zapnutí zapaľovania na flash disk s dvojicou desiatok adresárov. Je napísaný na fórach, že s niekoľkými sto katalógov je rýchlosť menšia. Adaptér si pamätá, kde hral pred vypnutím a začne hrať z toho istého miesta. Táto nehnuteľnosť je cenná počúvať audiokniky. Adaptér si pamätá miesto zo 4. flash diskov /
Prepínacie stopy. Frakcia sekundy, neexistuje žiadny rozdiel v tom istom alebo inom katalógu, je trať. Počas prepínania neexistujú žiadne cudzie zvuky.
Výmena jednotky Flash. S bežiacim rádiom vytiahnite flash disk a položte nový. Určuje sa počas niekoľkých sekúnd a okamžite začne hrať. Počas výmeny môže zaznie veľmi tichý krátky výbor.

Adaptér chápe 32 katalógu, v ktorom môže byť 32 podadresár, v každom z nich môže byť až 99 súborov. Ale čoskoro som si uvedomil, že diskový prepínač prepne len prvé šesť diskov. Aj keď v náhodnom režime vidí adaptér všetky adresáre.

Spýtal som sa na otázku na fóre Triómov, podpora odpovedala veľmi rýchlo a ponúkol možnosti organizácie adresárov. Problémom bolo, že na tlačidlách RD4 dokonca vykonajte funkciu disku + / disk, v skutočnosti, že sú odoslané na priamy disk Vyberte 1-6 príkazu do adaptéra. Takže tieto tlačidlá môžete prepínať len 6 koreňových adresárov alebo 6 podadresárov.
A spravovať 1024 katalógov na mojom rádiu nebude fungovať. Môžete spravovať iba 32 * 6 \u003d 192 alebo katalógy;)

Popis hovorí, že tlačidlá FF / FR vykonávajú duálnu funkciu - Zmena adresárov / podadresácií a previnúť dozadu.
Ale na RD4 Track + / Track- v kombinácii s FF / FR a pre adaptér, majú tieto tlačidlá trojitý účel:
1. Krátky stlačte - TRACK + / TRACK-
2. Stlačte 2-3S, stlačené, keď zvuk z aktuálnej skladby zmizne - prepínanie adresára
3. Dlhé stlačenie\u003e 3sek, existuje zrýchlený tlmený zvuk - previnúť dozadu
Čas je približný, Orient na zvuk

Aj pred nákupom sa predpokladalo, že napíšem jednu veľkú megaflushku so stovkami adresárov. Ale teraz vidím, že je pohodlnejšie mať niekoľko flash diskov s rôznymi výbermi.
Teraz to mám:
1. Ruská fáza 80-90s
2. Zahraničný POP 80-90-E
3. inštrumentálne

CELKOM. Pre relatívne malé peniaze som dostal hmotový adaptér s dobrou kvalitou zvuku a jednoduchým intuitívnym ovládaním. Nákup je veľmi potešený, tróm - dobre urobené !!!

Ďalšie odkazy

Mini Chavo.

Niektoré otázky zostali mimo tejto kontroly, rozhodol som sa, že ich odobrať do samostatného minipath. Tu pridám otázky, ktoré vzniknú v komentároch.
  • Čo je potrebné vykonať, aby sa názvy (názvy súborov, značky alebo aspoň čokoľvek) zobrazené na displeji?
  • Adaptéry troma budú určite "vidieť" a značky a názvy súborov a názvy súborov. Tam, kde je to možné, zobrazujú textové reťazce na pravidelnom displeji rádia: BMW a všetky autá s optickou pneumatikou najviac. Možno, že textový výstup bude realizovaný pre niektoré zariadenia Toyota / Lexus.
  • CD-meniaca sa bez problémov sa vyrovnáva s úlohou.
  • Obávam sa, že sa mýlite: Externé chandurgers nie sú neznáme, okrem vyššie uvedených modelov, ktoré sa vyrovnávajú s touto úlohou. Rhandres zapustené do hlavovej jednotky je ďalšia záležitosť, výstup textu sa vyskytuje priamo do regulátora displeja, je úplne iný mechanizmus.
  • Je možné pripojiť ďalšie zariadenia na triom adaptér?
  • Adaptér môže byť pripojený alebo kábel AUX-MINI-MINI adaptéra 3.5 otec
Mám v pláne kúpiť +23. Pridať do obľúbených Páči sa mi recenzia +21 +46

Vývoj rôznych zariadení založených na mikrokontrolérii je lekcia hodná tohto počítača. Nepochybne, užitočný trik akéhokoľvek gadget bude rozhraním USB pre pripojenie k počítaču. Ale čo robiť, ak AVR čip neposkytuje podporu hardvéru USB?

V-USB: Veľkosť Záleží

Pri vývoji vlastného gadget, často čelí pripojenie k počítaču. Musím povedať, že LPT a COM porty sú teraz exotické na doskových doskách, nehovoriac o notebookoch, ktoré tieto rozhrania zmizli už dávno. Moderné počítače preto nemajú takmer žiadnu alternatívu k rozhraniu USB.

Ak sa zdroje čipov používajú na sto percent, je lepšie okamžite pozrieť na zariadenia s hardvérou podporou pre univerzálnu sekvenčnú pneumatiku (takéto mikrokontroléry sú prítomné v riadku akéhokoľvek výrobcu). V iných prípadoch môžete použiť softvér USB.

Pre Mikrokontroléry ATMEl je nádherný projekt V-USB, ktorý ponúka implementáciu softvéru s nízkou rýchlosťou USB 1.1. Kód V-USB bude fungovať na akomkoľvek zariadení AVR, ktoré má aspoň 2 kb flash pamäte a 128 bajtov RAM s frekvenciou hodín 12; 12.8; pätnásť; šestnásť; 16,8 alebo 20 MHz.

Použitie výrobku je možné v rámci GPL open source a na komerčnom základe. Aby ste mohli rozvíjať vlastné zariadenia USB, zvyčajne potrebujete kúpiť niečo ako licenciu. Ale chlapci z V-USB sa o to starali, tým, že kúpili niekoľko ID dodávateľa - ID produktu a umožnili im používať každého, kto chce.

Väzba hardvéru na pripojenie USB zbernice do mikrokontroléra je veľmi jednoduché. Ak zariadenie nespotrebuje príliš veľa, potom môže byť napájaný priamo z pneumatiky (sa usudzuje, že elektrický riadok počítača je schopný dať až 500 mA). Keďže informačné linky (D + a D-) použite úroveň signálu 3,6 V, okrem rezorcií obmedzujúcich prúd, sú potrebné stabilidy, aby zodpovedali logike 5-volt chip. Ak chcete označiť typ pripojenia, musíte "vytiahnuť" napájacie napätie cez odpor 1,5 kΩ na D-line.

Alternatíva k USB párovaniu - znížiť napájacie napätie regulátora pomocou vhodného stabilizačného čipu alebo len pár diód. Posledná schéma nájdete na stránkach projektu V-USB.

Programátor USBTINY

Pre AVR mikrokontroléry, existuje mnoho rôznych programátorov. USBTINY je tu uvedený najmä preto, že obsahuje softvér USB, ktorý implementuje podobný V-USB. Schéma tohto programátora je jednoduchá: verzia 2 obsahuje dva čipy a prvá verzia je len jedna (samotná Attiny2313). Kvôli podrobnému popisu na stránkach a jednoduchých komponentoch je zariadenie ľahké urobiť ešte začiatočník. USBTINY je kompatibilný s populárnym programom AvrDUDUDE, ktorý sa používa na program AVR Microcontrollers.

Jediný problém je naplniť firmvér v programátorovom čipe - pre to potrebujete ... programátor. Ak je počítač s LPT portom, potom môžete urobiť jednu z možností FBPRG AKA "Päť elektroinštalácie", ktorý je železo

Varenie Svety

Softvérové \u200b\u200bnástroje potrebné na implementáciu najjednoduchšej USB Gadget Firmware, extrémne Ascetic: GCC-AVR Compiler, AVR-Libc Library, Avrdede programátor a BINUTILS SET PRE AVR. V Debian / Ubuntu, všetko, čo potrebujete, je nastavený jedným príkazom:

$ sudo apt-get nainštalovať AVRDUDUDE BINUTILS-AVR GCC-AVR AVR-libc

Na bezhraničných internetových priestoroch sa dá ľahko nájsť veľmi podrobný sprievodca na V-USB a Libusb (v angličtine). Podľa návodu na pridanie podpory USB k projektu budete potrebovať priečinok USBDRV z archívu s najnovšou verziou V-USB. Koreň tohto priečinka má konfiguračnú šablónu USBCONFIG-prototypu. Musíte vytvoriť kópiu tohto súboru zavolaním USBCONFIG.H. Nasledujúci - správny USBCONFIG.H, zadanie portu (d), ktorých línie budú použité pre I / O, priamo číslo D + (2) a D- (3), a frekvencia (12 MHz) na Ktorý čip pracuje (Attiny2313):

#Define USB_CFG_IOPORTNAME D #DEFINE USB_CFG_DMINUS_BUSKO 3 #DEFINE USB_CFG_DPLUS_BUT 2 #DEFINE USB_CFG_CLOCK_KHZ 12000

Ak chcete využiť licenciu V-USB pre zariadenie, numerické identifikátory výrobcu a zariadenia nemusia byť zmenené. Názvy znakov možno zvoliť k vášmu vkusu (umožnia vám rozlíšiť viacero zariadení založených na V-USB pripojenom k \u200b\u200brovnakému počítaču):

#Define USB_CFG_VENDOR_ID 0XC0, 0X16 #DEFINE USB_CFG_DEVICE_ID 0XDC, 0x05 #DEFINE USB_CFG_VENDOR_NAME "N", "E", "t", "S", "4", "K", "E", "E", "K" , "S", ".", "C", "O", "m" #define USB_CFG_VENDOR_NAME_LEN 14 #DEFINE USB_CFG_DEVICE_NAME "U", "S", "B", "E", "X", "A" , "M", "p", "l", "e" #define USB_CFG_DEVICE_NAME_LEN 10

Rôzne gadgets

Máte predstavu o nejaké zariadenie? Nenechajte sa ponáhľať na spájku a ísť a pozrieť sa, možno niekto to urobil. Ak nie je možné používať hotové schémy a zdroje, potom aspoň nemusíte začať všetko od nuly.

Napríklad projekt V-USB vďaka licencovanej politike sa nahromadil slušnú základňu pripravených (vrátane voľne distribuovaných) riešení. Tu nájdete rôzne implementácie klávesnice, USB adaptéry pre joysticks, gamesads (vrátane vzácnych, ako sú SNES / NES, Nintendo 64, Zx Spectrum Joystick, Sony Playstation 1/2) a podobne. DMX adaptéry, COM a UART, I2C, servo porty, bezdrôtové rozhrania DCF77, IR - všetko, čo pomôžu pripojiť viac nových zariadení na PC. Loggery, platformy pre senzory a snímače, adaptéry na LCD displejov, programátorov a nakladačov môžu byť tiež užitočné v ekonomike.

Program pre čip je elementárny!

Pri interakcii nad autobusom USB je počítač hlavným zariadením, ktoré pravidelne odosiela správy o riadiacich správach. Regulátor, podriadený a musí odpovedať na žiadosti. Formát riadiaceho hlásenia je určený štruktúrou USBREQUEST_T z súboru USBDRV.H:

TYPEEDEF STRUKTY USBREQUEST (UCHARNUJE BREAKEST: UCHARDNA BREEQUEPEST; USBWORD_T WINDEX; USBWORD_T WLINGH;) USBREQUEST_T;

Vytvorte súbor main.c na jednej úrovni s priečinkom USBDRV a opíšte potrebné súbory hlavičky, definície a premenné:

#Include. #Include. #Include. #include "USBDRV.H" #DEFINE F_CPU 12000000L // Frekvencia MK #include #Define data_out 1// Odoslať #Define Data_in 2 // Dostať príkaz // static Uchar ReplyBUF \u003d "Hello World!" Buffer; Statická uchanátová datová dĺžka \u003d 0, datareceived \u003d 0;

V Main.c prepíše funkciu USBFUCTIPUP, ktorá sa automaticky volá po prijatí novej žiadosti:

USB_PULLIC UCHARDNÉ ÚDAJE (USBREQUEST_T * RQ \u003d (VOID *) Údaje; Spínač (RQ-\u003e Brequest) (Case Data_OUT: // Spracovanie USBMSGPTR \u003d ReplyBUF Data Command; // Uveďte návrat SEASTOF buffer (ReplyBUF); / / Return Case Data_in Rozmery vyrovnávacej pamäte: // Spracovanie DATALENTNICE \u003d (UCHAR) Spracovanie dát RQ-\u003e Wength.Word; // Získajte dĺžku DataReceived \u003d 0; // USBFunkčné hovory Tam bude veľa, ak (DATALLENGth\u003e SizeOf (ResentBuf)) // Skontrolujte prepadovú datalength \u003d SITEOF (ResponsBuf); Return USB_NO_MSG; // Return 255) Return 0;)

Ako je možné vidieť zo zoznamu, najjednoduchší spôsob, ako odoslať dáta do počítača, je nastaviť hodnotu ukazovateľa USBMSGPTR na pamäť RAM (ReplyBUF), kde sa údaje nachádzajú a potom ho vrátia na dĺžku. Veľkosť nárazníka by nemala prekročiť 254 bajtov. Pre ATTINY2313 S jeho 128 bajtov RAM je to dosť. Pre funkčné funkčné zariadenia existuje druhý spôsob - prepíše funkciu USBFUNDERCECTREADA.

Ak chcete získať údaje, najprv musíte odstrániť dĺžku správ z poľa Querngth do poľa W. Dente a uložte ho do globálnej premennej DATALENGth. Po druhé, v main.c je potrebné prepísať funkciu USBFunkcie písanie navrhnutého na spracovanie získaných údajov a nazvaných automaticky (a samozrejme niekoľkokrát), ak USBFUNCOPTIVEUP vráti hodnotu USB_NO_MSG (255):

USB_PULEBLIC UHLIC * DATA, UCHOD LEN (UCHARDA I; // Uložte získanú dátovú časť na (I \u003d 0;< dataLength && i < len; i++, dataReceived++) replyBuf = data[i]; return (dataReceived == dataLength); }

V skutočnosti je funkcia USBFunkcie zapojená do skutočnosti, že vyplní buffer ReplyBUF s získanými údajmi.

Mimochodom, aby ste túto metódu fungovali, musíte vykonať zmeny v USBCONFIG.H:

#Define USB_CFG_IMPLEMENT_FN_WRITE 1.

No, najnovšia funkcia firmvéru - hlavná:

Int hlavné () (USBINIT (); // Inicializujte USB USBDEVECONECT (); // Pripojenie zariadenia SEI (); // Povoliť prerušenie // v nekonečnom cykle čakať na riadenie správ, zatiaľ čo (1) USBPOLL (); 0;)

Používame usart / UART

Dobrá alternatíva k softvéru / hardvéru USB využíva populárne rozhranie USART / UART s meničom tretej strany tohto protokolu v USB, ktoré možno vykonať napríklad na základe čipu FT232RL.

Libusb: a nie oblečený, a nie nahý

Pýtate sa: Musíte napísať ovládač pre operačný systém počítača na pripojenie zariadenia USB? Ak používate libusb, môžete urobiť bez implementácie plnohodnotného modulu jadra. Libusb je open source knižnica, ktorá vám umožní rýchlo programovať, najprv vyhľadávať zariadenie na autobus, a po druhé - výmenu údajov s ním.

Pod knižnicou Linuxu a potrebné súbory hlavičky je možné získať zo zdrojového kódu. A je lepšie použiť štandardné úložisko vašej distribúcie. Pre debian / ubuntu, napríklad:

$ sudo apt-get nainštalovať libusb-dev

V systéme Windows - Libusb-Win32 je tiež libusbový prístav. Na rozdiel od názvu projektu je tiež podporovaný 64-bitový systém OS spoločnosti Microsoft (počnúc verziou 1.2.0.0).

Ale libusb je samostatná téma konverzácie. Myslím, že s programovaním pre PC, ktoré viete, a môžete to vymyslieť. Preto budem stručný. Vytvorte súbor USBTEST.c a začnite ho zaplniť obsahom. Po prvé, potrebné súbory a definície hlavičky:

#Include. [...] // Pre počítač, význam príkazov je obrátený, //, ale symboly zostávajú rovnaké #define data_out 1 #define data_in 2

USBOPEMDEVICE funkcia na inicializáciu zariadenia:

USB_INIT (); // inicializovať USB USB_Find_Busses (); // Nájsť pneumatiky USB_FIND_DEVES (); // Nájsť zariadenia // SIDE Všetky pneumatiky pre (BUS \u003d USB_GET_BUSESSES (); zbernice; Bus \u003d Bus-\u003e NEXT) (// Prevedenie všetkých zariadení na (Dev \u003d BUS-\u003e Zariadenia; Dev; dev \u003d dev-\u003e Ďalej) (// Ak sa dodávateľ a identifikátory výrobkov nezhodujú ... ak (Dev-\u003e descriptor.idvnedor! \u003d Predajca || Dev-\u003e deskriptor.idproduct! \u003d Produkt) Pokračovať, // ... Preskočiť túto iteráciu // Skúste získať deskriptor zariadenia (! (Rukoväť \u003d USB_OPEN (dev)) (Fprintf (Stderr, "% s n", USB_STRERROR ()); pokračovanie;) Spätná rukoväť; // Vrátenie deskriptora)) / / zariadenie nebolo nájdené návrat null;

Ako možno vidieť, parametre USBopeendice sú numerické identifikátory a zariadeniami výrobcu. Ak je zariadenie prítomné na autobuse, je vrátený jeho deskriptor. Ak budú zariadenia na V-USB trochu - budete musieť pridať skenovanie symbolických mien dodávateľa a produktu.

A hlavná funkcia konzoly konzoly USBtest:

Int Hlavný (INT ARGC, CHAR ** ARGV) (deskriptor USB_DEV_HANDLE * Rukoväť \u003d null; int nbytes \u003d 0; chrbového pufra; // hľadáme zariadenie na rukoväť \u003d USBOPENDEVICE (0x16C0, 0x05DC); ak (rukoväť \u003d \u003d NULL) (Fprintf (Stderr, "nemohol nájsť USB zariadenie! n"); výstup (1);) // out argument - Získajte údaje z, ak "STRCMP (ARGV, OUT") \u003d\u003d 0) (nBYTES \u003d USB_CONTROL_MSG (Rukoväť, USB_TYPE_VENDOR | USB_RECIP_DEVICE | USB_ENDOPPOUTING_IN, DATA_OUT, 0, 0, CHAR *) Buffer, SizeOF (Buffer), 5000); Printf ("Got% D Bytes:% s n", NYTSTES, Buffer); // Argument In - Pošlite reťazec (ďalší argument)) inak, ak (STRCMP (ARGV, "IN") \u003d\u003d 0 && ARGC\u003e 2) (nYTES \u003d USB_CONTROL_MSG (Rukoväť, USB_TYPE_VENDOR | USB_RECIP_DEVICE | USB_ENDOPTOUP_OUT, DATA_IN, 0, 0, ARGV , Strlen (ARGV) +1, 5000);) IF (NBYTES< 0) fprintf(stderr, "%s\n", usb_strerror()); usb_close(handle); // Закрыть дескриптор return 0; }

Tu loptu pravidlá funkcie USB_CONTROL_MSG, ktorá je deklarovaná v súbore USB. Má bankovú parametrov a skutočne vytvára tieto riadiace správy, ktorých spracovanie je implementované v firmvéri mikrokontroléra.

Proteus spočíva

Nočný milovaný simulátor elektrických schém Proteus ISIS je zbytočné pri vývoji zariadení s implementáciou softvéru USB. Jeho emulátor USB podporuje iba čipy s podporou hardvéru pre univerzálnu sériovú pneumatiku (napríklad AT90USB646 alebo AT90USB1286).

Zhromažďujeme, bliká, testujeme

Nižšie je malý, ale veľmi užitočný makefile, s ktorým sa príkaz z Main.c a USBtest.c ľahko dostanete firmvér pre čip - main.hex a binárny nástroj USBTEST:

CC \u003d AVR-GCC objcopy \u003d AVR-Objcopy Cflags \u003d -WALL -OS -OUSBDRV -MMCU \u003d ATTINY2313 Objflags \u003d -J .Text -J .DATA -O IHEX objekty \u003d USBDRV / USBDRV.O USBDRV / ODDEBUG.O USBDRV / USBDRVASM .O main.o cmdline \u003d usbtest # Účel: Zhromažďovať všetky všetky: Main.hex $ (CMDLINE) # Montáž počítačovej pomôcky $ (CMDline): USBTEST.c GCC -i ./libusb/include -l ./libusb/ Lib / GCC -O -WALL USBTEST.C -OO USBTEST -LUSB # CLEAR PROJEKT PROJEKTU Z binárneho čistého kódu: $ (RM) * .O *. O # Získajte súbor firmvéru z elf Súbor%. HEX:% .F (Objcopy) $ (Objflags) $< [Chránené e-mail] # Montáž Elf File Main.elf: $ (objekty) $ (cc) $ (cflags) $ (objekty) -O [Chránené e-mail] # Montáž V-USB $ Knižnica (objekty): USBDRV / USBCONFIG.H # C pre objekt kód% .O:% .c $ (CC) $ (CFLAGS) -C $< -o [Chránené e-mail] # ASM v objekt kód% .O:% .s $ (cc) $ (cflags) -x Assembler-s-CPP -C $< -o [Chránené e-mail]

Ak chcete naliať firmvér do mikrokontroléra pomocou programátora USBTINY, zadajte:

$ SUDO AVRDUDE -P T2313 -C USBTINY -E -U FLASH: W: MAIN.HEX: I -U LFUSE: W: 0xEf: m

V Avrdude, poistky nie sú veľmi jasne definované, ale môžu sa ľahko vypočítať v jednom z online kalkulačiek.


Spojíme zariadenie k počítaču a skontrolujeme, ako to funguje (USBtest s parameterom prečíta reťazec, v - píše zadaný reťazec na čipový pufor):

$ sudo ./usbtest v all_ok $ sudo ./usbtest von

Lyžice dechtu

Softvér USB nie je všeliek. Softvérové \u200b\u200bimplementácie majú zvyčajne množstvo zjednodušení, ako napríklad nedostatok kontroly kontrolného súčtu a symetrie kanála, ktorý nepriaznivo ovplyvňuje hlukovú imunitu. Zvyčajne, zvyčajne softvérové \u200b\u200bknižnice používajú nízko rýchlosti USB režimy. Áno, a kód USB knižnice "jesť" a bez malých pamäte čipu.

Peep ...

Na logike je USB protokol v skutočnosti, viacúrovňové dáta dátových paketov. To nie je ťažké zabezpečiť (a zároveň naučiť sa veľa zaujímavých o USB), pomocou analyzátora sieťových protokolov Wireshark. Predtým stiahnite ovládač USB monitora:

$ SUDDO MODPROBE USBON

Teraz v zozname rozhraní Wireshark si môžete vybrať USB zbernicu. Zobraziť číslo zariadenia pneumatiky môže byť napríklad v protokoloch.

Záver

Dúfam, že potom, čo ste sa naučili posielať dáta medzi počítačom a mikrokontrolérom AVR, vaša vášeň pre elektroniku sa prebudí s novou silou, chovu množstva originálnych a užitočných zariadení. Zostáva len želám vám úspech na tomto komplikovanom, ale zaujímavom poli.