Transcript Folie 1

Der Elektronik-Absolvent in
KMUEntwicklungsabteilungen
Ing. Thomas Pischinger
9. März 2010
Agenda
► Persönliches
► Erfahrungen
/ Aufgabengebiete
► Allgemeine Anforderungen
► Hardware-Entwicklung
► Firmware-Entwicklung
2010-03-09
Werdegang
► Absolvent
TGM Nachrichtentechnik (N81b)
► 1982-2001






2010-03-09
Datentechnik AG (Keymile AG)
Entwicklungsingenieur
Gruppen- bzw. Abteilungsleiter Bereich Entwicklung
Bildschirmtext
Datex-P (X.25) Lotto/Toto
ISDN
Datennetzabschlussgeräte mit Backup und Management
Werdegang
►2001-2003
maxxio technologies AG
 Vorstand Technik
 Datennetzabschlussgeräte mit Management, IP und
Frame-Relay Routing auf Linux Basis
►2004-2007
Frequentis AG
 Technischer Projektleiter
 GSM-R Projekte in GB, FIN, N, CH
2010-03-09
Werdegang
► 2007-heute
Winpresa Building
Automation Technologies GmbH
 Geschäftsführer / Bereich Technik
 IP-basierende Kommunikationslösungen für alle möglichen Bereiche
der Gebäudeautomation
2010-03-09
Hardware Entwicklungsschwerpunkte
►
Analogtechnik:
 Netzteile (DC/DC-Wandler)
 Nf-Verstärker
 Filter
►
Digitaltechnik
 FPGA (XILINX, Altera)
►
Microprozessor/-controller
 µP (6502, Z80, 80188)
 µC (8048, 8051, 68302, MPC860, MIPS, ARM)
►
Peripherie




►
SRAM, SDRAM
Serielle Controller (UART, HDLC)
ISDN (Basic -, Primary Rate Controller)
“Modem” (V.xx, SHDSL, ADSL)
EMV
2010-03-09
Firmware Entwicklungsschwerpunkte
► Sprachen
 Assembler
 C (C++)
► Betriebssysteme
 Proprietäre Multitasking-System
 LINUX
► Anwendungen
 Steuerungsaufgaben
 Kommunikationsprotokolle
 User Interfaces
2010-03-09
Agenda
► Persönliches
► Erfahrungen
/ Aufgabengebiete
► Allgemeine Anforderungen
► Hardware-Entwicklung
► Firmware-Entwicklung
2010-03-09
Ausbildungsstand der Mitarbeiter
FH
5%
TU
25%
HTL
70%
Tendenz:
2010-03-09
HTL
TU
FH
fallend
fallend
steigend
Entscheidungsgrundlagen für /
gegen HTL-Absolventen
► In
Zeiten von Arbeitskräfte-Mangel:
 keine („man nimmt was man bekommt“)
► In
Zeiten von Arbeitsplatz-Mangel:
 keine Präferenz, sondern meist persönlicher
Eindruck
 aber: FH-Absolventen oft gleich teuer wie HTLAbsolventen!
2010-03-09
Einsatzgebiete
5%
20%
Hardware
Firmware
Software
75%
2010-03-09
Einsatzgebiete Hardware
►
Schaltungsentwicklung





►
►
►
►
►
►
►
►
analog
digital
µC
Stromversorgung
…
Bauteil-Evaluation (Studium, Test, Angebote einholen)
Prototypenaufbau
Simulation
Test
Hardware / Firmware - Integration
FPGA-Entwicklung (mit/ohne VHDL)
EMV – Messungen
Klimatests
2010-03-09
Einsatzgebiete Firmware
►
Klein-Controller Anwendungen
 ohne Betriebssystem
 mit simplen Multi-Tasking-System
 90% Assembler / 10% C
►
proprietäre Betriebssysteme
 Message Oriented Multitasking
 Datenkommunikation
► PPP,IP,UDP,TCP,FTP,Telnet,
SNMP, …
 Sprachkommunikation
