spacer.png, 0 kB

Torna indietro   Roboitalia.com - Il primo portale in Italia sulla robotica amatoriale > Robotica Avanzata > Comunicazione

Rispondi
 
Strumenti discussione Modalità  visualizzazioe
  #1  
Vecchio 29-10-2010, 13.18.27
1q2w3e4r 1q2w3e4r non è collegato
Nuovo robottaro
 
Data registrazione: 29-10-2010
Residenza: pistoia
Età : 35
Messaggi: 12
Potenza reputazione: 0
1q2w3e4r E' per ora ancora un mistero
Predefinito comunicazione dsp pic

Ciao a tutti, avrei bisogno di un piccolo aiuto..

Al momento ho un dsp utilizzato in un altro progetto non mio, su cui è presente un informazione ( che altro non è che un numero che varia nel tempo) che devo trasferire ad un pic per un mio progetto..

Posso modificare il programma che gira sul dsp, aggiungendo il codice necessario a trasferire l'informazione, però, poichè appunto questo dsp è usato per un altro progetto, ho a disposizione solamente un pin..

Considerando il fatto che come programmazione su dsp sono a zero, mi sapete indicare una via, non troppo complessa, per risolvere il mio problema??
Perchè ho dato un occhiata a qualche protocollo ma necessitano di più di un pin e dato che non conosco i dsp non vorrei perdere tempo su un qualcosa di complicato, quando magari potrei ricorrere ad una soluzione più semplice...
Grazie per l'aiuto...
Rispondi citando
  #2  
Vecchio 29-10-2010, 18.01.37
L'avatar di SoldatoSemplice
SoldatoSemplice SoldatoSemplice non è collegato
Robottaro master
 
Data registrazione: 06-07-2009
Residenza: Roma
Età : 39
Messaggi: 263
Potenza reputazione: 145
SoldatoSemplice La sua reputazione è oltre la sua famaSoldatoSemplice La sua reputazione è oltre la sua famaSoldatoSemplice La sua reputazione è oltre la sua famaSoldatoSemplice La sua reputazione è oltre la sua famaSoldatoSemplice La sua reputazione è oltre la sua fama
Predefinito

Con un solo pin (più la massa ovviamente) ti potresti inventare un qualunque protocollo per trasferire, comunque però un pic potente come quello ha a disposizione sia USART che I2C, che sono entrambi dei bus di comunicazione.

Ad esempio nell'I2C l'indirizzamento è ad 8 bit, questo vuol dire che potrebbero usare quello stesso I2C 256 diversi dispositivi, quindi probabilmente puoi usare uno dei bus del PIC.
Rispondi citando
  #3  
Vecchio 29-10-2010, 18.54.50
1q2w3e4r 1q2w3e4r non è collegato
Nuovo robottaro
 
Data registrazione: 29-10-2010
Residenza: pistoia
Età : 35
Messaggi: 12
Potenza reputazione: 0
1q2w3e4r E' per ora ancora un mistero
Predefinito

con pic intendi il dsp, giusto?

Comunque ho dato un occhiata al datasheet del dispositivo ,che è il tms320f2808, ed effettivamente c è l' i2c.. Inoltre ho visto che ci sono anche:
- Serial Peripheral Interface (SPI) Modules (SPI-A, SPI-B, SPI-C, SPI-D)
- Serial Communications Interface (SCI) Modules (SCI-A, SCI-B)
che dovrebbero essere sempre delle seriali.. sai mica che differenza c'e tra le tre??
Rispondi citando
  #4  
Vecchio 30-10-2010, 08.13.31
L'avatar di guiott
guiott guiott non è collegato
Robottaro sostenitore
 
Data registrazione: 23-04-2004
Residenza: Roma
Età : 67
Messaggi: 1,418
Potenza reputazione: 349
guiott La sua reputazione è oltre la sua famaguiott La sua reputazione è oltre la sua famaguiott La sua reputazione è oltre la sua famaguiott La sua reputazione è oltre la sua famaguiott La sua reputazione è oltre la sua famaguiott La sua reputazione è oltre la sua famaguiott La sua reputazione è oltre la sua famaguiott La sua reputazione è oltre la sua famaguiott La sua reputazione è oltre la sua fama
Invia un messaggio via AIM a guiott Invia un messaggio via MSN a guiott Invia un messaggio via Yahoo a guiott Send a message via Skype™ to guiott
Predefinito

Citazione:
Orginalmente inviato da 1q2w3e4r Visualizza messaggio
con pic intendi il dsp, giusto?

Comunque ho dato un occhiata al datasheet del dispositivo ,che è il tms320f2808, ed effettivamente c è l' i2c.. Inoltre ho visto che ci sono anche:
- Serial Peripheral Interface (SPI) Modules (SPI-A, SPI-B, SPI-C, SPI-D)
- Serial Communications Interface (SCI) Modules (SCI-A, SCI-B)
che dovrebbero essere sempre delle seriali.. sai mica che differenza c'e tra le tre??
L'I2C è un bus a tutti gli effetti che gestisce più dispositivi, però ha bisogno di 2 fili: clock e dati, SDA e SCL. L'SPI ha bisogno di tre fili: clock, in e out (SCK, SDO e SDI), più un pin di chip select per ogni dispositivo in più, se il device è uno solo possono bastare tre fili. Ognuno ha le proprie caratteristiche di velocità, distanza e gestione master-slave, il modulo HW all'interno della tua MCU si occupa della gestione dei livelli secondo le caratteristiche specifiche di ogni bus, il tuo SW si deve occupare della gestione del protocollo a livello superiore.

