Elektronik im Wandel der Zeit

Auf dieser Seite möchte ich einige interessante Elektroentwicklungen der letzten 50 Jahre beschreiben.

In diesem Artikel werde ich über meine eigenen Hardware-Entwicklungen zu diesem Thema berichten.

In diesem Artikel geht es um die digitale Schaltungstechnik, welche die Basis für die Elektronikentwicklung der letzten Jahrzehnte bildet. Diese Auflistung ist auch ein Spiegel meiner langen Erfahrung im Bereich der Elektronikentwicklung und zeigt einige meiner Projekte.

Weitere Informationen finden Sie in einem Artikel im Downloadbereich.

Integrierte Schaltungen

Wie auf der oben verlinken, Wikipedia-Seite erläutert, begann das Elektronikzeitalter mit der Erfindung des Transistors in den 40er Jahren des vorherigen Jahrhunderts.

In den 60er Jahren konnten dann diverse Transistoren und weitere elektronische Komponenten wie Dioden und Widerstände in einem kleinen Gehäuse untergebracht und dieser Baugruppe eine festgelegte Funktion zugeordnet werden. Das war die Geburt der ersten elektronischen Schaltkreise, diese werden seither IC (engl. für integrated circuit) bezeichnet.

In diesem Artikel soll es um komplexere elektronische Schaltungen gehen. Mit der sogenannten TTL-Technik begann das Zeitalter der Logiktechnik, die heute mit dem Oberbegriff Digitaltechnik bezeichnet wird …

Bild: Wikipedia, TTL-Chiip

Anfang der 60er Jahre wurden die ersten integrierten Digitalschaltkreise in einem integrierten Chip entwickelt. Diese Schaltkreise bildeten eine Familie mit der Bezeichnung 74XXX, wobei der XXX eine Bezeichnung der integrierten Logikschaltung darstellt. Einige gängige Schaltungen sind:

7400 → 4-fach-NAND-Schaltung,  siehe Bild links.

74138 → 8-fach-Decoder

74245 → 8-fach-Busverstärker

Diese Bausteine wurden immer weiter verbessert und die zugrundeliegende Technologie wurde als Buchstabe in oben genannte Nomenklatur eingeführt. 74LS00 bedeutet z.B. Low Power Shootky. Weitere Technologien siehe Wikipedia. Aktuelle Schaltkreise dieser Serie werden in der CMOS-Technik gefertigt, diese erkennt man an dem Buchstaben H in der Bezeichnung.

Die Schaltungstechnik größerer ICs, wie zum Beispiel Mikroprozessoren.

Die ersten Mikroprozessoren, welche in den 70er Jahren auf den Markt kamen, waren in der sogenannten NMOS-Technologie gefertigt. Das waren damals die bekannten Prozessoren mit 8 Bit breiten Datenbussen z.B. von Intel, Motorola und Zilog.

Heutzutage werden Prozessoren hingegen in der CMOS-Technik hergestellt. Diese haben eine wesentlich geringere Verlustleistung als die älteren NMOS und auch MOS-basierten Prozessoren. Zusätzlich wurde aus demselben Grund die Betriebsspannung von ehemals 5 Volt auf 3,3 Volt und heute auf 1,8 Volt reduziert.

Das Bild rechts zeigt einen Prozessor von der Firma NEC vom Standardtyp 8086, dieser basiert auf dem selbigen Prozessor von Intel (in NMOS-Technologie) und war die Basis der ersten Personal-Computer (PC). Auf der Webseite der CPU-Galerie finden sich weitere Daten zu vielen anderen CPUs und deren Daten.

Bild: CPU-Galerie.de

Die Technologie von Speicherbausteinen

1) Arbeitsspeicher = RAM (Random Access Memory)

Eine wichtige Komponente eines Computers ist der Speicherbaustein, in welchem der Mikroprozessor seine temporär (dynamisch) bearbeiteten Daten abspeichern kann.

In den ersten Jahren benötigten diese Schaltkreise einen regelmäßigen Auffrischungsimpuls, um die Daten zu speichern. Diese Speicher haben die Bezeichnung DRAM (Dynamic Radom Access Memory). In den 80er Jahren waren diese DRAM-Speicher Stand der Technik.

Spätere Speichertechniken konnten auf den Auffrischungsimpuls verzichten und werden als SRAM (Static Radom Access Memory) bezeichnet.

Bild: Wikipedia, Computerboard von 1990

Das Bild links zeigt ein NeXTCube Computerboard von 1990. Dieser Computer verwendete 16 senkrecht verbaute DRAM-Platinen mit je 4 MByte Speichervolumen, das sind in Summe 64 MByte Speicher.

Heutzutage haben Personal Computer durchaus 16 GByte und mehr.  Das ist das 256-fache dieses Computers von 1990!

