spacer.png, 0 kB

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

Rispondi
 
Strumenti discussione Modalità  visualizzazioe
  #11  
Vecchio 08-11-2010, 20.34.35
Fu Mauro Fu Mauro non è collegato
Robottaro master
 
Data registrazione: 03-07-2006
Residenza: Norimberga (Germania)
Messaggi: 440
Potenza reputazione: 198
Fu Mauro La sua reputazione è oltre la sua famaFu Mauro La sua reputazione è oltre la sua famaFu Mauro La sua reputazione è oltre la sua famaFu Mauro La sua reputazione è oltre la sua famaFu Mauro La sua reputazione è oltre la sua famaFu Mauro La sua reputazione è oltre la sua fama
Predefinito

Al fine di poter cambiare modalita' viene controllato lo stato del bus. Se il transceiver non e' collegato il controllo del bus non e' possibile e il controllo di cambio di modalita' entra in un loop infinito.
Anche facendo uso della modalita' loop-back non funziona.
Credo di averlo scritto anche nella mia documentazione.

Saluti,

Mauro
__________________
www.LaurTec.it

Artorius Humanoid Robot, Robot Domotino, C18, USB, PIC, Elettrocardiografo...e molto altro
Rispondi citando
  #12  
Vecchio 08-11-2010, 20.43.31
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, hai ragione era scritto in una nota che avevo anche letto, .
grazie di tutto..
Rispondi citando
  #13  
Vecchio 08-11-2010, 21.01.21
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

Scusa un ultima cosa.. Ho guardato sia sul datasheet, sia nel pdf del sito Laurtec, ma non ho capito bene.. Durante l'inizializzazione posso settare le maschere e i filtri a mio piacimento o devo inizializzare prima tutto a zero e poi successivamente settarli come voglio?
Rispondi citando
  #14  
Vecchio 08-11-2010, 21.21.13
Fu Mauro Fu Mauro non è collegato
Robottaro master
 
Data registrazione: 03-07-2006
Residenza: Norimberga (Germania)
Messaggi: 440
Potenza reputazione: 198
Fu Mauro La sua reputazione è oltre la sua famaFu Mauro La sua reputazione è oltre la sua famaFu Mauro La sua reputazione è oltre la sua famaFu Mauro La sua reputazione è oltre la sua famaFu Mauro La sua reputazione è oltre la sua famaFu Mauro La sua reputazione è oltre la sua fama
Predefinito

Inizializza il modulo e poi imposti le maschere e filtri.

Saluti,

Mauro
__________________
www.LaurTec.it

Artorius Humanoid Robot, Robot Domotino, C18, USB, PIC, Elettrocardiografo...e molto altro
Rispondi citando
  #15  
Vecchio 27-03-2011, 23.23.12
slyder slyder non è collegato
Nuovo robottaro
 
Data registrazione: 24-03-2011
Residenza: new york
Messaggi: 6
Potenza reputazione: 0
slyder E' per ora ancora un mistero
Predefinito

Buonasera, mi aggiungo alla discussione per chiedere un chiarimento...
Ho sviluppato una scheda che riceve dati da un canbus, ma al momento di provarla, questa non funzionava...
Ho verificato che effettivamente vi fosse un segnale sulla linea tramite un oscilloscopio, ed effettivamente si vedeva un segnale sia in ingresso al tranceiver, sia in ingresso al pic (qui, naturalmente, solo sulla linea di ricezione). Quindi penso che il problema sia di natura software.

Ho inizializzato il modulo can del pic seguendo le istruzioni del datasheet, ovvero:

1. Initial LAT and TRIS bits for RX and TX CAN.
2. Ensure that the ECAN module is in Configuration mode.
3. Select ECAN Operational mode.
4. Set up the Baud Rate registers.
5. Set up the Filter and Mask registers.
6. Set the ECAN module to normal mode or any other mode required by the application logic.

ma verificando lo stato dei registri tramite la funzione di debug del pickt3 (mi sembra si chiami così il programmatore che sto usando), si vede che il bit RXFUL del registro RXB0CON rimane costantemente a zero, ciò mi porta a pensare che il problema sia nella inizializzazione del modulo e non nella parte relativa alla lettura del messsaggio.

Poichè mi sembrerebbe che i registri relativi al baud rate siano settatti giustamente (cosa non certa però), vorrei chiedervi, nel caso di identificatori standard a 11 bit, e nel caso io dovessi ricevere solamente il pacchetto con identificatore 001 0000 0110, se io setto i registri relativi a maschere e filtri in questo modo:

Codice:
///// Maschere buffer0 e buffer1, vengono controllati tutti i bit        
//Standard MASK RX BUFFER 0
    RXM0SIDH = 0b11111111;
    RXM0SIDL = 0b11100000;

    //Standard MASK RX BUFFER 1
    RXM1SIDH = 0b11111111;
    RXM1SIDL = 0b11100000;
  
