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]