Agile Hardware – Aber wie? - ASQF › wp-content › uploads › 2016 › 06 ›...

Post on 03-Jul-2020

1 views 0 download

Transcript of Agile Hardware – Aber wie? - ASQF › wp-content › uploads › 2016 › 06 ›...

Agile Hardware – Aber wie?

Mario Blunk, Blunk ElectronicDr. Tobias Kästner, Method Park Engineering

ASQF Fachgruppentreffen, Stuttgart13. Juni 2017

Inhaber: Dipl.-Ing. Mario BlunkBuchfinkenweg 3

99097 Erfurt / GermanyGegründet: August 2009

Gesellschaftsform: Einzelunternehmen

Tel. +49 (0) 361 6022 5184Email: info@blunk-electronic.de

Web: http://www.blunk-electronic.de

Grundlagen Elektrotechnik/Elektronik

Agile Hardware-Entwicklung für Industrie und Medizin

Schaltplan & Layout, Fertigung, Test, Qualitätssicherung

Boundary Scan / JTAG / IEEE1149.x / Design for Test

Prototypen & Kleinserien bis 500

Elektronik-Konstruktion, Schulungen & Beratung

● Komplexe dynamische Systeme● Quantentheorie● Numerische Simulation

Physiker

SW-Architekt

SW-Entwicklungsleiter

System Architect

Program Manager Connectivity for

Medical Devices

7+ Jahre Medizintechnik

Systems Engineering

Digitale Transformation

Coaching/Knowledge Transfer

Seit 2016 Expert Engineer IoT,

Method Park

5

Method Park is specialist for innovative software and systems engineering.

• 160 Employees• Founded 2001• Erlangen, Stuttgart,

Munich, Detroit, Miami

Das Team – Die Geräteentwickler

WissenschaftlerWissenschaftler führen führenExperimente durchExperimente durch

Gewinnen neue Gewinnen neue Erkenntnisse überErkenntnisse überbenötigte Funktionen benötigte Funktionen

SoftwareSoftware ist Bindeglied ist Bindegliedzwischen Nutzern undzwischen Nutzern undGerätefunktionenGerätefunktionen

HardwareHardware stellt benötigte stellt benötigte Funktionalität bereitFunktionalität bereit

Systemarchitektur

Hardware

Firmware

Software

CMOS-Sensor

LEDs

????

Microcontroller

Low-Level Treiberansteuerung, Echtzeitregelkreise

User Interface, Business Logic

Motoren

Ein klassisches Entwicklungsprojekt

Dauer der Projektphase

Gesamtdauer

Lastenheft 1 Monat 1 Monat

Entwicklung und Fertigung Null-Serie 6 Monate 7 Monate

SW-Integration und erstes erfolgreiches Ende-Zu-Ende Szenario

6 Monate 13 Monate

● Bereits nach 3 Monaten erste Change Requests – für Null-Serie aber bereits zu spät● Folgerevisionen behoben nicht alle Fehler, verursachten aber neue

● Erfahrenes Team (2 HW-Entwickler, 2 FW-Entwickler, 1 Tester)● Sehr gute Bedingungen (Resourcen, Kommunikation)

Hardware-Entwicklungsprozess

vereinfachter Ablauf: Konzept / Anforderungen

Block-Diagramm

Schaltplan

PCB Layout

Fertigung

Test / Verifikation

- Dokumentation- Logiksynthese- Materialwirtschaft

Iterationen für Nacharbeit

Produkt

Hardware-Entwicklungsprozess

Analyse

Hardware-Entwicklungsprozess

- Name Bauteil vs. Schaltplanseite

Label

Netz

Bauteil

Analyse Schaltplan

Hardware-Entwicklungsprozess

Platzierung der Bauteile/ Entflechtung / Routing

MCAD – Vorgaben beachten und Kontakt mit PCB-Hersteller und Bestücker halten !

Analyse Schaltplan Layout

Hardware-Entwicklungsprozess

http://www.lpkf.com

Analyse Schaltplan LayoutPCB

Fertigung

Hardware-Entwicklungsprozess

Analyse Schaltplan Layout PCBFertigung

Bestückung

Hardware-Entwicklungsprozess

www.technikron.de

http://www.voigt-electronic.de

Analyse Schaltplan LayoutPCB

FertigungBestückung

Hardware-Entwicklungsprozess

Analyse Schaltplan LayoutPCB

FertigungBestückung

HW-BasicTest

Hardware-Entwicklungsprozess

•Funktionstest•In-Circuit-Test•Flying Probe Test•Boundary Scan•AOI/AXI

akzeptabel

moderat

akzeptabel

Analyse Schaltplan Layout PCB Bstk. Test

sehr hoch !

Aufwände

eng verwoben

Fehlerkorrektur

kaum noch möglich,

kleine Fehler kosten

viel Geld und Zeit

Design # Parts # Nets # PinsVery

Complex >1000 >1000 >2000

Complex 750 544 2250

Moderate 315 383 1162

Simple 121 101 350

VerySimple

<100 <70 <200

Designmetriken

Verknüpfung neuer Partsmit bestehenden Netzen

