Can-Controller/µC

OP #4239704
Lesenswert?

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 #4239736
Lesenswert?

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.
#4239758
Lesenswert?

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 #4239769
Lesenswert?

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 #4257810
Lesenswert?

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.
OP #4258124
Lesenswert?

user schrieb:
> Wegen Transceiver: Schau mal den ISO1050 an, der ist noch galvanisch
> isoliert.

Den habe ich sogar noch zu hause.....

Bad U. schrieb:
> Ich bin aber auch auf Nummer sicher gegangen und habe einen Quarz
> genommen.

Sicher ist  sicher. ....


Aber ich glaube ich nehme dann doch nen 485Bus....

Weniger Hardware und alles andere mach ich per Software.........
#4258363
Lesenswert?

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 #4258473
Lesenswert?

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!
#4259335
Lesenswert?

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.
#4259382
Lesenswert?

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 #4259396
Lesenswert?

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?
#4259405
Lesenswert?

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) #4259410
Lesenswert?

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
#4259412
Lesenswert?

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.
#4260571
Lesenswert?

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

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