Emulator USB disk. Duke krijuar një flash virtuale në shembullin e programit Osfmount

Projekti Olof Lagerquist, një program i shkëlqyer për lëshimin e disqeve, por pasi që të gjithë mund të emulojnë disqet, por jo për të krijuar një flash drive ose një disketë. Disqet krijohen në kujtesën virtuale, mund t'i shkarkoni fizikisht ato në imazhe të skedarëve. Pas instalimit, programi është në dispozicion nga PC Control Panel.

Kliko "OK" të gjithë imazhi virtual është gati.

Formë
Imazhi mund të shpëtohet dhe montuar nëse është e nevojshme. Ku do të vijë në dispozicion? Për shembull, për dembelin për një flash të tillë virtual, ju mund të hedhni certifikata për CryptoPro.)) Ose përdorni si një disk në RAM për të ruajtur një cache, skedar paging dhe gjëra të tjera.
Ekziston edhe një GUI alternative -

Lidhja automatike:
Echo off
rem vend në autoload për montimin automatik
c: \\ Windows \\ System32 \\ IMDISK.EXE -A -F "Programfiles% \\ flash.img" -M f: -o rem

Disa parametra të linjës së komandës:

iMDISK.EXE -E -S 300M -M B: - Zmadhimi i një Disk B 300 MB

iMDISK -A -T file -O ro -m y: -f c: \\ boot.img - Mount boot.img disk y, vetëm lexim

iMDISK -A -T file -m y: -f c: \\ boot.img - Mount boot.img disk y, vetëm lexoni / shkruani

iMDISK -D -M Y: - çmontoni drive y

iMDISK -A -S 150M -M #: -P "/ FS: NTFS / Y / Q / V: IMDISK - Krijo një disk 150 MB, shfaqjen e free të parë, formatimin në NTFS, Etiketa e Disk IMDISK

iMDISK -A -A -S 10% -M #: -P "/ FS: NTFS / Y / Q / V: IMDISK - Gjithashtu si ai i mëparshmi, vetëm madhësia tregohet si 10 për qind e kujtesës së lirë.

iMDISK -A -S -500m -M #: -P "/ FS: NTFS / Y / Q / V: IMDISK - Gjithashtu si një e mëparshme, vetëm madhësia tregohet me një shenjë minus, domethënë një vëllim të barabartë të kujtesës së lirë minus madhësinë e specifikuar. Me 1200 MB memorie të lirë, madhësia e diskut do të jetë 1200-500 \u003d 700MB

iMDISK.EXE -A -T PROXY -O IP -F 127.0.0.1:80 -M Z: - Përdorimi me serverin, të gjetur në internet, nuk ka kontrolluar në të vërtetë.

A - Lidhni Wirth. disk.

D - Çaktivizo wirth. disk.

E - redaktimi wirth. disk.

_________________________

B - Specifikoni kompensimin, domethënë fillimi i të dhënave në disk tregohet për disqe të krijuara në programe të ndryshme, në imazhet e të cilave ju duhet të kaloni atributet fillestare në skedar.

S - madhësia e diskut virtual. Madhësia është numri i bytes nëse suffix a (auto), b (sasi 512 byte blloqe), k (milion byte), g (miliard byte), t (trillion byte), K (kilobyte) , M (megabyte), g (gigabyte) ose t (terabyte). Një mijë bytes dhe kilobajt, ndryshojnë në atë në Kilobaite 1024 bytes, dhe jo 1000. Për shembull. -S 150m ose -s 10% - 10 për qind e kujtesës së lirë. Parametri -500m - me një shenjë minus përcakton madhësinë e diskut të gjeneruar si një vëllim i kujtesës së lirë minus madhësinë e specifikuar.

Opsionet e përcaktuara, të aplikuara në bashkëpunim me parametrat e specifikuar më poshtë

rO - vetëm lexim

rW - Lexo / Regjistro

rEM - instaloni si një disk ndryshim (flash drive). Kjo përcakton pronat e diskut, caching, dhe kështu me radhë.

fix - vendosur si një disk i përhershëm, fiks (në kontrast me REM)

cD - Krijimi i një CD-ROM / DVD-ROM virtuale.

fd - duke krijuar një disketë. Default për madhësinë e 160k, 180k, 320k, 360k, 640k, 720k, 820k, 1200k, 1440k, 1680k, 1722k, 2880k, 123264k ose 234752k.

hD - duke krijuar një seksion të vështirë.

iP - Parametri për t'u lidhur me një server proxy.

comm - Lidhje me një server kujtese nëpërmjet një porti të COM.

________________

M - përcakton letrën e diskut. Për shembull -M b: ose -m y: ose -m #: - letra e parë e lirë e diskut.

F - emri i skedarit wirth. disk, për shembull -f c: \\ boot.img ose -f \\\\ server \\ share \\ image.bin ose -F \\ Device \\ harddisk0 \\ ndarjes1 \\ image.bin - Së fundi, kur letra e diskut nuk është caktuar dhe përkufizimi nga numri i vështirë, numri i numrit të ndarjes (disk logjik) dhe mënyra aktuale.