Aufwand für Entflechtung wächst nicht-linear

Umso dramatischer je kleiner die Fläche:

A1<A

0

Aufwände skalieren nicht linear

Hardware

Zeit

Firmware

Software

ungenutzt

ungenutzt

ungenutzt

ungenutzt

Weil HW lange dauert ...

... dauert HW lange

2x Genauigkeit, Schritt- und Gleichstrommotor, 16 Reserve-Pins

Diskret statt analog, mehr Parts, mehr Netze, ...

höhererHW-Entwicklungsaufwand

Neue HW nur 1x pro Jahr !

Just in Case ..

Was tun?

So früh wie möglich unscharfe Anforderungen beantworten

Lange Vorlaufzeiten vermeiden

Komplexität beherrschbar machen

Doppelte Aufwände vermeiden

Agile ...

Increments

... is about

Iterations

Elimination of Waste

Continuous Integration

Value-driven

Automation

TDDDesign Patterns

Crossfunctional Teams Automation

Embracing Change

Timeboxed

Clean Code

Agile Hardware

So früh wie möglich unscharfe Anforderungen beantworten

Lange Vorlaufzeiten vermeiden

Komplexität beherrschbar machen

Doppelte Aufwände vermeiden

Rigs

Rig D

esign

Rig R

eductio

n

Clean C

ode

Autom

ation

Agile HW – Rig Design

Highcomplexity

● All-In-One PCBA äquivalent zu “Gott-Klassen” in OOP

● Stattdessen viele kleinere PCBAs - “teile und herrsche”

● Stabile Features bleiben stabil● Volatile Features können schneller

adaptiert werden

Medium complexity

Low complexity

Low complexity

Low complexity

● Meist völlig konträr zum klassischen Vorgehen

●Kohärenz des Schaltplans nicht mehr garantiert

●Erhöhter Aufwand für ● Ablage von Designfiles● Boards● Board-to-Board Verbindungen

Agile HW – Rig Design

Medium complexity

Low complexity

Low complexity

Low complexity

Highcomplexity

● Schafft überhaupt erst Voraussetzung für ‘vertikale’ Features

● Modulentwicklung kann weiter formalisiertwerden Kadenz und Rythmus→

● Aufwände werden schätzbar

20?

85

5 3

50?

Power Supply

Debug Circuitry

Motor Driver

MCU / Memory / Instrumentation

Alle Wünsche müssen in EIN Design !!! → träge → teuer → zeitintensiv !

- Erweiterungen- Änderungen- Fehlersuche

Artwork !

EIN PCB für alles !

Led Driver

Agile HW – All-in-One Design

Agile HW – Rig Design

Power Supply

Konventionen für Schnittstellen

Teile & Herrsche !

- große PCBs- niedrige Anforderungen (Fertigung, Ästhetik, ...)- Autorouter- Wiederverwendbarkeit- kurzfristige Änderungen möglich- frühzeitige Materialbeschaffung je PCB, - Designcheck und Testgenerierung

- parallalele Entwicklung- 2Tage / Schaltplan- 3 Tage / Layout- parallele Fertigung

Feature Board

Agile HW – Rig Design

Devel Circuitry Devel Circuitry

Devel Circuitry

LedMotor

MCU/Memory

Devel Circuitry

Devel Circuitry

Shield

Core

Feature Board Feature Board

Agile HW – Rigs

Hardware

Zeit

Firmware

Software

Agile HW – "Clean Code"

● Einheitliche Namenskonventionen● Unterteilung von Schaltplänen in Schaltplanseiten (7±2 Regel)● Silkscreen● Saubere Bezeichner: Jumper sind Jumper und Verbinder sind Verbinder

● Lesbarkeit erhöhen● Für andere HW-Entwickler● Für SW-Entwickler

● Logische Gruppierung für Wiederverwendbarkeit● Saubere Namensgebung bei Netznamen entscheidend für

spätere Automatisierung

Agile HW – "Clean Code"

Agile HW – "Clean Code"

Agile HW – "Clean Code"

Agile HW – "Clean Code"

● Gängig in SW-Projekten● Erleichtert Navigation● Scaffold Generators

Einheitliche Projektstruktur

Agile HW – "Clean Code"

● Gängig in SW-Projekten● Erleichtert Navigation● Scaffold Generators

Einheitliche Projektstruktur

● Gängig in SW-Projekten● Schulung und Training notwendig● Submodules für einzelne Designs

● Wiederverwendbarkeit● Merge/Pull Requests für

teamübergreifende Weiterentwicklung

Konfigurationsmanagement - Git

Agile HW – Automation

● Electrical Rule Check● PDF-Export● Bauteilverfügbarkeit● Linting● Metriken

Schaltplan

● Design Rule Check● PDF-Export● MCAD-Export● Metriken

Layout

● Gerber Files● Release Package

CAM

Agile HW – Automation

● Gerber Files● Dokumentation● Release Package

CAM

Medium complexity

Low complexity

Low complexity

Low complexity

85

5 3

Agile HW – Rig Reduction

HighComplexity

