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.
Interfacciare Pic16f877a a RAM 6264
Moderatore:
Paolino
21 messaggi
• Pagina 1 di 3 • 1, 2, 3
1
voti
0
voti
Ciao
stex90,
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
... 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:Domani posso fornire ulteriori dettagli.
... o funziona tutto o, l'alternativa, è che non funziona.stex90 ha scritto:Ora.... Il programma funziona ne sono certo. Ma nel complesso il progetto 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
W - U.H.F.
-

WALTERmwp
30,2k 4 8 13 - G.Master EY

- Messaggi: 8982
- Iscritto il: 17 lug 2010, 18:42
- Località: le 4 del mattino
0
voti
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!
0
voti
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.
Per Robert8:
Infatti è quello il mio scopo. Leggere il valore con il PIC mentre viene scritto da un altro dispositivo.
3
voti
È 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.
- 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.
"Houston, Tranquillity Base here. The Eagle has landed." - Neil A.Armstrong
-------------------------------------------------------------
PIC Experience - http://www.picexperience.it
-------------------------------------------------------------
PIC Experience - http://www.picexperience.it
-

Paolino
32,6k 8 12 13 - G.Master EY

- Messaggi: 4226
- Iscritto il: 20 gen 2006, 11:42
- Località: Vigevano (PV)
2
voti
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.
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.
Fabio
0
voti
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.
2
voti
La risposta di
c1b8 è 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?
Ecco cosa intendevo dire io con codice ottimizzato.
Ciao.
Paolo.
P.S. Cos'è microcode?
"Houston, Tranquillity Base here. The Eagle has landed." - Neil A.Armstrong
-------------------------------------------------------------
PIC Experience - http://www.picexperience.it
-------------------------------------------------------------
PIC Experience - http://www.picexperience.it
-

Paolino
32,6k 8 12 13 - G.Master EY

- Messaggi: 4226
- Iscritto il: 20 gen 2006, 11:42
- Località: Vigevano (PV)
0
voti
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
Uso il PIC BASIC e microcode studio è l'ambiente di sviluppo
2
voti
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.
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.
"Houston, Tranquillity Base here. The Eagle has landed." - Neil A.Armstrong
-------------------------------------------------------------
PIC Experience - http://www.picexperience.it
-------------------------------------------------------------
PIC Experience - http://www.picexperience.it
-

Paolino
32,6k 8 12 13 - G.Master EY

- Messaggi: 4226
- Iscritto il: 20 gen 2006, 11:42
- Località: Vigevano (PV)
21 messaggi
• Pagina 1 di 3 • 1, 2, 3
Torna a Realizzazioni, interfacciamento e nozioni generali.
Chi c’è in linea
Visitano il forum: Nessuno e 11 ospiti

Elettrotecnica e non solo (admin)
Un gatto tra gli elettroni (IsidoroKZ)
Esperienza e simulazioni (g.schgor)
Moleskine di un idraulico (RenzoDF)
Il Blog di ElectroYou (webmaster)
Idee microcontrollate (TardoFreak)
PICcoli grandi PICMicro (Paolino)
Il blog elettrico di carloc (carloc)
DirtEYblooog (dirtydeeds)
Di tutto... un po' (jordan20)
AK47 (lillo)
Esperienze elettroniche (marco438)
Telecomunicazioni musicali (clavicordo)
Automazione ed Elettronica (gustavo)
Direttive per la sicurezza (ErnestoCappelletti)
EYnfo dall'Alaska (mir)
Apriamo il quadro! (attilio)
H7-25 (asdf)
Passione Elettrica (massimob)
Elettroni a spasso (guidob)
Bloguerra (guerra)



