Integrationstechnologien

Wir nutzen die fortschrittlichsten Technologien und Kenntnisse, um unsere Komponenten in Hightech-Systeme zu integrieren.

1
Die erste Analyse ist eine Gelegenheit für unsere Intuition.

Die erste Analyse ist eine Gelegenheit für unsere Intuition.

Der erste Schritt bei der Entwicklung der Hardware ist die Analyse des gesamten Systems.

Als Hardware-Entwicklungsingenieure verwenden wir Standard-Bürosoftware, um das First-Level-Diagramm und das Rauschdiagramm zu zeichnen, manchmal so einfach wie MS Excel.

Natürlich können wir auch anspruchsvollere und teurere Tools verwenden, aber die meisten Projekte benötigen keinen solchen Overkill, und der Nutzen ist in der Regel nicht sehr hoch.

Dank unserer langjährigen Erfahrung können wir mit einem billigen Standardwerkzeug die gleiche Leistung erzielen wie mit einem teuren Hochleistungswerkzeug.

2
Die Simulation der Hardwarekomponenten zeigt uns die physikalischen Grenzen.

Die Simulation der Hardwarekomponenten zeigt uns die physikalischen Grenzen.

Wir nutzen die Werkzeuge der Spice-Familie effizient für die lineare und nichtlineare Analyse bei niedrigen Frequenzen. Obwohl sie sehr oft kostenlos sind, reichen sie in den meisten Fällen aus.

Ein weiterer Schritt ist die Simulation der einzelnen Hardwarekomponenten.

Physikalische Genauigkeit kommt vom Verständnis des Modells, nicht vom Preis des Simulators.

3
Das mechanische Modell ermöglicht es uns, ein hervorragend herstellbares Produkt zu entwerfen.

Das mechanische Modell ermöglicht es uns, ein hervorragend herstellbares Produkt zu entwerfen.

Ein wesentlicher Bestandteil ist die Erstellung eines 3D-Modells für das Produkt aus mechanischer Sicht durch unseren Maschinenbauingenieur. Das Modell wird dann modifiziert und optimiert, um die in der Hauptdefinitionsphase festgelegten Anforderungen zu erfüllen und mit dem elektronischen Design kompatibel zu sein.

Gutes mechanisches Design funktioniert für die Leiterplatte und für die Fertigung.

4
Radiofrequenzen — unsere Erfahrung ist ein Ass im Ärmel.

Radiofrequenzen — unsere Erfahrung ist ein Ass im Ärmel.

Wir verwenden die gängigsten Marken von Werkzeugen entsprechend ihrem Zweck. Einige Werkzeuge ermöglichen eine vollständige EM-Analyse, andere sind sehr leistungsstark bei nichtlinearen Simulationen.

Wenn sie die technischen Anforderungen erfüllen, verwenden wir auch kostenlose Werkzeuge, was es uns ermöglicht, die Kosten für die Simulationszeit zu minimieren und einen Teil des Entwicklungsbudgets einzusparen.

Sobald wir die Leiterplattenstruktur mit diesen Werkzeugen optimiert haben, exportieren wir die Daten für weitere Entwicklungsschritte.

Die Kombination der richtigen HF-Werkzeuge liefert zuverlässige Ergebnisse, die Einzelwerkzeug-Ansätze nicht erreichen können.

5
PCB-Design ist die Schaltung, die in realen Daten visualisiert wird.

PCB-Design ist die Schaltung, die in realen Daten visualisiert wird.

Sobald wir alle erforderlichen Komponenten simuliert und optimiert haben, gehen wir zum PCB-Design über. Wir erstellen einen Schaltplan, verbinden alle Komponenten und leiten das finale Modell an das PCB-Design-Team weiter.

Sie setzen das Modell dann in die Form konkreter Leiterplatten um. Dieser Prozess wird manuell durchgeführt, und das Know-how unseres Expertenteams sowie deren langjährige Erfahrung im PCB-Design sind dabei maßgeblich beteiligt. Die elektronischen Teile müssen natürlich auch unter Berücksichtigung der gewünschten physischen Form des Produkts entworfen werden.

Sobald sie mit dem PCB-Layout fertig sind, exportieren sie die PCB-Produktions- und Bestückungsdaten zur Überprüfung.

Die PCB-Entwicklung wird daher in enger Kommunikation mit den Maschinenbauingenieuren unter Verwendung ihrer 3D-Modelle durchgeführt.

6
Der Hardwaretest ist das letzte Ergebnis unserer gut gemachten Arbeit.

Der Hardwaretest ist das letzte Ergebnis unserer gut gemachten Arbeit.

Die Phase, nachdem wir die ersten Muster aus der Produktion erhalten haben, ist spannend.

Wir verwenden viele hoch entwickelte und teure Instrumente, um zu prüfen, ob unsere Prototypen die in der Definitionsphase festgelegten Anforderungen erfüllen.

Wenn sie einige der Grenzwerte überschreiten, führen wir eine Diagnose durch, um die Ursache und die Lösung zu finden.

Wir testen mit branchenüblichen Instrumenten, erweitert durch unsere eigene Test-Framework-Software.Wir testen mit branchenüblichen Instrumenten, erweitert durch unsere eigene Test-Framework-Software.

1
Das Architektur-UML-Modell ist die Grundlage des Softwarepakets.

Das Architektur-UML-Modell ist die Grundlage des Softwarepakets.

Bevor wir uns an die Software-Implementierung machen, bereiten wir die Architektur in einem UML-Modell vor.

Für diese Modellierung verwenden wir verschiedene Werkzeuge.

Vor langer Zeit haben wir mit Rational Rhapsody begonnen, jetzt verwenden wir auch PlantUML, Microsoft Visual Studio, Microsoft Visio, Lucid Chart und Enterprise Architect.

