Embedded Entwicklung (HW, SW, FPGA) von Konzept bis Serienmuster. Spezialität Low-Power (inkl. Software/OS), Mobile mit Akku, Display, Schnittstellen (Ethernet, USB, CAN, etc.)
Aktualisiert am 25.03.2021
Profil
Freiberufler / Selbstständiger
Verfügbar ab: 25.03.2021
Verfügbar zu: 100%
davon vor Ort: 50%
Englisch
sehr gut in Wort und Schrift
Französisch
rudimentär in Wort

Einsatzorte

Einsatzorte

Deutschland, Österreich

International requests welcome, but mostly remote. Rates may vary.

 

nicht möglich

Projekte

Projekte

10 Monate
2017-06 - 2018-03

Diverse Kleinprojekte

Entwickler, Architekt C Cortex-M Protokolle ...
Entwickler, Architekt

Diverse kleinere Kurzprojekte für Bestandskunden, Hardware und Software rund um ARM Cortex-M.

GNU-Tools SCons Python
C Cortex-M Protokolle Test Build
Remote
3 Jahre 10 Monate
2013-08 - 2017-05

Entwurf eines Ethernet-basierten Netzwerk-Potokolls (Kundenwunsch: Kein IP)

Freelancer
Freelancer
  • Entwurf eines Ethernet-basierten Netzwerk-Potokolls (Kundenwunsch: Kein IP).
  • Auswahl der Entwicklungstools/Strategie in enger Absprache mit dem Kunden. Wechsel aufgrund überzeugender Argumente von IAR zu GNU/GCC-Toolchain, SCons und Python). Im Zuge dessen wurde auch das ursprünglich vorgesehene Sciopta Betriebssystem aufgegeben (unzureichende Performance, unzureichender Schutz von Speicherdaten, keine Möglichkeit der Anpassung) und durch FreeRTOS sowie ein selbstentwickeltes Framework ersetzt.
  • Entwurf und Entwicklung eines vollintegrierten Build/Test Frameworks basierend auf Python/SCons für embedded Firmware. Durchführung von Unit-Tests auf dem Zielgeräte beim Build.
  • Definition des Coding-Standards in Absprache mit Kunden (C mit bestimmten gccErweiterungen, die die Qualität deutlich verbessern).
  • Buildsystem-unterstützte Komponenten-basierte Programmierung mit automatischer Systemkonfiguration.
  • Entwurf der System-Architektur für einen Ethernet/UART Router entsprechend den Anforderungen des Kunden (Requirements).
  • Entwurf eines vollständig eventbasierten OOP-Frameworks (ActorProgrammiermodell) mit Speicher-Abschottung der Komponenten. Hierzu wurde FreeRTOS modifiziert. Minimaler Laufzeit-Overhead, optimierte Speichernutzung für Nachrichten (multiple Empfänger mit zero-Copy, sowie Schreibschutz).
  • Implementierung obigen Frameworks. Komplementierung durch Funktionen für das Build-System zur automatischen Generierung von Code (Erweiterbar). Keine Erfordernis manueller Konfigurationen für Systemstart beim Zufügen/Entfernen von Modulen, automatische Erkennung/Auflösung von Abhängigkeiten in der Initialisierung, IO-Port Konfiguration, etc.
  • Implementierung des Ethernet-Treibers, und des UART-Treibers für OSI-Layer 1/2.
  • Implementierung der höheren Netzwerkschichten (routing, Session).
  • Durchführung von Tests für alle implementierten Komponenten, sowie Integrationstests des Gerätes mit Hilfe des Build-Systems und weiteren Programmen.
  • Beratung bei Hardware-Auswahl (STM32F4), bei der Schaltung (insbesondere Beschaltung der MCU), Inbetriebnahme/Fehlersuche neuer Revisionen, teilweise mit Oszilloskop/Logicanalyzer.
  • Entwicklung/Auftragsherstellung eines Test-Boards für die Logikfunktionen für Software-Entwicklung und Systemtests beim Kunden.
  • Einarbeitung weiterer Mitarbeiter in das System zur Übergabe und Implementierung der Anwendungsschicht. Alle Positionen wurden entsprechende den Anforderungen des Kunden ausführlich dokumentiert (Sprache: Englisch).
Medizintechnik
6 Monate
2012-11 - 2013-04

Vorlesung "Microcontroller" (auf selbstentwickelter ARM Cortex-M3/FPGA Hardware-Plattform)

Dozent
Dozent

2010 – ca. 2014, teils parallel zu Arbeiten SRH University Heidelberg:

  • Fortbildung durch Besuch einzelner Kurse (Englisch, Automatisierungstechnik/SPS, etc.).
  • Konzeption eines Communication-Hubs für Pico-Satelliten der SRH ("HeidelSat") mit RF Transceiver. Redundante Auslegung unter Verwendung von üblichen Industrie-Bauteilen.
  • Konzeption eines Kommunikationsprotokolls Satellit/Bodenstation(en) unter Beachtung der Besonderheiten einer Satellitenumgebung (niedrige Sendeleistung, kurzes und variables Kommunikationsfenster, Störungen, etc.).
  • Konzeption des internen Bus-Systems (zwischen einzelnen Modulen, i.e. EnergieManagement, Nutzlast, Kommunikations-Hub, Speicherdienste, etc.) einschliesslich Ausfallüberwachung.
3 Monate
2013-01 - 2013-03