► ISDN
Basic / Primary Rate
 Steuerungsaufgaben
 User Interfaces (seriell, menü-geführt)
 1% Assembler / 99% C
2010-03-09
Einsatzgebiete Firmware
► embedded
Linux
 Driver Entwicklung (ADC, Tasten, LEDs, LCD,
ISDN BRI/PRI)
 Sprach- / Datenkommunikation
 Steuerungsaufgaben
 User Interfaces (LCD, Command Line, Web)
 100% C
2010-03-09
Einsatzgebiete Software
► Linux
► C,
C++, Perl
► Netzmanagement Systeme
2010-03-09
Agenda
► Persönliches
► Erfahrungen
/ Aufgabengebiete
► Allgemeine Anforderungen
► Hardware-Entwicklung
► Firmware-Entwicklung
2010-03-09
Allgemeine Anforderungen
► Soziale Kompetenzen
► Kommunikationsfähigkeiten
► Lernbereitschaft
► Informationsbeschaffung
 wo bekomme ich Informationen her?
 was muss ich neu machen / was gibt es schon?
► Qualitätsbewusstsein
 „Übereinstimmung mit den Erwartungen des Kunden“
 Überschreitung ist genauso schlecht wie
Unterschreitung !
► Englisch
2010-03-09
in Wort und Schrift
Allgemeine Anforderungen
► Nachvollziehbarkeit
 als Dogma der Qualitätssicherung
 als Kostenfaktor für Wartung/Erweiterungen
► Wiederverwendbarkeit
 enormes Einsparungspotential für Firmen
-> Dokumentation !
2010-03-09
Entwicklungsprozess
System Requirements Specification
System Design
Hardware Requirements
Specification
Software Requirements
Specification
Hardware Design
Software
Design
Prototyping
Coding
Test
Modul Test
Serie
Software
Integration
Test
Test
System Integration
System Test
2010-03-09
Dokumente
► System
Requirements („Pflichtenheft“)
► System Design Document
 Hardware Design
 Software Design
► Test
Specification
► Test Results
2010-03-09
Fehlerbehebungskosten
100
Man/Hours
1
Syst. Specs
2010-03-09
Syst. Design
SW Specs
SW Design
Coding
Syst. Integ.
Syst. Tests
Operation
Qualitätsmanagement
► in den meisten Firmen vorhanden
► Die acht Grundsätze des Qualitätsmanagements
(ISO9000:2000) :








2010-03-09
Kundenorientierung
Verantwortlichkeit der Führung
Einbeziehung der beteiligten Personen
Prozessorientierter Ansatz
Systemorientierter Managementansatz
Kontinuierliche Verbesserung
Sachbezogener Entscheidungsfindungsansatz
Lieferantenbeziehungen zum gegenseitigen Nutzen
Qualitätsmanagement
► Hauptkapiteln
der ISO9001:
 Vorwort / Allgemeines
 Qualitätsmanagementsystem (allgem. Anforderungen,
dokumentierte Anforderungen, QM-Handbuch, Lenkung
von Dokumenten, Lenkung von Aufzeichnungen)
 Verantwortung der Leitung
 Management von Ressourcen
 Produktrealisierung
 Messung, Analyse und Verbesserung
2010-03-09
Qualitätsmanagement-Prozess
Ständige Verbesserung des
Qualitätsmanagementsystems
Kunden
Management
von Ressourcen
Anforderungen
2010-03-09
Kunden
Verantwortung
der Leitung
Eingabe
Zufriedenheit
Messung, Analyse
und Verbesserungen
Produktrealisierung
Ergebnis
Produkt
QM: Produktrealisierung
► Planung
der Produktrealisierung
► Kundenbezogene Prozesse
► Entwicklung
► Beschaffung
► Produktion und Dienstleistungserbringung
► Lenkung von Überwachungs- und
Messmitteln
2010-03-09
QM: Entwicklung
► Entwicklungsplanung
 Milestones mit angemessener Bewertung, Verifizierung
und Validierung
► Entwicklungseingaben
 Produktanforderungen ermittelt und aufgezeichnet
