MIKROPROZESSOR PROGRAMMIERUNG LV

Werbung
10101010101110101010101010101010101010010101010101010101010101001010101010101010101010101010101010101010101010101011111010100010101010101
01010101010101010101011011010101010101010101010101010101010101010101010101010101010101010101011010100100010101010110101010101010101010101
10010101010110101010111110101010101010101010101010101010111110101010101001010101011110110111110100101010100000110101111111011010101011011
MIKROPROZESSOR
PROGRAMMIERUNG
3. VORLESUNG
BIT
LV-Nr. 439.026
SS2007
1
INSTITUT FÜR ELEKTRONIK
HINTERBERGER M. 2007
10101010101110101010101010101010101010010101010101010101010101001010101010101010101010101010101010101010101010101011111010100010101010101
01010101010101010101011011010101010101010101010101010101010101010101010101010101010101010101011010100100010101010110101010101010101010101
10010101010110101010111110101010101010101010101010101010111110101010101001010101011110110111110100101010100000110101111111011010101011011
HINTERBERGER M. 2007
Mikrocomputersysteme auf einem Chip → Mikrocontroller
–
Begriffsdefinitionen
–
CISCCISC- und RISC Cores
–
Businterface
Digitale Signalprozessoren DSP
–
Begriffsdefinitionen
–
Gegenü
Gegenüberstellung DSP - µC
–
Konvergente Prozessoren
„Embedded Systems“
Systems“ - Auswahlkriterien fü
für Mikroprozessoren/Mikrocontroller
–
Preis/Leistung (niedrige Gesamtkosten ↔ hohe Rechenleistung)
–
Entwicklungsumgebung
–
„Time to Market“
Market“
–
Energieverbrauch
–
Platzbedarf
–
....
5. Vorlesung
Grundlagen der Mikroprozessortechnik
–
Begriffsdefinitionen
–
Central Processing Unit (CPU), Register, ArithmetischArithmetisch-logische Einheit
(ALU), Flags, Steuerwerk …
–
Systembus, Adressbus, Datenbus, Steuerbus …
–
Wartezyklen, Zeitmultiplexe Bussignale
–
Mikrocontrollerarchitekturen (Von(Von- Neumann Architektur, Harvard
Architektur)
–
Maschinenbefehle
–
Ablauf der Befehlsabarbeitung
–
BefehlsBefehls-Pipeline
–
Adressierungsarten
4. Vorlesung
Einführung und Motivation
–
Der Einsatz von Mikroprozessoren
–
Mikroprozessoren/Mikrocontroller Herstellerüberblick
–
Historische Entwicklung
–
Ein Chip entsteht … Video
–
Entwicklung der Intel Prozessoren
–
Vorführung bzw. Demonstration diverser MikrocontrollerMikrocontroller- StarterKits
restliche Vorlesungen
3. Vorlesung
2. Vorlesung
1. Vorlesung
Gliederung der Lehrveranstaltung
Speicherorganisation und Halbleiterspeicher
–
ROM
–
PROM/OTP (One Time Programmable)
Programmable)
–
EPROM (Erasable
(Erasable Programmable ROM)
–
EEPROM ( Electrically EPROM)
–
Flash Speicher
–
SRAM (Statischer RAM)
–
DRAM (Dynamischer RAM)
–
…
Periphere Systemkomponenten
–
Interrupt System
–
Externer Bus
–
Parallele Ports
–
Serielle Ports
–
Timer – Einheit (GPT)
–
Capture/
Capture/Compare Einheit (CAPCOM)
–
Analog/Digital Umsetzer
–
Digital/Analog Umsetzer
–
PWM Module
–
Reset – Watchdog
–
Stromsparmodi
Bussysteme
–
CAN Bus
–
I²C BUS
–
USB Bus
Einfü
Einführung in die „embedded“
embedded“ C-Programmierung
–
Aufbau und Struktur eines C Programmes
–
Assembler/Linker
–
C-Compiler fü
für Mikrocontroller
–
Programmentwicklung und Debugging/Simulation
Detaillierte Analyse eine 1616-Bit Mikrocontrollers
Demonstration mehrerer Applikationsbeispiele
Softwareentwicklung
Entwicklungstrends
2
INSTITUT FÜR ELEKTRONIK
1
10101010101110101010101010101010101010010101010101010101010101001010101010101010101010101010101010101010101010101011111010100010101010101
01010101010101010101011011010101010101010101010101010101010101010101010101010101010101010101011010100100010101010110101010101010101010101
10010101010110101010111110101010101010101010101010101010111110101010101001010101011110110111110100101010100000110101111111011010101011011
Grundlagen der Mikroprozessortechnik
Der Befehlssatz (Instruction Set) eines Prozessors umfasst alle binären
Maschinenbefehle, die er ausführen kann. Er wird vom Hersteller bei der
Fertigung implementiert. Der Befehlssatz ist in seinem Aufbau an die Struktur
der CPU angepasst und ermöglicht die Ansprache aller vorhandenen
Ressoucen
Typische Befehlsgruppen:
• Arithmetische Befehle.
Sie dienen der numerischen Verarbeitung und umfassen Addition, Subtraktion und Vergleich zweier Operanden
• Logische und Bitmanipulationsbefehle.
Sie erlauben die logische Verknüpfung von Bitgruppen, das Setzen, Löschen, Invertieren und Testen einzelner Bits
sowie die Verschiebung und Rotation von Bitstellen
• Transportbefehle.
Diese dienen dem Datenverkehr zwischen Registern, Speicherstellen und I/O Ports.
• Programmsteuerbefehle.
Diese bewirken eine Änderung des Programmflusses. Mit ihrer Hilfe kann die normalerweise
linear aufeinanderfolgende Befehlsbearbeitung durchbrochen werden. Zu ihnen gehören Sprünge
sowie Befehle zum Aufruf und zum Abschluss von Unterprogrammen
• Prozessorsteuerbefehle.
Sie beeinflussen die Arbeitsweise des Prozessors und dienen z.B. der gezielten Veränderung
einzelner Flags, der Steuerung des Interruptsystems sowie der Aktivierung spezieller
Betriebsarten (z.B. Stromsparmodi)
Jeder Befehl besitzt ein in der Regel festgelegtes, reproduzierbares Zeitverhalten. Dieses wird durch die intern
abzuarbeitenden Teilschritte bestimmt und in Takte pro Befehl (Clocks per Instruction CPI) gemessen.
3
INSTITUT FÜR ELEKTRONIK
HINTERBERGER M. 2007
10101010101110101010101010101010101010010101010101010101010101001010101010101010101010101010101010101010101010101011111010100010101010101
01010101010101010101011011010101010101010101010101010101010101010101010101010101010101010101011010100100010101010110101010101010101010101
10010101010110101010111110101010101010101010101010101010111110101010101001010101011110110111110100101010100000110101111111011010101011011
Grundlagen der Mikroprozessortechnik
Adressierungskonzepte:
Als Adressierungsart (Addressing Mode) wird der Algorithmus
bezeichnet, der aus einer im Programm gegebenen Information
den tatsächlichen Ort berechnet, an dem sich das Datum
befindet oder gespeichert werden soll.
Ein Mikroprozessor bietet meist eine Reihe von Möglichkeiten, die Operanden für eine Rechenoperation zu bestimmen
(=adressieren). Diese Möglichkeiten bezeichnet man als Adressierungsarten
• Registeradressierung: Ziel der Adresse ist ein Register im Prozessor. Die Adresse des Registers wird
direkt angegeben.
• Absolute Adressierung: Ziel der Adresse ist eine Speicherzelle im Hauptspeicher. Die Adresse der
Speicherzelle wird direkt angegeben.
• Relative Adressierung: Ziel der Adresse ist eine Speicherzelle im Hauptspeicher. Zur übergebenen
Adresse wird der Wert des Spezialregisters PC (program counter) als Offset
hinzuaddiert.
• Indirekte Adressierung: Ziel der Adresse ist eine Speicherzelle im Hauptspeicher. Die übergebene
Adresse verweist auf ein Register, in dem wiederum die Adresse des
eigentlichen Ziels im Hauptspeicher abgelegt ist.
• Indizierte Adressierung: Ziel der Adresse ist eine Speicherzelle im Hauptspeicher. Übergeben werden
zwei Adressen. Die erste verweist auf ein Register, in dem ein Wert abgelegt
ist. Dieser Wert wird als Offset zur zweiten Adresse hinzuaddiert, das
Ergebnis ist die Adresse des Ziels im Hauptspeicher.
• Direkte Adressierung:
HINTERBERGER M. 2007
Bei dieser Adressierungsart wird die Speicheradresse bei jedem Befehl
direkt und vollständig angegeben. Die Gesamtheit der möglichen Adressen
bildet den Adressbereich dieser Adressierungsart.
4
INSTITUT FÜR ELEKTRONIK
2
10101010101110101010101010101010101010010101010101010101010101001010101010101010101010101010101010101010101010101011111010100010101010101
01010101010101010101011011010101010101010101010101010101010101010101010101010101010101010101011010100100010101010110101010101010101010101
10010101010110101010111110101010101010101010101010101010111110101010101001010101011110110111110100101010100000110101111111011010101011011
Mikrocomputersysteme auf einem Chip
Ein Mikrocontroller (Microcontroller) ist ein vollständiges Mikrocomputersystem auf einem
Chip. Mikrocontrollerkern (Core), Speicher, Peripheriekomponenten und Interrupt-System sind
gemeinsam auf einem Chip integriert und über einen bzw. mehrere Busse miteinander
verbunden
µC
Mikrocontroller werden auch als Single-Chip-Mikrorechner, Einchip-Mikrorechner, Einchip-Rechner oder Einchip-Mikrocomputer bezeichnet !
5
INSTITUT FÜR ELEKTRONIK
HINTERBERGER M. 2007
10101010101110101010101010101010101010010101010101010101010101001010101010101010101010101010101010101010101010101011111010100010101010101
01010101010101010101011011010101010101010101010101010101010101010101010101010101010101010101011010100100010101010110101010101010101010101
10010101010110101010111110101010101010101010101010101010111110101010101001010101011110110111110100101010100000110101111111011010101011011
Mikrocomputersysteme auf einem Chip
µC - EINSATZ
• Anfänglich für den Einsatz bei programmierbaren
Steuerungen in der Industrieautomatisierung (z.B. SPS)
• Einsatz im KFZ, in der Telekommunikation, in
Haushaltsgeräten, in der Medizintechnik, bei Chipkarten, bei
Gebäudeautomatisierung, …
• µC sind in einer großen Preis- und Leistungsbandbreite
verfügbar
• µC´s ermöglichen kostensensitive Lösungen auch für
hochkomplexe und anspruchsvolle Aufgabenstellungen
• µC sind das dominierende Bauelement im
„Embedded- Control- Bereich“
6
HINTERBERGER M. 2007
INSTITUT FÜR ELEKTRONIK
3
10101010101110101010101010101010101010010101010101010101010101001010101010101010101010101010101010101010101010101011111010100010101010101
01010101010101010101011011010101010101010101010101010101010101010101010101010101010101010101011010100100010101010110101010101010101010101
10010101010110101010111110101010101010101010101010101010111110101010101001010101011110110111110100101010100000110101111111011010101011011
Mikrocomputersysteme auf einem Chip
Standardmikrocontroller
(Standard
Mikrocontroller)
lassen sich keinem bestimmten Marktsegment zuordnen
und sind in Abhängigkeit von ihrem Design relativ universell
einsetzbar
Kundenorientierte
Mikrocontroller
(Custom
Mircocontroller) sind jeweils für ein bestimmtes
Marktsegment zugeschnitten, werden im Kundenauftrag für
konkrete Projekte in hohen Stückzahlen gefertigt und sind
nur mit Einschränkungen universell verwendbar
On-Chip-Komponenten
stellen
die
Gesamtheit der integrierten Funktion eines
Mikrocontrollers dar. Diese Funktionalität
erstreckt sich vom Mikrocontrollerkern
(Core) über Speicherkomponenten bis hin
zur On-Chip-Peripherie
7
INSTITUT FÜR ELEKTRONIK
HINTERBERGER M. 2007
10101010101110101010101010101010101010010101010101010101010101001010101010101010101010101010101010101010101010101011111010100010101010101
01010101010101010101011011010101010101010101010101010101010101010101010101010101010101010101011010100100010101010110101010101010101010101
10010101010110101010111110101010101010101010101010101010111110101010101001010101011110110111110100101010100000110101111111011010101011011
Mikrocomputersysteme auf einem Chip
Complex Instruction Set Computing - CISC
Complex Instruction Set Computing (CISC), zu deutsch Rechnen mit
komplexem Befehlssatz, ist eine bestimmte Designphilosophie für Prozessoren.
Ein CISC Prozessor ist ein Prozessor mit komplexem Befehlssatz.
Ein CISC-Befehlssatz zeichnet sich durch verhältnismäßig leistungsfähige
Einzelbefehle aus, die komplexe Operationen durchführen können, aber dafür
langsamer als RISC Befehle sind.
sehr codeeffizient aufgrund komplexer Operationen innerhalb eines
eines Befehls
dadurch Reduktion der Anzahl der erforderlichen Befehle
Jeder Befehl ist ein eigenes Mikroprogramm im ROMROM-Speicher eines CISCCISC-Prozessors
Der Mikrocode wird der Reihe nach ausgeführt. Alle anderen Anweisungen
Anweisungen müssen
solange auf die Ausführung warten
Einige der Anweisungen benötigen mehrere Arbeitsschritte, was sehr
sehr viel Zeit kostet.
→ dadurch oft teuer, langsamer und nicht engeriearm
CISC-Prozessoren/Mikrocontroller:
• 808x und 80x86 von Intel
• 680x0 von Motorola
• Philips 8xC51
• Infineon C166
• Motorola HC12
• NEC µCOM75X
• Renesas H8SX/1650
• ….
HINTERBERGER M. 2007
8
INSTITUT FÜR ELEKTRONIK
4
10101010101110101010101010101010101010010101010101010101010101001010101010101010101010101010101010101010101010101011111010100010101010101
01010101010101010101011011010101010101010101010101010101010101010101010101010101010101010101011010100100010101010110101010101010101010101
10010101010110101010111110101010101010101010101010101010111110101010101001010101011110110111110100101010100000110101111111011010101011011
Mikrocomputersysteme auf einem Chip
Reduced Instruction Set Computing - RISC
Reduced Instruction Set Computing (RISC), zu deutsch Rechnen mit reduziertem
Befehlssatz, ist eine bestimmte Designphilosophie für Prozessoren. Ein RISC Prozessor ist
ein Prozessor mit reduziertem Befehlssatz.
Ein RISC-Befehlssatz verzichtet zugunsten einer hohen Ausführungsgeschwindigkeit und
eines niedrigeren Decodierungsaufwands auf Seiten der CPU, konsequent auf komplexe
Befehle, wodurch die Ausführung schneller als bei einem CISC-Befehlssatz ist.
Feste Befehlslä
Befehlslängen, dadurch weniger Taktzyklen im Vergleich zu CISC zur Ausfü
Ausführung notwendig
Reduzierte Komplexitä
Komplexität bei der Befehlsausfü
Befehlsausführung
Einfache Arithmetik, Datenaustausch innerhalb der CPUCPU-Register und Datenspeicher
Befehlsausfü
Befehlsausführung innerhalb eines Taktes sehr oft mö
möglich
Weniger CPU – Hardware erforderlich, folglich Kosten und Energieeinsparung
→ für gleiche Operationen mehr Befehle notwendig als bei CISC
Reduzierung des Befehlssatzes
RISC-Prozessoren/µC:
die wichtigsten Befehlsfolgen sind fest verdrahtet
• Commodore C64 (6510 MOS)
• Microchip PIC16CXXX
mehrere getrennte interne Bussysteme
• Atmel AT90SXX
von einander unabhängige Verarbeitungseinheiten
• TI MSP430
Pipelining (Parallelverarbeitung bestimmter Befehle)
• Renesas H8/300H … uvm.
einfache Schaltungen, dadurch schnellere Ausführung
Praktisch ist heute „jeder“ Prozessor ein RISCRISC-Prozessor, oder er hat zumindest RISCRISC-Elemente in sich.
RISCRISC-Prozessoren sind im wesentlichen billiger herzustellen, kleiner und von der Verschaltung her
überschaubarer.
9
INSTITUT FÜR ELEKTRONIK
HINTERBERGER M. 2007
10101010101110101010101010101010101010010101010101010101010101001010101010101010101010101010101010101010101010101011111010100010101010101
01010101010101010101011011010101010101010101010101010101010101010101010101010101010101010101011010100100010101010110101010101010101010101
10010101010110101010111110101010101010101010101010101010111110101010101001010101011110110111110100101010100000110101111111011010101011011
Mikrocomputersysteme auf einem Chip
Besonderheiten vieler Mikrocontroller:
Ein erweiterter und optimierter Befehlssatz, welcher
Bitmanipulationen und ein einfaches Ansprechen
der OnOn- ChipChip- Peripherie ermöglicht
Erweiterte Adressierungsarten mit entsprechenden
Zeigerregistern
Umfangreiche Maßnahmen zur Reduzierung der
Stromaufnahme, insbesondere durch Sicherstellung
der CoreCore- Funktionalität auch bei sehr niedrigen
Betriebsspannungen
Großer möglicher Betriebsspannungsbereich
Programmierbares Businterface zur flexiblen
Anschaltung externer Erweiterungskomponenten
Zusätzliche DSP Funktionalität (z.B. MAC Einheit)
EMVEMV- Beständigkeit
10
HINTERBERGER M. 2007
INSTITUT FÜR ELEKTRONIK
5
10101010101110101010101010101010101010010101010101010101010101001010101010101010101010101010101010101010101010101011111010100010101010101
01010101010101010101011011010101010101010101010101010101010101010101010101010101010101010101011010100100010101010110101010101010101010101
10010101010110101010111110101010101010101010101010101010111110101010101001010101011110110111110100101010100000110101111111011010101011011
Mikrocomputersysteme auf einem Chip
Eigenschaften moderner Mikrocontroller:
Hohe Prozessorleistung
–
–
–
–
–
Effiziente Adressierungsarten
kompakter und effizienter Befehlsumfang
RAM und Flashspeicher, InIn-System programmierbar
Vektorinterruptsystem (Verschachtelung möglich)
Parallelität (Pipeline)
Low Power
–
–
–
1,8V – 3,6V (5V)
Programmierbarer Taktgenerator (Flankensteilheit)
Low Power 0,1 – 400µA Stromverbrauch möglich
Peripheriekomponenten
–
–
–
Viele Interruptmöglichkeiten
Vielfälltigkeit (ADC, CAPCOM, Timer, PWM, RS232, CAN …)
Security & Savety features -> wie Watchdog,
Watchdog, FuseFuse-Bits für Flashspeicher
Entwicklungswerkzeuge
–
Assembler, C/C++/Java Compiler, Linker, Simulation, Debug,
Debug, …
Skalierbarkeit, Verfügbarkeit
–
Zahlreiche Derivate mit unterschiedlichen Peripheriekomponenten
„LOW“-POWER
11
INSTITUT FÜR ELEKTRONIK
HINTERBERGER M. 2007
10101010101110101010101010101010101010010101010101010101010101001010101010101010101010101010101010101010101010101011111010100010101010101
01010101010101010101011011010101010101010101010101010101010101010101010101010101010101010101011010100100010101010110101010101010101010101
10010101010110101010111110101010101010101010101010101010111110101010101001010101011110110111110100101010100000110101111111011010101011011
Mikrocomputersysteme auf einem Chip
Stromsparmodi:
Stromsparmodi (Power Saving Modi). Insbesondere für portable Anwendungen sind
niedrige Stromaufnahmen der eingesetzten µC wichtig. Neben der Möglichkeit, die
Stromaufnahme über eine Reduzierung von Taktfrequenz und Betriebsspannung im
Rahmen zulässiger Grenzen zu senken, sind bei den meisten µC mehrere
Spezialfunktionsregister SFR oder spezielle Software-Befehle vorgesehen.
Übersicht zu Stromsparmodi:
Modus
Funktion
Aktivierung
IdleIdle-Mode
Taktabschaltung für CPU
Über IDLEIDLE-Befehl
Deaktivierung
Über Reset oder Interrupt
PowerPower-DownDown-Mode
Taktabschaltung für CPU +
OnOn-ChipChip-Komponenten
Über PWRDNPWRDN-Befehl +
Pinbeschaltung
Über Reset
SleepSleep-Mode
CPU ohne Takt
Über SleepSleep- Befehl
Über Interrupt
StandbyStandby-Mode
OnOn-ChipChip- Oszillator wird
gestoppt
Über SleepSleep- Befehl / Pin
Über exteren Interrupt
ModuleModule-StopStop-Mode
(Off Mode)
Direktes Abschalten von
OnOn-ChipChip-Komponenten
Über SFR
Über SFR
ClockClock-Gearing
(Power Save Mode)
Teilung des Taktes
Über SFR
Über SFR
12
HINTERBERGER M. 2007
INSTITUT FÜR ELEKTRONIK
6
10101010101110101010101010101010101010010101010101010101010101001010101010101010101010101010101010101010101010101011111010100010101010101
01010101010101010101011011010101010101010101010101010101010101010101010101010101010101010101011010100100010101010110101010101010101010101
10010101010110101010111110101010101010101010101010101010111110101010101001010101011110110111110100101010100000110101111111011010101011011
Digitaler Signal Prozessor DSP
Digitale Signalprozessoren (Digital Signal Processor) sind Spezialprozessoren für die sehr
schnelle Verarbeitung von mathematischen Befehlen zur Bearbeitung komplexer Algorithmen
der analogen Signalverarbeitung
DSP steht für Digitaler Signalprozessor. Der DSP ist ein auf die
digitale Signalverarbeitung ausgerichteter Prozessor, also ein
Rechner, der mit Hilfe von arithmetischen Operationen Signale, wie
auch Musik/Video verarbeitet. Durch die hohe Rechenleistung
heutiger DSProzessoren erhält man hiermit eine Vielzahl von
Möglichkeiten.
DSP - Anwendungen:
• Audio
• Digital Video
• Telekommunikation
• Messtechnik/Regelungstechnik
• Security/Automatisierung
• Robotik
•…
13
INSTITUT FÜR ELEKTRONIK
HINTERBERGER M. 2007
10101010101110101010101010101010101010010101010101010101010101001010101010101010101010101010101010101010101010101011111010100010101010101
01010101010101010101011011010101010101010101010101010101010101010101010101010101010101010101011010100100010101010110101010101010101010101
10010101010110101010111110101010101010101010101010101010111110101010101001010101011110110111110100101010100000110101111111011010101011011
Digitaler Signal Prozessor DSP
VIDEO
http://www.go-dsp.com/2005-fet/c2000/index.html
14
HINTERBERGER M. 2007
INSTITUT FÜR ELEKTRONIK
7
10101010101110101010101010101010101010010101010101010101010101001010101010101010101010101010101010101010101010101011111010100010101010101
01010101010101010101011011010101010101010101010101010101010101010101010101010101010101010101011010100100010101010110101010101010101010101
10010101010110101010111110101010101010101010101010101010111110101010101001010101011110110111110100101010100000110101111111011010101011011
Digitaler Signal Prozessor DSP
??? Suchbildrätsel ???
Das linke Bild unterscheidet sich vom rechten Bild durch ….
Unterschiede zu herkömmlichen Prozessoren:
• Parallelinstruktionen und mehrere Datenbusse zum parallelen
Transport von Daten
• Leistungsfähige arithmetische Strukturen
Hardwaremulitplizierer/addierer MAC Einheit
• Spezielle Rechenwerke und Register zur Adress- und
Datenmanipulation ohne Nutzung der Arithmetikeinheit
• Gleichzeitiger Zugriff auf Instruktionen und mehrere Operanden
• Spezielle Adressierungsarten
• Beliebig niedrige Frequenzen mit hoher Genauigkeit bearbeitbar, in
der Analogtechnik sind niedrige Frequenzen durch die lange
Einschwingzeit von RC- Gliedern mit Schwierigkeiten verbunden
• Lösung komplexer Aufgaben mit Hilfe von DSP- Algorithmen sind in
der Analogtechnik oft nicht oder nur sehr aufwendig realisierbar
• Gute Reproduzierbarkeit
• Kein Abgleich der Baugruppen erforderlich
15
INSTITUT FÜR ELEKTRONIK
HINTERBERGER M. 2007
10101010101110101010101010101010101010010101010101010101010101001010101010101010101010101010101010101010101010101011111010100010101010101
01010101010101010101011011010101010101010101010101010101010101010101010101010101010101010101011010100100010101010110101010101010101010101
10010101010110101010111110101010101010101010101010101010111110101010101001010101011110110111110100101010100000110101111111011010101011011
Digitaler Signal Prozessor DSP
Beispiel: Streaming Media
16
HINTERBERGER M. 2007
INSTITUT FÜR ELEKTRONIK
8
10101010101110101010101010101010101010010101010101010101010101001010101010101010101010101010101010101010101010101011111010100010101010101
01010101010101010101011011010101010101010101010101010101010101010101010101010101010101010101011010100100010101010110101010101010101010101
10010101010110101010111110101010101010101010101010101010111110101010101001010101011110110111110100101010100000110101111111011010101011011
Digitaler Signal Prozessor DSP
Beispiel: Portable Media Player
17
INSTITUT FÜR ELEKTRONIK
HINTERBERGER M. 2007
10101010101110101010101010101010101010010101010101010101010101001010101010101010101010101010101010101010101010101011111010100010101010101
01010101010101010101011011010101010101010101010101010101010101010101010101010101010101010101011010100100010101010110101010101010101010101
10010101010110101010111110101010101010101010101010101010111110101010101001010101011110110111110100101010100000110101111111011010101011011
Digitaler Signal Prozessor DSP
Customer Application Video
18
HINTERBERGER M. 2007
INSTITUT FÜR ELEKTRONIK
9
10101010101110101010101010101010101010010101010101010101010101001010101010101010101010101010101010101010101010101011111010100010101010101
01010101010101010101011011010101010101010101010101010101010101010101010101010101010101010101011010100100010101010110101010101010101010101
10010101010110101010111110101010101010101010101010101010111110101010101001010101011110110111110100101010100000110101111111011010101011011
Trendwort „Konvergente Systeme“
Konvergenz (zu spätlateinisch convergere, sich hinneigen) bedeutet allgemein Annäherung (auch: das
Zusammenstreben, das Aufeinanderzugehen, Ggs. Divergenz) oder Übereinstimmung (von Meinungen,
Zielen, etc.). So hat der Begriff der Konvergenz auch im Fachgebiet „Mikroprozessortechnik“ an
Bedeutung gewonnen.
Konvergente Systeme:
• Unterhaltungssysteme
Anforderungen an die Prozessoren:
• DMA zum effektiven Laden von Programmen
und Daten in verschiedenen Betriebsarten
• Telematik und
Infotainmentsysteme für
Fahrzeuge
• Management der Speicherbandbreite
• Management der Rechenressourcen
• Netzwerkfähige und StreamingMedia- Systeme
• (mobliles) digitales Radio/TV
• Deterministische DSP-Code Ausführung
• Schnelles Task- Switching
• Dynamisches Leistungsmanagement
•…
•…
Architektur mit Applikationsbezug
Prozessoren für konvergente Anwendungen
müssen aus der Systemperspektive heraus
entwickelt werden und ein optimales
Zusammenspiel
verteilter
Resourcen
ermöglichen. Per Definition arbeiten in
richtungsweisenden
konvergenten
Anwendungen solche Bausteine sowohl im
Bereich der Benutzersoftware, als auch im
DSP-Bereich zusammen. Dabei werden alle
Verarbeitungsaufgaben eigenständig erledigt.
HINTERBERGER M. 2007
Applikationen, die Multiformat-Medienverarbeitung, Multimode-Connectivity und ControlProcessing in Echtzeit miteinander kombinieren/verschmelzen, werden als konvergent
bezeichnet. Deren Prozessoren ermöglichen zum einen die reibungslose Zusammenarbeit
von Multimedia-, Netzwerk- und Systemsteuerungsfunktionen und erfüllen andererseits die
Anforderungen an Leistungsfähigkeit und Leistungsverbrauch, die moderen EmbeddedAudio, Video- und Kommunikationsanwendungen an die Entwickler stellen. Konvergenz
verlangt, dass auch die Prozessoren mit diesen Anwendungen zusammenwachsen und die
effiziente Verarbeitung von Media- und Applikations-Tasks nicht nur Lippenbekenntnis der
Hersteller bleiben
19
INSTITUT FÜR ELEKTRONIK
10101010101110101010101010101010101010010101010101010101010101001010101010101010101010101010101010101010101010101011111010100010101010101
01010101010101010101011011010101010101010101010101010101010101010101010101010101010101010101011010100100010101010110101010101010101010101
10010101010110101010111110101010101010101010101010101010111110101010101001010101011110110111110100101010100000110101111111011010101011011
Trendwort „Embedded Systems“
Embedded
Systems
sind
mikroprozessorgesteuerte
Systeme, die ihre Funktionalität durch Software-Programme
erhalten. Diese werden einmal in das System eingebracht,
werden unverlierbar gespeichert und bleiben für die
Lebensdauer des Systems im Wesentlichen in unveränderter
Form erhalten.
Anmerkung:
Im Gegensatz zu herkömmlichen Computern sind „Embedded Systems“ einfache Rechner mit bestimmter
Funktionalität, die im zu steuernden oder zu überwachenden System integriert (eingebettet) sind. Sie bestehen aus
einer Kombination von Hardware und Software (Mikrocontroller, Mikroprozessor, Bussystem, etc.) und enthalten häufig
Einheiten, die Aufgaben der Sensorik und Aktuatorik erfüllen sowie Kommunikationsschnittstellen. Darunter sind nicht
nur Mensch-Maschine-Schnittstellen zu verstehen, sondern auch Vernetzungsmöglichkeiten mit Maschinen.
Anwendungen für „Embedded Systems“:
• Kommunikationsgeräten
• Automotive Elektronik und medizinischer Technik
• Maschinen – Mechatronik
• Industrieanlagen und anderen „intelligenten Objekten“
•…
20
HINTERBERGER M. 2007
INSTITUT FÜR ELEKTRONIK
10
10101010101110101010101010101010101010010101010101010101010101001010101010101010101010101010101010101010101010101011111010100010101010101
01010101010101010101011011010101010101010101010101010101010101010101010101010101010101010101011010100100010101010110101010101010101010101
10010101010110101010111110101010101010101010101010101010111110101010101001010101011110110111110100101010100000110101111111011010101011011
„Embedded Systems“
Designentscheidungen für Embedded Systems:
• Integration
Je mehr Funktionalität der verwendete Mikrocontroller bereits enthält, desto
weniger Peripheriebausteine werden benötigt, um die Anbindung an die
benötigten Systemschnittstellen (Ein-/Ausgabe) zu ermöglichen. Je weniger
Bausteine eine Platine benötigt, desto geringer ist der Platzbedarf der
Leiterbahnen und die Signallaufzeiten zwischen den Bausteinen. Diese
Überlegungen führten dazu, dass auf heutigen Mikrocontrollern meist schon
bereits ausreichend RAM und anderer Peripherie-Funktionen vorgesehen
sind.
• Echtzeitanforderungen
Hohe Verfügbarkeit und definierte Antwortzeiten sind häufig gestellte
Anforderungen an ein Embedded System und damit auch an dessen
Betriebssystem und Software. Beispielsweise muss die elektronisch
gesteuerte Bremse oder der Airbag nahezu unverzögert im
Millisekundenbereich reagieren. Die einfache und geschlossene Bauweise
sowie die Verwendung spezieller Echtzeitbetriebssysteme erlauben es schon
in der Entwicklungsphase, die Reaktionszeiten des Gesamtsystems
abzuschätzen.
• Stückpreis
Der Stückpreis hängt wie viele Waren des Marktes von den Entwicklungs- und Herstellungskosten ab. Je höher die Stückzahl, desto
geringer ist der Anteil der Entwicklungskosten je Stück. Bei großen Produktionsmengen wird daher von der Entwicklung viel Aufwand in
die Optimierung des Ressourcenverbrauchs gesteckt, um z. B. durch Speichereinsparung die Materialkosten weiter drücken zu können.
Bei geringen Stückzahlen fallen die Materialkosten dagegen weniger ins Gewicht. Hier lohnt es sich dann wieder mit teureren, aber dafür
flexibleren Bausteinen (z .B. FPGAs) die Entwicklungszeit zu verringern.
• Entwicklungsumgebung
Eine integrierte Entwicklungsumgebung ist ein Anwenderprogramm zur Entwicklung von Software. Unter Entwicklern wird meist die
Bezeichnung IDE verwendet, eine Abkürzung des aus dem Englischen stammenden Begriffs Integrated Development Environment (auch
Integrated Design Environment).
21
INSTITUT FÜR ELEKTRONIK
HINTERBERGER M. 2007
10101010101110101010101010101010101010010101010101010101010101001010101010101010101010101010101010101010101010101011111010100010101010101
01010101010101010101011011010101010101010101010101010101010101010101010101010101010101010101011010100100010101010110101010101010101010101
10010101010110101010111110101010101010101010101010101010111110101010101001010101011110110111110100101010100000110101111111011010101011011
Auswahlkriterien für Mikrocontroller:
WELCHER HERSTELLER ? WELCHER µP/µC ?
8-BIT / 16-BIT / 32-BIT / 64-BIT
Digitale Signalprozessoren
22
HINTERBERGER M. 2007
INSTITUT FÜR ELEKTRONIK
11
10101010101110101010101010101010101010010101010101010101010101001010101010101010101010101010101010101010101010101011111010100010101010101
01010101010101010101011011010101010101010101010101010101010101010101010101010101010101010101011010100100010101010110101010101010101010101
10010101010110101010111110101010101010101010101010101010111110101010101001010101011110110111110100101010100000110101111111011010101011011
Auswahlkriterien für Mikrocontroller:
Allgemeine Leistungsmerkmale: Teil 1
Controller Architektur CISC oder RISC
VonVon-Neumann oder Harvard–
Harvard– Architektur
Interne Busbreite (4(4-, 88-, 1616-, 3232-Bit)
Interne Taktfrequenz - Rechenleistung
Adressraum
Realisiertes Pipelingverfahren (Grad der Parallelität)
Effizienz des Befehlssatzes und der Adressierungsarten
Integrierte Peripherie auf dem µC (z.B. ADC, SPI, CAN, I²C, …)
Internes/externes Interruptsystem
Stromsparfunktion/Energieverbrauch
Bauform (Gehäuseform) und Größe des Chips - Wärmeabfuhr
Anzahl der vorhanden/benötigte I/O Pins ?
Speichergröße, Art des Speichers, Speicherarchitektur, OnOn-Chip?
Chip?
Programmierbarkeit bei Massenproduktion/Serienfertigung
Preis/Stück (bei hohen Stückzahlen)
Skalierbarkeit und Modularität
23
INSTITUT FÜR ELEKTRONIK
HINTERBERGER M. 2007
10101010101110101010101010101010101010010101010101010101010101001010101010101010101010101010101010101010101010101011111010100010101010101
01010101010101010101011011010101010101010101010101010101010101010101010101010101010101010101011010100100010101010110101010101010101010101
10010101010110101010111110101010101010101010101010101010111110101010101001010101011110110111110100101010100000110101111111011010101011011
Auswahlkriterien für Mikrocontroller:
Allgemeine Leistungsmerkmale: Teil 2
Verfügbarkeit – Kompatibilität
Wartbarkeit - Betriebssicherheit
Lebensdauer
EMV - Elektromagnetische Verträglichkeit
– Funktionssicherheit
– Störsicherheit
CodeCode-Sicherung ? Produktpiraterie ? Datencodierung ?
Ausbildungsgrad und „Know„Know-how“ der µCµC-SoftwareSoftware- und Hardwareentwickler für ausgewählten
Mikrocontroller
– Schulung/Weiterbildung notwendig ?
– bereits Erfahrung gesammelt ?
Vorhandene Erfahrungen mit ähnlichen Mikrocontrollersystemen ?
– Positive/Negative Erfahrungen
– Bekannte Probleme
Entwicklungsumgebung
– Hochsprachentauglich ?
– Simulation – Debug
– Qualität des Compilers (Compiler(Compiler-Fehler bereits bekannt – BUGS ?)
– Preis der Entwicklungssoftware - Lizenzkosten für Entwicklungssoftware
– Weiterverwendbarkeit erstellter Softwareprojekte ?
24
HINTERBERGER M. 2007
INSTITUT FÜR ELEKTRONIK
12
10101010101110101010101010101010101010010101010101010101010101001010101010101010101010101010101010101010101010101011111010100010101010101
01010101010101010101011011010101010101010101010101010101010101010101010101010101010101010101011010100100010101010110101010101010101010101
10010101010110101010111110101010101010101010101010101010111110101010101001010101011110110111110100101010100000110101111111011010101011011
Auswahlkriterien für Mikrocontroller:
Preis (Gesamtkosten) und Leistung (hohe Rechenleistung) schließen sich scheinbar aus:
Niedrige Kosten
Hohe Leistung
?
Kostenanalyse:
• Kosten für Programmentwicklung, Tests und Fehlerbeseitigung
• Kosten für Programmerweiterung für neue und verbesserte Produkteigenschaften
• Kosten für Hardware
• Kosten für Entwicklungsumgebung (Lizenzen)
25
HINTERBERGER M. 2007
INSTITUT FÜR ELEKTRONIK
13
Herunterladen