agile hardware – aber wie? · agile hw – rig design high complexity all-in-one pcba äquivalent...
TRANSCRIPT
Agile Hardware – Aber wie?
Mario Blunk, Blunk ElectronicDr. Tobias Kästner, Method Park Engineering
ASQF Fachgruppentreffen, Erlangen16. März 2017
Inhaber: Dipl.Ing. Mario BlunkBuchfinkenweg 3
99097 Erfurt / GermanyGegründet: August 2009
Gesellschaftsform: Einzelunternehmen
Tel. +49 (0) 361 6022 5184Email: info@blunkelectronic.de
Web: http://www.blunkelectronic.de
HardwareEntwicklung, Erprobung, Fertigung von elektronischen
Baugruppen für Industrie und Medizin
Kleinserien (1..500) in Kooperation mit Fa. Technikron.
Steuerung des Entwicklungs und Fertigungsprozesses von der Idee
bis zum Produkt nach dem SCRUMModell (agile
Hardwareentwicklung)
Qualitätssicherung von Lieferanten
ElektronikKonstruktion
Lösungen zum Testen von bestückten Leiterplatten und
Gerätesystemen
Eigenes Produkt System M1
Boundary Scan Test / JTAG / IEEE1149.1
Grundlagen Elektrotechnik/Elektronik
ElektronikKonstruktion (Schaltplan & Layout, Fertigung, Test, Qualitätssicherung)
Agile Hardwareentwicklung (SCRUM)
Boundary Scan / JTAG / IEEE1149.x / Design for Test (DFT)
Programmierung in Ada 2005/2012 (für sicherheitsrelevante Anwendungen)
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
7
Method Park is specialist for innovative software and systems engineering.
• 160 Employees• Founded 2001• Erlangen, Stuttgart,
Munich, Detroit, Miami
8
InformationSystems
Internetof Things
MobileApps & WebApps
AutomotiveMedicalDevices
MedicalApplications
Method ParkEngineering
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
Anforderungen – Konzept - Blockschaltbild
Schaltplan
Logiksynthese (VHDL, Verilog, ...)
PCB-Layout (Place & Route)
Materialwirtschaft (ERP, BOM, Lieferanten, ...)
CAM-Daten – Fertigung - Assembly
Test
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
Analyse Schaltplan
Hardware-Entwicklungsprozess
- Name Bauteil vs. Schaltplanseite
Label
Netz
Bauteil
Analyse Schaltplan
Hardware-Entwicklungsprozess
Platzierung der Bauteile
MCAD – Vorgaben beachten und Kontakt mit PCB-Hersteller und Bestücker halten !
Analyse Schaltplan Layout
Hardware-Entwicklungsprozess
Entflechtung / Routing
MCAD – Vorgaben beachten und Kontakt mit PCB-Hersteller und Bestücker halten !
Analyse Schaltplan Layout
Hardware-Entwicklungsprozess
Analyse Schaltplan LayoutPCB
Fertigung
Hardware-Entwicklungsprozess
http://www.lpkf.com
Analyse Schaltplan LayoutPCB
Fertigung
Hardware-Entwicklungsprozess
Analyse Schaltplan Layout PCBFertigung
Bestückung
Hardware-Entwicklungsprozess
http://www.voigt-electronic.de
Analyse Schaltplan LayoutPCB
FertigungBestückung
Hardware-Entwicklungsprozess
Es bedarf eines ERP-Systems ! Das Designwerkzeug kann und soll das nicht übernehmen !
Analyse Schaltplan Layout PCBFertigung
Bestückung
Hardware-Entwicklungsprozess
Analyse Schaltplan LayoutPCB
FertigungBestückung
HW-BasicTest
Hardware-Entwicklungsprozess
“Funktionstest”“In-Circuit-Test”“Flying Probe Test”“Boundary Scan”“AOI/AXI Test”
Hardware-Entwicklungsprozess
Analyse Schaltplan Layout PCBFertigung
Bestückung HW-BasicTest
Was “Softwerker” bedenken sollten:
Schaltplan und Layout eng verwoben
Ab Fertigung:- kaum noch Möglichkeit der Fehlerkorrektur- kleine Fehler können viel Geld kosten
akzeptabel
moderat
akzeptabel
sehr hoch !Aufwände
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
Prototyping
Hersteller-Evalkit für Motortreiber
Hersteller-Evalkit für CMOS-Sensor
“Labview“Prototype SW
Breadboards
Hersteller-Evalkit für MCU
● Konzeptvalidierung● Gold Standard● Schnelle Ergebnisse
Stärken
● Setup nicht einfach zureplizieren
● SW wird 2x entwickelt● Keine Integration
Schwächen
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?
Agile HW – Rig Design
PCBA
● Vererbung von Eigenschaften● Geometrie● Powersupply● Klassenspezifische
Eigenschaften
Core ShieldFeatureboard
Motor Heater LEDSTM32F4 LPC1769
Agile HW – Rig Design
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
Power Supply
Konventionen für Schnittstellen
Teile & Herrsche !
- große PCBs- niedrige Anforderungen (Fertigng, Ä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
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 Design
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 Connectors sind Connectors
● 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"
● 2(4)-Lagen, größer ist schneller! ● Einseitige Bestückung ist schneller!● Autorouter
Layout
● Befestigung
Geometrie
● Jumper statt Lötbrücken● Indikator-LEDs● Testpunkte
Bauteile
● Verpolsicher● Werkzeugfrei
Steckverbinder
● On-Board Debugger
Core Board
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
● Mechanik● Culture
● 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
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ötiger Parts/Netze und Part Package
Schaltplan + Netzliste
Core + Feature 1 + Feature 2 + Feature 3 => Product
Unter welchen Bedingungen ist obige Reduktion als M2M-Transformation formalisierbar ?
Automation
Core
Shield
Feature 1 Feature 2 Feature 3
Agile HW – Rig Reduction
Core
Shield
Feature 1 Feature 2 Feature 3
1. Elimination: Backend/Debug/Infrastructure
1
Agile HW – Rig Reduction
Core
Shield
Feature 1 Feature 2 Feature 3
2. Reduction:Mittels Routinginformation
2
Agile HW – Rig Reduction
3. Layout: Neues Layout ohne “Entwicklungsballast”
Optimiere für Größe, #Lagen, etc.
3
3 Wochen
The Agile HW Toolkit
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 Sprint
● 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● Versionskontrolle (Git)
● erprobt mit CadSoft-EAGLE● CERN-KiCad noch in Evaluationsphase
● XILINX-ISE/Vivado (für Logiksynthese)● Blunk electronic Stock-Manager● Blunk electronic Boundary Scan Test System M-1
●
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: [email protected]
Web: http://www.blunk-electronic.de
Mehr über uns ...
Vielen Dank
Bildnachweishttps://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/360029https://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/