Sayt bo'limlari
Muharrir tanlovi:
- Nima uchun noutbukga kichik SSD kerak va unga Windows-ni o'rnatishga arziydimi?
- Ramka kiritish. Ramkalar yaratish. noframes zaxirasini ta'minlash
- Windows tizimini qayta tiklash Hech qachon tugamaydigan avtomatik tiklashga tayyorgarlik
- Dasturlar yordamida flesh-diskni ta'mirlash Noutbukdagi USB portni qanday tuzatish kerak
- Disk tuzilishi buzilgan, o'qish mumkin emas, nima qilishim kerak?
- Qattiq disk kesh xotirasi nima va u nima uchun kerak?Kesh hajmi nima uchun javob beradi?
- Kompyuter nimadan iborat?
- Tizim blokining tuzilishi - qaysi komponentlar kompyuterning ishlashi uchun javobgardir Tizim blokining ichki qurilmalari xususiyatlari
- Qattiq diskni SSD ga qanday o'zgartirish mumkin
- Kirish qurilmalari kiradi
Reklama
USB avtobus protokoli. USB interfeysi asoslari USB 2.0 protokoli tavsifi |
USB OTGUSB 3.0USB 3.0 rivojlanishning yakuniy bosqichida. Quyidagi kompaniyalar USB 3.0 ni ishlab chiqmoqda: Microsoft, Texas Instruments, NXP Semiconductors. USB 3.0 spetsifikatsiyasida yangilangan standartning ulagichlari va kabellari USB 2.0 bilan jismoniy va funksional jihatdan mos keladi. USB kabeli 2.0 to'rt qatorni o'z ichiga oladi - ma'lumotlarni qabul qilish/uzatish uchun juftlik, quvvat uchun va yana biri yerga ulash uchun. Bunga qo'shimcha ravishda, USB 3.0 beshta yangi liniyani qo'shadi (natijada ancha qalinroq kabel), lekin yangi pinlar boshqa pin qatorida eskilariga parallel ravishda joylashgan. Endi siz kabelning standartning bir yoki boshqa versiyasiga tegishli ekanligini osongina aniqlashingiz mumkin, shunchaki uning ulagichiga qarab. USB 3.0 spetsifikatsiyasi maksimal uzatish tezligini 4,8 Gbit / s ga oshiradi - bu USB 2.0 taqdim eta oladigan 480 Mbit / s dan yuqoriroq. USB 3.0 nafaqat yuqori ma'lumotlarni uzatish tezligi, balki 500 mA dan 900 mA gacha ko'tarilgan oqimga ham ega. Bundan buyon foydalanuvchi bir hubdan nafaqat ancha ko‘p sonli qurilmalarni quvvatlantirishi mumkin, balki Uskuna, ilgari alohida quvvat manbalari bilan ta'minlangan, ulardan xalos bo'ladi.
USB 3.0 turi B ulagichi USB 3.0 ulagichi A turi USB 3.0 kabellari va ulagichlariUSB ning kamchiliklariGarchi USB 2.0 480 Mbit/s (60 MB/s) eng yuqori o'tkazish qobiliyatiga ega bo'lsa-da, amalda eng yuqori o'tkazuvchanlikka yaqin hech narsaga erishib bo'lmaydi. Bu ma'lumotlarni uzatish uchun so'rov va uzatishning haqiqiy boshlanishi o'rtasidagi USB avtobusidagi juda katta kechikishlar bilan izohlanadi. Misol uchun, FireWire avtobusi, garchi u USB 2.0 dan 80 Mbit / s kamroq bo'lgan 400 Mbit / s pastroq cho'qqiga ega bo'lsa-da, aslida qattiq disklar va boshqa saqlash qurilmalari bilan ma'lumot almashish uchun katta o'tkazish imkonini beradi. USB va FireWire/1394Protokol USB xotira, bu buyruqlarni uzatish usulidir Bundan tashqari, USB xotira eski operatsion tizimlarda (asl Windows 98) qo'llab-quvvatlanmaydi va drayverlarni o'rnatish talab qilinadi. Ularda SBP-2 ham qo'llab-quvvatlandi. Bundan tashqari, eski operatsion tizimlarda (Windows 2000) USB saqlash protokoli kesilgan shaklda amalga oshirildi, bu ulangan kompyuterda CD/DVD yozish funksiyasidan foydalanishga imkon bermadi. USB drayveri,SBP-2 hech qachon bunday cheklovlarga ega bo'lmagan. USB avtobusi qat'iy yo'naltirilgan, shuning uchun 2 ta kompyuter yoki 2 ta periferik qurilmani ulash uchun qo'shimcha uskunalar kerak bo'ladi. Ba'zi ishlab chiqaruvchilar printer va skaner yoki kamera va printerni ulashni qo'llab-quvvatlaydi, ammo bu ilovalar juda ishlab chiqaruvchiga xosdir va standartlashtirilmagan. 1394/FireWire avtobusi bu kamchilikka tobe emas (siz 2 ta video kamerani ulashingiz mumkin). Biroq, Apple litsenziyalash siyosati, shuningdek, apparatning ancha murakkabligi tufayli 1394 kamroq tarqalgan. anakartlar eski kompyuterlarda 1394 ta kontroller mavjud emas. Qo'shimcha qurilmalarga kelsak, 1394-ni qo'llab-quvvatlash odatda tashqi qattiq disklar va CD/DVD disklari uchun videokameralar va korpuslardan boshqa hech narsada topilmaydi. Shuningdek qarang
ManbalarHavolalar
Xost va qurilma o'rtasida ma'lumotlar almashinuvini ta'minlaydi. Protokol darajasida uzatish va oqimni boshqarishning ishonchliligi va ishonchliligini ta'minlash kabi vazifalar hal qilinadi. USB avtobusidagi barcha trafik tranzaksiyalar orqali uzatiladi, har bir tranzaksiyada faqat xost va manzilli qurilma (uning oxirgi nuqtasi) o'rtasida almashish mumkin. USB qurilmalari bilan barcha tranzaktsiyalar (almashinuvlar) ikki yoki uchta paketdan iborat; tranzaktsiyalardagi paketlarning odatiy ketma-ketligi 2-rasmda ko'rsatilgan. 1. Har bir tranzaksiya tranzaksiya token paketini yuboruvchi xost boshqaruvchisi tomonidan rejalashtiriladi va boshlanadi. Tranzaksiya tokeni uzatish turi va yoʻnalishini, tanlangan USB qurilmasining manzilini va oxirgi nuqta raqamini tavsiflaydi. Marker bilan murojaat qilingan qurilma uning manzilini taniydi va almashishga tayyorlanadi. Token tomonidan aniqlangan ma'lumotlar manbai ma'lumotlar paketini uzatadi. Shu nuqtada, izoxron o'tkazmalari bilan bog'liq tranzaktsiyalar yakunlanadi - paket qabul qilinganligi haqida tasdiq yo'q. Boshqa turdagi uzatishlar uchun ma'lumotlarni kafolatlangan etkazib berishni ta'minlaydigan tasdiqlash mexanizmi mavjud. Paket formatlari rasmda ko'rsatilgan. 2, paket turlari jadvalda keltirilgan. Barcha paketli maydonlarda, CRC maydonidan tashqari, ma'lumotlar birinchi navbatda eng kam muhim bit uzatiladi (eng kam ahamiyatli bit vaqt diagrammalarida chapda ko'rsatilgan). Paket Sinxronizatsiya ketma-ketligidan boshlanadi va terminator - EOP bilan tugaydi. Paket turi PID maydoni bilan belgilanadi. Qolgan maydonlarning maqsadi quyida tushuntiriladi. Sinxronlash va EOP maydonlarining uzunligi FS/LS da uzatishlar uchun belgilanadi; yuqori tezlikda uzatish uchun Sinxronlash maydoni 32 bitli intervalgacha va EOP 8 ga uzaytiriladi (SOF paketlarida EOP maydoni 40 bit uzunlikda). ). Qabul qilingan barcha paketlar xatolar uchun tekshiriladi, chunki qabul qilingan paket formatlari va ba'zi konventsiyalar quyidagilarga imkon beradi:
Paketdagi ushbu xatolarning birortasining aniqlanishi qabul qiluvchining uni noto'g'ri deb hisoblashiga olib keladi. Na qurilma, na xost boshqaruvchisi xatolik bilan qabul qilingan paketlarga javob bermaydi. Izoxron uzatishda yaroqsiz paketli ma'lumotlar shunchaki e'tiborga olinmasligi kerak (u yo'qoladi); Boshqa turdagi uzatmalar uchun ishonchli etkazib berishni ta'minlash vositalari qo'llaniladi. Tengdoshning paketga javob bermasligini aniqlash uchun har bir qurilmada bir muncha vaqt o'tgandan keyin javobni kutishni to'xtatadigan vaqt hisoblagichi mavjud. USB-ning avtobusga qaytish vaqti bo'yicha cheklov mavjud: ishlab chiqarilgan paketning EOP tugashidan javob paketining boshlanishigacha bo'lgan vaqt. Yakuniy qurilma (va xost boshqaruvchisi) uchun ko'rilgan EOP oxiridan paketning boshlanishigacha maksimal javob kechikishi (javob vaqti) normallashtiriladi. Hublar uchun paketlarni uzatish kechikishi normallashtiriladi, kabellar uchun signal tarqalishining kechikishi normallashtiriladi. Vaqt tugash hisoblagichi to'g'ri avtobus konfiguratsiyasi uchun mumkin bo'lgan maksimal kechikishni hisobga olishi kerak: 5 tagacha oraliq markaz, har bir kabel 5 metrgacha. Bit oraliqlarida (bt) ifodalangan ruxsat etilgan kutish vaqti tezligiga bog'liq:
Xost boshqaruvchisi barcha qurilmalarning har bir so'nggi nuqtasi bilan bog'langan o'z xato hisoblagichiga ega bo'lib, har bir tranzaksiya rejalashtirilganda nolga qaytariladi. Ushbu hisoblagich barcha protokol xatolarini (shu jumladan, vaqt tugashi xatolarini) hisoblaydi va agar xatolar soni chegaradan (3) oshib ketgan bo'lsa, u holda ushbu oxirgi nuqtaga ega kanal to'xtatiladi va uning egasi (qurilma drayveri yoki USBD) xabardor qilinadi. Eshik chegarasi oshib ketmaguncha, xost mijoz dasturiy ta'minotini ogohlantirmasdan, tranzaktsiyalarni qayta urinib ko'rish orqali izoxron bo'lmagan o'tkazmalar uchun xatolarni hal qiladi. Izoxron uzatishlar takrorlanmaydi, mezbon xatolar haqida darhol xabar beradi. Qo'l siqish paketlari tasdiqlash, oqimni boshqarish va xato signalizatsiyasi uchun ishlatiladi. Ushbu paketlardan xost boshqaruvchisi qurilmaga faqat ma'lumotlar paketining xatosiz qabul qilinishini tasdiqlovchi ACK paketini yuborishi mumkin. Qurilma uy egasiga javob berish uchun quyidagi qoʻl siqish paketlaridan foydalanadi: ACK - chiqish yoki nazorat operatsiyasining muvaffaqiyatli yakunlanganligini tasdiqlash (ijobiy); Agar qurilma tayyor bo'lmasa, faqat NAK bilan javob berish qobiliyatiga tayanadigan chiqish oqimini boshqarish avtobus o'tkazish qobiliyatidan juda samarasiz foydalanish hisoblanadi: qurilma tayyor emasligini ta'minlash uchun katta ma'lumotlar paketi avtobusda isrof qilinadi. USB 2.0 da bu muammo Ping protokoli yordamida Bulk-OUT va Control tranzaksiyalarida oldini oladi. Xost qurilmaga PING prob tokenini yuborish orqali paketning maksimal hajmini olishga tayyorligini so'rashi mumkin. Qurilma ushbu tokenga ACK (agar tayyor bo'lsa) yoki NAK (agar maksimal paket hajmini ololmasa) bilan javob berishi mumkin. Salbiy javob xostni keyinroq qayta urinib ko'rishga majbur qiladi, ijobiy javob esa chiqish tranzaktsiyasini amalga oshirishga imkon beradi. Sinovga ijobiy javob bergandan so'ng, pul o'tkazmasini olish uchun qurilmaning javoblari yanada xilma-xildir:
Oxirgi nuqta identifikatorlaridagi yuqori tezlikdagi qurilma NAK jo‘natishlarining mumkin bo‘lgan intensivligi haqida xabar beradi: Ommaviy va Nazorat so‘nggi nuqtalari uchun bInterval maydoni bir NAK uchun mikrofreymlar sonini ko‘rsatadi (0 degani, qurilma hech qachon chiqish tranzaksiyasiga NAK bilan javob bermaydi). Massiv, uzilish va boshqaruv uzatishlar ishonchli ma’lumotlarni yetkazib berishni ta’minlaydi. Paketni muvaffaqiyatli qabul qilgandan so'ng, ma'lumot qabul qiluvchisi tasdiqnoma - ACK tasdiq paketini yuboradi. Agar ma'lumot qabul qiluvchisi xatolikni aniqlasa, paket e'tiborga olinmaydi va unga javob yuborilmaydi. Ma'lumotlar manbai keyingi paket qabul qiluvchidan ACK qabul qilganda muvaffaqiyatli uzatilgan deb hisoblaydi. Agar tasdiqlash kelmasa, keyingi tranzaksiyada manba bir xil paketni yuborishni takrorlaydi. Biroq, tasdiqlash paketi shovqin tufayli yo'qolishi mumkin; shuning uchun bu holda qabul qiluvchi tomonidan paketning takroriy yuborilishi ma'lumotlarning keyingi qismi sifatida qabul qilinmaydi, ma'lumotlar paketlari raqamlanadi. Raqamlash moduli 2 (1-bitli raqam): paketlar juft (DATA0 identifikatori bilan) va toq (DATA1) ga bo'linadi. Har bir so'nggi nuqta uchun (izoxrondan tashqari) xost va qurilma o'tish bitlariga ega, ularning dastlabki holati u yoki bu tarzda mos keladi. IN va OUT tranzaksiyalari ushbu bitlarning joriy holatiga mos keladigan DATA0 yoki DATA1 identifikatorlari bilan ma'lumotlar paketlarini uzatadi va kutadi. Ma'lumotni qabul qiluvchi kutilgan identifikator bilan ma'lumot xatosiz qabul qilingan taqdirda o'z bitini almashtiradi, ma'lumotlar manbai tasdiqlashni olgandan keyin o'zgaradi. Agar qabul qiluvchi kutilmagan identifikatorga ega xatosiz paketni qabul qilsa, u ACK yuboradi, lekin paketdagi ma'lumotlarni e'tiborsiz qoldiradi, chunki paket allaqachon olingan ma'lumotlarni qayta uzatishdir. uchun tranzaktsiyalar har xil turlari uzatishlar o'tkazish qobiliyati, javob vaqti, etkazib berish ishonchliligi va kirish va chiqishning sinxronizatsiyasi kafolati yoki kafolatlanmaganligi sababli protokol farqlariga ega. Ushbu xususiyatlarga qarab, tranzaktsiyalar yuqorida tavsiflangan u yoki bu protokol mexanizmlaridan foydalanadi. E'tibor bering, uzatish xatosini aniqlash barcha tranzaktsiyalarda ishlaydi, shuning uchun xatolik bilan olingan ma'lumotlar har doim e'tiborga olinmaydi. Joriy tranzaksiyada qaysi protokol mexanizmlari qo'llanilishi xost boshqaruvchisi (oldindan olingan so'nggi nuqta identifikatori asosida) va ushbu oxirgi nuqta amalga oshirilgan USB qurilmasi tomonidan "ma'lum". Isoxron operatsiyalari kafolatlangan valyuta kurslarini ta'minlaydi, ammo ishonchli etkazib berishni ta'minlamaydi. Shu sababli, protokolda hech qanday tasdiq yo'q, chunki paketlarni takrorlash ma'lumotlarni etkazib berish rejalarini muvaffaqiyatsizlikka olib keladi. Tasdiqlashga asoslangan oqim nazorati mavjud emas - qurilma izoxron so'nggi nuqta deskriptorida e'lon qilingan trafik tezligini saqlab turishi kerak. Izoxron chiqish tranzaktsiyalari xost boshqaruvchisi tomonidan yuborilgan ikkita paketdan, OUT tokenidan va DATA ma'lumotlar paketidan iborat. Kirish tranzaktsiyasida xost IN tokenini yuboradi, unga qurilma ma'lumotlar paketi bilan javob beradi, ehtimol ma'lumotlar maydonining uzunligi nolga teng (agar tayyor ma'lumot bo'lmasa). Qurilmaning boshqa har qanday javobi (shuningdek, "jim") uy egasi tomonidan ushbu kanalni to'xtatishga olib keladigan xato sifatida qabul qilinadi. Izoxron almashishda ishonchlilik (xatolari bo'lgan paketlarni tashlab yuborish) va ma'lumotlar yaxlitligi (paketning etishmayotganligi faktini aniqlash) nazorati mavjud. Butunlikni nazorat qilish kursning qat'iy determinizmiga asoslanadi - uning deskriptoriga muvofiq, nuqta 2bInterval-1 mikrofreymlar davri bilan operatsiyani kutadi. Oddiy izoxron so'nggi nuqta uchun har bir mikrofreym uchun faqat bitta tranzaktsiyani amalga oshirish mumkin va paketni qabul qilishdagi xatolik kutilgan mikrofreymda qabul qilingan ma'lumotlarning olinmasligiga olib keladi. Shunday qilib, paketlarni raqamlash (Toggle Bit switch) talab qilinmaydi. To'liq tezlikda ishlaydigan qurilmalar va xost kontrollerlari faqat DATA01 tipidagi paketlarni yuborishlari kerak. Keng polosali izoxron so'nggi nuqtalar (USB 2.0) uchun har bir mikrofreymda uchtagacha ma'lumot paketini uzatish mumkin. Ushbu paketlarning har biri yo'qolishi mumkin va bu vaziyatni aniqlash uchun mikrofreym ichida paketlarni raqamlash talab qilinadi. Ushbu raqamlash uchun ma'lumotlar paketlarining ikkita yangi turi joriy etildi: DATA2 va MDATA. Paket turlarining xilma-xilligi, raqamlashdan tashqari, sizning aloqa hamkoringizni ma'lum bir mikrofreym uchun rejalaringiz haqida xabardor qilish imkonini beradi. IN tranzaksiyalarida qurilma paket identifikatori orqali bir xil mikrofreymda yana qancha paket chiqarmoqchi ekanligini ko'rsatadi, bu esa xostga keraksiz kiritish urinishlaridan qochish imkonini beradi. Shunday qilib, agar bitta paket mikrofreymda uzatilsa, u DATA0 bo'ladi; agar ikkita bo'lsa, ketma-ketlik DATA1, DATA0 bo'ladi; uchta - DATA2, DATA1, DATA0. OUT tranzaksiyalari mikrofreymdagi oxirgi bo'lmagan paketni chiqarish uchun MDATA (Ko'proq ma'lumot) paketidan foydalanadi va oxirgi paket identifikatori undan oldin qancha paket uzatilganligini ko'rsatadi. Shunday qilib, bitta chiqish tranzaksiyasi bilan DATA0 paketi ishlatiladi, ikkitasi - MDATA, DATA1 ketma-ketligi, uchtasi - MDATA, MDATA, DATA2. Mikrofreymdagi oxirgisidan tashqari barcha tranzaksiyalar maksimal paket hajmidan foydalanishi kerak. E'tibor bering, boshqa tranzaktsiyalar mikrofreymdagi keng polosali tranzaktsiyalar o'rtasida o'rnatilishi mumkin. Interfeys USB (Universal Serial Bus - Universal Serial Interface) periferik qurilmalarni shaxsiy kompyuterga ulash uchun mo'ljallangan. Periferik qurilmalar bilan uchta tezlikda ma'lumot almashish imkonini beradi (spetsifikatsiya USB 2.0):
USB interfeysi ulanadi mezbon (mezbon) va qurilmalar. Uy egasi ichkarida shaxsiy kompyuter va butun interfeysning ishlashini nazorat qiladi. Biri uchun USB port bir nechta qurilmalarni ulash mumkin edi, qo'llash markazlar (markaz- boshqa qurilmalarning interfeysiga ulanishni ta'minlovchi qurilma). Ildiz uyasi (ildiz markazi) kompyuter ichida joylashgan va bevosita xostga ulangan. USB interfeysi maxsus atamadan foydalanadi "funktsiya" - bu ma'lum bir funktsiyani bajaradigan mantiqiy to'liq qurilma. USB interfeysi topologiyasi 7 darajadan iborat ( daraja): birinchi daraja xost va ildiz markazini, oxirgi daraja esa faqat funktsiyalarni o'z ichiga oladi. Hub va bir yoki bir nechta funktsiyalarni o'z ichiga olgan qurilma chaqiriladi kompozitsion (aralash qurilma). Yuqori darajadagi hubga ulanadigan markaz yoki funksiya porti yuqori oqim porti deb ataladi ( yuqori oqim porti) va pastki darajadagi hub yoki funksiyaga ulanadigan markaz porti quyi oqim porti deb ataladi ( quyi oqim porti). Interfeys orqali barcha ma'lumotlarni uzatish xost tomonidan boshlanadi. Ma'lumotlar paketlar shaklida uzatiladi. USB interfeysi bir necha turdagi paketlardan foydalanadi:
USB interfeysi axborot uzatishning bir necha turlaridan foydalanadi.
Oqimli transferlar
ma'lumotni uzatish va qayta so'rash vaqtida xatolarni aniqlash orqali xost va funksiya o'rtasida kafolatlangan xatosiz ma'lumotlarni uzatish bilan tavsiflanadi. USB interfeysi murakkab ma'lumot almashish protokolini amalga oshirishi sababli, USB interfeysli interfeys qurilmasi protokolni qo'llab-quvvatlaydigan mikroprotsessor blokini talab qiladi. Shuning uchun interfeys qurilmasini ishlab chiqishda asosiy variant almashinuv protokolini qo'llab-quvvatlaydigan mikrokontrollerdan foydalanishdir. Hozirgi vaqtda barcha yirik mikrokontroller ishlab chiqaruvchilari USB blokini o'z ichiga olgan mahsulotlarni ishlab chiqaradilar.
OSI tarmoq modelining universal seriyali avtobusga tasvirlangan proyeksiyasi. USB to'plamining uchta "e'tiborga loyiq" darajasiMeni ko'pincha Internetda topish mumkin bo'lgan USB stekining ko'rinishi qoniqtirmadi:Juda foydali USB stack emas Avtobus darajasi, mantiqiy, funksional... Bular, albatta, ajoyib abstraktsiyalar, lekin ular xost uchun haydovchi yoki amaliy dastur yaratmoqchi bo'lganlar uchun ko'proq. Mikrokontroller tomonida men shablonli chekli holat mashinasini kutaman, uning tugunlarida biz odatda foydali kodimizni joylashtiramiz va dastlab u janrning barcha qonunlariga ko'ra muvaffaqiyatsiz bo'ladi. Yoki xostdagi dasturiy ta'minot noto'g'ri bo'ladi. Yoki haydovchi. Har holda, kimdir muvaffaqiyatsizlikka uchraydi. MK kutubxonalarini darhol aniqlash ham mumkin emas. Shunday qilib, men analizator bilan USB avtobusidagi trafikka qarayman, bu erda notanish tilda sodir bo'layotgan voqealar uchta ajoyib darajada umuman mos kelmaydi. Qiziq, gripp isitmasi tufayli boshimda shunday dissonans bormi? Agar o'quvchi shunga o'xshash his-tuyg'ularni boshdan kechirgan bo'lsa, men sevgan 7 qatlamli OSI modeliga asoslangan holda to'satdan menga haddan tashqari qizib ketgan miyamda aniq ko'rinadigan USB to'plamining muqobil tasavvurini taklif qilaman. Men o'zimni besh daraja bilan chekladim: Men barcha dasturiy ta'minot va kutubxonalar allaqachon yaratilgan yoki ushbu model asosida ishlab chiqilishi kerak deb aytmoqchi emasman. Muhandislik sabablariga ko'ra, darajali kod juda aralashtiriladi. Ammo men USB shinasi bilan tanishishni boshlayotganlarga, qurilma almashinuvi protokollari va domen terminologiyasini tushunishni, tayyor misollar, kutubxonalarga yaqinroq bo'lishni va ularni yaxshiroq boshqarishga yordam bermoqchiman. Ushbu model MK-ga yuklash uchun emas, balki sizning yorqin ongingizga, aziz do'stlaringizga. Va keyin sizning oltin qo'llaringiz hamma narsani o'zi qiladi, menda shubha yo'q :) 90-yillardan yana bir esdalik 90-yillarning oxirida, talaba sifatida talaba sifatida ishlaganimda, birinchi xatoimni boshqa birovning kodidan chiqarib tashladim. Bu FreeBSD uchun pppd edi, biz keyin uni modem puliga o'rnatdik. Motorola modemlari uzilishda qolib ketdi, hech kim o'ta olmadi, liniya behuda yo'qoldi va PPP saqlab qolish orqali qolgan yagona usul negadir buggy edi. O'shanda men negadir pppd talab qilingan to'rtta o'rniga oltita LCP javob baytini kutayotganini bildim. O'shanda o'zimni juda aqldan ozgandek his qildim bug silkituvchi 90-yillardan :-) PPP ning bunga nima aloqasi bor? Bu USB-ga o'xshaydi: paket va nuqtadan nuqtaga. To'g'ri, USB 2.0 dan farqli o'laroq, u to'liq dupleksdir. Biz xohlaymizmi yoki yo'qmi, mikrokontrollerlarning evolyutsiyasi to'xtab qolmasligi aniq. Yo'q, yo'q va u nashrlarda paydo bo'ladi (http://habrahabr.ru/post/208026/, http://habrahabr.ru/post/233391/) "og'ir tashqi qurilmalar" - MK ichiga o'rnatilgan USB avtobus ilovalari, tahlil misollari bilan, HID yordamida va hokazo. Biz RaJa muallifiga hurmat ko'rsatishimiz kerak: STSW-STM32121 (UM0424) standart kutubxonasida keltirilgan sakkizta misoldan u qandaydir tarzda eng foydalisini tanladi (Custom HID), uni bepul Em::Blocks muhitiga o'tkazdi, tushunarli tilda taqdim etdi va biroz bezatib berdi , bravo! Bu menga ko'p vaqtni tejaydi. Kutubxonaga qanday borish mumkin?Muallif tomonidan GitHub-da e'lon qilingan Em::Blocks uchun RHIDDemo loyihasini qabul qilib, men uni Keil-ga ko'chirishni boshladim (mening FTDI-ga asoslangan CoLink tuzatuvchisi; kimdir menga Em::Blocks uchun Coocox plaginini aytib beradi). Ammo men tushuna olmadim: agar sayt 2011 yildagi 3.5.0 ni joylashtirgan bo'lsa, muallif 2012 yildagi SPL 3.6.1 ni qayerdan olgan? Men juda zerikarli topshiriqni boshdan kechirdim, bu meni hayratda qoldirdi... to'g'ridan-to'g'ri USB FS 4.0.0 kutubxonasining bir qismi sifatida Keil uchun tayyor Custom HID loyihasiga. Ko'z oldida yotadi, supurgi ostidagi sichqon kabi. Ha mayli. Ammo men nihoyat STMicroelectronics relizlariga yaqinlashdim, STSW-STM32121 (UM0424) USB FS kutubxonasining tavsifini topdim va ishlab chiquvchining meni aqldan ozdirishga urinishlarini to'xtatdim. Ayting-chi, 2011-yildagi SPL 3.5.0 to‘plamiga 2009-yildagi vintage CMSIS 1.30-ni qo‘yish, 2012-yildagi yangi SPL 3.6.1-ni USB-FS 4.0.0-da 2013-yilda yashirish (2012-yildan CMSIS 3.0.1-ni qo‘yish) normalmi? u erda ham), ular 2014 yilda chiqarilgan CMSIS 3.30 ning joriy versiyasiga ega bo'lishiga qaramay? Aytgancha, STM32F10X uchun SPL 3.6.x da bufer toshib ketish signallari bilan bog'liq USART bilan bir nechta xatolar tuzatildi. Rahmat, hech bo'lmaganda ular reliz yozuvlarini qoldirishdi ...HID va SNMPShunday qilib, STM32F103C8T6 ni qabul qilib, men USB HID mavzusini biroz o'rganishga qaror qildim, USB HID abstraktsiyasi barcha turdagi sensorlar, sensorlar va boshqa PWM tomonidan boshqariladigan quvvat drayverlari kontseptsiyasiga juda mos keladi. Bu qandaydir tarzda menga SNMPni eslatdi, faqat juda soddalashtirilgan shaklda: HID deskriptorlari SNMP MIB rolini o'ynaydi. Qurilma xost tomonidan ishga tushirilganda: “Salom, xost! Men qahva qaynatuvchiman. Menda [boshlash] tugmasi, [qaymoq], [shakar] boshqaruvlari, [kofe qolgan], [suv qolgan], [shakar qolgan], [qaymoq qolgan]. Haydovchilarni torting, tugmani bosing, qahva ichamiz." Sizga hech narsani eslatmayaptimi? SNMP dialogiga misol: “Xo'sh, salom, 100 000 dollarlik dasturiy ta'minotga ega boshqaruv stantsiyasi. Va menda 200 000 dollarga almashtiriladigan shassi bor va menda har biri 100 000 dollarga yana 4 ta modul bor; har birida nomaqbul tezlikda yana 16 ta port mavjud va bu erda barcha funktsiyalarni ro'yxatga olishning iloji yo'q ... har bir element uchun alohida so'rang; oh, ha, protsessor yuki falonchi, xotira falonchi...” Va yana o'nlab sahifalar xuddi shu ruhda.Menga HID g'oyasi yoqdi. Lekin men Windows-ni o'quv vazifalarini miltillovchi LEDlar (haqiqiy UNIX muhitiga!) tark etishim bilanoq, u barcha yopiq yoriqlardan o'tib keta boshladi va o'zimni qandaydir nochor cho'loq kabi his qildim. Loyihani disk raskadrovka qilishda men instinktiv ravishda tcpdump-ni qo'lga oldim (bu shunday deyiladi: usbdump(8) yoki usbmon), lekin men faqat notanish tildagi xabarlarni ko'rdim. Ma'lum bo'ldi: USB shinasi haqida fundamental bilimlar etishmasligi. Agar OSI modeli va har qanday tajribali IT mutaxassisi TCP/IP stekini orqa miya darajasida, shunchaki zarurat tufayli tushunadi, keyin USB bilan vaziyat boshqacha. Bu tushunarli: u erda siz xuddi shu tcpdump orqali trafikni josuslik qilishingiz va apparat va dasturiy ta'minotni sozlashingiz mumkin (kerak), lekin bu erda u butunlay ulanadi va o'ynaydi va siz drayverni yoki proshivkani yangilash (yoki OTni qayta o'rnatish) orqali biror narsani tuzatishingiz mumkin. Lekin biz bu yerga faqat yaxshi proshivka yaratish uchun yig'ilganmiz, to'g'rimi? Internetdagi ba'zi USB tavsiflarini o'qib chiqqandan so'ng, hujjatlar qanchalik chalkash bo'lishi mumkinligiga hayron bo'ldim. Hattoki, ular ataylab tumanni yoyib, g‘unchadagi raqobatdan xalos bo‘lish orqali bizni yo‘ldan ozdirmoqchi bo‘lgandek his qildim. Men bu holatga qo'shilmayman! Yana bir ajoyib sxemaInternetda men boshqa rasmga duch keldim (u BMP formatida edi, hazil emas):Avvaliga optimistik ko'rinadi. Nihoyat, stack demontaj qilinadi. Biroq, ramkalar yomon belgilangan: men ularni vertikal nuqtali chiziqlar bilan chizardim va EOF bu shunchaki pauza, hech qanday ma'lumot uzatilmaydi. Ammo biz kontekstni o'qiy boshlaymiz va muallifning asl niyatini tushunishni yo'qotamiz (bizni chalkashtirib yuborish uchun): USB avtobus interfeysi xost boshqaruvchisi hosil qiladi xodimlar;Va yana bir: har ramka eng yuqori ustuvorlikdan iborat posilkalar, uning tarkibi xost haydovchisi tomonidan tuzilgan; Hamma narsa to'g'ri chizilganga o'xshaydi, lekin siz o'qiganingiz sayin savollar ko'payib bormoqda. Avtobusda uzatiladigan minimal ma'lumotlar strukturasi ramka yoki paketmi? Umuman olganda, biz yuqoridan pastga qarashimiz kerakmi yoki aksincha? Va NRZI usuli yordamida nima kodlangan - ramkalar, paketlar yoki avtobusdagi butun bit oqimi? Bitimlar posilkadan, pul o'tkazmasidan yoki, ehtimol, qimmatbaho posilkadan iboratmi? Nega qila olmaysiz: xost paketlarni tranzaktsiyalarga guruhlaydi va ularni joriy avtobus o'tkazish qobiliyatiga asoslangan vaqt uchun muhim ma'lumotlarga (video, audio) ustunlik berish uchun ramkalar deb ataladigan vaqt bo'laklariga taqsimlaydimi? Ha, USB-da paketlarni uzatishni rejalashtirish bilan bog'liq nuanslar bor, men ularga hali tegmayman. USB to'plami haqidagi tasavvurimMen hubda (hurray, tarjima) eslatib o'tilgan NutShell-dagi USB-ni, shuningdek, USB Made Simple-ni yaxshi hujjat deb hisoblayman. Ularga asoslanib, men USB stekining versiyasini yig'dim, uni yana chizaman.Jismoniy qatlamJismoniy darajada, differensial o'tkazgichlarning elektr rejimlari to'plami (tuproq bilan birga) bit to'ldirish bilan NRZI usuli yordamida bit oqimi kodlangan holatlarni belgilash uchun ishlatiladi: bu erda ketma-ket oltita "1" dan keyin ( Xo'sh, men uzatmoqchi edim, aytaylik, 0xffff) "0" qabul qiluvchi uzoq vaqt davomida bir holatda qolib ketmasligi uchun kiritilgan; Qabul qiluvchi A Hech qanday "0" qo'yilmagan va ma'lumot sifatida hisoblanmaydi; bu chastotalarni yaxshiroq avtomatik sozlash uchun kodlashda juda keng tarqalgan usul. Tuproq bilan bir juft sim kamida to'rtta statik holatni yaratishga imkon beradi (ular J, K, SE0, SE1 deb nomlanadi). USB 2.0 da SE1 ishlatilmaydi va qolgan uchtasi qo'shimcha ravishda dinamikada (soatlar va o'tishlar bilan) yana bir nechta boshqaruv belgilarini (paket chegaralari, qayta o'rnatish, ulash/o'chirish, quvvatni tejash/chiqish) uzatish uchun ijro etiladi. USB Made Simple, 3-qism - Ma'lumotlar oqimida yaxshi rasmlar mavjud.Bular. Natijada, ma'lumotlar nol va birliklar, shuningdek, barcha turdagi nazorat belgilari shaklida uzatiladi, shuning uchun oddiy ma'lumotlar paketlarini bu butun elektrodinamik oshxonadan tayyorlash mumkin. (o'quvchilarning iltimosiga binoan qo'shilgan) To'plam darajasiPaket darajasida manzilsiz paketlar xost va qurilma o'rtasida uzatiladi (yarim dupleks liniyadagi bir juft qurilma manzilsiz ishlashi mumkin). Paket qabul qiluvchining soatini sinxronlashtirish uchun SYNC markeridan, baytlar ketma-ketligidan va EOP belgisidan iborat. Paketning uzunligi o'zgaruvchan, lekin orqali kelishiladi yuqori darajalar stack. Birinchi bayt paket identifikatori (PID) deb ataladi, shovqinga qarshi immunitet uchun oddiy ortiqcha formatga ega va keyingi darajadagi mashinaga (paketlardan tranzaktsiyalarni yig'ish uchun) uzatish uchun javob beradi. To'ldirilgan paketlar (bir PID baytdan ortiq) nazorat summasi bilan ta'minlanadi (paket turiga qarab qisqa CRC5 yoki uzun CRC16). Protokol analizatori hech bo'lmaganda bizga paketlarni ko'rsatishi kerak.Tranzaksiya darajasidan keyingi bosqichda paketlar ketmoqdalar operatsiyalar. Tranzaktsiya - bu (yarim dupleks rejimida) xost so'nggi nuqta bilan almashinadigan va faqat bittasi bilan qat'iy ravishda ketma-ket keladigan kichik paketlar to'plami (To'liq tezlikda USB 1, 2 yoki 3). Tranzaktsiyani faqat xost ochishi juda muhim, bu USB-ning o'ziga xos xususiyati (MK proshivkasida biz uchun kamroq qiyinchilik mavjud). Tranzaksiya darajasida biz gapirishimiz mumkin kanal(quvur) xost va qurilmaning so'nggi nuqtalaridan biri o'rtasida, lekin men qasddan OSI modelidagi "Data Link" atamasidan qochyapman. Protokol analizatori hech bo'lmaganda tranzaktsiyalarni dekodlashi kerak.Vites darajasiTranzaktsiyalar ustiga biz transferlar qatlamini joylashtiramiz. USB-da ularning to'rt turi mavjud: 0-sonli so'nggi nuqta bilan boshqaruv uzatish, uzilishli uzatish, izoxron uzatish va ommaviy uzatish. Oxirgi uchtasi oqim kanallarining variantlari (oqim trubkasi), ular haqida keyinroq bir necha so'z aytaman. Bu daraja ham yaxshi protokol analizatorini ko'rsatishi kerak.Ilova qatlamiStackning yuqori qismida, odatdagidek, dastur qatlami joylashgan. Bu erda nima sodir bo'ladi: xost tomonidan qurilmaning manzilini belgilash, qurilmaga o'zi haqida deskriptorlar tilida aytib berish, konfiguratsiyani tanlash uchun xost buyruqlari (uzatishlarni boshqarish), HID qurilmalari bilan ma'lumotlarni almashish (misollarda men topdim. hozirgacha uzilishlar bilan uzatish, men boshqaruvni sinab ko'rmoqchiman, printerda chop etish va skanerlash, USB xotiraga kirish (katta blok), naushniklar va veb-kameralar orqali aloqa (izoxron) va boshqa ko'plab ajoyib narsalar.Yakuniy teginishDarajani bir soniya pastga tushirib, shuni qo'shishimiz mumkinki, xost vaqti-vaqti bilan bir xil Start of Frame (SOF) paketlarini avtobusga tashlab, vaqtni teng oraliqlarga ajratadi, lekin tranzaktsiyalarning o'zini buzmaslik uchun. Shuning uchun SOF paketlarini mustaqil tranzaktsiyalar deb hisoblash mumkin. USB ramkasini OSI modelining ma'lumotlar havolasi qatlami uchun omonim bilan aralashtirib yubormaslik kerak. Audio CD-ning ramkalarini (ramkalarini) eslab qolish yaxshiroqdir, bu shunchaki vaqt miqdori: xost SOF paketlari bilan avtobusga "belgilaydi", shunda ulangan qurilmalar ushbu nomda ishtirok etishni oldindan rejalashtirishadi. izoxron uzatishlar, real vaqtda ma'lumotlar oqimini boshqarish. Xo'sh, yoki shunga o'xshash: tranzaktsiyalar guruhlari mezbon tomonidan ramkalar deb ataladigan vaqt oralig'ida rejalashtiriladi. Kadr to'liq tezlikda 1 ms va yuqori tezlikda USB da 125 mksni tashkil qiladi, ammo yuqori tezlik yanada murakkab standartdir, uni alohida o'rganish yaxshiroqdir.UPD: O'quvchilar tomonidan yaxshi savol berildi: parchalanish haqida nima deyish mumkin? Men USB 2.0 da tranzaksiya darajasida va undan pastda parchalanish belgilarini topmadim, ya'ni. Bitimlar to'liq uzatilishi kerak. Ba'zi hollarda, o'tkazmalar, ayniqsa, izoxron rejimlarni hisobga olgan holda, bir nechta operatsiyalarga bo'linishi mumkin va bo'lishi kerak. Va takror aytamanki, hozircha uy egasi biz uchun barcha rejalashtirish uchun javobgardir (MK tomonida biz kamroq o'ylashimiz kerak). USB trafigiga qarashTasvirlarning yaxshi tanlovi zikr etilgan USB Made Simple kitobining 5-bobida keltirilgan: www.usbmadesimple.co.uk/ums_5.htmMana ulardan biri Shunday qilib, tranzaktsiya har doim xost tomonidan qurilmada tanlangan bitta so'nggi nuqtaga qarshi boshlanadi (bundan tashqari maxsus nuqta 0 raqami bilan bitta qurilmada ulardan 15 tagacha bo'lishi mumkin, masalan, sichqoncha, termometr, flesh-disk, qahva qaynatgich va pitsa buyurtma qilish uchun chilangarni chaqirish tugmasi bilan kombinatsiyalangan klaviatura). Agar xost qurilmadan ma'lumot olsa, ikkinchisi tranzaktsiyani o'zi ocholmaydi, faqat kutishi mumkin to'g'ri daqiqa va unda ishtirok eting. Xost qurilmaga PID = IN (Token guruhi) paketi bilan tranzaktsiyani ochadi va kerakli vaqt davomida avtobus erkinligini kafolatlaydi, qurilma tranzaktsiya turiga qarab ma'lumotlar guruhidan paketni tashlaydi, xost tasdiqlashi mumkin “Handshake” guruhidan uchinchi paket (ACK, NAK, STALL, NYET) bilan muvaffaqiyatga erishdi, tranzaksiya yopildi. Qurilmaga ma'lumotlarni yuborishda (PID = OUT, Token guruhi) xost tranzaktsiyani ochadi, ma'lumotlar paketini (Data) yuboradi va rejimga qarab, tranzaktsiyaning muvaffaqiyatliligini tasdiqlovchi Handshake paketini ham olishi mumkin. Tranzaksiya oxirida hamma narsa normal holatga qaytadi, qurilma yana xostdan nazorat paketlarini kutadi. STM32 USB FS misollarida USB uzatish rejimlariDiskdan audio-video oqim, sichqoncha ishoralari va yuqori tezlikdagi osiloskop signali bilan bir vaqtda nusxa olish uchun bir juft simdan foydalanish uchun quyidagilar mavjud. har xil turlari xabarlar va eshittirishlar.Yuqorida men oddiy narsani tasvirlab berdim oqim kanali(Oqim trubkasi) xost va oxirgi nuqta o'rtasida, bu erda to'ldirilgan paketlar (Ma'lumotlar guruhlari) USB quyi tizimining o'ziga hech qanday maxsus yoki nazorat ma'lumotlarini olib o'tmaydi. To'liq yozishma erkinligi, kontroller kutubxonasi MK xotirasidan ixtiyoriy o'lchamdagi buferni xostga yoki orqaga yuklab olish uchun primitivlarni ta'minlashi kerak. MK kutubxonasiga xost drayveri bilan birgalikda paketlarni kesish, yo'naltirish va "defragmentatsiya" ga ruxsat bering. STM32 da bu USB_SIL_Write() va USB_SIL_Read(), UM0424 da tasvirlangan. Ular mavhumlikning juda mantiqiy darajasidir. Xost tomonida tegishli drayverning tavsifiga qarang (masalan, FreeBSD da ugen(4)). Biroq, oddiy oqim kanalini tashkil qilish uchun USB kabi og'ir tashqi qurilmalardan foydalanishni kufr deb bilaman (savol: USARTda nima noto'g'ri?). Lekin, albatta, har xil holatlar mavjud. Qanday bo'lmasin, USB quyi tizimi umuman hayotga kirishi va qurilma aniqlanishi uchun nazorat operatsiyalari almashinuvi talab qilinadi. OgohlantirishQo'shimcha misollar STMicroelectronics-dan to'liq tezlikda USB bilan ishlash uchun xuddi shu UM0424 kutubxonasidan keltiriladi, ammo ular o'zlarining mahalliy demo platalari uchun mo'ljallangan. Muallif Rajadan misol oling, loyihalarni demo taxtangizga moslashtirishda muhandislik bilimlarini ko'rsating.Dasturiy ta'minot haqida hamma narsa aniq: bu sanoatda foydalanish uchun mo'ljallanmagan misollar, xatolar bo'lishi mumkin, ba'zi qismlar (masalan, Ommaviy saqlash misolidagi havola jadvali) patent bilan himoyalangan va siz ulardan foydalanish huquqiga ega emassiz. tijorat loyihasida. Lekin bu hech narsa emas, keyin xitoyliklar USB mahsulotlarini bozorda sotishga muvaffaq bo'lishadi, buning uchun ular VID va PID kutubxonasini o'zgartirishni ham bezovta qilmaydi. Temir uchun, men tushunganimdek, siz kvartsdan boshlashingiz kerak. Menda 12 MGts kvartsli Chelyabinsk PinBoard II bor (barcha kutubxonalar 8 MGts uchun mo'ljallangan), men PLL multiplikatorini 9 dan 6 ga o'zgartirdim (tushuntirishlar bilan havola), aks holda MK 72 MGts o'rniga 108 MGts ga tezlashadi va USB zarur 48 MGts o'rniga 72 MGts ga chiqmaydi. Shuningdek, USB avtobus ajratgichni bir yarimdan birga o'zgartirib, MK tezligini 48 MGts ga sekinlashtirishingiz mumkin. Mutaxassislar HSI MK ning ichki generatoridan foydalanishni yoqtirmaydilar: issiqlik tufayli chastota biroz siljishi mumkin va USB uchun oqibatlarini oldindan aytish qiyin. Albatta, periferiya haqida unutmang. SPI/SDIO flesh-xotirasisiz, Ommaviy saqlash misolidan siz faqat /dev/null analogini yaratishingiz mumkin, lekin uni formatlay olmaysiz :-) Uzatish va xabar kanallarini boshqarishUSB haqida o'ylab, LCP, IPCP, CCP va xzCP bilan eski yaxshi PPP protokolini eslayman. Xost va № 0 oxirgi nuqta o'rtasida maxsus turdagi xabarlar almashinuvi x3CP ning mahalliy ekvivalenti hisoblanadi.Boshqaruv uzatishlar orqali qurilma ishga tushiriladi, manzil oladi va xostga o'zi haqida deskriptorlar tilida aytib beradi (kerakli drayverni topib, faollashtirishi uchun). Nazorat operatsiyalarisiz, hatto oddiy operatsiyalar ham "ketmaydi". oqim, agar qurilma shaklda javob bermasa, xost portni tezda o'chirib qo'yadi: protokolga rioya qilish kerak. Asosan, protokol uzilishlar bilan rejimga o'xshash 0-sonli nazorat nuqtasiga ma'lumotlar almashinuvini ulashni taqiqlamaydi. Shu bilan birga, bu haqda o'ylab ko'ring: MK proshivkasini, aytganda, dalada qanday yangilaysiz? Sizda dasturchi tayyormi? Yana bir yechim bor. Misol: Qurilma proshivkasini yangilash Uzilgan uzatmalarBu xilma-xillik ( uzatishni to'xtatish) nazorat operatsiyalariga o'xshash kichik operatsiyalarni almashtirish uchun mo'ljallangan. Yo'q, qurilma xostni to'xtata olmaydi, u so'rovni kutadi, ularning chastotasi va paket o'lchamlari qurilma identifikatorida oldindan ko'rsatilgan. Har qanday masofadan boshqarish pultlari, sensorlar, sichqonlar, LEDlar va boshqa HID qahva qaynatgichlar uchun juda mos keladi. Har bir nuqtada uzilishlar bo'lgan kanal bir tomonlama.Misollar: Maxsus HID, Joystik sichqoncha, Virtual COM porti Izoxron uzatishlarKrós yunoncha "vaqt" degan ma'noni anglatadi. Izoxron uzatish ( izoxron uzatish) - real vaqtda ma'lumotlar oqimini boshqarish imkonini beruvchi mahalliy yuqori texnologiya. U kafolatlangan (lekin keng emas) tarmoqli kengligi va tasdiqlovchi tranzaktsiyalarga ega emas, xuddi QoS bilan UDP kabi. Buzilgan paketmi? MKni oyog'iga itarib yuborgan xudo Xronos edi. Paketni qayta yuborishga urinib ko'rishning hojati yo'q, aks holda Xudo xafa bo'ladi. Biroq, biz nazorat summalarini Chronosdan jimgina tekshiramiz. Isoxronous transferlar audio-video va real vaqtda o'lchash tizimlari, shuningdek, boshqa o'yinchoqlar uchun yaxshi ikki tomonlama foydalanish. Garchi ulardan ba'zilari bo'lishi mumkin. USART yoki SPI orqali ARM-ga ulab, qandaydir AVR-ni osib qo'yish qiziqroq. Kadr signalizatsiyasida izoxron operatsiyalar ishtirok etadi (SOF paketining belgilanishini eslang).Misol: USB ovozli karnay Katta blokli uzatmalarYo'q, biz tsement qoplarini olib ketmaymiz. O'ylaymanki, har bir kishi USB-disklarning barcha turlarining ishlash rejimini o'rgangan. Transferlar ommaviy uzatish Maqsadni iloji boricha tezroq va har doim buzilgan paketlarni uzatish bilan, lekin tarmoqli kengligi bo'yicha kafolatlarsiz, agar kerak bo'lsa, uni izoxronli uzatishga berish (QoS holda TCPda bo'lgani kabi). Men allaqachon USB flesh-disklarning ichki tuzilishi haqida gapirgan edim, endi siz ishlaydigan prototipni yuklab olishingiz va ishga tushirishingiz mumkin. Men buni o'zim sinab ko'rmadim, lekin misol tavsifidagi SCSI buyruqlar jadvali (aytmoqchi) juda ramziy. NAND xotirasi uchun eskirishni boshqarish algoritmining belgilarini topmadim :-)QAYD: STM patent muhofazasi joylarda qo'llaniladi. Misol: Ommaviy saqlash Nimasi oshkor etilmaganUSB-da boshqa darslik yaratish maqsadim yo'q, ular mensiz yetarlicha va ular yaxshi tasvirlangan: elektr qismi, protokol tafsilotlari, hublar bilan ishlash, deskriptor tili va HID abstraktsiya darajasi, VID/ bilan bog'liq muammolar. PID o'ziga xosligi, USB 3.0 va USB avtobusining boshqa ko'plab ajoyib xususiyatlari, ba'zilari biz uchun foydali, ba'zilari esa unchalik foydali emas. IT-mutaxassislari uchun men, ayniqsa, dushman qurilmalari (dahshatli ishlarni qiladigan yashirin HID klaviaturasi bo'lgan flesh-disk) bilan qorong'u tomonga ekskursiya qilishni tavsiya qilaman.HavolalarMaxsus HID misolini moslashtirish erkin muhit Em::Bloklar va LC-Tech Industrial Electronics tomonidan ishlab chiqarilgan STM32F103C8T6 byudjetli demo taxtasi va IT odamlari. Bu Yin va Yang muhandisligining bir turi, har birimiz ikkalamizning ulushiga egamiz.Sanoat elektronikasi muhandislari apparat bo'yicha mukammal bilim va ko'nikmalarga ega, ular sochlari yupqa radio komponentlarini chap qo'llari bilan ko'zlarini yumib lehimlaydilar (va keyin u ishlaydi). Ga qarash elektron sxema, deyarli jismonan uning barcha oqimlarini potentsial bilan his qila boshlaydi, ular ham quvvat davrlari va (katta, tez, xavfli) sanoat mahsulotlari bilan ishlaydi. MKni dasturlashning yondashuvi o'rinli: u kerakli mantiqiy darajalarni kerakli vaqtda to'g'ri oyoqlarga chiqarishi kerak, bu muhim emas. Ular texnologiyada konservativdir (aralashmang - u ishlaydi), og'ir MK tashqi qurilmalari ayniqsa yoqmaydi. Ob'ektga yo'naltirilgan dasturlash, axborot xavfsizligi, millionlab kodli ulkan loyihalar va har xil chiroyli grafik interfeyslarni muhokama qilishda odamlar zerikadi. Paketga yo'naltirilgan USB shinasi o'rniga ular odatiy RS-232 yoki yanada shafqatsiz RS-485 (sanoat ilovalari uchun seriyali avtobus, 15 m da 10 Mbit / s gacha, 100 kbit / s gacha) bilan takomillashtirilgan USART oqim rejimini afzal ko'radilar. 1200 m, 32 tagacha qurilma). IT-mutaxassislari operatsion tizimlar, tarmoq infratuzilmasi va murakkab o'zaro ta'sirlar haqida tushunchaga ega bo'lib, elita axborot xavfsizligini yaxshi biladi va boshqa birovning tizimiga kirishning barcha ko'rinmas usullarini tushunadi. Ba'zi odamlar mushuklarni chindan ham yaxshi ko'radilar (qanday qilib ularni sevmaslik mumkin? Men, lekin saqlamayman, ko'paytirmayman yoki pishirmayman :-). Ko'p odamlar axborot erkinligini yaxshi ko'radilar, korporatsiyalarni/hukumatlarni tanqid qiladilar va tabiat kuchlarini fikr kuchi bilan yengadilar. Patologik jihatdan dangasa, lekin ular yangi texnologiyalar va o'ralgan muhandislik jumboqlarini yaxshi ko'radilar qimmat o'yinchoqlar(afzal dasturiy ta'minot darajasida yoki o'ta og'ir holatlarda jumperlar bilan hal qilinadi). Lehimlash temir bilan munosabatlar himoyalangan: IT mutaxassisidan lehim temirni yoqtirishini so'ramang, u noto'g'ri tushunishi mumkin; U elektron sxemalarni lehimlashni yaxshi ko'radimi, deb so'rang. Men nima haqida gapiryapman? Biz bu dunyoni shunchaki boshqacha ko'ramiz... Axir, Linux yadrosi C tilidagi modullardan va ma'lum platformalar uchun assembler qo'shimchalaridan boshlab xuddi shu yigitlar tomonidan yaratilgan va ular go'yo holivarlarsiz ishlagandek edi. Men haqiqatan ham jiddiy loyihani eng yangi mikrokontrollerlarni og‘ir tashqi qurilmalar bilan birlashtirgan ko‘p yadroli tizim sifatida ko‘raman, lekin men AVR kabi klassik modellar bilan kombinatsiyani istisno qilmayman: ulardan texnik taraqqiyotning muhim, tez aylanadigan nayzalarini osib qo‘yish uchun foydalanish mumkin. Agar kod yillar davomida sinovdan o'tgan bo'lsa, unda nima uchun emas? Teglar qo'shing2008 yil oxirida. Siz kutganingizdek, yangi standart USB 1.1 dan USB 2.0 ga o'tishda tezlikni 40 baravar oshirish kabi o'sish unchalik muhim bo'lmasa-da, o'tkazish qobiliyati oshdi. Har holda, o'tkazish qobiliyatining 10 baravar oshishi ma'qul. USB 3.0 qo'llab-quvvatlaydi maksimal uzatish tezligi 5 Gbit/s. O‘tkazish qobiliyati zamonaviy Serial ATA standartidan deyarli ikki baravar yuqori (3 Gbit/s, ortiqcha ma’lumotlarni uzatishni hisobga olgan holda). USB 3.0 logotipi Har bir ishqiboz USB 2.0 interfeysi zamonaviy kompyuterlar va noutbuklarning asosiy muammosi ekanligini tasdiqlaydi, chunki uning eng yuqori "aniq" o'tkazuvchanligi 30 dan 35 MB / s gacha. Ammo zamonaviylarida 3,5 dyuym bor. qattiq disklar ish stoli kompyuterlari uchun uzatish tezligi allaqachon 100 MB/s dan oshdi (noutbuklar uchun 2,5 dyuymli modellar ham paydo bo'lib, bu darajaga yaqinlashmoqda). Yuqori tezlikdagi qattiq holatdagi drayvlar 200 MB/s chegarasidan muvaffaqiyatli oshib ketdi. Va 5 Gbit / s (yoki 5120 Mbit / s) 640 MB / s ga to'g'ri keladi. Qattiq disklar yaqin kelajakda 600 MB/s tezlikka erisha olmaydi, deb o‘ylaymiz, ammo keyingi avlod SSD-lar bir necha yil ichida bu raqamdan oshib ketishi mumkin. O'tkazish qobiliyatini oshirish tobora muhim ahamiyat kasb etadi, chunki ma'lumotlar miqdori ortib boradi va shunga mos ravishda ularni zaxiralash vaqti ortadi. Saqlash qanchalik tez ishlaydi, zahiralash vaqti qanchalik qisqa bo'lsa, zaxira jadvalida "derazalar" yaratish osonroq bo'ladi. USB 1.0 - 3.0 tezligini taqqoslash jadvali Raqamli videokameralar bugungi kunda gigabayt video ma'lumotlarni yozib olishi va saqlashi mumkin. HD video kameralarning ulushi ortib bormoqda va ular katta hajmdagi ma'lumotlarni yozib olish uchun kattaroq va tezroq saqlashni talab qiladi. Agar siz USB 2.0 dan foydalansangiz, tahrirlash uchun bir necha o'nlab gigabaytlik video ma'lumotlarni kompyuterga o'tkazish ancha vaqt talab etadi. USB Implementers Forum o'tkazish qobiliyati printsipial jihatdan muhim bo'lib qoladi, deb hisoblaydi va USB 3.0 keyingi besh yil ichida barcha iste'molchi qurilmalari uchun etarli bo'ladi. 8/10 bit kodlashIshonchli ma'lumotlarni uzatishni ta'minlash uchun USB 3.0 interfeysi bizga tanish bo'lgan 8/10 bitli kodlashdan foydalanadi, masalan, Serial ATA'dan. Bir bayt (8 bit) 10 bitli kodlash yordamida uzatiladi, bu esa o'tkazish qobiliyati hisobiga uzatish ishonchliligini oshiradi. Shuning uchun bitdan baytga o'tish 8:1 o'rniga 10:1 nisbatda amalga oshiriladi. USB 1.x – 3.0 tarmoqli kengligi va raqobatchilarni solishtirish Quvvatni tejash rejimlariAlbatta, asosiy maqsad interfeys USB 3.0 mavjud tarmoqli kengligini oshirishdan iborat, ammo, yangi standart samarali energiya sarfini optimallashtiradi. USB 2.0 interfeysi doimiy ravishda quvvat sarflaydigan qurilma mavjudligini so'raydi. Aksincha, USB 3.0 to'rtta ulanish holatiga ega, ular U0-U3 deb nomlanadi. U0 holati faol ma'lumotlarni uzatishga mos keladi va U3 qurilmani "uyqu" holatiga qo'yadi. Agar ulanish bo'sh bo'lsa, U1 holatida ma'lumotlarni qabul qilish va uzatish imkoniyati o'chiriladi. U2 holati ichki soatni o'chirib, bir qadam oldinga boradi. Shunga ko'ra, ulangan qurilmalar ma'lumotlar uzatish tugagandan so'ng darhol U1 holatiga o'tishi mumkin, bu USB 2.0 bilan solishtirganda sezilarli quvvat sarfi afzalliklarini ta'minlashi kutilmoqda. Yuqori oqimTurli xil quvvat iste'moli holatlariga qo'shimcha ravishda, standart USB 3.0 boshqacha USB 2.0 dan va yuqori qo'llab-quvvatlanadigan oqim. Agar USB 2.0 500 mA oqim chegarasini ta'minlagan bo'lsa, yangi standartda cheklov 900 mA ga o'tkazildi. Ulanishni boshlash oqimi USB 2.0 uchun 100 mA dan USB 3.0 uchun 150 mA ga oshirildi. Ikkala parametr ham ko'chma qattiq disklar uchun juda muhim, ular odatda biroz yuqori oqimlarni talab qiladi. Ilgari, muammoni qo'shimcha USB vilkasidan foydalanib, ikkita portdan quvvat olish orqali hal qilish mumkin edi, lekin bu USB 2.0 spetsifikatsiyalarini buzgan bo'lsa ham, ma'lumotlarni uzatish uchun faqat bittasini ishlatish mumkin edi. Yangi kabellar, ulagichlar, ranglarni kodlashUSB 3.0 standarti USB 2.0 bilan orqaga qarab mos keladi, ya'ni vilkalar oddiy A toifali vilkalar bilan bir xil ko'rinadi.USB 2.0 pinlari o'sha joyda qoladi, lekin ulagichning chuqurligida joylashgan beshta yangi pin mavjud. Bu rejimni ta'minlash uchun USB 3.0 vilkasini USB 3.0 portiga to'liq kiritishingiz kerakligini anglatadi. USB bilan ishlash 3.0, bu qo'shimcha pinlarni talab qiladi. Aks holda siz USB 2.0 tezligini olasiz. USB Implementers Forum ishlab chiqaruvchilarga ulagichning ichki qismida Pantone 300C rang kodlashidan foydalanishni tavsiya qiladi. Vaziyat USB turi B vilkasi uchun xuddi shunday edi, garchi farqlar vizual ravishda sezilarli bo'lsa ham. USB 3.0 vilkasini beshta qo'shimcha pin yordamida aniqlash mumkin. USB 3.0 tolali optikadan foydalanmaydi, chunki u ommaviy bozor uchun juda qimmat. Shuning uchun, bizda yaxshi eski mis kabel bor. Biroq, endi u to'rtta emas, to'qqizta simga ega bo'ladi. Ma'lumot uzatish differensial rejimda besh qo'shimcha simning to'rttasi orqali amalga oshiriladi (SDP - Himoyalangan differentsial juftlik). Bir juft sim ma'lumotni qabul qilish, ikkinchisi uzatish uchun javobgardir. Ishlash printsipi Serial ATA ga o'xshaydi, qurilmalar har ikki yo'nalishda ham to'liq tarmoqli kengligi oladi. Beshinchi sim - "tuproq". |
Mashhur:
Yangi
- Ramka kiritish. Ramkalar yaratish. noframes zaxirasini ta'minlash
- Windows tizimini qayta tiklash Hech qachon tugamaydigan avtomatik tiklashga tayyorgarlik
- Dasturlar yordamida flesh-diskni ta'mirlash Noutbukdagi USB portni qanday tuzatish kerak
- Disk tuzilishi buzilgan, o'qish mumkin emas, nima qilishim kerak?
- Qattiq disk kesh xotirasi nima va u nima uchun kerak?Kesh hajmi nima uchun javob beradi?
- Kompyuter nimadan iborat?
- Tizim blokining tuzilishi - qaysi komponentlar kompyuterning ishlashi uchun javobgardir Tizim blokining ichki qurilmalari xususiyatlari
- Qattiq diskni SSD ga qanday o'zgartirish mumkin
- Kirish qurilmalari kiradi
- Yozilgan dasturlash tili Ushbu o'zgaruvchilar turlari bilan nima qilish kerak