Ansteuerung eines RFID-Leser-Chips (UHF)

  • Ansteuerung eines RFID-Leser-Chips (UHF) für einen ARM Cortex-M4 (Freescale K60) mit PC-Interface. Auch Entwicklung eines innovativen Konzepts dafür.
  • Entwicklung/Erstellung dafür notwendiger Python-Tools auf PC.
CheckPoint Hirschhorn
1 Jahr 2 Monate
2011-11 - 2012-12

Vorlesung im Fach "Sensorik/Aktorik"

Dozent
Dozent
3 Monate
2012-08 - 2012-10

Prüfung/Überarbeitung

Freelancer
Freelancer
  • Prüfung/Überarbeitung einer Steuergeräte-Software (C, ARM Cortex-M3).
  • Entwicklung zusätzlicher Module für o.g. Software (C, ARM Cortex-M3).
Rittal GmbH & Co. KG
3 Monate
2011-12 - 2012-02

Consulting

Freelancer
Freelancer
  • Consulting zu einem Steuergerät, Hardware/Software. (Details vertraulich)
  • Entwicklung interner Kommunikationsprotokolle. (Details vertraulich)
Weidmüller Interface GmbH & Co. KG
9 Monate
2011-02 - 2011-10

Hardwareentwicklung

Freelancer
Freelancer
  • Hardwareentwicklung für Automotive-Starterkits für Fujitsus ARM Cortex-R4 Microcontroller (FR4, Atlas und Calypso-Reihe). Schematics Entry in Altium.
  • Entwicklung eines Tools (Python) zur automatischen Anpassung eines Leiterplattenlayouts (Gerber-Files) an Kundenwünsche.
  • Selbstständige Betreuung der externen Layouter und Fertiger (bis zu 12 Layer). Layoutprüfung auf EMV/EMC (bis zu 500Mb/s schnelle Busse, teilweise mehr als 5 Power-Domains mit Beachtung von Übersprechen/Kopplung bei den Versorgungslagen, QSPI-Anbindung, Filter, etc.).
Fujitsu Semiconductor Europe (FSE)
1 Jahr 7 Monate
2008-07 - 2010-01

Konzeption und Implementierung

Freelancer
Freelancer

Konzeption und Implementierung der Firmware für ein FPGA (Xilinx Spartan-.2, später Spartan-3. Verwendet wurden Xilinx ISE mit Schematic-Entry für die ModulVerbindungen auf Top-Level und VHDL für die Logik-Module. Implementiert wurde ein Gerät zur Diagnose und Prüfung von ProfiBus-Systemen (Hardware/Software, Sender/Empfänger). cPCI Karte mit Industrie-PC.

  • Realisierung als Sniffer und Injektor (Störer/Sender). Internet programmierbare State-machines für Filter, programmierbarer Muster-Sender (reduzierte CPU, volle Funktionen wären möglich gewesen). Komplexe, programmierbare TriggerSequencer erlaubten die Verknüpfung von Ereignissen auf Bit/Symbol/Frame-Ebene und dem Sender sowie die Erzeugung entsprechender Reaktionen. Taktung auf SubBit Ebene und geringe Latenz erlaubten Störung innerhalb des laufenden Bits.
  • Datenaufzeichnung/Ereignis-Nachrichten mit Zeitstempeln für Langzeitdiagnose zum PC. Integration des PC in das Trigger-/Ereignissystem.
  • Entwicklung eines Linux-Kernel-Treibers.
  • Entwicklung einer Steuerungs-Applikation (Python) mit GUI (WXWidgets) und mehreren eingebauten einfachen Assemblern für die programmierbaren Module (Filter, Trigger Sequencer, Sender).
Bombardier RCS
Mannheim
1 Jahr 9 Monate
2007-06 - 2009-02

Entwicklung PCIe-Anbindung

Entwicklung PCIe-Anbindung einer High-Speed ()bis ca. 250MByte/s) MesstechnikHardware mit Eigener CPU (TriCore) an einen embedded-PC per FPGA (Altera IPcore).

  • Aufgrund der hohen Datenrate hochgradige Parallelität, Daten-Eingang auf Embedded-Seite per dezidiertem Port, zum PC per Busmaster-DMA (linked list). Interrupts für die Signalisierung.
  • Entwicklung der FPGA-Firmware (Altera Quartus II) mit Schematic-Entry (Top-Level Interconnect) und VHDL (Logik/Funkionen). Neben der primären Datenübertragung wurden auch Mailboxen für eine einfache Interrupt-Kommunikation der CPUs realisiert (Steuerdaten).
  • Alle Konzepte stammen von mir, der Kunde hatte kein fertiges Konzept. PCIe wurde via Altera IP-core realisiert. Volle Dokumentation.
  • Entwurf und Realisierung eines Testboards für Standard PCs (PCIe-x1) und den embedded-PC (Kunden-spezifisch). Das beinhaltete Schaltplan, Layout und Inbetriebnahme. Das Board war Stand-Alone, enthält daher einen kleinen Controller (Firmware ebenfalls von mir) mit Flash für FPGA-Bootstrapping ohne Entwicklungsumgebung.
  • Inbetriebname, testen aller FPGA-Funktionen inkl. PCIe mit LogicAnalyser/Oszilloskop, PC-Testtools (Eigenentwicklung in Python, Windows-Treiber). Die embedded-Gegenseite bestand aus Logik im FPGA (Datenkanal) sowie ein weiterer Controller (MSP430) mit einfacher Firmware für die Steuerung.
  • ca. 03/2008 Release, danach primär Support für die Systemintegration.
