Nous l’avons vu, la fonction principale du lecteur CD est de lire le disque à la vitesse requise et d’en extraire les données numériques au moyen d’un faisceau laser réfléchi afin de restituer celles-ci sous leur forme analogique d’origine, le plus fidèlement possible.
Pour cela, un lecteur CD comporte plusieurs servo-systems qui doivent permettre simultanément une focalisation parfaite du faisceau laser, un déplacement de ce faisceau sur la surface du disque et une vitesse de rotation du disque précise.
Rappel : le système à boucle fermée, ou servo-système (ou système asservi) est un montage dans lequel la mesure du signal en sortie est prise en compte pour calculer ou modifier le signal à l’entrée. En d’autres termes, l’étage de contrôle du système (CPU, par exemple), effectue une mesure en sortie du montage, et applique une correction à l’entrée. La correction appliquée correspond à l’écart entre la mesure effectuée en sortie et la mesure attendue (référence interne au circuit de gestion). Un servo-système s’auto-entretient.
Un système à boucle fermé doit pouvoir :
- ○ Accepter une commande correspondant au résultat attendu
- ○ Comporter un système de contre-réaction
- ○ Être capable de comparer le résultat obtenu avec le résultat attendu, et de calculer une différence (un signal d’erreur) résultant de cette comparaison
- ○ Générer une commande (signal d’erreur), capable de corriger exactement le résultat obtenu conformément au résultat attendu
- ○ Réagir correctement à cette contre-réaction
Dans la plupart des lecteurs CD, il y a quatre servo-systèmes individuels (trois seulement pour le système optique radial, le couple servo chariot / servo tracking étant « remplacé » par le servo-radial) :
○ Le servo-focus
○ Le servo-tracking
○ Le servo-chariot
○ Le servo-radial
○ Le servo-spindle ou servo-moteur disque
le servo-focus
Il permet de maintenir le faisceau laser focalisé sur la surface du disque par mouvement vertical de la lentille. Il amplifie le signal d’erreur de focus et l’applique à la bobine de focus (attachée à la lentille externe du bloc optique), qui produit un mouvement vertical permanent afin de maintenir la focalisation sur la surface du disque.
La toute première opération (après que le laser a été allumé) est effectuée par le microprocesseur qui fait bouger la lentille verticalement deux ou trois fois afin de trouver le point de focalisation sur le disque. En retour, le signal FOK est envoyé au microprocesseur qui active le servo-focus. Pendant la séquence de recherche du point de focalisation, le premier étage d’amplification est déconnecté pour empêcher une contre-réaction sur le signal de recherche du point de focalisation.
Bloc optique 3 faisceaux - focalisation par lentille cylindrique et photodiodes
A → Point de focalisation : le signal (D1 + D3) + (D2 + D4) fournit le signal RF. Le signal (D1 + D3) - (D2 + D4) fournit le signal d’erreur de focalisation (FE). Ici, le spot laser reçu par la cible photodiode est circulaire : FE = 0
B → Disque trop près : ici, le spot laser reçu par la cible photodiode est ovale : FE = tension négative. Le servo-focus contrôle la lentille externe jusqu’à l’obtention d’un niveau 0 volt en sortie de l’ampli soustracteur.
C → Disque trop loin : ici, le spot laser reçu par la cible photodiode est ovale (inversement à B) : FE = tension positive. Le servo-focus contrôle la lentille externe jusqu’à l’obtention d’un niveau 0 volt en sortie de l’ampli soustracteur.
Bloc optique mono-faisceau à tracking rectiligne - focalisation par détection de l’angle critique
Cette méthode de focalisation par recherche de l’angle critique est proche de la précédente. Seule la moitié de la cible photodiode est éclairée en cas de défocalisation.
le servo-tracking
Il permet au faisceau laser de suivre la piste sur la surface du disque par mouvement latéraux de la lentille (tracking « fin »). Il est très similaire au servo-focus. Sa fonction est d’amplifier le signal d’erreur de tracking et de l’envoyer vers la bobine de tracking attachée à la lentille qui produit des mouvements latéraux afin d’assurer le suivi de piste sur la surface du disque. La lentille a un déplacement latéral limité (approximativement 2 mm, soit +/- 40 pistes), et à son positionnement en fin de course latérale correspond un courant maximum utilisé pour commander le servo-chariot dès que cela est nécessaire. Là encore, c’est le microprocesseur qui gère la mise en fonctionnement du servo-tracking après la mise en rotation du CD ; pour la plupart des lecteurs CD, cette étape débute après que le laser a été allumé et que le servo-focus a été activé.
Bloc optique à trois faisceaux – suivi de piste
Les 3 faisceaux en sortie de la lentille de diffraction sont utilisés pour suivre la piste en spirale. Le faisceau principal est utilisé pour délivrer le signal RF et le signal d’erreur de focalisation, et les deux sous-faisceaux sont utilisés pour maintenir le faisceau principal sur la piste. La quantité de réflexion moyenne de lumière par les spots latéraux en provenance des « bosses » et des « plats » doit être égale pour un suivi de piste correct. Le courant en provenance des photodiodes correspondantes E et F sont soustraits (E - F) pour fournir le signal d’erreur de suivi de piste (TE). Ce signal est utilisé pour déplacer latéralement la lentille convergente externe afin de rectifier l’erreur de suivi de piste.
Bloc optique à 1 faisceau - suivi de piste
La méthode est sensiblement identique. La différence de quantité de lumière reçue par les couples de photos-diodes (A+B) et (C+D) est exploitée pour fabriquer le signal de correction d’erreur de tracking : le faisceau réfléchi est séparé en deux et le signal d’erreur de focalisation est obtenu par la différence (A+D) – (B+C). Le signal d’erreur de tracking, obtenu par la différence (A+B) – (C+D), commande le déplacement du bras pivotant via la bobine mobile. La somme des signaux (A+B+C+D) est envoyée vers l’ampli RF pour le traitement des données.
La qualité du suivi de piste est également déterminée par l’état des différents éléments mécaniques en mouvement, par l’état des éléments situés sur le chemin optique, ainsi que par le circuit électronique chargé d’amplifier le signal d’erreur de tracking délivré par l’étage d’amplification RF. Les premiers lecteurs CD (lecteurs de CD, devrait-on dire) embarquaient souvent les mêmes parties mécaniques et les mêmes circuits de décodage, ce qui en faisait des machines relativement similaires... En revanche, les constructeurs ont appliqué des variantes sur quelques points, dont les étages de conversion N/A et audio analogique, et ....la partie asservissement de suivi de piste (tracking).
Sur les premiers lecteurs Philips, le tracking est effectué par un seul moteur (type galvanomètre) d’une précision redoutable, précision accentuée par un circuit de contrôle automatique de gain (AGC). En pratique, le signal d’erreur en sortie des photodiodes est analysé en temps réel et le gain de l’amplificateur de tracking est ajusté en permanence afin d’obtenir un suivi de piste parfait.
Chez Sony à la même époque, pas d’AGC, mais un système de double alimentation sur l’amplificateur d’erreur de suivi de piste : lorsque le suivi de piste est instable, l’asservissement est "renforcé" par une augmentation du gain de l’ampli d’erreur de tracking... Ainsi, la compatibilité de lecture est accrue, mais l’amplification "forte" du signal d’erreur génère du bruit et amplifie les effets des rayures et poussières. D’un côté, on permet une compatibilité de lecture accrue (lecture CD-R par exemple) ainsi qu’une meilleure résistance aux vibrations, mais de l’autre côté, il résulte une moins bonne tolérance aux disques présentant des défauts d’aspect...
D’autres solutions ont été adoptées comme le Contrôle Automatique de Gain sur le circuit de régulation laser. Le constructeur Sharp, sur son premier lecteur (DX-3), utilise ce système qui permet d’augmenter dans de faibles proportions la puissance laser en fonction de la réflectivité du disque. Il est vrai que ce lecteur offre une compatibilité parfaite de lecture CD-R grâce à ce système, mais la lecture d’un tel support "moderne" à plus faible réflectivité est à proscrire afin d’éviter une usure prématurée de la diode laser. Ce contrôle automatique de gain sur la régulation laser permet aussi de compenser la dégradation du chemin optique opacifié avec le temps. En revanche, il est limité par la source de courant disponible, et par l’usure réelle de la diode laser. En effet, tous les lecteurs CD utilisent un circuit "APC" (contrôle automatique de puissance laser) chargé de maintenir l’intensité lumineuse de la diode laser à niveau constant.
Note : les données lues sur le disque sont restituées par une variation permanente de la lumière réfléchie, ce qui nécessite impérativement une source lumineuse parfaitement stable, exempte de variation. Sans surveillance de cette source lumineuse par une diode « monitor » une très faible variation de courant ou de température entraînerait une augmentation très rapide de l’intensité lumineuse, jusqu’à destruction de la diode laser.
Pour ce faire, une diode "monitor" (une photodiode) surveille une partie de la lumière émise par la diode laser en injectant un courant proportionnel vers le circuit APC, dans lequel il est comparé à la référence prédéterminée par le réglage manuel (ou usine). De manière schématique, l’usure progressive de la diode laser provoque l’augmentation progressive du courant qui la traverse afin de conserver une émission de photons constante.
le servo-chariot
Il permet de bouger par à-coups le bloc optique quand la lentille a atteint sa course limite. Ce servo-system fonctionne en conjonction avec le servo-tracking et est parfois appelé le "servo-sled" ou le "servo-slider". La fonction du servo-chariot est de déplacer le bloc optique sur le rayon du disque petit à petit, via l’étage de commande du moteur sled (moteur chariot) qui est, dans la plupart des cas, relié au bloc optique par un ensemble mécanique. La démultiplication est très élevée ce qui signifie que 75 minutes peuvent être nécessaires au bloc optique (selon la durée du disque) pour parcourir le rayon du disque, du début à la fin de la surface jouable, soit une distance de 4,5 cm maximum. Au fur et à mesure que la lentille bouge latéralement par augmentation du courant traversant la bobine de tracking (de 2 à 4 bobines en réalité) via le servo-tracking, ce courant est envoyé vers le servo-chariot qui se charge de l’amplifier. Quand la tension de sortie atteint un niveau suffisant pour commander le moteur sled, ce dernier déplace très légèrement le bloc optique (d’autres système sont utilisés, tel que la rotation de 15° du moteur sled toutes les 40 pistes, sur le Technics SL-P10, par exemple). Simultanément, la lentille du bloc optique revient en sa position centrale grâce à une diminution progressive du courant dans la bobine de tracking, diminution qui stoppe le moteur chariot....jusqu’à ce que le courant dans la bobine de tracking atteigne un niveau plus élevé et que l’opération recommence. Cette procédure se répète jusqu’à la fin de la lecture du disque.

