Sommaires des sites JMP La proto Informatique Le Tour du Monde de Renaud Le Yunnan  (Chine) La Birmanie Le Spiti



 Terminal informatique à lignes à retard TV 



English translation



 Présentation 

  Le terminal que je vais vous décrire, est une console alpha numérique de 1969, qui utilise des lignes à retard TV comme éléments mémoire. Elle a été, à l'origine, étudiée aux Pays-bas (chez Philips) et nous est parvenue sous la marque RTC (branche Française de Philips composants).

  En 1969, il n'y avait pas encore de circuits intégrés offrant des fonctions de mémorisation. On utilisait encore les mémoires à tores de ferrite, ou d'autres technologie comme les mémoires acoustiques à mercure, ou des mémoires à commutation de capacités.

  Ce terminal d'affichage utilise un écran standard de télévision, en mode non entrelacé (312 lignes, 50 images par seconde). En réalité le tube de ce terminal était doté d'un phosphore rémanent, et d'une dalle antireflet.

  L'industrie de la télévision utilisait pour le décodage de la couleur de nouvelles lignes à retard de 64 uS (à réflexions multiples). [vous savez, le séquentiel couleur de notre SECAM: Rouge/Bleu/Rouge/B/R/B...]. La bande passante de ces lignes à retard était de 4.5 MHz. On cherchait à afficher 80 caractères par rangée de texte. La zone d'affichage correspond classiquement à 52 uS, par rapport au 64 uS d'une ligne TV. (12 uS sont réservées au retour du spot vers la prochaine ligne.)
  Le codage ASCII se faisait sur 6 bits. Il fallait donc 80 car x 6 bits =480 bits en 52 uS. Soit une fréquence double que celle offerte par les lignes à retard. Il faudra donc 2 jeux de lignes à retard en parallèle!

  L'étude de cette machine montrera, qu'il faudra 32 lignes à retard pour afficher 16 rangées de 80 caractères.

  La machine comporte:
  On remarquera quand même la grande avancée technologique d'utiliser des ROMs pour le générateur de caractères. Deux ou trois ans avant, on utilisait toujours des tubes de caméra de télévision modifiés où la couche photosensible était remplacée par un masque définissant la forme des caractères. (monoscopes)


 Etude du clavier 

Le clavier est formé de 2 types de touches:
Matrice clavier alpha-numérique

Fonctionnement:

  Les contacts sont fermants. A chaque colonne est associée une paire de transistors BCY72 et BSX20. L'élément sensible est la base du BCY72 reliée à la colonne par une 820 ohms. Au repos, cette 820 ohms est non connectée, laissant la base du PNP alimentée par du 5 volts: il est bloqué.
De même les lignes horizontales sont reliées à la base d'un NPN. Au repos, cette base non alimentée bloque le transistor.
Un contact dans une touche, alimentera un transistor colonne (bcy72) et un transistor ligne (bsx20).
Les autres transistors ne bougerons pas!

  Ainsi la logique devra surveiller les niveaux de sortie des 8 paires du haut (V1 à V8) et les 6 transistors de droite (H1 à H6)

  Le circuit de droite, avec les diodes, permet de détecter l'appui d'une touche (DET) et démarrera le circuit anti-rebonds.
Touches de fonction
Touches de fonction

Le circuit n'est pas matriciel. Chaque touche a son circuit. Le NAND8 fait office de OR et détecte qu'une touche a été appuyée. Il enclenchera un circuit anti-rebonds. (qui sera suivi par une série de retards)