Siemens AG
Karlsruhe
4 Monate
2007-03 - 2007-06

Diverse Hardware-Entwicklungen inkl. Layout

Freelancer
Freelancer
SimonsVoss technologies AG
München
1 Jahr 1 Monat
2006-02 - 2007-02

Entwicklung Firmware

Freelancer
Freelancer
  • Entwicklung Firmware für Fahrradcomputer HAC5 nach Vorgabe der Funktionen
  • Umfang ca. 24000 Zeilen C-Code (GNU toolchain, make, MSP430), zzgl. diverser PC-Tools (Python)
CicloSport
4 Jahre 8 Monate
2000-08 - 2005-03

Konzeption und Realisierung

  • Konzeption und Realisierung eines teilweise batteriebetriebenen Netzwerkes (Funk, Ethernet, RS485, RS232) auf System und Geräte-Ebene. Basis war die MCU MSP430 von TI nach intensiven Vergleichen von ca. 10 Familien.
  • Konzeption/Implementierung eines kompakten Betriebssystems für extrem energieeffiziente embedded Systeme. Konzeption der Netzwerkprotokolle, alles mit Fokus auf Energie-Effizienz. Eigenentwicklung, Bluetooth/ZigBee deutlich überlegen.
  • Deutliche Übererfüllung der Erwartungen erlaubte weitere Anwendungen.
  • Selbstlernendes Routing, AES/3DES-gesicherte Datenübertragung.
  • Definition, Realisierung der Test-Strategie über alle Ebenen (Baugruppen, Geräte, System). Ebenfalls Konzepte für Feldtests bei bestimmten Kunden.
  • Ausgehend von den Test-Anforderungen Entwurf und Realisierung eines modularen Testgerätes, einschhließlich dessen Firmware. (MSP430, PC-Anbindung, autonomer Betrieb möglich).
SimonsVoss technologies AG
München
2 Jahre 10 Monate
1997-10 - 2000-07

Hardware-Entwicklung und Fertigung

  • Leitung der Hardware-Entwicklung und Fertigung (3-4 Mitarbeiter).
  • Custom-Geräte in enger Absprache mit Kunden und Zulieferern, mehrfache, weltweite Einsätze.
  • Konzeption, Entwicklung einer vernetzten DSP-Anwendung für Office-Automation und Zutrittskontrolle.
  • Entwicklung des (damals) Welt-kleinstem Fingerabdruck-Lesers als PC-Add-On auf Basis Motorola/Freescale HC08.
  • Bildverarbeitung (Biometrie).
  • Internationale Einsätze (Malaysia, Mittlerer Osten, Südamerika) bei Kunden.
Identification Systems Dermalog
Hamburg

Aus- und Weiterbildung

Aus- und Weiterbildung

5 Jahre
1992-10 - 1997-09

Technische Informatik

ohne Abschluss, TU Hamburg-Harburg (TUHH)
ohne Abschluss
TU Hamburg-Harburg (TUHH)

Dabei permanent diverse studentische Jobs in mehreren Arbeitsbereichen der TUHH (HW/SW) sowie Universität der Bundeswehr Hamburg (CPU-Simulator, PC/Embedded Interfacing).

Position

Position

Spezialitäten Low-Power Systeme (HW und SW), Akkutechnik (Mobilgeräte)

Kompetenzen

Kompetenzen

Produkte / Standards / Erfahrungen / Methoden

Automation
Code-Generierung, Build, Test (auch interaktiv PC-Target)
Bare-Metal
Mit minimalem oder ohne Betriebssytem, maßgeschneidert für die jeweilige Architektur, immer sauber strukturiert
CPython
Dokumentation
Sehr umfangreiche Dokumentation auf Englisch (Deutsch auf Wunsch) üblich, inline-Code-Dokumentation via Doxygen, auch komplexe Scenarien.
Echtzeit
Optimierungen für Zeit-kritischen Code bei Erhaltung der Test- und Wartbarkeit
Event-Basierte Programmierung
Üblich, z.B. via Aktor/Messaging-Model
GNU-Tools
Grundlagen
Betriebssysteme, Compiler-/Interpreter-Entwicklung (insbesondere domain-spezifische Sprachen)
HTML
Grunderfahrungen
JSON
Öftere Nutzung
OOP
EInfache OOP auch in C, Komponenten-Basierte Programmierung, auch für kleinere Projekte
Resourcen-Effizienz
Hardware-Auslegung und Programmierung mit optimaler Nutzung der Hardware.
SCons
Technische Projektleitung
Koordination diverser Funktionen (Designer, Hardware-Entwickler, Programmierer, Fertigung), nur kleine Teams
VHDL
Diverse Entwicklungen für FPGAs
XML
Grunderfahrungen

Eigenentwicklung: modulares Schulungs-/Experimentiersystem:

  • CPU-Modul mit ARM Cortex-M3/4 MCU (STM32F207/407), SPI-Flash, I2CEEPROM, USB, RS485, CAN
  • FPGA-Modul mit Xilinx Spartan-6, Spannungsregler, LP-DDR RAM, TFT-LCD Anschluss, LCD-Backlight Schaltregler
  • Externes 3,5" TFT-LCD (QVGA) an FPGA.
  • Basis-Board mit Spannungsversorgung für das System aus externem Steckernetzteil, Analog/Digital Signalgebern, Temperatursensor (I2C) mit Schaltbarem Heizwiderstand. Für Ausbildungsexperimente.
  • JTAG-Interface passend zu OpenOCD (SWD-fähig).
  • Diversem Zubehör (Netzteil, Kabel, etc.) Komplette Eigenentwicklung. Die Module werden als Stapel auf das Basis-Board gesteckt. Das FPGA kann von der CPU seriell geladen und danach u.a. per ParallelBus angesprochen werden. Basisanwendung des FPGA ist LCD-Controller mit selbst entwickelter Firmware. Es wurden bislang 16 Stück als Kleinstserie in Eigenregie gefertigt, davon 12 an einen Kunden für Ausbildungszwecke.

