Forum: Platinen Schaltplan für CAN


von Johannes (Gast)


Lesenswert?

Hi,
ich habe einen Schaltplan erstellt mit einem PIC24F, MCP2515 und 
MCP2551.
wäre cool, wenn einer mal drüber gucken könnte. Vor allem bei der 
verbindung vom PIC zum MCP2515.
Wenn das alles richtig ist, würde ich daraus das Board erstellen.

Johannes

von Michael H. (Gast)


Lesenswert?

Anhang?

von Stefan K. (stefan64)


Lesenswert?

Warum nimmst Du nicht einen PIC mit integriertem CAN? Ich habe den 
MCP2515 auch mal eingesetzt und fand es ziemlich lästig, daß die 
CAN-Peripherie ziemlich schwierig zu debuggen war, weil sie extern über 
den SPI angehängt und keine interne Ressource ist.

Gruß, Stefan

von Johannes (Gast)


Angehängte Dateien:

Lesenswert?

oh ja,
jetzt mit Anhang.

Müsste ich nochmal nachgucken, welcher PIC ein CAN-Modul besitzt und 
dann evtl doch einen anderen Kontroller benutzen.

von (prx) A. K. (prx)


Lesenswert?

INT vom 2515 ist nicht angeschlossen. Ist zwar nicht absolut zwingend, 
aber schon empfehlenswert.

von Frank K. (fchk)


Lesenswert?

Johannes schrieb:
> oh ja,
> jetzt mit Anhang.
>
> Müsste ich nochmal nachgucken, welcher PIC ein CAN-Modul besitzt und
> dann evtl doch einen anderen Kontroller benutzen.

dsPIC33FJ128GP802.

Ist nebenbei noch ein wenig schneller.

Als Transceiver nimmst Du dann einen MCP2562.

fchk

von Steffen R. (steffen_rose)


Lesenswert?

Warum empfiehlst Du speziell diesen Baustein ohne konkrete Kenntnisse 
über das Vorhaben von Johannes zu haben?
Dies ist keine Kritik, sondern ernstes Interesse an deinen 
Auswahlkriterien.

Viele PIC24F Anwender fühlen sich wohler, wenn man die PIC24H oder 
PIC24E Reihe empfiehlt. Auch wenn die Typen näher am dsPic33 als am 
PIC24F sind.

von Frank K. (fchk)


Lesenswert?

Der Unterschied zwischen PIC24 und dsPIC33 sind die zusätzlichen 
DSP-Erweiterungen. Die kann man benutzen oder auch nicht.

Der genannte Typ ist recht gängig und universell.

fchk

von Johannes (Gast)


Lesenswert?

Erst einmal danke.
Also eigentlich möchte ich nur eine art CAN-Sniffer erstellen, wo ich 
die Daten über UART an meinen Computer geben kann. Welchen Controller 
ich dafür verwende ist eigentlich relativ egal. Allerdings habe ich 
gesehen, dass der dsPIC33F nur bis 3.6V kann. Habe aber gerade 
nachgesehen, dass die anderen Bauteile ebenfalls mit 3.6V funktionieren.
Bis auf das Bluetooth-Modul, welches ich mit dem UART anspreche, 
benötigt 5V. (Habe das HC-06). Da muss ich noch einmal überlegen, was 
ich mache.
Momentan sehe ich zwei Möglichkeiten
1.) So lassen wie es ist (bis auf INT vom mcp2515) da ich aber keinen 
Interrupt-pin am PIC mehr frei habe müsste ihc mir da eh was anderes 
überlegen
2.) einen dspic33f... und nur einen mcp2551. Dann das ganze mit zwei 
Spannungsregler, einmal für 3.6V und einmal für 5V.

Johannes

von temp (Gast)


Lesenswert?

Johannes schrieb:
> Also eigentlich möchte ich nur eine art CAN-Sniffer erstellen, wo ich
> die Daten über UART an meinen Computer geben kann. Welchen Controller
> ich dafür verwende ist eigentlich relativ egal. Allerdings habe ich
> gesehen, dass der dsPIC33F nur bis 3.6V kann. Habe aber gerade
> nachgesehen, dass die anderen Bauteile ebenfalls mit 3.6V funktionieren.
> Bis auf das Bluetooth-Modul, welches ich mit dem UART anspreche,
> benötigt 5V. (Habe das HC-06). Da muss ich noch einmal überlegen, was
> ich mache.

Es ist zwar löblich sich mit bestimmten Sachen selbst zu beschäftigen, 
aber manchmal sollte man seine Zeit besser nicht damit verbringen das 
Rad immer neu zu erfinden. Mit dem Usbtin hat Thomas Fischl ein gut 
dokumentiertes OpenSource-Projekt veröffentlicht. Da kannst du dir 
genügen Insperation holen, zumal es ja auch auf einem PIC und dem 
MCP2515 aufbaut. Da sind auch sicher schon viele Stunden in die 
Entwicklung der Software geflossen, das muss man dann erst mal wieder 
aufholen. Oder man benutzt es und beschäftigt sich gleich mit dem 
Projekt wofür man den Sniffer überhaupt braucht. Hier noch der Link:
http://www.fischl.de/usbtin/

von Konrad (Gast)


Lesenswert?

