Welche CAN Controller giebts da ?
Welche CAN Controller giebts da ?
na da gibts schon ne ganze Reihe ... MCP2515, oder SJA1000 z.B. ... oder gleich die AT90CAN, die haben den CAN-Controller schon eingebaut.
Vor den Erfolg haben die Götter den Schweiß gesetzt
Zum Canbus kannst du auch auf Kampis Seite einiges lesen, inkl. Programmen
http://kampis-elektroecke.de/?page_id=453
Gruß
Georg
Ich es mit RS485 halbduplex realisieren, die Vorteile wären:
- Einfache Integration aller Teilnehmer vom PC (einfache UART) bis zum µC.
- Störungsfreie Übertragung über das gesammte Netz
- alle Komponenten sind kostengünstig
- einfaches Protokoll
Dann würde ich (um da Thema einfach zu halten) einen Master "installieren", der zyklisch alle Teilnehmer (jeder hat eine ID) abfragt.
Die Slaves horchen immer mit wenn die auf den jeweiligen Slave passende ID kommt, wird vom betreffenden Slave geantwortet.
So wird das z.B. bei Profibus oder beim DMX Bus (http://de.wikipedia.org/wiki/DMX_%28Lichttechnik%29) gemacht.
Also hab ich das jetzt richtig verstanden:
Bei CAN brauche ich mindestens 3 IC's : den Steuer IC, einen Controller (MCP2515) und einen Transceiver(MCP2551) oder ?
bei RS485 brauche ich nur 2 und leichter anzusteuern ist der auch.
Denke ich werde RS485 nehmen, da CAN ja eigentlich für Netzwerke entwickelt wurde (also viele IC's an einer Leitung), da ich aber Knotenpunkte hab, hab ich nur Punkt zu Punkt verbindungen.
nein, beim CAN brauchst Du auch nur 2, es gibt Controller, die die CAN-Schnittstelle schon drinnen haben, die angesprochenen AT90CAN z.B..
Ob 485 leichter umzusetzen ist bezweifle ich ... da musst Du Dich um alles selber kümmern, Plausibilitätsprüfung, CRC, Kollision und Protokoll ... an 485 hat sich auch schon so Mancher die Zähne ausgebissen.
BTW ... DMX ist kein Protokoll, das ist ne Krankheit, die Bytes auf Teufel komm raus rausfeuern und fertig, entweder die Lampe leuchtet oder eben nicht ... brrrrrr ... Modbus ASCII find ich gut, einfach umsetzbar am µC
Vor den Erfolg haben die Götter den Schweiß gesetzt
Ja das es beim AT90CAN keinen Controller braucht, ist mir klar, allerdings kostet der beim biligsten shop den ich gefunden hab 10€ das Stück.
Bei RS485 tut's jeder AVR mit UART, also auch einer für 1,50€ wie nen kleiner Atmega.
Und mehr als 4KB Flash braucht kein Mensch für einen Schalter/Relai controller.
Was das Protokoll angeht, das habe ich ja schon.
Mein Protokoll:
2 Byte Device address
1 Byte Datentyp
1 Byte Datenlänge
x Byte Daten
2 Byte Checksumme über das ganze Paket
läuft bisher auf mehreren Boards gut und ich hab massenweise Code für diverse AVR's.
CRC, Plausibilitätsprüfung und Protokoll ist also kein Problem.
Kollisionen sollte ich auch hinkriegen indem ich das Protokoll so designe, dass keine entstehen können.
Aber meine Erste Frage, ob ein ganz normaler UART mit 12V Pegeln geht ist jetzt leider ein wenig untergegangen.
Immerhin sind es geschirmte Kabel und nirgends mehr als 20m.
Lesezeichen