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 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
|
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!
|
|