Forum: Mikrocontroller und Digitale Elektronik Impuls über CAN auswerten


von Tonelli (Gast)


Lesenswert?

Ich möchte einen Rechteckimpuls über CAN auswerten. Bisher habe ich das 
mit dem PIC18F4520 und dessen Zähler gemacht. Jetzt soll über den 
CAN_High und CAN_LOW ausgewertet werden. Wie kann man das am besten 
machen ? Muss der Impuls vorher noch über den MCP2515 laufen ?

von Martin (Gast)


Lesenswert?

Du meinst du willst die Impulslänge eines Rechteckimpulses messen und 
diesen Wert per CAN-Bus übertragen, oder verstehe ich dich falsch?

von Tonelli (Gast)


Lesenswert?

Genauso meinte ich das.

von Martin (Gast)


Lesenswert?

Ich kenne den PIC nicht, hat der einen CAN-Controller intern?

Du brauchst in irgend einer Form einen CAN-Controller integriert im µC 
oder als externen IC.

von Willivonbienemaya .. (willivonbienemaya)


Lesenswert?

Der PIC hat glaub ich keinen CAN Controller oder?

So wie ich das verstehe musst du dir mal paar Seiten zu CAN durchlesen 
und die dann ein Controller suchen, der einen CAN Controller hat.
Oder du benutzt einen externen CAN Controller (zB: MCP2515).

von Tonelli (Gast)


Lesenswert?

Ich hatte mir schon mal vorher den PICF4580 angeguckt. Der hat einen 
integrierten CAN-Controller. Möchte das aber lieber extern, auf einer 
eignenen Platine machen. Also wäre der MCP2515 der richtige ?

von Tonelli (Gast)


Lesenswert?

Und wie würde ich dass dann am besten mit dem Baustein realisieren ?

von Lars K. (larsk)


Lesenswert?

Hallo,

guck Dir mal folgende Thread an: 
Beitrag "MCP 2515"

Da gibt es einige PDF Dateien mit Beispielschaltungen.

Gruß

Lars

von Tonelli (Gast)


Lesenswert?

Na ja so ganz hilft mir das noch nicht weiter. Die Frage ist an welchen 
PIN müsste ich den Impuls(Hardware)zum Auswerten anschließen. Ich meine 
mir ist klar wenn ich den Impuls ausgewertet habe dann kann ich noch 
über einen MCP2551 diesen an den CAN-BUS anschließen. Kann irgendwie 
früh am morgen noch nicht denken :-)

von Christian R. (supachris)


Lesenswert?

Du kannst deinen "Impuls" nicht an den CAN-Bus anschließen. Weder mit 
noch ohne MCP2515.

Du musst zwischen Impuls und CAN-Bus noch einen Microcontroller haben, 
der den Impuls auswertet, das Ergebnis in einen CAN-Frame packt, und 
diesen dann auf den CAN-Bus schickt. Über CAN kann man nur Datenframes 
übertragen.

Dazu musst du allerdings erst mal einen Algorithmus auf einem Controller 
deiner Wahl implementieren, der den Impuls auswertet, dann musst du die 
Schnittstelle (SPI) zum MCP bearbeiten, das CAN-Datenformat verstanden 
haben, die Hardware aufbauen.....

von Tonelli (Gast)


Lesenswert?

Also nehme ich jetzt z.B. den Mikrocontroller PIC18F4580 mit 
integrierten CAN-Controller, werte den Impuls aus, schicke ihn über 
CAN_TX und CAN_RX auf den MCP2551 und kann dann auf den CAN-Bus gehen. 
Habe ich das so richtig verstanden ?

von Christian R. (supachris)


Lesenswert?

Du kannst den Impuls nicht auf CAN_TX schicken. Du hast offensichtlich 
keine Ahnung, was der CAN-Bus ist. Auf dem CAN-Bus kannst du nur 
Nachrichten verschicken, deren Aufbau genau festgelegt ist. Lies dir 
bitte erst mal durch, was denn CAN eigentlich ist.

von Tonelli (Gast)


Lesenswert?

Ich glaube Du hast mich falsch verstanden. Ich werte die Impuls über den 
Mikrocontroller aus und sende je nach Auswertverfahren Datenpakete an 
den MCP2551.So hatte ich mir das vorgestellt.

von Christian R. (supachris)


Lesenswert?

Achso. Naja, der MCP2551 ist ja nur der CAN-Treiber. Den musst du halt 
an den CAN-Controller anschließen. Der wandelt das symmetrische CAN 
Signal in Logik-Pegel. Dann ist das so schon mal richtig:

Sensor ----(Impuls)----> µC <---> CAN-Controller <----> CAN-Treiber 
<---> CAN-Bus.

von Willivonbienemaya .. (willivonbienemaya)


Lesenswert?

Er schreibt der 18F4580 hat einen internen CAN Controller, dann kann er 
sich den MCP2515 sparen.
Ich denk er meint schon das richtige.

von Christian R. (supachris)


Lesenswert?

Jo, dann brauchts nur den CAN-Transceiver. Seine Problemschilderung is 
bissl verwirrend, aber er wirds schon richten.

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.