Projekt: Juli 2002 – September 2002 (3 Monate)
Projektbeschreibung
Erstellung einer CAN/CANopen Master Softwarelibrary für Infineon C16x Mikrocontroller mit folgenden Merkmalen:
- Initialisierung des on-chip CAN Controllers (82527-kompatibel):
- Baudraten: 10kBit/s bis 1MBit/s (gemäß CiA Bit-timing Tabelle)
- SDO-Protokoll (segmented und expedited, gemäß CiA DS-301 Version 4.0):
- Einfacher Zugriff auf 8-bit, 16-bit und 32-bit Objektwerte (CiA Encoding Rules)
- Einstellbare Time-out Überwachung (bei Time-out wird ein SDO-Abort gesendet)
- Detaillierte Fehlerrückgabe (Kommunikationsfehler bzw. SDO-Abort Codes)
- NMT-Broadcast (Network Management gemäß CiA DS-301 Version 4.0)
- LSS-Services (Layer Settings Services gemäß CiA DSP-305 Version 1.0)
- LMT-Services (Layer Management Services gemäß CiA DS-205 Teil 1 & 2)
- Event-Queue für ereignis-gesteuerte Nachrichtenverarbeitung, z.B. für:
- Receive-PDOs (RxPDOs)
- Emergency-Messages
- Heartbeat-Messages
- Zugriff auf CAN Layer 2:
- Transmit Message (z.B. für TxPDOs, SYNC-Objekt, TIME-Objekt)
- Request Message (z.B. für RTR-PDOs, Node-Guarding)
Das Paket zeichnet sich durch geringe Verwendung von Mikrocontroller-Ressourcen aus. Die Softwarelibrary liegt auch für Mikrocontroller Infineon XC16x (TwinCan) und Mitsubishi M16C (Renesas) vor.
Unterstützung weiterer Mikrocontroller auf Anfrage.
Projektsteckbrief
Projekt | CAN/CANopen Master Softwarelibrary für Mikrocontroller Infineon C16x |
Zeitraum | Juli 2002 – September 2002 (3 Monate) |
Kunde | Own development (www.uv.software.com) |
Branche | Industrielle Kommunikation / Feldbus |
Rolle im Projekt | Anforderungsermittlung, Systemspezifikation, Softwareentwurf, Implementierung, Funktionstests, Dokumentation |
Software / Tools / Methoden | Tasking C166/ST10 Compiler, Keil C166 C Compiler (uVision2), Renesas MC30 Compiler, GCC for MPC5200B |
Hardwareplattform | Infineon C164CI Microcontroller, Infineon C167CR Microcontroller, Infineon XC164CS Microcontroller, Renesas M16C/62N Microcontroller, BerliOS SocketCAN on Embedded Linux |