Entwicklung Hardware, Software, VHDL, hardwarenahe Software
Aktualisiert am 03.03.2023
Profil
Freiberufler / Selbstständiger
Verfügbar ab: 01.01.2024
Verfügbar zu: 100%
davon vor Ort: 100%
FPGA
embedded
Deutsch
Englisch
verhandlungssicher
Französisch
gut
Portugiesisch
verhandlungssicher
Spanisch
gut

Einsatzorte

Einsatzorte

Deutschland, Österreich, Schweiz

Arbeitserlaubnis: Arbeitserlaubnis und Aufenthaltsberechtigung vorhanden

nicht möglich

Projekte

Projekte

7 Jahre 5 Monate
2016-11 - heute

Überarbeitung einer Steuerung für einen Solarwechselrichter

Texas Instruments Code Composer Studio Altium Designer ...

Ausgangspunkt war ein Controller für einen leistungsstarken Solarwechselrichter mit einem älteren Texas-Instruments Delfino DSP als Hauptprozessor. Dessen Ressourcen waren, was Rechenleistung und Speicher angeht, schon voll ausgelastet. Es waren aber Erweiterungen der Firmware notwendig um die Anwendungsmöglichkeiten des Wechselrichters zu erweitern. Es wurde der Hauptprozessor gegen einen Delfino Prozessor neuester Generation ausgetauscht, um so notwendige Änderungen an der Firmware vornehmen zu können. Der neue Prozessor ist im Ggs. zum alten ein Dual-Core-Prozessor.

  • Änderung der Schaltung des Controllers
  • Erstellen des Layouts für die neue Schaltung
  • Portierung der Firmware auf die neue Hardware
  • Anpassung der Firmware, so dass sie den zweiten Core sinnvoll nutzen kann
  • Erweiterung der Firmware entsprechend der Vorgaben des Kunden
  • Erstellung eines verbesserten Debug-Interfaces für den Prozessor (Schaltplan und Layout)
  • Erweiterung der Firmware um eine Echtzeitausgabe (RTS) von internen Zuständen auf einem DAC
  • Erstellung eines Windows-Programms zur Steuerung des Real Time Scopes (RTS)
Texas Instruments Code Composer Studio Altium Designer C svn git Embarcadero RAD Studio
3 Jahre 3 Monate
2013-08 - 2016-10

Entwicklung einer hochpräzisen Stromquelle für Speicherringe von Teilchenbeschleunigern

Um in Speicherringen, wie CERN, die geladenen Teilchen im Kreis rotieren zu lassen werden Ablenkmagnete benötigt. Diese gibt es in supraleitenden und normalen Versionen. Für einen normalen Elektromagneten werden dazu hochpräzisese Stromquellen benötigt. In meinem Projekt war deswegen eine Stromquelle gefordert, die bei bis zu 125 Volt 1000 Ampere mit einer Toleranz von weniger als 50 mA liefern kann. Diese Stromquelle wurde aus parallel arbeitenden Einzelstromquellen erzeugt. Eine Anforderung war dabei, dass falls eine Stromquelle ausfällt, die anderen Stromquellen sofort die Last der ausgefallenen Stromversorgung übernehmen können. Meine Aufgabe war es, die Steuerungsplatine für das System und die Steuerungsplatinen für die einzelnen Stromquellen zu entwickeln und die Steuerungskomponenten zu programmieren. Beide Platinen sind FPGA basiert (Xilinx Spartan 6) und enthalten einen Microblaze Prozessor. Für die Kommunikation habe ich den Hardware-Layer von Ethernet mit einem proprietären Protokoll entwicklt welches den Echtzeit-Rahmenbingungen entspricht. Durch die direkte Kommunikation zwischen dem FPGA auf der Systemsteuerung und den FPGAs in den Stromquellen kann innerhalb von wenigen μs auf den Ausfall einer Stromquelle reagiert werden. Es wurde dadurch auch sichergestellt, dass eventuell auftretende Fehler mit minimaler Verzögerung an die Systemsteuerung übertragen werden können. Für die Regelung war eine hochgenaue Erfassung des Stroms notwendig. Diese wurde durch einen 18 bit ADC mit nachfolgender Signalaufbereitung realisiert. Durch eine Abtastung auf einem Vielfachen der Regelbandbreite und anschließende Filterung mit Unterabtastung konnten aus dem 18 Bit ADC problemlos die geforderten 20 Bit Auflösung errechnet werden. Die Fehler der Messschaltuing konnten durch Kalibrierung und Regelung der Temperatur der Messeinrichtung minimiert werden.

6 Monate
2016-02 - 2016-07

Implementierung einer FPGA-Firmware für eine Antennensteuerung

VHDL XML Xilinx Spartan 6 ...

In einem Folgeprojekt der Antennensteuerung vom Vorjahr wurde die FPGA Firmware erweitert. Die Peripherie des Microblaze-Prozessors wurde um selbstgeschriebene Module erweitert und ansonsten entsprechend der geänderten Hardware angepasst. Die Software wurde grundlegend überarbeitet. Insbesondere wurde der Kommunikationslayer neu geschrieben um automatisierte Kommunikation zwischen dem PC-Client (Test GUI) und der Steuerung zu ermöglichen. Die Objekte mit denen kommuniziert werden kann, werden aus einer XML-Datei - zusammen mit ihren Attributen - gelesen und daraus Source-Code für PC und Steuerung erzeugt. Die Test GUI war diesmal Teil des Auftrags und wurde um ein Kommando-Interface via Virtual COM Port erweitert mit dem die Kommunikations-Objekte automatisiert angesprochen werden konnten.