► Entwicklungsergebnisse
 in einer Form bereitgestellt, die deren Verifizierung ggü.
Entwicklungseingaben ermöglicht
► Entwicklungsbewertung
 systematische Entwicklungsbewertungen gemäß
Entwicklungsplanung
2010-03-09
QM: Entwickung
► Entwicklungsverifizierung
 Entwicklungsergebnisse = Entwicklungsvorgaben?
► Entwicklungsvalidierung
 ist das resultierende Produkt in der Lage, die
Anforderungen für die festgelegte Anwendung zu
erfüllen
► Lenkung
von Entwicklungsänderungen
 Änderungen müssen gekennzeichnet und aufgezeichnet
werden
2010-03-09
Projektanforderungen an
Entwicklung
►
Anfrage
 Machbarkeitsanalyse
 Grobkostenanschätzung
 Grobplanung
►
Durchführung
 Terminplan
 Kosten
 Reporting
►
Ende
 Produktionsüberleitung
 Wiederverwendbarkeit !!!
 Nachvollziehbarkeit !!!
2010-03-09
realisierbar?
was kostet es?
wann fertig?
Projektmanagement Know-How
► Projekt
Struktur Plan (PSP)
► Kritischer Pfad
► Gantt-Diagramm (Balkendiagramm)
► MS-Project
► Kostenerfassung
2010-03-09
Agenda
► Persönliches
► Erfahrungen
/ Aufgabengebiete
► Allgemeine Anforderungen
► Hardware-Entwicklung
► Firmware-Entwicklung
2010-03-09
Hardware-Entwicklung
► aktuelle
Technologien
► Schaltungseingabe / Simulation
► EMV
► Sicherheit
► Layout
► Testbarkeit
2010-03-09
aktuelle Technologien
► Fertigungstechnologie:
 in Europa wenn möglich 100% SMT
 in Asien oft herkömmlich / bedrahtet billiger
► 32
Bit Microcontroller
► ASICs werden durch FPGAs verdrängt
► Ethernet auch in Branchen-Fremden
Bereichen
2010-03-09
Mikrocontroller
► Jährliches
 8 Bit
 16 Bit
 32 Bit
► Key




2010-03-09
Wachstum (2008):
- 5%
0
+ 10 %
Driving Factors:
Automotive Industry
Identification and Security Market
DSP-fähige Controller für Consumer Market
möglichst geringer Stromverbrauch
Marktanteile Mikrocontroller
Anteile weltweit in [%] (Stand 2008)
3
3
6
19
6
9
17
10
12
2010-03-09
15
Intel (8051)
Renesas (z.B. H8)
Freescale (68xx)
PIC
ARM
NEC (z.B. V850)
ST
Atmel (AVR)
Infineon (C166)
Others
Mikrocontroller
► ARM
 immer mehr in Verwendung
 riesige Anzahl von verschiedenen Produkten und Tools
 verwendet in Mobiltelefonen, PDAs, Routern – z.B.
iPod, iPhone, iPad
 von unzähligen Herstellern lizenziert:
69
171
72
2010-03-09
ARM7
ARM9
ARM11
Cortex
253
Mikrocontroller
► MIPS
 verwendet in Cisco Routern, Sony und Nintendo
Spielkonsolen, Fritz!Box, Satelitenreceivern
 z.B. Infineon INCA-IP2 für VoIP Endgeräte
► ColdFire
 abgeleitet von 68000
 verwendet in d-box, Siemens
Nebenstellenanlagen (HiPath) und Novomatic
Spielautomaten
2010-03-09
Microcontroller
► Blackfin
 32 Bit RISC + 16 Bit DSP
 verwendet u.a. in digitalen Foto- und Filmkameras
► PowerPC
 PowerQUICC: für Kommunikationsanwendungen das
Beste am Markt
► 8051
 noch immer sehr weit verbreitet
 vor allem bei Weiterentwicklungen von bestehenden
Produkten
 für Neuentwicklungen immer seltener
