Newsgroup: it.hobby.elettronica.digitale
Titolo: Repost ! 16F877 con DAC 16 bit.

Con tutti gli hacker del satellite che infestano il NG non si presta
piu' attenzione ai pochi che rimangono in topic....
Riposto la richiesta sperando che si risvegli qualcuno...
Devo collegare come da oggetto un PIC16F877 con un DAC  a 16 bit ( Maxim
MAX541 ) che prevede l' uso dell'interfaccia seriale SPI o QSPI o
Microwire, guardando il manuale del PIC mi sembra che il modo piu'
semplice sia usando il modo SPI che comunque coinvolge il settaggio
corretto di parecchi registri, siccome non ho problemi di velocita' ,
anzi l' applicazione e' praticamente statica, setto il DAC e lui rimane
li' fino a nuovo settaggio anche per parecchi minuti ( sara' un
calibratore di tensione ) , pensavo di passare i dati gestendoli
direttamente con istruzioni di shift e out , inoltre il DAC ha bisogno
del segnale Chip Select (CS) che mi pare devo comunque gestire a parte,
nel senso che il modo SPI non prevede e non gestisce questo CS .
Se qualcuno ha gia' esperienza in proposito e sa' consigliarmi mi fa
davvero una cortesia, se poi mi indica qualche link giusto.....sarebbe
il massimo.
Cordiali saluti
Roberto

Roberto Vegliach wrote:

purtroppo non posso aiutarti direttamente, se perņ vai su:
www.piclist.com
probabilmente trovi qualcosa di utile, io ci sono cresciuto. ciao
--
Maurizio

 anzi l' applicazione e' praticamente statica, setto il DAC e lui rimane
Il CS lo devi portare basso prima di ogni transazione con il DAC, quando ha
termine la trasmissione dei dati (2 byte interi) lo riporti alto e quel
punto il DAC aggiorna la sua uscita in conformità con il dato trasmesso.
Dato che tale funzione non viene gestita dell'USART interna del 877 devi
provvedere tu a portare tale pin prima a 0 e poi a 1 tramite un paio di
istruzioni dedicate.
Ipotizzando che colleghi il CS al pin 0 della porta B, che deve essere
normalmente a 1, in pseudo linguaggio hai una cosa simile :
RB0=0
Emetto 2 byte su SPI
RB0=1
Bye

"<< AfterBurner >>" wrote:

Grazie, immaginavo di doverli gestire " a mano", quello che mi preoccupa e' il
settaggio corretto dei vari registri coinvolti, se si sbaglia qualcosa ci
vogliono tre giorni per capire perche non va'...
Se qualcuno ha esperienza diretta di connessioni con la SPI, mi farebbe piacere
sapere quanto ha tribolato prima di vederla andare.
Saluti Roberto

 Saluti Roberto
Purtroppo non ho mai usato la modalità SPI, solo seriale asincrona e I2C,
pertanto non posso aiutarti specificatamente al tuo problema però posso
dirti che sicuramente non è poi così complicato come pensi.
Per imparare ad usare l' I2C dei PIC in modalita Master o Slave mi ci sono
volute un paio di ore tra lettura del data sheet e prove pratiche (fatte in
C).
Dato che la SPI usa lo stesso modulo (MSSP) del PIC dell'I2C non credo che
ti ci voglia tanto di più per imparare ad usarlo.
Bye

"<< AfterBurner >>" wrote:

Ti sento molto ottimista comunque al massimo ci mettero il doppio del tempo,
comunque mi dici che e' fattibile, senza tribolare troppo, ci provero'
grazie e saluti Roberto

 grazie e saluti Roberto
Si decisamente sono un'ottimista :-)
Però devo pure aggiungere che ormai sono oltre 4 anni che ho abbandonato gli
ST6 per passare ai PIC e  di esperienza, visto che li uso professionalmente,
ne ho accumulata abbastanza con queste MCU.
L'utilizzo delle periferiche interne è sempre abbastanza semplice, il trucco
è leggere oltre al data sheet anche la "Midrange reference guide" ai
capitoli che trattano la periferiche che intendi usare, ci trovi molte info
aggiuntive che ti permettono di capire meglio.
Bye.

 Bye.
Buuono a sapersi, il mid range ref guide me lo sono stampato tutto, adesso mi
tocchera' anche leggerlo....
Saluti Roberto