Ndonjëherë ka situata kur duhet të punoni me shërbimet (kontabiliteti, social, të cilat kërkojnë disponueshmërinë e detyrueshme të transportuesit të jashtëm në kompjuter). Ose ju duhet vetëm të instaloni një version të ri të sistemit operativ. Por çfarë të bëni nëse nuk ka flash drive, asnjë CD falas. Nuk është një dalje! Nevojë për një program të veçantë që do të funksionojë si një flash virtuale.

Rrethi Osfmount-shpëtim për ata që nuk kanë media të lëvizshme

Osfmount është një program i vogël që do të ndihmojë në krijimin e një makine. Ky aplikacion mund të krijojë të dy imazhin e gatshëm (imazhin) të makinës dhe RAM-it, i cili ekziston vetëm në RAM. Floppy hard drive, disk artificial optik, dhe, më e rëndësishmja, një flash drive virtuale - një program mund të montoni të gjitha këto imazhe. Windows 10, Windows 8, Windows 7 Virtual USB Flash Drive do të krijohet në çdo sistem operativ Windows, dhe si në një mjedis 64-bit dhe 32-bit. Në mal, ju mund të përcaktoni edhe letrën e përcaktuar për një disk artificial dhe instaloni atributet e dëshiruara. Në të njëjtën kohë, madhësia e shërbimeve nuk arrin deri në 2 megabajt, madhësia e saj është vetëm 1.95 MB. Nga minuset, vetëm fakti që programi nuk e mbështet ruse.

Osfmount duke përdorur udhëzime

Në përdorim, është e lehtë dhe për të krijuar një flash drive nuk do të ketë nevojë për shumë kohë dhe përpjekje. Pra, si të krijoni një flash virtual USB duke përdorur Osfmount:


Gjithashtu në letër mund të kenë nevojë për disa opsione që hapen pas klikimit në veprimet e përzgjedhjes. Në këtë opsion, ka këto:

  • Disount - për të humbur;
  • Formati - duke përdorur këtë opsion, ju mund të bëni formatimin;
  • SavetoimageFile - për të ruajtur në formatin e dëshiruar;
  • Hapur - për hapje;
  • Vendosni vetëm mediat e lexuara - ndalon një rekord;
  • Zgjat - shërben për të zgjeruar;
  • Vendosja e mediave të shkruara është një rekord.

Kjo është sa e lehtë për të bërë blic virtual USB në kompjuter. Imazhet për Flash Virtual mund të zgjedhin ndonjë. Por në rastin e një imazhi të bootable, pajisja do të duhet të formatojë dhe të hapë atë vetëm në këtë kërkesë.

Një version alternativ i kësaj aplikacioni është Virtual Flash Drive, i cili është gjithashtu shumë i thjeshtë dhe i përshtatshëm kur krijon ruajtjen e informacionit artificial. Dallimi i tyre është se në OstMount më shumë opsione shtesë dhe përveç USB flash, mund të bëhen disqet e tjera artificiale.

Përfundim

Tani bëhet e qartë, edhe nëse nuk ka transportues të jashtëm në dorë, dhe ato janë shumë të nevojshme, ju mund t'i bëni ato të krijuara artificialisht analog në disa klikime.

Çfarë është dhe pse është e nevojshme?
Nëse magneti në makinë ka një kontribut për CD Chander, ju mund të lidhni një përshtatës të ngjashëm me të, ajo do të mashtrojë radio dhe do të vendosë që ndryshuesi ishte i lidhur me të, dhe përdoret në vend të zakonshëm disqe. Adaptori mund të menaxhohet me mjete të rregullta, duke përfshirë kontrollin nga timoni.

Ka pasur tashmë disa rishikime të adaptuesve të tillë, më të famshmit - yatour kinez.

Vendosa të shkoj një mënyrë jo standarde, vendosa të provoja Tromas Rus FLIPPER 2.
Vlerësimi i përgjithshëm është i shkëlqyer, jam i kënaqur me blerjen, unë rekomandoj.

Për detaje unë kërkoj nën mace

Parathënie

Ka një dëshirë të thjeshtë - dua të dëgjoj muzikë në makinë. Në radio, ajo është larg nga vijnë gjithmonë nga diçka e përshtatshme, të mbajnë një bandë e CD-ve të disqeve, dhe madje edhe vazhdimisht regjistrojnë ato, të lodhur.
Në Peugeot 407 2007 ka një GU (njësinë e kokës), në të ardhmen e vizituar thjesht nga radioja, pa USB, Bluetooth, dhe pa një input të rregullt aux.

Nëse makina është me vlerë të radios së zakonshme, jo të lidhur për të kontrolluar disa funksione të makinës, mënyra më e lehtë për të blerë vetëm një regjistrues të ri të radios. Regjistruesi i shiritit të markës me inputet USB mund të blihet brenda njëqind euro. Cila sasi do të duhet të shpenzojë në mënyrë që të kuptojë menaxhmentin nga timoni.

Ju mund të kile dhe të bashkëngjitni të dhëna AUX (audio), por ende një burim i shëndoshë do të duhet, dhe rreth kontrollit nga timoni do të duhet të harrojë.

Opsionet me transmetuesit FM Unë kam rënë shumë - kam provuar disa transmetues të ndryshëm, cilësia e zërit nuk ishte shumë.

