ATA6660
-
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 Mode8 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
Abb. 1.1 - MCP 2515 Adapter Schaltplan
Download als PDF: Schaltplan.pdf3D-Ansichten (Eagle3D)
Abb. 1.2 MCP 2515 Adapter - Eagle 3D Ansicht von der Bestückungsseite
Abb. 1.3 MCP 2515 Adapter - Eagle3D Ansicht von der Leiterbahnseite
Layout (Google Sketchup)
Abb.1.4-Bestückungsseite Abb.1.5 - Leiterbahnseite Und so siehts in echt aus
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.
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.
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 HeaderModul
10 Pin HeaderBeschreibung 1 - +3,3V - direkt auf LP
Lötauge für Pin 19 MCP2 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
- 2x5 poliger Pin Header