USB interfeysi: interfeys cihazlarının təsviri və əsasları. USB avtobus protokolu USB 2.0 protokolu

10.09.2021
  • Mini-B birləşdiricisi ECN: 2000-ci ilin oktyabrında buraxılmış bildiriş.
  • Errata, 2000-ci ilin dekabrından: 2000-ci ilin dekabrında verilmiş bildiriş.
  • Yuxarı açılan/aşağı açılan rezistorlar ECN
  • Errata, 2002-ci ilin mayından: 2002-ci ilin mayında verilmiş bildiriş.
  • Interface Associations ECN: 2003-cü ilin mayında verilmiş bildiriş.
    • Birdən çox interfeysin bir cihaz funksiyası ilə əlaqələndirilməsinə imkan verən yeni standartlar əlavə edilmişdir.
  • Dairəvi pah ECN: 2003-cü ilin oktyabrında buraxılmış bildiriş.
  • Unicode ECN: 2005-ci ilin fevralında buraxılmış bildiriş.
    • Bu ECN sətirlərin UTF-16LE istifadə edərək kodlandığını müəyyən edir.
  • Çiplərarası USB Əlavəsi: 2006-cı ilin martında verilmiş bildiriş.
  • On-The-Go Əlavə 1.3: 2006-cı ilin dekabrında verilmiş bildiriş.
    • USB On-The-Go iki USB cihazının ayrı bir USB host olmadan bir-biri ilə əlaqə saxlamasına imkan verir. Praktikada cihazlardan biri digəri üçün ev sahibi kimi çıxış edir.

USB OTG

USB 3.0

USB 3.0 inkişafının son mərhələsindədir. Aşağıdakı şirkətlər USB 3.0 inkişaf etdirir: Microsoft, Texas Instruments, NXP Semiconductors. IN USB spesifikasiyası Yenilənmiş standartın 3.0 konnektorları və kabelləri fiziki və funksional olaraq USB 2.0 ilə uyğun olacaq. USB kabel 2.0 dörd sətirdən ibarətdir - məlumatların qəbulu/ötürülməsi üçün bir cüt, biri güc üçün, biri isə torpaqlama üçün. Bunlara əlavə olaraq, USB 3.0 beş yeni xətt əlavə edir (nəticədə daha qalın kabel), lakin yeni sancaqlar fərqli pin cərgəsində köhnələrə paralel yerləşdirilir. İndi kabelin standartın bu və ya digər versiyasına aid olub-olmadığını sadəcə onun konnektoruna baxmaqla asanlıqla müəyyən edə bilərsiniz. USB 3.0 spesifikasiyası yaxşılaşır maksimum sürət 4.8 Gbit/s-ə qədər məlumat ötürülməsi - bu, USB 2.0-ın təmin edə biləcəyi 480 Mbit/s-dən daha böyük bir sıradır. USB 3.0 nəinki yüksək məlumat ötürmə sürətinə malikdir, həm də cərəyanı 500 mA-dan 900 mA-a qədər artırır. Bundan sonra istifadəçi nəinki bir hubdan daha çox sayda cihazı enerji ilə təmin edə bilməyəcək, həm də əvvəllər ayrıca enerji təchizatı ilə təchiz edilmiş aparat özü onlardan xilas olacaq.


