10101010101110101010101010101010101010010101010101010101010101001010101010101010101010101010101010101010101010101011111010100010101010101 01010101010101010101011011010101010101010101010101010101010101010101010101010101010101010101011010100100010101010110101010101010101010101 10010101010110101010111110101010101010101010101010101010111110101010101001010101011110110111110100101010100000110101111111011010101011011 MIKROPROZESSOR PROGRAMMIERUNG 4. VORLESUNG BIT LV-Nr. 439.026 SS2007 1 INSTITUT FÜR ELEKTRONIK HINTERBERGER M. 2007 10101010101110101010101010101010101010010101010101010101010101001010101010101010101010101010101010101010101010101011111010100010101010101 01010101010101010101011011010101010101010101010101010101010101010101010101010101010101010101011010100100010101010110101010101010101010101 10010101010110101010111110101010101010101010101010101010111110101010101001010101011110110111110100101010100000110101111111011010101011011 Speicherkomponenten - Halbleiterspeicher Ein Halbleiterspeicher dient der zeitlich begrenzten und unbegrenzten Aufbewahrung von Daten, Zuständen und Programmen in Form von digitalen Signalen. Das Speichern umfasst das Schreiben und Lesen in eine oder mehrere Speicherzellen. Zum Speichern in Speicherzellen macht man sich die physikalischen Effekte zu Nutze, die zwei verschiedene Zustände eindeutig erzeugen und erkennen lassen. Beispiele 1. Zustand 2. Zustand an aus 1 0 viel wenig groß klein +5V 0V +3,3V 0V 2 HINTERBERGER M. 2007 INSTITUT FÜR ELEKTRONIK 1 10101010101110101010101010101010101010010101010101010101010101001010101010101010101010101010101010101010101010101011111010100010101010101 01010101010101010101011011010101010101010101010101010101010101010101010101010101010101010101011010100100010101010110101010101010101010101 10010101010110101010111110101010101010101010101010101010111110101010101001010101011110110111110100101010100000110101111111011010101011011 Speicherkomponenten - Halbleiterspeicher Halbleiterspeicher sind Speichermedien, die mittels Halbleitertechnologie hergestellt werden. Dabei dient der Halbleiter nicht als Speichermedium sondern die mit ihm hergestellte elektronische Schaltung in einem integriertem Schaltkreis. Diese Schaltungen wurden früher mittels Röhren oder Relais verwirklicht. Ein Speicherelement ist eine abstrakte Umschreibung für ein Element, das ein Bit speichert und 2 Zustände High oder Low (logische 0/1) besitzt. Die kleinste adressierbare Einheit eines Arbeitsspeichers sind meist 8 Bit, also ein Byte. Früher waren auch Halbbytes (4 Bit) oder 7 Bit üblich. In 16-, 32- und 64-Bit-Systemen sind üblicherweise alle Bytes einzeln adressierbar. Ein Speicherelement ist also auch dort ein Byte. Manchmal werden in Systemen aber auch nur 16-, 32- oder 64-Bit-Wörter als Speicherelemente adressiert. Realisierung in Halbleitertechnologie: Das 1-Bit-Speicherelement ist mittels weniger Transistoren oder einer Kombination aus Transistoren und Kondensatoren realisierbar. 3 INSTITUT FÜR ELEKTRONIK HINTERBERGER M. 2007 10101010101110101010101010101010101010010101010101010101010101001010101010101010101010101010101010101010101010101011111010100010101010101 01010101010101010101011011010101010101010101010101010101010101010101010101010101010101010101011010100100010101010110101010101010101010101 10010101010110101010111110101010101010101010101010101010111110101010101001010101011110110111110100101010100000110101111111011010101011011 Speicherkomponenten - Halbleiterspeicher HALBLEITERSPEICHER Tabellenspeicher RAM ROM STATISCH MROM SRAM PROM DYNAMISCH EPROM DRAM EEPROM FLASH Funktionsspeicher FPGA RAM… ROM… M/P… EP… EE… PLD… FPGA… HINTERBERGER M. 2007 PLD RANDOM ACCESS MEMORY READ ONLY MEMORY MASKENPROGRAMMIERBAR / PROGRAMMIERBAR LÖSCHBAR & PROGRAMMIERBAR ELEKTRISCH LÖSCHBAR & PROGRAMMIERBAR PROGRAMMABLE LOGIC DEVICE FIELD PROGRAMMABLE GATE ARRAY 4 INSTITUT FÜR ELEKTRONIK 2 10101010101110101010101010101010101010010101010101010101010101001010101010101010101010101010101010101010101010101011111010100010101010101 01010101010101010101011011010101010101010101010101010101010101010101010101010101010101010101011010100100010101010110101010101010101010101 10010101010110101010111110101010101010101010101010101010111110101010101001010101011110110111110100101010100000110101111111011010101011011 Speicherkomponenten - Halbleiterspeicher Die Speicherkapazität C ist die maximale speicherbare Informationsmenge in Bit oder Byte. C wird auf die kleinste, getrennt adressierbare Informationseinheit bezogen. Übliche Angaben: 1K = 210 1M = 220 1G = 230 1 Bit - (21 = 2 mögliche Zustände), z. B. 0/1 1 Byte = 8 bit 1 KByte = 1024 Byte 1 MByte = 220 = 1048576 Byte 1 GBit = 230 Byte = 1 073 741 824 Byte Kenngrößen von Halbleiterspeichern: •Speicherkapazität •Speicherorganisation " Auswahlprinzip der Speicherzelle •Zugriffszeit " Zeit, die von der Adressbereitstellung bis zur Ausgabe gültiger Daten am Speicher vergeht •Zykluszeit " kleinste zulässige Zeitdifferenz zwischen zwei Speicherzugriffen (Lese/Schreibzyklus unterschiedlich) 5 INSTITUT FÜR ELEKTRONIK HINTERBERGER M. 2007 10101010101110101010101010101010101010010101010101010101010101001010101010101010101010101010101010101010101010101011111010100010101010101 01010101010101010101011011010101010101010101010101010101010101010101010101010101010101010101011010100100010101010110101010101010101010101 10010101010110101010111110101010101010101010101010101010111110101010101001010101011110110111110100101010100000110101111111011010101011011 Speicherkomponenten - Halbleiterspeicher µC/µP/DSP SYSTEME DATENSPEICHER & VARIABLEN PROGRAMMSPEICHER & KONSTANTEN MROM (maskenprogrammierbarer ROM) PROM (Programmierbares ROM) EPROM (Erasable Programmable ROM) OTP (One Time Programmable) EEPROM (Electrically EPROM) FLASH Memory NOVRAM (Nonvolatile SRAM) … .. . SRAM (statischer RAM) DRAM (dynamisches RAM) NOVRAM (Nonvolatile SRAM) EEPROM (Electrically EPROM) EDO – DRAM (EDO = Extended Data Out) EDRAM (Enhanced DRAM) SDRAM (Synchronous DRAM) VRAM (Video RAM) … .. . 6 HINTERBERGER M. 2007 INSTITUT FÜR ELEKTRONIK 3 10101010101110101010101010101010101010010101010101010101010101001010101010101010101010101010101010101010101010101011111010100010101010101 01010101010101010101011011010101010101010101010101010101010101010101010101010101010101010101011010100100010101010110101010101010101010101 10010101010110101010111110101010101010101010101010101010111110101010101001010101011110110111110100101010100000110101111111011010101011011 Speicherkomponenten - Halbleiterspeicher Festwertspeicher ROM (Read Only Memory) sind nichtflüchtige Speicher, die eine gespeicherte Information beliebig oft auslesen gestatten. Das Löschen oder Umschreiben der Information ist im eigentlichen Arbeitsrhythmus des Speichers nicht möglich Maskenprogrammierte ROM: MROM sind Kundenwunsch Schaltkreise mit hohem Vorfertigungsgrad. Die Programmierung erfolgt beim Schaltkreishersteller Bei den maskenprogrammierten ROMs sind je nach zu speicherndem Bit mittels Maske bei der Herstellung des ICs, Brücken eingebaut, oder nicht. Bei Ansteuerung mit Brücke ist der Transistor leitend, sodass am Widerstand eine Spannung ansteht (Bit 1). 7 INSTITUT FÜR ELEKTRONIK HINTERBERGER M. 2007 10101010101110101010101010101010101010010101010101010101010101001010101010101010101010101010101010101010101010101011111010100010101010101 01010101010101010101011011010101010101010101010101010101010101010101010101010101010101010101011010100100010101010110101010101010101010101 10010101010110101010111110101010101010101010101010101010111110101010101001010101011110110111110100101010100000110101111111011010101011011 Speicherkomponenten - Halbleiterspeicher Programmierbare ROM: PROM sind vom Anwender einmal programmierbar, aber nicht wieder löschbar Es gibt auch ROMs, die erst vom Anwender mit Bits beladen (programmiert) werden. Bei diesen PROMs sind dünne Schmelzleiter eingebaut, die beim Programmieren durchgebrannt werden. Die ursprünglichen PROMs werden inzwischen nahezu nicht mehr verwendet. Heutige PROMs sind in Wirklichkeit nichts anderes als EPROMs ohne Löschfenster Allgemeine Eigenschaften der PROM: • freie Programmierbarkeit • keine Lösch- oder Umprogrammiermöglichkeit • Programmierfehler sind nicht behebbar • wird fast nicht mehr verwendet " EPROM ! 8 HINTERBERGER M. 2007 INSTITUT FÜR ELEKTRONIK 4 10101010101110101010101010101010101010010101010101010101010101001010101010101010101010101010101010101010101010101011111010100010101010101 01010101010101010101011011010101010101010101010101010101010101010101010101010101010101010101011010100100010101010110101010101010101010101 10010101010110101010111110101010101010101010101010101010111110101010101001010101011110110111110100101010100000110101111111011010101011011 Speicherkomponenten - Halbleiterspeicher Re-Programmierbare ROM: EPROM sind kostengünstige ROM Bausteine zur mehrmaligen Programmierung durch den Anwender. Bei EPROMs enthält das Speicherelement einen FET mit „schwebendem Gate“. Dieses lädt sich bei der Programmierung langlebig auf, sodass der Speicherinhalt für viele Jahre erhalten bleibt, und zwar auch ohne Betriebsspannung. Ein EPROM hat zum Löschen ein Quarzglasfenster. Wird das EPROM mehrere Minuten lang mit UV-Licht bestrahlt, so entlädt sich das schwebende Gate, sodass eine erneute Programmierung möglich wird. Allgemeine Eigenschaften der EPROM: UV-LICHT • frei programmierbare Festwertspeicher • vom Anwender programmierbar, löschbar und re-programmierbar • unprogrammierbar (gelöscht) liegen alle Zellen auf H-Pegel • Programmierspannungen und Zeitbedingungen bei verschiedenen Typen und Herstellern unterschiedlich (Programmiergerät verwenden) • zum Löschen UV-Löschgeräte benutzen • Anwendung: flexibler und zeitlich stabiler Programmspeicher (die gespeicherten Daten sind nach Herstellerangaben über 10 Jahre stabil) 9 INSTITUT FÜR ELEKTRONIK HINTERBERGER M. 2007 10101010101110101010101010101010101010010101010101010101010101001010101010101010101010101010101010101010101010101011111010100010101010101 01010101010101010101011011010101010101010101010101010101010101010101010101010101010101010101011010100100010101010110101010101010101010101 10010101010110101010111110101010101010101010101010101010111110101010101001010101011110110111110100101010100000110101111111011010101011011 Speicherkomponenten - Halbleiterspeicher Re-Programmierbare ROM: EEPROM (E²PROM) sind ROM Bausteine zur mehrmaligen Programmierung durch den Anwender Electrical erasable PROM ist ein Oberbegriff für mehrere Varianten, die Bit-, Wort- Sektorweise oder vollständig löschbar und neu programmierbar sind. Sie nehmen eine Zwitterstellung zwischen RAM und ROM ein. Allgemeine Eigenschaften der E²PROM: • frei programmierbare Festwertspeicher • vom Anwender wiederholt programmierbar (nach Herstellerangaben bis zu 106 Lösch/Schreibzyklen möglich) • Programmierspannungen und Zeitbedingungen bei verschiedenen Typen und Herstellern unterschiedlich (Programmiergeräte verwenden) • Anwendung: zeitlich stabiler Programmspeicher (die gespeicherten Daten sind nach Herstellerangaben über 10 Jahre stabil) 10 HINTERBERGER M. 2007 INSTITUT FÜR ELEKTRONIK 5 10101010101110101010101010101010101010010101010101010101010101001010101010101010101010101010101010101010101010101011111010100010101010101 01010101010101010101011011010101010101010101010101010101010101010101010101010101010101010101011010100100010101010110101010101010101010101 10010101010110101010111110101010101010101010101010101010111110101010101001010101011110110111110100101010100000110101111111011010101011011 Speicherkomponenten - Halbleiterspeicher Re-Programmierbare ROM: FLASH – Speicher (Flash-EPROM) sind flexible ROM Bausteine mit hoher Speicherdichte zur mehrmaligen Programmierung durch den Anwender Im Gegensatz zu „gewöhnlichem“ EEPROM-Speicher lassen sich beim Flash-EEPROM Bytes, die kleinste adressierbare Speichereinheit, nicht einzeln löschen. Anwendung finden Flash-Speicher überall dort, wo Informationen persistent (nichtflüchtig) auf kleinstem Raum gespeichert werden müssen. Allgemeine Eigenschaften der FLASH- Speicher: • frei programmierbare und freilöschbare Festwertspeicher • vom Anwender schnell programmierbar und auch schnell (elektrisch) löschbar • eingebaute Programmierhilfen ermöglichen eine einfache Handhabung • Bausteine sind EPROM anschlusskompatibel (Austausch gegen EPROM der gleichen Typennummer ist möglich) • zum Löschen und Re-Programmieren können die Bausteine auf der Leiterplatte verbleiben (OBP: On Board Programming; dazu wird das Programmiergerät über Steckadapter angeschlossen) 11 INSTITUT FÜR ELEKTRONIK HINTERBERGER M. 2007 10101010101110101010101010101010101010010101010101010101010101001010101010101010101010101010101010101010101010101011111010100010101010101 01010101010101010101011011010101010101010101010101010101010101010101010101010101010101010101011010100100010101010110101010101010101010101 10010101010110101010111110101010101010101010101010101010111110101010101001010101011110110111110100101010100000110101111111011010101011011 Speicherkomponenten - Halbleiterspeicher FLASH- SPEICHER PROGRAMMIEREN LÖSCHEN Anmerkung: Ein Flash-Speicher besteht aus einer bestimmten, von der Speichergröße abhängigen Anzahl einzelner Speicherelemente. Die Speicherung eines Bits innerhalb eines solchen Speicherelements erfolgt über ein Floating Gate, dem eigentlichen Speicherelement des Flash-FETs. Es liegt zwischen dem Steuer-Gate und der Source- Drain- Stecke und ist von dieser wie auch vom Steuer- Gate jeweils mittels einer Oxid- Schicht isoliert. Im ungeladenen Zustand des Floating Gate kann bei am Gate aufgesteuertem Transistor in der Source- Drain- Strecke (sog. Kanal) ein Strom fließen. Werden über das Steuer- Gate durch Anlegen einer hohen positiven (10..18 V) Spannung Elektronen auf das Floating- Gate gebracht, so kann in der Source- DrainStrecke auch bei aufgesteuertem Transistor kein Strom mehr fließen: das negative Potential der Elektronen auf dem Floating Gate wirkt der Spannung am Steuer- Gate entgegen und hält den Flash-Transistor geschlossen. Der ungeladene Zustand wird wieder erreicht, indem die Elektronen durch Anlegen einer hohen negativen Spannung über die Steuergate- Kanal- Strecke wieder aus dem Floating Gate ausgetrieben werden. 12 HINTERBERGER M. 2007 INSTITUT FÜR ELEKTRONIK 6 10101010101110101010101010101010101010010101010101010101010101001010101010101010101010101010101010101010101010101011111010100010101010101 01010101010101010101011011010101010101010101010101010101010101010101010101010101010101010101011010100100010101010110101010101010101010101 10010101010110101010111110101010101010101010101010101010111110101010101001010101011110110111110100101010100000110101111111011010101011011 Speicherkomponenten - Halbleiterspeicher FLASH- SPEICHER VORTEILE: • Datenerhalt bei fehlender Versorgungsspannung (nichtflüchtiger Speicher/nonvolatile Memory) • geringer Energieverbrauch im Betrieb • günstiger Massenspeicher • Auslesen funktioniert bei NOR-Typen genau so wie bei herkömmlichen statischen RAM-Bausteinen • resistent gegen Erschütterungen • kleine Bauform NACHTEILE: • langsamer als RAM (Random Access Memory), vor allem beim Schreiben • es können (oft) nur ganze Sektoren auf einmal gelöscht werden • relativ komplexe Ansteuerung beim Schreiben/Löschen (Memory Controller erforderlich, z. T. werden Flash-Speicher sogar mit eigenen intelligenten Interfaces ausgestattet) • begrenzte Anzahl von Schreibzyklen, schon beim Annähern an diese Grenze steigende Unzuverlässigkeit 13 INSTITUT FÜR ELEKTRONIK HINTERBERGER M. 2007 10101010101110101010101010101010101010010101010101010101010101001010101010101010101010101010101010101010101010101011111010100010101010101 01010101010101010101011011010101010101010101010101010101010101010101010101010101010101010101011010100100010101010110101010101010101010101 10010101010110101010111110101010101010101010101010101010111110101010101001010101011110110111110100101010100000110101111111011010101011011 Speicherkomponenten - Halbleiterspeicher Schreib – Lesespeicher RAM RAM (Random Access Memory) sind Arbeitsspeicher, die schnelles Speichern (Schreiben) und Lesen von Daten ermöglichen Schreiben und Lesen sind getrennte Vorgänge. Beim Lesen wird die gespeicherte (d.h. vorher eingeschriebene) Information nicht gelöscht. Beim Schreiben wird die vorher gespeicherte Information überschrieben. RAMs sind in der Regel flüchtige Speicher, beim Ausschalten der Betriebsspannung gehen alle Informationen verloren. Sonderausführungen zum Speicherschutz: • Batteriegepufferte CMOS Speicher (Zero Power RAM) • Kombination aus RAM und EEPROM (NOVRAM = Non Volatile RAM) Geschichte: Ende der fünfziger Jahre entwickelten Vorläuferfirmen von Silicon Valley integrierte Schaltkreise zur Datenspeicherung. Somit wurden die schweren, langsamen und teilweise unzuverlässigen Ferritkerne ersetzt. Der RAM dient zur kurzfristigen Speicherung von Daten und ermöglicht das Abarbeiten von Programmen durch die CPU. Diese werden hierbei von einem externen Datenträger gelesen und in den Arbeitsspeicher geschrieben. Nachdem eine Auswertung und Veränderung erfolgt ist, müssen sie wieder auf den Datenträger gebracht werden. Die Verbindung erfolgt über Busse (Adressbus, Datenbus, Steuerbus) 14 HINTERBERGER M. 2007 INSTITUT FÜR ELEKTRONIK 7 10101010101110101010101010101010101010010101010101010101010101001010101010101010101010101010101010101010101010101011111010100010101010101 01010101010101010101011011010101010101010101010101010101010101010101010101010101010101010101011010100100010101010110101010101010101010101 10010101010110101010111110101010101010101010101010101010111110101010101001010101011110110111110100101010100000110101111111011010101011011 Speicherkomponenten - Halbleiterspeicher Statische RAM (SRAM) speichern die Information in statischen Speicherzellen. Die Speicherwirkung ist an das Vorhandensein der Versorgungsspannung gebunden (flüchtige Speicherung). Im Gegensatz zu DRAMs müssen, um die Daten zu erhalten, außer der Betriebsspannung keine Signale zum Auffrischen erzeugt werden. Die Daten bleiben also auch bei statischer Ansteuerung erhalten, ohne dass die Steuerleitungen ihren Zustand ändern. Aufbau: Die elementare Speicherzelle eines SRAM ist das Flipflop. Durch diese Realisierung ist der Speicherbaustein relativ schnell und lässt sich einfach ansteuern. Der Nachteil liegt jedoch in der technologisch aufwendigen (teuren) Herstellung. Zudem kommt ein größerer Strom- und Platzbedarf, da für das Flipflop und dessen Ansteuerung mindestens 6 Transistoren benötigt werden. Flip-Flop: SRAM- Chip: Ein 4 Mbit großen SRAMSpeicher, bei dem jede 1bit-Speicherzelle bestehend aus sechs Transistoren - auf einer Fläche von 0,57 µm² Platz findet Ein Flipflop (engl. flip-flop), auch bistabile Kippstufe oder bistabiles Kippglied genannt, ist eine elektronische Schaltung, die zwei stabile Zustände einnehmen und diese speichern kann. 15 INSTITUT FÜR ELEKTRONIK HINTERBERGER M. 2007 10101010101110101010101010101010101010010101010101010101010101001010101010101010101010101010101010101010101010101011111010100010101010101 01010101010101010101011011010101010101010101010101010101010101010101010101010101010101010101011010100100010101010110101010101010101010101 10010101010110101010111110101010101010101010101010101010111110101010101001010101011110110111110100101010100000110101111111011010101011011 Speicherkomponenten - Halbleiterspeicher SRAM - Ausführungen • Asynchrone Speicher (Asynchronous Static Memory) Diese Speicher benötigen kein Taktsignal und sind adressen-aktivierbar • Synchrone Speicher (Synchronous Static Memory) SRAM mit getakteter Adresseingabe in einen Zwischenspeicher •Burst–RAM " sind synchrone SRAM mit integriertem Burst Zähler (z.B. bei CACHE Speichern). Vom Prozessor wird nur die Startadresse auf den Adressbus gelegt. Nach der Zwischenspeicherung im Adressregister des RAMs kann der Prozessor andere Operationen durchführen. Anmerkung: Prinzipielle Anordnung der Speicherzellen in Reihen und Spalten (Matrix) in einem RAM. Die Adresscodierer befinden sich auf dem gleichen Chip. Der Schreib- / Leseschaltkreis schaltet die Informationsrichtung um und verstärkt die schwachen Signale der adressierten Speicherzellen. Schreib/Lesevorgang: ~5-60ns/~5-60ns 16 HINTERBERGER M. 2007 INSTITUT FÜR ELEKTRONIK 8 10101010101110101010101010101010101010010101010101010101010101001010101010101010101010101010101010101010101010101011111010100010101010101 01010101010101010101011011010101010101010101010101010101010101010101010101010101010101010101011010100100010101010110101010101010101010101 10010101010110101010111110101010101010101010101010101010111110101010101001010101011110110111110100101010100000110101111111011010101011011 Speicherkomponenten - Halbleiterspeicher Dynamische RAM (DRAM) speichern die Information in dynamischen Speicherzellen. Die Speicherwirkung ist an das Vorhandensein der Versorgungsspannung und eine periodische Datenauffrischung (Refresh) gebunden (flüchige Speicher) Prinzip: Prinzipschaltung von DRAM Diese Form des RAMs besteht nur aus einem Transistor, der zusammen mit einem Kondensator eine Zelle bildet. Durch diese Kombination werden höchste Speicherkapazitäten auf kleinstem Raum erreicht, was allerdings Zugeständnisse in der Geschwindigkeit und eine aufwendige Steuerung erfordert. Dafür sind die Herstellungskosten im Gegensatz zum SRAM geringer. Um ein Überforderung des Speicherchips bei zu hoher Taktfrequenz zu vermeiden, werden Wartezyklen eingeführt, die die Zugriffsgeschwindigkeit herabzusetzen. Da Kondensatoren ihre Ladung verlieren ist eine periodische Auffrischung notwendig. Diese erfolgt ca. alle 3 ms, wobei der Inhalt gelesen, verstärkt und erneut abgespeichert wird. Funktionsweise: Jede Speicherzelle besteht aus 3 Schichten, die oberste Schicht, die Zellplatte, steht ständig unter positiver Spannung. Darunter befindet sich eine Isolierschicht und eine Lage aus dotiertem Silicium. Durch die positive Spannung der oberen Schicht werden die Elektronen der unteren angezogen, so daß sie unter der Isolierschicht kleben, dieser stabile Zustand entspricht der binären Null. Durch positive Spannung lassen sich die an der Isolierschicht angelagerten Elektronen absaugen. Dadurch entsteht eine Raumladungszone ohne freie Elektronen, die einer binären Eins entspricht. Da dieser Zustand instabil ist, muss eine Auffrischung erfolgen. Deswegen besteht der größte Teil des Speicherchips aus einem Speicherzellenfeld, welches für die Speicherung vieler Einsen und Nullen verwendet wird. Durch die Anordnung der Zellen in Form einer Matrix wird jede Speicherzelle durch eine Zeilen- und Spaltennummer eindeutig bestimmt. Schreib/Lesevorgang: ~25-50ns/~25-50ns 17 INSTITUT FÜR ELEKTRONIK HINTERBERGER M. 2007 10101010101110101010101010101010101010010101010101010101010101001010101010101010101010101010101010101010101010101011111010100010101010101 01010101010101010101011011010101010101010101010101010101010101010101010101010101010101010101011010100100010101010110101010101010101010101 10010101010110101010111110101010101010101010101010101010111110101010101001010101011110110111110100101010100000110101111111011010101011011 Speicherkomponenten - Halbleiterspeicher RAM Übersicht (nicht vollständig): Abkürzung Erklärung Bemerkung SRAM static random access memory schnell, teuer, ohne refresh SSRAM synchronous SRAM synchronisiert DRAM dynamic random access memory benötigt refresh, preiswert CDRAM cached DRAM sync. Zugriff durch SRAM Cache EDO-RAM extended data out DRAM gepufferter Datenausgang EDRAM enhanced DRAM integrierter SRAM Cache MDRAM Multibank DRAM einzelne 32 KByte Speicherbänke PM-DRAM page mode DRAM beschl. Zugriff bei gleicher Zelle RDRAM rambus DRAM sehr schneller Datenbus SDRAM synchronous DRAM synchroner Speicherzugriff 3D-RAM Grafikspeicher, auf 3D- Operat. optimiert FBRAM frame buffer RAM interne ALU für Z-Vektor bei 3D- Operat. FRAM ferroelektrisches RAM Prinzip des ferroelektr. Kondensators NVRAM non volatile RAM Kombination aus SRAM und EEPROM SGRAM synchronous graphic RAM SDRAM mit zusätzl. Videofunktionen VRAM Video RAM gleichzeitiger Zugriff von 2 Seiten WRAM Windows RAM VRAM mit EDO Eigenschaften weiterhin existieren noch kombinierte Speichertypen mit dem Burst- sowie dem Piplined- Burst- Modus 18 HINTERBERGER M. 2007 INSTITUT FÜR ELEKTRONIK 9 10101010101110101010101010101010101010010101010101010101010101001010101010101010101010101010101010101010101010101011111010100010101010101 01010101010101010101011011010101010101010101010101010101010101010101010101010101010101010101011010100100010101010110101010101010101010101 10010101010110101010111110101010101010101010101010101010111110101010101001010101011110110111110100101010100000110101111111011010101011011 On-Chip Peripherie – Systemkomponenten für µC On-Chip Peripherie eines C167 µC von Infineon : Allg. Beispiele für µC-Peripherie: • Interrupt Controller •Taktoszillator • Eingabe- und Ausgabe- Ports (I/O Ports) • Timer (verschiedene Timer und CounterFunktionen) • Kommunikationsschnittstellen (UART, I²C, SPI, CAN, IrDA…) • Analog/Digital-Umsetzer (ADU) • Digital/Analog-Umsetzer (DAU) • Externe Interrupts • Echtzeituhr (RealTime Clock RTC) • WatchDogTimer (WDT) • Ansteuerung von Anzeigebauelementen (LCD- Anzeigen, LED Anzeigen) • Verschiedene Stromsparfunktionen • Debugging- Unterstützung 19 INSTITUT FÜR ELEKTRONIK HINTERBERGER M. 2007 10101010101110101010101010101010101010010101010101010101010101001010101010101010101010101010101010101010101010101011111010100010101010101 01010101010101010101011011010101010101010101010101010101010101010101010101010101010101010101011010100100010101010110101010101010101010101 10010101010110101010111110101010101010101010101010101010111110101010101001010101011110110111110100101010100000110101111111011010101011011 On-Chip Peripherie – Systemkomponenten für µC Interrupt-System: Die Auslegung eines Interrupt-Systems für einen µC wird durch die integrierenden Interrupt- fähigen Peripheriekomponenten bestimmt Eigenschaften vieler Interrupt- Systeme: • Jede Interrupt – Quelle verfügt über ein eigenes Enable Flag • über ein globales Enable– Flag kann die Weiterleitung von Interrupt- Anmeldungen an den Core gesperrt werden • Nach einem RESET ist eine Grundpriorität der Interrupt- Quellen eingestellt • Es bestehen umfangreiche Möglichkeiten zur Einstellung der Prioritäten • Unterschiedliche Interrupts benutzen z.T. den gleichen Interrupt- Vektor • Auftretende Interrupt Ereignisse werden in Request– Flags gespeichert • Request Flags können auch zum Polling benutzt werden Hinweis: Der in die Interrupt- Vektortabelle einzutragenden Interrupt Vektor für die entsprechende On- Chip Komponente ist bei vielen µC die direkte Startadresse der Interrupt – Serviceroutine (ISR) und kein Sprungbefehl zur ISR ! 20 HINTERBERGER M. 2007 INSTITUT FÜR ELEKTRONIK 10 10101010101110101010101010101010101010010101010101010101010101001010101010101010101010101010101010101010101010101011111010100010101010101 01010101010101010101011011010101010101010101010101010101010101010101010101010101010101010101011010100100010101010110101010101010101010101 10010101010110101010111110101010101010101010101010101010111110101010101001010101011110110111110100101010100000110101111111011010101011011 On-Chip Peripherie – Systemkomponenten für µC Interrupt-System: Notwendige Einstellungen für die Nutzung und Aktivierung eines Interrupts: • Eintrag des Interrupt- Vektors in die Interrupt- Vektortabelle • Definition der Betriebsart für die Interrupt auslösende Komponente • Einstellung der notwendigen Interrupt Priorität • Zulassen des Interrupts für die On-Chip Komponente • Erlauben von Interrupts im System • Programmierung der Interrupt – Serviceroutine (ISR) Anmerkung: Übliche Interrupt- Reaktionszeiten liegen im Bereich einiger Maschinenzyklen. Sehr schnell getaktete Systeme bieten Reaktionszeiten im Bereich von einigen 100ns, sodass anspruchsvolle Echtzeitanforderungen erfüllt werden können! Die Einstellung der Priorität für das Interrupt- System erfolgt über ein oder mehrere SFR. Hardware- Traps: Eine Besonderheit bei der Prioritätszuweisung stellen bei einigen µCs Hardware- Traps dar, die als spezielle Interrupts mit höchster Priorität eingeordnet sind und sich nicht sperren lassen. Hardware- Traps sind z.B. Core- nahe Fehlermeldungen Peripheral-Event-Controller: Zum schnellen Datentransfer, z.B. zum Laden des Senderegisters der seriellen Schnittstelle, sind einige µCs mit einem PEC (Peripheral Event Controller) ausgerüstet. Der PEC ist eine initialisierbare On-Chip-Hardware, die innerhalb eines Maschinenzyklus 8Bit- oder 16-Bit Datentransfers ohne weitere CPU Belastung ausführt. Ausgelöst wird der Transfer durch einen Interrupt. Quell- und Zieladresse und die Anzahl der PEC-Transfers lassen sich zuvor initialisieren 21 INSTITUT FÜR ELEKTRONIK HINTERBERGER M. 2007 10101010101110101010101010101010101010010101010101010101010101001010101010101010101010101010101010101010101010101011111010100010101010101 01010101010101010101011011010101010101010101010101010101010101010101010101010101010101010101011010100100010101010110101010101010101010101 10010101010110101010111110101010101010101010101010101010111110101010101001010101011110110111110100101010100000110101111111011010101011011 On-Chip Peripherie – Systemkomponenten für µC Sicherheitskomponenten: WatchDogTimer: Ein WatchDogTimer (WDT) besteht aus einem frei laufendem Zähler, der kurz vor seinem Überlauf durch das aktuelle Programm zurückgesetzt wird. Erfolgt das Rücksetzen nicht rechtzeitig, so wird durch den Zähler ein Reset oder ein Interrupt ausgelöst, wodurch das System in einen definierten Ausgangszustand versetzt wird. Innerhalb einer fehlerfrei laufenden Applikationssoftware lässt sich sicherstellen, dass der WDT vor seinem Überlauf zurückgesetzt wird. Ein Fehler in der Programmabarbeitung wird zu einem WDT-Reset für den µC führen. Oszillator-Safe-Guard: Beim Absinken der Versorgungsspannung reduziert der Oszillator-Safe-Guard (OSG) die Taktfrequenz auf den für die vorhandene Spannung zulässigen Maximalwert. Weiterhin überwacht der OSG die Funktion des Hauptoszillators und schaltet bei dessen Ausfall einen Hilfsoszillator zu. Low-Voltage-Detect: Die Funktion des Low-Voltage-Detect (LVD) überwacht den Spannungsanstieg beim Zuschalten der Betriebsspannung und untersucht zusätzlich im laufenden Betrieb die Versorgungsspannung auf Spannungseinbrüche. ESD-Schutz: Mit entsprechenden On-Chip-Schutzbeschaltungen sind ESD-Festigkeiten (Electro Static Discharge) von mehr als 5000V erreichbar. Stromsparmodi: HINTERBERGER M. 2007 Siehe 3. Vorlesung 22 INSTITUT FÜR ELEKTRONIK 11 10101010101110101010101010101010101010010101010101010101010101001010101010101010101010101010101010101010101010101011111010100010101010101 01010101010101010101011011010101010101010101010101010101010101010101010101010101010101010101011010100100010101010110101010101010101010101 10010101010110101010111110101010101010101010101010101010111110101010101001010101011110110111110100101010100000110101111111011010101011011 On-Chip Peripherie – Systemkomponenten für µC Ports: Über Portpins ist der µC mit der Außenwelt verbunden. Üblich ist eine Zusammenfassung einzelner Portpins mit gleicher Funktionalität z.B. zu 8-Bit oder 16-Bit Ports. Welche maximale Datenbreite über die Ports digital übertragen werden kann, ist von der Breite des On-Chip Datenbusses abhängig. Anmerkung: I/O Ports eines C167 µC von Infineon: Typisch ist eine Ansteuerung der Ports für digitale I/O über Portregister. Daten werden über ein Port-Daten-Register (Port Data Register) bereitgestellt, die Richtung des Datentransfers bei bidirektionalen Ports wird über ein Datenrichtungsregister (Data Direction Register) definiert. Sind neben digitale, I/O Alternativfunktionen für Ports bzw. Portpins vorgesehen, so sind zusätzlich meist noch Steuerregister notwendig Hinweis: Als Ausgangstufen findet man Open- Drain, Pull-Up und Open- Kollektor Stufen. Zusätzlich wird TristateVerhalten vorgesehen, wenn die Ports alternativ einen externen Daten-/Adressbus bereitstellen. 23 HINTERBERGER M. 2007 INSTITUT FÜR ELEKTRONIK 12