/// Filtri buffer0 e buffer1, viene fatto passare solo identificatore 0x106 

    // STANDARD FILTER 0 BUFFER 0
    RXF0SIDLbits.EXIDEN = 0x00;    //standard filter
    RXF0SIDH = 0b00100000;
    RXF0SIDL = 0b11000000;

    // STANDARD FILTER 1 BUFFER 0
    RXF1SIDLbits.EXIDEN = 0x00;    //standard filter
    RXF1SIDH = 0b00100000;
    RXF1SIDL = 0b11000000;

    // STANDARD FILTER 2 BUFFER 1
    RXF2SIDLbits.EXIDEN = 0x00;    //standard filter
    RXF2SIDH = 0b00100000;
    RXF2SIDL = 0b11000000;
                                    
    // STANDARD FILTER 3 BUFFER 1 
    RXF3SIDLbits.EXIDEN = 0x00;    //standard filter                            
    RXF3SIDH = 0b00100000;
    RXF3SIDL = 0b11000000;
                                  
    // STANDARD FILTER 4 BUFFER 1
    RXF4SIDLbits.EXIDEN = 0x00;    //standard filter
    RXF4SIDH = 0b00100000;
    RXF4SIDL = 0b11000000;
                                  
    // STANDARD FILTER 5 BUFFER 1
    RXF5SIDLbits.EXIDEN = 0x00;    //standard filter
    RXF5SIDH = 0b00100000;
    RXF5SIDL = 0b11000000;
è corretto o dimentico qualcosa?
Rispondi citando
  #16  
Vecchio 28-03-2011, 20.21.31
Fu Mauro Fu Mauro non è collegato
Robottaro master
 
Data registrazione: 03-07-2006
Residenza: Norimberga (Germania)
Messaggi: 440
Potenza reputazione: 198
Fu Mauro La sua reputazione è oltre la sua famaFu Mauro La sua reputazione è oltre la sua famaFu Mauro La sua reputazione è oltre la sua famaFu Mauro La sua reputazione è oltre la sua famaFu Mauro La sua reputazione è oltre la sua famaFu Mauro La sua reputazione è oltre la sua fama
Predefinito

Salve Slider,

non ho visto le maschere, ma un problema che sicuramente hai è dovuto a un bug della libreria che non ho ancora aggiornato. Il bug non è visibile se la libreria è usata per far comunicare due PIC che usano la libreria LuarTec ma è visibile se si cerca di comunicare con altri dispositivi. Il problema risiede nel fatto che il bit rate non è impostato correttamente. Questo potrebbe portare anche ad un bus off delle altre periferiche.
Il problema dovrebbe essere legato all'impostazione del bit SJW.

Non usare mai un sistema CAN collegato alla macchina quando questa è in movimento. Se periferiche CAN dovessero andare in BUS OFF si potrebbero avere dei rischi. La libreria LaurTec non è testata secondo gli standard richiesti in applicazioni automobilistiche.

Spero presto di aggiornare la libreria.

Stay tuned...

Saluti,

Mauro
__________________
www.LaurTec.it

Artorius Humanoid Robot, Robot Domotino, C18, USB, PIC, Elettrocardiografo...e molto altro
Rispondi citando
  #17  
Vecchio 02-04-2011, 14.44.20
slyder slyder non è collegato
Nuovo robottaro
 
Data registrazione: 24-03-2011
Residenza: new york
Messaggi: 6
Potenza reputazione: 0
slyder E' per ora ancora un mistero
Predefinito

Ho riscontrato un problema abbastanza strano... Lavorando sui registri che regolano il baud rate sono riuscito finalmente a ricevere i messaggi del can...

Se non setto alcuna maschera e registro i messaggi arrivano indistintamente, come penso debba essere..

Però se setto le maschere e filtri come nel messaggio precedente e poi vado a leggere il valore dei registri RXB0SIDH e RXB0SIDL, che mi dovrebbero indicare l identificatore del pacchetto ricevuto, questo risulta:

001 0000 1101

che risulta essere diverso all identificatore 001 0000 0110 che avevo impostato io nel filtro... Mi domando come sia possibile questa cosa...



Citazione:
Orginalmente inviato da Fu Mauro Visualizza messaggio
ma un problema che sicuramente hai è dovuto a un bug della libreria che non ho ancora aggiornato.
Ciao mi sono dimenticato di scrivere che non sto usando la libreria laurtec (che però ho scaricato per comprenderne il funzionamento)... Ho scritto in questa discussione visto che si parlava di protocollo can.
Se ho sbagliato e devo iniziare una nuova discussione ditemelo e provvederò (in tal caso mi scuso)...