Lorsque le signal d’erreur de suivi de piste (TE) atteint un certain seuil, le moteur chariot procède au déplacement du bloc optique
Certains lecteurs CD utilisent un moteur à commande linéaire à déplacement électromagnétique à la place du moteur DC conventionnel ; l’action combinée des servo-tracking et servo-chariot pour le suivi de piste reste identique à la description précédente. À nouveau le servo-chariot est activé par le microprocesseur de gestion du lecteur dès que le servo-tracking est opérant. Cependant, certains signaux de commande spécifiques peuvent être générés par le microprocesseur pour activer les moteurs lors de séquences de recherche de morceaux ou encore en fin de lecture, lors du retour du bloc optique au centre du disque (prêt pour un nouveau démarrage de la lecture).
Le suivi de piste - tracking & tracking fin : l’actuateur 2D permet un tracking fin sur un nombre limité de pistes. En fin de course latérale de la lentille, le tracking « grossier » prend le relais via le servo-chariot dont le rôle est de déplacer le bloc optique graduellement sur le rayon du disque. Le même signal d’erreur (TE) est utilisé pour les tracking fin et grossier
le servo-radial
Dans le système optique radial ce servo-system remplace les servo-chariot et servo-tracking, puisque le bloc optique entier doit se déplacer radialement sur la surface du disque par des mouvements extrêmement fins de l’ordre de la fraction de micron. Une fréquence oscillante (650 Hz) de très faible amplitude est appliquée au moteur radial pour empêcher la stiction, terme en rapport avec la friction des servo-system rendant possible le déplacement d’un très gros élément de manière très fine ; ainsi, le bras monté sur pivot supportant le bloc optique est en permanence en mouvement (en vibration), ce qui favorise les très faibles mouvements angulaires nécessaires au suivi de piste. De plus cette oscillation, qui provoque un mouvement de va-et-vient de l’ordre de +/- 0,05 µm de part et d’autre de la piste, permet de compenser la variation d’éclairement du spot et sa déformation aléatoire (ovalisation) dues à l’excentricité et au voilage du disque. En effet, le déplacement en arc de cercle de l’ensemble optique sur le rayon du disque, modifie en permanence l’angle entre la cible photodiode intégrée au bloc optique et la piste du disque et par conséquent la géométrie du spot réfléchi sur la cible. La composante de 650 Hz, formant une sorte de rail de sécurité pour le suivi de piste, est récupérée en sortie de la cible photodiode et utilisée pour le circuit d’asservissement de tracking via le signal RE, avant d’être éliminée pour le traitement ultérieur du flux numérique.
le servo-spindle ou servo-moteur disque
La vitesse du disque dépend de la position du faisceau laser sur le rayon du disque pendant que celui-ci lit les données. La fréquence bit du disque (4,32 MHz) est comparée à une référence interne au lecteur CD basée sur un quartz ; le résultat de cette comparaison permet au disque de tourner à la vitesse correcte, soit environ 500 tours / minute au centre (au début du disque) avec un ralentissement progressif jusqu’à 200 tours par minute à la circonférence (à la fin du disque), pour un disque de 12 cm de diamètre. Les données lues sont traitées dans le démodulateur EFM et les mots de 16 bits sont brièvement stockés dans une RAM et extraits de cette mémoire à la demande. Cette opération est liée au circuit d’asservissement de vitesse du moteur disque dont le rôle est de faire tourner le disque à une vitesse à peu près correcte : au fur et à mesure que les données sont extraites de la mémoire (RAM), la vitesse du disque augmente ou diminue pour y maintenir en permanence une quantité de données suffisante et une vitesse linéaire constante. Ce servo-system est aussi fréquemment appelé "disc-servo" ou "turntable-servo".
Le moteur Spindle (ou moteur disque)
Deux types de moteur Spindle sont utilisés : moteur à courant continu et moteur brushless :
Qu’il soit à courant continu (moteur DC) ou à entraînement direct (Brushless), le rôle du moteur spindle est de faire tourner le disque à une vitesse angulaire décroissante permettant au laser de lire les données à une vitesse linéaire stable. Cette vitesse linéaire dépend de la durée de l’enregistrement audio analogique de départ qui doit être stocké sur le disque et donc de la longueur et l’espacement des bosses : 1,4 m/s pour un enregistrement de 65 minutes, jusqu’à 1,2 m/s au minimum pour un enregistrement de 74 minutes 30 s. Quelle que soit la vitesse linéaire, la vitesse angulaire est régulée de manière à obtenir un débit binaire à 4,32 MHz. À la mise en lecture depuis la position « stop », le moteur disque est lancé par la commande « kick-start » en provenance du microprocesseur de gestion, à une vitesse d’environ 540 tours / minute, généralement après que le laser et le servo-focus ont été activés correctement. Le microprocesseur envoie un signal en provenance des datas extraites du disque permettant au moteur d’augmenter sa vitesse ; certains lecteurs CD de première génération tels que le Toshiba XR-Z90 ou le Technics SL-P10 (moteur brushless) embarquent un système de contrôle de vitesse de « kick-start » par capteur (photo-transistor) ; le schéma ci-dessous montre la bandelette située sous le support disque (plateau), constituée par une alternance de secteurs noirs et blancs permettant au capteur de « surveiller » la vitesse au lancement du moteur, avant verrouillage de la PLL. En théorie, ce système permet un accrochage encore plus rapide.
Dans l’étape suivante, une boucle PLL incluant un VCO est chargée de régénérer l’horloge Bit à 4,32 MHz par comparaison entre le signal EFM et une fréquence référence interne au lecteur. Cette boucle génère une tension permettant de commander le moteur disque à une vitesse compatible avec le débit binaire imposé lors de la gravure du disque. Le quartz est la référence absolue pour le circuit complet d’asservissement de vitesse.
le principe de la pll
Principe
Le passage d’une spire à l’autre du disque entraîne une augmentation de la vitesse linéaire et par conséquent une augmentation de la fréquence du VCO. Autrement dit, l’horloge bit est une horloge tachymétrique, qui suit la vitesse de rotation du moteur disque, dont le VCO est une image qui va être utilisée dans la deuxième boucle (d’accélération). Le résultat de la comparaison de cette horloge avec l’horloge référence entraîne alors une diminution de la vitesse de rotation du moteur disque.
Fonctionnement
Les fronts montants du signal EFM mis en forme (signal carré) en provenance de l’ampli RF sont présentés à l’entrée de la PLL. Alors que le disque commence à monter en vitesse, les données EFM approchant la fréquence BIT de 4,3218 MHz sont envoyées dans un comparateur de phase. La fréquence libre du VCO issue d’un diviseur de fréquence programmable par oscillateur à quartz (8,64 MHz, 4,32 MHz, ou autre fréquence multiple de 4,32) est aussi appliquée à ce comparateur de phase. Le signal d’erreur résultant de cette comparaison en fréquence est appliqué à un filtre de boucle (chargé de retirer les composantes hautes fréquences indésirables) qui après intégration délivre un signal DC basique pour le contrôle du VCO. Le VCO accroche la fréquence référence et verrouille la PLL, qui fonctionne à la manière d’un filtre passe-bande dont la fréquence centrale 4,32 MHz fluctue en permanence. La boucle dite "de vitesse" (ou de CLV) ainsi verrouillée prend alors en charge le contrôle de vitesse de rotation du moteur disque via une autre boucle (PLL) dite "boucle d’accélération " (ou boucle de phase) puis via un étage d’amplification, de manière à maintenir le signal EFM à une fréquence bit d’environ 4,32 MHz. Ces deux boucles peuvent être imbriquées ou successives, selon la marque et le modèle du lecteur. Dans le cas de boucles successives, l’horloge flottante du VCO est divisée par un coefficient "n" pour obtenir une nouvelle horloge flottante correspondant à la fréquence trame (7,35 kHz) servant à cadencer l’entrée dans la RAM (en écriture) des données issues de la démodulation EFM. Parallèlement, une horloge externe de référence issue d’un quartz génère également une fréquence fixe de 7,35 kHz, chargée de cadencer la sortie des données de la RAM (lecture des données). La RAM sert donc de mémoire tampon entre les données entrantes et fluctuantes en provenance du disque (trames de 588 bits) et les données stables extraites à la cadence de l’horloge de référence 7,35 kHz. Plus la mémoire RAM (FIFO) est importante, plus un "Jitter" élevé (écart de vitesse entre données entrantes et données sortantes) est accepté. Ces deux fréquences, flottante et fixe, et donc la différence entre la vitesse de lecture et la vitesse d’écriture de la RAM sont comparées en phase par la boucle d’accélération : la variation de phase résultant de cette comparaison permet d’absorber le "Jitter" par l’intégration de cette différence (ε2 sur le schéma) qui génère la tension d’erreur envoyée vers l’étage de puissance pour le contrôle de la vitesse du moteur disque. Le traitement des données jusqu’à la pile FIFO (RAM) et le fonctionnement du moteur disque sont donc interdépendants. Dans le cas de boucles de vitesse et d’accélération imbriquées, l’entrée de la boucle d’accélération correspond à une entrée secondaire de la boucle de vitesse CLV. Ce type de montage équipe certains lecteurs (Pioneer et Sony par exemple) utilisant un moteur disque à entraînement direct. L’asservissement de vitesse (boucle CLV) est basculé par le microprocesseur vers la deuxième boucle, et les signaux de commande FINE (issue de la comparaison en phase) et COARSE (issue de la comparaison en fréquence) sont envoyés vers l’étage de puissance pour le contrôle de vitesse du moteur disque. Ces deux signaux résultent d’une comparaison entre deux fréquences obtenues par la division de la fréquence du VCO (612,4 Hz = FINE, et 1,8375 MHz = COARSE), et les deux mêmes fréquences issues de la division d’une fréquence référence fixe délivrée par un oscillateur à quartz référence (8,46 MHz). La commande FINE résultant de la boucle d’accélération, permet d’éliminer le « jitter » et est une image du taux de remplissage de la mémoire RAM.
Note : par l’action de la boucle de vitesse, le moteur disque ne peut pas maintenir une vitesse CLV absolument correcte à cause de l’inertie du moteur. De plus, il n’est pas indispensable de produire une vitesse absolument exacte, puisque le débit binaire réel est cadencé en sortie de la RAM, pour la correction d’erreurs. La fluctuation du débit des données entrant dans la RAM est donc absorbée.
Le schéma ci-dessus illustre l’asservissement de CLV (boucle de vitesse) pour la régénération de l’horloge BIT inscrite sur le disque : le signal RF, issu de l’étage "d’amplification et mise en forme", entre en 1 (comparateur de phase). En 1 entre également une fréquence sous-multiple de la fréquence du VCO. Ce sous-multiple correspond à peu près à une division par 22 de la fréquence référence 4,32 MHz. La résultante de 197 kHz est comparée en phase avec la fréquence du mot de synchronisation (197 kHz, fréquence la plus basse du flux numérique gravé sur le disque) contenu dans le signal RF. Initialement (après le Kick start), la fréquence synchro issue du disque approche progressivement de 197 kHz, puis se synchronise à 197 kHz par l’accrochage du VCO, quand la vitesse linéaire constante arrive à environ 1,3 m/s. La boucle ainsi verrouillée compare en permanence les deux signaux et toute variation ε (en 2) entraîne une variation de la fréquence du VCO (en 4), qui est donc asservie à la vitesse du moteur plateau. En 5 (sortie du diviseur de fréquence par 22) le signal fluctue autour de 197 kHz ; ce signal est comparé à nouveau à la fréquence du mot de synchronisation, et l’erreur ε est intégrée pour le contrôle en tension de la fréquence du VCO (en 3). Ainsi, une horloge flottante est recréée (en 4) à partir de l’horloge inscrite sur le disque, pour le remplissage de la RAM et le pilotage du moteur disque via la boucle de phase
Plus précisément, la boucle de phase est chargée de repérer un symbole répétitif sur le disque dont la fréquence d’apparition va être comparée et synchronisée à celle de l’horloge de référence interne au lecteur CD. Cette synchronisation se fait sur la fréquence trame (7,35 kHz) correspondant à la fréquence à laquelle apparaît le motif de synchronisation trame comprenant 24 bits (en faisant abstraction des 3 bits de liaison) situés en début de chaque trame lue. Ce motif est le suivant : 100000000001000000000010.
Note : rappelons que la combinaison du motif de synchronisation est unique et ne peut être rencontrée ailleurs dans la trame. Si l’on observe de plus près ce motif unique on note qu’il correspond à une période de la fréquence data la plus basse, soit 197 kHz (11T, ou encore la règle des 10-2) ; ce choix d’une fréquence basse optimise le fonctionnement du comparateur de phase.
23 des 24 bits du motif de synchronisation trame sont attendus par un registre à décalage (le 24ème, « 0 » étant attendu pour valider le mot dans le registre), dont le rôle est de délivrer un signal carré en sortie. Par la suite, ce signal carré est comparé à 22 coups d’horloge de la fréquence référence 4,32 MHz. La PLL est verrouillée lorsque quelques motifs de synchronisation trame ont été détectés et synchronisés par le circuit de" détection de synchro trame", par l’envoi d’un signal ("Guarded Sync Frame") au microprocesseur de gestion. Si le disque accélère, la fréquence trame augmente. Inversement, si le disque ralentit, la fréquence trame diminue. Le résultat de cette comparaison génère une tension permettant de contrôler la vitesse de rotation du disque.
Note : la plus grande part de l’étage de servo-spindle est généralement contenue à l’intérieur du décodeur (ou démodulateur) EFM.
(➔ exemple de panne d’asservissement de moteur disque solutionnée)
la RAM
La RAM a un double rôle : assurer un débit binaire constant et extrêmement précis, et procéder aux différents calculs inhérents au désentrelacement et à la correction d’erreurs.
Le remplissage de la pile FIFO se fait à la cadence du VCO, et donc du disque, puisque le VCO est synchronisé sur le signal RF. Les données entrantes sont donc fluctuantes. Plus la mémoire est grande, plus sont admis des écarts de vitesse importants. À l’intérieur de la RAM, un niveau acceptable de charge minimum et maximum de données est défini et identifiable par les lignes d’adresses de la RAM. Si le stockage de la FIFO vient à tomber sous la limite minimum, le disque est accéléré en vitesse afin de remplir la RAM au niveau supérieur maximum. De la même manière, quand la limite haute est atteinte, le disque est momentanément ralenti pour prévenir toute surcharge de la pile et la perte de données conséquentes. Cette faible variation de vitesse est effectuée par le diviseur de fréquence de l’oscillateur à quartz, afin de modifier finement en phase le signal de commande du servo-spindle, et ainsi augmenter ou diminuer la vitesse angulaire en conséquence. Le contrôle du débit en sortie de la RAM, au moyen d’une horloge de référence (quartz), permet d’éliminer tout pleurage provoqué par la nécessité de réduire continuellement la vitesse du disque au fil de la lecture. Précisons que la capacité de la RAM peut-être élevée, dans le cas où les octets stockés en mémoire sont utilisés pour compenser les erreurs de lecture suite à un choc, dans le cas d’un matériel portatif.
Ajoutons que le microprocesseur de gestion analyse en permanence la conformité de l’extraction des données du disque, et prend des décisions sur le type de correction à appliquer en cas d’erreur (jusqu’à l’arrêt de la lecture en cas d’erreurs trop nombreuses).
Les données ainsi cadencées sont envoyées vers deux CIRC (un seul circuit intégré, SAA7020 dans certains premiers lecteurs CD), pour le désentrelacement et la détection et la correction d’erreurs.
L’altération des données peut être consécutive à un défaut de gravure du disque, ou à une manipulation peu soigneuse entraînant salissures et rayures.

