Newsgroup: it.hobby.elettronica.digitale
Titolo: Quasi finito (era:Semplice controller grafico)

Salve, per chi è interessato ho postato lo schema quasi finito del 
controller grafico monocromatico da 256X256 pixel che mi era venuto il 
pallino di fare.
http://www.4shared.com/file/29640080/6d470f0e/Graphic_Card.html
Devo controllare meglio le temporizzazioni, ma a prima vista sembrerebbe 
a posto.
Mancano solo il circuito di clock e di reset iniziale, inoltre i vari 
jumper per selezionare la temporizzazione del sincronismo orizzontale 
probabilmente li eliminerò impostando in modo fisso i vari valori.
Secondo voi mi sono incasinato troppo?
Era il mio obiettivo usare solo logiche discrete.
Ogni osservazione o consiglio sono ben accetti. :-)
Ciao.
-- 
Prima di rispondermi devi togliere le dita dal naso!!! :-)

Telespalla Bob ha scritto:

ah, dimenticavo, gli integrati saranno tutti del tipo 74HC
ammetto che la parte dell'uscita video, quella con i transistor, non è 
farina del mio sacco, ma tutto il resto è "robba mia" (e forse si vede 
benissimo! :-)  )


 ha
scritto:

Il mio pc con 512 MB di RAM fa un po' fatica a visualizzare un'immagine da
90
megapixel, forse era meglio se dividevi lo schema in varie parti separate,
anche per la comprensibilita'. Appena posso provero' a stamparlo.
Seconda osservazione, spero che tu abbia usato un cad/cae che faccia anche
la simulazione, perche' con tutte quelle porte e' abbastanza complicato
capirci
qualcosa e soprattutto verificare sulla carta se le temporizazioni sono
corrette. La cosa migliore sarebbe stata usare un CAE per FPGA, col
vantaggio di poter realizzare il circuito, magari in futuro, con un unico
componente programmabile.
--------------------------------
Inviato via 
http://arianna.libero.it/usenet/

 wrote in message
151Z64Z207Z101Y...@usenet.libero.it...

e' quello che sto facendo io per il mio secondo oscilloscopio digitale(una
cosa "didattica",mono canale,senza filtro di Nyquist)
uso come sempre solo componenti recuperati,si basa su xilinx spartan3
stasera posto un immagine o due se può essere di qualche interesse

blisca ha scritto:

si, grazie, posta pure, è sempre interessante anche se il mio obiettivo 
era appunto quello di creare tutto in logica discreta senza componenti 
programmabili, visto lo scopo didattico e di concetto del circuito.
ciao.


 
in realtà ho usato eagle, solo schema e pcb, niente simulazione.
le verifiche delle temporizzazioni le sto facendo a mano considerando i 
tempi di propagazione delle singole porte.
un lavoraccio, ma quando non si conoscono i simulatori non c'è 
alternativa! :-)
D'altra parte sono un semplice hobbista.
a proposito, mi sono accorto che il conteggio delle linee totali si 
ferma a 311 e non a 312 come dovrebbe (in realtà 312,5)
Questo può essere un problema? Altrimenti potrei allargare l'impulso di 
sincronismo verticale dalle attuali 3 a 4 righe.
ciao e grazie.


Telespalla Bob ha scritto:

ho scoperto che i contatori a 4 bit non sono sufficienti per il 
conteggio necessario alla larghezza dell'impulso di sincronismo 
orizzontale e dei suoi piedistalli, così sto modificando il circuito per 
avere un clock dimezzato quando è in corso la generazione del 
sincronismo rispetto a quando c'è la scansione della linea di pixel...
altri eventuali aggiornamenti nei prossimi giorni. :-)
ciao.


ecco le immagini del mio rottamscopio didattico,è più la scena che la
scienza,è ancora incompletissimo,per ora ci sono solo l'FPGA che si occupa
della gestione display e dei trasferimenti in memoria,l'A/D,
e il buffer d'uscita per i segnali del display
purtroppo la mia webcam non rende l'idea del contrasto e della visibilità
che però dal vivo sono buone
http://img518.imageshack.us/my.php?image=image018wv0.jpg
la mia realizzazione reverse BGA
http://img518.imageshack.us/my.php?image=image019tk1.jpg
il PCB fatto con metodo stira e ammira,qui c'è l'alloggio per il micro a 16
bit che gestirà il tutto
se fossi più bravo potrei implementare un micro -soft(non nel senso di
azienda di bill) all'interno dell 'FPGA,invece uso un MC9S12 di recupero
i migliori risultati per ora li ho avuti con carta patinata da cartoleria
,pressandola col ferro da stiro attraverso straccio umido,essendo le piste
molto fini(a volte 0.2 mm) la corrosione deve essere rapida prima che la
miscela acqua ossigenata e acido muriatico corroda anche dove non deve
http://img518.imageshack.us/my.php?image=image020si8.jpg

 scena che la scienza,
Bellissimo!
Molto "cyberpunk"... :-)
Ma a che velocità va l'ADC?
A.D.