Se i dati che ti servono sono solamente in uscita dalla MCU, l'unica soluzione è quella di usare una seriale classica, un modulo UART, come probabilmente è quello che chiami SCI. Usi solo il pin TX ed invii i dati in uscita senza alcun protocollo bidirezionale.
Questo sempre che i pin della tua MCU siano rimappabili e ti permetta di attivare la seriale ma usare il pin RX (che a te non serve in questo caso) per un'altra funzione.
__________________
Guido
------
www.guiott.com
Rispondi citando
  #5  
Vecchio 30-10-2010, 11.13.05
1q2w3e4r 1q2w3e4r non è collegato
Nuovo robottaro
 
Data registrazione: 29-10-2010
Residenza: pistoia
Età : 35
Messaggi: 12
Potenza reputazione: 0
1q2w3e4r E' per ora ancora un mistero
Predefinito

ok, sono un pò a digiuno su questo argomento, ma adesso, grazie a voi, ho un minimo di inizio da seguire... Adesso devo solo sentire quale soluzione posso usare visto che il dispositivo è già usato per un altro progetto. Grazie di nuovo.. ciao...
Rispondi citando
  #6  
Vecchio 02-11-2010, 21.35.25
1q2w3e4r 1q2w3e4r non è collegato
Nuovo robottaro
 
Data registrazione: 29-10-2010
Residenza: pistoia
Età : 35
Messaggi: 12
Potenza reputazione: 0
1q2w3e4r E' per ora ancora un mistero
Predefinito

ciao a tutti di nuovo... allora per la comunicazione dsp-pic uso i moduli uart.. Ho scritto una bozza di programmma da fare girare sul pic, il problema è che non so come fare sul dsp, avete per caso una bozza di programma, tanto per avere una linea guida??
Rispondi citando
  #7  
Vecchio 03-11-2010, 13.07.15
L'avatar di SoldatoSemplice
SoldatoSemplice SoldatoSemplice non è collegato
Robottaro master
 
Data registrazione: 06-07-2009
Residenza: Roma
Età : 39
Messaggi: 263
Potenza reputazione: 145
SoldatoSemplice La sua reputazione è oltre la sua famaSoldatoSemplice La sua reputazione è oltre la sua famaSoldatoSemplice La sua reputazione è oltre la sua famaSoldatoSemplice La sua reputazione è oltre la sua famaSoldatoSemplice La sua reputazione è oltre la sua fama
Predefinito

Specifica meglio di quale dsp si tratta: marca, modello, prestazioni, descrivi poi anche l'applicazione generica che vuoi realizzare, le specifiche di comunicazione sul bus, insomma se non dici che tipo di dsp devi programmare è dura aiutarti, nn credi?
Rispondi citando
  #8  
Vecchio 03-11-2010, 14.38.44
1q2w3e4r 1q2w3e4r non è collegato
Nuovo robottaro
 
Data registrazione: 29-10-2010
Residenza: pistoia
Età : 35
Messaggi: 12
Potenza reputazione: 0
1q2w3e4r E' per ora ancora un mistero
Predefinito

si, hai ragione ..

il dsp è il tms320f2808, questo è il datasheet:
http://focus.ti.com/lit/ds/symlink/tms320f2808.pdf

il programma dovrebbe dovrebbe trasferire un dato dal dsp al pic, tramite uart, in modalità asincrona alta velocità, dato di 8 bit..


tanto per darvi un idea, nel pic ho impostato i seguiti registri..
Codice:
#define BAUD 9600                       //velocità a 9600 bit al secondo 
#define FOSC 20000000                  //quarzo a 20MHz 

SPBRG = ((int)(FOSC/(16 * BAUD) -1))

//Registro RCSTA
RCSTAbits.SPEN=1;       //abilita la porta seriale 

//Registro TXSTA
TXSTAbits.TXEN=1;	//abilita la trasmissione	
TXSTAbits.SYNC=0;	//modalita USART asincrona
TXSTAbits.BRGH=1;	//modalità asincrona alta velocità
e questa funzione per leggere il dato (tramite un interrupt)

Codice:
unsigned char leggi() {
	// recupero il byte ricevuto
	while(!RCIF)	// rimango in attesa finche il bit RCIF non è settato
		continue;
	return RCREG;	
}
come ho detto mi basterebbe anche una bozza di codice tanto per capire come andare avanti...

grazie..
Rispondi citando
Rispondi


Utenti attualmente attivi che stanno leggendo questa discussione: 1 (0 utenti e 1 ospiti)
 
Strumenti discussione
Modalità  visualizzazioe

Regole di scrittura
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code è Attivato
Le smilies sono Attivato
[IMG] è Attivato
Il codice HTML è Disattivato

Vai al forum

Discussioni simili
Discussione Autore discussione Forum Risposte Ultimo messaggio
Comunicazione I2C leonsungabriele P. in Basic per micro 19 27-11-2008 16.32.48
Comunicazione SPI tra pic anti83 P. in Basic per micro 2 20-11-2008 10.26.38
comunicazione tra pic franco1063 Elettronica 5 13-06-2006 14.07.45
comunicazione tra pic argoI P. in Basic per micro 5 30-03-2006 19.50.22
Comunicazione IR MarkNitro Elettronica 7 12-04-2003 14.43.00


Tutti gli orari sono GMT. Adesso sono le: 20.09.07.


Basato su: vBulletin Versione 3.8.8
Copyright ©2000 - 2023, Jelsoft Enterprises Ltd.
Realizzazione siti web Cobaltica Foligno
spacer.png, 0 kB