Sonstiges:

  • System-orientiertes Design (SW/HW) einschließlich Gerätekonzept. Dabei besonders Blick auf den Einsatzzweck (Usability, Haptik).
  • Synergieeffekte durch sehr breite Kenntnisse (von PC bis PIC, TCP/IP bis SPI, Schaltnetzteil bis Knopfzellenbetrieb).
  • Qualitätsorientierte und vorausschauende Arbeitsweise, besonders im Hinblick auf Safety und Security.
  • Schnelle Auffassungsgabe und Einsicht in Kundenbelange. Oftmals Aufgrund der weiten Grundkenntnisse meist reibungslose Einarbeitung in neue Gebiete/Aufgaben mit keiner/kurzer Einarbeitungszeit.

Betriebssysteme

Eigenentwicklungen
Echtzeit, Actor-Model, Microkernel
FreeRTOS
Linux
Debian, (KUbuntu, Real-time, Treiber

Programmiersprachen

Assembler
MSP430, ARMv5 bis v7 (Cortex-M/-A), 68000/Coldfire, DSPs, 68HC11, 68HC08, Z80, 6502, etc.
C
Experte, Norm-fest (ISO9899:2011 inkl. Corrigenda), GCC-Erweiterungen (sehr umfangreiche Erfahrungen), IAR
C#
Grundkenntnisse
C++
Programmiererfahrung, nicht Schwerpunkt
HPGL, HP PCL
Imake, GNU-Make, Make-Maker etc...
Umfangreiche Makefiles
Makrosprachen
Maschinensprachen
siehe Assembler
Pascal-Sprachen
Pascal (UCSD-p, Turbo-Pascal), Modula-2, Oberon-2
Python
Spezialist: Sehr gute Kenntnisse der Kernsprache und Bibliotheken, Meta-Programmierung. Bevorzugte Sprache für PC-Werkzeuge (inkl. GUI: WX-Widgets, QT via PySide)
Shell
bash
TeX, LaTeX
Erfahrungen

Entwicklung und Realisierung eigener Domain-Spezifischer Sprachen für diverse Projekte (auch Kunden). Compiler in C, Modula-2 oder Python realisiert.

 

Datenbanken

SQL
basics

Datenkommunikation

Bus
PCI, PCIe, USB, I2C, SPI, QSPI, CAN, RS485, Bluetooth, WLAN, etc.
Ethernet
10baseTX, 100baseTX, GBE, Switches, etc.
Internet, Intranet
IP, TCP, UDP, HTTP, FTP, SSH, ICMP, etc.
ISDN
Message Queuing
OSI
Layer-Model
parallele Schnittstelle
Sonstiges
Eigenentwicklungen für UART, Ethernet nach Kundenanforderungen
UART
RS232, RS485, RS422, Multidrop, etc.

Hardware

Bus
I2C, SPI, ProfiBus, RS485, Ethernet, CAN, PCI, PCIexpress, USB, etc.
Companion Chips
Schaltregler, Treiber, LCD-Controller, Speicher (SPI/I2C), Audio, ADC/DAC
Cortex-M
Digitale Signalprozessoren
56300, Blackfin, etc.
Echtzeitsysteme
Proprietär, EIgenentwicklungen, FreeRTOS, RTAI-Linux
embedded Systeme
Linux, FreeRTOS, Bare-Metal
Hardware entwickelt
Schematics, Layout, Bauteilauswahl, (LP)DDR-RAM, Flash, EMV, LCD, Akku (Li, LiFe, etc.)
Messgeräte
Oszilloskop, Logic-Analyzer (Agilent, Tektronix), Multimeter, Spektrum-Analyzer, etc.
Mikrocontroller
MSP430, ARM Cortex-M/A, STM32, ARM7/9/etc., OMAP, 68000/Coldfire, HC08/S08, 68HC11/12, PIC, AVR, etc.
Modem
Protocols, Chipsets, auch GSM, Bluetooth
NXP
ARM-Controller, Peripherals, etc.
PC
PCI, PCIe, SATA, Memory, Interrupt System, etc.
PLD, FPGA
Xilinx Spartan/Virtex/Coolrunner/etc., Altera Cyclone/etc.
Sensoren
Incrementalencoder, Hall-Sensoren, Wheatstone Bridge, Opto-Sensoren, etc.
Texas Instruments
MSP430, MSP432, OMAP, Sitara, Logic, Companion chips, Power Supply, etc.

Durch breite und tiefe Kenntnisse schnelle Einarbeitung in neue Problemfelder, besonders Microcontroller, FPGA, etc.

Berechnung / Simulation / Versuch / Validierung

MatLab/Octave  
Scilab

Design / Entwicklung / Konstruktion

Altera Quartus
Altium Designer
EAGLE
V3.55 bis V7 eigene Lizenzen. eigene fertigungs-optimierte hochwertige Bibliotheken
Test
Automatische Tests PC-Embedded Systems, UnitTest, System-Test, Integration-Test
Xilinx ISE-WebPack

Branchen

Branchen

  • Medizintechnik
  • Industrie

Einsatzorte

Einsatzorte

Deutschland, Österreich

International requests welcome, but mostly remote. Rates may vary.

 

nicht möglich

Projekte

Projekte

10 Monate
2017-06 - 2018-03

Diverse Kleinprojekte

Entwickler, Architekt C Cortex-M Protokolle ...
Entwickler, Architekt

Diverse kleinere Kurzprojekte für Bestandskunden, Hardware und Software rund um ARM Cortex-M.

GNU-Tools SCons Python
C Cortex-M Protokolle Test Build
Remote
3 Jahre 10 Monate
2013-08 - 2017-05

Entwurf eines Ethernet-basierten Netzwerk-Potokolls (Kundenwunsch: Kein IP)

Freelancer
Freelancer
  • Entwurf eines Ethernet-basierten Netzwerk-Potokolls (Kundenwunsch: Kein IP).
  • Auswahl der Entwicklungstools/Strategie in enger Absprache mit dem Kunden. Wechsel aufgrund überzeugender Argumente von IAR zu GNU/GCC-Toolchain, SCons und Python). Im Zuge dessen wurde auch das ursprünglich vorgesehene Sciopta Betriebssystem aufgegeben (unzureichende Performance, unzureichender Schutz von Speicherdaten, keine Möglichkeit der Anpassung) und durch FreeRTOS sowie ein selbstentwickeltes Framework ersetzt.
  • Entwurf und Entwicklung eines vollintegrierten Build/Test Frameworks basierend auf Python/SCons für embedded Firmware. Durchführung von Unit-Tests auf dem Zielgeräte beim Build.
  • Definition des Coding-Standards in Absprache mit Kunden (C mit bestimmten gccErweiterungen, die die Qualität deutlich verbessern).
  • Buildsystem-unterstützte Komponenten-basierte Programmierung mit automatischer Systemkonfiguration.
  • Entwurf der System-Architektur für einen Ethernet/UART Router entsprechend den Anforderungen des Kunden (Requirements).
  • Entwurf eines vollständig eventbasierten OOP-Frameworks (ActorProgrammiermodell) mit Speicher-Abschottung der Komponenten. Hierzu wurde FreeRTOS modifiziert. Minimaler Laufzeit-Overhead, optimierte Speichernutzung für Nachrichten (multiple Empfänger mit zero-Copy, sowie Schreibschutz).
  • Implementierung obigen Frameworks. Komplementierung durch Funktionen für das Build-System zur automatischen Generierung von Code (Erweiterbar). Keine Erfordernis manueller Konfigurationen für Systemstart beim Zufügen/Entfernen von Modulen, automatische Erkennung/Auflösung von Abhängigkeiten in der Initialisierung, IO-Port Konfiguration, etc.
  • Implementierung des Ethernet-Treibers, und des UART-Treibers für OSI-Layer 1/2.
  • Implementierung der höheren Netzwerkschichten (routing, Session).
  • Durchführung von Tests für alle implementierten Komponenten, sowie Integrationstests des Gerätes mit Hilfe des Build-Systems und weiteren Programmen.
  • Beratung bei Hardware-Auswahl (STM32F4), bei der Schaltung (insbesondere Beschaltung der MCU), Inbetriebnahme/Fehlersuche neuer Revisionen, teilweise mit Oszilloskop/Logicanalyzer.
  • Entwicklung/Auftragsherstellung eines Test-Boards für die Logikfunktionen für Software-Entwicklung und Systemtests beim Kunden.
  • Einarbeitung weiterer Mitarbeiter in das System zur Übergabe und Implementierung der Anwendungsschicht. Alle Positionen wurden entsprechende den Anforderungen des Kunden ausführlich dokumentiert (Sprache: Englisch).
