Ciao a tutti, è ormai da giorni che sto cercando di far comunicare il modulo Sram della microchip siglato 23CL1024 con il PIC18f45k20.
Leggendo le application note AN1287e AN1484 ho preso spunto sia per il codice che per i collegamenti fra i due dispositivi.
Nella fase successiova ho settato tutti i registri del mo PIC per abilitare la comunicazione SPI.
Testando con l'oscilloscopio la comunizaione mi sono accorto che il modulo sram, una volta interrogato, mi risponde ma il segnale non è preciso; sembrano sbalgiati i livelli di tensione.
Vi riporto una foto della misura così riesco a farmi capire:
mentre la comunicazione dal PIC al modulo Sram sembra corretta:
Avete qualche suggerimento.
Grazie
Marcello
Serial RAM capricciosa...
Moderatori:
carloc,
g.schgor,
BrunoValente,
IsidoroKZ
7 messaggi
• Pagina 1 di 1
0
voti
Dalla descrizione del problema, non si capisce nulla.
Dalla prima immagine postata, sembra che un dispositivo tenti di comunicare, mentre un altro sta forzando un livello logico anomalo.
Quanti nodi ci sono sul BUS? Quando il master attende la risposta, porta la linea dati in lettura?
Dalla prima immagine postata, sembra che un dispositivo tenti di comunicare, mentre un altro sta forzando un livello logico anomalo.
Quanti nodi ci sono sul BUS? Quando il master attende la risposta, porta la linea dati in lettura?
-

Candy
32,5k 7 10 13 - CRU - Account cancellato su Richiesta utente
- Messaggi: 10123
- Iscritto il: 14 giu 2010, 22:54
0
voti
Pare che lo stadio d'uscita della ram abbia bisogno di un pull-down in fase di comunicazione. Hai letto bene il datasheet?
edit: in effetti quello non è proprio un comportamento da alta impedenza. Non ha molto senso, il ds cosa dice?
edit: in effetti quello non è proprio un comportamento da alta impedenza. Non ha molto senso, il ds cosa dice?
-

marioursino
5.687 3 9 13 - G.Master EY

- Messaggi: 1598
- Iscritto il: 5 dic 2009, 4:32
1
voti
Serve uno schema elettrico.
"La follia sta nel fare sempre la stessa cosa aspettandosi risultati diversi".
"Parla soltanto quando sei sicuro che quello che dirai è più bello del silenzio".
Rispondere è cortesia, ma lasciare l'ultima parola ai cretini è arte.
"Parla soltanto quando sei sicuro che quello che dirai è più bello del silenzio".
Rispondere è cortesia, ma lasciare l'ultima parola ai cretini è arte.
-

TardoFreak
73,9k 8 12 13 - -EY Legend-

- Messaggi: 15754
- Iscritto il: 16 dic 2009, 11:10
- Località: Torino - 3° pianeta del Sistema Solare
0
voti
Quanti nodi ci sono sul BUS? Quando il master attende la risposta, porta la linea dati in lettura?
Il bus è composta dal master (il PIC) e un solo modulo slave (l'SRam).
Questo è lo schema:
Preso dal datasheet del modulo ram:
Quando il master attende la risposta, porta la linea dati in lettura?
Da quello che ho capito leggendo il datasheet la porta seriale del micro denominata SPI è sempre in fase di lettura; una volte abilitato il modulo SPI nel micro e impostato i relativi registri tristato il pin rimane sempre abilitato alla lettura.
17.3.3 ENABLING SPI I/O
To enable the serial port, SSP Enable bit, SSPEN of
the SSPCON1 register, must be set. To reset or reconfigure
SPI mode, clear the SSPEN bit, reinitialize the
SSPCON registers and then set the SSPEN bit. This
configures the SDI, SDO, SCK and SS pins as serial
port pins. For the pins to behave as the serial port function,
some must have their data direction bits (in the
TRIS register) appropriately programmed as follows:
• SDI is automatically controlled by the SPI module
• SDO must have corresponding TRIS bit cleared
• SCK (Master mode) must have corresponding
TRIS bit cleared
• SCK (Slave mode) must have corresponding
TRIS bit set
• SS must have corresponding TRIS bit set
Any serial port function that is not desired may be
overridden by programming the corresponding data
direction (TRIS) register to the opposite value.
Pare che lo stadio d'uscita della ram abbia bisogno di un pull-down in fase di comunicazione. Hai letto bene il datasheet?
edit: in effetti quello non è proprio un comportamento da alta impedenza. Non ha molto senso, il ds cosa dice?
Il datasheet non riporta nessuna resistenza di pull-down sulle linee di comunicazione.
Avrei in mente l'ennesimo tentativo ma correggetemi se dico cavolate.
Posso provare a scollegare la linea in uscita dalla ram dal PIC,
e collegarci una resistenza di pull-down per vedere se la misura con l'oscilloscopio rientra nella norma.
Grazie per l'aiuto.
0
voti
Uhm
Sei sicuro che il pin d' ingresso dati (del PIC) sia effettivamente configurato come un ingresso?
A giudicare dal segnale da te postato sembra proprio che la RAM cerchi di rispondere ma "faccia a testate" con un pin che, invece di essere un ingresso, è un' uscita.
Sei sicuro che il pin d' ingresso dati (del PIC) sia effettivamente configurato come un ingresso?
A giudicare dal segnale da te postato sembra proprio che la RAM cerchi di rispondere ma "faccia a testate" con un pin che, invece di essere un ingresso, è un' uscita.
"La follia sta nel fare sempre la stessa cosa aspettandosi risultati diversi".
"Parla soltanto quando sei sicuro che quello che dirai è più bello del silenzio".
Rispondere è cortesia, ma lasciare l'ultima parola ai cretini è arte.
"Parla soltanto quando sei sicuro che quello che dirai è più bello del silenzio".
Rispondere è cortesia, ma lasciare l'ultima parola ai cretini è arte.
-

TardoFreak
73,9k 8 12 13 - -EY Legend-

- Messaggi: 15754
- Iscritto il: 16 dic 2009, 11:10
- Località: Torino - 3° pianeta del Sistema Solare
0
voti
Sei sicuro che il pin d' ingresso dati (del PIC) sia effettivamente configurato come un ingresso?
IL pin con la funzione SDI è il numero 23 che corrisponde alla porta RC4.
e l'impostazione che ho usato per definire il pin come ingresso è:
- Codice: Seleziona tutto
LATB = 0x00;
TRISB = 0b00000000;
LATC = 0x00;
TRISC = 0b11010000;
Init_SPI();
Sembra corretta!
7 messaggi
• Pagina 1 di 1
Chi c’è in linea
Visitano il forum: Nessuno e 67 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)

