MCP 2551

  • CAN-Modul

    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