Medizintechnik
6 Monate
2012-11 - 2013-04

Vorlesung "Microcontroller" (auf selbstentwickelter ARM Cortex-M3/FPGA Hardware-Plattform)

Dozent
Dozent

2010 – ca. 2014, teils parallel zu Arbeiten SRH University Heidelberg:

  • Fortbildung durch Besuch einzelner Kurse (Englisch, Automatisierungstechnik/SPS, etc.).
  • Konzeption eines Communication-Hubs für Pico-Satelliten der SRH ("HeidelSat") mit RF Transceiver. Redundante Auslegung unter Verwendung von üblichen Industrie-Bauteilen.
  • Konzeption eines Kommunikationsprotokolls Satellit/Bodenstation(en) unter Beachtung der Besonderheiten einer Satellitenumgebung (niedrige Sendeleistung, kurzes und variables Kommunikationsfenster, Störungen, etc.).
  • Konzeption des internen Bus-Systems (zwischen einzelnen Modulen, i.e. EnergieManagement, Nutzlast, Kommunikations-Hub, Speicherdienste, etc.) einschliesslich Ausfallüberwachung.
3 Monate
2013-01 - 2013-03

Ansteuerung eines RFID-Leser-Chips (UHF)

  • Ansteuerung eines RFID-Leser-Chips (UHF) für einen ARM Cortex-M4 (Freescale K60) mit PC-Interface. Auch Entwicklung eines innovativen Konzepts dafür.
  • Entwicklung/Erstellung dafür notwendiger Python-Tools auf PC.
CheckPoint Hirschhorn
1 Jahr 2 Monate
2011-11 - 2012-12

Vorlesung im Fach "Sensorik/Aktorik"

Dozent
Dozent
3 Monate
2012-08 - 2012-10

