microcontrollore PIC 16f690 connesso attraverso spi con ad78

Raccolta di codici sorgenti

Moderatore: Foto UtentePaolino

Avatar utente
Foto UtenteJackn
0 2
Messaggi: 22
Iscritto il: 2 mar 2011, 16:17
0
voti

[11] Re: microcontrollore PIC 16f690 connesso attraverso spi con ad78

Messaggioda Foto UtenteJackn » 19 mar 2011, 12:45

quindi,vedi se ho capito bene:
-attivo lo slave cs=0
-leggo i bit più significativi e poi quelli meno significativi
-disattivo lo slave cs=1
-passo alla prossima conversione rifacendo i passi precedenti

Avatar utente
Foto UtenteTardoFreak
73,9k 8 12 13
-EY Legend-
-EY Legend-
Messaggi: 15754
Iscritto il: 16 dic 2009, 10:10
Località: Torino - 3° pianeta del Sistema Solare
0
voti

[12] Re: microcontrollore PIC 16f690 connesso attraverso spi con ad78

Messaggioda Foto UtenteTardoFreak » 19 mar 2011, 13:08

Dovrei leggere meglio il datasheet.
Non basta una semplice lettura perche' nei primi 8 cicli di clock il convertitore riceve il dato in ingresso che va a scrivere sul control register.
"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.

Avatar utente
Foto UtenteJackn
0 2
Messaggi: 22
Iscritto il: 2 mar 2011, 16:17
0
voti

[13] Re: microcontrollore PIC 16f690 connesso attraverso spi con ad78

Messaggioda Foto UtenteJackn » 19 mar 2011, 13:56

avevo capito che nei 16 colpi di clock legge i 16 bit(12 di conversione+ 4 zero).
quindi dovrei attivare lo slave,leggere i primi 8(che nn mi servono),poi leggere gli altri 8 bit(bit più significativi),disattivare lo slave.e ripetere la stessa operazione per i meno significativi.
Non riesco a capire tutto il testo in inglese :mrgreen:

Avatar utente
Foto UtenteTardoFreak
73,9k 8 12 13
-EY Legend-
-EY Legend-
Messaggi: 15754
Iscritto il: 16 dic 2009, 10:10
Località: Torino - 3° pianeta del Sistema Solare
0
voti

[14] Re: microcontrollore PIC 16f690 connesso attraverso spi con ad78

Messaggioda Foto UtenteTardoFreak » 19 mar 2011, 14:17

Aulra,
1) Se analizzi il diagramma temporale vedrai che nei primi 8 cicli avvengono due cose contemporaneamente: l' invio del registro di controllo e la ricezione dei bit. Le SPI integrate non sono altro che degli shift register e possono fare questo in contemporanea.
2) Sapere quale micro e quale compilatore stai utilizzando sarebbe di aiuto
3) L' inglese e' necessario. Non si puo' evitare.
4) Evita di scrivere con le abbreviazioni da SMS (nn, tt, perché e schifezze del genere) perche' in questo forum non sono ammesse e tanto meno gradite.
"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.

Avatar utente
Foto UtentePaolino
32,6k 8 12 13
G.Master EY
G.Master EY
Messaggi: 4226
Iscritto il: 20 gen 2006, 10:42
Località: Vigevano (PV)
Contatta:
0
voti

[15] Re: microcontrollore PIC 16f690 connesso attraverso spi con ad78

Messaggioda Foto UtentePaolino » 19 mar 2011, 14:26

TF, il micro è un PIC16F690. A giudicare dalle prime righe di codice, direi che si tratta del compilatore CCS. Jackn, puoi confermare?

