Progetti - PIC

 

Demo board SIPO164 

 


Una scheda per sperimentare lo shift register '164

Esistono diversi componenti che svolgono la funzione di registro di scorrimento e qui proviamo ad utilizzare il comune e diffuso 164, nella versione  HC164.

Si tratta di un integrato a 14 pin, contenente una catena di 8 flip-flop di tipo D, dotati di una linea comune di clock, una di clear e di un ingresso a due pin di tipo AND.

Le uscite parallele corrispondono ai terminali Q dei flip-flop.

Nelle seguenti immagini, lo schema logico e il simbolo ANSI/IEEE.

 

Questo è lo schema funzionale:

Questo significa che lo shift register ha la capacità di contenere 8 bit di informazione, un bit per ogni flip-flop.
8 bit corrispondono ad 1 byte, che è l' ampiezza del dato trattato dai PIC che stiamo sperimentando.

La sequenza dei segnali di lavoro è identificata in questo diagramma

La procedura di trasferimento di un dato dal microcontroller al registro a scorrimento è la seguente:

  • azzeriamo il contenuto dei flip-flop portando a livello basso il terminale di clear
  • iniziamo con il porre il primo bit da trasferire su un pin configurato come uscita del microcontroller e collegato all' ingresso dello shift register
  • applichiamo ora un impulso di clock ai flip-flop. Il loro collegamento a catena fa si che il dato contenuto in ogni flip-flop passi al successivo, quindi il dato applicato all' ingresso sarà immagazzinato nel primo latch.
  • poniamo ora il secondo dato e ripetiamo l' impulso di clock: il dato precedentemente inserito scorre dal primo al secondo flip-flop mentre nel primo sarà immagazzinato il dato ora caricato
  • ripetiamo l' operazione fino ad esaurimento degli 8 bit del dato: ora ogni flip-flop contiene uno dei bit del dato ed essi sono accessibili ai pin di uscita dello shift register.

Per visualizzare il funzionamento del componente e del software di comando, senza l' uso di strumenti, realizziamo un semplice circuito, su stampato o su breadboard, dove alle uscite di flip-flop colleghiamo dei LED, la cui accensione ci indicherà lo stato alto.

Lo schema elettrico è il seguente:

Le uscite dei flip-flop possono essere collegate ad un array di 8 LED che visualizzano con la loro accensione il livello altro.

Oppure un display a 7 segmenti, che si accenderanno per livelli alti delle uscite Q.

 Il segnale proveniente dal controller arriva al connettore Input e comprende 5 linee:

  • l' alimentazione Vdd/Vss
  • la linea Dati
  • la linea del clock
  • quella del clear

Su ogni linea è applicato un pull up che migliora l' interfaccia tra l' uscita del PIC (a livello TTL) e l' ingresso dello shift register; inoltre costituisce una terminazione se il collegamento tra PIC e shift register non è brevissimo.

Il jumper JP1 serve a portare a massa la linea del clear per un azzeramento manuale. Infatti applicando un livello basso a questa linea si azzerano contemporaneamente tutti i flip-flop.

Gli ingressi AB dello shift register, in logica AND, sono collegati assieme: l' aumento del fan-in è irrilevante sulla possibilità di drive dei pin del PIC.

Le uscite Q del 164 sono mandate a un connettore doppio, dal quale possono essere estratte per comandare altri carichi; collegando invece tra di loro i pin a coppie, le uscite comandano 8 LED collegati verso massa, per cui saranno accesi quando le uscite saranno a livello alto.
Le resistenze in serie limitano la corrente a circa 3 mA alla tensione di 5 V, rientrando nei limiti di corrente dell' HC164,

I segnali di clock e di clear e l' alimentazione, assieme all' uscita di peso maggiore (Q7) sono disponibili su un altro connettore (Output) per poter concatenare più shift register in serie.

Lo shift register 164 esiste in diverse versioni

Gate Vcc Fclock Iol Ioh
164 5 V 25 MHz 0.4 mA 8 mA
LS164 5 V 25 MHz 0.4 mA 8 mA
C164 3-15 V 3 MHz 1.75 mA  
HC164 2-6 V 20 MHz 4 mA 4 mA
HCT164 5 V 20 MHz 4 mA 4 mA

Se vogliamo comandare i LED con l' uscita dei gate a livello alto occorre utilizzare la versione 74HC164, che può erogare 4 mA verso carichi al GND. Questa versione è realizzata in CMOS, ma i suoi livelli logici di ingresso possono essere pilotati direttamente dalle uscite del PIC.
Per gli altri tipi, occorrerà utilizzare un buffer (ULN o transistor), oppure comandare i LED appesi alla Vdd, con una inversione della logica (saranno accesi quando il livello delle uscite Q è basso).

Tra l' altro, HC164 può lavorare tra 2 e 5.5V che sono gli estremi dei PIC 18LF.

Se non si pensa di utilizzare la funzione di clear, basterà collegare questo pin alla Vdd (meglio se attraverso un pull-up).

Per i nostri corsi abbiamo realizzato un modulo chiamato SIPO-164, secondo gli schemi prima visti, al quale è possibile collegare diversi elementi di visualizzazione.

Il circuito stampato, come previsto per tutte le DemoBoard che utilizzeremo è a faccia singola, facilmente riproducibile anche in casa.

Non vengono usati componenti speciali. 

Al connettore di ingresso si affaccia uno di uscita, il che permette di concatenare più shft register tra di loro.
In questo caso le resistenze di pull up saranno cablate solo sull' ultimo dei circuiti della catena.

Il modulo è estremamente semplice e può essere realizzato in pochi minuti da chiunque abbia una minima esperienza nella di circuiti stampati.

Ovviamente può benissimo essere realizzato anche in altri modi, su millefori o breadboard.

Ecco uno dei primi prototipo realizzato su circuito stampato, collegato al modulo LED. E questo è lo stesso collegato al modulo 7-segmenti.

Alle uscite del modulo potranno anche essere collegati altri circuiti in modo da poter effettuare numerose esperienze. L' unica cura è impiegare carichi non superiori a 4mA.

Quindi si sceglieranno LED o display con un rendimento sufficiente ad essere ben accesi con 4 mA.

Il modulo è collegabile a tutti i sistemi di sviluppo con un cavetto a 5 poli.

SIPO-164, con il modulo del display a 7 segmenti innestato, collegato al PORTC della UniBoard.

Un cavetto a 5 fili realizza la connessione con semplicità.

e alla 28-pin Demoboard di Microchip, utilizzando il connettore previsto per le comunicazioni seriali.

L' alimentazione del tutto viene fornita dal Pickit.

 


Il circuito in Eagle è scaricabile qui.


Vediamo ora un driver studiato appositamente per gli shift register di questo genere.

 

 

Copyright © afg. Tutti i diritti riservati.
Aggiornato il 26/04/11.