2010-03-09
Soft-Cores für FPGAs
► XILINX
 8051, 68HC05, 68HC08, 68HC11, PIC, 68000, 80186,
PowerPC, TMS32025
 Picoblaze / Microblaze
►8
Bit / 32 Bit Controller
► flexibel konfigurierbar
► Altera
 ARM Cortex M1, 8051, PIC, 68HC11, Z80, 68000,
80186, ColdFire
 Nios II
► 32
Bit RISC
► flexibel konfigurierbar
2010-03-09
Field Programmable Gate Array
FPGA
►
►
2010 starten ~110.000 neue Designs weltweit
Hersteller:
 XILINX
 ALTERA
►
VHDL
(Very High Speed Integrated Circuit Hardware Description Language )
 wird bei vielen Firmen ausschließlich verwendet
 Schaltungseingabe immer seltener
►
Design Rules
 Synchrone Designs !!!
► asynchrone
Designs sind nicht reproduzierbar und abhängig von FPGA
Geschwindigkeit
►
Intellectual Properties
 sehr viele Funktionsblöcke / ICs als fertiges Design verfügbar
2010-03-09
VHDL
Beispiel: D-Flipflop (behavioural) synthetisierbar
ENTITY DFlipflop IS
PORT( D,Clk, nResetAsync: IN Bit;
Q: OUT Bit );
END DFlipflop;
ARCHITECTURE Behav OF DFlipflop IS
BEGIN
PROCESS(Clk,nResetAsync)
BEGIN
IF nResetAsync = '0' THEN
Q <= '0';
ELSIF Clk'EVENT AND Clk = '1' THEN
Q <= D;
END IF;
END PROCESS;
END Behav;
2010-03-09
Complex Programmable Logic Device
CPLD
► Hersteller:
 XILINX
 ALTERA
► im
Vergleich zu FPGA
 exakt bestimmbare Durchlaufzeit
 muss nicht bei jedem Start neu geladen werden
 kein externer Speicher
► vor
allem für die Lösung komplexer, paralleler
kombinatorischer AND/OR-Logik
► pro Ein- bzw. Ausgabepins meist nur ein einziges
Flipflop als Register zur Verfügung
2010-03-09
Schaltungseingabe
►
Marktanteile Layout-Systeme:




►
Mentor Graphics: PADS / Expedition (35-40%)
Cadence: Allegro/OrCAD (35-40%)
Zuken: CADSTART (10%)
Altium: Designer (5%)
Bevorzugtes Tool für Schaltungseingabe:
 Mentor Graphics – DxDesigner
 für alle Layoutsysteme geeignet
►
Ergänzende Informationen für Layout:
 geometrisches Aussehen (z.B. Breite der Leiterbahn, Abstand zu
anderen Leiterbahnen)
 elektrische Verhalten (z.B. Verzögerung, Wellenwiderstand,
Übersprechgrenzen, differentielle Leitungen).
2010-03-09
Simulation
► analoge
Simulation
 SPICE (Simulation Program with Integrated Circuit Emphasis)
 PSpice (Cadence)
►Simulation
von Schaltungsteilen
 HyperLynx (Mentor Graphics)
►Simulation
► digitale
des gesamten Layouts
Simulation
 für VHDL basierende Designs
 ModelSim
2010-03-09
Elektromagnetische Verträglichkeit
► Störaussendung
► Störfestigkeit
► wesentlicher
Kostenfaktor, wenn nicht bereits beim
Design berücksichtigt
 Bandbreitenbegrenzung
 lokale Entstörung (meist mit RC Gliedern möglich)
 EMV-gerechtes Platinenlayout (Wellenwiderstand,
Masseflächen)
 fehlertolerante Software
► für
2010-03-09
CE notwendig
Störfestigkeit EN61000-6-1/2
► Gehäuse
 Magnetfeld mit energietechnischer Frequenz
►50/60Hz,
30A/m
 Elektromagnetisches HF-Feld
►80-1000MHz,
10V/m, 80% AM 1kHz
 Entladung statischer Elektrizität
