Simpler CAN Baustein

Gast #2230278
Lesenswert?

Hallo alle zusammen.

Ich suche einen CAN Baustein der ähnlich anzusprechen ist wie ein I2C IO 
Baustein (über / oder 3 Pins die Adresse und fertig. Ich möchte einen 
Busknoten realisieren, der in eine halbvolle UP Dose passt. Im Idealfall 
besteht das ganze aus einem Relais, dem IO Baustein und einer ca.3x2cm 
grossen Platine. Die Avr mit CAN haben alle 30+ Pins was ich nicht 
wirklich brauche. Jemand eine Idee?
#2230668
Lesenswert?

0815joe schrieb:

> grossen Platine. Die Avr mit CAN haben alle 30+ Pins was ich nicht
> wirklich brauche. Jemand eine Idee?

Microchip hat eine deutlich bessere Peripherieauswahl. Du könntest z.B. 
zum PIC 18F2580 oder dessen Low-Power-Weiterentwicklung PIC18F25K80 
(greifen, der in 28 Pins schon alles drin hat, und bräuchtest dann nur 
noch den üblichen Transceiver wie z.B. MCP2551. Die ECAN-Einheit des 
genannten PICs ist eine Weiterentwicklung des MCP2515 und durch die 
direkte Integration in den Prozessor deutlich effizienter und einfacher 
anzusteuern als ein externer Controller.

fchk
Gast #2230739
Lesenswert?

Ich verwende derzeit die ARM-Cortex M0 Teile von NXP,
Es gibt Evalboards (LPCxpresso) mit JTAG
und kostenslose Entwicklungsumgebung von CodeRed dazu

LPC11C12 ohne Transceiver LQFP48
LPC11C14 ohne Transceiver LQFP48

und für die Unterputzdose, da gibt es dann nur noch die
Stromversorgung dazu zu basteln

LPC11C22 mit Transceiver LQFP48
LPC11C24 mit Transceiver LQFP48

Alle haben CAN-Treiber on chip und kosten ca. 2..4 Euro in kleine 
Stückzahlen (unschlagbar)
Kleiner, kostengünstiger und einfacher geht es derzeit nicht...

Wenn's ein 8 Bitter sein soll, dann

ATmega16M1 ohne Transceiver
ATMega32M1 ohne Transceiver
ATmega64M1 ohne Transceiver
Gast #2230862
Lesenswert?

Hi.
Danke für eure Antworten. Habe heute auch schon ein wenig gesucht und 
bin auch schon auf den MCP2515 gestossen. Nur hab ich noch keinen Dunst 
wie man den konfiguriert.
Das Teil muss wirklich nichts können als das Relais auf Kommando zu 
schalten.
Ja der Pic 18F2580 wäre ein paasender Kandidat nur auch schon fast zu 
übertrieben für den Anwendungsfall und leider ein Pic. Aber wenns nicht 
anders geht werd ich den nehmen.

Hat wer Erfahrung mit dem mcp2515?

Lg
#2230894
Lesenswert?

0815joe schrieb:
> Hi.
> Danke für eure Antworten. Habe heute auch schon ein wenig gesucht und
> bin auch schon auf den MCP2515 gestossen. Nur hab ich noch keinen Dunst
> wie man den konfiguriert.
> Das Teil muss wirklich nichts können als das Relais auf Kommando zu
> schalten.

Der MCP2515 braucht zwingend einen extra Mikrocontroller zum arbeiten. 
Alleine kann das Teil nichts. Der genannte Pic hingegen ist alleine 
funktionsfähig. Microchip liefert c-Bibliotheken beim C18 mit, mit denen 
man Messages senden und empfangen kann. Den Est musst Du selber 
programmieren.

Fchk
Gast #2234425
Lesenswert?

Matthias Keller schrieb:
> Du kannst auch einfach einen CAN-IO Expander von Microchip nehmen.

Hallo Matthias,
kann ich im Datenblatt nicht so sehen:
kann der Chip auch mit dem ICD3 programmiert werden?

Hast du mal ein Beispiel für "auf PortBit xyz ist ein Flankenwechsel, 
dann schickt der Baustein das und das" ?

Gruß Helmut
Gast #2234494
Lesenswert?

> Wenn das Evo-Board nicht soooo teuer wäre, würde ich's mal versuchen.

Man nehme 2 Transistoren zum Schalten der Programmier- und 
Versorgungsspannung, einen µC (ATTinyxxx) o. ä. und etwas Zeit (WEP).

Ergebnis hier posten ;)
Gast #2234967
Lesenswert?

Danke Frank,
die Configurations-Soft sieht ja gut aus.
Hast du, oder jemand Anders ein Beispiel?

zB. 8MHz, 125 kHz Boudrate

Nehmen wir mal an, die Receive-ID soll 121dez und die Transmit-ID soll 
160dez sein.

Zyklische Übertragung wäre schön, aber im Lernprozess wohl zu viel.

Schon mal vielen Dank für die Antwort.
Gast #2244569
Lesenswert?

Hallo !

Kann dazu kurz etwas sagen:

Die Bitzeit (bei 125 000 Baud = 125 kBaud ist sie 8 usec) wird 
aufgeteilt in einzelne "Time-Quanten".

Je nach CPU Takt nimmt man eine unterschiedliche Anzahl von Time Quanten 
(damit es eben mit der Baudrate hinkommt), aber beispielsweise (über den 
Daumen) 12 oder 16.

Das erste Time Quant ist für die Synchronisation.

Bis der Kontroller den Zustand des Bus einliest, vergehen aber die 
weiteren Time Quanten. Das Propagation Segment und die Phase1 kann man 
auch zusammenfassen (macht z.B. der XC167). Wichtig ist nur, dass nach 
Phase 1 der Zustand des Busses eingelesen wird. Je nach Laufzeit 
(Verzögerung in der Leitung (Lichtgeschw.) aber auch in den 
Treiberbausteinen) stellt jetzt aber der eine oder andere Baustein fest, 
dass er nicht synchron zur ersten Flanke läuft (deshalb gibt es ja das 
Bit Stuffing, damit wenigstens alle 5 Bit eine Flanke kommt). Jeder 
Baustein kann sich dann nachsynchronisieren und verschiebt den "Sampling 
Point" innerhalb Phase 1 und 2 entweder nach vorne oder zurück.

Hausnummer für 125 kBaud:

Zeit tq für ein Time-Quant: 500 ns
Insgesamt pro Bit: 16 Time-Quanten -> Bit-Zeit = 8 usec
1.) Ein Time Quant für Sync
2.) Propagation + Phase 1 bspw. 13 Time-Quanten
3.) Phase 2: Die restlichen also 16-13-1 = 2 Time-Quanten

Ist allerdings nur grob erklärt.

Viele Grüße!
Gast #2254703
Lesenswert?

So, ich habe Thema inhalliert.
Wenn ich die Beispiele, vorwiegend von Microchip oder auch ein 
BRP-Rechner, sehe, dann nehmen Die immer 8TQ oder 16TQ.

Gibt es dafür einen Grund?

Oder macht Das nur Microchip?

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren