Comment un lecteur DVD traite les appuis boutons : du doigt au laser
Appuyer sur « Lecture » sur une télécommande DVD paraît instantané, mais déclenche une chaîne précise d'événements à travers matériel, firmware, et systèmes mécaniques. Voici le voyage de votre bout de doigt au disque tournant.
1. Capture entrée : les « Yeux »
- Télécommande (IR) : Appui bouton → MCU télécommande encode commande (protocole NEC, RC5, RC6) → LED IR pulse porteuse 38 kHz.
- Panneau avant (Interrupteur tactile) : Bouton physique ferme circuit → tire GPIO MCU bas (actif-bas) ou haut.
- Récepteur IR (TSOP38238 / Vishay) : Démodule 38 kHz → train impulsions numérique propre → broche INT MCU principal.
2. Microcontrôleur principal (le « Cerveau »)
- MCU typique : Renesas (Hitachi) H8, SH-2 ; ST STM32 ; Panasonic MN101 ; Sony CXP ; ASIC custom avec 8051/ARM7 embarqué.
- Firmware : 128–512 Ko Mask ROM / Flash. Tourne RTOS ou superloop.
- Gestionnaire interruption : Interruption GPIO IR → décoder protocole → **ID Commande** (ex: 0x45 = LECTURE).
- Table correspondance : ID Commande → Pointeur fonction / Événement machine état (ex:
evt_play()).
3. Distribution commande : le « Messager »
Le MCU principal ne pilote pas moteurs directement. Il commande contrôleurs sous-systèmes via bus internes :
- Contrôleur Servo/Mécanique (DSP/MCU) : Moteur broche (rotation disque), Moteur traîneau (laser radial), Actionneurs mise au point/suivi (bobines mobiles). Commandes :
CMD_SPIN_UP,CMD_SEEK,CMD_FOCUS_ON. - CI Décodeur (MPEG-2 Vidéo + Audio) : STi55xx, Mediatek MT1389, Sigma Designs EM86xx. Commandes :
DEC_START,DEC_SET_STREAM. - Encodeur vidéo / TX HDMI : Analogique (CVBS/S-Vidéo/Composante) ou Numérique (HDMI 1.4/2.0).
- DAC Audio / TX SPDIF : PCM → Analogique / Bitstream.
- Pilote Panneau avant / VFD/FL/LED : Met à jour affichage (« LECTURE », temps).
4. Séquence « Lecture » : Ballet mécanique
- Démarrage rotation : MCU Servo → Driver Moteur BLDC broche → 500–4000 tr/min (VCL : Vitesse Linéaire Constante — plus lent bord extérieur).
- Servo Mise au point : Diode laser (650 nm DVD / 780 nm CD) → Actionneur objectif (bobine mobile) → **Recherche mise au point** (balayage sinusoïdal) → **Verrouillage mise au point** (méthode astigmatique / détection astigmatisme) → Indicateur verrou vers MCU principal.
- Servo Suivi : Suivi radial (DPD / DPP / push-pull) verrouille spirale sillon.
- Signal RF (Œil) : Somme signal photodiode → Ampli RF → Égaliseur → Trancheur → **Démodulation EFM+** → Données secteur brutes (2064 octets/secteur).
- Correction erreurs (CIRC / RS) : C1/C2 (CD) / PI/PO (DVD) → Données utilisateur corrigées (2048 octets/secteur).
- Navigation : Micro-UDF / ISO-9660 → VMG (Gestionnaire Vidéo) → VTS (Ensemble Titres Vidéo) → PGC (Chaîne Programme) → Première Cellule → Adresse secteur.
- Recherche : Traîneau déplace laser rayon cible (grossier) → Suivi verrouille fin.
- Démarrage décodage : MCU principal → CI Décodeur : « Décoder MPEG-2 @ Secteur X, Flux Audio 0x80, Flux SPU 0x20 ».
- Sortie : Décodeur → Encodeur Vidéo → Sortie HDMI/Analogique. Audio → DAC/SPDIF → Ampli/Enceintes.
5. Retour : Confirmation
- Visuel : VFD/FL : « ▶ LECTURE 00:00:05 », icône disque tournant.
- Auditif : « Clac » mécanique (déplacement traîneau), faible sifflement (broche), clic relais (relâche mute audio).
- LED télécommande : Clignote sur commande reçue (certains modèles).
Évolution moderne : Lecteurs Blu-ray / Streaming
- Intégration SoC : Puce unique (Broadcom, MediaTek, Realtek, Sigma) = ARM Cortex-A53/A72 ×4 + GPU + Décodage Vidéo (HEVC/VP9/AV1) + HDMI 2.1 + Ctrl DDR3/4 + Ctrl NAND + Wi-Fi/BT.
- OS : Linux (Android TV, WebOS, Tizen, Roku OS, Linux + Qt).
- Entrée : Bluetooth LE / Wi-Fi Télécommande (RF) → Événements HID → Sous-système entrée Linux → App (MediaPlayer, Netflix, YouTube).
- Pas recherche mécanique (Streaming) : Requête HTTP Range → CDN → Tampon → Décodage. « Lecture » = requête réseau.
- Disque Blu-ray : Même pile servo mécanique (laser bleu-violet 405 nm) + runtime BD-J (Java) pour menus.
Analogie : Le Restaurant
- Vous (Client) → Appuyez « Lecture » (Commande)
- Serveur (Récepteur IR / Panneau avant) → Relaye à Cuisine
- Chef Cuisine (MCU Principal) → Interprète, coordonne postes
- Poste Grill (Servo/Mécanique) → Cuit disque physique (mécanique)
- Poste Dressage (Décodeur) → Assemble bits en vidéo/audio
- Expéditeur (Sortie Vidéo/Audio) → Sert à Table (TV/Enceintes)
- Retour : « Commande prête ! » (Affichage/LED)
Le lecteur DVD est un **système méchatronique embarqué temps-réel** — firmware orchestrant moteurs, lasers, optique, et silicium en sync milliseconde. Ce bouton « Lecture » cache une symphonie de physique et code.