VHDL XML Xilinx Spartan 6 Embarcadero RAD Studio Kommunikation I2C Ethernet git doxygen
3 Monate
2015-01 - 2015-03

Implementierung einer FPGA-Firmware für eine Antennensteuerung

Xilinx Spartan 6 Embarcadero RAD Studio I2C ...

Basierend auf einem Microblaze wurde eine Steuerung in ein Spartan 6 FPGA auf einem Enclustra FPGA-Modul

entwickelt. Die Hardware wurde vom Kunden entwickelt. Mein Projektannteil war das FPGA und die Software auf dem Microblaze. Die Antennensteuerung war mehrere Kilomenter von der Zentrale entfernt und über Ethernet angeschlossen. Weitere Peripherie war über IIC, SPI, RS485 und RS232 angeschlossen. Für die Kommunikation mit der Zentrale habe ich ein Byte-Stream Protokoll entwickelt über das Kommandos gesendet und der Status abgefragt werden konnt. Basierend auf diesem Protokoll konnte auch ein Firmwareupdate durchgeführt werden. Durch Verwendung von zwei FPGA-Versionen (golden und actual) wurde sicher gestellt, dass bei einem Stromausfall während des Prorammierens des Konfigurationsspeichers, das FPGA trotzdem wieder startete und erneut programmiert werden konnte. Für den Test und die Inbetriebnahme habe ich eine Test GUI für Windows entwickelt, in der alle Funktionen und das Protokoll getestet werden konnten.

Xilinx Spartan 6 Embarcadero RAD Studio I2C Ethernet VHDL git doxygen
1 Jahr 5 Monate
2012-03 - 2013-07

Entwicklung eines Hochspannungsimpulsgenerators für Linearbeschleuniger

VHDL Lattice XP2 Lattice XO2 ...

Um Protonen-, Elektronen- oder Ionenpakete zu beschleunigen werden starke E-Felder benötigt. Diese werden von Klystronen erzeugt, die mit Hochspannungsimpulsen angeregt werden. Dabei werden Spannungspulse bis zu 500 kV bei Stromstärken bis zu 300 Ampere benötigt. Meine Aufgabe war die Entwicklung einer FPGA-basierten Hardware die aus über hundert einzelnen Komponenten diesen Spannungspuls zuverlässig erzeugt. Durch die Potentialunterschiede können die Module nur über Lichtwellenleiter kommunizieren. Ein integraler Bestandteil des Projektes ist es eine Kommunikationsstruktur zur Verfügung zu stellen, bei der die einzelnen Komponenten, selbst bei den durch die Hochspannungsimpulse erzeugten Störungen kommunizieren können bzw. bei Störungen der Kommunikation zuverlässig arbeiten können. Aufgrund meinen frühen Einbindung in das Projekt konnte ich das Konzept verbessern und so Entwicklungszeit und Serienkosten signifikant senken.

VHDL Lattice XP2 Lattice XO2 Lattice Diamond git doxygen
1 Jahr 6 Monate
2010-09 - 2012-02

Portierung einer Steuerung auf eine FPGA-Basierte Hardware

VHDL Spartan 6 ChipScope ...

Eine in die Jahre gekommene Zentrale für eine Alarmanlage wurde auf eine neue Hardware portiert. Die gesamte Digitallogik wurde in ein FPGA integriert. Im ersten Schritt sollte die alte Software - mit minimalsten Anpassungen - auf der neuen Hardware laufen. Meine Aufgabe bestand im Design und der Implementierung des FPGAs sowie der Beratung und Koordination der Hardware-Entwicklung und dem Layout. Im zweiten Schritt wurde die Software erweitert um die Anlage auch über TCP/IP bedienen zu können (anstatt RS232). Auch diese Erweiterungen hatten für die alte Software transparent zu sein. Dazu wurde unter anderem das Laufzeitmodell des Prozessors erweitert um parallel zur alten (Assembler-) Software die in C geschriebene TCP/IP-Anbindung zu realisieren.

 

In weiteren Schritten wurde die Software und das FPGA erweitert:

  • Firmware Download
  • AES-256 Verschlüsselung
  • RSA Verschlüsselung
VHDL Spartan 6 ChipScope Subversion doxygen TCP/IP uIp Treiberentwicklung in C
2 Jahre 8 Monate
2008-01 - 2010-08

FPGA Entwicklung

VHDL Spartan 3E ChipScope ...

Für eine neue Produktlinie wurde ein Datenflusskonzept entwickelt und in ein Xilinx-FPGA integriert. Zur Erfassung und Ausgabe von Daten wurde ein Framework für standardisierte Module entwickelt und für eines dieser Module das FPGA programmiert. Das FPGA enthält einen PCI Core, der von mir integriert wurde. Über diesen Core wird das Modul parametriert und leitet daraufhin Datenströme zwischen den verschiedenen Schnittstellen hin und her. Die PCI Schnittstelle ist natürlich auch eine mögliche Datenquelle bzw. Datenziel. Der PCI-Transfer erfolgte über Scatter-gather DMA. Andere Schnittstellen waren z.B. ein LWL- und ein EtherCAT-Interface.