Prüfung/Überarbeitung

Freelancer
Freelancer
  • Prüfung/Überarbeitung einer Steuergeräte-Software (C, ARM Cortex-M3).
  • Entwicklung zusätzlicher Module für o.g. Software (C, ARM Cortex-M3).
Rittal GmbH & Co. KG
3 Monate
2011-12 - 2012-02

Consulting

Freelancer
Freelancer
  • Consulting zu einem Steuergerät, Hardware/Software. (Details vertraulich)
  • Entwicklung interner Kommunikationsprotokolle. (Details vertraulich)
Weidmüller Interface GmbH & Co. KG
9 Monate
2011-02 - 2011-10

Hardwareentwicklung

Freelancer
Freelancer
  • Hardwareentwicklung für Automotive-Starterkits für Fujitsus ARM Cortex-R4 Microcontroller (FR4, Atlas und Calypso-Reihe). Schematics Entry in Altium.
  • Entwicklung eines Tools (Python) zur automatischen Anpassung eines Leiterplattenlayouts (Gerber-Files) an Kundenwünsche.
  • Selbstständige Betreuung der externen Layouter und Fertiger (bis zu 12 Layer). Layoutprüfung auf EMV/EMC (bis zu 500Mb/s schnelle Busse, teilweise mehr als 5 Power-Domains mit Beachtung von Übersprechen/Kopplung bei den Versorgungslagen, QSPI-Anbindung, Filter, etc.).
Fujitsu Semiconductor Europe (FSE)
1 Jahr 7 Monate
2008-07 - 2010-01

Konzeption und Implementierung

Freelancer
Freelancer

Konzeption und Implementierung der Firmware für ein FPGA (Xilinx Spartan-.2, später Spartan-3. Verwendet wurden Xilinx ISE mit Schematic-Entry für die ModulVerbindungen auf Top-Level und VHDL für die Logik-Module. Implementiert wurde ein Gerät zur Diagnose und Prüfung von ProfiBus-Systemen (Hardware/Software, Sender/Empfänger). cPCI Karte mit Industrie-PC.

  • Realisierung als Sniffer und Injektor (Störer/Sender). Internet programmierbare State-machines für Filter, programmierbarer Muster-Sender (reduzierte CPU, volle Funktionen wären möglich gewesen). Komplexe, programmierbare TriggerSequencer erlaubten die Verknüpfung von Ereignissen auf Bit/Symbol/Frame-Ebene und dem Sender sowie die Erzeugung entsprechender Reaktionen. Taktung auf SubBit Ebene und geringe Latenz erlaubten Störung innerhalb des laufenden Bits.
  • Datenaufzeichnung/Ereignis-Nachrichten mit Zeitstempeln für Langzeitdiagnose zum PC. Integration des PC in das Trigger-/Ereignissystem.
  • Entwicklung eines Linux-Kernel-Treibers.
  • Entwicklung einer Steuerungs-Applikation (Python) mit GUI (WXWidgets) und mehreren eingebauten einfachen Assemblern für die programmierbaren Module (Filter, Trigger Sequencer, Sender).
Bombardier RCS
Mannheim
1 Jahr 9 Monate
2007-06 - 2009-02

Entwicklung PCIe-Anbindung

Entwicklung PCIe-Anbindung einer High-Speed ()bis ca. 250MByte/s) MesstechnikHardware mit Eigener CPU (TriCore) an einen embedded-PC per FPGA (Altera IPcore).

  • Aufgrund der hohen Datenrate hochgradige Parallelität, Daten-Eingang auf Embedded-Seite per dezidiertem Port, zum PC per Busmaster-DMA (linked list). Interrupts für die Signalisierung.
  • Entwicklung der FPGA-Firmware (Altera Quartus II) mit Schematic-Entry (Top-Level Interconnect) und VHDL (Logik/Funkionen). Neben der primären Datenübertragung wurden auch Mailboxen für eine einfache Interrupt-Kommunikation der CPUs realisiert (Steuerdaten).
  • Alle Konzepte stammen von mir, der Kunde hatte kein fertiges Konzept. PCIe wurde via Altera IP-core realisiert. Volle Dokumentation.
  • Entwurf und Realisierung eines Testboards für Standard PCs (PCIe-x1) und den embedded-PC (Kunden-spezifisch). Das beinhaltete Schaltplan, Layout und Inbetriebnahme. Das Board war Stand-Alone, enthält daher einen kleinen Controller (Firmware ebenfalls von mir) mit Flash für FPGA-Bootstrapping ohne Entwicklungsumgebung.
  • Inbetriebname, testen aller FPGA-Funktionen inkl. PCIe mit LogicAnalyser/Oszilloskop, PC-Testtools (Eigenentwicklung in Python, Windows-Treiber). Die embedded-Gegenseite bestand aus Logik im FPGA (Datenkanal) sowie ein weiterer Controller (MSP430) mit einfacher Firmware für die Steuerung.
  • ca. 03/2008 Release, danach primär Support für die Systemintegration.
Siemens AG
Karlsruhe
4 Monate
2007-03 - 2007-06

Diverse Hardware-Entwicklungen inkl. Layout

Freelancer
Freelancer
SimonsVoss technologies AG
München
1 Jahr 1 Monat
2006-02 - 2007-02

Entwicklung Firmware

Freelancer
Freelancer
  • Entwicklung Firmware für Fahrradcomputer HAC5 nach Vorgabe der Funktionen
  • Umfang ca. 24000 Zeilen C-Code (GNU toolchain, make, MSP430), zzgl. diverser PC-Tools (Python)