La piste en spirale du disque est uniquement définie par les bosses. Si la fréquence d’apparition des bosses vu du laser est trop basse (s’il y a trop de « 0 » consécutifs), la piste n’existe plus. Si la fréquence d’apparition des pits vu du laser est trop élevée (« 1 » trop rapprochés), le spot laser éclaire plus d’un pit à la fois, et donc interprète mal les données. Le rôle de la modulation EFM est d’abaisser les fréquences élevées, et d’élever les basses fréquences, la dimension des pits étant définie. La fréquence la plus basse devient 197 kHz, et la plus haute 720 kHz. Pour modifier ces fréquences d’apparition de pits à la lecture, il convient d’empêcher que plus de dix « 0 » et moins de deux « 0 » soient inscrits de manière consécutive sur le disque. La manipulation du signal consiste donc à convertir chaque octet en mot de 14 bits (conversion 8 à 14 bits = EFM). De cette manière, les 256 combinaisons possibles que peut prendre la valeur analogique d’origine codée sur 8 bits (octet = 28 combinaisons) sont prélevées parmi les 16 384 combinaisons possibles qu’offre un mot de 14 bits (214 combinaisons). Seules les combinaisons présentant moins de dix « 0 » ou plus de deux « 0 » consécutifs sont utilisées parmi ces 16 384 combinaisons. Le choix de 14 bits n’est pas un hasard ; parmi ces 16 384 combinaisons, seules 276 répondent aux conditions énoncées ci-dessus. Il s’agit donc de choisir 256 combinaisons parmi les 276 disponibles.
S’il est possible d’appliquer cette méthode à chaque octet pris séparément, la juxtaposition de mots de 14 bits ainsi formés peut poser problème. En effet, si un mot « A » se termine par six « 0 », et un mot « B » commence par cinq « 0 », leur juxtaposition provoquera une suite de onze « 0 », ne répondant plus à la règle « des 10 et des 2 ». Pour ne pas rompre cette règle, un mot de liaison de 3 bits est ajouté à la fin de chaque mot de 14 bits, portant le nombre de bits de notre octet de départ à 17 (14 + 3).
Parmi les 8 combinaisons possibles offertes par ce mot de liaison de 3 bits (de 000 à 111), seules trois sont retenues : 001 010 et 000, afin de respecter la conversion 8 à 14 bits sur l’ensemble du flux numérique.
La base de temps du lecteur CD, définie par la fréquence d’échantillonnage 44,1 kHz et la quantification sur 16 bits
Après la modulation EFM (lors de l’étape de numérisation du disque), l’alternance continue de « 0 » et de « 1 » constituant le flux numérique est simplifiée avant la gravure, afin de ne pas avoir à graver une bosse pour chaque bit à « 1 » (signal NRZ, Non-Return-to-Zero). Dans cette simplification (NRZI, Non-Return-to-Zero-Inverted), un changement d’état « haut » ou « bas » n’est effectif qu’à chaque fois qu’un « 1 » est rencontré. Par exemple, si un premier « 1 » amène un niveau haut, ce niveau haut demeure jusqu’à l’apparition du « 1 » suivant (cf schéma). Cette technique limite le nombre de transitions, et donc le nombre de bosses à inscrire sur le disque. Il y a plus de données numériques enregistrées que de transitions sur le disque.