Burada GND periferik cihazları gücləndirmək üçün "hal" dövrəsidir, VBus +5 V, həmçinin güc dövrələri üçün. Məlumat D+ və D− naqilləri vasitəsilə diferensial şəkildə ötürülür (vəziyyətlər 0 və 1 (rəsmi sənədlərin terminologiyasında müvafiq olaraq diff0 və diff1) 0,2 V-dan çox olan xətlər arasındakı potensial fərqlə müəyyən edilir və onlardan birində olması şərtilə). xətlər (diff1-də diff0 və D+ vəziyyətində) potensial GND-ə nisbətən 2,8 V-dan yüksəkdir. Diferensial ötürmə üsulu əsasdır, lakin yeganə deyil (məsələn, işə salma zamanı cihaz bu barədə məlumat verir. 1,5 kOhm rezistor vasitəsilə xət məlumatlarından birini V_BUS-a çəkərək cihaz tərəfindən dəstəklənən rejim (Full-Speed ​​və ya Low-Speed) haqqında hostinq aparın (Aşağı Sürət rejimi üçün D− və Tam Sürət üçün D+). rejimində, Yüksək Sürətli rejimdə işləyən qurğular bu mərhələdə Tam Sürət rejimində olan cihazlar kimi davranırlar.

USB 3.0 tip B konnektoru

USB 3.0 konnektoru A növü

USB 3.0 kabelləri və birləşdiriciləri

USB-nin mənfi cəhətləri

USB 2.0-in ən yüksək ötürmə qabiliyyəti 480 Mbps (60 MB/s) olsa da, praktikada buna nail olmaq mümkündür. ötürmə qabiliyyəti, zirvəyə yaxın, uğursuz olur. Bu, kifayət qədər böyük gecikmələrlə bağlıdır USB avtobus məlumatların ötürülməsi sorğusu ilə köçürmənin faktiki başlanması arasında. Məsələn, FireWire avtobusu USB 2.0-dan 80 Mbit/s az olan 400 Mbit/s daha aşağı pik ötürmə qabiliyyətinə malik olsa da, faktiki olaraq məlumat mübadiləsi üçün daha çox ötürmə qabiliyyətinə imkan verir. sabit disklər və digər məlumat saxlama cihazları.

USB və FireWire/1394

Komandaların ötürülməsi üçün bir üsul olan USB yaddaş protokolu

Bundan əlavə, USB yaddaş köhnə əməliyyat sistemlərində (orijinal Windows 98) dəstəklənmir və sürücünün quraşdırılması tələb olunur. Onlarda SBP-2 də dəstəkləndi. Həmçinin, köhnə əməliyyat sistemlərində (Windows 2000) USB yaddaş protokolu kəsilmiş formada həyata keçirilirdi ki, bu da SBP-2-yə qoşulmuş USB sürücüsündə CD/DVD yazma funksiyasının istifadəsinə heç vaxt imkan vermirdi;

USB avtobusu ciddi şəkildə yönəldilmişdir, ona görə də 2 kompüter və ya 2 periferik cihazı birləşdirmək əlavə avadanlıq tələb edir. Bəzi istehsalçılar printer və skaner və ya kamera və printeri birləşdirməyi dəstəkləyir, lakin bu tətbiqlər istehsalçıya çox xasdır və standartlaşdırılmayıb. 1394/FireWire avtobusu bu çatışmazlığa məruz qalmır (2 video kamera qoşa bilərsiniz).

Bununla belə, Apple-ın lisenziyalaşdırma siyasətləri, eləcə də avadanlıqların daha mürəkkəbliyi səbəbindən 1394 daha az yayılmışdır. ana platalar köhnə kompüterlərdə 1394 nəzarətçi yoxdur. Periferiyalara gəldikdə, 1394 dəstəyi adətən kameralar və kamera gövdələrindən başqa heç bir şeydə tapılmır. xarici sərt disklər və CD/DVD sürücüləri.

Həmçinin baxın

  • FireWire
  • TransferJet

Mənbələr

Bağlantılar

  • USB Xəbərləri (Almanca)

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 (çoxlaşdırı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 üçü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 1.1 və 2.0 konnektor naqilləri

USB siqnalları qorunan dörd telli kabelin iki teli üzərindən ötürülür.

Budur :

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 çatışmazlıqları

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, USB 2.0-dan 80 Mbps (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 məlumat saxlama cihazları ilə məlumat mübadiləsi üçün daha çox ötürmə qabiliyyətinə imkan verir. Bununla əlaqədar olaraq, 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. Bu daha çox verəcəkdir yüksək sürət, bir neçə cihazı bir porta qoşarsanız (portu bölün). Siz hubdan istifadə edərək filial edə 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 artı 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 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.

  • Dərslik

Universal Serial Bus üzərində OSI şəbəkə modelinin təsvirli proyeksiyası.

USB yığınının üç "əlamətdar" səviyyəsi

İnternetdə ən çox tapıla bilən USB yığınının görünüşü məni qane etmədi:

Çox faydalı USB yığını deyil


Avtobus səviyyəsi, məntiqi, funksional... Bunlar təbii ki, gözəl abstraksiyalardır, lakin onlar daha çox host üçün sürücü və ya proqram təminatı hazırlamağa hazırlaşanlar üçündür. Mikrokontroller tərəfində mən şablon sonlu dövlət maşını gözləyirəm, onun qovşaqlarına adətən faydalı kodumuzu yerləşdiririk və o, janrın bütün qanunlarına uyğun olaraq əvvəlcə uğursuz olacaq. Və ya hostun proqram təminatı səhv olacaq. Və ya sürücü. Hər halda, kimsə uğursuz olacaq. MK kitabxanalarını dərhal anlamaq da mümkün deyil. Və beləliklə mən analizatorla USB avtobusundakı trafikə baxıram, burada üç gözəl səviyyəli tanış olmayan bir dildə baş verən hadisələr heç də uyğun gəlmir. Görəsən, qrip qızdırmasına görə başımda belə dissonans yaranıb?

Oxucuda oxşar hisslər olubsa, sevimli 7 qatlı OSI modelinə əsaslanaraq, həddində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 hazırlanmalıdır. Mühəndislik səbəblərinə görə səviyyələri olan kod çox qarışıq olacaq. Ancaq USB avtobusu ilə tanışlığa başlayanlara, cihaz mübadiləsi protokollarını və mövzu sahəsinin terminologiyasını başa düşmək istəyənlərə yaxınlaşmağa kömək etmək istəyirəm. hazır nümunələr, kitabxanalar və daha yaxşı naviqasiya. 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 hardasa belə bir şey artıq çə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 indi hörmətli ictimaiyyətə ilk növbədə bu nəşrə niyə 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şa çıxdı 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.


İstəsək də, istəməsək də, mikrokontrollerlərin təkamülü açıq şəkildə dayanmayacaq. Xeyr, yox və o, nəşrlərdə görünəcək (http://habrahabr.ru/post/208026/, http://habrahabr.ru/post/233391/) "ağır ətraf qurğular" - MK-da quraşdırılmış USB avtobus tətbiqləri, təhlil nümunələri ilə, HID-dən istifadə etməklə və s. Verilən səkkiz nümunədən RaJa müəllifinə hörmətlə yanaşmalıyıq standart kitabxana STSW-STM32121 (UM0424) və birtəhər ən faydalı olanı (Xüsusi HID) seçdi, onu pulsuz Em::Blocks mühitinə köçürdü, qeyd edildi aydın dildə, bir az bəzədib, bravo! Bu mənə çox vaxt qənaət etdi.

Kitabxanaya necə getmək olar?

Müəllif tərəfindən lütfən GitHub-da yerləşdirilən Em::Blocks üçün RHIDDemo layihəsini aldıqdan sonra onu Keil-ə köçürməyə başladım (FTDI əsaslı CoLink sazlayıcım; kimsə mənə Em::Blocks üçün Coocox plaginini desin). Ancaq mən başa düşə bilmədim: əgər sayt 2011-ci ildən 3.5.0-ı yerləşdiribsə, müəllif 2012-ci ildən SPL 3.6.1-i haradan alıb? Mən olduqca darıxdırıcı bir axtarışdan keçdim, bu da məni təəccübləndirdi... birbaşa USB FS 4.0.0 kitabxanasının bir hissəsi kimi Keil üçün hazır Xüsusi HID layihəsinə gətirib çıxardı. Süpürgə altında siçan kimi göz qabağında yatır. Oh yaxşı. Amma nəhayət STMicroelectronics buraxılışlarına çatdım, STSW-STM32121 (UM0424) USB FS kitabxanasının təsvirini tapdım və tərtibatçının məni dəli etmək cəhdlərini dayandırdım. Mənə deyin, 2011-ci ildə buraxılmış SPL 3.5.0 dəstinə 2009-cu ildən vintage CMSIS 1.30-u yerləşdirmək, 2012-ci ildə buraxılmış yeni SPL 3.6.1-i 2013-cü ildə buraxılmış USB-FS 4.0.0-da gizlətmək normaldırmı (CMSIS 3.0.0. 1-dən 2012-ci ildə də orada), göndərmələrinə baxmayaraq cari versiya CMSIS 3.30 buraxılışı 2014? Yeri gəlmişkən, STM32F10X üçün SPL 3.6.x-də bufer daşması siqnalları ilə bağlı USART ilə bir neçə səhv düzəldildi. Sağ olun, heç olmasa buraxılış qeydlərini qoyublar...

HID vs SNMP

Beləliklə, STM32F103C8T6-nı götürərək, USB HID mövzusunu bir az araşdırmaq qərarına gəldim, USB HID abstraksiya hər cür sensorlar, sensorlar və digər PWM ilə idarə olunan güc sürücülərinin konsepsiyasına çox yaxşı uyğun gəlir. Nədənsə bu, mənə SNMP-ni xatırlatdı, yalnız çox sadələşdirilmiş formada: HID deskriptorları SNMP MIB rolunu oynayır. Cihaz ev sahibi tərəfindən işə salındıqda: “Salam, ev sahibi! Mən qəhvə hazırlayanam. Məndə [başlat] düyməsi, [qaymaq], [şəkər] idarələri, [qalan qəhvə], [su qalır], [şəkər qalır], [qaymaq qalır]. Sürücüləri qaldırın, düyməni basın, bir az qəhvə içək." Sizə heç nəyi xatırlatmır? SNMP dialoqunun nümunəsi: “Yaxşı, salam, 100.000 dollara proqram təminatı olan idarəetmə stansiyası. Və mənim 200.000 dollara keçid şassim var və onun hər biri 100.000 dollara daha 4 modulum var; hər birində nalayiq sürətlə daha 16 port var və burada bütün funksiyaları sadalamaq sadəcə mümkün deyil... hər bir element üçün ayrıca soruşun; ah, bəli, prosessor yükü filan, yaddaş filan...” Və eyni ruhda başqa onlarla səhifə.

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. Ancaq 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 qarışıq 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!

Başqa bir möhtəşəm sxem

İnternetdə başqa bir illüstrasiya ilə qarşılaşdım (bu, BMP formatında idi, zarafat deyil):

Ə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;
Kadrlar NRZI metodundan istifadə edərək seriyalı bit ötürülməsi ilə ötürülür.
Və burada başqa:
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.

Deyəsən hər şey düzgün çəkilib, amma oxuduqca suallar daha çox olur. Avtobusda ötürülən minimum məlumat strukturu çərçivə və ya paketdir? Ümumiyyətlə, yuxarıdan aşağıya baxmalıyıq, yoxsa əksinə? Və NRZI metodundan istifadə edərək kodlaşdırılan nədir - çərçivələr, paketlər və ya avtobusdakı bütün bit axını? Əməliyyatlar bağlama, köçürmə və ya bəlkə də bir növ qiymətli bağlamadan ibarətdir?
Niyə edə bilməzsiniz: host paketləri əməliyyatlara qruplaşdırır və onları cari avtobus ötürmə qabiliyyətinə əsaslanaraq vaxt baxımından kritik məlumatlara (video, audio) üstünlük vermək üçün çərçivələr adlanan vaxt dilimlərinə paylayırmı? Bəli, USB-də paket köçürmələrinin planlaşdırılması ilə bağlı nüanslar var, mən hələ onlara toxunmuram.

USB yığını ilə bağlı baxışım

Mən hubda qeyd olunan NutShell-dəki USB-ni (hurray, tərcümə), eləcə də USB Made Simple-ni yaxşı sənədləşdirmə hesab edirəm. Onlara əsaslanaraq, USB yığınının versiyasını yığdım, onu yenidən çəkəcəyəm.

Fiziki təbəqə
Fiziki səviyyədə, diferensial cüt keçiricinin (yerlə birlikdə) elektrik rejimləri dəsti bit doldurulması ilə NRZI metodundan istifadə edərək bit axınının kodlandığı vəziyyətləri təyin etmək üçün istifadə olunur: burada altı ardıcıl "1"dən sonra ( yaxşı, ötürmək istədim, deyək ki, 0xffff) “0” qəbuledicinin uzun müddət bir vəziyyətdə qalmaması üçün daxil edilmişdir; Qəbuledici A Daxil edilmiş “0” yoxdur və bu, tezliklərin daha yaxşı avtomatik tənzimlənməsi üçün kodlaşdırmada kifayət qədər geniş yayılmış texnikadır; Torpaqla birlikdə bir cüt tel ən azı dörd statik vəziyyət yaratmağa imkan verir (onlar J, K, SE0, SE1 olaraq təyin olunur). USB 2.0-da SE1 istifadə edilmir və qalan üçü əlavə olaraq bir neçə nəzarət simvolunu (paket sərhədləri, sıfırlama, qoşulma/ayrılma, enerjiyə qənaət/çıxış) ötürmək üçün dinamikada (saatlar və keçidlərlə) ifa olunur. USB Made Simple, Part 3 - Data Flow-da yaxşı təsvirlər var.
Bunlar. Nəticədə, məlumatlar sıfırlar və birlər, üstəgəl bütün növ nəzarət simvolları şəklində ötürülür ki, bu elektrodinamik mətbəxdən normal məlumat paketləri hazırlana bilsin.
(oxucuların xahişi ilə əlavə edilmişdir)
Dəstə səviyyəsi
Paket səviyyəsində ünvansız paketlər host və cihaz arasında ötürülür (yarım dupleks xəttdə olan bir cüt cihaz ünvansız edə bilər). Paket qəbuledicinin saatını, bayt ardıcıllığını və EOP simvolunu sinxronlaşdırmaq üçün SYNC markerindən ibarətdir. Paketin uzunluğu dəyişkəndir, lakin yığının yuxarı səviyyələri vasitəsilə razılaşdırılır. Birinci bayt Paket İdentifikatoru (PID) adlanır, səs-küydən qorunmaq üçün sadə lazımsız formata malikdir və növbəti səviyyəli maşına (paketlərdən əməliyyatların yığılması üçün) qidalanma üçün uyğundur. İçliyi olan paketlər (bir PID baytdan çox) yoxlama məbləği ilə təmin edilir (paketin növündən asılı olaraq qısa CRC5 və ya uzun CRC16). Protokol analizatoru ən azı bizə paketləri göstərməlidir.
Əməliyyat səviyyəsi
Növbəti səviyyədə paketlər gedirlər əməliyyatlar. Tranzaksiya, bir-birinin ardınca ciddi şəkildə izlənilən, (yarım dupleks rejimində) ev sahibinin son nöqtə ilə mübadilə edən kiçik paketlər toplusudur (Tam Sürətli USB 1, 2 və ya 3-də). Əməliyyatı yalnız ev sahibinin açması çox vacibdir; bu, USB xüsusiyyətidir (MK proqram təminatında bizim üçün daha az çətinlik var). Əməliyyat səviyyəsində biz danışa bilərik kanal(boru) host və cihazın son nöqtələrindən biri arasında, lakin mən qəsdən OSI modelindən "Data Link" terminindən qaçıram. Protokol analizatoru ən azı əməliyyatları deşifrə etməlidir.
Ötürücü səviyyəsi
Tranzaksiyaların üzərinə köçürmə qatını yerləşdirəcəyik. USB-də onların dörd növü var: 0 nömrəli son nöqtə ilə idarəetmə köçürmələri, kəsilmə köçürmələri, izoxron köçürmələr və toplu köçürmələr. Son üçü axın kanallarının variantlarıdır (axın borusu), onlar haqqında daha sonra bir neçə söz deyəcəyəm. Bu səviyyə də yaxşı bir protokol analizatorunu göstərməlidir.
Tətbiq təbəqəsi
Stackin yuxarı hissəsində, həmişə olduğu kimi, tətbiq təbəqəsi var. Burada baş verənlər: cihazın ünvanını host tərəfindən təyin etmək, cihaza özü haqqında deskriptorlar dilində məlumat vermək, konfiqurasiya seçmək üçün host əmrləri (nəzarət ötürülməsi), HID cihazları ilə məlumat mübadiləsi (nümunələrdə tapdım. bu günə qədər fasilələrlə ötürmə, mən nəzarəti sınamaq istəyirəm, printerdə çap və skan etmək, USB yaddaşa giriş (böyük blok), qulaqlıqlar və veb-kameralar vasitəsilə əlaqə (izoxron) və bir çox başqa gözəl şeylər.
Son toxunuş
Səviyyələri bir saniyə aşağı ataraq əlavə edə bilərik ki, ev sahibi vaxtaşırı eyni Start of Frame (SOF) paketlərini avtobusun üzərinə atır, vaxtı bərabər intervallara bölür, lakin tranzaksiyaların özləri pozulmayacaq şəkildə. Buna görə də, SOF paketləri müstəqil əməliyyatlar hesab edilə bilər. USB çərçivəsi OSI modelinin məlumat bağlantısı qatının omonimi ilə qarışdırılmamalıdır. Audio CD-nin çərçivələrini (çərçivələrini) xatırlamaq daha yaxşıdır, bu sadəcə bir zamandır: ev sahibi SOF paketləri ilə avtobusa "gənə verir" ki, qoşulmuş qurğular sözdə iştirak etməyi əvvəlcədən planlaşdırsınlar. izoxron ötürülmələr, məlumat axınlarını real vaxtda idarə etmək. Yaxşı və ya buna bənzər: əməliyyat qrupları ev sahibi tərəfindən çərçivələr adlanan vaxt intervallarında planlaşdırılır. Tam Sürətdə çərçivə 1ms və Yüksək Sürətli USB-də 125µs-dir, lakin Yüksək Sürət daha mürəkkəb bir standartdır və ayrı-ayrılıqda ən yaxşı şəkildə öyrənilir.
UPD:
Oxucular tərəfindən yaxşı bir sual verildi: parçalanma haqqında nə demək olar? USB 2.0-də əməliyyat səviyyəsində və aşağıda heç bir parçalanma əlaməti tapmadım, yəni. Əməliyyatların tam şəkildə ötürülməsi nəzərdə tutulur. Bəzi hallarda köçürmələr, xüsusən də izoxron rejimlər nəzərə alınmaqla, bir neçə əməliyyata bölünə bilər və edilməlidir. Yenə də deyirəm ki, hələlik ev sahibi bizim üçün bütün planlaşdırmalara cavabdehdir (MK tərəfində biz daha az düşünməliyik).

USB trafikinə baxırıq

İllüstrasiyaların yaxşı seçimi qeyd olunan USB Made Simple kitabında, 5-ci fəsildə verilmişdir: www.usbmadesimple.co.uk/ums_5.htm

Onlardan biri budur


Beləliklə, əməliyyat həmişə cihazda seçilmiş bir son nöqtə ilə əlaqəli olaraq ev sahibi tərəfindən başlayır (0 nömrəli xüsusi nöqtəyə əlavə olaraq, bir cihazda onlardan 15-ə qədər ola bilər, məsələn, birləşdirilmiş klaviatura ilə birləşdirilmiş klaviatura. siçan, termometr, fləş sürücü, qəhvə dəmləyən və santexnika sifarişi üçün zəng düyməsi).
Ev sahibi cihazdan məlumat alırsa, sonuncu özü əməliyyatı aça bilməz, ancaq gözləyə bilər doğru an və orada iştirak edin. Host cihazı PID = IN (Token qrupu) paketi ilə əməliyyat açır və tələb olunan müddət ərzində avtobus azadlığına zəmanət verir, cihaz əməliyyatın növündən asılı olaraq Data qrupundan paketi atır, host təsdiq edə bilər. Handshake qrupundan üçüncü paket (ACK, NAK, STALL, NYET) ilə uğur qazanır, əməliyyat bağlanır.
Cihaza məlumat göndərərkən (PID = OUT, Token qrupu) host əməliyyatı açır, məlumat paketi (Data) göndərir və rejimdən asılı olaraq, əməliyyatın müvəffəqiyyətini təsdiqləyən Handshake paketini də ala bilər.
Əməliyyatın sonunda hər şey normala dönəcək, cihaz yenidən hostdan nəzarət paketlərini gözləyəcək.

STM32 USB FS nümunələrində USB ötürmə rejimləri

Audio-video axını, siçan jestləri və yüksək sürətli osiloskop siqnalı ilə eyni vaxtda diskdən kopyalamaq üçün bir cüt naqildən istifadə etmək üçün müxtəlif növlər mesajlar və yayımlar.
Yuxarıda yalnız sadə təsvir etdim axın kanalı Doldurulmuş paketlərin (Məlumat qrupları) USB altsisteminin özünə heç bir xüsusi və ya nəzarət məlumatı daşımadığı host və son nöqtə arasında (Axın Borusu). Yazışmaların tam azadlığı, nəzarətçi kitabxanası MK yaddaşından ixtiyari ölçülü buferi hosta və ya arxaya yükləmək üçün primitivləri təmin etməlidir. MK kitabxanasına host sürücüsü ilə birlikdə paketlərə kəsmə, yönləndirmə və "defraqmentasiya" ilə məşğul olsun. STM32-də bunlar UM0424-də təsvir edilən USB_SIL_Write() və USB_SIL_Read()-dir. Onlar abstraksiyanın çox məntiqi səviyyəsidir. Host tərəfində müvafiq sürücünün təsvirinə baxın (məsələn, FreeBSD-də bu ugen(4)-dir).
Bununla belə, sadə axın kanalı təşkil etmək üçün USB kimi ağır periferiya qurğularından istifadə etməyi küfr hesab edirəm (sual olunur: USART-da nə səhvdir?). Ancaq təbii ki, hər cür vəziyyət var.
Hər halda, USB alt sisteminin ümumiyyətlə canlanması və cihazın aşkarlanması üçün nəzarət əməliyyatlarının mübadiləsi tələb olunur.

MƏDDƏT

STMicroelectronics-dən Tam Sürətli USB ilə işləmək üçün eyni UM0424 kitabxanasından əlavə nümunələr qeyd olunacaq, lakin onlar yerli demo lövhələri üçün nəzərdə tutulub. Müəllif Rajadan nümunə götürün, layihələri demo boardunuza uyğunlaşdırmaqda mühəndislik fərasətini göstərin.

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ç nə deyil, çinlilər daha sonra bazarda USB məhsullarını satmağı bacarırlar, bunun üçün VID və PID kitabxanasını dəyişdirməkdən belə çəkinmirlər.

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 siz yalnız /dev/null analoqunu yarada bilərsiniz, lakin onu formatlaya bilməzsiniz :-)

Ötürmələri və mesaj kanallarını idarə edin
USB haqqında düşünərkən LCP, IPCP, CCP və həmçinin xzCP ilə köhnə PPP protokolunu xatırlayıram. Host və № 0 son nöqtə arasında xüsusi tipli mesajların mübadiləsi x3CP-nin yerli ekvivalentidir.
İdarəetmə ötürülmələri vasitəsilə cihaz işə salınır, ünvan alır, hosta özü haqqında deskriptorların dilində danışır (belə ki, o, tapıb aktivləşdirə bilsin. tələb olunan sürücü). Nəzarət əməliyyatları olmadan sadə axın işləməyəcək, əgər cihaz formada cavab vermirsə, host tez bir zamanda portu bağlayacaq: protokola əməl edilməlidir.
Prinsipcə, protokol asılmağı qadağan etmir nəzarət nöqtəsi№ 0 və kəsilmə rejiminə bənzər məlumat mübadiləsi. Eyni zamanda, bu barədə düşünün: MK proqram təminatını, belə demək mümkünsə, sahədə necə yeniləyəcəksiniz? Proqramçı hazırsınız? Başqa bir həll yolu var.
Misal: Cihazın proqram təminatının təkmilləşdirilməsi
Kəsilmiş ötürmələr
Bu müxtəliflik ( köçürməni dayandırmaq) nəzarət əməliyyatlarına bənzər kiçik əməliyyatların mübadiləsi üçün nəzərdə tutulub. Xeyr, cihaz hostun işini kəsə bilməz, səsverməni gözləyir, onların tezliyi və paket ölçüləri əvvəlcədən cihazın deskriptorunda müəyyən edilir. Hər növ uzaqdan idarəetmə, sensorlar, siçanlar, LEDlər və digər HID qəhvə dəmləyiciləri üçün yaxşı uyğundur. Hər nöqtədə fasilələr olan kanal bir istiqamətlidir.
Nümunələr: Fərdi HID, Joystick siçanı, Virtual COM portu
İzoxron ötürmələr
Χρόνος yunan dilində "zaman" deməkdir. İzoxron ötürülmə ( izoxron köçürmə) - real vaxt rejimində məlumat axınlarını idarə etməyə imkan verən yerli yüksək texnologiya. O, zəmanətli (lakin mütləq geniş deyil) bant genişliyi və QoS ilə UDP kimi təsdiqedici əməliyyatlara malik deyil. Sınıq paket? MK-nı ayağına itələyən tanrı Xronos idi. Paketi yenidən göndərməyə cəhd etməyə ehtiyac yoxdur, əks halda Allah üzüləcək. Bununla belə, yoxlama məbləğlərini Chronos-dan sakitcə yoxlayırıq. İzoxron köçürmələr audio-video və real vaxt ölçmə sistemləri, eləcə də digər oyuncaqlar üçün yaxşıdır ikili istifadə. Baxmayaraq ki, bəziləri ola bilər. USART və ya SPI vasitəsilə ARM-ə qoşularaq bir növ AVR-ni bağlamaq daha maraqlıdır. İzoxron əməliyyatlar çərçivə siqnalizasiyasında iştirak edir (SOF paketinin işarələnməsini xatırlayın).
Misal: USB səs dinamiki
Böyük bloklu ötürücülər
Xeyr, biz sement torbaları daşımayacağıq. Düşünürəm ki, hər kəs müxtəlif iş rejimini öyrənib USB sürücüləri. Transferlər toplu köçürmə hər zaman pozulmuş paketlərin ötürülməsi ilə, lakin bant genişliyinə zəmanət olmadan məlumatları mümkün qədər tez və mümkün qədər tez göndərmək məqsədi var, lazım olduqda onu izoxron ötürmələrə verir (QoS olmadan TCP-də olduğu kimi). HAQQINDA daxili quruluş Mən artıq USB flash sürücülər haqqında danışdım, indi işləyən prototipi yükləyə və işlədə bilərsiniz. Mən bunu özüm sınamamışam, amma nümunə təsvirindəki SCSI əmrləri cədvəli (yeri gəlmişkən) olduqca simvolikdir. NAND yaddaşı üçün aşınma idarəetmə alqoritminin heç bir əlaməti tapmadım :-)
QEYD: STM patent mühafizəsi yerlərdə tətbiq edilir.
Misal: Kütləvi saxlama

Açılmamış nə qalıb

USB-də başqa dərslik hazırlamaq məqsədim yoxdur, mənsiz də kifayət qədər var və onlar yaxşı təsvir olunub: elektrik hissəsi, protokol detalları, hublarla işləmə, deskriptor dili və HID abstraksiya səviyyəsi, VID/ ilə problemlər PID unikallığı, USB 3.0 və USB avtobusun bir çox digər gözəl xüsusiyyətləri, həm bizim üçün faydalıdır, həm də çox deyil. İT mütəxəssisləri üçün xüsusilə düşmən cihazlarının icmalı ilə qaranlıq tərəfə ekskursiya etməyi məsləhət görürəm (dəhşətli işlər görəcək maskalanmış HID klaviaturası olan bir flash sürücü).

Bağlantılar

Xüsusi HID nümunəsinin pulsuz Em::Blocks mühitinə və LC-Tech Industrial Electronics tərəfindən istehsal olunan STM32F103C8T6 büdcə demo lövhəsinə uyğunlaşdırılması. İT adamları. Bu bir növ mühəndislik Yin və Yangdır, hər birimizin hər ikisindən bir payı var.

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). Baxır elektron dövrə, demək olar ki, fiziki olaraq bütün cərəyanlarını potensiallarla hiss etməyə başlayır, 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ırmanı müzakirə edərkən, informasiya təhlükəsizliyi, milyonlarla kod xətti və hər cür fantaziya ilə nəhəng layihələr qrafik interfeyslər darıxmaq. 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 insanları anlamaq üçün yetişdirilir əməliyyat sistemləri, şəbəkə infrastrukturu və mürəkkəb qarşılıqlı əlaqələr, 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 (onları necə sevməyəsən? Mən nə saxlamıram, nə yetişdirirəm, nə də bişirirə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 bu dünyaya başqa cür baxırıq... Axı Linux nüvəsi Eyni uşaqlar onu C modullarından və xüsusi platformalar üçün assembler əlavələrindən kəsdilər və onlar sanki holivarsız keçindilə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ə edin

2008-ci ilin sonunda. Gözlədiyiniz kimi, yeni standart artan ötürmə qabiliyyəti, 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. Ancaq müasirlərdə 3,5 düym var. sabit disklər masa üstü kompüterlər üçün ötürmə sürəti artıq 100 MB/s-ni keçib (noutbuklar üçün 2,5 düymlük modellər də görünür, yaxınlaşır. bu səviyyə). 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 bunu yaxın gələcəkdə düşünmürük sabit disklər 600 MB/s səviyyəsinə yaxınlaşacaq, lakin sonrakı nəsillər bərk dövlət sürücüləri cəmi bir neçə ildən sonra 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.

Sürət müqayisə cədvəli USB xüsusiyyətləri 1.0 – 3.0

Rəqəmsal videokameralar bu gün gigabaytlarla video məlumatı yaza və saxlaya bilir. HD video kameraların payı artır və onlar daha tutumlu və daha sürətli qeyd yaddaşı tələb edir böyük miqdar data. Ə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.

8/10 bit kodlaşdırma

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

Enerjiyə qənaət rejimləri

Şü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.

Daha yüksək cərəyan

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.

Yeni kabellər, birləşdiricilər, rəng kodlaması

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, siz USB 3.0 fişini tamamilə daxil etməlisiniz USB portuƏlavə sancaqlar tələb edən USB 3.0 iş rejimini təmin etmək üçün 3.0. Ə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.