VHDL Spartan 3E ChipScope Subversion doxygen Treiberentwicklung in C
Messgerätehersteller (Industrie)
1 Jahr 7 Monate
2007-04 - 2008-10

Portierung einer Gerätesteuerung

COSMIC C-Compiler/Debugger Lauterbach Emulator/Debugger Eclipse ...

Programmierung eines Steuergerätes für Schubgelenkbusse zur Stabilisierung des Gelenks. Ein vorhandener Knickschutz Algorithums musste auf eine neue Hardware und Softwareplattform portiert wereden. Die neue SW musste MISRA-konform unter dem Betriebssystem OSEK implementiert werden. Zielprozessor war ein S12X-Prozessor von Freescale (früher Motorola).

 

Mein Verantwortungsbereich war:

  • Installation und Konfiguration von OSEK-OS und CANbedded von Vector
  • Erstellung von Treibern für die neue Hardware
  • Bereitstellung von Support zur Inbetriebnahme der neuen Hardware
  • Entwicklung der Taskstruktur
  • Portierung des Knickschutzalgorithmus
  • Integration der UDS-Diagnose, eines Fehlerspeichers und der Störungsüberwachung.
  • Erstellung einer Testumgebung für die Modultests auf dem Target-Prozessor
COSMIC C-Compiler/Debugger Lauterbach Emulator/Debugger Eclipse doxygen Subversion/Tortoise OIL-Konfigurator von Vector (OSEK-OS) GENy von Vector (Konfigurator für CANbedded) Subversion/Tortoise/Trac Matlab Visual Studio (C++) CANoe CANape QA-C
MBtech/Automotive
1 Monat
2008-07 - 2008-07

Erstellung eines Gateways zur Ansteuerung eines Flash Boot Loaders

Tasking EDE für ST10 Eclipse Enterprise Architect ...

Ein vorhandener Applikationscontroller für einen Controller in einer Kettensäge wurde um ein Gateway von XCP auf dessen proprietäres Flash boot loader Protokoll (NEC78k) erweitert.

Die Teilaufgaben des Projektes waren:

  • Erstellung der Requierements
  • Erstellung der Dokumentation
  • Erstellung der Testshell für den Modultest
  • Erstellung und Test der Gateway-Software
  • Support für die Hardware-Entwicklung
  • Inbetriebnahme
Tasking EDE für ST10 Eclipse Enterprise Architect NEC MINICUBE 2
1 Jahr
2006-04 - 2007-03

Erstellung eines Internetportals für eine Immobiliendatenbank

Borland Developer Studio PostgreSQL

Es wurde eine ASP.NET Applikation erstellt, welche mittels SQL-Datenbank den Datenbestand und die Präsentation

von Immobilien verwaltet.

  • Design des Web-Interfaces
  • Design der Datenbank
  • Implementierung und Test
  • Administration des Servers
  • Erstellung von PC-Tools für die konfortable Datenaufbereitung und -transfer
Borland Developer Studio PostgreSQL
3 Monate
2006-01 - 2006-03

Design einer PCI-Karte mit Digital Down Converter für die digitale Signalverarbeitung

Xilinx ISE ModelSim

Hardware

  • Bauteilauswahl
  • Konzepterstellung

 

FPGA:

  • Entwicklung eines Konzeptes zum optimalen Datendurchsatz
  • Design und Implementierung eines Interfaces zu einem Local-Bus
  • Design und Implementierung eines Interfaces zu einem Puffer-DRAM
  • Design und Implementierung eines recht aufwändigen Signalverarbeitungsalgorithmus in einem möglichst kostengünstigen FPGA
Xilinx ISE ModelSim
Telekommunikation
1 Monat
2005-01 - 2005-01

Tuner Fernsteuerung

C-Compiler IEEE488 Library

Erstellung einer Bibliothek die einen Rhode&Schwarz Satellitentuner mit einfachen C-Funktionen steuern lässt. Der Tuner wird mittels IEEE488 bedient. Entsprechend der Anforderungen des Kunden wurde die Funktionalität des Tuners auf mächtigere Funktionen abgebildet. Ein Eventhandling wurde implementiert.

C-Compiler IEEE488 Library

Aus- und Weiterbildung

Aus- und Weiterbildung

Dipl. Ing. Elektrotechnik

Kompetenzen

Kompetenzen

Top-Skills

FPGA embedded

Produkte / Standards / Erfahrungen / Methoden

SCHLAGWORTE

  • Hardware
  • FPGA
  • Schulung (IT Beratung)
  • Projekt Management
  • Projektleitung
  • Hardwareentwicklung
  • ?Controller
  • Gerätetreiber
  • VHDL

SKILLS

  • Ich bin passionnierter Hard- und Software Entwickler. Mein Schwerpunkt sind FPGAs, digital-Hardware und embedded Software.
  • Ich bin Diplom Ingenieur der Elektrotechnik und habe an der Friedrich Alexander Universität in Erlangen studiert.
  • Mein Schwerpunkt lag dabei auf Nachrichtentechnik. Meinen Studienabschluss habe ich 1990 gemacht, ich bin aber bereits seit 1984 selbständig tätig.

