Microcontroller-Starterkits



Ausgabe 1





Das passende Gehäuse ist bei uns im Onlineshop erhältlich!


Werbung
Hier kann auch Ihre Werbung stehen!



USB zu CAN Bus-Interfaces


Für denjenigen, der sich in CAN einarbeiten will (oder muss) und der nicht auf vorhandenes Equipment zurückgreifen kann, wird es unter Umständen teuer, je nachdem, welchen Anbieter eines CAN-Interfaces er wählt. Das hier vorgestellte Interface zum Selbstbau ist preiswert und kann mit zurzeit 2 verschiedenen Transceivern bestückt werden. Es basiert auf dem AT90CAN128 und soll eine echte Alternative zu anderen Interfaces darstellen, wenn auf sehr schnelles Responseverhalten verzichtet werden kann. Der Quellcode sowohl für den AT90CAN128, als auch das Terminalprogramm für die PC-Seite stehen dabei frei zur Verfügung. Einen Quellcode für den AT90CAN128 um mit einem CAN-Monitor zusammenzuarbeiten, wird es in der nächsten Ausgabe geben. Das hier vorgestellte Interface kann mit verschiedenen Transceivern bestückt werden, die sich auf einer Adapterplatine befinden und über Optokoppler galvanisch getrennt von der Hauptplatine sind.

Leistungsmermale

  • Zum Schutz des Laptops bzw. PC's wird eine galvanische Trennung mit DC/DC-Wandlern und Optokopplern verwendet.
  • Bis zu 15 verschiedene CAN-Transceiver-Platinen können auf der Basisplatine aufgesteckt werden.
  • Automatische Erkennung über 4 Portpins, welcher Transceivertyp gerade verwendet wird.
  • Keine externe Spannung notwendig. Das Interface wird über USB mit Spannung versorgt.
  • 2 herausgeführte LED's zur optischen Kontrolle von Tx und Rx. Bei Verwendung des TJA1054 ist zusätzlich noch eine Fehler-LED vorhanden.

Hauptplatine

Auf der Hauptplatine befindet sich neben den AT90CAN128 von ATMEL, der den CAN zur Verfügung stellt, noch der USB-zu-Seriell-Converter FT232BM von FTDICHIP. Der USB-Chip benötigt noch ein externes EEPROM, falls Daten zur Speicherung gewünscht werden. Für die galvanische Trennung des CAN-Bus vom PC ist dann noch ein DC-DC-Wandler nötig. Die Aufsteckplatinen werden über 4 Portpins identifiziert, die mittels Widerstände entweder nach GND oder VCC auf einen definierten Pegel gezogen werden. Somit sind theoretisch 15 verschiedene Aufsteckplatinen möglich.

Schaltung der Hauptplatine



Die Verbindung zum USB erfolgt wie vorher schon erwähnt mit Hilfe des häufig verwendeten USB-zu-seriell Wandlerbausteins FTDI232BM. Dieser enthält eine serielle Schnittstelle, die mit dem UART1 des AVR Mikrocontrollers verbunden ist. Mit Hilfe eines virtuellen COM-Port-Treibers verhält sich der Baustein wie eine normale RS232-Schnittstelle. Eine Anbindung an eigene Projekte wird damit fast zum Kinderspiel. Die LED's zur Kontrolle der Funktion Senden und Empfangen des FT232BM, sowie die beiden dazugehörigen Widerstände können auf Wunsch entfallen, besonders wenn die Schaltung in ein Gehäuse eingebaut werden soll. Ein EEPROM zur Speicherung von Daten ist ebenfalls vorhanden. Der Endanwender kann mit Hilfe des Programms "MPROG 3.0a" von FTDICHIP in dieses EEPROM schreiben, damit sich das Interface dann beim Anschließen am USB direkt mit Namen meldet, z.B. mit der Bezeichnung "USB2CAN-Interface". Ebenfalls stellt der USB die komplette Versorgungsspannung zur Verfügung. Diese wird vom USB über eine LC-Kombination gesiebt und steht als Vcc zur Verfügung. Ein DC/DC-Wandler übernimmt dann noch die galvanische Trennung und stellt auf der CAN-Bus-Seite eine 5V Versorgungsspannung bereit, die maximal mit 200 mA belastet werden kann. Diese Spannung kann über einen Jumper auf Pin 9 der SUB-D-Stiftleiste gelegt werden. Allerdings sollte sich der Anwender vorher sicher sein, dass nicht bereits eine Spannung über den CAN-Bus auf eben diesen Pin anliegt. Die CAN-Seite wird durch den auf dem Chip vorhandenen CAN Controller des AT90CAN128 realisiert. Der ISP-Steckverbinder zum AT90CAN128 ist aus Gründen der Platzersparnis in der bekannten 6-poligen Ausführung realisiert worden. Das Widerstandsarray ist mit 4 Portpins des Mikrocontrollers verbunden. Die Widerstände werden auf Vcc gezogen um einen definierten High-Pegel zu erhalten. Ein Aufsteckmodul mit dem Transceiver zieht dann ein oder mehrere dieser Portpins nach Low, je nachdem wie es kodiert wurde. Damit lassen sich insgesamt 15 verschiedene Aufsteckplatinen mit den Werten 0x0 bis 0xE unterscheiden. Liegt der Wert 0xF vor, so ist kein Modul aufgesteckt.

