Pagina 1 di 3

Interfacciare Pic16f877a a RAM 6264

MessaggioInviato: 16 dic 2014, 1:24
da stex90
Ciao a tutti ragazzi.
Apro questa discussione per chiedere consigli su un progetto che sto realizzando. in breve ho una CPU in cui è presente una ram 6264, un processore 6808 e una eeprom 27c512. Durante l esecuzione di un programma presente sulla eeprom della CPU stessa in questa ram vengono scritti dei valori che mi interessano. La ram ha 13 linee di indirizzi e 8 di dati. Utilizzando un pic16f877a ho cercato di interfacciarmi alla ram usando la porta C e la D per linee di indirizzi e la porta B per le linee dati. Sono a conoscenza degli indirizzi dei valori che mi interessano... Ho quindi realizzato un semplice programma con microcode studio che nell istante in cui il pin W della ram va basso (scrittura) il PIC controlla l indirizzo presente sulle porte (C e D) e se corrisponde a quello che mi interessa vengono letti i dati sulla porta B. Ora.... Il programma funziona ne sono certo. Ma nel complesso il progetto non funziona. Diciamo che su 40 volte in cui viene scritto l indirizzo che mi interessa il mio PIC riesce ad accorgersi si e no 10 volte, e non sono mai riuscito a leggere il valore corretto ma valori casuali. Dopo mille prove e un disastro di ore perse sono giunto alla disperata conclusione che forse il PIC è troppo lento per gli elevati cicli di questa ram. Purtroppo non sono un informatico, non ho le conoscenze per sapere se il mio PIC è sottodimensionato per questa applicazione. Chiedo un parere agli esperti e a chiunque possa aiutarmi. Domani posso fornire ulteriori dettagli.

Re: Interfacciare Pic16f877a a RAM 6264

MessaggioInviato: 16 dic 2014, 3:26
da WALTERmwp
Ciao Foto Utentestex90,
stex90 ha scritto:Domani posso fornire ulteriori dettagli.
... sarebbe meglio che tu presentassi, tanto per cominciare, uno schema a blocchi ben definito dei moduli in causa e dei relativi collegamenti (usa FidoCadJ).
stex90 ha scritto:Ora.... Il programma funziona ne sono certo. Ma nel complesso il progetto non funziona.
... o funziona tutto o, l'alternativa, è che non funziona.

Prova ad essere anche un pochino più preciso nella tua esposizione così, magari, qualcuno può iniziare a sua volta a porti domande utili a definire la situazione, nel caso gli elementi che proponi alla discussione non dovessero essere sufficienti.

Saluti

Re: Interfacciare Pic16f877a a RAM 6264

MessaggioInviato: 16 dic 2014, 3:51
da Robert8
stex90 ha scritto:Ho quindi realizzato un semplice programma con microcode studio che nell istante in cui il pin W della ram va basso (scrittura) il PIC controlla l indirizzo presente sulle porte (C e D) e se corrisponde a quello che mi interessa vengono letti i dati sulla porta B.

Non capisco perché configuri la RAM in scrittura se tu la devi leggere! ?%

A meno che tu non stia tentando di leggerla col PIC mentre un altro dispositivo la sta scrivendo!

Re: Interfacciare Pic16f877a a RAM 6264

MessaggioInviato: 16 dic 2014, 8:17
da stex90
Sì scusate, Questa sera vi fornisco qualche schema.

Per Robert8:
Infatti è quello il mio scopo. Leggere il valore con il PIC mentre viene scritto da un altro dispositivo.

Re: Interfacciare Pic16f877a a RAM 6264

MessaggioInviato: 16 dic 2014, 9:43
da Paolino
È possibile che il PIC non riesca a intercettare i cicli di scrittura e questo potrebbe dipendere da tanti fattori quali:
- il microcontrollore stesso;
- il firmware (magari non ottimizzato)
- interfacciamento elettrico dei segnali.

Non conosco microcode, ma sei sicuro che il codice sia ottimizzato? Anche se impieghi un oscillatore a 20MHz, probabilmente il PIC che hai scelto non è il meglio per fare quel che vuoi tu.

Ciao.

Paolo.

Re: Interfacciare Pic16f877a a RAM 6264

MessaggioInviato: 16 dic 2014, 10:29
da c1b8
Mi sembra di capire che il 6808 scriva nella ram con tempi che vanno da un minimo di 1 us ad un massimo di 10 us.
Il PIC che hai scelto, con un clock di 20MHz e codice assembler, potrebbe arrivare a leggere l'indirizzo ed il dato che il 6808 sta scrivendo in poco meno di 2us.
Non è il massimo, ma se il tuo 6808 non è spinto al limite dovresti riuscire a leggere i dati correttamente.
Attenzione però: clock del PIC a 20MHz e codice scritto in assembler, da qui non si scappa.

Re: Interfacciare Pic16f877a a RAM 6264

MessaggioInviato: 16 dic 2014, 10:29
da stex90
Utilizzo un quarzo a 20 MHz. In che senso ottimizzato? Il programma per ora fa solo un loop per cercare l'indirizzo corretto e poi legge il valore sulla linea dati.

Re: Interfacciare Pic16f877a a RAM 6264

MessaggioInviato: 16 dic 2014, 10:49
da Paolino
La risposta di Foto Utentec1b8 è chiara: i tempi di acquisizione dei segnali sono compatibili con un codice assembly. Se vuoi usare il C probabilmente devi spostarti su un PIC più performante (con Fosc maggiore, tra l'altro).
Ecco cosa intendevo dire io con codice ottimizzato.

Ciao.

Paolo.

P.S. Cos'è microcode?

Re: Interfacciare Pic16f877a a RAM 6264

MessaggioInviato: 16 dic 2014, 13:11
da stex90
Vi ringrazio per le risposte. Spostandomi sulla serie 18f potrei riuscire a stare dentro nei tempi?

Uso il PIC BASIC e microcode studio è l'ambiente di sviluppo

Re: Interfacciare Pic16f877a a RAM 6264

MessaggioInviato: 16 dic 2014, 14:42
da Paolino
Riesci prima a fare dei rilievi con l'oscilloscopio? Così ti rendi conto delle tempistiche dei segnali e si può tentare di andare a leggere qualcosa con il microcontrollore.
I PIC18F più vecchi arrivavano sino a 40MHz, con i più recenti si arriva anche oltre. A spanne, ci si può stare, ma farei una verifica strumentale ugualmente.

Ciao.

Paolo.