Hardware Entwicklung

  • Digital >10 Jahre, Experte, zuletzt in 2017
  • Analog, Leistung > 3 Jahre, Anfänger, zuletzt in 2017
  • Digitale Signalprozessoren >10 Jahre, Experte, zuletzt in 2017
  • Emulatoren, Debugger >10 Jahre, Experte, zuletzt in 2017
  • FPGA >10 Jahre, Experte, zuletzt in 2016
  • SOC, Zynq >5 Jahre, zuletzt in 2016
  • Embedded Systeme > 10 Jahre, Experte, zuletzt in 2017
  • Echtzeitsysteme >10 Jahre, Experte, zuletzt in 2016

 

Software Entwicklung

  • C++ >10 Jahre, Experte, zuletzt in 2017
  • C >10 Jahre, Experte, zuletzt in 2017
  • Assembler >10 Jahre, Experte, zuletzt in 2017
  • C# 1 Jahr , zuletzt in 2008
  • MATLAB / Simulink > 3 Jahre, Anfänger, zuletzt in 2008
  • Delphi >10 Jahre, Experte, zuletzt in 2017
  • JavaScript > 1 Jahre, Anfänger, zuletzt in 2007
  • XML > 1 Jahre, Fortgeschrittener, zuletzt in 2017

 

Entwicklungsumgebungen

  • Xilinx Toolchains (ISE, Planahead und Vivado) inkl Microblaze und Zynq, Experte, zuletzt 2016
  • Quartus Toolchain inkl. SOC, Experte, zuletzt 2015
  • Texas Instruments Code Composer, Experte, zuletzt 2017
  • Borland RAD Studio, Experte, zuletzt in 2017
  • Qt, Anfänger, zuletzt in 2015
  • Lattice Diamod, Experte, zuletzt 2013

 

Tools

  • Git
  • Doxygen
  • Svn
  • MS Office
  • Open Office
  • CANoe
  • CANape
  • GENy
  • QA-C
  • InstallShield

 

Bereich

  • Meßtechnik >10 Jahre, Fortgeschrittener, zuletzt in 2014
  • Automotive > 5 Jahre, Fortgeschrittener, zuletzt in 2008
  • Medizintechnik > 1 Jahre, Fortgeschrittener, zuletzt in 1996
  • Industrial >10 Jahre, Experte, zuletzt in 2017

 

Mikrocontroller / DSP

  • Microblaze, Experte, zuletzt in 2016
  • ARM, Experte, zuletzt in 2014
  • Motorola/Freescale >10 Jahre, Experte, zuletzt in 2008
  • Texas Instruments >10 Jahre, Experte, zuletzt in 2017
  • Analog Devices 10 Jahre, Fortgeschrittener, zuletzt in 2008

 

BUS, Kommunikation

  • LWL > 2 Jahre, Fortgeschrittener, zuletzt 2014
  • GSM > 4 Jahre, Fortgeschrittener, zuletzt 2001
  • PCI > 4 Jahre, Fortgeschrittener, zuletzt 2005
  • CAN > 1 Jahre, Fortgeschrittener, zuletzt 2008
  • TCP/IP > 3 Jahre, Fortgeschrittener, zuletzt 2016
  • RS 232, RS 485, RS422, IIC, SPI, USB

 

SoftSkills

  • Auffassungsvermögen
  • Eigenverantwortliches arbeiten
  • Flexibilität
  • Kundenorientierung
  • Selbständige Arbeitsweise
  • Teamfähigkeit
  • Mehrsprachigkeit

 

Sonstiges

  • Digitale Signalverarbeitung

Betriebssysteme

CP/M
Echtzeitbetriebssysteme
OSEK, PDOS
Linux
> 5 Jahre, Anfänger, zuletzt in 2016
MS-DOS
OS/2
OSEK
>1 Jahr, Experte, zuletzt in 2008
OSEK-OS
Texas Instruments RTOS/BIOS
>3 Jahre, Fortgeschrittenner, zuletzt 2014
Unix
Auf Anwenderebene
Windows
>10 Jahre, Experte, zuletzt in 2017
Windows CE
 

Programmiersprachen

Assembler
Experte (diverse Prozessoren)
Borland/Codegear Entwicklungsumgebung
C
Experte, auch MISRA-konform
C++
Experte
Delphi
Experte
Eclipse
Java
JavaScript
MATLAB / Simulink
PHP
PL/SQL
 

Datenbanken

DBase
MS-SQL-Server
MySQL
ODBC
Paradox
Postgres

Datenkommunikation

Bus
CAN, SPI, IEC, PCI, XCP

Hardware

Bus
CAN, SPI, IIC, PCI
Digitale Signalprozessoren
speziell TMS320
embedded Systeme
OSEK
Emulatoren
u.a. Lauterbach
Hardware entwickelt
digital-HW mit DSP/CPLD/FPGA
Mikrocontroller
S12X, Cortex-M3, MSP430, Stellaris
NEC
78K0R
PC
PLD, FPGA
spez. Xilinx, Altera
Texas Instruments
MSP430, Stellaris, div. DSPs