60 Msps,uso una 50 Mhz per ora,che è la frequenza del mio oscillatore a
basso jitter(spero),purtroppo gli Spartan non hanno il PLL dentro
altrimenti partendo da una 10 gli avrei dato 60 giusti
ma ho appena trovato nel rottame una scheda di un monitor o tv lcd che monta
un AD9883A,tre ADC a 8 bit a 110 msps,magari per il futuro
devo però stare attento che coi miei montaggi se vado troppo su di velocità
la geometria dei collegamenti potrebbe influire


Complimenti per il temerario montaggio del BGA!
Che pitch hanno le balls?


 dei collegamenti potrebbe influire
Diciamo che con quel "layout" dovrebbe essere abbastanza
difficile salire oltre i 50/60MHz, e in generale anche con un
PCB semi-sistemato andare oltre gli 80/100MHz pone
qualche problema di "signal integrity"...
A.D.


immagino,speriamo che il fatto che abbia accorciato a max 2 cm il percorso
dei segnali più veloci mi salvi
cerco di visualizzarli con una sonda con massa cortissima per vedere che gli
overshoot non siano tremendi,
poi quando sarò a buon punto cercherò di metterci condensatorini  su tutti i
pin di alimentazione accessibili
soprattutto la vccint,che ora è filtrata solo da 100nf in un solo punto

 wrote in message
151Z64Z202Z30Y1...@usenet.libero.it...

grazie,temerario è il mio secondo nome,il primo è kxxjhwmrrahwwxztam,ma
tutti per comodità mi chiamano kxxjhwmrrahwwxztam,appunto
il pitch delle balls?le mie?eh eh..immaginati due kiwi giganti....
scherzo..
è 1 mm,forse peggio sarebbe stato saldare un pq208
http://www.xilinx.com/support/documentation/package_specs/fg456.pdf


Il pq208 ha un passo di 0.5 mm e io di solito gli integrati con quel passo
li saldo abbastanza agevolmente. Poi mi ero esercitato su un bga da
1mm ma stavo per diventare idrofobo e ho lasciato perdere.
Invece ho in mente un sistema rivoluzionario per saldare i BGA
ma prima devo trovare vetronite da 0.5 mm.
Comunque per i segnali anche a frequenze alte il filo va benissimo.
Io ho lavorato a 250 MHz senza inconvenienti. Il problema sono i
collegamenti di massa e di alimentazione che devono avere
bassissime impedenze, difficili da ottenere senza un circuito stampato
multistrato.


 giusto??non vorrei dire una fesseria
Diciamo che non lo migliori... peggiorarlo non direi.
Ma comunque io non mi preoccuperei così tanto del
jitter, ho campionato a velocità estremamente più alte
di 60MHz usando un normalissimo oscillatorino al
quarzo (quelli "canned"), ed i risultati sono stati buoni...
In fondo stiamo parlando ps su periodi di ns...
A.D.

A.D. <isd...@libero.ix> wrote in message
Dq_0j.175670$%k.31...@twister2.libero.it...

grazie ancora

Salve, ho postato un nuovo schema modificato; rispetto al precedente ho 
eliminato un contatore, quello del blanking prima e dopo la scansione 
della riga, incoroprando questa temporizzazione nei due piedistalli del 
sincronismo orizzontale.
inoltre ho inserito un doppio clock, uno per la scansione dei pixel e 
uno più lento per le temporizzazioni dei sincronismi.
Inoltre, a differenza dell'altro che dopo il reset partiva con la 
scansione della riga, questo si avvia con il sincronismo verticale.
Altre eventuali modifiche nei giorni seguenti, intanto per chi vuole 
dare un'occhiata e dire la sua:
http://www.4shared.com/file/30009024/97266c87/Graphic_Card.html
saluti.


Salve, per quanti sono interessati ho postato un nuovo schema migliorato 
rispetto al precedente.
http://www.4shared.com/file/30199712/966b3d20/Graphic_Card.html
a proposito, c'è qualcuno che sta seguendo la vicenda o vi disturbo e 
basta? :-)
ad un primo esame dovrei esserci con le temporizzazioni e con i tempi di 
propagazione delle porte, ma devo verificare più a fondo.
Ho solo un dubbio sul valore corretto del tempo di propagazione da 
prendere in considerazione fra quelli riportati nei datasheet.
Ad esempio, guardando questo:
http://focus.ti.com/lit/ds/symlink/sn74hc08.pdf
vedo che nella tabella "Switching characteristics" il parametro tPD è 
indicato per tre volte: a 25°C, per il 74HC08 e per il 54HC08.
Considerando che il 54HC non mi interessa, quale degli altri due dovrei 
prendere in considerazione??
Diciamo che non ho in mente di far funzionare la scheda nelle notti di 
inverno, e nemmeno sotto il sole di luglio, ma perché è indicata una 
colonna con 25°C e una colonna con la sigla del chip senza specificare 
la temperatura?
Altro dubbio, nella tabella "Recommended Operating Conditions" cosa 
rappresenta il valore 500ns della riga "Dt/Dv Input transition rise or 
fall rate" ?
Grazie.
