Création d'un signal DCC avec un PC


Génération des bits à "1" et "0" par le PC



Dans un bit à "1", les deux alternances ont une durée de 58 us chacune. Ainsi, la durée d'un bit à "1" est de 116 us.

Dans un bit à "0", les deux alternances doivent avoir une durée supérieure à 100 us.

Les sous programmes écrits en Visual Basic pour générer les bit à "1" et "0" sont les suivants:

1 'emission d'un 1'
OUT 888, 2
FOR j = 1 TO p1
NEXT j
OUT 888, 3
FOR j = 1 TO p1
NEXT j
RETURN

0 'emission d'un zero'
OUT 888, 2
FOR j = 1 TO p2
NEXT j
OUT 888, 3
FOR j = 1 TO p2
NEXT j
RETURN

Les paramètres p1 et p2 qui permettent d'ajuster la durée du bit dépendent de la fréquence du processeur du PC utilisé. Le programme TCM permet de les ajuster automatiquement en fonction du PC utilisé.

Le principe utilisé est le suivant:

Le programme compte le nombre n de bits à "1" émis pendant une durée dt de quelques secondes. On obtient ainsi la fréquence f=n/dt (la durée du bit est l'inverse de la fréquence). La fréquence f doit être proche de 8600 Hz.

t = TIMER
n = 0
DO
GOSUB 1
n = n + 1
LOOP UNTIL INKEY$ = CHR$(27)
dt = TIMER - t
PRINT "durée="; dt; "secondes"
f = n / dt
PRINT "fréquence="; f; "Hz"
GOTO 10
1 'emission d'un 1'
OUT 888, 0
FOR j = 1 TO p1
NEXT j
OUT 888, 1
FOR j = 1 TO p1
NEXT j
RETURN
10 END

Le programme réalise des itérations successives jusqu'à ce que la fréquence obtenue soit voisine de 8600 Hz.

A titre d'exemple, voici la séquence 00100001 visualisée à l'oscilloscope (avec WinOscillo) en sortie du booster:



Page suivante


Page précédente