Berechnung / Simulation / Versuch / Validierung

CANoe

Design / Entwicklung / Konstruktion

EAGLE

Branchen

Branchen

  • Telekommunikation
  • Automotive
  • Medizintechnik

Einsatzorte

Einsatzorte

Deutschland, Österreich, Schweiz

Arbeitserlaubnis: Arbeitserlaubnis und Aufenthaltsberechtigung vorhanden

nicht möglich

Projekte

Projekte

7 Jahre 5 Monate
2016-11 - heute

Überarbeitung einer Steuerung für einen Solarwechselrichter

Texas Instruments Code Composer Studio Altium Designer ...

Ausgangspunkt war ein Controller für einen leistungsstarken Solarwechselrichter mit einem älteren Texas-Instruments Delfino DSP als Hauptprozessor. Dessen Ressourcen waren, was Rechenleistung und Speicher angeht, schon voll ausgelastet. Es waren aber Erweiterungen der Firmware notwendig um die Anwendungsmöglichkeiten des Wechselrichters zu erweitern. Es wurde der Hauptprozessor gegen einen Delfino Prozessor neuester Generation ausgetauscht, um so notwendige Änderungen an der Firmware vornehmen zu können. Der neue Prozessor ist im Ggs. zum alten ein Dual-Core-Prozessor.

  • Änderung der Schaltung des Controllers
  • Erstellen des Layouts für die neue Schaltung
  • Portierung der Firmware auf die neue Hardware
  • Anpassung der Firmware, so dass sie den zweiten Core sinnvoll nutzen kann
  • Erweiterung der Firmware entsprechend der Vorgaben des Kunden
  • Erstellung eines verbesserten Debug-Interfaces für den Prozessor (Schaltplan und Layout)
  • Erweiterung der Firmware um eine Echtzeitausgabe (RTS) von internen Zuständen auf einem DAC
  • Erstellung eines Windows-Programms zur Steuerung des Real Time Scopes (RTS)
Texas Instruments Code Composer Studio Altium Designer C svn git Embarcadero RAD Studio
3 Jahre 3 Monate
2013-08 - 2016-10

Entwicklung einer hochpräzisen Stromquelle für Speicherringe von Teilchenbeschleunigern

Um in Speicherringen, wie CERN, die geladenen Teilchen im Kreis rotieren zu lassen werden Ablenkmagnete benötigt. Diese gibt es in supraleitenden und normalen Versionen. Für einen normalen Elektromagneten werden dazu hochpräzisese Stromquellen benötigt. In meinem Projekt war deswegen eine Stromquelle gefordert, die bei bis zu 125 Volt 1000 Ampere mit einer Toleranz von weniger als 50 mA liefern kann. Diese Stromquelle wurde aus parallel arbeitenden Einzelstromquellen erzeugt. Eine Anforderung war dabei, dass falls eine Stromquelle ausfällt, die anderen Stromquellen sofort die Last der ausgefallenen Stromversorgung übernehmen können. Meine Aufgabe war es, die Steuerungsplatine für das System und die Steuerungsplatinen für die einzelnen Stromquellen zu entwickeln und die Steuerungskomponenten zu programmieren. Beide Platinen sind FPGA basiert (Xilinx Spartan 6) und enthalten einen Microblaze Prozessor. Für die Kommunikation habe ich den Hardware-Layer von Ethernet mit einem proprietären Protokoll entwicklt welches den Echtzeit-Rahmenbingungen entspricht. Durch die direkte Kommunikation zwischen dem FPGA auf der Systemsteuerung und den FPGAs in den Stromquellen kann innerhalb von wenigen μs auf den Ausfall einer Stromquelle reagiert werden. Es wurde dadurch auch sichergestellt, dass eventuell auftretende Fehler mit minimaler Verzögerung an die Systemsteuerung übertragen werden können. Für die Regelung war eine hochgenaue Erfassung des Stroms notwendig. Diese wurde durch einen 18 bit ADC mit nachfolgender Signalaufbereitung realisiert. Durch eine Abtastung auf einem Vielfachen der Regelbandbreite und anschließende Filterung mit Unterabtastung konnten aus dem 18 Bit ADC problemlos die geforderten 20 Bit Auflösung errechnet werden. Die Fehler der Messschaltuing konnten durch Kalibrierung und Regelung der Temperatur der Messeinrichtung minimiert werden.

6 Monate
2016-02 - 2016-07

Implementierung einer FPGA-Firmware für eine Antennensteuerung

VHDL XML Xilinx Spartan 6 ...

In einem Folgeprojekt der Antennensteuerung vom Vorjahr wurde die FPGA Firmware erweitert. Die Peripherie des Microblaze-Prozessors wurde um selbstgeschriebene Module erweitert und ansonsten entsprechend der geänderten Hardware angepasst. Die Software wurde grundlegend überarbeitet. Insbesondere wurde der Kommunikationslayer neu geschrieben um automatisierte Kommunikation zwischen dem PC-Client (Test GUI) und der Steuerung zu ermöglichen. Die Objekte mit denen kommuniziert werden kann, werden aus einer XML-Datei - zusammen mit ihren Attributen - gelesen und daraus Source-Code für PC und Steuerung erzeugt. Die Test GUI war diesmal Teil des Auftrags und wurde um ein Kommando-Interface via Virtual COM Port erweitert mit dem die Kommunikations-Objekte automatisiert angesprochen werden konnten.

