MacCAN – macOS Library for PCAN-USB Interfaces and more

Projekt: Juni 2012 – heute (aktuell)

Projektbeschreibung

The PCBUSB library realizes a ‚PCAN-USB Driver for macOS‘ using Apple´s IOUSBKit. It supports up to 8 PCAN-USB and PCAN-USB FD devices from PEAK-System Technik, Darmstadt. The library offers an easy to use API to read received CAN messages from a 64K message queue and to transmit CAN messages. The PCAN-USB FD device can be operated in CAN Classic and CAN FD mode. Standard CAN frames (11-bit identifier) as well as extended CAN frames (29-bit identifier) are supported.
The library comes with an Objective-C wrapper and a demo application: MacCAN Monitor App.

Projektsteckbrief

Projekt MacCAN – macOS Library for PCAN-USB Interfaces and more
Zeitraum Juni 2012 – heute (aktuell)
Kunde Own development (www.mac-can.com)
Branche Industrielle Kommunikation / Feldbus
Rolle im Projekt Systemspezifikation, Softwarearchitektur, Softwareentwurf, Implementierung, Funktionstests, Dokumentation
Software / Tools / Methoden Enterprise Architect (Sparx), Apple LLVM (clang, x86_64), CUnit Test Framework, Doxygen, JIRA
Hardwareplattform PCAN-USB Adapter (PEAK), PCAN-USB FD Adapter (PEAK)

Active Steering Wheel

Projekt: Januar 2012 – Mai 2015 (41 Monate)

Projektbeschreibung

Aktivlenkung für US-amerikanischen Automobilhersteller. Unterstützung des Projektteams in Berlin mit folgender Aufgabenstellung:

  • Implementation of the software design (modules)
  • Documentation of the modules and interfaces
  • Integration of software components
  • Design and execution of Unit Tests
  • Code Reviews

Projektsteckbrief

Projekt Active Steering Wheel
Zeitraum Januar 2012 – Mai 2015 (41 Monate)
Kunde darf aus Gründen des Kundenschutzes nicht genannt werden
Branche Automotive
Rolle im Projekt Softwaredesign, Implementierung, Softwareintegration, Unit-Tests, Code-Reviews, Issue Analysis
Software / Tools / Methoden Enterprise Architect (Sparx), GHS C-Compiler (Green Hills), PC-lint (MISRA-C 2004 rules), CANoe (Vector), DET (Ford), DOORS (IBM), FuSi (IEC 26262-6), Telcon / Webex / Workshop
Hardwareplattform Freescale MPC5643 Dual-Core Microcontroller, Lauterbach Trace32 Debugger, CAN Interface Board (Vector)

Hardwarenahe Softwareentwicklung

Projekt: Dezember 2010 – Dezember 2011 (13 Monate)

Projektbeschreibung

Unterstützung der Entwicklung beim Kunden. Die Aufgabe beinhaltet:

  • Entwicklung von hardwarenahen Softwareapplikationen
  • Erstellen von hardwarenahen Treibern
  • Implementierung von Echtzeitbetriebssystemen auf Embedded Plattform
  • Anpassung von BIOS- und Treibersoftware
  • Projektbegleitung vom Requirement Engineering bis zur Validation

Arbeitspaket 1: Analog-CAN-Transmitter für Force-Feedback-Sidestick-Steuerung

Der Transmitter dient zur Übertragung von analogen und digitalen Signalen einer redundanten Sidestick-Steuerung über den CAN-Bus. Über zwei kraftgekoppelte Sidesticks im Cockpit werden das Lenksystem wie auch das Gas-/Bremssystem angesteuert. Von diesen Systemen werden die aktuellen Winkelinformationen zurück an die Systeme im Cockpit übertragen.

Aufgabe: Implementierung der Transmitter-Software (CAN-Bus).

Arbeitspaket 2: End-Of-Line Testsoftware für Flurfahrzeuge-Bedienteil

Die Truck Data Unit (TDU) wird optional im Fahrzeug installiert. Zu Beginn der Fahrzeugnutzung identifiziert sich der Fahrer über eine ihm zugeordnete Kennung an (optional über eine Tastatur mit PIN-Nummer oder über einen Kartenleser mit RFID Kennung) und zeigt damit die Nutzung des Fahrzeugs an. Beim Verlassen des Fahrzeugs meldet sich der Fahrer ab.