2) Festwertspeicher = ROM (Read only Memory)

Bei den ROM-Speichern geht es um einen Speicher, welcher seinen Inhalt im laufenden Betrieb eines Computers nicht mehr ändern kann. In diesem Speicher wird in der Regel das Betriebssystem eines Computers gespeichert.

Bei größeren Systemen ist in den ROM-Speichern nur der Teil des Betriebssystems gespeichert, welcher lediglich Grundfunktionen des Betriebssystems abdeckt. Die Fachbezeichnung dafür lautet BIOS (Basic Input/ Output System). Das eigentliche Betriebssystem wird dann beim Start des Computers von der Festplatte geladen.

Ein ROM-Speicher wird in unterschiedlichen Technologien (siehe obigen Wikipedia-Eintrag) hergestellt.

In diesem Beitrag geht es im ersten Fall um den Typ EPROM, dieser Typ wird mit einem speziellen Programmiergerät programmiert und kann bei Bedarf mit UV-Licht wieder gelöscht werden. Dieser Typ wurde in den 70er und 80er Jahren in der Elektronikentwicklung eingesetzt. In der Großserienfertigung kamen dann die ROM- und PROM-Bauarten zum Einsatz.

Das nebenstehende Bild zeigt einen einfachen Programmieradapter für ein EPROM (siehe den Chip in dem blauen Sockel). Dieses ist ein Selbstbauprojekt von Thomas Neveling. Wie dort beschrieben, erfolgte die Programmierung eines EPROMs mit einer deutlich höheren Spannung (12,5 Volt) als die normale Betriebsspannung von 5 Volt.

Im professionellen Einsatz sind die Programmiergeräte natürlich deutlich größer und können oft auch mehrere EPROMs parallel programmieren.

Bild: Thomas Neveling. Selbstbau Programmiergerät

Eine neuere Variante des EPROMs sind die elektrisch löschbaren ROM-Bausteine, die EEPROMs. Eine gute Aufstellung der Grundlagen zu diesen Bauelementen und deren Varianten findet der Leser auf der Webseite von Batronix.

Mein persönlicher Einstieg in die Welt der Mikroprozessoren und der digitalen Schaltungstechnik

Bild: Forum Classic-Compunting.de

In den frühen 80er Jahren starte ich meine Laufbahn als Hardwareentwickler mit einem Selbstbauprojekt der Zeitschrift „mc“. Dieses Projekt basierte auf der Motorola MC-68000 Familie, dem damals modernsten 16-Bit-Prozessor.

Das links gezeigte Bild zeigt einen solchen Computer. Er besaß 8 Steckplätze für Erweiterungsboards. Der Computer wurde als Bausatz vertrieben und besaß das Betriebssystem CPM/68k.

Dieser Selbstbaucomputer begleite mich die 80er Jahre, insbesondere während meines Studiums. Meine kleine Ingenieurarbeit hatte die Entwicklung einer 1 MB-DRAM großen Speichervereiterung für diesen Computer zum Ziel.

Zum Abschluss meines Studiums habe ich dann zwei weitere Erweiterungskarten für diesen Computer entwickelt: Eine Erweiterungsplatine zum Anschluss einer MFM-Festplatte und parallel dazu einen 4-Kanal-DMA-Controller.

Festplatten-Controller für den mc68000 Computer

Diese beiden Bilder zeigen das „Produkt“ meiner Diplomarbeit. Drei Monate harte Arbeit steckten in diesem Projekt. Die komplette Softwareeinbindung in das CPM/68k und diverse Testroutinen waren ebenfalls Teil meiner Diplomarbeit. Der Lohn dafür war die Bestnote Note 1,0 für diese Arbeit auf welche ich bis heute Stolz bin.

4-Kanal DMA-Controller für den mc68000 Computer

Auch in den ersten Jahren als Entwicklungsingenieur begleitete mich die Motorola MC68000 Familie:

In dieser Zeit entwickelte ich ein I/O-Board für einen Feuerleitrechner eines Artilleriesystems und eine stabilisierte Plattform für die optischen Komponenten eines Kampfhubschraubers. Genauere Details möchte ich aus naheliegenden Gründen nicht veröffentlichen,

Programmierbare Logikbausteine.

Anfang der 80er Jahre erschienen die programmierbaren Logikbausteine. Hiermit konnte der Entwickler bestimmte Logikfunktionen innerhalb eines ICs festlegen und damit einige der oben genannten integrierten Logikbausteine ersetzen.

In den ersten Jahren waren es vorwiegend Adressdecoder, um die Speicherbausteine auf einem Computerboard zu adressieren, welche mit PALs und GALs realisiert wurden.

