Lehetséges hangban eltérés két pendrive között?

Lehetséges, de ez nem az adatok helyes átadásán múlik, hanem a pendrive-ban használt kapcsoláson és a beépített alkatrészek minőségén.

Az USB szabványt a kilencvenes évek elején hívta életre az USB-IF (USB Implementers Forum) a kor számos meghatározó iparági szereplője részt vett a megalkotásban (Compaq, DEC, IBM, Intel, Microsoft, NEC, Nortel). Érdekesség, hogy az Apple ez idő tájt inkább a saját szabványát fejlesztette IEE1394 - FireWire, mely jelentős előnyökkel bírt az USB-vel szemben. Nem hiába alkalmazzák ezt a típusú buszt az amerikai vadászgépek jelentős hányadán a mai napig.

Az én véleményem az, hogy a továbbított adat - jelen esetben zene - bitpontosan megjelenik a számítogép feldolgozó egység(eiben). Ahhoz, hogy ezt bebizonyítsam, ha nem is a Marianna árokba, de legalább a tihanyi kútba alá kell merülnünk, két rétegre bontva (Hardver/Szoftver) a magyarázatot.

Hardver réteg

Minden, a számítástechnikában közölt adat analóg jelként jelenik meg a fizikai térben, így ezzel kezdeném a vizsgálódást.  Sajnos nincsenek jó híreim: a kompjúterben található különböző buszok (azok a csatornák melyeken számos belső, vagy külső komponens kommunikál egymással pl.: CPU<->Memória, CPU<->USB eszköz) igen zajosak. Különösen igaz ez az USB-re. Talán ön is hallotta már, hogy az egér mozgatásakor statikus zaj hallható a számítógép hangkimenetén. Ennek több oka is van, melyek közül a fizika (a lehető legalacsonyabb feszültség alkalmazása a fogyasztáscsökkentés okán - ez ugye fordítottan arányos a jel/zaj viszonnyal), a miniatürizáció és az "olcsó legyen gyártani" fogalmait emelném ki. Nem feltétlen ördögtől valóak ezek a szempontok és pont ezek miatt/mellett mérnökök tízezrei dolgoznak évtizedek óta folyamatosan a problémának a megoldásán. Bizonyos szint alá azonban nem rentábilis levinni ennek a zajnak a mértékét, így különböző és a gyakorlatban nagyon hatékony technikákat fejlesztettek ki az évek során. *- Erre egy jó példa: biztos sokan láttak már olyan nyomtatott áramköri lapot, amin igen furcsa módon vezették el a nyomvonalakat. Ennek az egyik célja az induktív zaj csökkentése.

Az USB szabvány megalkotói*1 is tisztában voltak ezzel a helyzettel, ezért alkalmazták a jelek továbbítására az DS (Differential Signaling), differenciált jeltovábbítási módszert - ami zseniális módon biztosítja a jelúton felmerülő, különböző zajforrásokkal szembeni immunitást.

A könnyebb megértéséhez, nézzük meg előbb, hogyan működik ennek a módszernek az "ellentettje": single ended (egy jelvivő) technikával próbálunk egy logikai értéket továbbítani két pont között:

Az ábra azt az effektust szemlélteti, hogy a jelvivőn továbbított érték hogyan változik az időben, ha a rendszerbe zaj kerül.

Ebből könnyen belátható hogy bár ez a legolcsóbb és legegyszerűbb módszer, vannak hiányosságai a zajtűrés mentén. Ennek ellenére számos megoldás ezt a fizikai megvalósítást alkalmazza.

Az audió világban viszont a legelterjedtebb alkalmazása az "unbalanced" kábeleknek (népi nevén RCA csatis kábel) van.

Itt lép a képbe az VDS (Voltage Differential Signaling)! Ami már sokkal jobb megoldás az SE-ven szemben, mert ez a módszer már sokkal jobban ellenáll…

Ez a módszer már sokkal jobban ellenáll a külső zajoknak: itt a küldeni kívánt jelet, a küldő oldalon két jellé akakítják D+ és D-. A logikai igaz (1) érték továbbítása esetén a D+ sinen a feszültséget 2.8 fölé emeljük, a D-sint pedig 0.3 volt alá csökkentjük. Ha a fogadó oldalon a két jel különbsége nagyobb, mint 200mV, akkor sikeresen elküldtünk logikai igaz (1) értéket. [(2.8V)-(0.3V) > 200mV]

Ugyanígy, csak fordítva működik a Logikai hamis (0):

A D+ < 0.3V, a D- > 2.8. [(0.3)-(2.8V) < 200mV]

Szoftver réteg

Az USB buszon közlekedő hasznos adatok csomagokba tagolva közlekednek, aminek főleg az az oka, hogy így, ha valami hiba lép fel az adatátvitel közben, akkor nem a teljes adat átküldése hiúsul meg, csak az érintett csomagoké. További előnye, hogy a csomagok átküldése időben párhuzamosítható, így a sebesség lineárisan skálázódhat.

A csomagok négy főcsoportra oszthatóak, ezek közül a vizsgálat szempontjából az alábbiak érdekesek:

  1. Token csomag: Ez közli azt az információt az eszközzel, hogy Olvasni vagy írni szeretne a számítógép.
  2. Adatcsomag: Ez a csomag tartalmazza a hasznos adatot (pl. egy Flac zenei fájl egy szeletét). Minden adatcsomag ezen felül tartalmazza a hasznos adat CRC ellenőrző kódját - ez a továbbított adat egyedi "ujjlenyomata", ami egy olyan algoritmus eredménye, mellyel nem csak az adat helyességét biztosítjuk, hanem bizonyos esetben a sérült adat is helyreállítható.
  3. "Kézfogás" (Handshake) a számítógép és az adathordozó eszköz között pl.: Hé te ott, te PenDrájv én egy számítógép vagyok és most jól el fogok küldeni neked egy adatcsomagot, nagyon figyelj! :) vagy Hé te pendrájv, megérkezett a csomag amit küldtem!? - ezekre a kérdésekre, ha nem megfelelő választ kap a kompjúter, akkor megpróbálkozik ismét elküldeni az érintett csomagot.

A fentiek tükrében kijelethetjük, hogy az USB alapú megoldások kellő védelemmel rendelkeznek az adattovábbítás terén mind a fizikai, mind a szoftveres rétegben - így bitpontos adattovábbítást tesznek lehetővé.

Végszó

A fenti ismertető egy amolyan koncentrált változata a szabványnak (az USB 2.0-t leíró dokumentum több, mint 600 oldalas...), kérem a kedves olvasót, hogy ne tekintse pontos és tökéletes ismertetőnek! Akinek meghoztam a kedvét a téma iránt annak ajánlom az alábbi weboldalakat, mint szakirodalom: https://www.beyondlogic.org/usbnutshell/usb1.shtml http://sdphca.ucsd.edu/lab_equip_manuals/usb_20.pdf https://usb-if.com