Ho guardato il programma della CPLD che ho io ( dovrebbe essere la
versione del CVS ), è scritto in VHDL quindi è ottimo per me, quello
collega il chip FTDI, prevede di liberare i PIN del micro per la
programmazione e collega gli 8 ingressi ad un port del micro.
Per la V0.1 potrebbe andare bene e semplicemente campioniamo i dato
come viene così vediamo i pin che si muovono.
Per la V0.2 direi di implementare l'accesso alla RAM che pensavo di
gestire così ( prima di commentare guardate lo schema ):
1 contatore a 16 bit che mi permette di accedere a tutti i registri
della ram in modo incrementale con un ingresso di reset ( prima word
della ram ) e uno di clock ( word successiva ).
1 ingresso di start_campionamento: collega l'oscillatore al clock per
32768 impulsi di clock, poi torna a 0.
con start_campionamento andrò a salvare nel byte della RAM lo stato
del port a ciascun fronte di salita ( V0.2 ).
così facendo farò il campionatore.
Ovvero alcuni istanti dopo lo start_campionamento avrò in ram i 32768
campioni degli 8 canali.
poi avrò 1 ingresso di start_download, a 1 collega il clock del
contatore ad un pin del micro e ad ogni impulso il micro leggerà il
byte....
In pratica quindi, con il segnale start_campionamento avvio il
campionamento dei segnali ( per ora tutti i 32768 campioni ) mentre
con start_download il micro potrà leggere uno alla volta tutti i
campioni in modo sequenziale.
Il segnale di reset riposiziona il contatore al byte 0...
nella V0.3 il segnale di start_campionamento sarà in and tra il
segnale di enable del micro e un controllo sul pattern in ingresso per
iniziare il campionamento ( condizione dei pin in ingresso ).
Nella V0.4 aggiungerò ( CPLD PERMETTENDO ) il controllo sui fronti di
salita/discesa...
--
Visita il mio sito
http://www.katodo.com e http://wiki.tuttoelettronica.org
oppure contattami in MSN, GTALK o ICQ N° 129440900
Radioamatore: IW3HZQ --- Gentoo user!!
"Tutto è impossibile fino a quando qualcuno non ci dimostra il contrario... "