Problema per il BUS forse....

Sto progettando un mini-computer basato su Z-80. Avevo pensato, per rendere più semplice e modulare il progetto, di realizzare una piccola scheda principale sulla quale erano presenti solo il generatore di clock, la CPU, le memorie con relativa logica di controllo e un connettore IDE da 40 poli per collegare tutte le altre periferiche. La domanda che ora mi pongo è: i segnali del processore li posso collegare direttamente al connettore o ho bisogno di una specie di rigeneratore? Secondo una mia supposizione non dovrebbe essere necessario in quanto i segnali dovrebbero andare a controllare dei dispositivi logici che dovrebbero avere un basso assorbimento. Spero comunque mi possiate aiutare a risolvere questo dubbio. Qualsiasi suggerimento o critica è ben gradita. Un'altro piccolo quesito è quale è il miglior modo per generare il segnale di clock (ancora non so quanto dovrà raggiungere ma comunque non supererà i

10MHz).

Grazie anticipatamente, Mushu.

-- E-mail: snipped-for-privacy@tin.it (togli NOSPAM per rispondere)

ICQ#:78918956

Reply to
Mushu
Loading thread data ...

Per il clock direi oscillatore al quarzo, in rete trovi molti schemi Per il bus, dipende da molti fattori... la distanza a cui vuoi arrivare ad esempio, xchè quando i dati viaggiano su linee parallele potrebbero interferire tra di loro

Ciao

Reply to
Ila

Il giorno Fri, 04 Jul 2003 18:11:44 GMT, "Mushu" ha scritto:

Poiché il bus dati è comune a tutte le periferiche e alla CPU, hai bisogno comunque di bus driver three-state, monodirezionali o bidirezionali a seconda dei casi, altrimenti hai conflitti sul bus.

Sui vecchi progetti si usavano i bus driver tipo 74LS244 o 245 (bidirezionale), ora penso siano stati sostituiti dai corrispondenti HC-MOS.

Il basso assorbimento non c'entra, il problema è gestire un bus comune a più dispositivi.

Un bell'oscillatorino già fatto, o in alternativa: [FIDOCAD] MC 140 250 1 0 140 MC 145 250 1 0 170 TY 149 253 5 3 0 0 0 * C12 TY 149 258 4 2 0 0 0 * 22p MC 170 250 1 0 115 TY 161 252 4 2 0 0 0 * 2.2k TY 162 243 5 3 0 0 0 * R7 MC 170 270 1 0 115 TY 162 263 5 3 0 0 0 * R5 TY 163 272 4 2 0 0 0 * 1M MC 145 260 0 0 045 LI 140 250 160 250 TY 127 286 4 2 0 0 0 * 4 TY 127 296 4 2 0 0 0 * 5 MC 125 290 0 0 700 TY 148 291 4 2 0 0 0 * 6 MC 110 295 1 0 170 TY 114 298 5 3 0 0 0 * C11 TY 114 303 4 2 0 0 0 * 22p MC 110 305 0 0 045 LI 125 300 125 290 SA 125 295 SA 110 295 LI 110 295 110 250 LI 110 250 125 250 LI 170 250 170 295 LI 160 270 110 270 SA 110 270 SA 145 250 SA 170 270 LI 185 295 150 295 SA 170 295 LI 110 295 125 295

Reply to
Luigi C.

Il giorno Fri, 04 Jul 2003 21:03:45 GMT, Luigi C. ha scritto:

[...]

Come non detto, avevo frainteso la domanda...

Reply to
Luigi C.

Fin qua per fortuna c'ero arrivato anch'io. ;-)

Avevo dimenticato di dire che i dispositivi logici di interfacciamento sono tutti HCT e HC.

Cosa intendi con un già fatto? Io, come anche altri hanno suggerito, avevo pensato a quello fatto con quarzo resistenza e due NOT trggerate, ma se esiste qualche altro componente che mi consenta di semplificare ancora di più la parte circuitale lo prenderei in considerazione.

Ciao Mushu.

-- E-mail: snipped-for-privacy@tin.it (togli NOSPAM per rispondere)

ICQ#:78918956

Reply to
Mushu

Il giorno Fri, 04 Jul 2003 21:57:44 GMT, "Mushu" ha scritto:

Esistono in commercio oscillatori quarzati già costruiti, racchiusi in genere in contenitori metallici a base quadrata o rettangolare, a 4 piedini.

Li trovi ad es. da RS.

Reply to
Luigi C.

"Valeria Dal Monte" ha scritto nel messaggio news:YemNa.148245$ snipped-for-privacy@twister1.libero.it...

Le periferiferiche si interfacciano al BUS con dispositi HC e HCT, diciamo che nelle peggiore delle ipotesi arriverò a inrefacciare 5 periferiche ma con lunghezza massima che non supererà mai la lunghezza di un cavo per hard-disc standard. La cosa che mi preoccupava di più in verità era la presenza dei connettori che non essendo placcati in oro :) come i jack audio, magari potrebbero dare dei problemi.

Parliamo comunque di uno Z-80 con frequenza a 10 MHz che (ora non ho i grafici sotto mano) quando comunica con le periferiche la "frequenza" dei segnali dovrebbe scendere al 50% se non addirittura al 30.