Ka një mënyrë tjetër, lidheni me magnetolin në hyrjen e CD-së të Ndryshuesit, i cili do të lejojë dëgjimin e muzikës nga flash drives, duke kontrolluar përshtatësin me mjetet e rregullta të regjistruesit të radios, duke përfshirë timonin. Ju mund të gjeni adaptorë të ngjashëm nga prodhuesit të ndryshëm me parametra të ndryshëm dhe me cilësi, besueshmëri, komoditet ose çmim.
Adaptori më i famshëm është yatour. Audio coolest, ndoshta, amerikan grom, e cila po luan, duke përfshirë FLAC. E pra, në një grumbull të disa pajisjeve të tjera - audiolink, xcarlink, dmc, dension.

Para së gjithash, fillova të shikoja në yatour. Në Ali, zverdhje nga 50 dollarë. Por shqyrtimet në entuziazmin e internetit pak prigiily. Në prodhimin linear të përshtatësit me një nivel fiks, prandaj, në shumë regjistrues të radios, niveli i volumit është dukshëm më i ulët se nga radioja. Ndonjëherë punë e paqëndrueshme, varni, kritike për parandalimin e skedarëve të huaj në flash drive. Numri i drejtorive të mbështetura - sa disqe mbështesin radion, në rastin tim, është 6.

Yatour nuk ka vend zyrtar, faqet e internetit janë vende të shitësve. Dhe informacioni duhet të mblidhet në kokrra në vende të ndryshme, kryesisht të çabonuar ata që e vënë atë, por përvoja e tyre nuk është gjithmonë e përshtatshme për radio tuaj.
Por unë kam qenë me fat, kam ardhur në të gjithë shitësin e Bjellorusë Yatour Sergei Aka SSD, i cili u përgjigj të gjitha pyetjeve të mia, duke përfshirë tiparet e punës me radio.
Në përgjithësi, funksionon, por mund të ketë probleme me volumin dhe punën e paqëndrueshme. Nga Sergey parë dëgjoi për GRU Audio dhe për triome, të cilën ai gjithashtu shet.

Grom audio në Android, mbështet Flac, por nuk ka model për makinën time.

Por troma flipper 2 të interesuar. Para së gjithash, mundësia e përshtatjes së nivelit të prodhimit (volumit). Përveç kësaj, ai ka një organizatë shumë më të përshtatshme të dosjeve dhe mund të ketë shumë më tepër. Dhe ai është shumë më pak glugny.
Duke huazuar një tryezë të mirë krahasimi yator dhe trioma


Refinim nga kafshët shtëpiake:
1. Dosjet e huaja nuk ndërhyjnë me rishikimin. Në minimum, në disa firmware.

Pra, e kam bërë zgjedhjen time. Troma !!!
Kur bleni një përshtatës të ngjashëm, duhet të zgjidhni një model nën makinën tuaj. Më saktësisht, nën makinën e makinës së makinës suaj. Magnetol ndryshme mund të kenë lidhje të ndryshme nën një ndërrues që nuk janë në përputhje me njëri-tjetrin.

Ku mund të blej trioma?

Faqja e internetit e prodhuesit ka atë që shesin produktet e Triom. Me blerjen e një përshtatës në Rusi ose në Bjellorusi, nuk ka probleme. Dhe në Evropë, ku të më blejë më lehtë dhe nuk duhet të personalizojë dhe të paguajë NSO, çmimet janë dy herë më të larta, nga 120eur pa kostot e transportit.

Ai filloi të kërkonte të njohurit që mund të më sillnin një përshtatës nga Rusia ose Bjellorusia. Gjetur !!! Ai gjeti një mik nga Rusia, i cili urdhëroi dhe në fillim të shkurtit më ka sjellë një përshtatës! Oleg, faleminderit!

Dhe këtu është përshtatësi në shtëpi!



Kit përfshin vetë përshtatësin, kabllon për lidhjen me radio dhe kabllon USB.
Gjatësia e kabllit për lidhjen me radio është vetëm 40 cm, e cila menjëherë imponon kufizime në rregullimin e përshtatësit në makinë - duhet të vendoset direkt pas radios, madje edhe para se kutia e dorezës të mos e arrijë atë.
Adaptori i madhësisë është diku me një kuti cigaresh. Një kuti plastike e thjeshtë me një kabllo të spikatur për lidhjen nën pajisjet ose kabllon AUX. Megjithatë, pasi e lidh përshtatësin në radio, askush tjetër nuk e sheh atë.
Përveç kësaj mori kabllo AUX me miniack në fund (+ 500r)


Disa fotografi të tjera

Lidhës për lidhjen e pajisjeve shtesë, kabllo AUX ose përshtatës Bluetooth


Mami në përshtatës


Babi në kabllo


Konektor magnetik RD4


Mos e hap


Instalim

RD4 Radio, gjashtëkëndësh zbulojnë dy vida dhe për të marrë radio.

Prapa dy lidhjeve të përshtatshme, nuk do të funksionojë në njërën prej tyre - vërtetohet;)
Fotoja specifikon lidhësin e dëshiruar. Në të, postimi është i lidhur tashmë me lidhjen e chandgerit, tërhiqni lidhësin e instaluar dhe ndizni vetë.


Ne e lidhim kabllon me përshtatësin, të kthehet në ndezjen dhe mrekullinë - gjithçka menjëherë të fituar !!! Për më tepër, niveli i volumit është përafërsisht i njëjtë si nga CD-ja e integruar.