Aggiungo anch'io un paio di cosette. Come ha detto Tardofreak, i primi 8 bit del dato ricevuto dal convertitore si accavallano con i dati in ingresso. Questi sono i dati relativi alla sua iniziazzazione. Ora, fossi in te procederei così: se usi un SPI hardware (c'è la periferica MSSP nel 16F690?!?) consiglio di separare le due fasi. Dapprima invii il byte di configurazione (sempre rispettando i diagrammi di timing, quindi dovrai inviare 16 colpi di clock e gestire il CS) che ti permette di settare il convertitore come preferisci tu. Poi passi alle letture vere e proprie, evitando di trasmettere di nuovo la configurazione.
Se invece realizzi un SPI software (per nulla difficile), il consiglio è quello di trasmettere la configurazione andando ad eseguire le letture, in modo contemporaneo.

Ciao.

Paolo.

P.S. Il datasheet al quale ci stiamo riferendo è questo: LINK.
"Houston, Tranquillity Base here. The Eagle has landed." - Neil A.Armstrong

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

PIC Experience - http://www.picexperience.it

Avatar utente
Foto UtenteTardoFreak
73,9k 8 12 13
-EY Legend-
-EY Legend-
Messaggi: 15754
Iscritto il: 16 dic 2009, 10:10
Località: Torino - 3° pianeta del Sistema Solare
0
voti

[16] Re: microcontrollore PIC 16f690 connesso attraverso spi con ad78

Messaggioda Foto UtenteTardoFreak » 19 mar 2011, 14:34

VeroPIC16F690. #-o
E non ha l' SPI. Bisogna farla da software.
Bisogna solo poi ricordarsi di tenere a 0 il pin DIN quando si fanno le letture.
The control register is always written to when a data transfer takes place. However, the AD7887 can be operated in a read-only mode by tying DIN low, thereby loading all 0s to the control register every time.
"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.

Avatar utente
Foto UtenteJackn
0 2
Messaggi: 22
Iscritto il: 2 mar 2011, 16:17
0
voti

[17] Re: microcontrollore PIC 16f690 connesso attraverso spi con ad78

Messaggioda Foto UtenteJackn » 19 mar 2011, 14:44

si il compilatore è il ccs,e si deve fare via software..
il datasheet che avevo io non era questo

Avatar utente
Foto UtenteJackn
0 2
Messaggi: 22
Iscritto il: 2 mar 2011, 16:17
0
voti

[18] Re: microcontrollore PIC 16f690 connesso attraverso spi con ad78

Messaggioda Foto UtenteJackn » 19 mar 2011, 14:58

TardoFreak ha scritto:Aulra,
1) Se analizzi il diagramma temporale vedrai che nei primi 8 cicli avvengono due cose contemporaneamente: l' invio del registro di controllo e la ricezione dei bit. Le SPI integrate non sono altro che degli shift register e possono fare questo in contemporanea.

scusa nei primi 8 colpi di clock avvengono due cose contemporaneamente,ma su due linee differenti(dout e din),quindi se vado ad abbassare il cs e vado a leggere su dout avrò il bit meno significativi,la seconda lettura sarà quelllo dei meno significativi,dopo non dovrò fare altro che abbassare cs

Avatar utente
Foto UtenteJackn
0 2
Messaggi: 22
Iscritto il: 2 mar 2011, 16:17
0
voti

[19] Re: microcontrollore PIC 16f690 connesso attraverso spi con ad78

Messaggioda Foto UtenteJackn » 19 mar 2011, 15:38

comunque penso di aver trovato un ulteriore errore,quando faccio:
x=high<<8
high è int8,quindi il risultato mi da tutti 0,dovrei dichiararlo come int16

Avatar utente
Foto UtenteJackn
0 2
Messaggi: 22
Iscritto il: 2 mar 2011, 16:17
0
voti

[20] Re: microcontrollore PIC 16f690 connesso attraverso spi con ad78

Messaggioda Foto UtenteJackn » 19 mar 2011, 15:45

Paolino ha scritto: il consiglio è quello di trasmettere la configurazione andando ad eseguire le letture, in modo contemporaneo.

cioè?


Torna a “Firmware e programmazione”