CANhack.de CAN interfaccia RKS+CAN
Tecnica diesel, tecnica motori, diagnosi auto, riparazione e manutenzione.

µC + 2x MCP2515 per filtraggio

 
Nuovo argomento Rispondi 🔗 🖨 CANhack.de - Indice » Microcontrollori ed elettronica, programmazione
Autore Messaggio
shavenne
CAN-Profi
CAN-Profi


Iscritto il: 27/04/2015
Messaggi: 37
Karma: +6 / -0   Grazie, mi piace!
Località: Paderborn

Supporto CAN

Messaggio20-04-2017, 0:07    Oggetto: µC + 2x MCP2515 per filtraggio Cita

Ciao!

Sto pensando un po' e non riesco a capire.

Ho acquistato una scheda STM32 (o Nucleo F303K8)) e ho collegato due chip MCP2515 a questa. Finora, l'invio e la ricezione funzionano perfettamente.

Quello che vorrei realizzare, in realtà, è collegare un'unità centrale (headunit) a un chip MCP2515 e il display associato all'altro. Ciò che uno riceve, l'altro lo trasmette, e viceversa.
Vorrei, da un lato, capire da quale dispositivo provengono le diverse notifiche e, dall'altro, poter filtrare le notifiche in base a specifiche identificazioni. Questa è la teoria. In linea di principio, questo sistema funziona già, MA: non appena un gran numero di dati arriva in rapida successione (ad esempio, quando si apre un menu complesso), i messaggi vengono persi e, ovviamente, l'apertura del menu fallisce.
Sembra proprio che non riesca a recuperare i dati dal buffer di ricezione (RX) abbastanza velocemente. Non importa cosa provi a fare (ho creato un buffer di trasmissione (TX) separato, ho dato priorità più alta alla ricezione, ho disabilitato l'output seriale, ecc.), niente sembra funzionare. Funziona in modo così inaffidabile icon_sad.gif.

Prima di continuare a cercare di ottimizzare ogni minimo dettaglio per far funzionare il tutto: il mio progetto è davvero realizzabile? Quello che sto facendo ora per me sarebbe solo un "plus", e non è necessario che funzioni al 100%, ma pensavo che potesse semplificarmi le azioni future, se riuscissi a filtrare in modo efficace i dati rilevanti per il dispositivo di destinazione. Idee?

Saluti.
Sven.


Ultima modifica il 20-04-2017, 0:09, modificato 2 volte in totale.
Torna su Profilo MP
Zampan0
CAN-Profi
CAN-Profi


Iscritto il: 28/06/2016
Messaggi: 30
Karma: +20 / -0   Grazie, mi piace!


Supporto CAN

Messaggio21-04-2017, 7:49    Oggetto: µC + 2x MCP2515 per filtraggio Cita

Hai collegato i pin di interrupt del MCP2515 a ciascuno dei pin di ingresso dello STM?
Ogni MPC segnala, tramite questo meccanismo, lo stato del buffer dal punto di vista dell'hardware.
Non ho perso nemmeno un singolo fotogramma.
Torna su Profilo MP
GerdJ
CAN-Profi
CAN-Profi


Iscritto il: 08/09/2014
Messaggi: 45
Karma: +12 / -0   Grazie, mi piace!


Supporto Premium

Messaggio21-04-2017, 8:07    Oggetto: µC + 2x MCP2515 per filtraggio Cita

Ciao,

Quello che intendi fare, il mio dispositivo FIS Blocker lo fa allo stesso modo: si inserisce tra (nel mio caso) la radio e l'unità di controllo del veicolo nel bus CAN dell'infotainment. È basato su un STM32F4, che ha 2 interfacce CAN integrate. Quindi, ci si evita tutta quella complicata procedura SPI.

Non ho mai avuto problemi di frame drop. Il microcontrollore STM32 funziona a 186 MHz e le interfacce CAN vengono interrogate tramite interrupt.

Utilizzi polling, istruzioni di attesa o, eventualmente, output seriali inutilmente lenti?
Dai un'occhiata a una scheda di sviluppo STMF4.
Torna su Profilo MP
CAN-Diagnose
Administrator
Administrator
Avatar-CAN-Diagnose

Iscritto il: 07/06/2011
Messaggi: 573
Karma: +29 / -0   Grazie, mi piace!
Località: Ländle



Messaggio21-04-2017, 9:51    Oggetto: µC + 2x MCP2515 per filtraggio Cita

Lo STM32 è effettivamente abbastanza veloce, in modo che, con una programmazione adeguata, non dovrebbero andare perse nessuna informazione. icon_wink.gif
Dipl.-Ing. (FH) Rainer Kaufmann - Embedded Software Freelancer
System RKS+CAN: CANHack.de CAN-Bus Interface
Torna su Profilo MP WWW
shavenne
CAN-Profi
CAN-Profi


Iscritto il: 27/04/2015
Messaggi: 37
Karma: +6 / -0   Grazie, mi piace!
Località: Paderborn

Supporto CAN

CAN-Diagnose piace questo.
Messaggio21-04-2017, 10:34    Oggetto: µC + 2x MCP2515 per filtraggio Cita

Credo di aver trovato il problema ieri sera, tardi. Probabilmente non si trattava di un problema software, ma di un problema di contatto tra un transceiver e il suo MCP2515... insomma, un problema di connessione su una breadboard icon_wink.gif. Osserverò la situazione.

Ho riscontrato, tramite un analizzatore Saelae Logic, che in un momento casuale c'era un'attività anomala sul bus SPI, ma non ricevevo nuovi interrupt dal dispositivo MCP. Questo suggeriva che il mio microcontrollore richiedeva ripetutamente spazio libero nei buffer di trasmissione, ma sembrava che nessuno fosse disponibile.

Ma grazie per i suggerimenti icon_smile.gif.


Ultima modifica il 21-04-2017, 10:47, modificato 1 volta in totale.
Torna su Profilo MP
GerdJ
CAN-Profi
CAN-Profi


Iscritto il: 08/09/2014
Messaggi: 45
Karma: +12 / -0   Grazie, mi piace!


Supporto Premium

Messaggio21-04-2017, 10:42    Oggetto: µC + 2x MCP2515 per filtraggio Cita

La breadboard è icon_smile.gif così spesso il problema.

Ecco una traduzione:

"Solo un consiglio: dai un'occhiata al Teensy 3.6, è compatibile con Arduino, ha 2 interfacce CAN, uno slot SD, è piccolo e molto, molto veloce. Basta collegare due transceiver CAN da 3.3V e caricare i programmi per il supporto dual CAN." È difficile trovare un modo più semplice.
Torna su Profilo MP
shavenne
CAN-Profi
CAN-Profi


Iscritto il: 27/04/2015
Messaggi: 37
Karma: +6 / -0   Grazie, mi piace!
Località: Paderborn

Supporto CAN

Messaggio21-04-2017, 10:49    Oggetto: µC + 2x MCP2515 per filtraggio Cita

Il Nucleo ha anche un'interfaccia CAN, ma non mi è del tutto chiaro come gestire la temporizzazione in questo caso. Ho bisogno di un cavo molto particolare per il sistema di infotainment dell'Opel, precisamente con una velocità di 95,238 kbps.
Torna su Profilo MP
Nuovo argomento Rispondi 🔗 🖨 CANhack.de - Indice » Microcontrollori ed elettronica, programmazione
Articoli e argomenti simili
Argomento Forum
Nessun nuovo messaggio Arduino + Can Bus Shield / PID Filtern Microcontrollori ed elettronica, programmazione
Nessun nuovo messaggio RCD 320 : CAN Simulation mit AVR und MCP2515 Bus CAN Generale
Nessun nuovo messaggio CAN-Bus auswerten mit MCP2515 und RaspberryPi Microcontrollori ed elettronica, programmazione
Nessun nuovo messaggio Arduino mit MCP2515 als Steuerung Microcontrollori ed elettronica, programmazione
Vai a:  
Non puoi scrivere nuovi argomenti in questo forum.