Aufgabe: Implementierung der Testsoftware auf dem Target für End-Of-Line Test von analogen und digitalen E/A-Signalbaugruppen, Speicherbausteinen (F-RAM, NAND-Flash, Data-Flash), LEDs, CAN-Kommunikation, Matrixtastatur, Wake-up Funktion, Card-Reader (RFID), Bluetooth-Modul.

Arbeitspaket 3: Komprimierter Download über CANopen

Bedienteil für Schwarzdeckenfertiger mit Display und CAN-Interface. Softwareupdates erfolgen über CANopen-Bootloader.

Aufgabe: Integration des zlib Inflate-Algorithmus in vorhandenen Bootloader.

Arbeitspaket 4: SPI-Bootloader für HVAC Frontpanel

Frontpanel für Klimasteuerung, zum Einbau in einen Radio DIN Schacht. Bedien- und Anzeigeeinheit mit integriertem Farbdisplay, beleuchtbaren Tasten und Drehreglern. Kommunikation mit der Hauptplatine erfolgt über Datenbussystem SPI und steuert alle Tasten- udn Encoder-Eingaben, sowie die Displayvisualisierung.

Aufgaben:
a.) Implementierung des Bootloaders (SPI-Slave).
b.) Implementierung von Testprozeduren.

Projektsteckbrief

Projekt Hardwarenahe Softwareentwicklung
Zeitraum Dezember 2010 – Dezember 2011 (13 Monate)
Kunde darf aus Gründen des Kundenschutzes nicht genannt werden
Branche Automotive
Rolle im Projekt Systemspezifikation, Systemarchitektur, Softwareentwurf, Implementierung, Funktionstests, Dokumentation
Software / Tools / Methoden Keil C166 C Compiler (uVision3), Keil ARM C Compiler (uVision4) , Microsoft Visual C++ 2008 , Enterprise Architect (Sparx) , PC-lint (MISRA-C 2004 rules) , Understand (SciTools) , CAN Analyser (IXXAT) , Doxygen, Python
Hardwareplattform Infineon XC164CS Microcontroller, Infineon XC2368B Microcontroller, NXP LPC2478 (ARM7/TDMI-S core), Keil U-Link On-chip Debugger, CAN Interface Boards (IXXAT), SPI-to-USB Adapter (Elite)

Primary Flight Control System

Projekt: Juli 2009 – September 2010 (15 Monate)

Projektbeschreibung

Zertifizierungsreifmachung einer Fly-by-Wire Flugsteuerung:

  • Softwareentwicklung nach V-Modell und RTCA DO-178B für das Primary Flight Control System des Superjet 100
  • Durchführung der Softwaretests gemäß RTCA DO-178B
  • Erstellung der erforderlichen Dokumentation gemäß RTCA DO-178B

Projektsteckbrief

Projekt Primary Flight Control System
Zeitraum Juli 2009 – September 2010 (15 Monate)
Kunde darf aus Gründen des Kundenschutzes nicht genannt werden
Branche Luftfahrttechnik
Rolle im Projekt Design und Code Reviews, Softwareerweiterung, Softwaretests, Dokumentation
Software / Tools / Methoden Ameos (Aonix) UML Modeling Tool, CodeWarior (Metrowerks) C Compiler for Power Architecture Processors, QA-C/MISRA (QA Systems) Static Code Analysis, PolySpace (MathWorks) MISRA-C Code Checker, CTE (DaimlerChrysler AG) Classification Tree Editor, ClearCase / ClearQuest (Rational) Unified Change Management, Reqtify (geensys) Requirements Management / Traceability Tool, SmarTeam (Dassault Systemes) Product Data Management / Product Lifecycle Management, DO-178B (RTCA) Software Considerations in Airborne System and Equipment Certification
Hardwareplattform Freescale MPC5554 32-bit Microcontroller

Notantrieb für Blutpumpe

Projekt: Februar 2009 – März 2009 (2 Monate)

Projektbeschreibung