Por pastaj fillojmë të mendojmë - ku të shfaqim kabllon USB. Mënyra më e lehtë në rastin tim doli për të bllokuar kabllon nën timonin në një lojtar të vogël në shoferin e majtë.


Vetë përshtatësi u hodh në një re të pasme në të majtë nga radioja. Vendet Ka pak, pas instalimit të radios në vend, përshtatësi doli të fiket atje me kabllo, kështu që nuk ishte e nevojshme për të rregulluar përshtatësin për të konsoliduar më tej.

Të gjitha forumet shkruajnë se magnetol kërkon aktivizimin e ndryshuesit në shërbim. Unë kam gjithçka që doli shumë më e lehtë. Pas ndezjes, vetë magnetol vendosi që një ndërrues është i lidhur me të dhe është bërë e mundur për të zgjedhur nëpërmjet kalimit të hyrjes (radio / cd / changer).
Siç doli, aktivizimi nuk është i nevojshëm për radio, por për ekranin në mënyrë që të mund të pasqyrojë informacionin për Chander.
Por gjysma e një viti më parë unë dhe kinezët, të bërë mirë, dërgoni një ekran me të gjitha tiparet e aktivizuara. Pra, gjithçka ka punuar për mua pa aktivizim shtesë.

Puna e përshtatësit

Cilësia e zërit. Të krahasueshme me një CD player. Acoustics STATATY në makinë është mjaft mediokër, kështu që patjetër nuk e dëgjoni ndryshimin me CD player të rregullt në makinën time.
Shpejtësi e fuqisë. Më pak palë sekonda pas ndezjes në ndezjen në një flash drive me një palë dhjetra drejtori. Është shkruar në forume që me disa qindra katalogë, shpejtësia është më e vogël. Adaptori kujton se ku ai luajti para se të fiket dhe fillon të luajë nga i njëjti vend. Kjo pronë është e vlefshme për të dëgjuar audiobooks. Adaptori kujton vendin nga disqet e 4-të /
Kaloni gjurmët. Pjesa e një të dytë, nuk ka dallim në të njëjtën ose katalog tjetër ka një udhë. Gjatë kalimit nuk ka tinguj të huaj.
Duke zëvendësuar një flash drive. Me një radio drejtimin, tërhiqni një flash drive dhe vendosni një të re. Është përcaktuar gjatë palës së sekondave dhe menjëherë fillon të luajë. Gjatë zëvendësimit, një trill shumë i qetë mund të tingëllojë.

Adaptori e kupton katalogun 32 në të cilin mund të ketë 32 subdirectory, në secilën prej të cilave mund të jetë deri në 99 skedarë. Por së shpejti kuptova se çelësi i diskut kalon vetëm gjashtë disqet e para. Megjithëse në mënyrë të rastësishme, përshtatësi i sheh të gjitha drejtoritë.

Unë bëra një pyetje në forumin e Trioms, mbështetja u përgjigj shumë shpejt dhe ofroi mundësitë për organizimin e drejtorive. Problemi ishte se në butonat RD4, madje kryen funksionin DISC + / disk, në realitet ato janë dërguar në diskun e drejtpërdrejtë të zgjedhur 1-6 komandën e përshtatësit. Pra, këto butona ju mund të kaloni vetëm 6 drejtori rrënjë ose 6 subdirectories.
Dhe menaxhoni 1024 katalogë në radio tim nuk do të funksionojë. Ju mund të menaxhoni vetëm 32 * 6 \u003d 192 ose katalogë;)

Përshkrimi thotë se butonat FF / FR kryejnë një funksion të dyfishtë - ndryshimi i drejtorive / nënndarjeve dhe rikthimit.
Por në RD4 Track + / Track - Kombinuar me FF / FF dhe për përshtatësin, këto butona kanë një qëllim të trefishtë:
1. Shtypni të shkurtër - Track + / Track-
2. Shtypja 2-3s, shtypur, kur zëri nga pista e tanishme zhduket - kalimi i direktorisë
3. Shtypja e gjatë\u003e 3sek, ka një tingull të përshpejtuar të mbytur - rewind
Koha është e përafërt, e orientuar për të shëndoshë

Edhe para se të blini, supozohej se unë do të shkruaj një megaflushka të madhe me qindra drejtori. Por tani shoh se është më i përshtatshëm për të pasur disa disqe flash me zgjedhje të ndryshme.
Unë tani e kam atë:
1. Faza ruse 80-90s
2. POP 80-90-e
3. Instrumental

TOTAL. Për para relativisht të vogla, kam një përshtatës pa monangless me cilësi të mirë të zërit dhe kontroll të thjeshtë intuitive. Blerja është shumë e kënaqur, Troma - bërë mirë !!!

Lidhje të tjera

Mini chavo.