►Kontaktentladung
(±4kV)
►Luftentladung (±8kV)
2010-03-09
Störfestigkeit EN61000-6-1/2
►
Signal- und Steuerleitungen
 Hochfrequenz, asymmetrisch
►
0,15-80MHz, 10V, 80% AM 1kHz
 Schnelle Transienten
►
±1kV, 5/50ns, 5kHz Wiederholfrequenz
 Stoßspannungen unsymmetrisch
►
►
1,2/50µs, ±1kV
Gleichstrom-Netzein- und ausgänge
 Hochfrequenz, asymmetrisch
►
0,15-80MHz, 10V, 80% AM 1kHz
 Schnelle Transienten
►
±2kV, 5/50ns, 5kHz Wiederholfrequenz
 Stoßspannungen unsymmetrisch/symmetrisch
►
2010-03-09
1,2/50µs, ±0,5kV
Störfestigkeit EN61000-6-1/2
►
Wechselstromstrom-Netzein- und ausgänge
 Hochfrequenz, asymmetrisch
►
0,15-80MHz, 10V, 80% AM 1kHz
 Schnelle Transienten
►
±2kV, 5/50ns, 5kHz Wiederholfrequenz
 Stoßspannungen
►
1,2/50µs, ±2kV unsymmetrisch, ±1kV symmetrisch
 Spannungseinbrüche
►
30%, 0,5 Perioden / 60% 5 Perioden
 Spannungsunterbrechungen
►
►
>95%, 250 Perioden
Funktionserdeanschlüsse
 Hochfrequenz, asymmetrisch
►
0,15-80MHz, 10V, 80% AM 1kHz
 Schnelle Transienten
►
2010-03-09
±1kV, 5/50ns, 5kHz Wiederholfrequenz
Störaussendung EN61000-6-3/4
► Gehäuse
 Freifeldmessung oder Absorberkammer
►30
– 1000MHz
► Leitungsgebunde
Störaussendung
 Niederspannungs-WechselspannungsStromversorgungsanschluss
 Telekommunikationsanschluss
 Netzanschluss
►0,15
2010-03-09
– 30MHz
Sicherheit
►
EN 60950 „Low Voltage Directive“
 Sicherheit von Einrichtungen der Informationstechnik
 Verringerung von Gefahren durch:
► elektrischem
Schlag (Spannungen > 60V DC)
► Energie (Verbrennungen, Lichtbögen, Versprühen von Metallpartikel)
► Brand
► Hitze (Verbrennungen, Schwächung der Isolierung)
► mechanischer Art (scharfe Kanten, bewegliche Teile)
► Strahlung
► chemischer Art (Kontakt oder Einatmung)
►
EN 60601
 Medizinische elektrische Geräte
►
für CE notwendig
2010-03-09
Layout
► meist
nicht vom Entwickler gemacht
► aber: Entwickler muss Richtlinien erstellen
und kontrollieren





2010-03-09
Platzierung
EMV
Sicherheit
Mechanik
Verbindungen
Testbarkeit
►
Hardware muss so gebaut sein, dass sie in Produktion kostengünstig
getestet werden kann
 0,80€ / Minute
 1,00€ / Minute
►
In-Circuit-Test
Nicht-Techniker
Techniker
 benötigt Nadeladapter
 sehr teuer in der Herstellung (-> bei großen Stückzahlen)
 Testpunkte im Layout (oft Platzmangel)
►
Boundary Scan Tests
 BSDL (Boundary Scan Description Language)
 JTAG-Standard IEEE 1149.1 definiert Test Access Port (TAP)
►
JTAG als Test-Interface
 zum Debuggen von Microcontrollern
►
JTAG als Programmier-Interface
 zum Programmieren von Flash, CPLD, FPGA
2010-03-09
Agenda
► Persönliches
► Erfahrungen
/ Aufgabengebiete
► Allgemeine Anforderungen
► Hardware-Entwicklung
► Firmware-Entwicklung
2010-03-09
Programmiersprachen
► Assembler
 vor allem bei kleinen Mikrocontrollern (z.B. 8051) für