Anpassung der Firmware für Kompaktantriebe um Kunden-spezifische Sonderfunktion. Der Antrieb wird zur Vervollständigung des Notfallkonzepts in einer mobilen Blutpumpe eingesetzt. Hierzu wurde die Funktion des digitalen Bedien-Interface nach Kunden-spezifischen Vorgaben angepasst.

Projektsteckbrief

Projekt Notantrieb für Blutpumpe
Zeitraum Februar 2009 – März 2009 (2 Monate)
Kunde Schneider Electric Motion Deutschland GmbH & Co. KG
Branche HW- und SW-Entwicklung Mechatronik
Rolle im Projekt Softwareentwurf, Implementierung, Funktionstests, Dokumentation, Auftragsabwicklung
Software / Tools / Methoden Keil C166 C Compiler (uVision3), CAN/CANopen Tools (IXXAT)
Hardwareplattform Infineon XC164 Microcontroller, Keil U-Link On-chip Debugger, USB Oscilloscope, Multimeter

Pilgerschritt bzw. Schleifenfahrt

Projekt: Januar 2009 – Februar 2009 (2 Monate)

Projektbeschreibung

Erweiterung der Firmware für Kompaktantriebe um Kunden-spezifische Sonderfunktion. Auf Basis der bestehenden Antriebsfirmware wurde das Getriebeflankenspiel (backlash) durch die Softwaremethode ‚Pilgerschritt bzw. Schleifenfahrt‘ kompensiert, um eine höhere Positioniergenauigkeit zu erreichen. Bei dieser Methode werden alle Positionen nur aus einer Richtung angefahren. D.h. in einer Richtung wir die Zielposition immer direkt angefahren und in der Gegenrichtung wird die Zielposition zuerst um einen Betrag, der größer ist als das Getriebeflankenspiel, überlaufen und anschließend angefahren.

Projektsteckbrief

Projekt Pilgerschritt bzw. Schleifenfahrt
Zeitraum Januar 2009 – Februar 2009 (2 Monate)
Kunde Schneider Electric Motion Deutschland GmbH & Co. KG
Branche HW- und SW-Entwicklung Mechatronik
Rolle im Projekt Pflichtenheft, Softwareentwurf, Implementierung, Funktionstests, Dokumentation, Auftragsabwicklung
Software / Tools / Methoden Keil C166 C Compiler (uVision3), CAN/CANopen Tools (IXXAT), IclA Commissioning and Control Tool
Hardwareplattform Infineon XC164 Microcontroller, Keil U-Link On-chip Debugger, CAN Interface Boards (IXXAT)

Controllerboard mit Echtzeit-Linux

Projekt: Januar 2007 – Dezember 2008 (24 Monate)

Projektbeschreibung

Mitarbeit bei der Spezifikation und Entwicklung eines Controllerboards mit MPC5200B (Freescale) und echtzeitfähigem Linux (Kernel 2.6 RT Preemptive, PTXdist). Das Projekt stellt eine gemeinsame HW-Plattform und einen generischen SW-Framework für produktspezifische Zentralsteuerungen von Generatorsystem für Plasmaanregung, Induktionserwärmung und CO2-Laseranregung zur Verfügung.
Haupttätigkeitsschwerpunkt im Projekt waren die Definition und Realisierung des SystemCAN für die Kommunikation von Generatormodulen. Der SystemCAN basiert auf dem CANopen-Protokoll nach CiA DS-301 (EN 50325-4).
Während des Projekts wurde beim Kunden ein modellbasierter Entwicklungsansatz nach UML 2.0 eingeführt und ein agiler Entwicklungsprozess nach OpenUP etabliert.

Projektsteckbrief

Projekt Controllerboard mit Echtzeit-Linux
Zeitraum Januar 2007 – Dezember 2008 (24 Monate)
Kunde darf aus Gründen des Kundenschutzes nicht genannt werden
Branche Prozessenergie
Rolle im Projekt Anforderungsermittlung, Systemspezifikation, Systemarchitektur, Softwareentwurf, Implementierung, Funktionstests, Dokumentation
Software / Tools / Methoden Rhapsody in C (UML Tool with Code Generation), Willert Bridge (for Freescale MPC5200B), Linux 2.6.x (RT Preemptive and native), CANopen Master/Slave Software (IXXAT), PEAK USB-to-CAN Dongle with SocketCAN, eXpat XML Parser (Host and Target), GCC, Eclipse (Linux and Cygwin), SVN, MANTIS, DokuWiki, etc.
Hardwareplattform Freescale MPC5200B 32-bit Microcontroller, Phytec phyCORE-MPC5200B-Tiny Controllerboard, BDI 2000 (JTAG Debugger), CAN Interface Boards (PEAK, IXXAT), Windows PC with Linux (Debian) in a virtual machine (VMware)

