CANBUS

Salve a tutti, sto cercando di portare su un Atmel Mega un progetto vecchio di qualche anno fa relativamente alla gestione del CAN BUS.

Sto raccogliendo informazioni, dritte, codice, librerie, esempi e chi ne ha più ne metta sulle esperienze del CANBUS applicate all'arduino e dintorni. Preferibilmente vorrei usare un CAN Controller (direi che un Microchiop MCP2515 sia adeguato in termini di costi, reperibilità e share). Scriversi il datalayer a SW si può fare ma oltre ad occupare memoria inutilmente appesantisce il uControllore che preferirei facesse qualcosa di più edificante che calcolare dei CRC...

Quindi sto chiedendo a tutta la comunity se gentilmente può indirizzarmi verso qualche progetto/info da cui prendere spunto per l'impementazione di un SW che possa leggere e scrivere messaggi su un BUS CAN 2.0B (sia 11 che 19 bit header) che sfrutti una catena di questo tipo:

AT-Mega (SPI -->) CAN Controller --> Transceiver CAN

Approssimativamente: ATMega328 (ma vanno bene tutti quelli che hanno un SPI) -- MCP2515 -- MCP2551 .

Grazie a tutti e spero che questo thread possa essere utile anche ad altri amici.

Un saluto,
Enrico.

Ciao,
Avevi già pensato a una libreria in particolare?

tipo

http://code.google.com/p/sparkfun-arduino-can-shield-code/downloads/list

grazie Luca, no non avevo pensato a nulla in particolare. in quesro momento devo apprendere il più possibile per poi fare la scelta giusta. per ora intanto mi studio questa e la provo.

grazie ancora.

Enry

Solo per la cronaca, sulla nuova DUE sono stati previsti due pin per il CANBUS anche se non ancora gestiti.

Prevedo che a breve dovrebbe uscire una libreria DOC Arduino.

cyberhs:
Solo per la cronaca, sulla nuova DUE sono stati previsti due pin per il CANBUS anche se non ancora gestiti.

Attenzione che serve un CAN TRANSCEIVERS, p.e. SN65HVD230, per collegare la DUE al CAN bus.

Sono d'accordo, infatti l'ho scritto nel primo post :stuck_out_tongue:

Credo che l'amico scrive a proposito del fatto che presto ci sarnno nella comunità molti esempi a riguardo e librerie ad Hoc per gestire il controller interno del uControllore senza dover necessariamente utilizzare (come sto facendo io) un controllore esterno. Per il layer 1 (come dicono i softwaristi) ci pensa e ci deve pernsare un fisico (tu hai giustamente suggerito il SN65HVD230 ma ce ne sono molti altri tra cui scegliere e tutti equivalenti). Cambiano i consumi e la risposta alle alte velocità ma se non si hanno grosse pretese uno vale l'altro.

Enry

Ciao,
Io ho fatto questa riflessione:
Da un punto di vista circuitale ad esempio io cerco di utilizzare un mcp2515 + 2551 + quarzo ecc..
quando se vediamo la "concorrenza" :slight_smile: tra i tanti un pic tipo 18F458 le cose si semplificano di molto.
Esiste un microcontrollore atmega arduino compatibile con caratteristiche simili?
Esiterebbe l' opportuna libreria?

Luca

Credo che il DUE sia quello a cui alludi tu. Personalmente lo premio per il fatto che, a differenzadi 20 anni fa, oggi farsi delle PCS è faticoso, se non si usano i componenti THT. Quindi bisogna appoggiarsi a sbrogliatori e professionisti nel farsi fare le PCS. Qui il costo scende in base al numero e a noi hobbisti non ne servono mai pù di 2 o 3 ... quindi il DUE ha già tutto saldato e funzionante ... compreso il CAN.

Altrimenti esistono altri uC, come giustamente affermi, che però tolti i PIC sono tutti i packages diffici ... diciamo così. Sarà che con l'età non ci vedo più un belin ... ahahah