]> rtime.felk.cvut.cz Git - socketcan-devel.git/blob - doc/hardware.tex
Added test script analogue to the LTP test to check the CAN networklayer.
[socketcan-devel.git] / doc / hardware.tex
1 % $Id$
2
3 \newpage
4 \section{Unterstützte CAN-Hardware}
5 \label{hardware}
6
7 Bisherige Realisierungen von CAN-Treibern unter
8 Linux und auch anderen Betriebssystemen sind nach dem
9 Zeichen-Treibermodell (dem so genannten Character-Device) ausgeführt.\\
10
11 Im Unterschied dazu setzt das \LLCF\ auf
12 CAN-Treiber nach dem Netzwerk-Treibermodell auf (so genannte
13 Network-Devices), die es ermöglichen, dass mehrere Anwendungen
14 gleichzeitig auf einem CAN-Bus arbeiten können.\\
15
16 Wenngleich ein Treiber nach dem Netzwerk-Treibermodell einfacher zu
17 realisieren ist, sind die bei einer kommerziellen CAN-Hardware
18 beigelegten Treiber für das \LL\ so nicht einsetzbar. Ist der
19 Quellcode des beigelegten Treibers verfügbar, kann man diesen
20 allerdings so modifizieren, dass er sich nicht als Character-Device
21 sondern als Network-Device im Linux-Kernel registriert und entsprechend
22 andere Schnittstellen des Kernel bedient.\\
23
24 Der unter \verb+src/drivers/sja1000+ realisierte
25 Philips-SJA1000-Treiber ist eine 
26 komplette Neuentwicklung und kann als Beispiel für einen
27 CAN-Netzwerktreiber genommen werden. Derzeit unterstützt das \LL\
28 ausschließlich passive CAN-Karten, weil dieses für den Linux-Kernel im
29 Gegensatz zu anderen Betriebssystemen problemlos möglich ist. Ein
30 modifizierter Treiber für eine aktive PCMCIA-Karte ist in Arbeit.\\
31
32 Derzeit werden folgende CAN-Hardware-Komponenten unterstützt:
33 \subsection{PC104 / ISA / plain access}
34
35 In diesen Karten liegen die SJA1000-Controller linear im Adressraum.\\
36 Z.B. http://www.peak-system.com/db/de/pcanpc104.html\\
37
38 Mögliche Treiber:
39 \begin{itemize}
40 \item \LL-SJA1000-Treiber in \verb+src/drivers/sja1000+ (empfohlen)
41 \item Modifizierter Linux-Treiber v2.15 von PEAK-System (auf Anfrage)
42 \end{itemize}
43
44 \subsection{PCI}
45
46 In diesen Karten liegen die SJA1000-Controller linear im
47 PCI-Adressraum.\\
48 Z.B. http://www.peak-system.com/db/de/pcanpci.html\\
49
50 Mögliche Treiber:
51 \begin{itemize}
52 \item Modifizierter Linux-Treiber v2.15 von PEAK-System (auf Anfrage)
53 \end{itemize}
54
55 \subsection{Parallelport}
56
57 Benötigt Linux-Parport-Unterstützung.\\
58 Z.B. http://www.peak-system.com/db/de/pcandongle.html\\
59
60 Mögliche Treiber:
61 \begin{itemize}
62 \item Modifizierter Linux-Treiber v2.15 von PEAK-System (auf Anfrage)
63 \end{itemize}
64
65 \subsection{USB}
66
67 USB-CAN-Adapter.\\
68 http://www.peak-system.com/db/de/pcanusb.html\\
69
70 Mögliche Treiber:
71 \begin{itemize}
72 \item Modifizierter Linux-Treiber v2.15 von PEAK-System
73 \end{itemize}
74
75 \subsection{PCMCIA}
76
77 Passive PCMCIA-Karte mit zwei SJA1000-Controllern.\\
78 http://www.ems-wuensche.com/catalog/english/datasheet/htm/cpccard\_e.htm\\
79
80 Mögliche Treiber:
81 \begin{itemize}
82 \item Modifizierter Linux-Treiber cdkl-1.12 von EMS Wünsche (auf Anfrage)
83 \end{itemize}
84
85 Aktive PCMCIA-Karte mit zwei SJA1000-Controllern.\\
86 http://www.kvaser.com/prod/hardware/lapcan\_i.htm\\
87 http://www.kvaser.com/prod/hardware/lapcan\_ii.htm\\
88
89 Mögliche Treiber (in Arbeit!):
90 \begin{itemize}
91 \item Modifizierter Linux-Treiber v4.1beta von Kvaser
92 \end{itemize}
93
94
95 \subsection{Virtual CAN Bus (vcan)}
96
97 Der virtuelle CAN-Bus-Treiber realisiert ein logisches
98 CAN-Network-Device, über das Anwendungen auf einem System ohne real
99 vorhandene CAN-Hardware kommunizieren können. Die Idee entspricht
100 einem Loopback-Device, wobei die Loopback-Funktionalität (siehe
101 Kapitel \ref{intro}) bereits im \LL-Rahmen realisiert ist. Der
102 vcan-Treiber ist Bestandteil des \LLCF.