CANopen Safety Treiber

Projekt: September 2006 – Januar 2007 (5 Monate)

Projektbeschreibung

Erweiterung einer CANopen Steuerung mit Geräteprofil CiA DS-405 (Interface and Device Profile for IEC 61131-3 Programmable Devices) um das CANopen Safety Protokoll entsprechend CiA DS-304 (Framework for safety-relevant communication). Die Mobilsteuerung wird in Teleskopkrane zur Lastmomentbegrenzung eingesetzt. Eine Zertifizierung nach SIL II wurde vom Kunden vorbereitet.

Projektsteckbrief

Projekt CANopen Safety Treiber
Zeitraum September 2006 – Januar 2007 (5 Monate)
Kunde darf aus Gründen des Kundenschutzes nicht genannt werden
Branche Automotive / Mobilsteuerung
Rolle im Projekt Softwareentwurf, Implementierung, Funktionstests, Dokumentation
Software / Tools / Methoden Wind River Diab Data C Compiler, RTOS-UH Real-time Operating System, Vector Informatik CANalyzer and ProCANopen, MKS Source Integrity (Version Control System), PC-lint (Source Code Checker)
Hardwareplattform Freescale PowerPC MPC561, Lauterbach TRACE32 In-circuit Emulator, Vector Informatik CAN Interface Board

CANopen Master API

Projekt: September 2006 – September 2006 (1 Monate)

Projektbeschreibung

Erweiterung einer CANopen Master API (Application Programming Interface) als 32-bit Dynamic Link Library für Windows. Die Softwarelibrary unterstützt jetzt CAN Interfacekarten der Firma Vector Informatik.

Projektsteckbrief

Projekt CANopen Master API
Zeitraum September 2006 – September 2006 (1 Monate)
Kunde Own development (www.uv.software.com)
Branche Industrielle Kommunikation / Feldbus
Rolle im Projekt Systemspezifikation, Softwareentwurf, Implementierung, Funktionstests, Dokumentation
Software / Tools / Methoden Visual C/C++ V6.0 (Windows 9x/2000/XP), Vector XL Driver Library (Version 3.0)
Hardwareplattform Windows PC (9x/2000/XP), Vector CAN Interface Board (CANcaseXL, USB)

Commissioning and Control Tool

Projekt: Juni 2006 – August 2006 (3 Monate)

Projektbeschreibung

Softwareerweiterung einer PC-basierten Software zur Konfiguration von Antriebs- und Applikationsparametern eines Kompaktantriebs über die CAN-Busschnittstelle. Überarbeitung der GUI (Graphical User Interface), so dass das Commissioning Tool in die firmenweite Toolchain integriert werden kann.
Neue Funktionen sind u.a. eine kontextsensitive Hilfe für Geräteparameter (F1 springt an den entsprechenden Bookmark im PDF-Dokument), eine Snapshot-Funktion des aktuellen Gerätezustands für Fehlerdiagnose und Service.

Projektsteckbrief

Projekt Commissioning and Control Tool
Zeitraum Juni 2006 – August 2006 (3 Monate)
Kunde Berger Lahr GmbH & Co. KG, Niederschopfheim
Branche HW- und SW-Entwicklung Mechatronik
Rolle im Projekt Pflichtenheft, Softwareentwurf, Implementierung, Funktionstests, Dokumentation, Auftragsabwicklung
Software / Tools / Methoden Microsoft Visual C++ V6.0, IXXAT CANopen Master API, PEAK PCAN-Light DLL, Iocomp Plot Pack (ActiveX), Acrobat DDE Messages (SDK)
Hardwareplattform Windows PC (2000/XP), IXXAT CAN Interface Boards, PEAK CAN Interface Boards, Compact Drive N065 und D065