Vai al contenuto
PLC Forum


RAM esterna+PIC


Messaggi consigliati

Inserito:

Salve! Abbiamo un progettino da fare utilizzando un PIC18f452: dobbiamo interfacciare una RAM esterna parallela e verificarne il corretto funzionamento.

Vorremmo qualche consiglio considerando che non conosciamo ancora il tipo di RAM che ci assegneranno e non abbiamo molta esperienza unsure.gif

E' secondo voi possibile iniziare la scrittura del codice senza conoscere la RAM o ci conviene aspettare?

Se avete qualche link che potrebbe esserci utile ve ne saremmo grati.


Inserita:

Dipende dal parallelismo della RAM (8, 16, 32) e dalla sua grandezza.

Comunque parametrizzando i limiti di indirizzo e la larghezza di parola, se avete chiara la configurazione Hw, è possibile scrivere il softeare. Tra l'altro il test di una RAM è una cosa estremamente semplice. Si alternano, in scrittura, due valori: 0xAA e 0x55 che contengono 0101... e sono duali. SI scirve tutta la memoria, alternanandi i due valori; la si rilegge verificandone la corrispondenza. Si ripete scambiando l'ordine, cioè se si la prima volta si scrive 0xAA e 0x55, al secondo ciclo si scrive 0x55 e 0xAA.

Inserita:

Grazie dell'attenzione, vorremmo solo un chiarimento sulla verifica della corrispondenza: se noi dobbiamo leggere la nostra ram esterna piena, non la possiamo vedere completa nella ram interna del pic, quindi dobbiamo valutare in tempo reale 0xAA e 0x55 che si alternano in un registro specifico del pic dopo la singola lettura? se si quale? scusi se la domanda le risulta banale ma siamo alle prime armi.

Inserita:

Forse dovreste studiare come funziona un microprocessore-microcontrollore generico e come lavora il PIC in particolare. Tutte le operazioni si svolgono tramite i registri accomulatori. Nel PIC ne esiste uno, denominato W. Tutte le operazioni, se non sono sul bit, si svolgono su questo registro. Nel casospecifico potrebbe essere:

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

MOVLW 0x55

XORWF f dove f è la locazione di memoria in cui si è caricato il dato della RAM.

Come caricare la RAM? dipende da come avete realizzato l'HW. Se ustate solo le porte del PIC per i leggere e scrivere i dati e per indirizzare la memoria si dovrà prima scrivere l'indirizzo sulle porte che sono state dedicate allo scopo e poi leggere la porta dedicata ai dati.

Inserita:

Il progettino è cambiato. Dobbiamo semplicemente creare un'interfaccia per la RAM e controllare che un dato da noi specificato possa essere scritto e letto correttamente in una determinata locazione di memoria.

Abbiamo una Ram 32k x 8bit, quindi avremmo 23 pin del pic da connettere(15 indirizzo - 8 dati). Per evitare questa eccessiva occupazione dei pin abbiamo pensato di utilizzare 2 shift register da 8bit per l'indirizzamento, mentre per i dati manteniamo il parallelismo utilizzando un port (D). E' la soluzione ideale?

Crea un account o accedi per commentare

Devi essere un utente per poter lasciare un commento

Crea un account

Registrati per un nuovo account nella nostra comunità. è facile!

Registra un nuovo account

Accedi

Hai già un account? Accedi qui.

Accedi ora
×
×
  • Crea nuovo/a...