● Legt bereits die Bill of Materials fest ● Interface zur Firmware● Soll unter Transformation invariant sein - modulo nicht länger

benötigter Bauteile und Netze

Schaltplan + Netzliste

Core + Feature 1 + Feature 2 + Feature 3 => Product

Unter welchen Bedingungen ist obige Reduktion als M2M-Transformation formalisierbar ?

Automation

SHIELD

Connector

MCU

Connector

Connector

Connector

FEATURE BOARD

Drivers, ADC, DAC, OPAMPs, ...

Co

nn

ecto

r

Cable

Board to Board

CORE

Motors, Leds, Valves, Switches, Display, Instrumentation ...

Logic Analyser, etcC

on

nec

tor

Agile HW – Rig Reduction

Feature Block

Frontend

Routing

Back End

Deb

ug/In

fras

truc

ture

Agile HW – Rig Reduction

Agile HW – Rig Reduction

2

3. Layout: Neues Layout ohne “Entwicklungsballast” (Optimiere für Größe, #Lagen, etc.)

3

1. Elimination: Backend/Debug/Infrastructure

Core

Shield

Feature 1 Feature 2 Feature 3

3 Wochen

The Agile HW Sprint

Schaltplan Layout

PCB-Fertigung

Bauteilbeschaffung

Bestückung

HW-TestDokumentation Testgenerierung FW-Int.

● Kürzere Fertigungszeiten möglich ● 3 -4 Wochen/Sprint ausreichend

Core Board

komplexer und nicht in 3 Wochen realisierbar

Höchster Wiederverwendungswert

The Agile HW Toolkit

● CAE- Werkzeuge müssen automatisierbar sein (skriptbar)

● Löschen von Schaltplanseiten, Bauteilen und Netzen● Feststellung Verstöße gegen Konventionen● Erzeugung von Materiallisten, CAM-Daten● Designdaten in Klartext, ASCII, XML (nicht binär !)● Testgenerierung (Boundary Scan)● Versionskontrolle (Git)

● erprobt mit CadSoft-EAGLE

● CERN-KiCad noch in Evaluationsphase

Hardware

Firmware

Software

Software Entwicklung

Software Entwicklung

● Lesbarkeit vom Schaltplan● Unübersichtlich – wenig/nicht strukturiert● Zusätzliche Informationen wie Datenblätter müssen zusammengesucht werden

● Korrespondenz zwischen Board und Schaltplan● Verfügbarkeit von Hardware● Hardware nur mit dem “Lötkolben” parametrierbar● Messwerkzeuge sind umständlich anzuschließen

Reibungsverluste

● Status LEDs● Beliebig viele Testpunkte ● Beliebig viele Pfostenstecker

für Messwerkzeuge● Jumper zum einfachen Parametrieren

Development Frames● Blockdiagramm● Pinout (MCU, Connectors)● Jumper

Dokumentation

● Core Board immer verfügbar● Rigs können einfach konfiguriert

werden

Hardware

Script Engine

RTOS

Hardware

Firmware

Software

Software Architektur

Science Function

CoreFeature Feature

Module API

Software Architektur

● RTOS – basiert → explizite Modellierung von Tasks/Threads pro Feature ● Auswahlkriterien:

● Ausgereiftes Treibermodell● Buildsystem mit hohen Maß an Konfigurierbarkeit (zur Kompilierzeit)● Breite Architekture/Board Unterstützung für Flexibilität

Firmware Architecture

Software Architektur

Lessons learned

● Agile Methoden sind zum Lösen komplexer Systemebestimmt

● Unter Berücksichtigung der Eigenheitendurchaus auf Hardware übertragbar

● Schaltplan und Netzliste können (fast) ohne Mehraufwand von Anfang an entwickelt werden

● “Clean Code” hilft auch nicht agiler Hardware

Die Reise geht weiter – Ein Ausblick

Die Reise geht weiter – Ein Ausblick

Dienstleistungen / Firmenprofil

Tel. +49 (0) 361 6022 5184Email: info@blunk-electronic.de

Web: http://www.blunk-electronic.de

Mehr über uns ...

Vielen Dank

Bildnachweis

https://pixabay.comhttp://www.alere.com/en/home/about/stories/fighting-hiv-in-africa.htmlhttp://www.cobas.com/home/product/point-of-care-testing/cobas-b-123-poc-system.htmlhttp://www.biospace.com/News/fda-approves-alere-inc-s-15-minute-flu-tests-for/360029

https://commons.wikimedia.org/wiki/File:Nema_17_Stepper_Motor.jpghttps://commons.wikimedia.org/wiki/File:Internal_gear_pump.gifhttps://commons.wikimedia.org/wiki/File:Internal_gear_pump.gifhttps://commons.wikimedia.org/wiki/File:RBG-LED.pnghttps://commons.wikimedia.org/wiki/File:Matrixw.jpghttps://www.flickr.com/photos/120586634@N05/15107895884/in/photostream/

https://commons.wikimedia.org/wiki/File:Lab_tech_pipet.jpghttps://pixabay.com/de/labor-medizinische-lab-diagnose-313870/