Conversion NRZ -> NRZI

NRZI vers gravure

Ce circuit intégré de dimensions réduites (de la taille d’un timbre-poste), fournit un travail très important avec l’aide de seulement quelques composants extérieurs. Après avoir été lus par le laser, les bosses et les plats du disque forment le signal EFM, présenté à l’entrée du décodeur. Ce signal délivré par la cible photodiode du bloc optique - aussi appelé signal RF (Radio Fréquences) ou signal HF (Hautes Fréquences) - a rigoureusement la même forme que la courbe de réflexion du faisceau laser sur le disque (quantité de lumière réfléchie minimale pour une bosse, et maximale pour un plat), et correspond à la superposition des courbes provenant des 4 ou 6 photodiodes (5 pour le CDM12 de Philips) à l’écran de l’oscilloscope (diagramme de l’œil). Ce signal est compris dans un spectre de fréquences allant de 197 à 720 kHz. Ces fréquences basses et hautes résultent de l’écart minimum et maximum entre deux fronts (un début de bosse et une fin de bosse ou une fin de bosse et un début de bosse) compris entre 3,3 µm (gravure 100000000001) et 0,9 µm (gravure 1001). Aux fréquences basses (proches de 197 kHz), la lumière réfléchie est maximale (le spot rencontre plus de surface de plats que de surface de bosses). Puisque la courbe obtenue en sortie des photodiodes reflète la caractéristique optique du disque, on retrouve cette différence d’amplitude en fonction de la fréquence au niveau du signal RF avant l’amplificateur du même nom. Pour remédier à ce fonctionnement en filtre passe-bas, le signal est égalisé en amplitude dans le premier étage de l’amplificateur RF.
Note : sur le disque, le niveau « 1 » binaire est matérialisé par un front qui monte sur une bosse ou qui en descend et le niveau « 0 » binaire est matérialisé par un plat en haut d’une bosse, ou entre deux bosses.
Les périodes des signaux composant le signal RF varient en fonction de la longueur des plats et des bosses qui elle-même est liée à la fréquence d’horloge utilisée lors des différents processus de codage des données numériques préalables à la gravure du disque. La fréquence la plus basse (1001) dans le signal RF est équivalente à trois cycles (3T) d’horloge bit (4,32 MHz) et la plus longue à onze cycles (11T), avec T correspondant à une période d’horloge Bit.