CicloSport
4 Jahre 8 Monate
2000-08 - 2005-03

Konzeption und Realisierung

  • Konzeption und Realisierung eines teilweise batteriebetriebenen Netzwerkes (Funk, Ethernet, RS485, RS232) auf System und Geräte-Ebene. Basis war die MCU MSP430 von TI nach intensiven Vergleichen von ca. 10 Familien.
  • Konzeption/Implementierung eines kompakten Betriebssystems für extrem energieeffiziente embedded Systeme. Konzeption der Netzwerkprotokolle, alles mit Fokus auf Energie-Effizienz. Eigenentwicklung, Bluetooth/ZigBee deutlich überlegen.
  • Deutliche Übererfüllung der Erwartungen erlaubte weitere Anwendungen.
  • Selbstlernendes Routing, AES/3DES-gesicherte Datenübertragung.
  • Definition, Realisierung der Test-Strategie über alle Ebenen (Baugruppen, Geräte, System). Ebenfalls Konzepte für Feldtests bei bestimmten Kunden.
  • Ausgehend von den Test-Anforderungen Entwurf und Realisierung eines modularen Testgerätes, einschhließlich dessen Firmware. (MSP430, PC-Anbindung, autonomer Betrieb möglich).
SimonsVoss technologies AG
München
2 Jahre 10 Monate
1997-10 - 2000-07

Hardware-Entwicklung und Fertigung

  • Leitung der Hardware-Entwicklung und Fertigung (3-4 Mitarbeiter).
  • Custom-Geräte in enger Absprache mit Kunden und Zulieferern, mehrfache, weltweite Einsätze.
  • Konzeption, Entwicklung einer vernetzten DSP-Anwendung für Office-Automation und Zutrittskontrolle.
  • Entwicklung des (damals) Welt-kleinstem Fingerabdruck-Lesers als PC-Add-On auf Basis Motorola/Freescale HC08.
  • Bildverarbeitung (Biometrie).
  • Internationale Einsätze (Malaysia, Mittlerer Osten, Südamerika) bei Kunden.
Identification Systems Dermalog
Hamburg

Aus- und Weiterbildung

Aus- und Weiterbildung

5 Jahre
1992-10 - 1997-09

Technische Informatik

ohne Abschluss, TU Hamburg-Harburg (TUHH)
ohne Abschluss
TU Hamburg-Harburg (TUHH)

Dabei permanent diverse studentische Jobs in mehreren Arbeitsbereichen der TUHH (HW/SW) sowie Universität der Bundeswehr Hamburg (CPU-Simulator, PC/Embedded Interfacing).

Position

Position

Spezialitäten Low-Power Systeme (HW und SW), Akkutechnik (Mobilgeräte)

Kompetenzen

Kompetenzen

Produkte / Standards / Erfahrungen / Methoden

Automation
Code-Generierung, Build, Test (auch interaktiv PC-Target)
Bare-Metal
Mit minimalem oder ohne Betriebssytem, maßgeschneidert für die jeweilige Architektur, immer sauber strukturiert
CPython
Dokumentation
Sehr umfangreiche Dokumentation auf Englisch (Deutsch auf Wunsch) üblich, inline-Code-Dokumentation via Doxygen, auch komplexe Scenarien.
Echtzeit
Optimierungen für Zeit-kritischen Code bei Erhaltung der Test- und Wartbarkeit
Event-Basierte Programmierung
Üblich, z.B. via Aktor/Messaging-Model
GNU-Tools
Grundlagen
Betriebssysteme, Compiler-/Interpreter-Entwicklung (insbesondere domain-spezifische Sprachen)
HTML
Grunderfahrungen
JSON
Öftere Nutzung
OOP
EInfache OOP auch in C, Komponenten-Basierte Programmierung, auch für kleinere Projekte
Resourcen-Effizienz
Hardware-Auslegung und Programmierung mit optimaler Nutzung der Hardware.
SCons
Technische Projektleitung
Koordination diverser Funktionen (Designer, Hardware-Entwickler, Programmierer, Fertigung), nur kleine Teams
VHDL
Diverse Entwicklungen für FPGAs
XML
Grunderfahrungen

Eigenentwicklung: modulares Schulungs-/Experimentiersystem:

  • CPU-Modul mit ARM Cortex-M3/4 MCU (STM32F207/407), SPI-Flash, I2CEEPROM, USB, RS485, CAN
  • FPGA-Modul mit Xilinx Spartan-6, Spannungsregler, LP-DDR RAM, TFT-LCD Anschluss, LCD-Backlight Schaltregler
  • Externes 3,5" TFT-LCD (QVGA) an FPGA.
  • Basis-Board mit Spannungsversorgung für das System aus externem Steckernetzteil, Analog/Digital Signalgebern, Temperatursensor (I2C) mit Schaltbarem Heizwiderstand. Für Ausbildungsexperimente.
  • JTAG-Interface passend zu OpenOCD (SWD-fähig).
  • Diversem Zubehör (Netzteil, Kabel, etc.) Komplette Eigenentwicklung. Die Module werden als Stapel auf das Basis-Board gesteckt. Das FPGA kann von der CPU seriell geladen und danach u.a. per ParallelBus angesprochen werden. Basisanwendung des FPGA ist LCD-Controller mit selbst entwickelter Firmware. Es wurden bislang 16 Stück als Kleinstserie in Eigenregie gefertigt, davon 12 an einen Kunden für Ausbildungszwecke.

