Forum: Mikrocontroller und Digitale Elektronik Can-Controller in Software auf Atmega


von Ronny (Gast)


Lesenswert?

Hallo Community,
Ich möchte einen einfachen Can-Sniffer bauen. Er soll aus so wenig Teile 
wie möglich bestehen.

Zu dem habe ich hier noch ein paar Atmega8 und Konsorten liegen.

Nun dachte ich, ich nehme einfach einen Can-Tranciever und löse den Rest 
in Software. Allerdings soll der Atmega auch  ohne Quarz auskommen.

Sind die Atmega8 so Frequenz stabil, das man damit exakt fast can 
auswerten kann?

Und wenn jemand eine Library kennt die geeignete ist wäre das auch 
äußert praktisch.

Gruß Ronny

von Frank K. (fchk)


Lesenswert?

Ronny schrieb:

> Nun dachte ich, ich nehme einfach einen Can-Tranciever und löse den Rest
> in Software. Allerdings soll der Atmega auch  ohne Quarz auskommen.

Vergiss es. CAN geht bis 1 MBit/s. Nicht machbar.

Typischer Fall von Scheuklappen. Nimm einen PIC18F26K80, der ist auch im 
SDIP28 Gehäuse und hat CAN-Hardware eingebaut. Oder, wenn Du bei 
Reíchelt bestellen musst, einen PIC18F2585 - der ist dort noch im 
Angebot, stammt aber aus einer etwas älteren Generation und ist deswegen 
etwas teurer als die neuen, sparspamen Typen.

Dafür hat Microchip auch gleich die passenden Bibliotheken parat, so 
dass Du gleich loslegen kannst.

Ob Du bei CAN grundsätzlich ohne Quarz auskommst, weiß ich nicht. Mit 
Sicherheit wohl nicht über den ganzen Temperaturbereich.

fchk

von Harald A. (embedded)


Lesenswert?

Oder einen LPC11C24, der hat sogar den Transceiver mit eingebaut. Dann 
wärest Du der Forderung "so wenig Teile wie möglich" schon extrem nahe. 
Um einen Quarz kommst Du aber nicht aus, weder mit AVR, PIC noch mit 
LPC. Selbst ein Keramikschwinger geht mit starken Kompromissen einher.

Eine LIB ist beim LPC11C24 schon mit eingebaut als ROM-Code.

Mittels erhältlichen Demokit von LPCXpresso sehr einfach und 
supergünstig realisierbar.

von Ronny (Gast)


Lesenswert?

Vielen Dank.

Wollte zwar nicht extra was bestellen aber die Pic Prozessoren finde ich 
sehr interessant. Denke da wird die Reise hin gehen. Auch den LPC werde 
ich mir mal anschauen.

Vielen Dank für die schnelle Antwort

von Sven P. (Gast)


Lesenswert?

Frank K. schrieb:
> PIC18F2585

Und schau vorher mal ins Silicon Erratum. Die ersten beiden Revisionen 
waren m.W.n. ganz Microchip-typisch ziemlich zerbombt. Man weiß bei 
Reichelt ja nicht, welche man kriegt...

Ohne Quarz wird das aber in keinem Fall was.

AT90CAN gäbs auch noch.

von Thomas (kosmos)


Lesenswert?

bei CAN kommt nach spätestens jedem 5ten Bit eine Flanke durch das 
Stuffing Bit, deswegen denke ich das es bei Lowspeed gehen wurde das 
ganze ohne externen Quarz zu machen da man ja immer wieder 
nachsyncronisieren kann. Einen CAN-Transceiver brauchst du ja sowieso 
deswegen wäre es doch ne überlegung Wert einen AVR mit CAN-Controller zu 
nehmen, wird dir ganz bestimmt sehr viel Programmierarbeit ersparen aber 
dann brauchst du eh einen Quartz

von c-hater (Gast)


Lesenswert?

Frank K. schrieb:

> Vergiss es. CAN geht bis 1 MBit/s. Nicht machbar.

