Page suivantePage précédenteTable des matières

10. Magie noire et impulsions de synchronisation

OK, vous venez de calculer les valeurs de HFL/VFL pour la fréquence pilote que vous avez choisie, vous avez trouvé une fréquence de rafraîchissement acceptable, et vérifié que vous disposiez d'une quantité suffisante de mémoire VRAM. Passons maintenant à la vraie magie noire : il vous faut déterminer où et quand placer vos signaux de synchronisation.

Les signaux de synchronisation contrôlent en fait les fréquences de balayage horizontale et verticale du moniteur. Les valeurs HSF et VSF que vous avez extraites des spécifications techniques sont des quantités nominales, approximatives pour les fréquences de synchronisation maximum. L'impulsion de synchronisation présente dans le signal de la carte graphique fournit au moniteur sa vitesse d'exécution effective.

Vous souvenez-vous des deux schémas présentés ci-dessus ? Seule une partie du temps requis pour que le faisceau balaye une trame complète est utilisé pour construire l'image affichée (autrement dit, votre résolution).

10.1 Synchronisation horizontale

En fonction de notre définition précédente, il faut HFL tics d'horloge pour effectuer le parcours d'une ligne horizontale. Appelons HR (horizontal resolution) le nombre de tics accomplis en mode visible (c'est-à-dire la résolution horizontale de votre écran). Il s'ensuit, par définition, que HR < HFL. Pour rester pratique, supposons que les deux quantités démarrent au même instant comme illustré ci-après :

 |___ __ __ __ __ __ __ __ __ __ __ __ __
 |_ _ _ _ _ _ _ _ _ _ _ _                |
 |_______________________|_______________|_____
 0                       ^               ^     unité : tic
 |   ^       ^   |
 HR  |       |  HFL
 |   |<----->|   |
 |<->|  HSP  |<->|
 HGT1         HGT2

Maintenant, nous voudrions obtenir un signal de synchronisation de longueur HSP comme illustré ci-dessus, c'est-à-dire entre la fin des tics d'horloge utilisés à l'affichage de l'image et la limite des tics consacrés à la trame complète. Pourquoi cela ? Parce que si nous parvenons à ce résultat, l'image affichée ne sera pas déplacée à gauche ou à droite. Elle occupera sa place assignée sur l'écran, recouvrant le centre de la zone affichable.

Qui plus est, il est préférable de conserver environ 30 tics "de sécurité" (guard time) de part et d'autre de l'impulsion de synchronisation. Ces valeurs sont représentées par HGT1 et HGT2. Dans une configuration typique HGT1 != HGT2, mais si vous êtes en train de construire une configuration à partir de zéro, il vaudra mieux que vous commenciez vos expériences avec des valeurs égales (c'est-à-dire, avec l'impulsion de synchronisation centrée).

Le symptôme d'une impulsion de synchronisation mal placée consiste en un déplacement de l'image sur l'écran, l'une des marges élargie à l'extrême tandis que l'autre côté de l'image est réfléchi sur la paroi latérale du tube, ce qui résulte en une ligne blanche à la limite de la zone affichable et une bande d'image "fantôme" du côté intérieur de cette ligne. Une impulsion de synchronisation verticale excessivement mal placée peut aller jusqu'à provoquer un saut cyclique de l'image similaire à ce qu'on observe sur un poste de télévision dont on aurait déréglé le bouton d'ajustement vertical (c'est en fait le même phénomène qui est à l'oeuvre ici).

Si vous avez de la chance, la largeur des signaux de synchronisation de votre moniteur sera documentée à la page des spécifications techniques. Dans le cas contraire, c'est ici que l'on entre dans la vraie magie noire...

Pour cette section-ci, il vous faudra en partie procéder par essais et erreurs. Mais la plupart du temps, vous pouvez sans danger partir du principe qu'une impulsion de synchronisation a une durée d'environ 3.5 à 4.0 microsecondes.

Toujours pour rester concret, supposons qu'HSP vaille 3.8 microsecondes (ce qui, soit dit en passant, n'est pas une mauvaise valeur de départ lorsque l'on expérimente).

Dans cette hypothèse, sur base de la fréquence pilote de 65 Mhz mentionnée plus haut, nous obtenons que HSP est égal à 247 tics d'horloge (= 65 * 10^6 * 3.8 * 10^-6) [souvenez-vous : Méga=10^6, micro=10^-6].

Certains fabricants aiment mentionner leurs paramètres de tramage horizontal sous forme de durée plutôt que de largeur exprimée en pixels. Vous pourriez chez eux rencontrer les termes suivants :

durée utile (HAT - Horizontal Active Time)

Equivalent à HR, mais en millisecondes. HAT * DCF = HR.

durée de service (HBT - Horizontal Blanking Time)

Equivalent à (HFL - HR), mais en millisecondes. HBT * DCF = (HFL - HR).

fenêtre avant (HFP - Horizontal Front Porch)

Synonyme d'HGT1.

durée de synchronisation

Synonyme d'HSP.

fenêtre arrière (HBP - Horizontal Back Porch)

Synonyme d'HGT2.

10.2 Synchronisation verticale

En nous référant à l'illustration précédente, comment placerons-nous les 247 tics d'horloge comme indiqué dans le graphe ?

Toujours sur base du même exemple, nous avons HR égal à 944 et HFL égal à 1176. La différence entre les deux est 1176 - 944 = 232 < 247 ! De toute évidence, il nous faudra ici procéder à quelques ajustements. Que peut-on faire ?

La première étape est de porter 1176 à 1184, et de réduire 944 à 936 (choix des arrondis aux multiples de 8 -- n.d.t.). Maintenant la différence = 1184 - 936 = 248. Hmm, on approche.

Ensuite, au lieu d'utiliser 3.8, nous prendrons 3.5 pour calculer HSP ; ce qui nous donne 65 * 3.5 = 227. C'est déjà beaucoup mieux. Mais 248 n'est pas beaucoup plus élevé que 227. Il est normalement requis de laisser environ 30 tics d'horloge entre HR et le début de SP, et la même remarque est valable entre la fin de SP et HFL. ET ces valeurs doivent être multiples de huit ! Sommes-nous dans l'impasse ?

Non. Procédons comme suit, 936 % 8 = 0, (936 + 32) % 8 = 0 également. Mais 936 + 32 = 968, 968 + 227 = 1195, 1195 + 32 = 1227. Hmm... ceci n'a pas l'air trop mal. Mais ce n'est pas un multiple de huit, aussi arrondissons-le à 1232.

Des ennuis potentiels se profilent hélas à l'horizon car l'impulsion de synchronisation n'est plus située juste au milieu de l'espace h - H. Heureusement, grâce à l'aide de notre calculette nous trouvons que 1232 - 32 = 1200 est aussi un multiple de 8 et que (1232 - 32) - 968 = 232, ce qui correspondrait à utiliser une impulsion de synchronisation d'une durée de 3.57 microsecondes, une valeur qui est encore raisonnable.

En plus, 936 / 1232 ~ 0.76 ou 76%, ce qui ne s'éloigne pas trop des 80%, il ne devrait donc pas y avoir de problème.

Qui plus est, l'usage de la longueur de trame horizontale présente requiert de notre moniteur qu'il effectue sa synchronisation à 52.7 kHz (= 65 MHz / 1232) ce qui se situe dans les limites de ses capacités. Pas de problème.

Sur base des règles générales mentionnées plus haut, notre nouvelle résolution verticale sera de 936 * 75% = 702. Notre nouvelle longueur de trame verticale vaudra 702 * 1.05 = 737.

Fréquence de rafraîchissement de l'écran = 65 MHz / (737 * 1232) = 71.6 Hz. Cette valeur est toujours excellente.

La représentation de l'impulsion de synchronisation verticale est très semblable :

 |___ __ __ __ __ __ __ __ __ __ __ __ __
 |_ _ _ _ _ _ _ _ _ _ _ _                |
 |_______________________|_______________|_____
 0                      VR              VFL     unités : tics
 ^   ^       ^
 |   |       |
 |<->|<----->|
 VGT    VSP

Nous commençons l'impulsion de synchronisation juste après la fin des cycles verticaux consacrés à l'affichage réel de données. VGT est l'intervalle de sécurité (vertical guard time) requis pour l'impulsion de synchronisation. La plupart des moniteurs supportent sans broncher une valeur de VGT de 0 (pas d'intervalle de sécurité) et nous tirerons parti de cette possibilité dans cet exemple. Un petit nombre, cependant, nécessitent l'emploi d'un intervalle de sécurité de 2 ou 3 tics, et cela ne cause généralement pas grand tort de les ajouter.

Revenons à notre exemple : puisque, suivant la définition du concept de longueur de trame, un tic (ou cycle) vertical représente le temps nécessaire pour dessiner une trame HORIZONTALE complète, il s'ensuit dans notre exemple qu'il vaut 1232 / 65 MHz = 18.95 s.

L'expérience prouve qu'une impulsion de synchronisation verticale devrait se situer quelque part entre 50 µs et 300 µs. En guise d'illustration, prenons 150 µs, ce qui correspond à 8 tics d'horloge verticaux (150 µs / 18.95 µs ~ 8).

Certains fabricants aiment mentionner leurs paramètres de tramage vertical sous forme de durée plutôt que de largeur exprimée en pixels. Vous pourriez chez eux rencontrer les termes suivants :

durée utile (VAT - Vertical Active Time)

Equivalent à VR, mais en millisecondes. VAT * VSF = VR.

durée de service (VBT - Vertical Blanking Time)

Equivalent à (VFL - VR), mais en millisecondes. VBT * VSF = (VFL - VR).

fenêtre avant (VFP - Vertical Front Porch)

Synonyme de VGT.

durée de synchronisation

Synonyme de VSP.

fenêtre arrière (VBP - Vertical Back Porch)

Une seconde temporisation de sécurité après l'impulsion de synchronisation verticale. Souvent nulle.


Page suivantePage précédenteTable des matières