L'anti-rebonds

  L'étude des contacts électriques montre qu'il y a beaucoup de rebonds (pendant une durée d'environ 10 mS) Auparavant, on travaillait en électromécanique, et les défauts de contact n'étaient pas importants. L'électronique rapide de 1970 permettait de voir tous ces rebonds, qui introduisaient de très nombreux dysfonctionnements. Il fallait corriger cela en créant une fonction anti-rebonds. On trouvera cette fonction associée à chacun des types de touches.

Monostable anti-rebonds

  On peut trouver la description complète de son fonctionnement ici:  AntiRebonds.pdf  (notes de l'époque... avec fautes!)



Le codage ASCII et mise en registre

Image1c.jpgImage1c.jpg
Codage ascii


Le plan complet du clavier

Plan complet
Plan complet




 La tabulation et quelques circuits de contrôle 

img_4556.jpg
Circuiterie tabulation


  On voit ci-dessus, à gauche, un compteur 2 bits pour sélectionner une des 4 paires de codeurs décimaux pour la tabulation.
Sur la gauche un comparateur avec le compteur caractères qui enclenche une série d'avance du curseur jusqu'à atteindre la bonne position.


  Et ci-dessous, les signaux de contrôle pour insertion/suppression de caractères ou suppression de rangées de caractères:


img_4557.jpg
Signaux de contrôles




 Génération des timings et gestion du curseur 

En horizontal

  A partir d'un quartz de 13.9643 MHz on va obtenir toutes les fréquences utiles dans une chaîne de visualisation. On a vu qu'il fallait lire 80 codes ascii en 52 us (partie visible d'une ligne), ce qui veut dire qu'une complète (visible +retour du spot) de 64uS réclamera un comptage à 100  [52/80 x64]

  Ces raisons expliquent pourquoi une pré division par 3, puis par3  (donc par 9) sera suivi par un diviseur par 100 [10 suivi de 10] pour obtenir du 15516 Hz qui correspond à la fréquence balayage ligne d'une télévision (en réalité cela devrait être 15 625 Hz)

CountA.jpg
Le compteur courant A0 à A10

Ainsi un compteur courant (A0 à A10) permettra de connaitre la position du spot sur l'écran:
Un autre compteur up/down T1..T7 va permettre de déterminer la position du curseur.
CountT.jpgCountT.jpg
Le  compteur position du curseur

Pour montrer le curseur sur l'écran, une logique établira la coïncidence entre le compteur courant A10..A3 et le pointeur du curseur T7..T1

Index.jpg
Le comparateur générateur du symbole curseur

La page A3 complète:

GeneTimings.jpgGeneTimings.jpg
La page complète


En vertical

  Il nous faut une solution pour déterminer la ligne dans un caractère, et la sélection de chacune des 16 rangées correspondant à des chip select des lignes à retard.

Il faut aussi définir les 54 lignes nécessaire au retour trame du spot.

On doit aussi faire la gestion verticale du curseur.

Comme il n'y a pas de contrainte particulière concernant le retard pour la chaîne de comptage, on peut prendre de simples bascules. (On travaille à 15 625 Hz)

CountQ.jpg
Compteur courant vertical Q1..Q8

Visible.jpg
Partie visible/invisible

RowCursor.jpgRowCursor.jpg
Compteur vertical pour le curseur et génération curseur

 CS_DL.jpgCS_DL.jpg
Génération des Delay Lines selects
(un simple démultiplexeur 74'154)

La page A4 complète:

CountV.jpg




 La mémoire à lignes à retard 

  Nous avons vu qu'il fallait 2 lignes à retard en alternance, car une ligne ne pouvait mémoriser que 300 bits. Nous allons donc trouver une circuiterie de démultiplexage en entrée et une de multiplexage en sortie.

  En sortie, nous avons aussi 2 bascules de décalage et un sélecteur permettant les fonctions d'insertion/suppression de caractère. (On allonge ou on raccourcit la longueur de shift)

MemoireLaR.jpg
Pilotage et lecture des lignes à retard

  Ensuite il faut lire les 32 lignes à retard et générer le code ascii (court) qui sera présenté aux 2 générateurs de caractères.

DmuxLaR.jpg
Multiplexeur de sortie

  Ce montage est équivalent à 2x2 74'151 suivi par un 74'174. Les lignes à retard se situent mentalement sur la gauche.


 La génération des caractères 

  Il faut maintenant arriver au but de la machine: générer un signal vidéo pour être envoyé sur un moniteur de télévision. Il faut donc générer le graphisme. On dispose pour cela de circuit LSI spécialisé, le  FDR-116-Z1.

  Il faut présenter à ce genre de circuit le code ascii sur 6 bits et le numéro de la ligne TV du caractère en cour d'affichage. (donc Q4..Q1 puisque il y a 16 rangées de caractères en 256 lignes visibles)

  Ne pas oublier que pour des raisons de vitesse, il faut 2 GC en parallèle... Le schéma suivant va décrire (de bas en haut):
img_4553.jpg
Les GC et sérialisateur


 Part list 


Cette machine utilise:
img_4554.jpg

img_4555.jpg



 L'évolution de cette machine 

  En 1970, sont apparus les premiers circuits intégrés de mémoire. L'industrie a commencé par utiliser des registres à décalage, car on savait que les registres (shifts) offrent une plus grande intégration que la mémoire RAM (à accès aléatoires). [de même on faisait des compteurs à shift pour utiliser moins de transistors... d'où l'apparition de CPU série]
  Les registres à décalage étaient idéaux pour l'affichage de données sur des écrans, puisqu'ils permettaient de suivre parfaitement le déplacement du spot TV. Par contre l'écriture d'information dans le registre était compliquée et réclamait des logiques hardues (il fallait écrire au vol!). N'oubliez pas qu'à l'époque les microprocesseurs n'étaient pas encore inventés.

  Regardez la spécification d'un de ces tout nouveaux composants: Le FDN-106.pdf.

  Un tel composant coûtait quand même très cher! J'avais noté en 1970, un prix unitaire de 240.00 francs! (le 1/15 du salaire d'un ingénieur!)  En optimisant  (au prix d'une  conception tordue, et donc compliquée) il fallait 10 boîtiers, pour presque le salaire d'un ingénieur! Pour 1 kilo octet!




 Conclusions 

  Une sacrée usine à gaz! Quoique facile à comprendre. Il reste quand même des points d'ombre dans les 'glue logics'...  On cherchait vraiment dans tous les sens pour trouver des solutions à cette absence de mémoire... et on n'avait pas peur de défricher de nouvelles voies. (risquées!)

  Heureusement les premières mémoires à circuits intégrés sont arrivées rapidement. L'EPROM 1702 de Intel vers 1972 (256 octets). Je ne me souviens plus en ce qui concerne les RAMs, mais en 1974, on avait des 256 bits (voir le board Beryllium sur ce site)

  Les machines ainsi construites sortaient d'usine au prix de 12 000 francs (3 mois de salaire ingénieur)
Les commerciaux pouvaient facilement combattre la très mauvaise fiabilité des téléimprimeurs. (une panne par semaine)

En 1970, j'écrivais dans une étude comparative sur le coût des mémoires:

"Le coût par bit est d'environ de:
On comptait au bit!

Le marché mondial pour ce genre de machine était évalué à 200 000 unités (!)

Ah, au fait, il manque quand même quelque chose d'important dans cette machine! Trouverez-vous ?


Fini le 28 mars 2008
Copyrights: Jean-Marie PICHOT




 Si vous avez aimé cette page, ou désirez indiquer des corrections à faire, laissez-moi un petit message. (lien vers le blog)  Si vous me laissez le nom de votre pays, cela me permettra de voyager en pensée, et de votre profession, cela me permettra de connaitre un peu mieux mes visiteurs... Tous vos encouragements ou critiques constructives sont les bienvenues.



2008-03-28 org, rev2  2009-09-13 (orthographe)
http://pichotjm.free.fr
 
depuis le 28Mars2008