Can-Controller/µC

OP #4239704
Hallo,

Ich möchte einen Hausbus konzipieren und hatte eigentlich CAN dafür 
prädestiniert.

Allerdings würde ich gerne auf ein µC zurückgreifen, der CAN von sich 
aus beherrscht, um nicht noch ein SPI/CAN-Controller zu verbauen.
Rein vom Platz und auch von den Kosten her gesehen.

Natürlich gibt es auch µC's mit integrierten Controller - ABER -
meist nur in sehr großer Bauform - also ab 44 Pins aufwärts.

Da meine Frage, ob es nicht auch ein µC mit Can-Controller gibt, der so 
wenig Pins wie möglich hat? Also ab SOIC8 bis SOIC14.

Gibt es so etwas überhaupt?


André
Gast
Schau dir mal den LPC11C00 an, der hat nicht nur den CAN Controller 
sondern auch noch den Transceiver integriert. Hat zwar auch 48 Pins, 
aber du sparst den 2. IC.

http://www.nxp.com/products/microcontrollers/product_series/lpc1100/series/LPC11C00.html#overview

Ansonsten gäbe es noch ein paar STM32 im LQFP32, TSSOP20, WLCSP36 nur 
mit CAN-Controller, bemühe mal die parametrische Suche.
PICs mit CAN-Controller gibts ab 28 Pins aufwärts.

8 Bit: empfohlen: PIC18F26K80 Serie, alles andere sind sehr alte PICs

dsPIC: dsPIC33EV256GM102, 5V-Chip (die 5V brauchst Du ohnehin für den 
Transceiver), 70 MHz; oder dsPIC33FJ64GP802, 3.3V Chip, 40 MHz

Transceiver:
für 5V-Controller: MCP2561, Single Supply; hat bessere Daten als der 
alte MCP2551
für 3.3V-Controller: MCP2562, Dual Supply (5V für den Bus, 3.3V für IO)

Der Transceiver ist IMMER ein separater Chip; selbst beim LPC11C24 ist 
es ein separates Siliziumplättchen, das zusammen mit dem Prozessor 
eingegossen wird. Wenn etwas kaputt geht, ist es der Transceiver, und 
ein SO08 ist einfacher zu tauschen als ein TQFP48. Ist so meine 
Erfahrung.

fchk
OP
Canni schrieb:
> Nein, ich kenne keine MC mit CAN mit SOCI8 oder 14.

Schade

Programmierer schrieb:
> Schau dir mal den LPC11C00 an, der hat nicht nur den CAN Controller
> sondern auch noch den Transceiver integriert. Hat zwar auch 48 Pins,
> aber du sparst den 2. IC.

Genau das ist mein Problem..... zu viele Pins

Programmierer schrieb:
> Ansonsten gäbe es noch ein paar STM32 im LQFP32, TSSOP20, WLCSP36 nur
> mit CAN-Controller, bemühe mal die parametrische Suche.

Guter Tipp...
Parametrische Suche ergab bei mir den : STM32F042x
im TSSOP20 - Gehäuse - schön klein ....

Dann muss ich nur noch lernen diesen µC in Assembler zu 
programmieren.... :-/

Frank K. schrieb:
> 8 Bit: empfohlen: PIC18F26K80 Serie

Den schaue ich mir auch mal an.....

Danke euch allen......
Gast
Wegen Grössen und Pinzahl:

Du brauchst auf jeden Fall einen externen Quarz, da der CAN-Bus recht 
empfindlich auf Abweichungen in der Taktrate reagiert. Der interne 
Oszillator funktioniert nur wenn Du Glück hast genau genug, und ist 
temperaturempfindlich. Über die OSCTUNE-Register lässt sich der zwar 
Nachreglen, wenn Du eine Zeitreferenz hast (kann sogar ein Signal via 
CAN sein, so dass Du dann PLL-m$ssig "einlocken" kannst, allerdings nur 
wenn Du bereits korrekten Empfang hast). Das ist aber alles recht 
mühsam.

