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]