Eingebettete Systeme (VAK 18.142) me ste Sy Inf orm ati k Tec h nis ch e Prof. Dr.-Ing. D.P.F. Möller SS 2005 Leitung: Prof. Dr.-Ing. D.P.F. Möller Embedded Systems (EBS) 4. Embedded PCs 4.1 Introduction 4.2 Embedded Processor 4.3 Componentware 4.4 Embedded On-Time Programmable Controller 4.5 Examples: 4.5.1 Embedded Java based PC 4.5.2 Embedded Image Processing 4.1 Introduction PCs are available as • desktop PC that runs the office software packages, • as laptop PC for running spreadsheets etc. while being mobile or on the move, • as home PC for internet access and wording documents. are designed to perform in the overall office environment Commodity PC products are totally unsuitable to run in industrial environments such as process control, which often needs a much more broader temperature range to be able to be operated, or to control real time applications, etc. For the latter mentioned application one need so called industrial PC or embedded PC meaning a computer which appears like a PC to the software, but which is properly engineered to be buried deep inside the equipment and to withstand the rigors of industrial environments. Industrial PCs are computers which had been designed to a variety of industries for mission critical applications, which can be hard real time applications as well as advanced operating temperature range. 4.1 Introduction • • • PC can be built up and sized as micro controller board PC can be realized as PC/104 Standard, which with the user immediately can start his software development Broad spectrum of PC104 products available; CPUs, I/O-cards, communication modules, etc. 4.1 Introduction The importance of time-to-market make it possible that the so called PC/104 becomes the industrial standard PC, which was established in February 1992 in the U.S.A. by 12 companies forming the first PC/104 Consortium. From the PC/104 Technology headquarters web page (www.pc104.org) – history button – it can be seen that the consortium, which is located in San Francisco, California, has now grown to over 160 companies worldwide and has had a tremendous, positive effect on the embedded computer market. The initial release of the PC/104 specification in March of 1992 was an open design offering the power and flexibility of an IBM compatible personal computer in a size ideally suited for embedding. Simple and smart in design the PC/104 technology that has emerged today bridges the success of the past with the promises of future innovations. 4.1 Introduction ISA bus, established by the IEEE P996 specification, is fully supported by PC/104 Technology almost a decade after it was established. When demand for a PCI bus emerged, PC/104-Plus technology was added in February of 1997 by the PC/104 Consortium as an addition to the technology, not a replacement of any existing technology. This event underscored the fact that the PC/104 Consortium will continue to support any technology of the past while developing new solutions to demands for improved performance in the future. Longevity is one of the hallmarks of the PC/104 Technology, proven again by the cross platform compatibility of the technology and the devices developed from its core design. . 4.1 Introduction Today the PC/104 offers a variety of • • • • • • • • • • • Analog Input Option Analog Output Option Digital I/O Ethernet Option On-board Memory PC/104 Interface Processor Cores Real Time Clock Serial Ports Watchdog Timer etc., which had been specified in the PC/104 Specification, Version 2.4, and the PC/104-Plus Specification Version 1.2. 4.1 Introduction The industry standard PC/104 is shown as a standard assembly. . 4.1 Introduction Over the past decade, the PC architecture has become an accepted platform for far more than desktop applications. On this road embedded PC applications with the computing power of standard processors had been used as controllers within laboratory instruments, communications devices, avionic and automotive devices, medical equipment, etc. By standardizing hardware and software around the broadly supported PC/104 architecture, embedded system designers can substantially reduce development costs, risks, and time. This means faster time-tomarket and the ability to hit critical market windows with timely product introductions in All-In-One single board embedded computer conforming the PC/104 standard. Another important advantage of using the PC/104 standard is that its hardware and software components are widely available. These components are also significantly more economical than traditional non-PC bus architectures such as STD, VME, and Multibus, which results in lower product costs for embedded PC applications. 4.1 Introduction For these reasons, engineers that embed microcomputers as controllers within their products seek ways to reap the benefits of using the PC/104 architecture. However, the standard PC/104 bus form-factor (12.4" x 4.8") and its associated card cages and back planes are too bulky (and expensive) for most embedded control applications. The only practical way to embed the PC/104 architecture in space and power sensitive applications has been to design a PC - chip-by-chip – directly into the product. But this runs counter to the growing trend away from "reinventing the wheel." A need therefore arose for a more compact implementation of the PC bus, satisfying the reduced space and power constraints of embedded control applications. Yet these goals had to be realized without sacrificing full hardware and software compatibility with the popular PC bus standard. This would allow the PC's hardware, software, development tools, and system design knowledge to be fully leveraged. In other words, the PC bus had to be standardized while capturing all of the benefits the design engineer wanted from the PC bus. 4.1 Introduction PC/104 was developed in response to this need. It offers full architecture, hardware, and software compatibility with the PC bus, but in ultracompact (3.6" x 3.8") stackable modules. PC/104 is therefore ideally suited to the unique requirements of embedded control applications – including full standardization by an international group of over 160 companies who manufacture products based on the PC/104 standard –. Hence an embedded PC is dedicated to a specific task, based on an PC/104 core, but it feature set may cover a much broader range than a desktop PC. Due to display devices, input devices, data storage, and communication ports the capabilities may range from not included, on through standard features, to special embedded specific features like flash memory rather than disk drives. 4.1 Introduction Embedded PC’s are usually realized based on one or more microelectronic plug-in cards. There is a large selection of embedded PC components from several companies available which fit for the variety of missions in industrial applications. Selecting the respective componentware for the specific application the following criterion may be used: • • • • • • • • • • • • Architecture Availability BIOS Compatibility Design Electricity costs Environment Integration-friendly Interrupt PC-card integration Product line Resistance to interference 4.1 Introduction • • • • • • • • • Robustness Safety Service Size Software support System extensions Temperature range Time to market Etc. 4.1 Introduction Designing an embedded PC the • • • Specific constraints of the target environment Physical size Required feature set come to the top of the design task when looking into solutions. For many systems utilizing embedded PCs, the software and BIOS must be reentrant and must provide real time response. Interrupt latency becomes an issue in embedded PC based control. The situation on the market is such that embedded PCs in the various versions fit the industrial needs, offered by the several manufacturers with CE certification and long-term delivery guarantees. The functions necessary for the application may be distributed on the embedded PC components (slaves) and embedded PC boards (master). The master card must be planned mechanically and according to the electrical supply, such that plug-in slaves can be introduced at least up to the maximal number planned. 4.1 Introduction The following criterion may be helpful for defining the functionality of the application specific master card: • • • Application functionality Type and number of processor interfaces Upgrade possibilities Upgrading the inputs and outputs can be realized modularly, for example with a sensor-actor bus, e.g. the CANopen, ASI, SDS, etc. 4.1 Introduction Standard PC hardware consists of embedded functions and bus systems. PCI and ISA busses are lead outside over standardized mechanical plugs and serve the system expansion. A host bus in the role of an internal high-speed bus connects the processor to the storage and peripheral functions. The components for constructing a working embedded PC are: • BIOS (flash) • Cache (SRAM) • Graphic controller • Host PCI bridge – so called northbridge – with integrated DRAM controller and cache controller • I/O chip with an integrated floppy-disk controller, a real time clock, infrared interfaces (IRDA), parallel and serial interfaces and keyboard and mouse interfaces • Main memory (DRAM) • PCI ISA bridge – so called southbridge – with integrated IDE controller and USB-host controller • Processor with an integrated floating-point adder and cache. 4.2 Embedded Prozessor The following are optional · audio functions, · Ethernet interface, · SCSI controller, · system monitoring and security functions. D.P.F.Möller:Rechnerstrukturen, Kap. 9, Springer Verlag, ISBN 3-540-67838-4 4.1 Introduction The characteristics of embedded PCs are as following: • • • • • • Compact casing and small cooling units due to less power loss, Compact construction, the embedded PC is integrated into certain functional units, e.g. display panels, gateways, controller, etc., Expanded temperature areas possible, applications can also be realized in environments with extreme temperatures, High computing performance to realize multi-media applications, e.g. DVD, MPEG, live-video, internet browser/server, Independent of the operating system, no DOS-specific silicon disk solutions since Flash file systems are usually not DOS-specific, slight power consumption for the battery-run parts resulting from power management or Cool Runner technology, System functions all on one board. 4.1 Strukturkonzept eingebetteter PCs Heute eingesetzte bzw. zu entwickelnde Komponenten für Steuerungen im Maschinen- und Anlagenbau bzw. in der Verfahrenstechnik genügen heterogenen eingebetteten Systemen, die entsprechende Projektierung erfordern: • Vorstudie (Machbarkeitsstudie): Grobes Pflichtenheft&Businessplan • Detailstudie: Detailpflichtenheft, Komponenten-/Technologien • Funktionsmusterbau und Prüfung auf Maschine bzw. Anlage • Prototypen zwecks Typentest und Zertifizierungen • Serienfertigung auf Basis ISO-9002 Produktionsunterlagen • Markteinführung 4.1 Introduction Often in embedded system projects the cost and time influencing question has to be answered whether it make sense to design (make) an embedded PC or to buy an embedded PC. Designing an embedded PC end up with a 100% exact fit for the system being considered. Moreover, the designer build up embedded PC design expertise for the next project, which includes embedded BIOS, operating system (OS), software, as well as PC architecture and hardware. The development cycle is considerably longer than either purchasing a solution, or working with a partner who has the expertise already. While the designer have the control of the costs he is also responsible for cost overruns. Buying an embedded PC end up with need of embedded PC knowledge, while working at the application level rather than going in-depth into the embedded BIOS. But the purchased systems size, shape and other physical characteristics are fixed, and there is little ability to influence the costs of the system. Partnering with an embedded computing systems company to develop the exact solution can be the best way to go, when there is no need to build up specific embedded PC knowledge in house. Moreover, through partnering, the costs can be influenced. Nonrecurring engineering cost (NRE), which are the one-time monetary cost of designing the system, can be charged up front, or spread across a number of purchases, or other arrangements can be made. 4.1 Strukturkonzept eingebetteter PCs Im industriellen Bereich finden sich vielfältige Aufgabenstellungen die mittels PC gelöst werden können. Damit PC Technologie auch in „rauher“ Industrieumgebung eingesetzt werden kann, muss sie zusätzlich zu den üblichen Anforderungen bestimmte Kriterien erfüllen: • Embedded PC als Steuerung einer vibrierenden Maschine • Embedded PC als Meßsystem in einem Fahrzeug ⇒ Robustheit gegen mechanische Beanspruchungen ⇒ Aufbau als 19´´ Europakartensystem mit indirekten Steckverbindungen, d.h. keine ISA/-AT oder PCI Erweiterungskarten ⇒ Einsatz erschütterungsfester 2,5´´ Festplatten wie im Laptop ⇒ PCMCIA-Karten anstelle der staubanfälligen Floppy-K+Laufwerke ⇒ Flashdisk bei hohen mechanischen Beanspruchungen 4.1 Strukturkonzept eingebetteter PCs Auswahl des geeigneten Bussystems bei Embedded PC Im Gegensatz zu Einplatinencomputern ist beim Embedded PC, der aus mehreren Systemkomponenten besteht, die Auswahl des Bussystems eine weitere wichtiger Größe: • Standard-ISA-Buskarten • ISA96 bzw. AT96-Bus • PC/104 bzw. PC104 Plus • Compact PCI • Industrial PCI • VMEbus 4.1 Strukturkonzept eingebetteter PCs Standard-ISA-Buskarten • All-in-One-Karten im ISA Busformat • mechanische Beanspruchung nicht so stark • vergleichbar hohe Prozessorleistung zu extrem günstigen Preis • passive Busplatinen • ursprünglich für Desktop Markt entwickelt • 96 polige DIN-41612 konforme VGA-Steckerleiste 4.1 Strukturkonzept eingebetteter PCs ISA96- und AT96-Bus • entspricht elektrisch dem ISA-Bus • 96 polige DIN-41612 konforme VGA-Steckerleiste • beim AT96-Bus liegen auf der mittleren Steckerleiste (Reihe b) einige Signale anders • ISA 96- und AT96 Bus haben sich im Bereich von Europakarten PCs im Markt etabliert • Wird von mehr als 30 Herstellern unterstützt • Standardisierung einheitlicher Pinbelegung wurde versäumt ⇒zwei verschiedene aber gleichwertige Bussysteme 4.1 Strukturkonzept eingebetteter PCs PC/104- und PC/104+-Bus • kompakter PC-Bus-Formfaktor (12.4*4.8´´) und dazugehörende Kartenhalter zu groß für embedded PC Anwendungen ⇒Abmessunghen auf 3.5*3.8´´ (90*96mm) reduziert • Stecker- und Buchsenverbindungen • Zuverlässige 64- und 40-polige Stecker ersetzen die PCKartenverbindung • Reduziert Bustreiberleistung • Leitungsbedarf (1 bis 2 W) und minimierte Komponentenzahl ⇒Anwendungen, bei denen geringer Stromverbrauch wichtig ist, z.B. medizinische Diagnose- und Therapiesysteme, Maschinensteuerungen in der Industrieautomatisierung sowie bei Consumer Anwendungen und intelligenten Verkaufs- und Service-Automaten. 4.1 Strukturkonzept eingebetteter PCs PC/104- und PC/104+-Bus • durch Vielzahl verfügbarer PC/104 Module können komplexe Embedded PC Anwendungen bei kleinen und mittleren Stückzahlen sehr einfach durch Zusammenstecken der passenden Module realisiert werden. • für den Anwender reduziert sich der Entwicklungsaufwand auf die Mechanik und das Überspielen der Software, wodurch die Systeme kostengünstig aufgebaut werden können. 4.1 Strukturkonzept eingebetteter PCs CompactPCI-Bus • gesteigerte Rechenleistung im Desktop Bereich resultierte im PCIBus (Peripheral Components Interconnect) • 19´´ Technik mit 3HE/6HE Kartenformat im Rahmen eines weltweiten Standards • synchroner 32 Bit oder 54 Bit Bus, prozessorunabhängig • Betrieb mit 5V, 3.3 V oder gemischt • gleichzeitiger Betrieb von 32 Bit und 64-Bit-Einsteckkarten • Clockraten von 25 MHz bis 33 Mhz • Übertragungsraten 132 Mbyte/s, bei 64 Bit 264 Mbyte/s und 33 MHz • Multimaster Betrieb • automatische Konfiguration von PCI-Karten beim Systemstart 4.1 Strukturkonzept eingebetteter PCs PCI Local Bus • prozessorunabhängiger Busstandard, 1992 von Intel veröffentlicht • Hochgeschwindigkeits-Bussystem zur Verbindung breitbandiger Peripherie mit intelligenten Controllern und Prozessor-/SpeicherSubsystemen • Busoptimierung erlaubt gleichzeitig Operationen auf dem Prozessor-/Speicherbus und dem PCI Local Bus • 32 bit und 64 bit, werden beide von Compact PCI unterstützt • Aufwärts- und Abwärtskompatibilität, d.h. 32 Bit Peripherie kann sich neben 64 bit Peripherie auf demselben PCI Local Bus befinden 4.1 Strukturkonzept eingebetteter PCs Generisches PCI-Local Bus System 4.1 Strukturkonzept eingebetteter PCs Vorteile Compact PCI • Standard PCI Plug&Play • SW Kompatibilität auf Firmware, Treiber- und Betriebssystem-ebene • Hochleistungsfähiger Input/Output • Prozessorunabhängigkeit • Langzeitverfügbarkeit von Bauteilen • Viele Zulieferer • Wartungs- und Instandhaltungsfreundlichkeit • Dichte und flexible I/O-Lösungen • Komplexe Systemkonfigurationen (z.B. VME Bus/CompactPCIHybride) • Exzellente thermische, Stoß- und Vibrations Charakteristik • hochwertige Signalchartakteritik • EMI Schutz auf Board und Chassis Ebene • Hebelmechanik zum einfachen und sicheren Einsetzen und Herausnehmen von Boards • Benutzerfreundliche Tasten, mit denen bestimmte Slots für spezielle Aufgaben anpassbar sind 4.1 Strukturkonzept eingebetteter PCs Funktionen für Steuerungen im Maschinen- und Anlagenbau bzw. in der Verfahrenstechnik auf die Komponenten: • Embedded PC-Komponenten • Anwendungsspezifische Trägerkarte aufgeteilt. Trägerkarte mechanisch von Stromversorgung her geplant, dass sich steckbare Embedded PC-Module bis zu einer vorgegebenen maximalen Anzahleinsetzen lassen, z.B. • Rechner-/Speichermodul • Ethernet-Kommunikationsmodul • CAN-Kommunikationsmodul • Reserve für Erweiterungen 4.1 Strukturkonzept eingebetteter PCs Aufteilung der Funktionen in Embedded PC-Komponenten und anwendungsspezifische Trägerkarte 4.1 Strukturkonzept eingebetteter PCs Bezüglich Auswahl industrietauglicher Embedded-PC-Komponenten steht große Vielfalt zur Verfügung; nachfolgende Eigenschaften als Hauptkriterien: • Architektur und Bauform • Produktlinie, Kompatibilität • Verfügbarkeit • Integrationsfreundlichkeit • BIOS-Entwurf, Softwareunterstützung • Systemerweiterungen • PC-Card Einbindung • Stromverbrauch • Temperaturbereich • Robustheit, Störsicherheit • Service • Time to Market • Zukunftsicherheit 4.1 Strukturkonzept eingebetteter PCs Hinsichtlich der PC-Architektur für Embedded-PC-Anwendungen gilt dass Funktionsfähigkeit kompatibel ist, wobei Grad der Kompatibilität abzuklären ist. Damit reduzieren sich Entscheidungskriterien bei Embedded-PC-Komponenten auf: • Bauform • Steckertechnologie • Zertifizierungen, EMV, CE, etc. • Langfristige Lieferbarkeit; ggf. 2nd Source • Kosten • Qualität des Lieferanten; ggf. 2nd Source 4.1 Strukturkonzept eingebetteter PCs Bei industriellen Anwendungen muss Steuerung bezüglich EMV-Eigenschaften wie Einstrahlung, Abstrahlung, Störfestigkeit etc. die EURichtlinien erfüllen. Damit ist es notwendig, die Gesamtsteuerung, d.h. Trägerkarte (Master) mit dem Embedded PC-Komponenten (Slaves) durch EMV-Labor prüfen zu lassen, um die Konformität gemäß der CEZertifikation nachzuweisen. Sind verwendete Komponenten CE-Zertifiziert ist EMV-Test in der Regel ohne großen Aufwand durchführbar. Bezüglich Auswahl der Steuerungskomponenten ist zu unterscheiden zwischen ausschließlichen Einsatz von Standardkomponenten oder optimierten Entwicklung eigener Steuerungskomponenten. Beim ausschließlichen Einsatz von Standardkomponenten können, bei sorgfältiger Auswahl der Komponenten, Produktrisiken, größtenteils vermieden werden. Damit ergibt sich als Hauptvorteil ein minimales Produktrisiko, als Hauptnachteil Kompromisse bzgl. Funktionalität, Kosten, Installationstechnik, etc. 4.1 Strukturkonzept eingebetteter PCs Situation am Markt stellt sich so dar, dass Embedded PCs in insudtrietauglicher Ausführung von unterschiedlichen Herstellern mit CE-Zertifikation und langfristiger Liefergarantie angeboten werden. Notwendige Funktionen für Steuerung auf Embedded-PC-Komponenten (Slaves) und die Embedded-PC-Trägerkarte(Master) aufteilen. Die Masterkarte ist mechanisch und von Stromversorgung her so zu planen, dass sich steckbare Slaves bis zur vorgesehenen Maximalzahl einführen lassen. Bei Definition der Funktionalität der anwendungsspezifischen Masterkarte sind folgende Kriterien zu berücksichtigen: • Art und Anzahl der Prozessorschnittstellen • Exakte Funktionalität der Anwendung • Erweiterungsmöglichkeiten E/A-Erweiterungen modular z.B. über offenen Sensor/Aktor-Bus wie z.B. CANopen, ASI, SDS, etc. realisieren 4.2 Embedded Prozessor Hardware Standard PC-Architektur PC besteht aus wenigen integrierten Funktionen und Bussystemen. PCI& ISA-Bus über standardisierte Steckerleisten nach außen geführt, für Systemerweiterungen; Host-Bus als interner Hochgeschwindigkeitsbus für Prozessor mit Speicher und Peripheriefunktionen Integrierte Bausteine zum Aufbau PC Hauptplatine: • Prozessor mit integrierter Floating-Point-Recheneinheit und Cache • Host PCI-Brücke (Northbridge) mit integriertem DRAM Controller und Cache Controller • PCI-ISA-Brücke (Southbridge) mit integriertem IDE-Controller, USB-Host Controller • I/O-Chip mit integrierten Floppy-Disk Controller, Real Time Clock, Infra-rot Schnittstelle, paralleler und serieller Schnittstellen, Keyboard und Mausschnittstelle • Graphik-Controller • Hauptspeicher (DRAM) • Cache (SRAM) • BIOS (Flash) 4.2 Embedded Prozessor Low Cost Embedded PC-Architecture PC below 1k$ due to specific system architecture and high integration technology ⇒ (Media GX Embedded Processor Kernel) 4.2 Embedded Prozessor Media GX Embedded Prozessor Kernel enthält: • Integrierte Floting-Point-Unit • Integrierter Cache • DRAM Controller • Graphik Controller • PCI Controller • PSI-ISA Brücke (Southbridge) mit integriertem DIE-Controller, USB-Host Controller, Audio-Funktion • I/O-Chip mit integriertem Floppy-Disk Controller, Real-Time Clock, Infra-rot Schnittstelle, paralleler und serieller Schnittstelle, Keyboard- und Mausschnittstelle Bausteinanzahl (ohne Speicher) von 6 bei Standard PC auf 3 bei Embedded PC reduziert. 4.2 Embedded Prozessor Vorteile Integration PCI-und DRAM-Controller: • Host-Bus transparent für Systemdesigner, befindet sich auf dem Chip • CPU kann mit jedem Systemtakt auf externen Speicher zugreifen, damit kann SRAM Cache (teuer) entfallen ohne Beeinträchtigung der Leitungsfähigkeit • Integrierter Graphik-Controller macht Bildspeicher überflüssig. Funktion wird vom Hauptspeicher übernommen • Kostengünstiges 4-Lagen-Board wg. Wegfall Host-Bus und wenig Chips • Geringe Leistungsaufnahme wg. Hoher Integration, kleineres kosten-günstigeres Netzteil • Mit CMOS-Prozessen mit Strukturbreiten von 0,18µm lassen sich kostengünstig „Single-Chip-PCs“ herstellen 4.2 Embedded Prozessor Embedded System-on-a-Chip-PC-Architecture Analoge & digitale HL-technologien ⇒ Mixed-Signal HL 4.2 Embedded Prozessor Single-Chip-PC-Architektur System-on-a-chip-Produkte benötigten analoge und digitale Halbleitertechnologien, sog. Mixed-Signal-Technologie. Die kostengünstige Massenfertigung eines Embedded PC als System-on-a-Chip erfordert modernste Halbleiterprozesses (CMOS 0,18µm), ausgereifte Chipentwicklungswerkzeuge und Fertigungsstätten, die dem neuesten Stand der Technik entsprechen. Im Zuge der fortschreitenden Miniaturisierung werden immer mehr Funktionen mit auf der Zentralbaugruppe untergebracht wie z.B. Grafikfunktionen, Silicon Disks, Ethernetanschlüsse, etc. 4.2 Embedded Prozessor Eigenschaften Embedded PC: • Hohe Rechenleistung um auch multimedial Anwendungen realisieren zu können( DVD, MPEG, Live-Video, InternetBrowser/Server) • Geringe Stromaufnahme, ggf. für Batteriebetrieb • Geringe Verlustleistung; kompakte Gehäuse und kleine Kühlkörper • All-In-One, d.h. sämtliche Gerätefunktionen auf einem Board • Kompakter Aufbau, d.h. Integration der Baugruppe in bestehende Funktionseinheiten, z.B. Display-Panels, Gateways, Controller, etc. • Betriebssystem unabhängig, d.h. keine Verwendung DOS spezifischer Silicon Disk-Lösungen, da Flash-Filesysteme in der Regel DOS spezifisch sind • Erweiterter Temperaturbereich um auch Anwendungen im Bereich extremer Umgebungstemperatur realisieren zu können 4.3 Componentware System-on-Chip ASIC • CPU 5ST86 (66 MHZ oder 133 MHz) • Floating-Point Unit • Clock Generatorr mit PLL • 64 Bit breites DRAM-Interface • PCI Northbridge • EIDE-Interface • Power Management Durch Hinzufügen I/O-Controller für Keyboard-IF, RealtimeClock, COM1, COM2, LPT mit EPP/EPC, Floppy-Disk-IF, FlashBIOS, DRAMs, SiliconDisk stehen sämtliche Grundfunktionen eines PCI basierten Embedded PC, auf engstem Raum, zur Verfügung 4.3 Componentware System-on-Chip ASIC PC/104 4.4 Embedded On-Time Programmable Controller Als On-Chip-Speicher wird RAM, maskenprogrammierbares ROM, EPROM und EEPROM verwendet. EEPROM als kostengünstiger FlashSpeicher, allerdings nur in großen Blöcken löschbar. µC typischerweise im Plastikgehäuse ohne Fenster angeboten, aus EPROM wird OTP (On-Time Programmable Baustein) -> ROM/OTP 4.5 Beispiele Embedded PC 4.5.1 Embedded PC auf Java Basis Bei Embedded Systems bislang hardwarenahe Software-Entwicklung. Ursache hierfür strikte Kostenbeschränkungen und zeitkritische Abläufe. Embedded-Systems für objektorientierte Programmierung ideal: • sind modular aufgebaut • einzelne Baugruppenrealisieren haben bestimmte Funktionen • haben in vielen Fällen eigenen Zustand • haben definierte Schnittstellen Baugruppen durch entsprechende SW-Module (Objekte) repräsentiert, damit ergibt sich SW-System, das ,analog zu HW-System, zusammengesteckt werden kann. 4.5 Beispiele Embedded PC 4.5.1 Embedded PC auf Java Basis Baugruppen in verschiedenen Geräten eingesetzt ⇒ entsprechende SWModule können bei Geräteprogrammierung wiederverwendet werden; bei unterschiedlichen Versionen SW-Modul für gemeinsame Funktionalität erstellen ⇒ mehrfache Programmierung identischer Programmteile wird vermieden; Java bildet dafür ideale Plattform. Java-Quellprogramm durch Java-Compiler in Java-Bytecode übersetzt, auf jeder Java-Plattform direkt ausführbar. Werden Module einer JavaAnwendung zur Ausführungszeit dynamisch auf Plattform geladen wird Bytecode auf Korrektheit überprüft. Zusätzliche Funktionen stehen in Form von Klassenbibliotheken zur Verfügung und werden nach Bedarf dazugeladen. Bytecode wird entweder von virtueller Maschine interpretiert oder zur Ausführungszeit in Maschinensprache übersetzt. Interpreter und Funktionen der Klassenbibliotheken bauen auf Mechanismus eines Laufzeitsystems und eines darunter liegenden Betriebssystems auf – die virtuelle Maschine – kann auch im Betriebssystem oder der HW selbst realisiert werden. 4.5 Beispiele Embedded PC 4.5.1 Embedded PC auf Java Basis Im embedded Bereich wurde bislang vor allem sehr hardwarenahe SW Entwicklung betrieben. Ursache hierfür sind • strikte Kostenbeschränkungen, die keine mächtigen, ressourcenaufwendigen SW-Lösungen erlauben • Zeitkritische Abläufe, für die mit den bisherigen OO SW Systemen nicht die erforderlichen Garantien erbracht werden können • Umfang von EBS SW bislang noch so überschaubar, dass traditionelle SW Entwurfsparadigmen und der Einsatz hardwarenaher Programmiersprachen bzw. Assemblerprogrammierung möglcih waren • leistungsfähigere und billigere HW erlaubt Einsatz prozessorgestützter Steuerungen in neuen Anwendungsgebieten und gleichzeitig auch die Umsetzung wesentlich komplexerer SW Lösungen bei vertretbaren HW Kosten • von ihrer Struktur her sind die meisten EBS für eine OO Programmierung ideal 4.5 Beispiele Embedded PC Embedded Java-PC besteht aus • Lademechanismus für Klassen, • Klassenbibliotheken, die API-Menge bereitstellen, • virtueller Maschine, die Java Bytecode ausführt 4.5 Beispiele Embedded PC • • • VM wird als existierendes Betriebssystem aufgesetzt bzw. in einem WWW-Browser integriert VM läuft auf Standard µP ohne darunterliegendes Betriebssystem. Alle vom Betriebssystem erbrachten Dienste werden in Java realisiert. Eine Treiber API stelt die Schnittstelle zur HW zur Verfügung 4.5 Beispiele Embedded PC Java Application Programming Interface (API) • Java Base API umfasst Schnittstellen des Sprachkerns (java.lang), häufig benötigte Hilfsklassen (java.util), Schnittstellen zur Grafikprogrammierung (java.awt), Dateisystem- (java.io) und Netzwerkunterstützung (java.net), Schnittstellen zur Applet-Programmierung -SW-Module die über WWW-Seiten geladen werden können- (java.applet); Schnittstellen für 2D-Grafik, Audio-Anbindung, Bearbeitung MMDaten, 2D-Animation, DB-Anbindung, Sicherheitsmechanismen • Java Embedded API Schnittselle für EBS, bislang nicht standardisiert, Teilmenge Java Base API, auf Sprachkern (java.lang) und einige Hilfsklassen (java.util) beschränkt • Java Extension API standardisierte Schnittstelle die nicht von jeder Java-Plattform implementiert werden muss; Unterstützung 3D-Grafik, Video- und MDI-Anbindung, Gruppenkommunikation, Telephonie, Internet-, Intranet-Server-Funktionen 4.5 Beispiele Embedded PC Implementierung Java Application Programming Interface (API) 4.5 Beispiele Embedded PC Architektur von Java-Plattformen (1)(2)(3) virtuelle Java-Maschine wird auf existierendes Betriebssystem (1)(2) bzw. in einen WWW-Browser integriert (3) (4) virtuelle Maschine läuft auf Standard µP ohne darunter liegendes Betriebssystem; vom Betriebssystem erbrachten Dienste werden in Java realisiert; Treiber API stellt Schnittstelle zu HW zur Verfügung (5) virtuelle Maschine wird direkt vom µP unterstützt; picoJava für die Embedded Plattform, microJava und ultraJava für Basis-Plattform Varianten (4) und (5) für Einsatz im Automatisierungs- und Embed ded-Bereich interessant, damit können kleine, hardwarenahe Plattformen realisiert werden. Kleinste Variante JavaChip unter 50 $. Realisierung in HW führt zu besserer Performance bei der Ausführung von Bytecode 4.5 Beispiele Embedded PC 8-Bit-Mikrocontroller mit A/D-Wandler für Embedded Anwendungen In M2CMOS Technologie hergestellter 8-Bit-Mikrocontroller aus der COP8-Familie, COP8ACC, im CCM Verfahren entworfen. CCM steht für Configurable Controller Methodology, erlaubt schnellen und zuverlässigen Schaltungsentwurf neuer Mikrocontroller-Derivate, auf Basis einer qualifizierten und verifizierten Megazellen-Bibliothek. 4.5 Beispiele Embedded PC 4.5 Beispiele Embedded PC COP8ACC: modifizierte Harvard-Architektur, erlaubt, Daten zwischen Programm- und Datenspeicher zu transferieren. Schnellstmögliche Befehlszykluszeit liegt bei 1µs. Ca. 80% der Befehle benötigen nur ein Byte und einen Befehlszyklus, was den Mikrocontroller für Embedded Anwendungen geeignet macht, in denen auch ein schneller, hochauflösender und preiswerter A/D-Wandler benötigt wird. COP8ACC unterstützt 8 Interrupt Vektoren und verfügt über 2 indirekte 8-Bit-Datenspeicher Adressregister. 4.5 Beispiele Embedded PC COP8ACC verfügt über die Zeitgeber T0 und T1. Der freilaufende 16-Bit-Timer T0 unterstützt programmierbare Überlauperioden von 4-, 8-, 16-, 32-, und 64K-Befehlszyklen. Ein Überlauf der z.B. durch einen Interrupt ausgelöst werden kann, oder durch setzen eines Statusbit, kann per Software abgefragt werden. T0 wird auch für den IDLE-Stromsparmodus benutzt, um den Mikrocontroller nach der vorprogrammierter Zeitperiode wieder zu aktivieren. Der programmierbare 16-Bit-Multifunktionszeitgeber T1 mit den beiden 16-Bit ”Autoreload/Capture”-Registern unterstützt drei verschiedene Funktionsmodi: • Prozessorunabhängige Pulsweitenmodulation • Ereigniszähler mit programmierbarer Flanke • Externe Frequenzmessung oder Zeitmessung mit zwei unabhängigen Eingängen und programmierbaren Flanken. 4.5 Beispiele Embedded PC Darüber hinaus verfügt COP8ACC über 4 Multi-Input-Wake-Up-(MIWU) Ein-/Ausgänge durch die der Mikrocontroller, durch externe Ereignisse, aus den HALT- und IDLE-Stromsparmodi aktiviert werden kann, z.B. durch Drücken einer beliebigen Taste in einer mit den MIWU-Pins angeordneten Tastaturmatrix. Die Polarität des Eingangssignals ist programmierbar, ferner kann jedem MIWU-Signal ein programmierbarer, externer Interrupt zugeordnet werden. Zu den integrierten Peripheriefunktionen des COP8ACC gehört auch eine serielle, SPI-kompatible 3-Draht-Schnittstelle, mit der es problemlos möglich ist, externe Peripherie an den Mikrocontroller anzubinden. Die Schnittstelle unterstützt Datenraten bis zu 5 Mbit/s. Ferner hat der COP8ACC einen Programmspeicher von 4096 Byte ROM und einen 128 Byte großen RAM-Datenspeicher. 4.5 Beispiele Embedded PC Die Dual-Port-Ausgänge des COP8ACC können bis zu 15 mA nach Masse schalten; sie eignen sich zur Direktansteuerung von LEDs und Triacs, es können auch mehrere Ausgänge parallel geschaltet werden um höhere Ströme zu erzielen. Die Ein-/Ausgänge sind individuell softwarekonfigurierbar, d.h. jeder Pin kann entweder als weak-pullup Eingang, Hochimpedanzeingang, push-pull 1- oder push pull 0-Ausgang programmiert werden. Der Pinpegel kann unabhängig von der programmierten Konfiguration zurückgelesen werden. Schmitt-Trigger-Eingänge an den Ports G und L erhöhen die zuverlässige Signalerkennung auch in störstrahlungsreicher Umgebung. Sicherheit und Zuverlässigkeit kommt bei Embedded Anwendungen eine besondere Bedeutung zu, weshalb diese Punkte nachfolgend für den COP8ACC näher untersucht werden. 4.5 Beispiele Embedded PC CO8ACC verfügt über nicht maskierbaren Software-Task-Interrupt. Damit können abnorme Betriebszustände, z.B. Zugriff auf ungenutzten Programmspeicher, Zugriff auf nicht implementierte RAM-Adressen, Over Push/Pop des Stackpointers, die z.B. durch Störeinstrahlungen oder Netzspannungseinbrüche verursacht sind, unterbunden werden. Watchdog des COP8ACC wird nicht nur, wie bei den meisten Mikrocontroller-Implementierungen üblich, durch nicht erfolgte watchdog services innerhalb einer vorgegebenen maximalen Zeitspanne getriggert, sondern auch bei zu häufig vorkommenden watchdog services. Dadurch wird sichergestellt, dass z.B. Endlosschleifen, die einen fortwährenden watchdog service durchführen, erkant werden. Der implementierte Clock Monitor bringt den Mikrocontroller in einen definierten Reset-Zustand, sobald die Oszillatorfrequenz unter einen Minimalwert abfällt. 4.5 Beispiele Embedded PC Die modifizierte Harvard-Architektur erlaubt es die ProgrammspeicherPrüfsumme zu berechnen, eine Funktion, die durch die Spezifikation UL1998 für sicherheitsrelevante Mikrocontroller-Applikationen (in den U.S.A.) zwingend vorgeschrieben ist (UL=Underwriters Laboratories Spezifikation). Da der Pinstatus aller Ein-/Ausgänge des COP8ACC unabhängig vom programmierten Ausgangsstatus zurückgelesen werden kann, lassen sich externe Kurzschlüsse und offene Verbindungen zuverlässig erkennen. Dies ist ebenfalls eine Forderung der UL1998. Eine integrierte ESC-Schutzschaltung (ESD=electro static discharge) verleiht dem Mikrocontroller eine ESD-Festigkeit von >5000V. Der Chip ist zu 99% fehlerfrei, d.h. 99% aller möglichen stuck at 1 und stuck at 0 Fehler jedes Transistors werden beim Produktionstest erkannt. Damit werden strengste industrielle Qualitätsanforderungen erfüllt. So fordert z.B. die Automobilindustrie 95% Faultgrading. 4.5 Beispiele Embedded PC Schutzschaltungen zur EMI-Reduzierung (EMI=electromagnetic interference) minimieren die elektromagnetische Störabstahlung des Mikrocontrollers, wie nachfolgend gezeigt. 4.5 Beispiele Embedded PC Aus der Blockschaltung des Analogfunktionsblockes geht der Aufbau der schnellen A/D-Wandlung hervor. Aus nachfolgendem Bild geht hervor, dass sowohl der negative Komparatoreingang als auch die auf dem Chip integrierte Konstantstromquelle, welche softwaregesteuert an- oder abgeschaltet werden kann, mit Pin 11 der Mikrocontroller I/O-Anschlüsse verbunden sind. Um einen single slope A/D-Wandler zu realisieren, muss extern nur ein Kondensator an den Konstantstromquellen-Ausgang (negativer Komparator-Eingang) angeschlossen werden. 4.5 Beispiele Embedded PC 4.5 Beispiele Embedded PC Der positive Komparator-Eingang führt zu einem 7:1 Analogmultiplexer. Sechs der Multiplexereingänge sind mit Eingangspins des Mikrocontrollers verbunden, am siebten liegt eine integrierte UB/2 Spannungsreferenz. Der Komparatorausgang führt zum Triggereingang des schnellen 16-Bit-capture Timers, welcher mit der externen Oszillatorfrequenz getaktet wird. An den COP8ACC können bis zu sechs Analogspannungen an die Eingangspins angelegt, vom Analogmultiplexer selektiert und danach dem positiven Komparatoreingang zugeführt werden. Um eine A/D-Wandlung zu initiieren, wird die Konstantstromquelle per Software eingeschaltet. Als nächstes wird die externe Kapazität entladen, indem der entsprechende I/O als 0-Ausgang programmiert wird. Dass während dieses Vorganges die Konstantstromquelle bereits eingeschaltet ist, verursacht keine Probleme, da der Konstantstrom zu gering ist, um eine nennenswerte Spannungserhöhung am Transistorschalter nach 4.5 Beispiele Embedded PC Der positive Komparator-Eingang führt zu einem 7:1 Analogmultiplexer. Sechs der Multiplexereingänge sind mit Eingangspins des Mikrocontrollers verbunden, am siebten liegt eine integrierte UB/2Spannungsreferenz. Der Komparatorausgang führt zum Triggereingang des schnellen 16-Bit-capture Timers, welcher mit der externen Oszillatorfrequenz getaktet wird. An den COP8ACC können bis zu sechs Analogspannungen an die Eingangspins angelegt, vom Analogmultiplexer selektiert und danach dem positiven Komparatoreingang zugeführt werden. 4.5 Beispiele Embedded PC Um eine A/D-Wandlung zu initiieren, wird die Konstantstromquelle per Software eingeschaltet. Danach wird die externe Kapazität entladen, indem der entsprechende I/O als 0-Ausgang programmiert wird. Obgleich während dieses Vorganges die Konstantstromquelle bereits eingeschaltet ist, verursacht dies keine Probleme, da der Konstantstrom zu gering ist, um eine nennenswerte Spannungserhöhung am Transistorschalter nach Masse hervorzurufen. Als nächster Schritt wird der Ladevorgang für die externe Kapazität gestartet indem der interne Transistorschalter unter Softwarekontrolle nach Masse geöffnet wird. Zur gleichen Zeit wird der 16-Bit-Aufwärtszähler gestartet. Beim Setzen des Zählers wird dieser automatisch auf den Wert 0 zurückgestellt. Der Zähler wird danach mit der externen Oszillatorfrequenz inkrementiert. 4.5 Beispiele Embedded PC Die mit dem Single-Slope-Verfahren des COP088CC erreichbare Auflösung hängt im wesentlichen vom Wert des externen Kondensators, der analogen Eingangsspannung, dem Strom der Konstantstromquelle sowie der Oszillatorfrequenz des Mikrocontrollers ab. Der Vorteil des Single-Slope-Verfahren ist es, die niedrigere A/D Auflösung gegen eine schnellere Wandlungszeit abzuwägen und vice versa. Die (minimal erreichbare) A/D-Auflösung genügt der Beziehung: CTV = (C*U))/Imax*tClk mit CTV = Capture Timer Value, C = Kapazitätswert, U = analoger Eingangsspannungsbereich, Imax = maximaler Konstantstrom, tClk = Zykluszeit des externen Oszillators. Aufgrund der Herstellungstoleranzen des Mikrocontroller-Chip variiert der von der Konstantstromquelle gelieferte Strom zwischen 7µA und 32µA. 4.5 Beispiele Embedded PC Für einen Kondensator C (10 nF) mit einer Oszillatorfrequenz f (10 MHZ) und einem analogen Eingangsspannungsbereich U (5V) kann die minimal erreichbare A/D-Auflösung mittels des maximalen Konstantstroms Imax berechnet und grafisch dargestellt werden, wobei die Ergebnisse vor dem Hintergrund der maximalen (worst case) und minimalen (best case) Umsetzzeit des A/DWandlers bestimmt werden können. Der Kapazitätswert C kann zwischen 1nF und 10 nF variieren, was in entsprechenden Auflösungen und A/D-Wandlungszeiten resultiert. 4.5 Beispiele Embedded PC 4.5 Beispiele Embedded PC