Disa pyetje mbetën jashtë këtij rishikimi, vendosa t'i merrja ato në një minipat të veçantë. Këtu unë do të shtoj pyetje që do të lindin në komentet.
  • Çfarë duhet të bëhet në mënyrë që emrat (emrat e skedarëve, etiketat ose të paktën çdo gjë) të treguar në ekran?
  • Adaptorët Troma patjetër do të "shohin" dhe etiketat, dhe emrat e skedarëve, dhe emrat e dosjeve. Ku është e mundur, ata po shfaqin vargjet e tekstit në ekranin e rregullt të radios: BMW dhe të gjitha makinat me një gomë optike më të madhe. Ndoshta prodhimi i tekstit do të zbatohet së shpejti për disa pajisje Toyota / Lexus.
  • CD-ndryshon pa probleme të përballen me detyrën.
  • Kam frikë se jeni gabim: chandgers të jashtëm janë të panjohur, përveç modeleve të renditura më lart, të cilat përballen me këtë detyrë. Chanders Embedded në njësinë e kokës është një çështje tjetër, atje prodhimi i tekstit ndodh drejtpërdrejt në kontrolluesin e ekranit, është një mekanizëm krejtësisht i ndryshëm.
  • A është e mundur të lidheni pajisjet shtesë për të përshtatur Triom?
  • Adaptori mund të lidhet ose një kabllo aux-mini-mini adapter 3.5 baba
Kam planifikuar të blej +23. Shtoni në të preferuarat Më pëlqeu shqyrtimi +21 +46

Zhvillimi i pajisjeve të ndryshme të bazuara në mikrokontrollet është një mësim i denjë për këtë djalë kompjuteri. Pa dyshim, një mashtrim i dobishëm i çdo vegël do të jetë një ndërfaqe USB për lidhjen me një kompjuter. Por çfarë të bëni nëse CHIP AVR nuk ofron mbështetje hardware USB?

V-USB: Çështjet e madhësisë

Kur zhvilloni veglën tuaj, shpesh përballet me lidhjen e tij me kompjuterin. Unë duhet të them se portet e LPT dhe COM janë tani ekzotike në motherboards pc, për të mos përmendur laptopë që janë zhdukur këto ndërfaqe shumë kohë më parë. Prandaj, kompjuterët modernë nuk kanë pothuajse asnjë alternativë ndaj ndërfaqes USB.

Nëse burimet e çipit përdoren për njëqind për qind, është më mirë të shikoni menjëherë në drejtim të pajisjeve me mbështetje hardware për gomën universale sekuenciale (të tilla mikrokontrollerë janë të pranishëm në linjën e çdo prodhuesi). Në raste të tjera, ju mund të përdorni USB software.

Për ATMEL Microcontrollers, ekziston një projekt i mrekullueshëm V-USB që ofron një zbatim të softuerit të një pajisjeje USB me shpejtësi të ulët. Kodi V-USB do të operojë në çdo pajisje AVR, e cila ka të paktën 2 kb memorie flash dhe 128 bytes të RAM, me një frekuencë të orës 12; 12.8; pesëmbëdhjetë; gjashtëmbëdhjetë; 16.8 ose 20 MHz.

Përdorimi i produktit është i mundur si brenda GPL me licencë me burim të hapur dhe në baza komerciale. Në mënyrë që të zhvilloni pajisjet tuaja USB, zakonisht duhet të blini diçka si një licencë. Por djemtë nga V-USB u kujdesën për këtë, duke blerë një çift të shitësit ID - id produkt dhe duke u lejuar atyre të përdorin këdo që dëshiron.

Hardware Lidhja për të lidhur autobusin USB në mikrokontroller është shumë e thjeshtë. Nëse pajisja nuk konsumon shumë, atëherë mund të mundësohet drejtpërdrejt nga gomari (konsiderohet se linja e energjisë USB e kompjuterit është në gjendje të heqë dorë deri në 500 MA). Meqenëse linjat informative (d + dhe d-) përdorin nivelin e sinjalit prej 3.6 v, përveç rezistencës kufizuese aktuale, stabilitetet janë të nevojshme për të përputhur logjikën e chipit me 5 volt. Për të përcaktuar llojin e lidhjes, ju duhet të "të tërhiqni" tensionin e furnizimit përmes rezistencës prej 1.5 kω në d- line.

Alternativë për opsionin USB pairing - zvogëloni tensionimin e tensionit të furnizimit me anë të një çipi të përshtatshëm të stabilizimit ose vetëm një palë diodash. Skema e fundit mund të gjendet në faqen e projektit V-USB.

Programues i Usttiny

Për Microcontrollers AVR, ka shumë programues të ndryshëm. Usttiny është përmendur këtu, në veçanti, sepse përmban një softuer USB që zbaton të ngjashme me V-USB. Skema e këtij programuesi është e thjeshtë: Versioni 2 përmban dy patate të skuqura, dhe versioni i parë është vetëm një (ATTINY2313 vetë). Për shkak të përshkrimit të hollësishëm në vend dhe komponentëve të thjeshtë, pajisja është e lehtë për të bërë edhe një fillestar. Usttiny është në përputhje me programin popullor Avrdude që përdoret për të programuar Microcontrollers AVR.

Problemi i vetëm është që të mbushni firmware në çipin e programuesit - për këtë ju duhet ... programues. Nëse ka një kompjuter me portin e LPT, atëherë ju mund të bëni një nga opsionet FBPRG aka "Pesë instalime elektrike", e cila është hekuri

Gatim

Mjetet e softuerit të kërkuara për të zbatuar firmuerin më të thjeshtë USB vegël, jashtëzakonisht ascetike: GCC-AVR përpilues, bibliotekë Avr-Libc, programues avrdede dhe binutils të vendosur për AVR. Në Debian / Ubuntu, gjithçka që ju nevojitet është vendosur nga një komandë:

