CAN Karte für den Parallelport aus dem Elektor Magazin Juni 2000
CAN Karte für den Parallelport aus dem CAN200 Projekt
Status des Treibers:
Die Treiberdateien auf dieser Homepage sind Shareware und nur Demoversionen.
In der Demoversion können nur Baudraten bis maximal 400 kBaud eingestellt
werden. Die Vollversion hat diese Einschränkung nicht. Die Testapplikation und
das ältere CanParActiveX hat keine Einschränkung. Das neuere CanIX ActiveX hat
zur Zeit ebenfalls keine Einschränkungen ist aber ebenfalls Shareware. Die
Sharewaregebühr beträgt 12,50 EUR für die Treiber und 5 EUR für CanIX. Die
Linux Treiber haben keine Einschränkungen werden aber auch nicht
weiterentwickelt. Eine komplette Neuentwicklung für Linux wurde unter GNU
Lizenz auf http://canbus4linux.sourceforge.net veröffentlicht.
Treiber für Windows 9x:
Der Treiber ist nur für die oben genannten Karten am Parallelport verwendbar
Die parallele Schnittstelle muß sich auf Bidirektional, auf EPP oder auf ECP einstellen lassen
(Einstellung wird im BIOS vorgenommen)
Die Einstellung des gewählten LPT-Port wird automatisch ermittelt (IO-Adresse und IRQ)
Der Treiber kann nur eine Schnittstelle bedienen, die parallele Schnittstelle
wird in der Systemsteuerung eingestellt
Es ist BasicCAN und PeliCAN implementiert
Jede empfangene und gesendete Botschaft und auch Fehler (BUS-Error,...)
werden mit einer Zeitmarke versehen. Die Zeitmarke hat eine
Aufösung von 1 ms (intern wird mit 0.8 Mikrosekunden gerechnet)
Shareware
Installiert wird der Treiber über die Systemsteuerung und den
Hardwaremanager (siehe: PDF-Datei) Der
Treiber kann nur einmal installiert werden, d.h. es können niemals zwei
Parallelports gleichzeitig genutzt werden. Programmtechnisch heißt das
Gerät CANPAR.
Treiber für Windows NT 4.0:
Der Treiber ist nur für die oben genannten Karten am Parallelport verwendbar
Die parallele Schnittstelle muß sich auf Bidirektional, auf EPP oder auf ECP einstellen lassen
(Einstellung wird im BIOS vorgenommen)
Es wird die Treiber API von NT verwendet
Es werden so viele "Geräte" installiert, wie Parallelports vorhanden sind
Es ist BasicCAN und PeliCAN implementiert
Jede empfangene und gesendete Botschaft und auch Fehler (BUS-Error,...)
werden mit einer Zeitmarke versehen. Die Zeitmarke hat eine
Auflösung von 1 ms (intern wird mit 0.1 Mikrosekunden gerechnet)
Shareware
Treiber für Windows 2000:
Der Treiber ist nur für die oben genannten Karten am Parallelport verwendbar
Die parallele Schnittstelle muß sich auf Bidirektional, auf EPP oder auf ECP einstellen lassen
(Einstellung wird im BIOS vorgenommen)
Es wird die Treiber API von NT verwendet
Es werden so viele "Geräte" installiert, wie Parallelports vorhanden sind
Es ist BasicCAN und PeliCAN implementiert
Jede empfangene und gesendete Botschaft und auch Fehler (BUS-Error,...)
werden mit einer Zeitmarke versehen. Die Zeitmarke hat eine
Auflösung von 1 ms (intern wird mit 0.1 Mikrosekunden gerechnet)
Shareware
Treiber Version 2.10 für Linux:
Für Kernel: 2.2.16 (Suse 7.0), 2.2.18 (Suse 7.1) und 2.4.0 (Suse 7.1)
Der Treiber ist nur für die CAN Karte aus Elektor 6/2000 verwendbar
Die parallele Schnittstelle muß sich auf Bidirektional, auf EPP oder auf ECP einstellen lassen
(Einstellung wird im BIOS vorgenommen)
Es wird die Treiber API des PARPORT - Projekts verwendet
Es werden so viele "Geräte" installiert, wie Parallelports vorhanden sind
Es ist BasicCAN und PeliCAN implementiert
Jede empfangene und gesendete Botschaft und auch Fehler (BUS-Error,...)
werden mit einer Zeitmarke versehen. Die Zeitmarke hat eine
Auflösung von 1 ms (intern wird mit 1.0 Mikrosekunden gerechnet)
Dieser Treiber wird nicht weiterentwickelt, stattdessen wurde ein neuentwickelter Treiber unter http://canbus4linux.sourceforge.net veröffentlicht. Der neue Treiber ist modular aufgebaut (was unter Windows nicht oder nur sehr schwer zu verwirklichen wäre) und bietet deshalb mehr Möglichkeiten.
Installationsanleitung in der README-Datei beachten!
Nach der Installation des Treibers kann die Applikation (CATT.EXE) gestartet
werden. Über den Menüpunkt "CAN Kanal öffnen" wird der Treiber geladen und
initialisiert. Danach können Botschaften gesendet und empfangen werden.
Über den Menüpunkt "Auf Botschaft antworten" können Botschaften eingetragen
werden, auf die, wenn sie empfangen werden, automatisch eine Antwort
zurück gesendet wird. Für erste Tests empfiehlt es sich, die Gegenstelle mit
einer bereits getesteten Software/Hardwarekombination zu betreiben (z.B.
baugleiche CAN Karte + DOS Treiber). Danach kann CATT gestartet werden (CATT =
Can Analyse und Test Tool). Für die Anwendung werden außerdem die MFC.DLL und
MSVCRT.DLL benötigt, die am besten in das WINDOWS\SYSTEM-Verzeichnis kopiert
werden.
ActiveX Controls
Die Datei CanParActiveX.ocx ist Public Domain und wird von mir nicht mehr
weiterentwickelt. Es wird nur noch die Lauffähigkeit mit den jeweils
aktuellen Treibern garantiert (also neu compiliert). Eine Beschreibung mit
Installationsanleitung befindet sich in der PDF-Datei.
Das neue ActiveX:CaniX ist Shareware und ist auch unter
VBasic voll funktionsfähig. Dieses ActiveX wird in Zukunft weiterentwickelt!
Eine Beschreibung in Form einer Online Hilfe wird mit installiert,
außerdem befindet sich im Download Abschnitt eine PDF Datei mit Beschreibung
und Beispiele für VBasic, Visual C++ 6.0 und CBuilder 5.0.
Header Dateien für C und C++ Programme:
Anstatt der Verwendung des ActiveX in C-Programme, empfehle ich aus
Performance Gründe die direkte API Programmierung. Die dazugehörigen
Header- und LIB-Dateien sind frei verfügbar. Eine Beschreibung befindet
sich hier.
Header Dateien für andere Programmiersprachen:
Andere Programmiersprachen (z.B. DELPHI) können selbstverständlich
ebenfalls anstatt des ActiveX direkt die API verwenden. Als Vorlage
können die C-Header verwendet werden.
Bekannte Probleme:
Problem: CAN Karte wird nicht erkannt
Lösung: Am besten mit dem DOS Programm von
Elektor die CAN Karte prüfen. Eventuell ist es ein Hardwareproblem
(Widerstände R1-R12 verringern, z.B. war dies auf einem
Notebook Toshiba TECRA notwendig)
Problem: Störungen im Betrieb
Lösung: Eventuell ein Problem mit dem Busabschluß.
Vor allem bei höheren Baudraten muß der CAN Bus auf beiden Seiten mit
120 Ohm abgeschlossen sein!