Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

Interfacciare Pic16f877a a RAM 6264

Tipologie, strumenti di sviluppo, hardware e progetti

Moderatore: Foto UtentePaolino

1
voti

[1] Interfacciare Pic16f877a a RAM 6264

Messaggioda Foto Utentestex90 » 16 dic 2014, 1:24

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.
Avatar utente
Foto Utentestex90
150 4
New entry
New entry
 
Messaggi: 88
Iscritto il: 5 lug 2009, 13:27

0
voti

[2] Re: Interfacciare Pic16f877a a RAM 6264

Messaggioda Foto UtenteWALTERmwp » 16 dic 2014, 3:26

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
W - U.H.F.
Avatar utente
Foto UtenteWALTERmwp
22,1k 4 8 13
G.Master EY
G.Master EY
 
Messaggi: 6402
Iscritto il: 17 lug 2010, 18:42
Località: le 4 del mattino

0
voti

[3] Re: Interfacciare Pic16f877a a RAM 6264

Messaggioda Foto UtenteRobert8 » 16 dic 2014, 3:51

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!
Avatar utente
Foto UtenteRobert8
3.449 2 8 13
Master EY
Master EY
 
Messaggi: 370
Iscritto il: 15 giu 2011, 16:30

0
voti

[4] Re: Interfacciare Pic16f877a a RAM 6264

Messaggioda Foto Utentestex90 » 16 dic 2014, 8:17

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.
Avatar utente
Foto Utentestex90
150 4
New entry
New entry
 
Messaggi: 88
Iscritto il: 5 lug 2009, 13:27

3
voti

[5] Re: Interfacciare Pic16f877a a RAM 6264

Messaggioda Foto UtentePaolino » 16 dic 2014, 9:43

È 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.
"Houston, Tranquillity Base here. The Eagle has landed." - Neil A.Armstrong

-------------------------------------------------------------

PIC Experience - http://www.picexperience.it
Avatar utente
Foto UtentePaolino
31,9k 8 12 13
G.Master EY
G.Master EY
 
Messaggi: 4180
Iscritto il: 20 gen 2006, 11:42
Località: Vigevano (PV)

2
voti

[6] Re: Interfacciare Pic16f877a a RAM 6264

Messaggioda Foto Utentec1b8 » 16 dic 2014, 10:29

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.
Fabio
Avatar utente
Foto Utentec1b8
3.595 3 8 13
G.Master EY
G.Master EY
 
Messaggi: 1770
Iscritto il: 15 gen 2009, 15:23

0
voti

[7] Re: Interfacciare Pic16f877a a RAM 6264

Messaggioda Foto Utentestex90 » 16 dic 2014, 10:29

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.
Avatar utente
Foto Utentestex90
150 4
New entry
New entry
 
Messaggi: 88
Iscritto il: 5 lug 2009, 13:27

2
voti

[8] Re: Interfacciare Pic16f877a a RAM 6264

Messaggioda Foto UtentePaolino » 16 dic 2014, 10:49

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?
"Houston, Tranquillity Base here. The Eagle has landed." - Neil A.Armstrong

-------------------------------------------------------------

PIC Experience - http://www.picexperience.it
Avatar utente
Foto UtentePaolino
31,9k 8 12 13
G.Master EY
G.Master EY
 
Messaggi: 4180
Iscritto il: 20 gen 2006, 11:42
Località: Vigevano (PV)

0
voti

[9] Re: Interfacciare Pic16f877a a RAM 6264

Messaggioda Foto Utentestex90 » 16 dic 2014, 13:11

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
Avatar utente
Foto Utentestex90
150 4
New entry
New entry
 
Messaggi: 88
Iscritto il: 5 lug 2009, 13:27

2
voti

[10] Re: Interfacciare Pic16f877a a RAM 6264

Messaggioda Foto UtentePaolino » 16 dic 2014, 14:42

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.
"Houston, Tranquillity Base here. The Eagle has landed." - Neil A.Armstrong

-------------------------------------------------------------

PIC Experience - http://www.picexperience.it
Avatar utente
Foto UtentePaolino
31,9k 8 12 13
G.Master EY
G.Master EY
 
Messaggi: 4180
Iscritto il: 20 gen 2006, 11:42
Località: Vigevano (PV)

Prossimo

Torna a Realizzazioni, interfacciamento e nozioni generali.

Chi c’è in linea

Visitano il forum: Nessuno e 2 ospiti