VHDL XML Xilinx Spartan 6 Embarcadero RAD Studio Kommunikation I2C Ethernet git doxygen
3 Monate
2015-01 - 2015-03

Implementierung einer FPGA-Firmware für eine Antennensteuerung

Xilinx Spartan 6 Embarcadero RAD Studio I2C ...

Basierend auf einem Microblaze wurde eine Steuerung in ein Spartan 6 FPGA auf einem Enclustra FPGA-Modul

entwickelt. Die Hardware wurde vom Kunden entwickelt. Mein Projektannteil war das FPGA und die Software auf dem Microblaze. Die Antennensteuerung war mehrere Kilomenter von der Zentrale entfernt und über Ethernet angeschlossen. Weitere Peripherie war über IIC, SPI, RS485 und RS232 angeschlossen. Für die Kommunikation mit der Zentrale habe ich ein Byte-Stream Protokoll entwickelt über das Kommandos gesendet und der Status abgefragt werden konnt. Basierend auf diesem Protokoll konnte auch ein Firmwareupdate durchgeführt werden. Durch Verwendung von zwei FPGA-Versionen (golden und actual) wurde sicher gestellt, dass bei einem Stromausfall während des Prorammierens des Konfigurationsspeichers, das FPGA trotzdem wieder startete und erneut programmiert werden konnte. Für den Test und die Inbetriebnahme habe ich eine Test GUI für Windows entwickelt, in der alle Funktionen und das Protokoll getestet werden konnten.

Xilinx Spartan 6 Embarcadero RAD Studio I2C Ethernet VHDL git doxygen
1 Jahr 5 Monate
2012-03 - 2013-07

Entwicklung eines Hochspannungsimpulsgenerators für Linearbeschleuniger

VHDL Lattice XP2 Lattice XO2 ...

Um Protonen-, Elektronen- oder Ionenpakete zu beschleunigen werden starke E-Felder benötigt. Diese werden von Klystronen erzeugt, die mit Hochspannungsimpulsen angeregt werden. Dabei werden Spannungspulse bis zu 500 kV bei Stromstärken bis zu 300 Ampere benötigt. Meine Aufgabe war die Entwicklung einer FPGA-basierten Hardware die aus über hundert einzelnen Komponenten diesen Spannungspuls zuverlässig erzeugt. Durch die Potentialunterschiede können die Module nur über Lichtwellenleiter kommunizieren. Ein integraler Bestandteil des Projektes ist es eine Kommunikationsstruktur zur Verfügung zu stellen, bei der die einzelnen Komponenten, selbst bei den durch die Hochspannungsimpulse erzeugten Störungen kommunizieren können bzw. bei Störungen der Kommunikation zuverlässig arbeiten können. Aufgrund meinen frühen Einbindung in das Projekt konnte ich das Konzept verbessern und so Entwicklungszeit und Serienkosten signifikant senken.

VHDL Lattice XP2 Lattice XO2 Lattice Diamond git doxygen
1 Jahr 6 Monate
2010-09 - 2012-02

Portierung einer Steuerung auf eine FPGA-Basierte Hardware

VHDL Spartan 6 ChipScope ...

Eine in die Jahre gekommene Zentrale für eine Alarmanlage wurde auf eine neue Hardware portiert. Die gesamte Digitallogik wurde in ein FPGA integriert. Im ersten Schritt sollte die alte Software - mit minimalsten Anpassungen - auf der neuen Hardware laufen. Meine Aufgabe bestand im Design und der Implementierung des FPGAs sowie der Beratung und Koordination der Hardware-Entwicklung und dem Layout. Im zweiten Schritt wurde die Software erweitert um die Anlage auch über TCP/IP bedienen zu können (anstatt RS232). Auch diese Erweiterungen hatten für die alte Software transparent zu sein. Dazu wurde unter anderem das Laufzeitmodell des Prozessors erweitert um parallel zur alten (Assembler-) Software die in C geschriebene TCP/IP-Anbindung zu realisieren.

 

In weiteren Schritten wurde die Software und das FPGA erweitert:

  • Firmware Download
  • AES-256 Verschlüsselung
  • RSA Verschlüsselung
VHDL Spartan 6 ChipScope Subversion doxygen TCP/IP uIp Treiberentwicklung in C
2 Jahre 8 Monate
2008-01 - 2010-08

FPGA Entwicklung

VHDL Spartan 3E ChipScope ...

Für eine neue Produktlinie wurde ein Datenflusskonzept entwickelt und in ein Xilinx-FPGA integriert. Zur Erfassung und Ausgabe von Daten wurde ein Framework für standardisierte Module entwickelt und für eines dieser Module das FPGA programmiert. Das FPGA enthält einen PCI Core, der von mir integriert wurde. Über diesen Core wird das Modul parametriert und leitet daraufhin Datenströme zwischen den verschiedenen Schnittstellen hin und her. Die PCI Schnittstelle ist natürlich auch eine mögliche Datenquelle bzw. Datenziel. Der PCI-Transfer erfolgte über Scatter-gather DMA. Andere Schnittstellen waren z.B. ein LWL- und ein EtherCAT-Interface.