Wir passen die Architektur entsprechend an - egal, ob wir auf einem Betriebssystem - Linux oder Windows - oder Bare-Metal-Firmware aufbauen.

2
Projektmanagement ist das Rückgrat der Softwareentwicklung.

Projektmanagement ist das Rückgrat der Softwareentwicklung.

Für den Softwareentwicklungsprozess verwenden wir eine Toolfamilie von Atlassian.

Wir haben langjährige Erfahrung mit JIRA, das für die Fehlerverfolgung eingesetzt wird, wobei wir häufig agile Prozessabläufe auf der Grundlage von Kanban oder Scrum verwenden.

Und wir nutzen den Hauptvorteil von JIRA, nämlich die enge Verbindung mit dem Bitbucket-Repository.

3
Die Versionskontrolle bietet die Möglichkeit zur Überprüfung.

Die Versionskontrolle bietet die Möglichkeit zur Überprüfung.

Als Revisionskontrollsystem haben wir vor ein paar Jahren mit SVN begonnen. In den letzten Jahren sind wir auf Toolchains auf der Grundlage von Git umgestiegen, was den Vorteil des flexiblen Branching und Merging (im Vergleich zu SVN) mit sich bringt. Wir pushen unsere Inhalte in ein entferntes Bitbucket-Repository, das eine leistungsstarke Infrastruktur und die Integration mit anderen Tools von Atlassian bietet.

Wir haben Technologien zur kontinuierlichen Integration (CI) wie Jenkins Server verwendet.

4
Jedes Teammitglied hatte Erfahrung mit verschiedenen Tools zum Programmieren.

Jedes Teammitglied hatte Erfahrung mit verschiedenen Tools zum Programmieren.

Unsere Kollegen sind nicht gezwungen, bestimmte Tools zu verwenden. Die meisten von ihnen verwenden gerne Visual Studio Code (VS Code) oder MS Visual Studio, andere mögen Atom, Eclipse oder einfache Linux-basierte Editoren.

Für die Quelldateien setzen wir statische Code-Analyse-Tools wie Clang ein.

Fast alle Tools bieten die volle Leistungsfähigkeit eines Remote-Target-Debuggers und verschiedener Plug-in-Pakete.

5
Wir verwenden die beste Programmiersprache, die zum einzelnen Softwarepaket passt.

Wir verwenden die beste Programmiersprache, die zum einzelnen Softwarepaket passt.

Die meisten der von uns verwendeten Programmiersprachen unterstützen sowohl Linux- als auch Windows-Betriebssysteme.

Einige von uns mögen Python wegen seiner Flexibilität und der Tatsache, dass es nicht kompiliert werden muss, insbesondere für schnelles Software-Prototyping oder Testskripte.

Für die webbasierten Anwendungen haben wir gute Erfahrungen mit JavaScript, TypeScript und verschiedenen Web-Frameworks wie ReactJS und Express, die von Runtimes wie NodeJS und Electron unterstützt werden.

Andererseits beherrschen die Kollegen, die sich intensiv mit ARM Cortex-Embedded-Firmware-Anwendungen auf niedrigerer Ebene beschäftigen, C oder C++.

6
Gerätetreiber

Gerätetreiber

Einige Projekte, die wir für unsere Kunden durchführen, verwenden PCIe-Karten für einen Host-PC. Solche Computer laufen meist unter Windows; daher unterstützen wir unsere Kunden bei der Entwicklung von Windows-Treibern.

Natürlich erstellen wir auch erfolgreich Treiber für Embedded Linux - in den meisten Fällen für die Peripherie, die nicht Teil des individuellen SOM (System on Module) ist.

Wir haben detaillierte Erfahrungen mit dem älteren Windows Driver Kit (WDK) und dem neueren Kernel-Mode Driver Framework (KMDF).

Überblick über Technologien und Tools

3D-Modell

DesignSpark Mechanical
AutoDesk Inventor
SolidWorks

Analyse

Python
Matlab
Octave
MS Excel

Architekturmodell

Enterprise Architect
PlantUML
MS Visio
Lucidchart
MS Visual Studio

Codierungstools

MS Visual Studio
Visual Studio-Code
Atom
Eclipse
Clang

Gerätetreiber

Windows — Windows-Treiberkit (WDK)
Windows – Kernel-Mode Driver Framework (KMDF)
Linux — Linux-Kernel-Gerätemodell

HW-Messgeräte

RF Instruments von Rohde & Schwarz
RF-Instrumente von Keysight
Oszilloskope von Rohde & Schwarz
Oszilloskope von Tektronix

Kontinuierliche Integration

Jenkins

PCB-Design

OrCAD Capture CIS
OrCAD PCB Designer
Altium Designer
Mentor PADS
Mentor Expedition

Programmiersprachen

C/C++
Python
JavaScript/TypeScript

Projektleitung

Atlassian JIRA (Kanban und Scrum)

RF-Simulation

AWR Microwave Office
PathWave Advanced Design System (ADS)
QUCS Studio

Simulation (niedrige Frequenz)

LTspice
Tina CAD
OrCAD simulator
Mikro-Cap

Tools/Frameworks

ReactJS
Angular
NodeJS
Express
ElectronJS

Versionskontrolle

Atlassian Bitbucket
SVN
Gitea

Brünn

der Standort unseres Labors und Hauptsitzes Industrieregion „Silicone Valley“ in der Mitten in Europas.

Wir arbeiten in unserem eigenen Labor mit einer Fläche von 500 m2 das mit hochentwickelten Messinstrumenten (in unserem Eigentum) und detaillierter Simulations- und Entwicklungssoftware ausgestattet ist.