www.wikidata.de-de.nina.az
can4linux ist ein Open Source CAN Geratetreiber fur den Linux Kernel Die Entwicklung begann Mitte der 1990er Jahre fur den CAN Controller Baustein Philips 82C200 auf einem ISA Board AT CAN MINI Die erste Version entstand um 1995 im Rahmen des Linux Lab project an der FU Berlin um unter Linux den CAN Bus in der Laborautomatisierung zu nutzen Durch die zunehmende Verbreitung von CAN in der Automatisierungstechnik insbesondere auch im embedded Bereich in dem seit der Jahrtausendwende auch verstarkt Linux eingesetzt wird kommt Geratetreibern als Basis fur hohere CAN basierende Protokolle wie CANopen J1939 und DeviceNet eine gestiegene Bedeutung zu Neben dem NXP SJA1000 als Nachfolger des CAN Controllers Philips 82C200 und dem Intel 82527 wurden ab 2005 verstarkt Anpassungen fur sogenannte integrierte CAN Controller in leistungsstarken Mikrocontrollern fur die Linux Portierungen existieren erstellt Als Beispiele sollen hier die Freescale ColdFire Prozessoren oder ARM Derivate von ATMEL 1 und Freescale 2 aber auch der Stand Alone CAN Controller MCP2515 3 angeschlossen uber den SPI Bus dienen Eine Liste befindet sich auf der can4linux Projektseite 4 Die neueste Version unterstutzt eine virtuelle CAN Betriebsart in welcher sich Anwendungen ohne spezielle CAN Hardware nur uber den Treiber CAN Nachrichten austauschen konnen In dieser Betriebsart ist auch schon das Frame Format fur CAN FD 5 implementiert welches Datenlangen bis zu 64 Byte erlaubt Inhaltsverzeichnis 1 Benutzung 2 Siehe auch 3 Weblinks 4 EinzelnachweiseBenutzung BearbeitenDie Anwendungssoftware offnet einen CAN Device Descriptor und erhalt einen File Descriptor Uber diesen werden die CAN Frames uber die Standard Betriebssystem Funktionen read und write mit anderen Teilnehmern am CAN Bus ausgetauscht Der folgende Code ist ein Beispiel welches einen Frame sendet und anschliessend auf einen Frame von einem anderen Bus Teilnehmer wartet Weitere Beispiele befinden sich auf der Projektseite 6 simple CAN application example used for the Wikipedia article on can4linux include lt stdio h gt include lt fcntl h gt include lt unistd h gt include lt can4linux h gt int main int argc char argv int fd canmsg t frame fd open dev can0 O RDWR frame id 100 frame length 2 frame data 0 5 frame data 1 0 write fd amp frame 1 count enthalt Anzahl Frames nicht Byte read fd amp frame 1 count enthalt Anzahl Frames nicht Byte printf received CAN Frame Id ld DLC d n frame id frame length return 0 can4linux kann so ubersetzt werden dass verschiedene Prozesse auf den gleichen CAN Controller lesend und schreibend zugreifen konnen Auf diese Weise kann z B neben der eigentlichen Anwendung ein unabhangiger Diagnoseprozess den Bus beobachten Siehe auch BearbeitenSocketCANWeblinks Bearbeitencan4linux ProjektseiteEinzelnachweise Bearbeiten ATMEL SAM9263 Freescale i MX35 Familie Stand Alone CAN MCP2515 can4linux Projektseite CAN FD Spezifikation PDF 624 kB Online can4linux examples Abgerufen von https de wikipedia org w index php title Can4linux amp oldid 231938296