VHDL Spartan 3E ChipScope Subversion doxygen Treiberentwicklung in C
Messgerätehersteller (Industrie)
1 Jahr 7 Monate
2007-04 - 2008-10

Portierung einer Gerätesteuerung

COSMIC C-Compiler/Debugger Lauterbach Emulator/Debugger Eclipse ...

Programmierung eines Steuergerätes für Schubgelenkbusse zur Stabilisierung des Gelenks. Ein vorhandener Knickschutz Algorithums musste auf eine neue Hardware und Softwareplattform portiert wereden. Die neue SW musste MISRA-konform unter dem Betriebssystem OSEK implementiert werden. Zielprozessor war ein S12X-Prozessor von Freescale (früher Motorola).

 

Mein Verantwortungsbereich war:

  • Installation und Konfiguration von OSEK-OS und CANbedded von Vector
  • Erstellung von Treibern für die neue Hardware
  • Bereitstellung von Support zur Inbetriebnahme der neuen Hardware
  • Entwicklung der Taskstruktur
  • Portierung des Knickschutzalgorithmus
  • Integration der UDS-Diagnose, eines Fehlerspeichers und der Störungsüberwachung.
  • Erstellung einer Testumgebung für die Modultests auf dem Target-Prozessor
COSMIC C-Compiler/Debugger Lauterbach Emulator/Debugger Eclipse doxygen Subversion/Tortoise OIL-Konfigurator von Vector (OSEK-OS) GENy von Vector (Konfigurator für CANbedded) Subversion/Tortoise/Trac Matlab Visual Studio (C++) CANoe CANape QA-C
MBtech/Automotive
1 Monat
2008-07 - 2008-07

Erstellung eines Gateways zur Ansteuerung eines Flash Boot Loaders

Tasking EDE für ST10 Eclipse Enterprise Architect ...

Ein vorhandener Applikationscontroller für einen Controller in einer Kettensäge wurde um ein Gateway von XCP auf dessen proprietäres Flash boot loader Protokoll (NEC78k) erweitert.

Die Teilaufgaben des Projektes waren:

  • Erstellung der Requierements
  • Erstellung der Dokumentation
  • Erstellung der Testshell für den Modultest
  • Erstellung und Test der Gateway-Software
  • Support für die Hardware-Entwicklung
  • Inbetriebnahme
Tasking EDE für ST10 Eclipse Enterprise Architect NEC MINICUBE 2
1 Jahr
2006-04 - 2007-03

Erstellung eines Internetportals für eine Immobiliendatenbank

Borland Developer Studio PostgreSQL

Es wurde eine ASP.NET Applikation erstellt, welche mittels SQL-Datenbank den Datenbestand und die Präsentation

von Immobilien verwaltet.

  • Design des Web-Interfaces
  • Design der Datenbank
  • Implementierung und Test
  • Administration des Servers
  • Erstellung von PC-Tools für die konfortable Datenaufbereitung und -transfer
Borland Developer Studio PostgreSQL
3 Monate
2006-01 - 2006-03

Design einer PCI-Karte mit Digital Down Converter für die digitale Signalverarbeitung

Xilinx ISE ModelSim

Hardware

  • Bauteilauswahl
  • Konzepterstellung

 

FPGA:

  • Entwicklung eines Konzeptes zum optimalen Datendurchsatz
  • Design und Implementierung eines Interfaces zu einem Local-Bus
  • Design und Implementierung eines Interfaces zu einem Puffer-DRAM
  • Design und Implementierung eines recht aufwändigen Signalverarbeitungsalgorithmus in einem möglichst kostengünstigen FPGA
Xilinx ISE ModelSim
Telekommunikation
1 Monat
2005-01 - 2005-01

Tuner Fernsteuerung

C-Compiler IEEE488 Library

Erstellung einer Bibliothek die einen Rhode&Schwarz Satellitentuner mit einfachen C-Funktionen steuern lässt. Der Tuner wird mittels IEEE488 bedient. Entsprechend der Anforderungen des Kunden wurde die Funktionalität des Tuners auf mächtigere Funktionen abgebildet. Ein Eventhandling wurde implementiert.

C-Compiler IEEE488 Library

Aus- und Weiterbildung

Aus- und Weiterbildung

Dipl. Ing. Elektrotechnik

Kompetenzen

Kompetenzen

Top-Skills

FPGA embedded

Produkte / Standards / Erfahrungen / Methoden

SCHLAGWORTE

  • Hardware
  • FPGA
  • Schulung (IT Beratung)
  • Projekt Management
  • Projektleitung
  • Hardwareentwicklung
  • ?Controller
  • Gerätetreiber
  • VHDL

SKILLS

  • Ich bin passionnierter Hard- und Software Entwickler. Mein Schwerpunkt sind FPGAs, digital-Hardware und embedded Software.
  • Ich bin Diplom Ingenieur der Elektrotechnik und habe an der Friedrich Alexander Universität in Erlangen studiert.
  • Mein Schwerpunkt lag dabei auf Nachrichtentechnik. Meinen Studienabschluss habe ich 1990 gemacht, ich bin aber bereits seit 1984 selbständig tätig.

