Vi viene in mente un integrato che...

...che abbia 8 ingressi digitali, abitualmente a 1 logico. quando uno o più di questi ingressi va a zero, l'uscita corrispondente si porta a zero e vi resta, quindi l'integrato ha anche 8 uscite. Per resettare tutte le uscite c'è un unico ingresso di reset. So che potrei fare tutto con una manciata di flip flop, ma se esistesse un integrato unico che non conosco che fa questa funzione non sarebbe male.. in sostanza mi serve in un mio schema per memorizzare lo stato degli interrupt provenienti da varie sorgenti, finché la cpu non avrà visto da dove proviene la richiesta. saluti.

Reply to
Telespalla Bob
Loading thread data ...

Se recuperi una motherboard 80286 puoi trovare senz'altro un Intel

8259, interrupt controller. Credo si possa appiccicare senza tanti formalismi anche allo Z80.

formatting link

Piccio.

Reply to
Piccio

Avevo pensato ad un 74573, però con le uscite non invertenti, che freeza il dato anche se poi gli stati cambiano (si usa sugli 8051 classici). Poi guardando il datasheet ho trovato 74HC563 con uscite invertenti.

Vedi un pò...

formatting link

coals

__________ Informazioni da ESET NOD32 Antivirus, versione del database delle firme digitali 5498 (20101002) __________

Il messaggio è stato controllato da ESET NOD32 Antivirus.

formatting link

Reply to
coals

"Telespalla Bob" ha scritto nel messaggio news:4ca7b305$0$40281$ snipped-for-privacy@reader2.news.tin.it...

perche' non porti gli 8 fili di interrupt in una porta di I/O da leggere nella routine di interrupt ? dopo che uno o piu' degli 8 ingressi ha attivato l'interrupt, la rountine di interrupt analizza gli 8 ingressi e finche' ne trova 1 attivo esegue la corrispondente subroutine e al termine resetta la sorgente di interrupt.

Reply to
alfio

Il 03/10/2010 11:42, alfio ha scritto:

si, infatti, la mia idea era quella che gli otto interrupt, tramite una and, inviassero un segnale comune al pin /int dello Z80, ma anche memorizzassero il proprio stato in un registro affinché lo z80 possa capire, leggendo quella porta, da chi è arrivato l'interrupt ed eventualmente gestirne la priorità.

ciao.

Reply to
Telespalla Bob

Il 03/10/2010 11:21, coals ha scritto:

firme digitali 5498 (20101002) __________

grazie, ma il problema di quello è che i dati vengono caricati da un impulso separato, mentre a me serve che gli otto dati carichino se stessi (tipo i pin set-reset dei flip flop 74hct74)

ciao.

Reply to
Telespalla Bob

Il 03/10/2010 1:10, Piccio ha scritto:

uhm... grazie, ma... troppo vecchio, troppo specifico, troppo troppo :-)

penso che alla fine farò con una schiera di 74hct74 seguiti da un

74hct244 e un 74hct30 per inviare l'impulso allo z80.

ciao.

Reply to
Telespalla Bob

Nemmeno uno Z80 PIO? Puoi usare una porta in modo 3 e latchare tramite STROBE e INT il dato nel registro di input.

Piccio.

Reply to
Piccio

[...]

da

Se non hai particolari tempistiche, prendi un qualsiasi microcontroller (PIC/AVR/MSP430/ecc.) e lo fai. Alternative, tonnellate di porte logiche o chip dedicati come altri ti hanno suggerito. Oppure una bella FPGA o se le trovi, le PAL o GAL ;)

C'ya STeve

Reply to
STeve

Telespalla Bob:

Non sei mica il solo ad avere un problema simile. Perciò hanno inventato gli interrupt controller.

Ci sarebbe un'alternativa abbastanza demenziale, se è abbastanza veloce, puoi cavartela con una manciata di diodi. Per ogni entrata del 74573 fai, con due diodi e una resistenza, un or tra l'uscita relativa e l'input da memorizzare (visto che sei in logica negata dovrà essere un and). Poi metti un altro diodo tra ogni ingresso e un inverter, in modo tale che l'uscita dell'inverter vada alta quando va basso uno qualunque degli input e colleghi detto inverter al LE.

Oh, ho scritto "abbastanza demenziale", eh.

--
Saluti
Reply to
F. Bertolazzi

"Telespalla Bob" ha scritto nel messaggio news:4ca90498$0$18652$ snipped-for-privacy@reader3.news.tin.it...

se gli 8 segnali di interrupt non sono impulsivi, ossia la richiesta rimane attiva fino a quando non viene servita dalla cpu che la resetta con apposito comando, basta fare una decodifica sugli indirizzi + segnale RD + IORQ e ci piloti il gate/CE di un qualsiasi latch tristate 8 bit.

Reply to
alfio

cut...

Se vuoi impazzire, puoi usare il modo IM2 (vector interrupt) ed usare l'input delle otto sorgenti di interrupt come vettore LSB di risposta. Certo che la costruzione delle tabelle di vettori e jump non sarebbe una paseggiata.

La vedo inutilmente complicata: puoi sempre utilizzare le peculiarit=E0 dello Z80 CTC usato come contatore a decremento caricato con costante =3D 1. Ogni evento decrementa il relativo contatore che, raggiungendo lo zero, genera INT vettorizzato. Inoltre, essendo contatori, puoi verificare la cadenza di pi=F9 eventi.

In queste circostanze sono contrario all'uso di logiche tradizionali: non danno sufficienti garanzie a meno di un impiego massiccio. Sulla stessa filosofia, non vedo perch=E9 non ci si dovovrebbe costruire la CPU a discreti! :-)

Piccio.

Reply to
Piccio

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.