Wegen Transceiver: Schau mal den ISO1050 an, der ist noch galvanisch 
isoliert.
Quarz ist auf jeden Fall sinnvoll. Ein Resonator würde auch noch gehen. 
Von Microchip gibts ne Appnote wo der Zusammenhang von Toleranz, Bitrate 
und Leitungslänge erklärt ist. Ich bin aber auch auf Nummer sicher 
gegangen und habe einen Quarz genommen.
André M. schrieb:

> > Aber ich glaube ich nehme dann doch nen 485Bus....
>
> Weniger Hardware und alles andere mach ich per Software.........

Noch weniger? (siehe Bilder)

Der Unterschied zwischen CAN und RS485 wäre nur der andere Transceiver. 
Ansonsten ist der Hardwareaufwand gleich.

Und: Vieles, was der CAN-Controller in Hardware macht, musst Du bei 
RS485 selber in Software realisieren.

fchk
Angehängte Dateien:
Gast
Frank K. schrieb:
> Der Unterschied zwischen CAN und RS485 wäre nur der andere Transceiver.
> Ansonsten ist der Hardwareaufwand gleich.

Wobei ich dann lieber auf CAN Transceiver zurückgreifen würden - die 
sind günstiger und dazu nimmt der Transceiver es problemlos hin, wenn 
zwei Teilnehmer gleichzeitig versuchen auf den Bus zu schreiben, 
Stichwort: Arbitrierung.

Weiterer Vorteil, sollte es dann doch nochmal CAN werden, kann man das 
ganze notfalls in Software nachrüsten - wobei ich das nicht wirklich 
freiwillig machen würde!
Es war auch meine Beobachtung damals, dass CAN und AVR nicht die ideale 
Kombination ist. Und ich verstehe auch, dass wenn man mal eine Familie 
kennt und das Equipment hat nicht gerne nochmal von vorne anfängt. 
Obwohl es ja nicht ganz von vorne ist, wenn man mal mit uCs gearbeitet 
hat.
Da kommts dann halt sehr auf die persönlichen Prioritäten an.
Assembler habe ich glaub ich seit der Lehre nicht mehr gemacht. Aber ich 
glaube auch, dass der Umstieg schwieriger ist, je hardwarenäher man 
programmiert.
Schlag einfach den Weg ein, der Dir am besten erscheint und für Dich am 
reizvollsten ist. Das wichtigste ist ja der Spaß etwas neues zu machen. 
Ich habe mir hier auch viel zu dem Thema durchgelesen. Und es gibt hier 
wohl genausoviele, die ihren Bus mit RS485 wie mit CAN aufgebaut haben. 
Das ist sicher kein no-go. Sogar I2C scheint bei einigen gut zu 
funktionieren. Ich nutze I2C zwar auch gerne, aber als Hausbus hätte ich 
mir das nicht ausgesucht.
OP
Bad U. schrieb:

> Aber ich glaube auch, dass der Umstieg schwieriger ist, je
> hardwarenäher man programmiert.

Das kann ich bestätigen. ...

Bad U. schrieb:
> Das wichtigste ist ja der Spaß

Genau

Bad U. schrieb:
> Sogar I2C scheint bei einigen gut zu funktionieren.

I2C benutze ich auch gerne...allerdings nur innerhalb einer Platine....

Daniel H. schrieb:
> Je nach Bezugsquelle ist man dann aber schon mit 4€/Controller dabei.

Kannst du mir eine Bezugsquelle, die natürlich auch günstig ist, 
empfehlen?
André M. schrieb:
> Bad U. schrieb:
>> Das wichtigste ist ja der Spaß
>
> Genau

Probleme wirst Du immer haben. Egal welcher Controller und welcher Bus. 
Wenns dann kein Spaß ist, wirds ernst ;)

Daniel H. schrieb:
> Die kleinsten 8-Bit AVR mit CAN die mir jetzt in den Sinn kommen sind
> ATMega16M1, ATMega32M1 und ATMega64M1,

Ich hab grad mal schnell oberflächlich bei Atmel geschaut. Wenn ich CAN 
auswähle wird mit kein Atmega angezeigt. Aber wie gesagt, nur schnell 
reingeklickt.
Zu Anfang hatte ich inensiv gesucht. Da waren nur die AT90CAN verfügbar. 
Und bei einem Preis von ca. 7€
(Firma: keine)
André M. schrieb:
> Kannst du mir eine Bezugsquelle, die natürlich auch günstig ist,
> empfehlen

