Scopo:
Comprendere come è possibile attraverso una semplice linea
bifilare (telefonica) inviare la combinazione di 0 ed 1 contenuti
in un byte mediante modulazione PWM degli impulsi utilizzando
componenti discreti come i registri a scorrimento.
Schema del trasmettitore:
Funzionamento trasmettitore:
Dall'esperienza sui registri a scorrimento (shift register) si
è capito che il clock del CD4014 e del 4015 sono tra loro
legati e pertanto per inviare i dati in maniera seriale ad un CD4015
situato in postazione remota, servono tre fili; DATI, CLOCK, MASSA.
Viene spontaneo pensare alla possibilità di evitare il terzo filo per il clock studiando il modo di ricrearlo utilizzando gli stessi impulsi relativi ai dati.
Lo schema qui sopra riprodotto, risolve questo problema generando impulsi non solo legati al peso binario 1 o 0 ma anche alla durata.
Cioè l'impulso che deve trasportare l'informazione di uno 0 o di un 1 lo fa modificando il suo duty-cicle; sta alto per ¼ e basso per ¾ se viene abbinato il livello 0 e viceversa se abbinato il livello 1.
Questa variazione di durata dell'impulso legata al valore dell'informazione da trasmettere si può chiamare anche modulazione di durata (PWM = Pulse Width Modulation). Per realizzare questo è necessario due FLIP_FLOP del tipo CD4027 e tre porte NAND CD4011 (U4A-B-D).
Il CD4014 acquisisce gli stati logici degli 8 INPUT e li manda in
forma seriale ad U4A che combinandosi con l'uscita Q2 del 4027
(vedi grafico qui sotto) e l'uscita di U4D attraverso il NAND U4B
escono ancora in modo seriale ma PWM come dal grafico OUT U4B TX SERIALE.
Alimentando il circuito la memoria SET-RESET formata da U2B-U2C riceve
un livello basso dal C2 scarico sul pin 9 che imposta la memoria con
livello alto sul pin 10 e basso sul pin 4 tenendo così bloccata
la porta U2A e tenendo il MR pin 15 del CD4017 a livello alto
cioè azzerate tutte le uscite eccetto pin 3 che va alto
predisponendo PE del 4014 al preset (acquisizione stati 8 bit input)
con il primo fronte di salita del clock sul pin 10.
Il sistema in queste condizioni tiene la linea dati d'uscita a
livello 0 in quanto non potendo entrare gli impulsi di clock
attraverso U2A bloccato anche il 4027 è bloccato.
Appena si preme il pulsante START il pin 4 di U2B va alto e il pin 10
U2C va basso e cosi rimane fino a che attraverso R2 arriva un impulso
di RESET generato del pin 11 del 4017 dopo aver contato 9 impulsi di
cui 8 passati in uscita da U4B.
Come si osserva dal grafico il PE è alto quando avviene il
primo CK sul pin 10 del 4014 e con questo avviene l'acquisizione
degli 8 bit mentre in uscita sul pin 3 del 4014 ho il primo livello
0 o 1 del primo bit che fatto NAND con Q2 pin1 del 4027 attraverso
U4A interagisce con U4B creando la modulazione PWM.
Intanto il CD4017, contatore decimal, conta quanti clock generati,
raggiunto il nono (fatti cioè 8 impulsi PWM) manda alto il
pin 11 che invertito da U2D attraverso R2 resetta la memoria S/R
che manda basso il pin 4 di U2B, bloccando la porta U2A (niente
più clock al 4027), e manda pure alto il pin 10 U2C che
attraverso il pin 15 MR del 4017 farà ritornare il pin 3
alto (PE= 1) pronto per un altro ciclo.
Il pin 11 del 4017 ha pure settato a 1 le uscite Q1 e Q2 del 2027
(attraverso i pin 9 e 7) e resettato a 0 le uscite pin 14 Q1 e pin 2 Q2 negato.
Al nono impulso di clock il 4014 porta l'uscita pin 3 a livello basso
indipendentemente dallo stato degli otto bit acquisiti, pertanto
questo livello attraverso il pin 2 del NAND U4A basta per tenere
alto il pin 3 di U4A.
Lo stato zero del pin 14 4027 da solo basta a mandare alto il pin 11
di U4B che assieme al livello alto del pin 3 di U4A attraverso il NAND
U4B portano il livello basso dei dati in uscita che rimarrà
tale fino al prossimo ciclo di trasmissione.
Grafico andamento impulsi - Trasmettitore
Schema del ricevitore:
Funzionamento ricevitore:
All'accensione il CD4017 riceve un livello alto sul pin 15 (Master
Reset), attraverso la carica del condensatore C4, azzerando i suoi
contatori interni poi il pin 15 viene mantenuto basso dalla R4
proveniente dall'uscita pin 9 che andrà alta solo dopo aver
ricevuto e contato 8 clock cioè 8 bit PWM in entrata.
Con il primo fronte di salita del primo impulso PWM di entrata C2
porta alto gli ingressi del NAND A di conseguenza bassa la sua uscita
pin 3 che attraverso il pin 5 del NAND B porta l'uscita 4 alta che
attraverso C2 porta alto anche gli ingressi pin 8-9 del NAND C e di
conseguenza basso il pin 10 che riportato sul pin 6 del NAND B
mantiene questo stato anche se viene a mancare lo zero del pin 3 di A.
Questa condizione permane fino a che il C2 che si carica attraverso
R2 mantiene alto i pin 8-9 del NAND C.
I NAND B e C creano pertanto un monostabile con costante di tempo
legata a C2 R2 e dovrà durare un tempo pari a metà
della durata di un impulso PWM.
Allo scadere di questo tempo il monostabile porta alto il pin 10 del
NAND C che attraverso C3 da un fronte di salita sui pin 9-1 clock
del CD4015 che a sua volta acquisisce attraverso il pin 7 il livello
0 o 1 dell'impulso PWM presente in quell'istante e memorizza questo
stato al suo interno e diventerà lo stato del pin 2 del 4015
alla fine della ricezione degli 8 bit.
Finito la carica di C3 il pin 13 del CD4017 torna basso attraverso la
R3 e si ha un clock che fa avanzare un conteggio, dopo otto clock il
suo pin 9 va alto assieme ai pin 1 dei due CD4029 che acquisiscono dal
4015 lo stato degli o BIT e li memorizza presentandoli sulle uscite
pin 6-11-14-2.
Questo livello alto sul pin 9 del 4017 arriva anche al pin 15 MR che
azzererà nuovamente il 4017 così da essere pronto per
un prossimo ciclo di ricezione.
Grafico andamento impulsi - Ricezione
Frequenza di clock:
Utilizzando nel ricevitore R2=22K e C2=22nF si ottiene sul pin 10 NAND
C un'onda quadra simmetrica con un periodo di circa T= 2 x R2 x C2 = 968 uS.
Approssimando a 1 mS si ha una frequenza del segnali dati pari a 1Khz.
Osservando il grafico di trasmissione si osserva che ogni impulso ha
bisogno di 4 clock pertanto ne consegue che la frequenza del clock
d'ingresso in trasmissione dovrà avere una frequenza di circa 4 KHz.
Considerazioni:
Se si volesse rendere la trasmissione a ciclo continuo senza bisogno
dello start bisogna apportare alcune modifiche e precisamente bisogna
introdurre tra un treno di 8 bit e l'altro una pausa in cui la linea
DATI resti a livello zero per un tempo superiore alla durata di un
impulso cosi da poterla distinguere.
Cosi facendo si può ricostruire oltre al clock anche un
riferimento di fine e inizio nuovo ciclo utile ai fini del
sincronismo per l'acquisizione finale sicura sempre al termine
degli 8 bit.
Nuovo Trasmettitore:
Finito il primo treno di 8 bit il pin 11 del 4017 va a livello alto che
attraverso il C4 porta alto pure i pin 8-9 del NAND U2C che
manderà basso il suo pin 10 così da bloccare la porta
d'ingresso del clock.
Rimarrà in queste condizioni fino a quando C4 non si sarà
caricato attraverso R4 (T= circa a C4 x R4) generando il tempo di
pausa tra un treno e l'altro.
Terminata questa pausa i pin 8-9 tornano a livello basso attraverso
R4 e il pin 10 ritorna alto liberando la porta d'ingresso e nel
frattempo C2 porta per un istante (C2 x R2) alto il MR pin 15 del
CD4017 portano il suo pin 3 alto abilitando il PE (preset) del 4014
che al primo clock acquisirà l'eventuale nuovo stato dei bit
sui suoi pin d'ingresso.
Nuovo Ricevitore:
Per quanto riguarda la ricezione è stato tolto il CD4017 ed
aggiunto il NAND D che attraverso il diodo 1N4148 avrà i pin
12-13 sempre a livello alto per tutta la durata degli impulsi,
infatti C3 viene ricaricato ad ogni fronte di salita degli impulsi
in arrivo e tende a rimanere carico.
Soltanto a fine ricezione quando sulla linea DATI arriva un livello
basso di pausa C3 avrà il tempo di scaricarsi attraverso R3
trascinando basso i pin 12-13 del NAND D così da portare alto
il suo pin 11 che attraverso C4 fa arrivare ai pin 1 del CD4029 un
fronte di salita abilitando l'acquisizione dei nuovi dati ricevuti.
Per cercare i
DATA SHEET dei componenti
Altre esperienze
|