zeitkritische Dinge notwendig
►C
 99% der Anwendungen
► C++
 meist nur für Geräte mit graphischem Display
 erheblich größerer Speicherbedarf!
 Know-How in objekt-orientierter Programmierung wenig
verbreitet
► JAVA
 in Zukunft auch für embedded Anwendungen
2010-03-09
weitere Anforderungen
► XML
(Extensible Markup Language)
 Standard zur Darstellung / zum Austausch von
Daten
► HTML
 viele Geräte besitzen ein Web-Server für die
Konfiguration und zur Status-Anzeige
► JAVA-Scripts
► Common
2010-03-09
Gateway Interface (CGI)
weitere Anforderungen
► Strukturierte
Programmierung
 minimale strukturelle Komplexität
 angemessene kleine Module
 Zusammenwirken zwischen den Modulen eindeutig
► Defensive
Programmierung
 Anormale Abläufe bzw. Datenwerte aufdecken und
darauf reagieren
► Wiederverwendbarkeit
 Dokumentation
 Libraries erstellen und verwenden
2010-03-09
Entwicklungsumgebungen
► KEIL
 sehr häufig in Verwendung
 der Standard für 8051
 für ARM, C166
► CodeWarrior
 alle möglichen Freescale Produkte
► Hitex
(HiTop)
 8051, C166, ARM
► Wind
2010-03-09
River
Entwicklungsumgebungen
► Eclipse





2010-03-09
in vielen Firmen verwendet
gratis
für Windows und Linux
vor allem für JAVA, aber auch C/C++
unzählige Plug-Ins (Grafik, Subversion, …)
Versionskontrollsysteme
► unerlässlich
bei Projekten mit mehreren
Entwicklern
► hauptsächlich open source Systeme
 CVS (Concurrent Versions System)
 Subversion (SVN) – derzeit Standard
► Proprietäre
Systeme
 Visual Source Safe (VSS) - Microsoft
 Clear Case - Rational
2010-03-09
Build-Systeme
► make
 absolut notwendiges Know-How !
► Script
Sprachen
 ANT (Eclipse)
 Perl
 Python
2010-03-09
embedded Betriebssysteme
►
Marktanteile (Stand 2007)
LINUX frei
11%
7%
41%
30%
11%
LINUX
kostenpflichtig
kommerzielle
Betriebssysteme
eigenes
Betriebssystem
keines
2009: Wind River (VxWorks), der größte Hersteller von
kommerziellen Betriebssystemen ist Marktführer im Bereich
embedded LINUX !
2010-03-09
kommerzielle Betriebssysteme
► bei
Real-Time Anwendungen
► Safety-Standard zertifiziert
► Kommunikations- und Graphik-Pakete
► Produkte:
 VxWorks / Wind River
 Green Hills
 QNX
2010-03-09
embedded LINUX Anforderungen
► Ausgangsbasis
„Board Support Package“ des
Microcontroller-Herstellers
► Device-Driver (Tasten, LEDs, LCD-Displays,
Ein-Ausgänge, ….)
► für Applikations-Entwicklung:
 Threads
 Inter Process Communication (IPC)
►Messaging,
2010-03-09
Shared Memory, Semaphores, Pipes
Threads
►
Beispiel:
 Modul wartet auf mehrere
Ereignisse gleichzeitig
► einer
Eingabe über die
Tastatur
► dem Empfang einer
Message von einem
anderen Modul
► dem Empfang eines Paketes
über das Netzwerk
► auf ein periodisches
Timeout
Main
...
sleep(1)
...
Keyboard-Thread
...
select()
...
Message-Thread
...
msgrsv()
...
TCP-Thread
...
listen()
...
2010-03-09
Applikations-Know-How
► Kommunikationsprotokolle
 IP, UDP, TCP, Telnet, FTP, TFTP, ……
► Schnittstellen
 Ethernet, USB, Seriell
2010-03-09
Fragen, Kommentare?
2010-03-09
[email protected]