2008-ci ilin sonunda. Gözlədiyiniz kimi, yeni standart ötürmə qabiliyyətini artırdı, baxmayaraq ki, artım USB 1.1-dən USB 2.0-a keçərkən sürətin 40x artması qədər əhəmiyyətli deyil. Hər halda, ötürmə qabiliyyətinin 10 dəfə artması xoşdur. USB 3.0 dəstəkləyir maksimum ötürmə sürəti 5 Gbit/s.Ötürmə qabiliyyəti müasir Serial ATA standartından demək olar ki, iki dəfə yüksəkdir (ehtiyatsız məlumatların ötürülməsi nəzərə alınmaqla 3 Gbit/s).
USB 3.0 loqosu
Hər bir həvəskar təsdiq edəcək ki, USB 2.0 interfeysi müasir kompüterlərin və noutbukların əsas darboğazıdır, çünki onun pik “xalis” ötürmə qabiliyyəti 30 ilə 35 MB/s arasında dəyişir. Lakin masaüstü kompüterlər üçün müasir 3,5 düymlük sərt disklər artıq 100 MB/s-dən çox ötürmə sürətinə malikdir (noutbuklar üçün 2,5 düymlük modellər də bu səviyyəyə yaxınlaşır). Yüksək sürətli bərk vəziyyətdə olan disklər 200 MB/s həddini uğurla keçiblər. 5 Gbit/s (və ya 5120 Mbit/s) isə 640 MB/s-ə uyğundur.
Biz sabit disklərin yaxın gələcəkdə 600 MB/s-ə yaxınlaşacağını düşünmürük, lakin növbəti nəsil SSD-lər bir neçə il ərzində bu rəqəmi keçə bilər. Məlumatın miqdarı artdıqca və onların ehtiyat nüsxəsini çıxarmaq üçün lazım olan vaxt müvafiq olaraq artdıqca ötürmə qabiliyyətinin artırılması getdikcə daha vacib olur. Yaddaş nə qədər sürətli işləyirsə, ehtiyat nüsxələmə vaxtı bir o qədər qısa olar, ehtiyat cədvəlində “pəncərələr” yaratmaq bir o qədər asan olar.
USB 1.0 – 3.0 sürət müqayisə cədvəli
Rəqəmsal videokameralar bu gün gigabaytlarla video məlumatı yaza və saxlaya bilir. HD video kameraların payı artır və böyük həcmdə məlumatların yazılması üçün daha böyük və daha sürətli yaddaş tələb olunur. Əgər siz USB 2.0 istifadə edirsinizsə, onda redaktə üçün bir neçə onlarla gigabayt video məlumatın kompüterə ötürülməsi xeyli vaxt tələb edəcəkdir. USB Tətbiqçiləri Forumu hesab edir ki, bant genişliyi prinsipial olaraq vacib olaraq qalacaq və USB 3.0 növbəti beş il ərzində bütün istehlakçı cihazları üçün kifayət edəcəkdir.
Etibarlı məlumat ötürülməsini təmin etmək USB 3.0 interfeysi məsələn, Serial ATA-dan bizə tanış olan 8/10 bit kodlaşdırmadan istifadə edir. Bir bayt (8 bit) 10 bitlik kodlaşdırmadan istifadə etməklə ötürülür ki, bu da ötürmə qabiliyyəti hesabına ötürmə etibarlılığını artırır. Buna görə də bitlərdən bayta keçid 8:1 əvəzinə 10:1 nisbəti ilə həyata keçirilir.
USB 1.x – 3.0 bant genişliyi və rəqiblərin müqayisəsi
Şübhəsiz ki, əsas məqsəd interfeys USB 3.0 mövcud bant genişliyini artırmaqdır, lakin, yeni standart effektiv enerji istehlakını optimallaşdırır. USB 2.0 interfeysi daim enerji sərf edən cihazın mövcudluğunu yoxlayır. Bunun əksinə olaraq, USB 3.0 U0-U3 adlı dörd əlaqə vəziyyətinə malikdir. Bağlantı vəziyyəti U0 aktiv məlumat ötürülməsinə uyğundur və U3 cihazı “yuxuya” qoyur.
Bağlantı boşdursa, U1 vəziyyətində məlumatların qəbulu və ötürülməsi qabiliyyəti qeyri-aktiv olacaq. Dövlət U2 daxili saatı söndürməklə bir addım irəli gedir. Müvafiq olaraq, qoşulmuş qurğular məlumat ötürülməsi tamamlandıqdan dərhal sonra U1 vəziyyətinə keçə bilər ki, bu da USB 2.0 ilə müqayisədə əhəmiyyətli enerji istehlakı üstünlükləri təmin edəcəyi gözlənilir.
Müxtəlif enerji istehlakı vəziyyətlərinə əlavə olaraq, standart USB 3.0 fərqlidir USB 2.0-dan və daha yüksək dəstəklənən cərəyan. Əgər USB 2.0 cari həddi 500 mA təmin edirdisə, yeni standart vəziyyətində məhdudiyyət 900 mA-a dəyişdirildi. Bağlantının başlanğıc cərəyanı USB 2.0 üçün 100 mA-dan USB 3.0 üçün 150 mA-a qədər artırıldı. Hər iki parametr adətən bir qədər yüksək cərəyan tələb edən portativ sabit disklər üçün olduqca vacibdir. Əvvəllər problem, USB 2.0 spesifikasiyalarını pozsa da, əlavə USB fişindən istifadə etməklə, iki portdan enerji çəkməklə, lakin məlumat ötürülməsi üçün yalnız birini istifadə etməklə həll edilə bilərdi.
USB 3.0 standartı USB 2.0 ilə geriyə uyğundur, yəni tıxaclar adi A Tipi prizlərlə eyni görünür, USB 2.0 pinləri eyni yerdə qalır, lakin indi konnektorun dərinliyində yerləşən beş yeni sancaq var. Bu o deməkdir ki, əlavə sancaqlar tələb edən USB 3.0-ın işləməsini təmin etmək üçün USB 3.0 fişini tamamilə USB 3.0 portuna daxil etməlisiniz. Əks halda USB 2.0 sürətini əldə edəcəksiniz. USB Tətbiqçilər Forumu istehsalçılara konnektorun daxili hissəsində Pantone 300C rəng kodlamasından istifadə etməyi tövsiyə edir.
Fərqlər vizual olaraq daha nəzərə çarpsa da, vəziyyət USB tipli B fiş üçün də oxşar idi. USB 3.0 fişini beş əlavə sancaqla müəyyən etmək olar.
USB 3.0 fiber optikdən istifadə etmir, çünki kütləvi bazar üçün çox bahadır. Buna görə də qarşımızda köhnə yaxşı mis kabel var. Ancaq indi dörd naqildən çox doqquz naqil olacaq. Məlumat ötürülməsi diferensial rejimdə (SDP-Qoruyucu Diferensial Cüt) beş əlavə naqildən dördü üzərində həyata keçirilir. Bir cüt naqil məlumat qəbul etmək, digəri ötürmək üçün cavabdehdir. Əməliyyat prinsipi Serial ATA-ya bənzəyir, qurğular hər iki istiqamətdə tam bant genişliyi alır. Beşinci tel "torpaq" dır.
USB (Universal seriya avtobusu- “universal serial avtobus”) - orta və aşağı sürətli periferik qurğular üçün ardıcıl məlumat ötürmə interfeysi.Qoşulmaq üçün 4 telli kabel istifadə olunur, iki naqil məlumatların qəbulu və ötürülməsi üçün, 2 naqil isə periferik cihazı gücləndirmək üçün istifadə olunur. Daxili elektrik xətləri sayəsində USB öz enerji təchizatı olmadan periferik cihazları birləşdirməyə imkan verir.
USB kabel 4 mis keçiricidən - bükülmüş cütdə 2 güc keçiricisi və 2 məlumat ötürücüdən və torpaqlanmış örgüdən (ekran) ibarətdir.
USB kabellər“cihaza” və “ev sahibinə” fiziki cəhətdən fərqli məsləhətlərə malikdir. USB cihazını kabelsiz, korpusa quraşdırılmış “host” ucu ilə həyata keçirmək mümkündür. Kabelin daimi olaraq cihaza inteqrasiyası da mümkündür(məsələn, USB klaviatura, Veb kamera, USB siçan), baxmayaraq ki, standart tam və yüksək sürətli cihazlar üçün bunu qadağan edir.
USB avtobus ciddi yönümlü, yəni "əsas cihaz" (host, həmçinin USB nəzarətçi kimi tanınır, adətən ana platada cənub körpüsü çipinə quraşdırılmışdır) və "periferik cihazlar" anlayışına malikdir.
Cihazlar avtobusdan +5 V güc ala bilər, lakin xarici enerji təchizatı da tələb oluna bilər. Gözləmə rejimi avtobusdan verilən əmr əsasında cihazlar və bölücülər üçün də dəstəklənir, gözləmə rejimində enerjini saxlayarkən əsas gücü çıxarır və avtobusdan verilən əmr əsasında onu işə salır.
USB dəstəkləyirCihazların isti qoşulması və ayrılması. Bu, siqnal olanlara nisbətən topraklama kontaktı keçiricisinin uzunluğunun artması səbəbindən mümkündür. Bağlandıqda USB konnektoru ilk bağlayanlardır torpaqlama kontaktları, iki cihazın korpuslarının potensialları bərabər olur və siqnal keçiricilərinin sonrakı birləşdirilməsi, qurğular üç fazalı elektrik şəbəkəsinin müxtəlif fazalarından qidalansa belə, həddindən artıq gərginliyə səbəb olmur.
Məntiqi səviyyədə USB cihazı məlumatların ötürülməsi və qəbulu əməliyyatlarını dəstəkləyir. Hər bir əməliyyatın hər bir paketində bir nömrə var son nöqtə cihazda. Cihaz qoşulduqda, OS nüvəsindəki sürücülər cihazdan son nöqtələrin siyahısını oxuyur və cihazdakı hər bir son nöqtə ilə əlaqə saxlamaq üçün nəzarət məlumat strukturları yaradır. ƏS nüvəsindəki son nöqtələrin və məlumat strukturlarının toplanması adlanır boru.
Son nöqtələr və buna görə də kanallar 4 sinifdən birinə aiddir:
1) axın (toplu),
2) menecer (nəzarət),
3) izoxron (izox),
4) fasilə.
Siçan kimi aşağı sürətli cihazlar ola bilməz izoxron və axın kanalları.
Nəzarət kanalı cihazla qısa sual-cavab paketlərinin mübadiləsi üçün nəzərdə tutulmuşdur. İstənilən cihazın idarəetmə kanalı 0 var ki, bu da OS proqram təminatına cihaz haqqında qısa məlumatı, o cümlədən sürücünü seçmək üçün istifadə edilən istehsalçı və model kodları və digər son nöqtələrin siyahısını oxumağa imkan verir.
Kanalı kəsin qısa paketləri hər iki istiqamətdə, cavab/təsdiq almadan, lakin çatdırılma müddətinə zəmanətlə çatdırmağa imkan verir - paket N millisaniyədən gec olmayaraq çatdırılacaq. Məsələn, giriş cihazlarında (klaviaturalar, siçanlar və ya joysticklər) istifadə olunur.
İzoxron kanal sizə paketləri çatdırılma zəmanəti olmadan və cavablar/təsdiqlər olmadan, lakin avtobus müddətində N paketin zəmanətli çatdırılma sürəti ilə (aşağı və tam sürət üçün 1 KHz, yüksək sürət üçün 8 KHz) çatdırmağa imkan verir. Audio və video məlumatların ötürülməsi üçün istifadə olunur.
Axın kanalı hər bir paketin çatdırılmasına zəmanət verir, cihazın istəksizliyi (buferin daşması və ya az olması) səbəbindən məlumat ötürülməsinin avtomatik dayandırılmasını dəstəkləyir, lakin çatdırılma sürətinə və gecikməsinə zəmanət vermir. Məsələn, printerlərdə və skanerlərdə istifadə olunur.
Avtobus vaxtı dövrlərə bölünür, dövrün əvvəlində nəzarətçi “dövrün başlanğıcı” paketini bütün avtobusa ötürür. Sonra dövr ərzində kəsmə paketləri, daha sonra dövr ərzində qalan vaxt üçün tələb olunan miqdarda izoxron paketlər, nəhayət, axın paketləri ötürülür.
Avtobusun aktiv tərəfi həmişə nəzarətçidir, məlumat paketinin cihazdan nəzarətçiyə ötürülməsi nəzarətçinin qısa sualı və məlumatları ehtiva edən cihazdan uzun cavab kimi həyata keçirilir. Hər bir avtobus dövrü üçün paket hərəkət cədvəli bunun üçün bir çox nəzarətçi istifadə edən nəzarətçi aparatı və sürücü proqramı ilə birlikdə yaradılır; Birbaşa Yaddaş Girişi DMA (Birbaşa Yaddaş Girişi) - qurğular arasında və ya cihazla əsas yaddaş arasında, iştirakı olmadan məlumat mübadiləsi rejimi Mərkəzi prosessor(CPU). Nəticədə, məlumatların CPU-ya geri və irəli göndərilmədiyi üçün ötürmə sürəti artır.
Son nöqtə üçün paket ölçüsü cihazın son nöqtə cədvəlində quraşdırılmış sabitdir və dəyişdirilə bilməz. O, USB standartı tərəfindən dəstəklənənlər arasından cihaz tərtibatçısı tərəfindən seçilir.
Yüksək ötürmə sürəti (tam sürətli siqnal bit sürəti) - 12 Mb/s
- Yüksək ötürmə sürəti üçün maksimum kabel uzunluğu - 5 m
- Aşağı sürətli siqnal bit sürəti - 1,5 Mb/s
- Aşağı ötürmə sürəti üçün maksimum kabel uzunluğu - 3 m
- Maksimum qoşulmuş qurğular (çoxaltıcılar daxil olmaqla) - 127
- Müxtəlif ötürmə sürətlərinə malik cihazları birləşdirmək mümkündür
- İstifadəçinin SCSI terminatorları kimi əlavə elementləri quraşdırmasına ehtiyac yoxdur
- Periferik qurğular üçün təchizatı gərginliyi - 5 V
- Bir cihaz üçün maksimum cərəyan istehlakı - 500 mA
USB siqnalları qorunan dörd telli kabelin iki teli üzərindən ötürülür.
Burada :
GND- periferik cihazları enerji ilə təmin etmək üçün "case" sxemi
V AVTOBUS- Enerji təchizatı sxemləri üçün də +5V
Təkər D+ məlumatların ötürülməsi üçün nəzərdə tutulmuşdur
Təkər D- məlumat almaq üçün.
USB 2.0-ın maksimum məlumat ötürmə sürəti 480 Mbps (60 MB/s) olsa da, real həyatda belə sürətlərə nail olmaq qeyri-realdır (praktikada ~33,5 MB/s). Bu, məlumatların ötürülməsi üçün sorğu ilə köçürmənin faktiki başlanması arasında USB avtobusunda böyük gecikmələrlə bağlıdır. Məsələn, FireWire avtobusu, USB 2.0-dan 80 Mb/s (10 MB/s) az olan 400 Mbit/s aşağı pik ötürmə qabiliyyətinə malik olsa da, əslində, sabit disklərə və digər yaddaş qurğularına daha çox məlumat ötürmə qabiliyyətinə imkan verir. Bu baxımdan, müxtəlif mobil sürücülər uzun müddət USB 2.0-ın qeyri-kafi praktiki bant genişliyi ilə məhdudlaşır.
Yüksək sürətli siqnal bit sürəti - 12 Mb/s - Yüksək sürətli siqnal bit sürəti üçün maksimum kabel uzunluğu - 5 m - Aşağı sürətli siqnal bit sürəti - 1,5 Mb/s - Aşağı sürətli siqnal bit sürəti üçün maksimum kabel uzunluğu - 3 m - Maksimum qoşulmuş qurğular (o cümlədən multiplikatorlar) - 127 - Fərqli ötürmə sürətlərinə malik cihazları birləşdirmək mümkündür - İstifadəçinin SCSI üçün terminatorlar kimi əlavə elementləri quraşdırmasına ehtiyac yoxdur - Periferik qurğular üçün təchizatı gərginliyi - 5 V - Hər cihaz üçün maksimum cərəyan sərfi - 500 mA
USB siqnalları qorunan dörd telli kabelin iki teli üzərindən ötürülür.
Burada :
GND- periferik cihazları enerji ilə təmin etmək üçün "case" sxemi V AVTOBUS- Avtobusun enerji təchizatı sxemləri üçün də +5V D+ məlumatların ötürülməsi üçün nəzərdə tutulmuşdur
Təkər D- məlumat almaq üçün.
USB 2.0-ın maksimum məlumat ötürmə sürəti 480 Mbps (60 MB/s) olsa da, real həyatda belə sürətlərə nail olmaq qeyri-realdır (praktikada ~33,5 MB/s). Bu, məlumatların ötürülməsi üçün sorğu ilə köçürmənin faktiki başlanması arasında USB avtobusunda böyük gecikmələrlə bağlıdır. Məsələn, FireWire avtobusu, USB 2.0-dan 80 Mbps (10 MB/s) az olan 400 Mbit/s daha aşağı pik ötürmə qabiliyyətinə malik olsa da, əslində, sabit disklər və digər məlumatların saxlanması üçün daha böyük ötürmə qabiliyyətinə imkan verir cihazlar. Bu baxımdan, müxtəlif mobil sürücülər uzun müddət USB 2.0-ın qeyri-kafi praktiki bant genişliyi ilə məhdudlaşır.
USB 3.0-ın ən əhəmiyyətli üstünlüyü onun daha yüksək sürətidir (5 Gbps-ə qədər), bu da köhnə portdan 10 dəfə sürətlidir. Yeni interfeys enerjiyə qənaəti yaxşılaşdırıb. Bu, istifadə edilmədikdə sürücüyə yuxu rejiminə keçməyə imkan verir. Eyni zamanda ikitərəfli məlumat ötürülməsini həyata keçirmək mümkündür. Bir neçə cihazı bir porta birləşdirsəniz (portu ayırsanız) bu, daha yüksək sürət verəcəkdir. Siz hubdan istifadə edərək budaqlana bilərsiniz (hub bir portdan 3-6 porta şaxələnən cihazdır). İndi hubı USB 3.0 portuna qoşsanız və bir neçə cihazı (məsələn, fləş diskləri) huba qoşsanız və eyni vaxtda məlumat ötürsəniz, sürətin USB ilə olduğundan daha yüksək olacağını görəcəksiniz. 2.0 interfeysi. Bir müsbət və mənfi ola biləcək bir xüsusiyyət var. USB 3.0 interfeysi cərəyanı 900 mA-a qədər artırıb, USB 2.0 isə 500 mA cərəyanla işləyir. Bu, USB 3.0 üçün uyğunlaşdırılmış cihazlar üçün bir artı olacaq, lakin kiçik bir mənfi cəhət ondan ibarətdir ki, telefon kimi daha zəif cihazları doldurarkən risk ola bilər. Yeni interfeysin fiziki çatışmazlığı kabel ölçüsüdür. Yüksək sürəti qorumaq üçün kabel USB 2.0 ilə müqayisədə daha qalın və uzunluğu qısalmışdır (3 metrdən çox ola bilməz). Fərqli USB interfeysləri olan cihazların olacağını qeyd etmək vacibdir iş yaxşıdır və problem olmamalıdır. Ancaq USB 3.0-ı köhnə porta qoşsanız və ya köhnə interfeys kabelini yeni porta qoşsanız, sürətin artacağını düşünməyin. Məlumat ötürmə sürəti ən zəif portun sürətinə bərabər olacaq.
Universal Serial Bus üzərində OSI şəbəkə modelinin təsvirli proyeksiyası.
Çox faydalı USB yığını deyil
Oxucuda oxşar hisslər olubsa, sevimli 7 qatlı OSI modelinə əsaslanaraq, mənim həddən artıq qızmış beynimdə birdən mənə aydın görünən USB yığınının alternativ görüntüsünü təklif edirəm. Özümü beş səviyyə ilə məhdudlaşdırdım:
Demək istəmirəm ki, bütün proqram təminatı və kitabxanalar artıq hazırlanıb və ya bu model əsasında tərtib edilməlidir. Mühəndislik səbəblərinə görə səviyyələri olan kod çox qarışdırılacaq. Ancaq USB avtobusu ilə tanışlığa başlayanlara, cihaz mübadiləsi protokollarını və domen terminologiyasını anlamaq, hazır nümunələrə, kitabxanalara yaxınlaşmaq və daha yaxşı naviqasiya etmək istəyənlərə kömək etmək istəyirəm. Bu model MK-ya yükləmək üçün deyil, sizin parlaq zehniniz üçün nəzərdə tutulub, əziz dostlar. Və sonra qızıl əlləriniz hər şeyi özləri edəcək, şübhəm yoxdur :)
Beləliklə, gedək, səhvlər görürsünüzsə, düzəldin. Bu qaralama versiyadır və əgər belə bir şey artıq hardasa çəkilibsə, üzr istəyirəm, tapa bilmədim, ona görə də özüm düzəltdim. Düşünürəm ki, şəkil qaçmayacaq, amma hələlik hörmətli ictimaiyyətə ilk növbədə niyə bu nəşrə başladığımı izah edəcəyəm.
90-cı illərdən başqa bir flashback
Mən ilk səhvimi başqasının kodundan 90-cı illərin sonunda, tələbə kimi işləyərkən sildim. Bu, FreeBSD üçün pppd idi, sonra onu modem hovuzuna quraşdırdıq. Motorola modemləri bağlı vəziyyətdə qaldı, heç kim keçə bilmədi, xətt boş yerə itdi və PPP-nin canlı saxlanması ilə qalan yeganə üsul nədənsə səhv idi. O zaman bildim ki, nədənsə pppd tələb olunan dörd əvəzinə altı LCP cavab baytını gözləyir. Onda özümü çox dəli hiss etdim bug shaker 90-cı illərdən :-) PPP-nin bununla nə əlaqəsi var? Bu, USB-yə bənzəyir: paket və nöqtədən nöqtəyə. Düzdür, USB 2.0-dan fərqli olaraq tam dupleksdir.
HID ideyasını bəyəndim. Ancaq Windows-u yanıb-sönən LED-lərin təhsil tapşırıqlarından kənara çıxan kimi (həqiqi UNIX mühitlərinə doğru!), o, bütün möhürlənməmiş çatlardan sızmağa başladı və özümü bir növ aciz axsaq kimi hiss etdim. Layihəni sazlayarkən, mən instinktiv olaraq bir növ tcpdump (bu belə adlanır: usbdump(8) və ya usbmon) tutdum, lakin mən yalnız tanımadığı dildə mesajlar gördüm.
Aydın oldu: USB avtobusu haqqında fundamental bilik çatışmazlığı var. Hər hansı bir təcrübəli İT mütəxəssisi OSI modelini və TCP/IP yığınını onurğa beyni səviyyəsində sadəcə olaraq zərurətdən başa düşürsə, USB ilə vəziyyət fərqlidir. Bu başa düşüləndir: orada eyni tcpdump vasitəsilə trafikə casusluq edə bilərsiniz (lazımdır) və aparat və proqram təminatını konfiqurasiya edə bilərsiniz, lakin burada o, tamamilə qoşub istifadə edir və siz sürücünü və ya mikroproqramı yeniləməklə (və ya ƏS-ni yenidən quraşdırmaqla) nəyisə düzəldə bilərsiniz. Amma biz buraya sadəcə yaxşı proqram təminatı yaratmaq üçün toplaşmışıq, elə deyilmi? Bəzi USB təsvirlərini onlayn oxuduqdan sonra sənədlərin nə qədər çaşdırıcı ola biləcəyinə təəccübləndim. Hətta məndə belə bir hiss var idi ki, onlar qəsdən duman yaymaqla, qönçədəki rəqabətdən qurtulmaqla bizi yoldan çıxarmaq istəyirlər. Mən bu vəziyyətlə razı deyiləm!
Əvvəlcə optimist görünür. Nəhayət, yığın sökülür. Bununla belə, çərçivələr zəif işarələnib: mən onları şaquli nöqtəli xətlərlə çəkərdim və EOF sadəcə fasilədir, heç bir məlumat əslində ötürülmür. Ancaq konteksti oxumağa başlayırıq və müəllifin əsl niyyətini başa düşmürük (bizi çaşdırmaq üçün):
USB avtobus interfeysi host nəzarətçisi yaradır kadr;Və burada başqa:
Kadrlar NRZI metodundan istifadə edərək seriyalı bit ötürülməsi ilə ötürülür.
hər çərçivəən yüksək prioritetdən ibarətdir bağlamalar, tərkibini aparıcı sürücü təşkil edir;
hər biri yayım bir və ya bir neçə əməliyyatdan ibarətdir;
hər bir əməliyyat ibarətdir paketlər;
hər plastik torba paket identifikatorundan, verilənlərdən (əgər varsa) və yoxlama məbləğindən ibarətdir.
Onlardan biri budur
Proqram təminatı ilə bağlı hər şey aydındır: bunlar sənaye istifadəsi üçün olmayan nümunələrdir, səhvlər ola bilər, bəzi hissələr (məsələn, Kütləvi yaddaş nümunəsindəki link cədvəli) patentlə qorunur və sizin onlardan istifadə etmək hüququnuz yoxdur. kommersiya layihəsində. Ancaq bu heç bir şey deyil, çinlilər daha sonra VID və PID kitabxanasını dəyişdirməkdən belə çəkinmədikləri USB məhsullarını bazarda satmağı bacarırlar.
Dəmir üçün, mənim başa düşdüyüm kimi, kvarsdan başlamaq lazımdır. Məndə 12 MHz kvars olan Chelyabinsk PinBoard II var (bütün kitabxanalar 8 MHz üçün nəzərdə tutulmuşdur), PLL çarpanını 9-dan 6-a dəyişdirdim (izahlarla əlaqə), əks halda MK 72 MHz əvəzinə 108 MHz-ə qədər sürətlənəcək və USB tələb olunan 48 MHz əvəzinə 72 MHz-ə getməyəcək. Siz həmçinin USB avtobus bölücüsünü bir yarımdan birə dəyişdirərək MK sürətini 48 MHz-ə endirə bilərsiniz. Mütəxəssislər HSI MK-nın daxili generatorundan istifadə etməyi sevmirlər: istilik səbəbindən tezlik bir qədər sürüşə bilər və USB-nin nəticələrini proqnozlaşdırmaq çətindir. Əlbəttə ki, periferiyanı unutma. SPI/SDIO fləş yaddaşı olmadan, Kütləvi yaddaş nümunəsindən yalnız /dev/null analoqunu yarada bilərsiniz, lakin onu formatlaya bilməzsiniz :-)
Sənaye elektronikası mühəndisləri aparat sahəsində mükəmməl bilik və bacarıqlara malikdirlər, onlar saç kimi nazik radio komponentlərini sol əlləri ilə gözləri ilə lehimləyirlər (sonra işləyir). Elektron dövrəyə baxdıqda, demək olar ki, fiziki olaraq bütün cərəyanlarını potensiallarla hiss etməyə başlayırlar, onlar da güc sxemləri ilə və (böyük, sürətli, təhlükəli) sənaye məhsulları ilə işləyirlər. MK-nın proqramlaşdırılmasına yanaşma uyğundur: o, sadəcə olaraq lazımi məntiqi səviyyələri lazımi vaxtda düzgün ayaqlara çıxarmalıdır, hansı şəkildə olmasının əhəmiyyəti yoxdur. Texnologiyada mühafizəkardırlar (müdaxilə etməyin - işləyir), ağır MK periferiyaları xüsusilə üstünlük təşkil etmir. Obyekt yönümlü proqramlaşdırma, informasiya təhlükəsizliyi, milyonlarla kodlu nəhəng layihələr və hər cür dəbdəbəli qrafik interfeysləri müzakirə edərkən insanlar sıxılır. Paket yönümlü USB avtobusu əvəzinə onlar adi RS-232 və ya daha qəddar RS-485 (sənaye proqramları üçün seriya avtobusu, 15 m-də 10 Mbit/s, 100-ə qədər) ilə təkmilləşdirilmiş USART axın rejiminə üstünlük verirlər. 1200 m-də kBit/s, 32 cihaza qədər).
İT mütəxəssisləri əməliyyat sistemləri, şəbəkə infrastrukturu və mürəkkəb qarşılıqlı əlaqələr haqqında anlayışla yetişdirilir və elita informasiya təhlükəsizliyini yaxşı bilir və başqasının sisteminə nüfuz etmək üçün hər cür görünməz yolları başa düşür. Bəzi insanlar həqiqətən pişikləri sevirlər (sən onları necə sevməyə bilərsən? Ancaq mən saxlamıram, yetişdirmirəm və bişirmirəm :-). Bir çox insanlar məlumat azadlığını, korporasiyaları/hökumətləri tənqid etməyi və təbiət qüvvələrini düşüncə gücü ilə məğlub etməyi sevirlər. Onlar patoloji cəhətdən tənbəldirlər, lakin onlar yeni texnologiyalar və bahalı oyuncaqlar ilə bükülmüş mühəndislik bulmacalarını sevirlər (tercihen proqram səviyyəsində həll olunur və ya həddindən artıq hallarda jumpers). Bir lehimləmə dəmiri ilə münasibətlər qorunur: İT mütəxəssisindən lehimləmə dəmirini bəyəndiyini soruşmayın, səhv başa düşə bilər; Elektron sxemləri lehimləməyi sevdiyini soruşmaq daha yaxşıdır.
Mən nədən danışıram? Biz sadəcə olaraq bu dünyaya başqa cür baxırıq... Axı, Linux nüvəsi C-də modullardan və konkret platformalar üçün assembler əlavələrindən tutmuş eyni uşaqlar tərəfindən yaradılmışdır və onlar sanki holivarsız işləyirdilər. Mən həqiqətən ciddi layihəni ən son mikrokontrollerləri ağır periferik qurğularla birləşdirən çoxnüvəli sistem kimi görürəm, lakin AVR kimi klassik modellərlə kombinasiyaları istisna etmirəm: onlardan texniki tərəqqinin bəzi kritik, sürətlə fırlanan nizə ucluqlarını asmaq üçün istifadə etmək olar. Əgər kod illərdir sınaqdan keçirilirsə, niyə də olmasın?
Teqlər əlavə edinBugünkü məqalə, adından da göründüyü kimi, əsasları müzakirə etməyə həsr olunacaq USB interfeysi. Gəlin əsas anlayışlara, interfeys strukturuna baxaq, məlumat ötürülməsinin necə baş verdiyini anlayaq və yaxın gələcəkdə bütün bunları praktikada tətbiq edəcəyik 😉 Bir sözlə, başlayaq!
Bir sıra fərqli spesifikasiyalar var USB. Hər şey ilə başladı USB 1.0 Və USB 1.1, sonra interfeys çevrildi USB 2.0, son spesifikasiya nisbətən yaxınlarda ortaya çıxdı USB 3.0. Ancaq hazırda ən çox yayılmış tətbiqdir USB 2. 0.
Yaxşı, yeni başlayanlar üçün əsas məqamlar və xüsusiyyətlər. USB 2.0üç iş rejimini dəstəkləyir:
Avtobusda əmrlər USB host(məsələn, PC), 127-yə qədər müxtəlif cihazı birləşdirə bilərsiniz. Bu kifayət deyilsə, başqa bir host əlavə etməlisiniz. Bundan əlavə, cihazın özünün hosta məlumat göndərə/qəbul edə bilməməsi vacibdir; bu, ev sahibinin cihazın özü ilə əlaqə saxlamasıdır;
Haqqında demək olar ki, bütün məqalələr USBİstifadə olunan termini görmüşəm son nöqtə", lakin bunun nə olduğu adətən çox qeyri-müəyyən şəkildə yazılır. Beləliklə, son nöqtə cihazın bir hissəsidir USB, özünəməxsus identifikatoru var. Hər bir cihaz USBçoxlu son nöqtələri ola bilər. Ümumiyyətlə, son nöqtə sadəcə yaddaş sahəsidir USB hər hansı bir məlumatın saxlanıla biləcəyi cihaz (məlumat buferi). Və sonda bunu əldə edirik - hər bir cihazın avtobusda özünəməxsus ünvanı var USB, və bu cihazın hər bir son nöqtəsinin öz nömrəsi var. bu kimi)
Gəlin bir az kənara çıxaq və interfeysin “hardware” hissəsi haqqında danışaq.
İki növ bağlayıcı var - Tip A və Tip B.
Artıq şəkildən aydın olduğu kimi A növü həmişə ev sahibi ilə qarşılaşır. Bunlar kompüterlərdə və noutbuklarda gördüyümüz bağlayıcılardır. Bağlayıcılar B növü həmişə qoşulmuş USB cihazlarına baxın. USB kabel müxtəlif rəngli 4 naqildən ibarətdir. Əslində, qırmızı güc (+5 V), qara torpaq, ağ və yaşıl məlumat ötürülməsi üçündür.
Şəkildə göstərilənlərə əlavə olaraq, USB konnektorları üçün digər variantlar da var, məsələn, mini-USB və digərləri, yaxşı, siz artıq bilirsiniz 😉
Yəqin ki, məlumatların ötürülməsi üsuluna bir az toxunmağa dəyər, lakin biz buna daha dərindən getməyəcəyik) Beləliklə, məlumatı avtobusla ötürərkən USB kodlaşdırma prinsipindən istifadə edilir NRZİ(inversiya ilə sıfıra qayıtmaq yoxdur). Məntiqi “1” ötürmək üçün D+ xəttinin səviyyəsini +2,8 V-dan yuxarı qaldırmaq, D- xəttinin səviyyəsini isə +0,3 V-dan aşağı endirmək lazımdır. Sıfır ötürmək üçün vəziyyət əksinədir - ( D- > 2.8 V) və (D+< 0.3 В).
Cihazların enerji təchizatını da müzakirə etməliyik USB. Və burada da bir neçə variant mümkündür.
Birincisi, qurğular avtobusdan qidalana bilər, sonra onları iki sinfə bölmək olar:
Burada fərq ondadır aşağı güc cihazlar daha çox istehlak edə bilməz 100 mA. A cihazlar yüksək güc artıq istehlak etməməlidir 100 mA yalnız konfiqurasiya mərhələsində. Ev sahibi tərəfindən konfiqurasiya edildikdən sonra onların istehlakı qədər ola bilər 500 mA.
Bundan əlavə, cihazların öz enerji təchizatı ola bilər. Bu halda, onlar qədər ala bilərlər 100 mA avtobusdan və hər şeyi mənbəyinizdən götürün)
Hamısı belə görünür, yavaş-yavaş ötürülən məlumatların strukturuna keçək. Yenə də bizim üçün ən çox bu maraqlıdır 😉
Bütün məlumatlar ötürülür kadr, müntəzəm olaraq göndərilir. Öz növbəsində, hər bir çərçivə ibarətdir əməliyyatlar. Bəlkə də bu şəkildə daha aydın olacaq:
Hər çərçivəyə bir paket daxildir , sonra müxtəlif son nöqtələr üçün əməliyyatlar izlənilir və hamısı paketlə başa çatır EOF (Çərçivənin Sonu). Tam dəqiq desək, onda EOF- bu, sözün adi mənasında tam paket deyil - bu, məlumat mübadiləsinin qadağan olunduğu vaxt intervalıdır.
Hər bir əməliyyat aşağıdakı formaya malikdir:
İlk paket (adlanır Token plastik torba) cihazın ünvanı haqqında məlumatı ehtiva edir USB, həmçinin bu əməliyyatın nəzərdə tutulduğu son nöqtənin nömrəsi. Bundan əlavə, bu paketdə əməliyyatın növü haqqında məlumat saxlanılır (hansı növlərin olduğunu müzakirə edəcəyik, lakin bir az sonra =)). – onunla hər şey aydındır, bu ev sahibi və ya son nöqtə tərəfindən ötürülən məlumatlardır (əməliyyat növündən asılı olaraq). Son paket - Vəziyyət
“Paket” sözü interfeysə münasibətdə dəfələrlə eşidilib. USB, buna görə də bunun nə olduğunu anlamaq vaxtıdır. Paketdən başlayaq Token:
Paketlər Tokenüç növ var:
Ona görə bunu dedim..) Paketin növündən asılı olaraq sahə dəyəri PID V Token paket aşağıdakı dəyərləri qəbul edə bilər:
Gəlin paketin növbəti komponentinə keçək Token- sahələr Ünvan Və Son nöqtə- ehtiva edir USB cihazının ünvanı və son nöqtə nömrəsi, nəzərdə tutulmuşdur əməliyyat.
Nə sahədir CRC– bu yoxlama məbləğidir, bu aydındır.
Burada başqa bir mühüm məqam da var. PID 4 bit daxildir, lakin ötürülmə zamanı onlar ilk 4 bitin çevrilməsi ilə əldə edilən daha 4 bitlə tamamlanır.
Beləliklə, növbəti sırada - yəni məlumat paketi.
Burada hər şey paketdəki kimidir Token, yalnız cihazın ünvanı və son nöqtə nömrəsi əvəzinə, burada ötürülən məlumatımız var.
Bizə fikir vermək qalır – onunla hər şey aydındır, bu ev sahibi və ya son nöqtə tərəfindən ötürülən məlumatlardır (əməliyyat növündən asılı olaraq). Son paket - paketlər və SOF paketləri:
Budur PID yalnız iki dəyər qəbul edə bilər:
Və nəhayət paketlər:
Burada yeni bir sahə görürük Çərçivə– o, ötürülən çərçivənin nömrəsini ehtiva edir.
Nümunə olaraq USB cihazına məlumatların yazılması prosesinə baxaq. Yəni, qeyd çərçivəsinin strukturunun bir nümunəsini nəzərdən keçirin.
Çərçivə, xatırladığınız kimi, əməliyyatlardan ibarətdir və aşağıdakı formaya malikdir:
Bütün bu əməliyyatlar nədir? Gəlin bunu indi anlayaq! Əməliyyat QURULUM:
Əməliyyat OUT:
Eynilə, USB cihazından məlumatları oxuyarkən çərçivə belə görünür:
Əməliyyat QURULUM artıq gördük, əməliyyata baxaq IN 😉
Gördüyünüz kimi, bütün bu əməliyyatlar yuxarıda müzakirə etdiyimiz kimi eyni quruluşa malikdir)
Ümumiyyətlə, düşünürəm ki, bu gün üçün kifayətdir 😉 Bu kifayət qədər uzun məqalədir, ümid edirəm ki, USB interfeysini yaxın gələcəkdə praktikada tətbiq etməyə çalışacağıq!