Citazione:
Orginalmente inviato da Fu Mauro Visualizza messaggio
Il bug non è visibile se la libreria è usata per far comunicare due PIC che usano la libreria LuarTec ma è visibile se si cerca di comunicare con altri dispositivi. Il problema risiede nel fatto che il bit rate non è impostato correttamente. Questo potrebbe portare anche ad un bus off delle altre periferiche.
Il problema dovrebbe essere legato all'impostazione del bit SJW.
Potrei chiedere una veloce delucidazione riguardo questo problema? Perchè sul datasheet del componente non ho capito molto bene come impostare questo bit..

Citazione:
Orginalmente inviato da Fu Mauro Visualizza messaggio
Non usare mai un sistema CAN collegato alla macchina quando questa è in movimento. Se periferiche CAN dovessero andare in BUS OFF si potrebbero avere dei rischi. La libreria LaurTec non è testata secondo gli standard richiesti in applicazioni automobilistiche.
Ok, la vettura su cui andrà la scheda che sto sviluppando è attualmente ferma in officina... Le informazioni inviate, in particolare da una centralina mecktronik mk6, che mi interessano sono relative a parametri (ad esempio temperature) che non necessitano dell auto in movimento o a motore avviato...

Ultima modifica di slyder : 02-04-2011 alle ore 16.54.42
Rispondi citando
  #18  
Vecchio 03-04-2011, 12.08.35
Fu Mauro Fu Mauro non è collegato
Robottaro master
 
Data registrazione: 03-07-2006
Residenza: Norimberga (Germania)
Messaggi: 440
Potenza reputazione: 198
Fu Mauro La sua reputazione è oltre la sua famaFu Mauro La sua reputazione è oltre la sua famaFu Mauro La sua reputazione è oltre la sua famaFu Mauro La sua reputazione è oltre la sua famaFu Mauro La sua reputazione è oltre la sua famaFu Mauro La sua reputazione è oltre la sua fama
Predefinito

Salve,

il dettaglio del non usare la libreria LaurTec non è poco!
Pensavo stessi utilizzando la mia libreria, ed il problema delle maschere non mi era mai stato comunicato.

Sulla documentazione associata alla libreria parlo del bit SJW, che comunque discende dalle specifiche CAN stesse, per cui puoi trovare altra documentazione in bibliografia.

Leggi pure il tutorial sul CAn che trovi sempre sul sito LaurTec.

Per le maschere e filtri confronta con la libreria.

Saluti,

Mauro
__________________
www.LaurTec.it

Artorius Humanoid Robot, Robot Domotino, C18, USB, PIC, Elettrocardiografo...e molto altro
Rispondi citando
  #19  
Vecchio 04-04-2011, 13.38.14
slyder slyder non è collegato
Nuovo robottaro
 
Data registrazione: 24-03-2011
Residenza: new york
Messaggi: 6
Potenza reputazione: 0
slyder E' per ora ancora un mistero
Predefinito

Ho provato ad usare la libreria laurtec, ma quando arrivo a compilare il progetto, formato solamente dalla libreria in oggetto e dal main (composto solo dalla funzione di inizializzazione del modulo e di una funzione per ricevere il messaggio, quindi poche righe di codice) esce un file hex di 36K ..
Rispondi citando
  #20  
Vecchio 10-04-2011, 20.50.46
slyder slyder non è collegato
Nuovo robottaro
 
Data registrazione: 24-03-2011
Residenza: new york
Messaggi: 6
Potenza reputazione: 0
slyder E' per ora ancora un mistero
Predefinito

'sera a tutti... ho finalmente risolto...

Dopo aver bruciato un tranceiver abbiamo verificato nuovamente i collegamenti e sembra che il pin Vref fosse stato collegato a vcc.. Inoltre la scheda che forniva l alimentazione (che ha diversi anni) non funzionava bene... Errori stupidi, me ne rendo conto... Vi ringrazio comunque per il supporto fornito...


Sicuramente è una cosa di cui siete già a conoscenza, comunque mi sono imbattuto in un utility a questo indirizzo:

http://intrepidcs.com/support/mbtime.htm

per calcolare i valori del Propagation Segment, Phase Segment 1, Phase segment 2, Brp e Sjw, impostando la frequenza di clock del pic e la velocità del can...

Sono tutti conti facilissimi da fare a mano, però può sempre tornare utile....
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
Distanza con protocollo SPI. Ziko Comunicazione 3 27-08-2012 12.21.49
Più strada cambiando protocollo. Ziko Comunicazione 8 28-01-2011 11.29.05
PIC in rete con rs232+protocollo UART calo Comunicazione 2 25-01-2008 21.07.16
Protocollo: Pratica nonno_62 Progetto robot MODDI (forum chiuso) 23 18-02-2007 21.02.06
Protocollo marnic Progetto robot MODDI (forum chiuso) 115 30-09-2006 17.37.34


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


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