USB - Kasimashi/Systemes-embarques GitHub Wiki

USB

USB (Universal Serial Bus) est un bus informatique avec une transmission des données en série. Il permet d'effectuer une interface entre différents matériels informatiques.

En comparaison à d'autres technologies c'est une technologie facile d'utilisation. (Facile à brancher, pas besoin de source externe d'énergie, c'est bon marché et consomme peu d'énergie pour une transmission des données assez rapide).

Il y a eu plusieurs version de USB respectivement USB 1.0 ,2.0 et 3.0, 3.1 (gen 1), 3.2 sorties en 1996, 2000 et 2008, 2013, 2017 . Ces technologies sont rétrocompatible.

image

image

USB : Type A,B

La liaison USB (Universal Serial Bus) est un bus série qui permet la connexion à chaud des périphériques sur les ordinateurs. Le connecteur USB dispose de quatre fils :

  • une alimentation de +5V
  • La référence de tension GND
  • de deux signaux différentiels (D+ et D-)

image

Les signaux

Les chronogrammes de transmissions sont différents du protocole RS232 dans le sens où les signaux respectent le codage NRZI (Non Retour à Zéro Inversé) : un niveau logique 1 (NL1) est représenté par un non changement d'état du signal alors qu'un NL0 entraîne un changement d'état.

On utilise habituellement les lettres J et K pour définir ces changements d'état :

  • Etat J : D- > D+ d'au moins 200 mV
  • Etat K : D+ > D- d'au moins 200 mV

image

Une trame de transmission commence par un mot de start de 8 bits (00000001) et deux bits de stop (EOP= 11).

image

Les principaux signaux d'USB sont :

  • D+ et D− : Lignes de données pour la communication série.
  • Vbus : Ligne d'alimentation (5 V).
  • GND : Ligne de masse.
  • ID : Signal d'identification (dans USB OTG).
  • Signaux supplémentaires pour des vitesses plus rapides (USB 3.x).

Vitesse de transmission

La vitesse de transmission dépend de la norme.

Version USB 1.0 USB 1.1 USB 2.0 Wireless USB USB 3.0 USB 3.1
Année 1996 1998 2000 2005 2008 2013
Débit 1,5 Mbit/s(0,19 Mo/s) 12 Mbit/s(1,5 Mo/s) 480 Mbit/s (60 Mo/s) 480 Mbit/s (60 Mo/s) 5 Gbit/s(600 Mo/s) 10 Gbit/s (1,2 Go/s)

USB : Type C

image

Pourquoi USB 3 a plusieurs signaux différentiels TX/RX ?

USB 2.0 utilisait une seule paire différentielle :

  • D+ / D- → communication bidirectionnelle à basse vitesse (480 Mbps max)

USB 3.x ajoute les signaux SuperSpeed (SS) :

  • TX+ / TX- : transmission host → device
  • RX+ / RX- : réception host ← device

Pour USB-C, il y a souvent deux ensembles de paires TX/RX :

  • TX1+/TX1-, TX2+/TX2- et RX1+/RX1-, RX2+/RX2-
  • Ces paires permettent la réversibilité du connecteur USB-C :
    • Si le câble est branché dans un sens, TX1/RX1 est utilisé
    • Si le câble est branché à l’envers, TX2/RX2 est utilisé
  • Elles ne sont pas utilisées simultanément pour doubler la vitesse, mais pour adapter l’orientation et maintenir la communication SuperSpeed.

Que signifie CC1 ?

  • CC = Configuration Channel
  • Dans USB-C, il y a deux lignes : CC1 et CC2
  • Elles servent à :
    1. Détecter l’orientation du câble
    2. Négocier la puissance (USB Power Delivery)
    3. Identifier le type de périphérique (Downstream / Upstream)

Exemple :

  • Câble branché normalement → CC1 connecté
  • Câble branché à l’envers → CC2 connecté
  • Le contrôleur choisit la paire TX/RX correspondante à l’orientation détectée.
⚠️ **GitHub.com Fallback** ⚠️