Hardware Entwicklung

  • Digital >10 Jahre, Experte, zuletzt in 2017
  • Analog, Leistung > 3 Jahre, Anfänger, zuletzt in 2017
  • Digitale Signalprozessoren >10 Jahre, Experte, zuletzt in 2017
  • Emulatoren, Debugger >10 Jahre, Experte, zuletzt in 2017
  • FPGA >10 Jahre, Experte, zuletzt in 2016
  • SOC, Zynq >5 Jahre, zuletzt in 2016
  • Embedded Systeme > 10 Jahre, Experte, zuletzt in 2017
  • Echtzeitsysteme >10 Jahre, Experte, zuletzt in 2016

 

Software Entwicklung

  • C++ >10 Jahre, Experte, zuletzt in 2017
  • C >10 Jahre, Experte, zuletzt in 2017
  • Assembler >10 Jahre, Experte, zuletzt in 2017
  • C# 1 Jahr , zuletzt in 2008
  • MATLAB / Simulink > 3 Jahre, Anfänger, zuletzt in 2008
  • Delphi >10 Jahre, Experte, zuletzt in 2017
  • JavaScript > 1 Jahre, Anfänger, zuletzt in 2007
  • XML > 1 Jahre, Fortgeschrittener, zuletzt in 2017

 

Entwicklungsumgebungen

  • Xilinx Toolchains (ISE, Planahead und Vivado) inkl Microblaze und Zynq, Experte, zuletzt 2016
  • Quartus Toolchain inkl. SOC, Experte, zuletzt 2015
  • Texas Instruments Code Composer, Experte, zuletzt 2017
  • Borland RAD Studio, Experte, zuletzt in 2017
  • Qt, Anfänger, zuletzt in 2015
  • Lattice Diamod, Experte, zuletzt 2013

 

Tools

  • Git
  • Doxygen
  • Svn
  • MS Office
  • Open Office
  • CANoe
  • CANape
  • GENy
  • QA-C
  • InstallShield

 

Bereich

  • Meßtechnik >10 Jahre, Fortgeschrittener, zuletzt in 2014
  • Automotive > 5 Jahre, Fortgeschrittener, zuletzt in 2008
  • Medizintechnik > 1 Jahre, Fortgeschrittener, zuletzt in 1996
  • Industrial >10 Jahre, Experte, zuletzt in 2017

 

Mikrocontroller / DSP

  • Microblaze, Experte, zuletzt in 2016
  • ARM, Experte, zuletzt in 2014
  • Motorola/Freescale >10 Jahre, Experte, zuletzt in 2008
  • Texas Instruments >10 Jahre, Experte, zuletzt in 2017
  • Analog Devices 10 Jahre, Fortgeschrittener, zuletzt in 2008

 

BUS, Kommunikation

  • LWL > 2 Jahre, Fortgeschrittener, zuletzt 2014
  • GSM > 4 Jahre, Fortgeschrittener, zuletzt 2001
  • PCI > 4 Jahre, Fortgeschrittener, zuletzt 2005
  • CAN > 1 Jahre, Fortgeschrittener, zuletzt 2008
  • TCP/IP > 3 Jahre, Fortgeschrittener, zuletzt 2016
  • RS 232, RS 485, RS422, IIC, SPI, USB

 

SoftSkills

  • Auffassungsvermögen
  • Eigenverantwortliches arbeiten
  • Flexibilität
  • Kundenorientierung
  • Selbständige Arbeitsweise
  • Teamfähigkeit
  • Mehrsprachigkeit

 

Sonstiges

  • Digitale Signalverarbeitung

Betriebssysteme

CP/M
Echtzeitbetriebssysteme
OSEK, PDOS
Linux
> 5 Jahre, Anfänger, zuletzt in 2016
MS-DOS
OS/2
OSEK
>1 Jahr, Experte, zuletzt in 2008
OSEK-OS
Texas Instruments RTOS/BIOS
>3 Jahre, Fortgeschrittenner, zuletzt 2014
Unix
Auf Anwenderebene
Windows
>10 Jahre, Experte, zuletzt in 2017
Windows CE
 

Programmiersprachen

Assembler
Experte (diverse Prozessoren)
Borland/Codegear Entwicklungsumgebung
C
Experte, auch MISRA-konform
C++
Experte
Delphi
Experte
Eclipse
Java
JavaScript
MATLAB / Simulink
PHP
PL/SQL
 

Datenbanken

DBase
MS-SQL-Server
MySQL
ODBC
Paradox
Postgres

Datenkommunikation

Bus
CAN, SPI, IEC, PCI, XCP

Hardware

Bus
CAN, SPI, IIC, PCI
Digitale Signalprozessoren
speziell TMS320
embedded Systeme
OSEK
Emulatoren
u.a. Lauterbach
Hardware entwickelt
digital-HW mit DSP/CPLD/FPGA
Mikrocontroller
S12X, Cortex-M3, MSP430, Stellaris
NEC
78K0R
PC
PLD, FPGA
spez. Xilinx, Altera
Texas Instruments
MSP430, Stellaris, div. DSPs

Berechnung / Simulation / Versuch / Validierung

CANoe

Design / Entwicklung / Konstruktion

EAGLE

Branchen

Branchen

  • Telekommunikation
  • Automotive
  • Medizintechnik

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.