USB LowSpeed mit 1,5MBit/s wäre demnach ja auch "nicht machbar". 
Blöderweise existiert aber z.B. VUSB, was zeigt, daß es halt doch 
machbar ist...

Dies böse Scheiß-Realität aber auch...

> Typischer Fall von Scheuklappen.

Jepp, ganz eindeutig.

von Thomas (kosmos)


Lesenswert?

Alle sagten: Das geht nicht. Dann kam einer, der wusste das nicht und 
hats gemacht.

von Ronny (Gast)


Lesenswert?

Naja mit Scheuklappen hat das nichts zu tun. Ich habe die Hardware hier 
noch rum liegen und habe mich einfach gefragt ob das geht. Das es besser 
geeignete Mikrocontroller gibt weiß ich nun.

Da ich um den Qurz nicht rum komme muss ich mir was überlegen.

von holger (Gast)


Lesenswert?

>Da ich um den Qurz nicht rum komme muss ich mir was überlegen.

Ja, überleg mal weiter wie schwachsinnig deine Idee ist.
Dann überleg auch mal wo du mit den gesammelten Daten
hin willst.

von c-hater (Gast)


Lesenswert?

Ronny schrieb:

> Da ich um den Qurz nicht rum komme muss ich mir was überlegen.

VUSB funktioniert auch ohne Quarz. Laß' dir also von der "geht nicht" 
Fraktion nicht das Gehirn zunageln.

Mit "geht nicht" meinen die eigentlich nur, daß sie's nicht gebacken 
bekommen.

von holger (Gast)


Lesenswert?

@c-hater
>Mit "geht nicht" meinen die eigentlich nur, daß sie's nicht gebacken
>bekommen.

Du doch auch nicht.

Und warum sollte man sich so einen Blödsinn antun
wenn es geeignete Controller mit CAN Hardware
für wenig Geld gibt? Um drei Euro in der Bastelkasse zu sparen?

V-USB würde ich nicht mal mit der Kneifzange anfassen;)

von chris (Gast)


Lesenswert?

Es gibt ein Projekt, Can als SW Implementierung auf AVR, habe diverse
lowest cost Schaltungen damit gemacht.

von CAN can (Gast)


Lesenswert?

Ronny schrieb:
> Nun dachte ich, ich nehme einfach einen Can-Tranciever und löse den Rest
> in Software. Allerdings soll der Atmega auch  ohne Quarz auskommen.

Ein Sniffer ist locker möglich.
Mit welchem Takt läuft dein CAN-Bus??

von Miles N. (miles0815)


Lesenswert?

chris schrieb:
> Es gibt ein Projekt, Can als SW Implementierung auf AVR, habe diverse
> lowest cost Schaltungen damit gemacht.

Hat jemand einen Link auf dieses Projekt oder kann mir die Sourcen 
zukommen lassen?

Gruß Miles

von MCUA (Gast)


Lesenswert?

Es wurde vor Jahren auch mal mit nem HC08(oder HC11?) realisiert, nat. 
nicht bis 1Mbps, um (damals) Geld zu sparen.

von phul (Gast)


Lesenswert?

Bits detektieren und dann das ganze mit Logik / Automaten auswerten.
Bis 250 solltest dus vielleicht noch schaffen.

Nen TCp Stack passt ja auch aufn AVR

von M. K. (sylaina)


Lesenswert?

Gibt ja auch AVRs mit CAN, warum nicht so einen benutzen?

von Miles N. (miles0815)


Lesenswert?

M. K. schrieb:
> Gibt ja auch AVRs mit CAN, warum nicht so einen benutzen?

Weile ich auch 'falsche' Nachrichten erzeugen möchte. Das geht mit einem 
fertigem CAN-Controller soweit ich weiss nicht. Bei einer Softwarelösung 
könnte ich machen was ich will. Daher wäre es optimal, wenn ich auf 
einem bestehenden Projekt aufsetzten könnte.

Gruß Miles

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.