Bauteileliste

A1 DC/DC-Wandler

BU1 USB-Buchse Typ B
C1 C2 C4 100nF
C3 33nF
C5 C8 C9 10µF/16V
C6 C7 22pF
D1 LED grün
D2 LED gelb
IC1 AT90CAN128
IC2 FT232B
IC3 ST93C66
JP1 Jumper
L1 1µH
R1 1k
R2 4k7
R3 R11 R12 470R
R4 4k7
R5 1k5
R7 R8 27R
R9 2k2
R10 10k
ST1 ISP_PROG
ST2 SUB-D-Stiftleiste 9-polig
ST3 Buchsenleiste 2-8-polig 7mm hoch
X1 Quarz 16MHz
X2 Quarz 6MHz

Auf der rechten Seite sind die beiden Bestückungsseiten der Platine abgebildet.


Aufsteckmodul des Lowspeed-CAN-Transceivers

Das Modul enthält den TJA1054 und benutzt zur galvanischen Trennung von Tx, Rx und dem Fehlerausgang des CAN-Treibers 3 Optokoppler, die eingangsseitig mit einer LED in Reihe geschaltet sind. Die Farbe grün wird für den Sendeteil (Tx) verwendet, die Farbe gelb für den Empfangsteil (Rx), sowie die Farbe rot für den Fehlerausgang des TJA1054 (Error). Als Optokoppler ist zwar auf dem Schaltplan der 6N137 benannt, es ist aber der HCPL600 verwendet worden. Das Modul besitzt die Identifikation 0x1.

Bauteileliste

BU1 Buchse 2x8-polig Höhe 7mm

C1 C11 C12 C13 100 nF
D1 LED grün
D2 LED gelb
D3 LED rot
IC1 TJA1054
JP1 Jumper
OK1 OK2 OK3 HCPL600
R1 R2 R11 R12 R13 390R
R3 150R
R4 R5 R6 1k
R7 R8 R9 R10 100R

Auf der rechten Seite sind die beiden Bestückungsseiten der Platine abgebildet.

Aufsteckmodul des Highspeed-CAN-Transceivers

Im Gegensatz zum vorherigen Modul enthält dieses zur galvanischen Trennung von Tx und Rx nur 2 Optokoppler, da der PCA82C250 keinen Fehlerausgang bereitstellt. Die Optokoppler sind eingangsseitig ebenfalls mit einer LED in Reihe geschaltet. Auch hier wird die Farbe grün für den Sendeteil (Tx) verwendet, sowie die Farbe gelb für den Empfangsteil (Rx). Als Optokoppler ist zwar auf dem Schaltplan der 6N137 benannt, es ist aber der HCPL600 verwendet worden. Das Modul besitzt die Identifikation 0x02.

Hinweis: Wenn die verwendeten LED's D1 und D2 nicht High-Speed geeignet sein sollten, dann für Baudraten ab 250 kBaud D1 und D2 entweder nicht bestücken, bzw. überbrücken!

Bauteileliste

BU1 Buchse 2x8-polig Höhe 7mm

C1 C11 C12 100 nF
D1 LED grün
D2 LED gelb
IC1 PCA82C250
JP1 Jumper
OK1 OK2 HCPL600
R1 R2 150R
R11 R12 390R
R3 1k
R4 120R
R7 R8 R9 R10 100R

Auf der rechten Seite sind die beiden Bestückungsseiten der Platine abgebildet.


Bohrplan für das Gehäuse

Bohrplan für die Innenseite des Pactec-Gehäuses.

Der Durchmesser der Bohrungen beträgt 3 mm.

Gehäuse erhältlich bei Microcontroller-Starterkits.

Aufsteckmodul des Singlewire-CAN-Transceivers

Für die Zukunft ist noch folgender Transceivertyp geplant: Single wire CAN-Transceiver realisiert mit dem MC33897.

Download

Sourcecode und Terminal-Datei für das Bray-Terminal

USB2CAN.zip

Hier gibt es das Bray-Terminal zum Download

www.smileymicros.com

Werbung
Werbung
Werbung
Werbung

Hier kann auch Ihre Werbung stehen!


Hier kann auch Ihre Werbung stehen!


Hier kann auch Ihre Werbung stehen!


Hier kann auch Ihre Werbung stehen!

www.microcontroller-starterkits.de
Microcontroller-Starterkits • Mike Schaub • Eickelskamp 6 • 45527 Hattingen