Demultiplexer e Latch... come??

a dire il vero non ho ben capito come dovrei usare gli shiftRegister... mai usati... ad ora le mie esperienze si limitano alla realizzazion di qualeke circuito pic-based con memoria e pilotamento di qualche display 7 segmenti per timer e cose di questo genere...

questo circuito mi sembrava molto fattibile, ma si sta rivelando più astruso di quanto pensassi...

giusto per la cronaca, volendo realizzare la mia ultima idea, avete nomi di qualche transistor che si comporta da bistabile (cioè, impulso->attiva passaggio corrente, secodno impulsto impulso->disattiva...)?

Reply to
TheDog
Loading thread data ...
[..]

e' abbastanza semplice..... vedi sotto il discorso.

e' astruso perche' e' grande. Il numero di uscite che intendi supportare inizia a farti fare i conti con i costi della logica discreta o comunque a bassa integrazione.

per l'uso che ne devi fare, devi considerare un transistor come un interruttore. da solo non puo' realizzare cio' che cerchi. devi implementare un piccolo circuito con una serie di componenti discreti di contorno per realizzare una funzione piu' interessante.

Mettiamo che usi un transistor nello schema classico di pilotaggio di un rele'; questo va bene dato che il rele viene eccitato seguendo l'impulso che presenti in base al transistor.

Ora tu per esempio chiedi che dato un impulso OFF-ON-OFF il rele' rimanga eccitato per un tempo T. devi quindi trovare il modo di mantenere la base del transistor polarizzata correttamente per il tempo T. Questo lo fai con un condensatore ed una resistenza, tenendo conto delle caratteristiche del transistor e del segnale di pilotaggio. ..... di fatto hai realizzato un multivibratore monostabile .... quello che trovi racchiuso in varie incarnazioni dentro gli IC citati nel thread.

il peggio viene quando tu invece richiedi un circuito che ad un primo impulso di pilotaggio OFF-ON-OFF ecciti il rele' in maniera continuativa, e che lo disecciti ad un secondo impulso OFF-ON-OFF. questo tipo di circuito va sotto il nome di flip-flop ed e' realizzato usando come base delle porte logiche che a loro volta puoi realizzare con un po' di transistor e resistenze (logia RTL) oppure prendere gia' integrate.

per gestire uno o due uscite va tutto bene dato che i costi dei discreti sono minori dei circuiti integrati, ma all'aumentare delle uscite questo non e' piu' vero e di molto. quindi ti conviene trovare una soluzione piu' intelligente che pero' ti fa risparmiare.

Gia' il fatto di pensare di usare un PIC per gestire gli ingressi e le temporizzazioni ti permette di risparmiare in clock, contatori e (de)multiplexer in maniera abbastanza sostanziosa, trasferendo in software il costo dei componenti (e della board che devi creare e tutti i costi connessi).

ti rimane il problema di progettare le uscite, e qui nascono gli shift-register; nel tuo caso di tipo Serial-In-Parallel-Out

(per sapere cosa e' guarda as esempio il file

formatting link
trovato con san google)

in pratica, gestendo le temporizzazzioni ed usando solo 2 o 3 pin del PIC puoi realizzare un numero di uscite praticamente illimitato.

i limiti li avrai bilancando la frequenza di aggiornamento richiesta per le uscite (qual'e' la massima frequenza raggiungibile per una singola uscita) rispetto alla frequenza dei segnali seriali che il PIC deve emettere per pilotarla.

Di shift register ce ne sono diversi in tipi, modelli ed implementazioni, chi con latch e chi con buffer.

L'M5450, Quello che ti citavo prima, e' un 34 o 35 bit con latch (per mantenere stabili le uscite mentre carichi i dati) e buffer (per aumentare la corrente di uscita) e il datasheet lo puoi trovare qui:

formatting link

in sostanza, partendo dalla condizione di reset invii agli ingressi seriali

34 o 35 impulsi di clock accoppiati con i dati (on o off) e all'ultimo impulso i dati vengono messi nel latch e compaiono sulle uscite tutti insieme.

puoi leggere ad esempio questa application note su display a led a matrice che parla proprio di questo e da' anche un elenco di driver utile per studiare un po':

formatting link

poi dipende tutto dalle uscite che devi realizzare; se sei nei limiti del driver allora tutto ok, altrimenti metti un po' di shift-register in logica TTL o CMOS e realizzi i bubber di uscita per conto tuo con dei transistor discreti (o src, o triac, ecc.. secondo le necessita')

ciao Andrea

Reply to
Andrea Borghi

gli shift register sono un valido ausilio per espandere il numero di pin d'uscita di un microcontroller

tra l'altro i '595 sono molto usati proprio per queto genere di applicazioni e troverai facilmente esempi d'uso sul web

una lettura dei datasheet dovrebbe chiarirti gli ultimi eventuali dubbi. il '595' e' dotato anche di latch interno cosi da mantenere l'ultimo valore passatogli durante i trasferimenti del successivo valore

il circuito in se e' di una banalita' impressionante: tutti i serial clock dei 595 in parallelo tutti i register clock dei 595 in parallelo , le uscite cascade ( chiamate Q7' se ricordo bene sui datasheet ) collegate al serial in del '595 successivo

il primo serial in , il serial clock comune ed il register clock comune al micro di controllo.

poi diventa tutto un problema di firmware del micro di pilotaggio.

P.S. chi o cosa fornirebbe i codici di attivazione ?

AFAIK non esistono transitor che da soli sono in grado di comportarsi come bistabili ( a meno di qualche stranissimo componente a N-giunzioni )

Reply to
mmm

"TheDog" ha scritto nel messaggio news:44d7b283$0$15876$ snipped-for-privacy@reader2.news.tin.it...

Dopo questa valanga di messaggi, mi permetto di segnalare che con una CPLD il tutto diventa banale.

Reply to
Simone Bern

[..]

mmh... la solita battaglia tra software (pic) e hardware (rete logica altamente integrata) ? :)

beh. ognuno fa' quel che puo' e di certo al giorno d'oggi in negozio e' piu' facile reperire logiche SSI e dei PIC che del CPLD (anche se mi piacerebbe giocarci un po' avendone il tempo ... per ora il massimo che ho utilizzato sono dei PLD della compagnia dei 16V8 ... :( )

Andrea

Reply to
Andrea Borghi

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.