Schlagwörter
Skills
MS Visual Studio 2015/2010, IAR Embedded Workbench , Keil uVision, eclipse, gcc
i.MX8QXP, STM32L4xx, STM32F10x, TI MSP430, ATmega, ATxmega
docker, VirtualBox
Windows, Linux, VxWorks, MS-DOS, FreeRTOS
TLS, SML, KONNEX TP/PL/RF, M-Bus, DLMS, HDLC
TCP/IP, UDP/IP, X.25
Elektronik, DSP, digitale Filter, Kommunikationstechnik, Steuerungstechnik, Internet
XML, HTML, SMTP, POP3, FTP, TFTP
Luftfahrt-Protokollstack: MATIP, BATAP, ARINC 620/622/623, AFN, CPDLC, ADS-C
Embedded Systems, ATxmega128A3, ATmegaXX4, STM32F101, ARM 32-bit Cortex-M3, DSP, 8051, Intel 80386, PowerPC 405
SPM, STM, AFM
Projekthistorie
Das System besteht aus zwei Subsystemen:
• einer Qt Applikation mit GUI und 13 weiteren Prozessen mit der eigentlichen Business
Logic und
• einem Controller für die Ansteuerung von elektronischen Komponenten, wie Laderegler
oder LLC Spannungswandler.
Beide Subsysteme kommunizieren über eine serielle Schnittstelle.
Entwicklung eines Yocto Projektes für die Integration von Embedded Linux Plattform NXP i.MX6
und 14 Applikations-Prozessen sowie die Konfiguration des Gesamtsystems. Mit dem Yocto
Projekt können folgende Images erstellt werden:
• für die Entwicklung mit SD-Karte,
• für die Entwicklung mit internen eMMC FLASH,
• für die Produktion, Release für internen eMMC FLASH,
• für das Update, RAUC Bundle für Verbreitung von Updates
Entwicklung eines Updaters für Embedded Linux auf der Basis von RAUC.
Weiterentwicklung der Kommunikation zwischen der GUI (Linux) und dem Controller
(STM32/FreeRTOS).
Konzept und Entwicklung einer Lösung für die Fernwartung des Systems.
Entwicklung eines Moduls für die Inbetriebnahme des Systems.
Eclipse IDE for Embedded C/C++, STM32Cube IDE, IAR Embedded Workbench
EWARM, MS Visual Studio C++
QtCreator
C++, C, Qt, QML
Yocto
SQL Datenbank, sqlite3
Phytec phyCORE-i.MX6ULL, NXP i.MX6
STM32G0B1RE
Embedded Linux Updater, RAUC
Interprozesskommunikation (IPC, Message Queues), Multithreading (pthread)
Embedded Linux, FreeRTOS
Für die Ansteuerung vom Schrittmotor wurde ein Treiber für den Schrittmotor Controller TMC5130A-TA entwickelt. Für die Kommunikation wurde SPI Schnittstelle verwendet.
- Eclipse IDE for Embedded C/C++ v4.23
- IAR Embedde Workbench EWARM v8.50
- MS Visual Studio C++ 2019
- CMSIS, FreeRTOS
- SEGGER j-link
- GNU gcc ARM EABI
- C/C++
- ATSAME54P20A Cortex-M4, FPU
- TMC5130A-TA Schrittmotor Controller
Entwicklung von Algorithmen für das Balancing und SoC der Batterie.
- FoxBMS2
- Texas Instruments (TI)’s Code Composer Studio
- Texas Instruments (TI)’s HALCoGen
- Continuum’s Miniconda
- Ruby and the Ceedling
- GCC, VS Code
- MS Visual Studio C++ 2019
- C++
- TMS570L
Anschließend wurde im Rahmen Proof-Of-Concept in eigenem Emulator die Basis-Steuerung des Roboters entwickelt, um das Mapping- und Navigations-Konzept zu verifizieren. Alle Komponenten wie auch Sensoren (Laser, Motoren, CANBus, BMS, I2C, Gyroskop, SPI) wurden im Emulator (ein graphisches Windows-Programm) emuliert und man konnte bereits die Arbeit des Roboters im Emulator beobachten.
Für bessere Entwicklungs- und Debugging-Möglichkeiten wurde ein Recorder sowie Player auf der Basis des Emulators entwickelt. Mit dem Recorder können alle Sensor-Daten aufgezeichnet und dann mit dem Player mit Bit-Genauikeit abgespielt werden.
Es wurden eigene Algorithmen für die folgenden Funktionen entwickelt:
- Das Erstellen einer initialen Karte (Explorations-Modus).
- Das Fahren einer vorgegebenen Route, die auf der Karte gezeichnet wurde.
- Die Überwachung vom Batterie-Stand.
- Das Fahren zu einer vorgegebenen Home-Position auf Anforderung.
- Das Fahren zu der Ladestation und das präzise Andocken an die Elektroden.
- Die automatische Aufnahme der unterbrochenen Route nach dem Aufladen der Batterie.
Für die Entwicklung wurden die folgenden Tools und Technologien verwendet:
- MS-VS C++ 2015, Eclipse, cmake, Yocto, bitbake
- Raspberry Compute Module 4
- C/C++
- SPI, I2C, CANBus, CanOpen, RS232
- Sick Laser TiM561/571
- Gyroscopes und Accelerometers: BCM2711, MCP23017, ICM-42688-P
- ROS und ROS2
- ASB-Bibliotheken, Betriebssystem unabhängig: ASB-Lib und ASB-Inet
- Simulationsprogramm: Simulix für Visualisierung, Steuerung und Debugging des Embedded Systems
Entwicklung eines Algorithmus für das Zählen von Eiern auf einem Fließband und Implementierung des Algorithmus in ein bestehendes Gerät.
-
IAR Embedded Workbench, STM32Cube IDE, MS-VS C++ 2015
-
STM32F302RB, Cortex-M4, ohne Betriebssystem, Treiber-Entwicklung
-
C, C++
-
RS232
-
FFT und invers FFT, digitale Filter, DSP
-
Photometric Front End ADPD1080 vom Analog Devices
Differenzstrom-Überwachung. Entwicklung von OCPP (Open Charge Point Protocol) und damit spezifizierten Applikationen/Use Cases.
Anpassung eigenes Test-Systems für die Simulation der Umgebung von einer Lade-Säule und Entwicklung von automatisierten Tests. Benutzung der Tests für testgetriebene Software-Entwicklung.
IAR Embedded Workbench, STM32Cube IDE, MS-VS C++ 2015
STM32F030, ohne Betriebssystem, Treiber-Entwicklung
C, C++
RS485
OCPP, MODBus
Entwicklung eines Linux Treibers für die Funktionalität von VLAN. Entwicklung eines Applikations-Container für die Isolation von Prozessen.
Eclipse CDT,
Embedded Linux
proprietäres Embedded Linux Build System „Mensa“
C++, Python3
Erstellung einer Ist Analyse
Erstellung von technischen Entwicklungskonzepten
NXP i.MX8QM
ubuntu 18/20
Entwicklung eines Update Services für ein Embedded Linux ARM System, der folgende Update Szenarien unterstützen soll:
-
manuelles Update von einer übergebenen Update-Datei
-
manuell nach Updates suchen und informieren, auf Wunsch installieren
-
automatisch nach Updates suchen und informieren, auf Wunsch installieren
-
automatisch Updates suchen und installieren
Der entwickelte Service verwendet die OpenSource Programme SWUpdate und hawkBit Server von DENX. Der von Update Service gestellte D-Bus Interface ermöglicht eine einfache Anbindung an eine GUI-Anwendun und/oder einen REST API Service.
Entwicklung von Modulen in Qt5 für die Konfiguration, Ansteuerung und Anzeige von Informationen und Statis in den genannten Update-Szenarien.
-
Eclipse CDT,
-
C++, STL, CMake
-
Qt5, QtCreator
-
Remote Debugging
-
Yocto Linux
-
Embedded Linux, ubuntu 16
-
Sockets,Threads, Prozesse, IPC, TTY
-
DENX SWUpdate
-
DENX hawBit Server
Unterstützt wird zuerst das neue Modular Data Recorder GT auf der Plattform von NXP LS2088A SoC. Der Firmware-Updater implementiert redundante Installation mit Fallback und signierten Images. Er unterstützt auch ausgewählte Diagnose- Funktionen.
Zusätzlich wird ein Updater-Client/Manager entwickelt, der über eine gesicherte TLS-Verbindung das Firmware-Update sowie Diagnose- Funktionen dem Anwender zur Verfügung stellt. Der Update-Manager ist ebenfalls für die Erstellung der signierten Update-Datei mit allen Firmware-Images zuständig.
- Eclipse CDT, Visual Studio C++ 2015
- C++, STL, Boost, Cmake
- NXP LS2088A
- Yocto Linux
- Embedded Linux, ubuntu 18.04LTS 64b, mint 19.2, Windows7 / 10
- Sockets,Threads, Prozesse, IPC, TTY
- Agile Entwicklung, Scrum
- U-Boot, ATF, Secure Boot
- NOR-Flash, MTD
Projekt: Smart Meter Kommunikations-Adapter für Smart Meter Gateway
Homeoffice
Entwicklung der Firmware für ein Smart Meter Kommunikations-Adapter mit einem Protokoll-Stack umfassend folgende Protokolle: HDLC, HDLC-ARP, SYM-MSG, SML und TLS sowie proprietäre Smart Meter Protokolle. Entwurf und Implementierung von einem Persistent Data Storage für Stammdaten, Archiv von historischen Messwerten und operationellen Daten.
Entwicklung einer Testumgebung für vollständig automatisierte Tests des Gesamtsystems.
-
Smart Meter Gateway, SML, COSEM
-
TLS, mbedTLS
-
Eclipse CDT, Visual Studio C++ 2015
-
IAR Embedded Workbench, Arm64-GNU-Crosscompiler
-
C++, STL, CMake
-
STM32L476, STM32F411
-
ubuntu 16.04LTS 64b, Windows7 / 10
-
Agile Entwicklung, Scrum
-
GitLab
Projekt: Modul-Demonstrator mit LTE und GPS für Fahrerassistenzsysteme
Homeoffice
Unterstützung bei der Entwicklung eines Modul-Demonstrators für Connectivity-Anwendungen im Automotive-Umfeld. Entwicklung eines Moduls mit iMX8 als Applikationsprozessor und u-blox TOBY-L4 als LTE-Modem.
Entwicklung eines neuen PHY-Treibers für TJA1100.
Entwicklung eines Systems für das Flashen der Images in der Produktion mit mfgtools von NXP.
Entwicklung eines Systems bestehend aus PC-Client, i.MX8QXP-Servers und Boot Manager für das Durchführen von Updates der Firmware vom Gesamtsystem.
Integration von Applikationen und Treiber in die Yocto Distribution.
Weiterentwicklung und Pflege von Yocto Projekten.
-
SMS, GSM, GPRS, UMTS, LTE, GPS, WiFi, Multimedia
-
Eclipse CDT, Visual Studio C++ 2015
-
C++, STL, Boost, CMake
-
NXP i.MX8QXP, u-blox TOBY-L4
-
Yocto Linux
-
DoIP, UDS
-
Embedded Linux, ubuntu 14.04LTS 64b, ubuntu 16.04LTS 64b, Windows7 / 10
-
Sockets,Threads, Prozesse, IPC, TTY
-
Agile Entwicklung, Scrum
-
CoreALM, Gerrit
Projekt: Outdoor Terminal von Toll-Collect
50% Remote
Entwicklung eines Drucker-Handler als selbständiger Prozess für die Inbetriebnahme, Konfiguration und Ansteuerung eines Ticket-Drucker mit Endlospapier. Die Interprozess- Kommunikation ist mit D-Bus realisiert. Der Drucker ist über USB an TTY angeschlossen.
Entwicklung eines Touchscreen-Handlers mit Anbindung an den D-Bus zur Steuerung von Touchscreen und insbesondere die Durchführung von Firmware-Update mit einem externen Tool.
Weiterentwicklung von einem SNMP-Agent für die Administration und Monitoring von Toll-Collect Maut-Terminals.
Die Embedded Plattform ist auf einem Intel Atom 64 bit aufgebaut. Entwicklung einer BSP-Extension-Bibliothek für die Ansteuerung von zusätzlichen Peripherie-Geräten wie Ethernet-Switch, EEPROM, FPGA-Flash oder Temperatur-Sensoren über internen I2C- und SPI-Bus. Als Bridge ist der FT423H und XR17V358 im Einsatz.
Entwicklung eines Testsystems für die Durchführung von automatisierten Tests auf der Basis von eigener Testplattform Z-Tools. Definition und Erfassung von Testcases in einer proprietären Script-Sprache sowie Durchführung der automatisierten Tests.
Unterstützung bei der Entwicklung des Produktes Outdoor Terminal.
-
Eclipse CDT, Visual Studio C++ 2010
-
C++, STL, Boost, CMake
-
D-Bus, IPC, TTY
-
Yocto Linux
-
SNMP Agent, Traps und Informs
-
MySQL
-
Embedded Linux, Manjaro/Arch, Windows7
-
Sockets,Threads
-
Atom 64 bit
-
Agile Entwicklung, Scrum
Projekt: Document Control System 2
Homeoffice
Entwicklung einer Anlagensteuerung mit einem Embedded Systems auf der Basis vom Box-PC UNO-2483G und ASB- Klassenbibliotheken für das Drucken, die Kontrolle und das Spenden von Belegen in Verpackungskartons auf einem Förderband im Versandhandel.
Die Steuerung verfügt über zwei Barcode-Leser-Stationen für die Identifikation und Überwachung der Verpackungskartons. Für die identifizierten Verpackungskartons wird eine Druckauftrag zum RMS System per TCP/IP geschickt. Die erforderlichen Belege werden auf eine Sammelstelle auf einem Spender-Förderband gedruckt, nach Vollständigkeit automatisch geprüft und über fünf Warteplätze zum Spender transportiert. Der Spender identifiziert den richtigen Karton und spendet die Belege. Das Erfolg oder Misserfolg wird dem übergeordneten RMS System per TCP/IP gemeldet.
-
Visual Studio 2010, C++
-
ASB-Klassenbibliotheken: ASB-Lib, ASB-Inet, ASB-GUI
-
TCP/IP, RS232, DIO
-
Embedded Windows 7
-
Industrie PC UNO-2483G
-
Industrie Flat Panel Monitor, Touchscreen 19“
-
Industrielle Barcode-Leser von Leuze
-
Lichtschranken, SPS
Projekt: Smart Gas Meter
Homeoffice 50%
Entwicklung der Software für Smart Gas Meter A2. Entwicklung der Module für Reporting Scheduler, SW-Timer und Maintenance sowie Time Synchronisations-Fenster. Überprüfung der Software nach Übereinstimmung mit UNI/TS-Vorgaben und Durchführung der Korrekturen. Definition und Erfassung von Testcases in einer proprietären Script-Sprache sowie Durchführung der automatisierten Tests.
-
IAR Embedded Workbench 1.4 für Renesas, Visual Studio C++ 2010
-
ANSI C, C++, STL
-
Mikrocontroller Renesas RL78
-
embOS von Segger
-
Windows7, Windows8
-
COSEM/DLMS
-
Sockets,Threads
-
Agile Entwicklung, Scrum
Projekt: Wärmemengenzähler
Homeoffice
Entwicklung der Software für einen Wärmemengenzähler und einen „Torwächter“ für die Kommunikation über M-Bus sowie eines Testprogramms mit M-Bus Master.
-
IAR Embedded Workbench 6.3 für MSP430, Visual Studio C++ 2010
-
ANSI C, C++, STL, Assembler MSP430
-
Mikrocontroller MSP430FW427, MSP430F5151
-
MS-Visual Studio 2008/2010
-
Windows7, Windows8
-
M-Bus
-
Sockets,Threads
Projekt: Smart Gas Meter
Homeoffice
Entwicklung der Software für die Kommunikation über ein GPRS/GSM Modem von INSYS MICROELECTRONICS GmbH und Integration in den Smart Gas Meter. Integration von externen Bibliotheken mit dem DLMS/COSEM-Protokoll-Stack.
Entwicklung des eigenen COSEM/DLMS/HDLC Protokoll-Stacks sowie einer Testumgebung für die Definition und Durchführung von automatisierten Tests von Smart Gas Meter.
Entwicklung der Smart Gas Meter Applikationen nach der UNI-TS/DLMS/COSEM Spezifikation: Tarife, Billing, Commissioning, CFR, Reporting Scheduler, Kommunikation über serielle optische Schnittstelle, Kommunikation über GPRS/GSM und andere.
Entwicklung eines Servers für das automatische Auslesen der Intervall-Daten aus den Smart Gas Meter über COSEM/DLMS/HDLC/TCP und das Ablegen der Messdaten in der SQL-Datenbank.
Weiterentwicklung einer Bibliothek für die Kommunikation der Produktionssoftware mit den Geräten in Qt.
-
IAR Embedded Workbench 6.3 für MSP430 und STM32F1xx, Visual Studio C++ 2010
-
Qt
-
ANSI C, C++, STL
-
Mikrocontroller MSP430
-
Mikrocontroller STM32F101RE, ARM7, Cortex-M3
-
MS-Visual Studio 2008/2010
-
Windows XP, Windows7
-
HDLC, DLMS, COSEM, GPRS/GSM, M-Bus, TCP
-
Sockets,Threads
-
ODBC, SQL, mySQL
-
AT-Modem, Insys Microelectronics, Siemens MC55i
-
Agile Entwicklung, Scrum
Projekt: Testumgebung für ACARS / FANS-1/A
Homeoffice
Entwicklung einer Testumgebung für die ACARS Protokolle und das FANS-1/A System. Die Testumgebung bietet Funktionen für die sowohl manuelle als auch automatisierte Durchführung von Tests an. Sie besteht aus einem Emulator des Data Link Service Provider mit den ACARS Management Units der Emulierten Flugzeuge und einem Emulator des Air Traffic Controllers. Beide Prozesse beinhalten eine Script Engine, die eine Definition und Steuerung der Testfälle mit vordefinierten Scripts ermöglicht.
In Rahmen des Projektes wurde eine komplette Implementierung der ATS Protokolle AFN, CPDLC und ADS-C durchgeführt, sowie ein ASN.1 Code Generator für das Encoding und Decoding in BER- und PER-Codierung entwickelt.
Die Entwicklung wurde auf der Basis von eigener AXEP System Base (ASB) C++-Klassenbibliothek für Linux und Windows realisiert.
-
C/C++, STL
-
GNU Compiler Collection, gcc, eclipse, CDT
-
MS-Visual Studio 2010
-
SVN
-
TCP/IP, Sockets, Prozesse / Threads
-
FANS-1/A Protokolle: AFN, CPDLC,ADS-C
-
ARINC Protocol Stack, MATAP, BATAP, ARINC 620/622
-
Linux / Scientific Linux, POSIX
-
Windows7 / Windows8
Projekt: Jalousieaktor gesisFLEX
Homeoffice
Entwicklung einer ereignisorientierten Software-Plattform für eine Produktpalette von Installationsbus-Geräten. Entwickung eines Jalousieaktors auf der entwickelten Software-Plattform. Das Projekt umfasste die komplette Software einschließlich Treiber (Flash, GPIO, USART, Timer), Kommunikation, Framework, Applikationskomponenten, Konfigurations- und Managementmodule sowie die Konfiguration. Definition von Testfällen mit eigenem Testprogramm Simulix für die Projektabnahme.
-
Keil uVision 4.54, IAR EWARM 6.3
-
C, C++
-
Mikrocontroller STM32F103, ARM7, Cortex-M3
-
MS-Visual Studio 2010
-
Windows XP, Windows7
Projekt: Smart Gas Meter
Homeoffice
Entwicklung von embedded Software für ein Wired M-Bus Communication Module für Smart Gas Meter. Implementierung des Wired M-Bus Protokolls laut der Spezifikation für DSMR 4.
Entwicklung von embedded Software für ein GSM/GPRS Communication Module für Smart Gas Meter. Integration von externen Bibliotheken für das DLMS-Protokoll-Stack sowie für die Kommunikation mit embedded GSM-Modulen SIM900 und WISMO228.
Umstrukturierung der Projekte für die Trennung der hardware-abhängigen und hardware-unabhängigen Quelltexte. Enführung von neuen HAL-Projekten und Herstellung eines Frameworks für Komponentenentwicklung.
-
IAR Embedded Workbench 6.3
-
ANSI C, C++
-
Mikrocontroller STM32F101RE, ARM7, Cortex-M3
-
MS-Visual Studio 2008/2010
-
Windows XP, Windows7
-
M-Bus, HDLC, DLMS
-
Encryption AES128, DER-Codierung
-
actCLibrary von cryptovision
Projekt: Funkvernetzter Installationsbus basierend auf KONNEX
Das System ist ein Funk-Installationsbus auf der Basis von KNX-Rf. Es besteht aus mehreren funkfernetzten Sensor- und Aktor-Geräten, wie Dimmer, Jalousie, Schaltaktor, Fernbedienung und andere. Die Konfiguration des System ist mit Hilfe eines Web-Controllers oder direkt durch Interaktion der Geräte möglich.
Entwicklung eines Frameworks für das Installationsbus-System und Betreuung der auf dem Framework basierenden Produktentwicklung. Die Zielsetzung für das Framework war die Schaffung einer zuverlässigen Plattform, die einen Aufbau von Produkten aus unabhängig entwickelten Komponenten ermöglichen würde. Des weiteren bietet das Framework auch eine Trennung der Software in zwei unabhängige Schichten an: plattformunabhängige Applikation und Treiber-Schicht, die erst durch das Framework verbunden werden und ein System bilden. Eine Applikation für ein Produkt entsteht dadurch, dass man die standardisierten Komponenten am Framework registriert und entsprechend konfiguriert. Das Framework stellt eine Reihe von Services, wie Timer, stromsparender Modus, Kommunikation über UARTs und KNX, Zugriff auf Ressourcen, Treiber-Events usw. zur Verfügung.
Entwicklung von Jalousie-Geräten basierend auf dem bereitgestellten Framework.
-
IAR Embedded Workbench 5.4, AVR Studio 4
-
Enterprise Architect, UML
-
ANSI C,
-
Mikrocontroller ATxmega128A3,
-
MS-Visual Studio 2010,
-
Windows XP, Windows7
-
KONNEX-RF, Flexible Easy Mode (FEC)
Projekt: ACARS-Converter/-Server
Entwicklung eines ACARS-Converters für die Anbindung eines Flugsicherungssystems TECOS an das neue TCP/IP-basierende Luftverkehr-Netzwerk von SITA. Der ACARS-Converter ist eine Bridge zwischen dem X.25- und IP-Netzwerk. Er ermöglicht die Übertragung von ARINC Typ-B-Meldungen zwischen X.25- und TCP/IP-Applikationen.
Entwicklung eines ACARS-Servers für die Automatisierung von Clearence Departure (Flugzeugabflug-Prozedur). Der ACARS-Server ist für die direkte Kommunikation mit der SITA über ARINC-Protokollstack verantwortlich und beinhaltet ein BATAP-Server für den Nachrichtenaustausch mit dem SITA Store and Forward Nachrichtensystem. Die Architektur des ACARS-Servers ist erweiterungsfähig augelegt, so dass neue ACARS-Dienste von Fremdkomponenten über eine ADEXP-Anbindung angeboten werden können.
Implementierung des kompletten ACARS-Protokoll-Stacks laut ARINC-Spezifikationen. Integration der Protokolle in die DTG-Gateway. Inbetriebnahme der ACARS-Protokolle und Erstellung von Regressionstests. Entwicklung von Emulatoren für den Data-Link Service Provider und den Air Traffic Controller sowie eines graphischen Konfigurationstools. Erstellung der Testspezifikation und des Technischen Handbuchs.
-
C/C++, GNU Compiler Collection, gcc, gdb
-
eclipse, Qt Creator, SVN
-
Doxygen, MS Visio 2007
-
TCP/IP, X.25, Sockets, Prozesse / Threads
-
ARINC Protocol Stack, MATAP, BATAP, ARINC 620/622/623
-
Linux / SuSE 10/11, POSIX
Reisebereitschaft
Homeoffice bevorzugt.