$ sudo apt-merrni instaloni avrandude binutils-avr gcc-avr avr-libc

Në hapësirat e pakufizuara në internet, është e lehtë për të gjetur një udhëzues shumë të detajuar në V-USB dhe Libusb (në anglisht). Sipas manualit, për të shtuar mbështetjen USB për projektin ju do të duhet një dosje USBDRV nga arkivi me versionin më të fundit V-USB. Rrënja e kësaj dosje ka një model të konfigurimit të USBConfig-Prototip. Ju duhet të bëni një kopje të kësaj skedari duke e quajtur atë usbconfig.h. Next - të saktë usbconfig.h, duke specifikuar portin (d), linjat e të cilave do të përdoren për I / O, direkt numri D + (2) dhe D- (3), dhe frekuenca (12 MHz) që punon chip (ATTINY2313):

#Define usb_cfg_ioportname d #define usb_cfg_dminus_bit 3 #define usb_cfg_dplus_bit 2 #define usb_cfg_clock_kHz 12000

Për të përfituar nga licenca V-USB për pajisjen, identifikuesit numerikë të prodhuesit dhe pajisjes nuk kanë nevojë të ndryshohen. Por emrat e karakterit mund të zgjidhen në shijen tuaj (ata do t'ju lejojnë të dalloni pajisjet e shumëfishta të bazuara në V-USB lidhur me të njëjtin kompjuter):

#Define usb_cfg_vendor_id 0xc0, 0x16 #define usb_cfg_device_id 0xdc, 0x05 #define usb_cfg_vendor_name "n", "e", "t", ",", "g", "e", "e", "k" , "", " , "M", "p", "l", "e" #define usb_cfg_device_name_len 10

Një shumëllojshmëri të pajisjeve

A keni një ide të një pajisjeje? Mos nxitoni për të bashkuar dhe për të shkuar, dhe shikoni, ndoshta dikush e ka bërë këtë. Nëse nuk është e mundur të përdorni skema dhe burime të gatshme, atëherë të paktën ju nuk duhet të filloni gjithçka nga e para.

Për shembull, projekti V-USB falë politikës së licencuar ka grumbulluar një bazë të mirë të zgjidhjeve të gatshme (duke përfshirë edhe shpërndarë). Këtu ju mund të gjeni implementime të ndryshme të tastierës, adaptorë USB për joysticks, gamepads (duke përfshirë të rralla, të tilla si SNES / Nes, Nintendo 64, ZX spektri Joystick, Sony Playstation 1/2) dhe të ngjashme. Adaptorët DMX, COM dhe UART, I2C, SERVO PORTS, DCF77 Interfaces Wireless, IR - të gjitha që do të ndihmojnë në lidhjen e pajisjeve më të reja në PC. Loggers, platforma për sensorë dhe sensorë, adaptorë për ekranet LCD, programuesit dhe ngarkuesit mund të jenë gjithashtu të dobishme në ekonomi.

Programi për Chip është elementare!

Kur bashkëveprojnë mbi autobusin USB, kompjuteri është pajisja kryesore që periodikisht dërgon mesazhe të mesazheve të kontrollit. Kontrolluesi, respektivisht, vartës dhe duhet t'i përgjigjet kërkesave. Formati i mesazhit të kontrollit përcaktohet nga struktura USBRequest_T nga skedari USBDRV.H:

Typedef struc usbrequest (uchars brandeste: uchard; usbword_t wvalue; usbword_t wlegex; usbreword_t wlength;) usbrequest_t;

Krijo një skedar kryesor në një nivel me një dosje USBDRV dhe përshkruani skedarët e nevojshëm të kokës, përkufizimet dhe variablat:

#Include. #Include. #Include. #include "usbdrv.h" #define f_cpu 12000000l // frekuenca mk #include #Define data_out 1 // Dërgo #define data_in 2 // marrin komandën // statike uchar upbuf \u003d "Hello World!" Buffer; Gjendja statike e datal-it \u003d 0, darkaceed \u003d 0;

Në main.c, mbizotëroni funksionin USBFunctionSetTur, i cili automatikisht thirret me marrjen e një kërkese të re:

Të dhënat e USB_Public uchar (USBRequest_T * rq \u003d (void *) të dhënave; Switch (RQ-\u003e Mirrequest) (rasti Data_out: // Përpunimi i USBMSGPTR \u003d Command i të dhënave të USBMSGPTR \u003d Madhësia e tampon: // përpunimi i gjatësisë së të dhënave \u003d (uchar) përpunimi i të dhënave rq-\u003e wlnesth.word; // merrni gjatësinë e datareked \u003d 0; // usbfunctionwrute thirrje do të ketë shumë nëse (Datal Gjatësi\u003e Sizeof (Përgjigjebuf)) // Kontrolloni gjatë gjithë gjatësinë e ngarkesës \u003d Sizeof (Përgjigjebuf); Kthimi USB_NO_MSG; // Kthehu 255) Kthimi 0;)

Siç mund të shihet nga lista, mënyra më e lehtë për të dërguar të dhëna në kompjuter është të vendosë vlerën e treguesit USBMSGPTH në tampon RAM (Përgjigjebuf), ku të dhënat janë të vendosura dhe pastaj ta kthejnë atë në gjatësi. Madhësia e tamponës nuk duhet të kalojë 254 bytes. Për ATTING2313 me 128 bytes e Ram, kjo është e mjaftueshme. Për pajisje më funksionale, ka një mënyrë të dytë - të anashkalojë funksionin USBFundectionEread Read.

Për të marrë të dhënat, së pari, ju duhet të hiqni gjatësinë e mesazhit nga fusha e pyetjes Wlength në fushën Wlength dhe ruani atë në ndryshoren globale të gjatësisë. Së dyti, në main.c është e nevojshme për të anashkaluar funksionin USBFunctionWrite të dizajnuara për të përpunuar të dhënat e marra dhe të thirrur automatikisht (dhe padyshim disa herë) nëse USBFunctionSetpet e kthen vlerën e USB_NO_MSG (255):

USB_Public uchar * të dhënat, uchar len (uchar i; // ruani pjesën e të dhënave të marra në (i \u003d 0; datarçesitd< dataLength && i < len; i++, dataReceived++) replyBuf = data[i]; return (dataReceived == dataLength); }

Në të vërtetë, funksioni usbfunctionwrute është i angazhuar në faktin se ai mbush bufferin e përgjigjes me të dhënat e marra.

Nga rruga, për të punuar këtë metodë, ju duhet të bëni ndryshime në usbconfig.h:

#Define usb_cfg_implement_fn_write 1.

Epo, funksioni i fundit i firmware - kryesore:

Int kryesore () (USBINIT (); // inicializo usb usbdeviceconnect (); // Lidhni pajisjen SEI (); // Lejoni ndërprerjet // në një cikël të pafund të presë për mesazhet e kontrollit gjatë kohës (1) 0;)

Ne përdorim USART / UART

Një alternativë e mirë për Software / Hardware USB është duke përdorur një ndërfaqe popullore të Usart / Uart me një konvertues të palës së tretë të këtij protokolli në USB, i cili mund të kryhet, për shembull, bazuar në Chip FT232RLL.

Libusb: dhe jo të veshur, dhe jo lakuriq

Ju pyesni: A duhet të shkruani një shofer për një sistem operativ kompjuteri për të lidhur një pajisje USB? Nëse përdorni Libusb, ju mund të bëni pa zbatuar një modul kernel të plotë. Libusb është një bibliotekë me burim të hapur që ju lejon të programoni shpejt, së pari, kërkoni një pajisje në autobus, dhe së dyti - shkëmbimi i të dhënave me të.

Nën bibliotekën Linux dhe dosjet e kushteve të nevojshme mund të merren nga kodi burimor. Dhe është më mirë të përdorni depon standard të shpërndarjes suaj. Për Debian / Ubuntu, për shembull, kështu:

$ sudo apt-merrni instaloni libusb-dev

Ekziston edhe një port libusb nën Windows - Libusb-win32. Në kundërshtim me emrin e projektit, mbështetet edhe 64-bit nga Microsoft (duke filluar nga versioni 1.2.0.0).

Por Libusb është një temë e veçantë e bisedës. Unë mendoj se me programimin për PC ju e dini dhe ju mund të kuptoj atë. Prandaj, unë do të jem i shkurtër. Krijo një skedar USBTEST.C dhe filloni ta plotësoni atë me përmbajtje. Së pari, skedarët e nevojshëm të kokës dhe përkufizimet:

#Include. [...] // për kompjuterin, kuptimi i komandave është i kundërt, // por simbolet mbeten të njëjta #define data_out 1 #define data_in 2

USBOPEMDEVICE Funksioni për të inicializuar pajisjen:

Usb_init (); // inicio USB USB_Find_Busses (); // gjeni usb_find_devices () goma; / / / / / / / / / / / / / / / / / / Tjetër) (// Nëse shitësit dhe identifikuesit e produkteve nuk përputhen ... nëse (dev-\u003e descriptor.idvendor! \u003d Shitësi || dev-\u003e descriptor.idProduct! \u003d Produkt) vazhdojnë; // ... kaloni këtë përsëritje // Mundohuni të merrni një përshkrues të pajisjes (! (Handle \u003d USB_OPEN (DEV)) (FPRINTF (STDERR, "% s \\ n", USB_StrError ()); Vazhdo;) Doreza e kthimit) // / Pajisja nuk u gjet kthehet null;

Siç mund të shihet, parametrat e USBopeendevice janë identifikuesit dhe pajisjet numerike të prodhuesit. Nëse pajisja është e pranishme në autobus, përshkruesi i tij kthehet. Nëse pajisjet në V-USB do të jenë disi - ju do të duhet të shtoni skanimin e emrave simbolikë të shitësit dhe produktit.

Dhe funksioni kryesor i përdorimit USBTEST:

Int kryesore (int argc, char ** argv) (// descriptor usb_dev_handle * dorezë \u003d null; int nbytes \u003d 0; char tampon; // ne jemi duke kërkuar për një pajisje të trajtuar \u003d usbopendvice (0x16c0, 0x05dc); nëse (trajtuar \u003d \u003d null) (FPRINTF (STDERR, "nuk mund të gjente pajisje USB! \\ n"); dalje (1);) // nga argumenti - të marrë të dhëna nga nëse "strcmp (argv, jashtë") \u003d\u003d 0) (nbytes \u003d USB_Control_MSG (trajtuar, USB_Type_Vendor | usb_recip_device | usb_endpoin_in, data_out, 0, 0, 0, 0, 0, 0, 0, 5000); printf ("mori% d bytes:% s \\ n", nbytes, tampon); // Argumenti në - Dërgo një varg (argument tjetër)) tjetër nëse (strcmp (argv, "në") \u003d\u003d 0 && argc\u003e 2) (handle, usb_type_vendor | usb_recip_device | usb_endpoint_out, data_in, 0, 0, argv , Strlen (argv) +1, 5000);) nëse (nbytes< 0) fprintf(stderr, "%s\n", usb_strerror()); usb_close(handle); // Закрыть дескриптор return 0; }

Këtu topi rregullon funksionin usb_control_msg, i cili është deklaruar në skedarin USB të përfshirë. Ajo ka një bandë parametrash dhe në të vërtetë krijon ato mesazhe kontrolli, përpunimi i të cilave zbatohet në firmware të mikrokontrolluesit.

Proteus qëndron

Simulatori i dashur i natës i skemave elektrike Proteus ISIS është e padobishme kur zhvillon pajisjet me zbatimin e softuerit USB. Emult i saj USB mbështet vetëm patate të skuqura me mbështetje hardware për gomën universale serial (për shembull, AT90USB646 ose AT90USB1286).

Ne mbledhim, ne flash, provë

Më poshtë është një përbërës i vogël, por shumë i dobishëm, me të cilin komandën e bërë nga main.c dhe USBTEST.C është e lehtë për të marrë firmware për chip-main.Hex dhe binar të shërbimeve USBTEST:

CC \u003d avr-gcc objcopy \u003d avr-objcopy cflgs \u003d -wall -os -iusbdrv -mmcu \u003d attiny2313 objflags \u003d -j. .O main.o cmdline \u003d USBTEST # Qëllimi: Mblidhni të gjitha të gjitha: Main.Hex $ (cmdline) # Kuvendi i një ndërmarrjeje kompjuterike $ (cmdline): USBTEST.C GCC -I ./LIBUSB/INCLUDE -L ./LIBUSB/ Lib / gcc -o -wall USBTEST.C -OO USBTEST -LUSB # Clear Project nga kodi i pastër binar: $ (RM) * .O * .Hex * silf USBDRV / *. O # Merrni skedarin e firmuerit nga një kukudh file%. Hex:% .ELF $ (objcopy) $ (objflags) $< [Email i mbrojtur] # Montimi i skedarit elf kryesor: $ (objekte) $ (cc) $ (cflags) $ (objekte) -o [Email i mbrojtur] # Montimi i bibliotekës V-usb $ (objekte): USBDRV / usbconfig.h # c për të objekt kodin% .O:% .c $ (cc) $ (cflags) -c $< -o [Email i mbrojtur] # ASM në kodin e objektit% .O:% .s $ (CC) $ (CFLAGS) -X Assembler-me-CPP -C $< -o [Email i mbrojtur]

Për të derdhur firmware në një mikrokontrollues duke përdorur programuesin e USBTINY, Lloji:

$ sudo avrdude -p t2313-C USBTINY -E -u flash: w: main.Hex: i -u lfuse: w: 0xef: m

Në Avrandoud, siguresat nuk janë shumë të përcaktuara qartë, por ato mund të llogariten lehtësisht në një nga kalkulatorët online.


Ne e lidhim pajisjen me kompjuterin dhe kontrollojmë se si funksionon (USBTEST me parametër lexon vargun, në - shkruan vargun e specifikuar në tampon të çipit):

$ sudo ./usbtest në All_OK $ sudo ./usbestest out

Një lugë katran

Softueri USB nuk është një ilaç. Zbatimet e softuerit zakonisht kanë një numër thjeshtimesh, të tilla si mungesa e kontrollit të kontrollit dhe simetrisë së kanalit, të cilat ndikojnë negativisht në imunitetin e zhurmës. Gjithashtu, zakonisht bibliotekat softuerike përdorin modele USB me shpejtësi të ulët. Po, dhe kodi i bibliotekës USB "ha" dhe pa kujtesën e vogël të çipit.

Peep ...

Në nivelin logjik, protokolli USB është, në fakt, të dhënat e paketave të të dhënave me shumë nivele. Kjo nuk është e vështirë për t'u siguruar (dhe në të njëjtën kohë të mësojnë shumë interesante për USB), duke përdorur analizuesin e protokolleve të rrjetit Wireshark. Më parë shkarkoni shoferin e monitorit USB:

$ sudo modprobe usbmon

Tani në listën e Interfaces Wireshark, ju mund të zgjidhni autobusin USB. Shikoni numrin e gomave të pajisjes mund të jetë, për shembull, në shkrimet.

Përfundim

Unë shpresoj pasi të keni mësuar të dërgoni të dhëna në mes të kompjuterit dhe Microcontroller AVR, pasioni juaj për elektronikë zgjon me një forcë të re, duke mbaruar shumë pajisje origjinale dhe të dobishme. Mbetet vetëm t'ju uroj suksese në këtë fushë të komplikuar, por interesante.