Sonstiges:

  • System-orientiertes Design (SW/HW) einschließlich Gerätekonzept. Dabei besonders Blick auf den Einsatzzweck (Usability, Haptik).
  • Synergieeffekte durch sehr breite Kenntnisse (von PC bis PIC, TCP/IP bis SPI, Schaltnetzteil bis Knopfzellenbetrieb).
  • Qualitätsorientierte und vorausschauende Arbeitsweise, besonders im Hinblick auf Safety und Security.
  • Schnelle Auffassungsgabe und Einsicht in Kundenbelange. Oftmals Aufgrund der weiten Grundkenntnisse meist reibungslose Einarbeitung in neue Gebiete/Aufgaben mit keiner/kurzer Einarbeitungszeit.

Betriebssysteme

Eigenentwicklungen
Echtzeit, Actor-Model, Microkernel
FreeRTOS
Linux
Debian, (KUbuntu, Real-time, Treiber

Programmiersprachen

Assembler
MSP430, ARMv5 bis v7 (Cortex-M/-A), 68000/Coldfire, DSPs, 68HC11, 68HC08, Z80, 6502, etc.
C
Experte, Norm-fest (ISO9899:2011 inkl. Corrigenda), GCC-Erweiterungen (sehr umfangreiche Erfahrungen), IAR
C#
Grundkenntnisse
C++
Programmiererfahrung, nicht Schwerpunkt
HPGL, HP PCL
Imake, GNU-Make, Make-Maker etc...
Umfangreiche Makefiles
Makrosprachen
Maschinensprachen
siehe Assembler
Pascal-Sprachen
Pascal (UCSD-p, Turbo-Pascal), Modula-2, Oberon-2
Python
Spezialist: Sehr gute Kenntnisse der Kernsprache und Bibliotheken, Meta-Programmierung. Bevorzugte Sprache für PC-Werkzeuge (inkl. GUI: WX-Widgets, QT via PySide)
Shell
bash
TeX, LaTeX
Erfahrungen

Entwicklung und Realisierung eigener Domain-Spezifischer Sprachen für diverse Projekte (auch Kunden). Compiler in C, Modula-2 oder Python realisiert.

 

Datenbanken

SQL
basics

Datenkommunikation

Bus
PCI, PCIe, USB, I2C, SPI, QSPI, CAN, RS485, Bluetooth, WLAN, etc.
Ethernet
10baseTX, 100baseTX, GBE, Switches, etc.
Internet, Intranet
IP, TCP, UDP, HTTP, FTP, SSH, ICMP, etc.
ISDN
Message Queuing
OSI
Layer-Model
parallele Schnittstelle
Sonstiges
Eigenentwicklungen für UART, Ethernet nach Kundenanforderungen
UART
RS232, RS485, RS422, Multidrop, etc.

Hardware

Bus
I2C, SPI, ProfiBus, RS485, Ethernet, CAN, PCI, PCIexpress, USB, etc.
Companion Chips
Schaltregler, Treiber, LCD-Controller, Speicher (SPI/I2C), Audio, ADC/DAC
Cortex-M
Digitale Signalprozessoren
56300, Blackfin, etc.
Echtzeitsysteme
Proprietär, EIgenentwicklungen, FreeRTOS, RTAI-Linux
embedded Systeme
Linux, FreeRTOS, Bare-Metal
Hardware entwickelt
Schematics, Layout, Bauteilauswahl, (LP)DDR-RAM, Flash, EMV, LCD, Akku (Li, LiFe, etc.)
Messgeräte
Oszilloskop, Logic-Analyzer (Agilent, Tektronix), Multimeter, Spektrum-Analyzer, etc.
Mikrocontroller
MSP430, ARM Cortex-M/A, STM32, ARM7/9/etc., OMAP, 68000/Coldfire, HC08/S08, 68HC11/12, PIC, AVR, etc.
Modem
Protocols, Chipsets, auch GSM, Bluetooth
NXP
ARM-Controller, Peripherals, etc.
PC
PCI, PCIe, SATA, Memory, Interrupt System, etc.
PLD, FPGA
Xilinx Spartan/Virtex/Coolrunner/etc., Altera Cyclone/etc.
Sensoren
Incrementalencoder, Hall-Sensoren, Wheatstone Bridge, Opto-Sensoren, etc.
Texas Instruments
MSP430, MSP432, OMAP, Sitara, Logic, Companion chips, Power Supply, etc.

Durch breite und tiefe Kenntnisse schnelle Einarbeitung in neue Problemfelder, besonders Microcontroller, FPGA, etc.

Berechnung / Simulation / Versuch / Validierung

MatLab/Octave  
Scilab

Design / Entwicklung / Konstruktion

Altera Quartus
Altium Designer
EAGLE
V3.55 bis V7 eigene Lizenzen. eigene fertigungs-optimierte hochwertige Bibliotheken
Test
Automatische Tests PC-Embedded Systems, UnitTest, System-Test, Integration-Test
Xilinx ISE-WebPack

Branchen

Branchen

  • Medizintechnik
  • Industrie

Vertrauen Sie auf GULP

Im Bereich Freelancing
Im Bereich Arbeitnehmerüberlassung / Personalvermittlung

Fragen?

Rufen Sie uns an +49 89 500316-300 oder schreiben Sie uns:

Das GULP Freelancer-Portal

Direktester geht's nicht! Ganz einfach Freelancer finden und direkt Kontakt aufnehmen.