Die CANopen Driver Packages sind Treibermodule für die CANopen Library von port.
Die Driver Packages besitzen eine Schlüsselfunktion zur Nutzung dieser plattformunabhängigen Bibliothek. Sie unterstützen eine Anbindung der Bibliothek an Systeme mit und ohne Betriebssystem.
Übersicht
Die CANopen Driver Packages (DP) stellen den Zugriff auf die Hardware für die CANopen Library bereit. Über ein einheitliches Interface ermöglichen sie die Anbindung der Bibliothek an unterschiedliche Hardwareplattformen mit und ohne Betriebssystem.
Während der größte Teil des CANopen Kodes in 100% portablem ANSI-C Kode geschrieben ist, trifft das für die Treiberpakete nicht zu. Diese sind oft auf den speziellen Prozessor und eine passende IDE zugeschnitten. Dies ist notwendig da verschiedene Methoden des Zugriffs auf Hardwareregister und die Implementierung von Interruptroutinen existieren.
Um solche Aufgaben effektiv zu lösen, und um unsere Kunden optimal zu unterstützen, geht die port-GmbH strategische Partnerschaften mit Chip- und Toolherstellern ein. Beispiele sind:
- Atmel
- Cosmic
- Freescale
- Infineon
- ST Microelectronics
- Tasking, port partner page bei Tasking, Partner Seite bei port
- Texas Instruments
- RENESAS
- Texas Instruments
- NXP
- Microsemi
- uvm.
Untenstehende Tabellen der unterstützten Hardware verweisen auf entsprechende Partner.
Beschreibung
Die CANopen Driver Packages stellen die notwendigen Funktionen für:
- die Initialisierung der Hardware
- die Bedienung des CAN Kontrollers
- die Nachrichtenfilterung
- die Pufferung der Nachrichten
- und die Bereitstellung eines Timertaktes
über ein definiertes Interface bereit.
Zu einem CANopen Driver Package gehören ein CPU- (DP/CPU), ein CAN- (DP/CAN) und ggf. ein Betriebssystem-Treiber (DP/OS), die beliebig miteinander kombiniert werden können.
Die folgende Tabelle zeigt häufig verwendete Hardwarekombinationen von CPU- und CAN-Treibern:
Alle Treiber stehen als dokumentierter ANSI-C Quellkode zur Verfügung. Dies erlaubt eine einfache und schnelle Anpassung an systemspezifische Hardwareeigenschaften und die problemlose Übersetzung mit ANSI-C kompatiblen Kompilern.
Die umfangreiche Dokumentation gewährleistet des weiteren eine einfache Portierung der Treiber auf andere Hardwareplattformen auch durch den Anwender.
Konfigurationsmöglichkeiten
Die Treiber erlauben den Zugriff auf den CAN-Kontroller durch unterschiedliche Zugriffsmethoden:
- Memory Mapped Mode (Adressierung des CAN Kontrollers erfolgt über den Memory Adressraum der CPU)
- I/O Mapped Mode (Adressierung im I/O-Adressbereich)
- Latched Mode (Adressierung über Adresslatches)
Der genutzte Zugriffsmode auf die CAN-Kontroller Register ist von der verwendeten Hardware abhängig und kann über Zugriffs-Makros angepasst werden.
Die Treiber für FullCAN-Kontroller erlauben den Einsatz im:
- FullCAN-Mode:
- Hardwarefilterung für alle verfügbaren Messagekanäle (jeweils 1 Kanal zum Senden oder Empfangen) - FullCAN-Mode:
- mit 1 Sendekanal
- 1 Sendekanal für alle Sende-Nachrichten
alle übrigen Messagekanäle als Empfangskanal mit Hardwarefilterung:
- BasicCAN-Mode:
- 1 Sendekanal für alle Nachrichten
- 1 Empfangskanal für alle Nachrichten
Die beiden letzten Modi ermöglichen Geräte mit FullCAN Kontrollern zu betreiben, die mehr CAN Objekte unterstützen können als Hardware Messagebuffer im CAN Kontroller vorhanden sind. Viele Treiber enthalten zusätzliche Kodes für:
- schrittweise Inbetriebnahme des Treibers
- schnelle Fehlersuche
- auf Kundenwunsch hinzugefügte Erweiterungen
- 29 Bit extented CAN Frames, neben dem 11 Bit Base-Frame Format
die über entsprechende Kompiler-Defines aktiviert werden können. Neben den Treibern für CAN Kontroller, für die schon eine CPU mit mehreren CAN Kontrollern verfügbar ist, stehen weitere Treiber auch als Multi-Line Version zur Verfügung. Damit können sie in Geräten mit mehreren CAN Linien eingesetzt werden.
Bitte beachten Sie eventuelle Hardwareeinschränkungen besonders bei älteren CAN Kontrollern. Die Konfiguration der Treiber erfolgt über das CANopen Design Tool, welches als Light Version im Lieferumfang der CANopen Library enthalten ist.
Ressourcen
Alle Treiber senden und empfangen normalerweise im Interruptbetrieb und erfordern somit die Einbindung in das Interruptsystem des Gerätes. Für spezielle Anwendungen kann der CAN-Kontroller aber auch im Pollingmode betrieben werden.
Für die Bereitstellung der Zeitbasis für die CANopen Library kann entweder ein eigener Timer verwendet werden oder die Timer-Interrupt-Funktion wird durch einen anderen Systemtimer zyklisch aufgerufen.
Bestellinformationen
Die CANopen Driver Packages sind verfügbar als:
- vordefinierte Hardware/System-Treiber für typische Hardwarekonfigurationen. (DP 0565/xx)
- frei wählbare CAN-Kontroller- und CPU-Kombinationen (DP/CPU 0566/xx, DP/CAN 0567/xx)
Wir empfehlen die Bestellung der vordefinierten Treiberpakete, die neben dem CPU- und dem CAN Treiber auch einsatzbereite Projekte für die von uns verwendeten Kompiler und Konfigurationen enthalten.Für den Einsatz unter Windows™ oder LINUX™ stehen Treiber für aktive und passive PC-Einsteckkarten, Parallel-Port-Dongle, PCMCIA-Karten, USB-Interfaces und externe Ethernet-CAN Umsetzer (EtherCAN) zur Verfügung.
Vordefinierte Treiberpakete
Wir erweitern ständig die Palette der von uns unterstützten Treiber. Sollte Ihre Hardware trotzdem nicht dabei sein, unterstützen wir Sie gerne bei der Erstellung eines eigenen Treibers für die CANopen Library.
*) hardware-bedingte Abweichung gegenüber Standardfunktionalität
7DP Infineon Aurix TC275
0565/100 | DP TI Concerto F28MX35x |
0565/94 | DP AT32UC3C0512 |
0565/35 | DP Atmel AT90CAN128 |
0565/47 | DP Atmel AT91SAM7A3/SAM7X(C) |
0565/83 | DP Atmel AT91SAM9263 |
0565/112 | DP ATMEL ATSAM4E |
0565/146 | DP ATMEL ATSAM4E FreeRTOS |
0565/10 | DP Atmel T89C51CC01/02/03 |
0565/46 | DP Beck IPC@CHIP 1x3 |
0565/03 | DP C167C |
0565/50 | DP can4linux connector |
0565/17 | DP CAN-AC2 Windows |
0565/53 | DP CANopen SocketCAN Connector |
0565/91 | DP Cortex A8 |
0565/13 | DP CPC-Windows |
0565/88 | DP FPGA XILINX - Proof of Concept |
0565/07 | DP Freescale HCS12(X) |
0565/122 | DP Freescale K1x/K6x |
0565/128 | DP Freescale K1x/K6x µC/OS-II |
0565/121 | DP Freescale K2x |
0565/136 | DP Freescale Kinetis KE06 Family (MKE06Z128) |
0565/04 | DP Freescale MC09S08 |
0565/118 | DP Freescale MC56F827xx |
0565/48 | DP Freescale MC56F8323 |
0565/90 | DP generic driver |
0565/70 | DP horch Linux (TM) |
0565/144 | DP Infineon Aurix TC23x |
0565/34 | DP Infineon XC164CS |
0565/69 | DP Infineon XE164 |
0565/137 | DP Infineon XMC4200 |
0565/149 | DP Infineon XMC4300 |
0565/56 | DP Infineon XMC4500 |
0565/126 | DP Infineon XMC4800 |
0565/63 | DP Kvaser |
0565/73 | DP Luminary LM3S2965 |
0565/92 | DP Luminary LM3S5B91 |
0565/86 | DP Luminary LM3S5Y36 |
0565/37 | DP Microchip dsPIC30F6011/12/13/14 |
0565/123 | DP Microchip dsPIC33EPxx |
0565/124 | DP Microchip dsPIC33EVxx |
0565/19 | DP Microchip dsPIC33F256 |
0565/43 | DP Microchip PIC18F2680 |
0565/99 | DP Microchip PIC32 |
0565/24 | DP netX |
0565/132 | DP NXP LPC15xx |
0565/95 | DP NXP LPC1768 |
0565/134 | DP NXP LPC1778_1788 |
0565/39 | DP NXP LPC2129 |
0565/85 | DP NXP LPC2368 |
0565/74 | DP NXP LPC2468 |
0565/138 | DP NXP LPC4078_4088 |
0565/120 | DP NXP LPC43xx |
0565/154 | DP NXP S32K144 |
0565/15 | DP Peak PCAN-Basic Windows |
0565/65 | DP Renesas (former NEC) PD70F3377 (V850/ES-Fx3) |
0565/93 | DP Renesas (former NEC) PD70F3476 |
0565/55 | DP Renesas (former NEC) PD70F3577 (V850E2/Fx4) |
0565/113 | DP Renesas (former NEC) PD70F4022 (V850E2/ML4) |
0565/64 | DP Renesas M16C/6NK (embOS) |
0565/21 | DP Renesas M16C29 |
0565/114 | DP Renesas R-IN32M3 |
0565/59 | DP Renesas RL78F13 |
0565/119 | DP Renesas RL78F14 |
0565/125 | DP Renesas RX231 |
0565/108 | DP Renesas RX62N |
0565/96 | DP Renesas RX63N |
0565/116 | DP Renesas RX64M |
0565/130 | DP Renesas Synergy |
0565/33 | DP SiLabs C8051F040 |
0565/80 | DP SiLabs C8051F50x |
0565/153 | DP Spansion MB9BF15x |
0565/78 | DP Spansion/Fujitsu MB91F467 |
0565/66 | DP Spansion/Fujitsu MB96F348 |
0565/109 | DP Spansion/Fujitsu MB9BF524K |
0565/79 | DP ST Microelectronics STR91x |
0565/104 | DP Stellaris LM3S9DN6 |
0565/117 | DP STM32F0xx |
0565/72 | DP STM32F103 |
0565/107 | DP STM32F105/F107 |
0565/98 | DP STM32F20x |
0565/110 | DP STM32F3xx |
0565/106 | DP STM32F4xx |
0565/143 | DP STM32F4xx FreeRTOS |
0565/142 | DP STM32F4xx Keil RTX |
0565/148 | DP STM32F4xx ThreadX |
0565/133 | DP STM32F7xx |
0565/145 | DP STM32F7xx FreeRTOS |
0565/127 | DP STM32L4xx |
0565/139 | DP STM32L4xx FreeRTOS CAN sleep |
0565/101 | DP TI AM335x (SYS/BIOS) |
0565/129 | DP TI AM427x IDK |
0565/140 | DP TI Tiva TM4C129X FreeRTOS |
0565/152 | DP TI TMS320DM6435 Sysbios + Autobaud |
0565/150 | DP TI TMS320F2803x |
0565/32 | DP TI TMS320F2806/2808/2812 |
0565/135 | DP TI TMS320F28075 |
0565/57 | DP TI TMS320F28335 |
0565/131 | DP TI TMS320F28377 |
0565/151 | DP TI TMS320F2837x SYS/BIOS |
0565/147 | DP TI TMS570LS Hercules |
0565/81 | DP VxWorks |
0565/154 | DP NXP S32K144 |
0565/153 | DP Spansion MB9BF15x |
0565/152 | DP TI TMS320DM6435 Sysbios + Autobaud |
0565/155 | DP Renesas RX71M |
0565/147 | DP TI TMS570LS Hercules |
0565/157 | DP TI TMS320F28379_with_MCP2517FD_Sysbios |
0565/158 | DP Renesas SH72544R |
0565/159 | DP Xilinx Zync7020 |
0565/160 | DP Renesas RH850D1M |
0565/161 | DP Renesas RX65N FreeRTOS |
0565/162 | DP NXP S12Z |
0565/163 | DP STM32F413 |
0565/164 | DP Renesas RZ/T1 R4F (ARM Cortex-R4F core only) |
0565/165 | DP TI Tiva TMC4C mit FreeRTOS with Heap |
0565/166 | DP Vector XL Driver Library |
0565/167 | DP Renesas RX72M |
0565/168 | DP TI MSP432E401 |
0565/169 | DP Xilinx ZYNC Ultrascale mit QNX |
0565/170 | DP TI Tiva TM4C123G (Baremetal) |
0565/171 | DP Renesas Synergy S5D9 |
0565/172 | DP IXXAT VCI (under Windows) |
0565/173 | DP ST STM32G4xx |
0565/174 | DP ST STM32H7xx |
0565/175 | DP PEAK Basic Windows |
0565/176 | DP Microsemi SmartFusion2 |
0565/177 | DP Infineon Aurix TC275 |
0565/178 | DP Generic CANHAL Driver |
Your driver is not there? Send us an email: click here | |
Datenblatt
Laden Sie hier das Produktdatenblatt herunter.