Fréquences "bosses" 3T / 11T
À l’entrée du démodulateur, le signal HF se présente sous la forme de trames de 588 bits. Le démodulateur a pour rôle d’extraire les 33 motifs (1 motif = 17 bits) compris dans le signal HF. Ces 33 motifs sont :
○ Les 24 motifs audio
○ Le motif de sous-code
○ Les 8 motifs de détection et de correction d’erreur (parité)
Après démultiplexage, les mots EFM de 14 bits sont restaurés dans leurs formes originales de 8 bits. L’octet de sous-code est aiguillé vers le microprocesseur de gestion, chargé de les exploiter pour les indications de temps, morceaux, etc, et également dans les asservissements, les effets spéciaux (avance et retour rapides), et en cas de choc.
Les octets résultant de la démodulation EFM restent désordonnés en raison de l’opération d’entrelacement qu’ils ont subie avant le processus de gravure. Ceux-ci sont désentrelacés progressivement lors de leur stockage dans la RAM, pendant les opérations de correction d’erreurs dans les circuits CIRC. Cette correction est effectuée par les deux circuits CIRC à l’aide des informations de correction d’erreurs contenu dans le « Check code » inscrit sur le disque (CRCC). Les mots de 8 bits ainsi réordonnés sont appairés afin de restituer le signal d’origine sous forme de mots de 16 bits.
En cas d’erreurs trop nombreuses, les échantillons réordonnés sont envoyés vers l’étage de calculs, où ils sont effacés par interpolation dans une certaine limite, avant le mute audio.

