CAN-Modul

Universelles CAN-Modul basierend auf den MCP2515 CAN-Controller und dem ATA6660 CAN-Treiber.

Kurzbeschreibung

Hiebei handelt es sich um eine kleine Adapterplatine die über ein 10poliges Flachbandkabel mit dem Host-Controller-Board verbunden werden kann. Für die Ansteuerung des CAN-Controlles  wird die SPI-Schnittstelle vom Host-Prozessor verwendet. Der CAN-Controller wird mit einem externen 20 MHz Quarz betrieben.

Die CAN-BUS Datenleitungen werden auf einen 9 poligen SUB-D Stecker geführt und die Pin-Belegegung richtet sich nach dem CIA-Standard.

Mittels Jumper JP1 kann eine 120 ohm Terminierung für die Signalleitungen CAN-H und CAN-L aktiviert werden.
Mit den  optionalen  Widerstände R2 (Pullup für CAN-H nach +5V) und R10 (Pulldown nach GND) kann das Modul an hersteller spezifischen Bussysteme angepasst werden.

Mit dem Jumper JP4 kann der StandBy Modus vom CAN-Bustreiber verhindert werden (bei gesetzen Jumper ist der Treiber immer aktiviert) ansonsten hängt der StandBy-Mode vom Eingangssignal "CTR_ATA" (Pin 7) ab.

Schnittstellen Beschreibung:

  • 2x5 poliger Pin Header

    Pin Funktionsbeschreibung
    1 MOSI - SPI-Schnittstelle Dateneingangssignal
    2 SS - Chip Select Signal für den CAN-Controller (low aktiv)
    3 MISO - SPI Schnittstelle Datenausgangssignal
    4 INt1_MCP - Interrupt Ausgangssignal vom CAN-Controller (10 k Pull-Up nach +5V)
    5 SCK - SPI Schnittstelle Taktsignal (Eingang)
    6 RXCAN - RX-Signal vom CAN-Transceiver. Bietet die Möglichkeit den Host-Controller mittels Interrupt aus dem Sleepmoudus zu wecken. Bei Bedarf kann der Widerstand R1 (10 kohm) als PullUp nach +5V bestückt werden.
    7 CTR_ATA - Eingangssignal um den CAN-Transceiver in den StandBy Mode zu versetzen:
    - High: CAN-Transceiver ist aktiviert
    - Low: CAN-Transceiver im StandBy Mode
    8 OSC1_MCP2515 - Bei Bedarf kann bei gesetzen Jumper JP3 das Taktsignal vom 20 MHz Quarz abgegriffen werden, bzw. wenn der Quarz nicht bestückt ist ein externes Taktsignal von den CAN-Controller eingespeisst werden.
    9 +5 V Versorgungsspannungs Eingang
    10 GND- Masse

    Hinweis: Mit den Widerstände R5-R6 (1k)  erfolgt die Entkopplung von der SPI-Programmierschnittstelle, werden mehrere CAN-Module an der SPI-Schnittstelle betrieben so müssen diese Widerstände gebrückt werden und und auf dem Host-Controller müssen die Signalleitungen für die ISP-Programmierschnittstelle entkoppelt werden.
  • SUB-D9 Stecker X1 (männlich)

    Pin Beschreibung
    1 nicht belegt
    2 CAN-Low
    3 Masse
    4 nicht belegt
    5 nicht belegt
    6 nicht belegt
    7 CAN-High
    8 nicht belegt
    9 nicht belegt

 

Schaltplan

Schaltplan MCP 2515 - Adapter
Abb. 1.1 - MCP 2515 Adapter Schaltplan

Download als PDF:  Schaltplan.pdf

3D-Ansichten (Eagle3D)

CAN MCP2515 Adapter

Abb. 1.2   MCP 2515 Adapter - Eagle 3D Ansicht von der Bestückungsseite

MCP 2515 Adapter - Eagle3D Ansicht von der Leiterbahnseite

Abb. 1.3 MCP 2515 Adapter - Eagle3D Ansicht von der Leiterbahnseite

Layout (Google Sketchup)

Bestückungsseite incl. Bestückungsdruck   Leiterbahnseite
Abb.1.4-Bestückungsseite   Abb.1.5 - Leiterbahnseite

Und so siehts in echt aus

 

Leiterplatte von oben   Leiterplatte von Unten
Abb.1.6 - Foto von der Bestückunsseite   Abb. 1.7 Foto von der Leiterbahnseite

 

Betrieb des Moduls an einem Raspberry Pi 3 

Um das Modul mit dem Raspberry Pi 3 zu verwenden, muss die Hardware leicht modifiziert werden, da der Pi keine +5V an seine Eingänge verträgt. Dadurch wird nun der MCP2515 und die Pull-Up Widerstände von den SPI-Leitungen (und IRQ) mit +3,3V vom Raspberriy versorgt. Und der Rest der Schaltung hängt weiterhin an den +5V die auch vom Raspberry zur Verfügung gestellt werden. Mein Testaufbau mit dem modifzierten Modul und Raspberry Pi 3 hat prima funktioniert.

Hier folgt nun eine Beschreibung der Modifikationen für den Betrieb mit einem Raspberry Pi 3

  • Widerstand R4 um 90° drehen so das er Kontakt mit dem unteren Ende von R3 hat.Raspi PI3 - Modifikation Bestückungsseite
    Abb.1.8 - Foto von der Modifikation auf der Bestückunsseite und Anschlussbelegung
  • Leiterbahn am oberen Pad von R4 unterbrechen (+5V werden abgetrennt).
  • JP6 oberer Pin  wird als Anschluss für die +3,3V vom Raspberry verwendet.
  • JP6: die Leiterbahn am oberen Pin auf der Leiterbahnseite auftrennen.Raspberry Pi 3 - Modifikation Leiterbahnseite
    Abb.1.9 - Foto von der Modifikation auf der Leiterbahnseite

  • Anderer Seite von der aufgetrennten Leiterbahn nun mit +5V (oben am Elko) verbinden.
  • Jumper "JP4" setzen, keine Standby Kontroller über den Anschlussstecker. Der MCP ist immer aktiviert.

Hier nochmal die Übersicht der Verbindungen, es wird die SPI0 - Schnittstelle vom Raspi verwendet:

Raspi
40 Pin Header
Modul 
10 Pin Header
Beschreibung
1  - 

+3,3V - direkt auf LP
Lötauge für Pin 19 MCP

2 9 +5V
6 10 GND
19 1 MOSI
21 3 MISO
22 4 MCP_INT0
23 5 SCLK
24 2 CE0

 

Raspberry Pi3 konfigurieren für den SPI-Support (wirklich nur eine Kurzanleitung, bzw. Gedankestüzte):

https://geier99.de/wiki/doku.php?id=pi3_tipps