Mouser oder Digikey, dort kostet der Atmega16M1 etwa 4€. Allerdings 
zahlst du bei weniger als 65€ Bestellwert 20€ Versand. Eine Option wäre 
sich an eine Sammelbestellung anzuhängen.

Bad U. schrieb:
> Ich hab grad mal schnell oberflächlich bei Atmel geschaut. Wenn ich CAN
> auswähle wird mit kein Atmega angezeigt. Aber wie gesagt, nur schnell
> reingeklickt.
> Zu Anfang hatte ich inensiv gesucht. Da waren nur die AT90CAN verfügbar.
> Und bei einem Preis von ca. 7€

Ich hoffe der folgende Link funktioniert, der sollte in der 
parametrischen Suche von Atmel auch die AtmegaXXM1 aufführen:

http://www.atmel.com/v2pfresults.aspx#%28actives:!%288238,8394,8362,8282,8431,8300,8358,8392,8378,8445,8236,8449,8474,8248,8264,8447,8256,8254,8286,8462,8429,8458,8466,8400,8302,8278%29,data:%28area:%27%27,category:%2734864%27,pm:!%28%28i:8238,v:!%280,18%29%29,%28i:8394,v:!%280,26%29%29,%28i:8362,v:!%282,45%29%29,%28i:8282,v:!%285%29%29,%28i:8431,v:!%281,39%29%29,%28i:8300,v:!%281,9%29%29,%28i:8358,v:!%282,74%29%29,%28i:8392,v:!%280,1%29%29,%28i:8378,v:!n%29,%28i:8445,v:!%281,4,5,6,7,9%29%29,%28i:8236,v:!%280,35%29%29,%28i:8449,v:!%281,11%29%29,%28i:8474,v:!%280%29%29,%28i:8248,v:!%280,1%29%29,%28i:8264,v:!%280,5%29%29,%28i:8447,v:!%280,1%29%29,%28i:8256,v:!%281,2,3,4%29%29,%28i:8254,v:!%282,16%29%29,%28i:8286,v:!%280,3%29%29,%28i:8462,v:!%280,8%29%29,%28i:8429,v:!%281,10%29%29,%28i:8458,v:!%280,6%29%29,%28i:8466,v:!%281,2,3,5%29%29,%28i:8400,v:!%280,20%29%29,%28i:8302,v:!%280,1,2%29%29,%28i:8278,v:!%281,2%29%29%29,view:list%29,sc:1%29
Daniel H. schrieb:
> Ich hoffe der folgende Link funktioniert, der sollte in der
> parametrischen Suche von Atmel auch die AtmegaXXM1 aufführen:

AAAAAH, sorry, mein Fehler. Ich hatte bei der Suche nur CAN ausgewählt 
und den Rest auf Standard gelassen. Da ich nur kurz gesucht habe ist mir 
nicht aufgefallen, dass das Suchergebnis mehrere Seiten hat. Du hast 
recht, da sind Atmegas dabei.
Frank K. schrieb:
> Noch weniger? (siehe Bilder)

@Frank:
mir ist aufgefallen, dass Du bei Dir keine Schutzbeschaltung am Bus 
vorgesehen hast. Hattest Du damit schon irgendwie Probeleme? Ich habe 
mich wegen dem Thema schon durch Foren und Appnotes gewühlt. Und habe 
bei mir dann TVS und Drossel am Buseingang eingebaut.
Bad U. schrieb:
> Frank K. schrieb:
>> Noch weniger? (siehe Bilder)
>
> @Frank:
> mir ist aufgefallen, dass Du bei Dir keine Schutzbeschaltung am Bus
> vorgesehen hast. Hattest Du damit schon irgendwie Probeleme? Ich habe
> mich wegen dem Thema schon durch Foren und Appnotes gewühlt. Und habe
> bei mir dann TVS und Drossel am Buseingang eingebaut.

Das war ein Testboard, bei dem das nicht erforderlich war.

fchk

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 11 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.