principe
Le décodage EFM et la détection et correction d’erreurs sont dans la plupart de cas effectués par le même circuit intégré, associé à une mémoire de calcul (RAM), aussi appelée mémoire de désentrelacement (seuls les premiers lecteurs commercialisés embarquaient des circuits intégrés séparés pour chaque opération).
L’ étage de détection et correction d’erreurs met en œuvre différentes méthodes pour le traitement des données altérées, selon l’importance des erreurs rencontrées.
Ces erreurs sont classées en deux catégories :
○ Les erreurs aléatoires correspondant à des erreurs isolées telles qu’un simple bit erroné (un « 1 » au lieu d’un « 0 » dans le flux binaire), typique d’un défaut de pressage, ou une suite de quelques bits (17 périodes d’horloge bit - 4,32 MHz - au maximum, en réalité)
○ Les salves d’erreurs, causées par une rayure, une empreinte de doigt ou encore un grain de poussière, pouvant se matérialiser par l’altération de plusieurs octets consécutifs sur le disque
Dans les deux cas, les erreurs doivent pouvoir être corrigées. Cette prouesse est accomplie par l’algorithme de détection et de correction d’erreurs « CIRC » : celui-ci opère à partir des codes de correction d’erreurs (données de parité) inscrits sur le disque sous forme de données redondantes pour la détection et la correction d’erreurs aléatoires, et à partir de l’entrelacement croisé combiné aux données de parités pour les salves d’erreurs. Précisons que l’ajout des données de parité ainsi que l’opération d’entrelacement des données correspondent à deux étapes de la numérisation du signal.
L’entrelacement, qui trouve son utilité dans la correction de salves d’erreurs, est issu de calculs mathématiques très complexes. L’opération de base consiste à mélanger les informations au niveau de l’octet au sein d’une même trame (scrambling), puis dans un deuxième temps sur plusieurs trames (interleaving), avant la gravure du disque. Si le taux d’erreurs moyen d’un CD pris au hasard semble assez faible, c’est-à-dire 1 erreur pour environ 500 000 bits, il est à rapprocher du débit binaire de 4 millions de bits à la seconde. Seul un algorithme puissant tel que le CIRC offre une correction adaptée, grâce à l’entrelacement des données permettant d’éparpiller les erreurs, et aux données de parité permettant de les corriger.
Lors de la lecture, le CIRC (composé de deux décodeurs C1 et C2 capables de corriger respectivement un et quatre octets erronés consécutifs) analyse, désentrelace et corrige les données le cas échéant. Une salve d’erreurs générée par une rayure de la surface du disque se trouve éclatée en une multitude d’erreurs aléatoires plus faciles à corriger grâce à l’opération de désentrelacement.
chronologie du processus de détection et de correction d’erreurs
Une trame entière est appliquée à l’entrée du décodeur C1 : si une erreur aléatoire est détectée, celle-ci est corrigée à l’aide du système de parité mis en œuvre grâce aux informations redondantes contenu dans le « Check code » (CRCC, octets P de la trame prise en compte) .
le CRCC
Le CRCC est inscrit sur le disque à raison 8 motifs de parité, soit 136 bits par trame lue [8 x (14 bits + 3 bits de liaison]. Ces 8 motifs de parité correspondent à 4 octets P utiles et 4 octets Q utiles dédiés à la correction d’erreurs (respectivement pour le décodeur C1 et le décodeur C2). Pour comprendre leur rôle, voici un aperçu du fonctionnement des octets P lors du premier traitement de la trame par le décodeur C1 :
Les 4 octets P sont divisés en deux octets P0 et deux octets P1 :
○ Les deux octets P0 forment le « Check sum », et correspondent à la somme de tous les octets de la trame
○ Les deux octets P1 forment le « Check sum pondéré », et correspondent à la somme de tous les octets de la trame, chacun étant multiplié par sa position dans la trame
« Check sum » : Si le premier octet audio de la trame est 00000001 (chiffre 1, en décimal), et le deuxième octet est 00000010 (chiffre 2, en décimal), la somme correspondante est 00000011 (chiffre 3, en décimal). Appliquons cet exemple à une trame complète comprenant 24 octets de données audio, auxquels on attribue une valeur allant de 1 à 24, pour simplifier :
Octet 1 = 00000001 (1, en décimal).
Octet 2= 00000010 (2, en décimal).
Octet 3 = 00000011 (3, en décimal).
Octet 4 = 00000100 (4, en décimal).
........
Octet 24 = 00011000 (24, en décimal)
La somme de ces 24 octets audio correspond à la somme des nombres binaires qu’ils représentent. Cette somme est 00000001 00100010 (= deux octets P0 de 8 bits) ou 300 en décimal (1 + 2 + 3 + 4 .... + 24 = 300).
« Check sum pondéré » : En reprenant les mêmes 24 octets que précédemment ces octets deviennent :
Octet 1 = (00000001) x 1 = 00000001 => 1 x 1 = 1
Octet 2= (00000010) x 2 = 00000100 => 2 x 2 = 4
Octet 3 = (00000011) x 3 = 00001001 => 3 x 3 = 9
Octet 4 = (00000100) x 4 = 00010000 => 4 x 4 = 16
......
Octet 24 = (00011000) x 24 = 00000010 00100000 => 24 x 24 = 576
La somme des 24 octets audio de la trame, chacun multiplié par son rang, est donc (1 + 4 + 9 + 16 .... + 576), soit 00010011 01101100 (= deux octets P1 de 8 bits) ou 4900 en décimal (1 +4 + 9 + 16 +..... + 576).
Pour cette trame prise en exemple, P0 vaut donc 300, et P1 vaut 4900, et selon le mode de calcul qui vient d’être appliqué, ces deux valeurs sont représentatives de la trame choisie.
Si une erreur se produit dans la trame, suite à une rayure ou à un défaut de pressage, une bosse de la surface du disque (plusieurs en réalité) produira une erreur au sein d’un octet (un « 0 » au lieu d’un « 1 » par exemple), à la lecture.
Pendant que vous écoutez votre disque préféré contenant la trame erronée prise en exemple, le décodeur C1 contenu dans le décodeur EFM (le circuit intégré, par extension) réalise deux calculs lors de la lecture de celle-ci, produisant deux résultats S0 et S1. Ces deux valeurs vont permettre de localiser, quantifier, et réparer l’erreur produite. Pour calculer S0 et S1, le laser rencontre les « check sum » et « check sum pondéré » (c’est-à-dire les 4 motifs de parité P) en fin de trame (consulter le dessin). Ceci signifie qu’il peut à présent vérifier la validité des données qu’il vient de lire au sein de la trame, puisqu’il dispose des informations de parité P (2 motifs P1 et 2 motifs P0) qui permettent de vérifier si les données de la trame sont altérées.
○ S0 = P0 – (octet 1 + octet 2 + octet 3 + octet 4 ….. + octet 24)
Le décodeur compare par soustraction la valeur du motif de parité « Check sum pondéré » P0 lue sur le disque avec la somme des octets lus sur le disque dans la trame originelle
○ S1 = P1 – (octet 1 x 1 + octet 2 x 2 + octet 3 x 3 + octet 4 x 4 ….. + octet 24 x 24)
Le décodeur compare par soustraction la valeur du motif de parité « Check sum pondéré » P1 lue sur le disque avec la somme des octets lus sur le disque dans la trame originelle, multipliée par le rang de chaque octet respectif
Si aucune erreur n’est détectée :
○ S0 = P0 – P0 = 0
○ S1 = P1 – P1 = 0
=> la trame lue est conforme au signal analogique original.
Si une erreur est détectée :
Prenons pour exemple une erreur dans l’octet n°4 ayant pour valeur binaire 00000100 (cf. ci-dessus) et pour valeur décimale 4 : à cause d’une micro-rayure sur la surface du disque, cet octet inscrit lors du pressage du disque est mal interprété par le laser au cours de la lecture. L’octet erroné envoyé dans la RAM via le décodeur EFM est 00000110 (au lieu de 00000100), ce qui correspond à la valeur décimale erronée 6 (au lieu de 4). Cette erreur se retrouve au niveau de la somme des octets de la trame effectuée par le décodeur, somme qui prend la valeur de 302, au lieu de 300. De même, la somme des octets audio de la trame multipliée par leur rang respectif reflète cette erreur, en indiquant un total de 4908 au lieu de 4900.
De la même manière que précédemment, le décodeur effectue les calculs suivants :
○ S0 = P0 – (octet 1 + octet 2 + octet 3 + octet 4 ….. + octet 24)
Le décodeur (C1) compare par soustraction la valeur du motif de parité « Check sum pondéré » P0 lue sur le disque (300) avec la somme des octets lus sur le disque dans la trame originelle (302)
○ S1 = P1 – (octet 1 x 1 + octet 2 x 2 + octet 3 x 3 + octet 4 x 4 ….. + octet 24 x 24)
Le décodeur compare par soustraction la valeur du motif de parité « Check sum pondéré » P1 lue sur le disque (4900) avec la somme des octets lus sur le disque dans la trame originelle, multipliée par le rang de chaque octet respectif (4908)
Dans ce cas :
○ S0 = 300 – 302 = - 2
○ S1 = 4900 – 4908 = - 8
=> S0 nous apprend que la trame porte une erreur de 2
=> S1 nous donne une information sur la position de cette erreur.
Le rapport S1 ÷ S0 => [(ERREUR x POSITION) ÷ ERREUR] est égal à :
S1 ÷ S0 = -8 ÷ -2 = 4
Il faut conclure que le 4ème octet de la trame comporte une erreur de 2.
La correction est effectuée par C1 en ajoutant S0 au 4ème octet :
00000110 + (-2) = 00000110 – 00000010 = 00000100
00000100 (4, en décimal) correspond bien au quatrième octet de la trame, tel qu’il a été gravé sur le disque.
Une erreur aléatoire du MSB pourrait avoir des conséquences désastreuses sur la restitution audio. En effet, comme nous l’avons vu précédemment, le CD utilise le codage binaire par « complément à 2 » pour restituer les valeurs négatives du signal analogique d’origine. Dans ce cas, la mauvaise interprétation du MSB pourrait provoquer un « drop out », comme le montrent les dessins suivants :

Signal de sortie / Echantillon avec MSB correct

Échantillon avec erreur de lecture du MSB. La valeur initiale 0101 (+5) est interprétée par 1101 (-3) lors de la lecture du disque. Sans détection et correction de cette erreur de lecture, le signal audio serait dégradé à la sortie du lecteur CD
Pour faciliter cette opération de détection par parité, le décodeur C1 procède au de-scrambling (dé-croisement des octets dans chaque trame). Cependant, les octets restent entrelacés sur l’ensemble des trames du secteur de 98 trames. Ainsi, une éventuelle erreur aléatoire (quelques dizaines de bits consécutifs au maximum), se trouve éclatée sur les 28 octets de la trame concernée. Le scrambling / de-scrambling permet donc la correction d’erreurs simples.
Note : 32 octets (1 trame) sont injectés dans C1, 28 dans C2. La trame perd les 4 octets P dans C1
En résumé, le décodeur C1 n’étant capable de corriger qu’un seul octet erroné au maximum à la fois, soit 5 µm maximum sur la piste, le descrambling (et donc le scrambling initial) intervient pour éclater une erreur aléatoire de quelques dizaines de bits en plusieurs erreurs moins longues (1 octet maximum pour chaque erreur).
Si C1 détecte une salve d’erreurs, il envoie un signal (1 « flag », en plus des 28 octets restants) au deuxième circuit de correction d’erreurs C2 qui est également chargé de reconstituer les mots de 16 bits d’origine. Les deux octets Q contenus dans le « Check code », aidés par le désentrelacement, sont alors utilisés pour la correction d’erreurs allant jusqu’à 4 octets consécutifs : C2 procède au de-interleaving (désentrelacement des octets qui avaient été mélangés sur l’ensemble des trames du secteur de 98 trames, lors de la gravure) ce qui signifie que les octets sont à ce stade replacés dans leur trame d’origine selon leur séquence initiale. Ainsi, si la rayure de la surface du disque (salve d’erreurs) entachait plusieurs octets consécutifs, ceux-ci se trouvent séparés en une multitude d’octets éparpillés sur les 98 trames du secteur, chaque octet erroné étant, en théorie, encadré par deux octets valables. Le désentrelacement (et donc l’entrelacement initial) intervient donc pour corriger les données erronées suite à une rayure de plusieurs millimètres par exemple en éclatant cette erreur en une multitude d’erreurs micrométriques.
À ce stade, jusqu’à 2,5 mm de données erronées (salve de 4 000 bits) peuvent être corrigés sans que la restitution audio s’en trouve altérée, sur les lecteurs les plus performants tels que les premiers lecteurs du constructeur Philips (avantagés par un système de tracking radial ultra performant).
Les données « marquées » par C1 que C2 ne peut corriger conservent ce marquage (flag), et son envoyées vers l’étage de calcul pour une tentative d’effacement de ces erreurs. Enfin, les données envoyées à C2 sans retenues sont envoyées en sortie vers le filtre numérique ou le convertisseur numérique / analogique (mots reconstitués de 16 ou 14 bits).