Bonsoir,
Afin d'avancer sur l'évolution du routage, j'aurais voulu savoir si :- je partais sur ce boîtier horloge qui me prends une place monstre ou si un quartz plus petit serait installable ?
- l'idée des cavaliers est maintenue comme évoqué précédemment (cad un jumper 2x2) ?
- je place une led et sa résistance quelque part ?
Je pense avoir répondu à toutes ces questions dans les derniers messages postés.
Je les re-cite simplement pour dire qu'il ne faut pas hésiter à augmenter quelque peu les dimensions du circuit-imprimé si les modifications suggérées ont du mal à être incorporées dans la même surface que celle du prototype n°1.
Ce qu'il restait à faire : Oblitérer une impulsion ligne sur deux dans le cas de la pseudo conversion 31 kHz vers 15 kHz.
Tester le discriminateur en place sur le circuit imprimé de l'interface console2jamma.
Ce que je vais pouvoir faire depuis : Tester le discriminateur avec une source 24 kHz, encore une fois merci à F4brice pour son initiative.
Oblitération d'une ligne sur deuxCette oblitération est spécifique au mode 31 kHz ---> 15 kHz. Une impulsion ligne sur deux est oblitérée pour générer un pseudo signal de synchronisation composite à 15 kHz. Je dis speudo car bien que la fréquence ligne synthétisée soit de 15 kHz :
- L'impulsion ligne est plus courte : 3,8µs au lieu de 4,8µs.
- Il n'y a pas d'entrelacement de trames.
- Le moniteur recevant un tel signal vidéo affichera deux images cote à cote compressées dans le sens de la largeur s'il arrive à se synchroniser correctement.
Le but étant surtout de ne pas envoyer un signal vidéo à 31 kHz vers un moniteur d'arcade pendant la phase de démarrage du PC sur lequel il est raccordé. Un signal à 15 kHz, même s'il n'est pas parfaitement dans les normes, ne lui sera alors pas létal.
Quelques mots sur le programme :
Après y avoir bien réfléchi, l'ajout consiste en une dizaine d'instructions supplémentaires.
- Un indicateur flip/flop a été créé, il est remis systématiquement à 0 lors de chaque impulsion de synchronisation trame. Ceci pour synchroniser l'oblitération avec le début de chaque nouvelle trame.
- Dès que l'impulsion de synchronisation trame a disparu, la présence des cavaliers est testée par la routine d'interruption : si le mode 31 ---> 15 kHz est programmé, elle inverse l'état du bit flip-flop, puis le teste :
- S'il est à 1 : la broche GP4 du PIC est déclarée comme sortie et forcée à 1, le signal en sortie du by-pass est par conséquent aussi forcé à 1 c'est à dire à +5 volts, la prochaine impulsion ligne sera ainsi oblitérée car elle ne pourra pas traverser le by-pass.
- S'il est à 0 : la broche GP4 du PIC est déclarée comme entrée, plus aucun niveau n'est imposé en sortie du by-pass, la prochaine impulsion ligne présente sur son entrée se retrouvera par conséquent sur sa sortie.
Le programme d'oblitération a été testé avec succès, aucun débogage ou retouche n'a été nécessaire.
Je n'ai qu'à me féliciter d'avoir précédemment changé de front pour le déclenchement de l'interruption par le signal de synchronisation ligne : cela m'a grandement simplifié l'écriture de cette nouvelle inclusion.
Commentaires :
- La trace du haut : le signal de synchronisation trame utilisée pour synchroniser la base de temps de l'oscilloscope. En l'occurrence elle est synchronisé sur le front descendant du signal.
- La trace du bas : le signal de synchronisation composite à 31 kHz en sortie du by-pass.
Le nombre de petites encoches visibles sur le palier bas de ce signal permet de dire que cette impulsion de synchronisation dure le temps de 3 lignes sur la DC alors que le timing du standard VGA n'en prévoit que 2 : http://www.epanorama.net/documents/pc/vga_timing.html.
Commentaires :
- La trace du haut : le signal de synchronisation trame utilisée pour synchroniser la base de temps de l'oscilloscope. En l'occurrence elle est synchronisé sur le front descendant du signal.
- La trace du bas : le pseudo signal de synchronisation composite à 15 kHz créé a partir d'un signal à 31 kHz prélevé en sortie du by-pass.
- Palier du bas : mêmes remarques que pour la 2èm trace de la 1er photo.
- Palier du haut : Oblitération d'une impulsion ligne :
- Palier 1 : imposition d'un 1 logique en sortie du by-pass, la petite encoche visible aux 2/3 du palier correspond à l'impulsion ligne oblitérée.
- Palier 2 : ligne suivante le by-pass est autorisé et l'impulsion de synchronisation ligne est bien retransmise.
- Et ainsi de suite ... jusqu'à la prochaine impulsion de synchronisation trame.
A noter cette petite bizarrerie : le niveau haut en sortie de by-pass (palier 2) est supérieur au niveau haut imposé par le PIC (palier 1), ce qui veut dire que le signal de synchronisation ligne issu de la DC a une amplitude légèrement supérieure à la tension de +5 volts qui alimente le PIC.
Tout en écrivant ce dernier message, je viens de m'apercevoir d'une lacune, ce dernier mode 31 ---> 15 kHz ne doit pas faire que cette conversion, il doit aussi accepter de laisser passer un signal de synchronisation à 15 kHZ puisque ce mode est destiné surtout pour les PC raccordés sur un écran d'arcade :
- Convertir le signal VGA à 31 kHz généré par le PC en phase de démarrage en pseudo 15 kHz.
- Autoriser ensuite le signal vidéo à 15 kHz du même PC une fois que le driver type "soft15kHz" a été installé.
Il faut donc que le programme enchaîne sur un deuxième test du chronomètre, quand ce mode est programmé sur les cavaliers, pour pouvoir valider un signal de synchronisation à 15 kHz, ce qui ne devrait pas être trop compliqué puisqu'il s'agit en gros de dupliquer une fraction du programme pour l'inclure dans ce dernier.
Ce qu'il reste à faire : § Ajouter l'acceptation du signal de synchronisation à 15 kHz au mode 31 kHz ---> 15 kHz.
§ Tester le discriminateur avec le signal à 24 kHz de la carte prêtée par F4brice dés qu'elle sera reçue.
§ Tester le discriminateur en place sur le circuit imprimé de l'interface console2jamma.