Hallo,

> Also eigentlich möchte ich nur eine art CAN-Sniffer erstellen, wo ich
> die Daten über UART an meinen Computer geben kann. Welchen Controller

Der MCP2515 hat aber nur einen winzigen Empfangs-FIFO von zwei Frames. 
Interrupt kommt, wenn eine RX-Mailbox voll ist, und dann hast Du nur 
noch eine Frame-Laenge Zeit, das erste Frame abzuholen. Fuer einen 
Sniffer ist das riskant...

> 1.) So lassen wie es ist (bis auf INT vom mcp2515) da ich aber keinen
> Interrupt-pin am PIC mehr frei habe müsste ihc mir da eh was anderes
> überlegen

...besonders wenn Du den mcp2515 nur gelegentlich pollst.

Ich rate sehr zu einem uC mit eingebautem CAN mit ordentlich Mailboxen, 
die sich in FIFO umschalten lassen.

von Volker S. (vloki)


Angehängte Dateien:

Lesenswert?

Johannes schrieb:
> Also eigentlich möchte ich nur eine art CAN-Sniffer erstellen, wo ich
> die Daten über UART an meinen Computer geben kann.

Also wenn's über BT gehen soll und dir der Controller eigentlich egal 
ist dann habe ich da auch schon mal was gemacht. Ist zwar eigentlich ein 
BT-CAN Interfae aber wenn man nur die eine Richtung benützt, dann ist es 
eben ein Sniffer;-)

<edit> Sorry, der PIC war ein 18F2xK80 und das BT Modul ist das WT12.
Die Firmware würde ich bestimmt auch noch finden;-)

: Bearbeitet durch User
von Stefan K. (stefan64)


Lesenswert?

Für einen CAN-Sniffer halte ich den MCP für ungeeignet. Allein um den 
Status nach einem Interrupt abzufragen, musst Du schon mehrere Bytes 
über SPI senden. Bei kontinuierlichen 1Mbit-CAN-Daten verlierst Du 
unweigerlich Daten. Auch der Usbtin hat bei 1Mbit Probleme bzw verliert 
msgs.

Bist Du sicher, daß Dein Bluetooth-Modul 5V braucht? Die allermeisten 
Module brauchen 5V nur noch, weil sie intern einen weiteren 3.3V 
Spgsregler zwischengeschaltet haben.

Gruß, Stefan

von Johannes (Gast)


Lesenswert?

Stefan K. schrieb:
> Module brauchen 5V nur noch, weil sie intern einen weiteren 3.3V
> Spgsregler zwischengeschaltet haben.

Ja, so ist es auch bei mir. Also das eigentliche Bluetooth-Modul ist auf 
einer weiteren Platine gelötet, wo ein Spannugnsregler drauf ist, 
welcher aus den 5V wieder 3.3V macht.


Später wäre es natürlich auch nicht schlecht, wenn ich den CAN-Bus nicht 
nur abhören kann, sondern auch was draufschreiben kann (das habe ich 
oben falsch gesagt (also mit dem CAN-Sniffer)).

Ich denke, ich mache mir jetzt noch einmal neue gedanken, wie ich es 
anders machen kann. Wahrscheinlich wird es dann doch auf einen 
dspic33f... hinauslaufen und ein Bluetooth-Modul, welches ich direkt mit 
3.3V versorgen kann.

Auch für den Link bin ich sehr dankbar und muss ich mir heute abend erst 
einmal in ruhe genauer durchgucken. Aber grob ist es ja so etwas, was 
ich machen möchte.

Vielen dank schon einmal für die vielen Tips.

Johannes

von Volker S. (vloki)


Lesenswert?

Johannes schrieb:
> Ja, so ist es auch bei mir. Also das eigentliche Bluetooth-Modul ist auf
> einer weiteren Platine gelötet, wo ein Spannugnsregler drauf ist,
> welcher aus den 5V wieder 3.3V macht.

Kannst du das BT-Modul nicht einfach mit auf deine "neue" Platine 
machen?

von Frank K. (fchk)


Lesenswert?

Johannes schrieb:

> Ja, so ist es auch bei mir. Also das eigentliche Bluetooth-Modul ist auf
> einer weiteren Platine gelötet, wo ein Spannugnsregler drauf ist,
> welcher aus den 5V wieder 3.3V macht.

Dann schmeiß den Spannungsregler runter und überbrücke die Pads. Problem 
erledigt.

Und Dir ist aufgefallen, dass ich Dir einen MCP2562 als Transceiver für 
den dsPIC33FJ genannt habe? Der hat nämlich zwei VDD-Pins: einmal 3.3V 
für die Logikseite und einmal 5V für die Bus-Seite.

Ist auch nicht teurer.

fchk

von Volker S. (vloki)


Lesenswert?

Frank K. schrieb:
> Und Dir ist aufgefallen, dass ich Dir einen MCP2562 als Transceiver für
> den dsPIC33FJ genannt habe? Der hat nämlich zwei VDD-Pins: einmal 3.3V
> für die Logikseite und einmal 5V für die Bus-Seite.
>
> Ist auch nicht teurer.

Cool, ist mir noch gar nicht aufgefallen.
(werde ich mir auf jeden Fall mal vormerken)

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.