Die erste Generation dieser Bausteine wurde PAL (Programmable Array Logic) genannt. Diese Bausteine konnten nur einmal programmiert werden. Die Weiterentwicklung der PALs waren die GALs Generic Array Logic, welche wiederprogrammierbar waren. Die GALs konnten die PALs vollständig ersetzen, da sie pinkompatibel waren.  An Ende der 80er Jahren waren GALs in der Hardwareentwicklung dominierend anzutreffen.

Die technologische Weiterentwicklung waren die CPLDs Complex Programmable Logic Device und die noch komplexeren FPGAs (Field Programmable Gate Array). Diese Bausteine haben in den 90er Jahren die PALs und GALs fast vollständig ersetzt. Um diese komplexen Bausteine zu programmieren, wurden spezielle Programmiersprachen entwickelt, wie z.B. VHDL (Very High Speed Integrated Circuit Hardware Description Language).

In-System-Programmierung

Der nächste Innovationsschritt in den 90er Jahren war die In-System-Programmierung. Bei dieser Technik geht es darum, um Logikbausteine wie CPLDs und Mikrocontroller direkt im eingebauten Zustand zu programmieren. Diese Technik brachte den Entwicklern eine deutliche Vereinfachung in der Entwicklung, da nachträgliche Änderungen in der Funktion auf fertigen Platinen leicht durchgeführt werden konnten.

Im Bereich von In-System-programmierbaren Complex Programmable Logic Devices war ich den 90er Jahren als Applikationsingenieur für die Firma Eurodis Enatechnik tätig, um Kunden mit dieser neuen Technologie vertraut zu machen.

Im Folgenden zeige ich zwei von mir entwickelten Demonstrationsplatinen für diese Technologie aus den 90er Jahren.

Das nebenstehende Bild zeigt eine damals von mir entwickelte Demostationsplatine für den Logikbaustein ispLSI 1016 des Herstellers Lattice.

Dieser Baustein wurde auf der Platine über den Parallelport eines PCs programmiert. Die jeweiligen Ein- und Ausgänge des Bausteins konnten über den Steckanschluss abgegriffen werden.

Ansteuerbare LEDs, Schalter, ein Quarzoszillator u.a. Komponenten machten es möglich, das System einfach in Betrieb zu nehmen und es für Demostationen und Schulungszwecke zu nutzen.

Auf dem Lochrasterfeld konnte der Entwickler dann seine Schaltung testen.

Dieses Board war bei den Kunden sehr beliebt und wurde daher auch auf der Webseite von Yorck Thiele abgebildet.

Der ELV-Elektronikverlag veröffentlichte 1995 einige Publikationen zur ispLSI-Familie von Lattice und ein Fachbuch zu diesem Thema.

Für diesen Verlag habe ich seinerzeit diverse fachliche Informationen und einige Programmbeispiele geliefert.

PDS-Light Board from Enatechnik for ispLSI 1016
Demoboard Philips XPLA-Serie von In-system programmierbaren CPLD

Ein weiteres von mir für eurodis Enatechnik entwickeltes Demoboard habe ich für die CPLDs des Halbleiterherstellers Philipps entwickelt.

Diese Bausteinserie war ebenfalls In-System programmierbar. Der Aufbau des Demoboards ist ähnlich dem des zuvor gezeigten Lattice-Boards.

Der Unterschied sind die optionalen wechselbaren Programmiersockel für die verschiedenen Gehäusetypen dieser Bausteinserie.

Weitere Programmiersockel konnten einfach auf dieses Demoboard aufgesteckt werden. Zusätzliche Informationen und Bilder zum Thema finden Sie in meinem Artikel im Downloadbereich.

Mikrocontroller oder MCUs (englisch für Microcontroler)

Neben den reinen Mikroprozessoren entwickelten sich immer mehr Mikrocontroller. Diese Controller sind eine Abwandlung der reinen Mikroprozessoren, bei welchen Speicherchips und verschiedene Peripheriebausteine für den Betrieb eines Mikroprozessors bereits auf einen Chip integriert werden. Im Extremfall besteht das ganze System nur noch aus einem einzigen Computerchip, ergänzt um eine Spannungsversorgung und möglicherweise Leistungselektronik oder spezifische Elektronikkomponenten für den jeweiligen Einsatz.

Da Mikrocontroller hauptsächlich in Geräten eingebaut werden, welche keine hohe Rechenleistung benötigen, basiert die zugrundeliegende Prozessortechnologie meistens noch auf 8- und 16-Bit-Architekturen. Der im Wikipedia aufgeführte Artikel zu den Mikrocontrollern gibt dazu eine sehr umfassende Übersicht.