Visto la tecnoligia dei dispositi logici di oggi non credo di avere grandi problemi (almeno dai primi calcoli) visto che comunque riescono anche a lavorare a frequenze maggiori di 10MHz. Comunque ti sarei grato se mi sapresti indicare qualche integrato che farebbe al caso (naturalmente dovrà essere bidirezionale.

Reply to
Mushu

Visto che siamo in tema, sapete dirmi qual'è il nome di riferimento del connettore IDE in egle?

-- E-mail: snipped-for-privacy@tin.it (togli NOSPAM per rispondere)

ICQ#:78918956

Reply to
Mushu

Il giorno Fri, 04 Jul 2003 22:11:45 GMT, "Mushu" ha scritto:

Il 74HCT245 è un octal buffer transceiver (buffer 3-state bidirezionale), con ingressi TTL-compatibili. I ritardi di propagazione e di settaggio delle uscite sono dell'ordine della trentina di ns max, a 4.5V.

Per applicazioni più spinte ci sono gli ic della famiglia ACT, ma credo che gli HCT siano sufficienti nel tuo caso.

Reply to
Luigi C.

"Mushu" ha scritto nel messaggio news:ArjNa.146762$ snipped-for-privacy@twister2.libero.it...

Le connessioni a strip (tipo quelle dei connettori IDE, appunto) sono discretamente nocive per l'integrita` dei segnali, non solo nella parte "opposta" ma anche in quella in cui i segnali vengono generati (considera che ci sono da considerare le induttanze dei contatti e le capacita` parassite dovute ai percorsi lunghi). In ogni caso se le due schede sono attaccate direttamente fra di loro (niente cavi flat in mezzo), penso che con 10 MHz non avrai problemi; semmai per sicurezza puoi prevedere sulla scheda "remota" delle reti resistive di terminazione, e poi puoi decidere se metterle o meno a seconda della qualita` dei segnali che ottieni.

Nota anche che la frequenza dei segnali non e` l'unico parametro da tenere in conto, e` molto importante anche la famiglia logica che genera quei segnali (e quindi la ripidita` dei fronti di salita/discesa: piu` i fronti sono ripidi, piu` l'ampiezza delle armoniche aumenta). Tanto per farti un esempio, una volta ho dovuto trasportare i segnali di una porta seriale di un DSP da una scheda a un'altra tramite un doppio strip, e sebbene la frequenza di clock fosse molto modesta (attorno ai 3 MHz) i fronti molto ripidi (la seriale era in grado di andare a parecchie decine di MHz) fecero si` che il segnale dall'altra parte dello strip fosse orribile, aveva degli overshoot del 50-60%!

--
Lorenzo
Reply to
Lorenzo Lutti

"Lorenzo Lutti" ha scritto nel messaggio news:t_DNa.150136$ snipped-for-privacy@twister1.libero.it...

Come avevo specificato in altri t-read, la famiglia logica che utilizzo per interfacciare le periferiche al bus è HCT e HC, per quanto riguarda il processore credo che sia ralizzato in tecnologia MOS (ora non lo so precisamente perchè ancora lo devo acquistare), Poi comunque va considerto che la "frequenza" dei segnali sul bus dovrebbe essere meno della metà. La lunghezza del cavo comunque non andrebbe a superare quella di un cavo IDE standard. Secondo te dovrei lasciare perdere questa soluzione e valutarne altre? E a parte la soluzione di attaccare le schede direttamente tra loro quale altra possibbile soluzione ci sarebbe?

Ciao Mushu.

-- E-mail: snipped-for-privacy@tin.it (togli NOSPAM per rispondere)

ICQ#:78918956

Reply to
Mushu

"Mushu" ha scritto nel messaggio news:BYmNa.147335$ snipped-for-privacy@twister2.libero.it...

dovrà

L'address bus non é necessario che sia bidirezionale, mentre il data bus si. Potresti usare i 74HCT244 e 245. Comunque fa' attenzione alle logiche HC, hanno delle soglie che non sono compatibili con i livelli del vecchio Z80 originale (NMOS) e dei TTL in genere, perció ti conviene usare gli HCT o comunque verificare se quelli che trovi in commercio sono compatibili. Fa' attenzione anche alla piattina, piuttosto che dei pull-up ti conviene mettere delle resistenze in serie, di solito si usano da 33 ohm ma non e' un valore critico. In questo modo avrai un ulteriore ritardo, ma ti risolvono molti problemi di overshoot, riflessioni, diafonia ed EMI. Se ti é possibile, usa i conduttori del cavo intervallati con le masse, cioé massa, segnale, massa, segnale, ecc. o meglio ancora, usa piattina schermata.

Reply to
Valeria Dal Monte

conviene

Su ogni dispositivo che attacchi al bus.

La resistenza ha un valore che e' un compromesso per svolgere una duplice funzione. Quando il dispositivo pilota il bus, serve per adattare l'impedenza di uscita con quella del bus. Quando il dispositivo e' in tristate, fornisce una sorta di terminazione per la linea del bus, grazie alla capacita' interna e al circuito di clamping dell'integrato.

Reply to
Valeria Dal Monte

"Mushu" ha scritto nel messaggio news:djENa.149073$ snipped-for-privacy@twister2.libero.it...

La soluzione che va per la maggiore ormai e` quella di serializzare tutto; anche gli stessi hard disk IDE vanno verso questa direzione, penso che entro 1-2 anni qualsiasi hard disk sara` di tipo serial-ATA. Guarda i driver LVDS (ne produce parecchi la Texas Instruments), ti permettono di raggiungere delle bit rate piu` che sufficienti anche per serializzare un bus di media velocita`, con delle lunghezze fino a parecchie decine di metri.

Un'altra soluzione e` quella di riconsiderare il problema; sono pochi i casi in cui e` strettamente necessario far girare un bus fra piu` schede lontane, probabilmente migliorando l'architettura del sistema non ce ne sara` piu` bisogno.

--
Lorenzo
Reply to
Lorenzo Lutti

"Lorenzo Lutti" ha scritto nel messaggio news:Y4jOa.153862$ snipped-for-privacy@twister2.libero.it...

In realtà le schede sono vicine, io avevo pesato a realizzare più schede per semplificare il progetto dei cs.

Reply to
Mushu

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.