Mein erstes Projekt mit einem Mikrocontroller war die Entwicklung einer Temperatursteuerung für eine Heizung Ende der 80er Jahre. Dieses System verwendete den Intel 8052AH-Mikroprozessor. Dieser basiert auf der 8051-Standardarchitektur von Intel. Die Besonderheit des Typs 8051 AH war der integrierte Basic Interpreter. Damit konnte dieser Mikrocontroller erstmals in einer Hochsprache programmiert werden. Zur Programmierung benötigt man lediglich ein Terminal.

Das nebenstehende Bild zeigt ein Computerboard der Zeitschrift Elektor aus 1987. Auf der Homepage von Wolfgang Grobel, wird dieses Board näher beschrieben.

Für mein Projekt war dieses seinerzeit die Basis. Die Auswertung der Vorlauftemperatur und die Steuerung keines kleinen Elektromotors zur Verstellung des mechanischen Mischventils der Heizung konnte so einfach und schnell realisiert werden.

Mit dem Erscheinen von einfachen Computerboards auf Basis eines Mikrocontrollers können auch kostengünstige und einfach zu realisierende Steuerungen für Prototypen oder geringe Stückzahlen realisiert werden. Das gilt insbesondere, wenn die Abläufe der Steuerungsprozesse der zu realisierenden Schaltung langsam erfolgen.

Bild: Zeitschrift Elektor aus 1987

Mikrocontroller in heutiger Zeit

Ein weiterer interessanter Artikel über Mikrocontroller wurde von der IBM veröffentlicht. Wie bereits dargestellt, werden in vielen Applikationen in der Elektrotechnik eher langsamere Schaltvorgänge, wie z.B. für elektronische Regelungen, benötigt. Das ist die typische Domäne der Mikrocontroller (engl. MCU).

Im Folgenden möchte ich einige interessante Mikrocontrollerfamilien vorstellen, welche heute im Markt in großer Zahl verwendet werden:

Bild: www.futurlec.com ATmega Board

Eine aktuelle Mikrocontrollerfamilie stammt von dem Hersteller Microchip. Dieser Hersteller hat vor einigen Jahren den ursprünglichen Hersteller der ATmega-Familie, die Firma Atmel übernommen.

Wegen ihrer einfachen Programmierbarkeit und der guten Unterstützung sind diese Mikrocontroller in der Industrie sehr verbreitet. Mit einer Leistung von bis zu 20 MIPS eignet sich diese Familie auch für anspruchsvolle Projekte.

Eine weitere Familie von Mikrocontrollern ist die Raspberry Pi Familie. Diese Familie nutzt Prozessoren mit der Arm-Architektur.

Die Familie von kleinen Mikrocomputern gibt es bereits seit vielen Jahren. Sie sind insbesondere für ein Prototyping und kleinere Anwendungen, wie z.B. im Bereich von Smart Home Geräten geeignet.

Die Raspberry Familie gibt es in diversen Ausführungen und mit verschiedenen Betriebssystemen.

Ich besitze einen Raspberry Pi der ersten Generation und nutze als Betriebssystem das Lubuntu Linux aus der Unbuntu-Familie.

Die nächste interessante Mikrocontroller-Familie nennt sich Arduino.

Diese Familie basiert auf der oben genannten ATmega Familie und kam 2005 auf dem Markt. Diese Familie entwickelte sich in der Zeit zu einem größeren kommerziellen Erfolg.

Auch dieser Controller lässt sich sehr einfach programmieren und verfügt über eine kostenlose Entwicklungsumgebung. Für zukünftige kleinere Projekte ist diese Familie meine bevorzugte Wahl.

Bild: Arduino Uno Board
Bild: Facebok Arduino Usergruppe

 

Das nebenstehende Bild zeigt einen interessanten Vergleich zwischen der Arduino und der Raspberry-Mikrocontroller-Familie.

Die Arduino-Boards sind in der Leistung gegenüber einem Raspberry deutlich leistungsschwächer. Die Arduino-Boards sind insbesondere für kleinere Projekte zu empfehlen, insbesondere dann, wenn auf ein aufwendiges Betriebssystem verzichtet werden kann. Im Internet finden sich eine ganze Reihe von Usergruppen, welche sich mit dieser Controllerfamilie beschäftigen.

Die Raspberry-Familie gibt es schon seit vielen Jahren auf dem Markt. Die leistungsstarken Controller gibt es mittlerweile in der fünften Generation. Sie zeichnen sich gegenüber Intel-basierten Nano-Computern mit einem geringeren Stromverbrauch aus und können mit verschiedenen Betriebssystemen wie zum Beispiel Linux ausgestattet werden.

Die Raspberry-Familie ist auch die Basis für leistungsstarke Smart-Home-Systeme, wie den von mir favorisierten „Home Assistant“. Die modernsten Raspberry MCU’s basieren mittlerweile auf 64 Bit-Technologien.

Diesen Artikel werde ich demnächst fortsetzen.