aus Wikipedia, der freien Enzyklopädie
der kleinste Mikrocontroller der Welt im Vergleich zum Standard SOT-23 Gehäuse
Bei den 78K-Familien handelt es sich um 8 Bit beziehungsweise 16 Bit Mikrocontrollerfamilien, die von der Firma NEC hergestellt werden. Ursprünglich waren nur 8 Bit Produkte geplant und auf dem Markt erhältlich. Ende 2006 wurde eine weitere 78K-Familie, die „78K0R“ als 16 Bit Mikrocontroller ergänzt.
Die verschiedenen Familien sind dabei
die kleineren Controller innerhalb der 8 Bit Familie mit reduziertem Befehlssatz
-
- hier sind nur Produkte der K-Serie für Standardanwendungen, 78K0S/Kx1+, verfügbar, mit 1 bis 8 KByte Flash, 128 oder 256 Byte RAM, 1 Registerbank mit den 8 bzw. 16 Bit Registern A-X, B-C, D-E und H-L, Gehäusegrößen von 10 bis 30 Pin[1]
-
- Aus dieser Familie stammt auch das weltweit kleinste Chipgehäuse für einen Mikrocontroller, als BGA-Gehäuse mit den Aussenmaßen von nur rund 1,9 mm × 2,2 mm bietet es Platz für 16 Balls (Pins) und unter anderem integrierten 4 Kilobyte Flash, 128 Byte RAM, 4 Kanal 10 Bit AD-Wandler, ein 8 Bit und ein 16 Bit Timer, bis zu 14 I/O Leitungen sowie On-Chip Oszillatoren. Die Produktbezeichnung lautet 78K0/KY1+ bzw. µPD78F921x
die Standard 8 Bit Familie mit mehreren Unterfamilien, 4 Registerbänke mit jeweils 8 bzw. 16 Bit Registern A-X, B-C, D-E und H-L, Hardware Multiplizierer- und dividierer (8x8 bzw. 16/8 zum Teil auch mit 16x16 bzw. 32/16)
-
- K-Serie für Standardanwendungen, 78K0/Kx2, mit 8 bis 128 KByte Flash, 512 Byte bis 7 KByte RAM, Gehäusegrößen von 30 bis 80 Pin[2]. Die ältere Familie 78K0/Kx1+ in OTP Technologie sollte für neue Anwendungen nicht mehr verwendet werden
-
- F-Serie mit CAN, insbesondere für Automotiveanwendungen, 78K0/Fx2, mit 32 bis 128 KByte Flash, 2 Byte bis 7 KByte RAM, Gehäusegrößen von 44 bis 80 Pin[3]. Die ältere Familie 78K0/Fx1 in OTP Technologie sollte für neue Anwendungen ebenfalls nicht mehr verwendet werden
-
- L-Serie mit integriertem LCD-Controller, ganz neu (März 2007) ist die Serie 78K0/Lx3, es können LCD-Displays mit bis zu 8 fach multiplex mit 36 I/O, das heißt bis 288 Elemente (oder z. B. auch 4 × 40 Elemente) angesteuert werden. 8 bis 60 KByte Flash, 512 Byte bis 2 KByte RAM, Gehäusegrößen von 48 bis 80 Pin[4]. Daneben wird auch noch die ältere Version 78K0/Lx2 angeboten, diese bestehen im Gegensatz zur 78K0/Lx3 intern aus einer 2 Chip Lösung, hier können LCD-Displays nur bis zu 4 fach multiplex mit maximal 40 I/O angesteuert werden. 16 bis 128 KByte Flash, 756 Byte bis 7 KByte RAM, Gehäusegrößen von 64 bis 100 Pin
-
die neue 16 Bit Familie. Besonderheiten sind etwa der integrierte DMA-Controller, eine 3 stufige Befehlspipeline und bei einigen Produkten ein externes Speicherinterface. Der Registersatz ist der gleiche wie bei der 78K0-Familie, also 4 Bänke mit jeweils acht 8 Bit oder vier 16 Bit Registern. Aktuell werden nur Standardprodukte, sogenannte „general purpose“ angeboten, weitere Unterfamilien, wie z. B. die I-Serie für Motorsteuerungen sollen noch 2008 folgen
-
- K-Serie, 78K0R/Kx3, mit 64 bis 512 KByte Flash, 4 bis 30 KByte RAM, Gehäusegrößen von 64 bis 144 Pin [5]
-
- K-L-Serie, 78K0R/Kx3-L, mit 16 bis 64 KByte Flash, 1 bis 3 KByte RAM, Gehäusegrößen von 44 bis 64 Pin (geplant für 2008)
- I-Serie, 78K0R/Ix3, mit 16 bis 64 KByte Flash, 1 bis 3 KByte RAM, Gehäusegrößen von 30 bis 64 Pin (geplant für 2008)[6]
[Bearbeiten] Speicheraufteilung
Die Speicheraufteilung ist nach der Von-Neumann-Architektur ausgeführt, d. h. Programm- und Datenspeicher werden über einen gemeinsamen Bus angesprochen.
Bei den 8 Bit Controllern der Serie 78K0 kann ein Flashbereich bis 60 KB linear angesprochen werden, bei den Bausteinen mit mehr als 60 KB Flash werden die Bereich größer 32 KByte in sogenannte Bänke von jeweils 16 KByte eingeteilt.
Die 16 Bit Controller der Familie 78K0R können ihren kompletten Speicher linear adressieren.
[Bearbeiten] Interruptbehandlung
Voll vektorisierte Interruptbearbeitung für jede Interruptquelle mit zuweisbarem Prioritätslevel
Die Mikrocontroller der 78K-Familie verfügen alle über einen relativ genauen 8 MHz Oscillator auf dem Chip. Darüber hinaus befindet sich noch ein sehr stromsparender 240 kHz Ringoszillator für den Watchdog auf dem Chip, dieser Ringoszillator kann aber nicht die CPU oder andere Peripherie mit einem Takt versorgen.
[Bearbeiten] Interne Peripherie
Es existiert eine große Vielfalt an verschiedenen Ausführungen der 78K-Familien. Diese enthalten viele unterschiedliche interne Peripherieeinheiten. Die gebräuchlichsten sind
- Timer, sowohl 8 und 16 Bit Timer sind vorhanden
- A/D-Wandler, je nach Variante vorhanden, aber wenn dann stets 10 Bit
- PWM ist bei vielen 78K-Controllern vorhanden
- Standard-Kommunikationsschnittstellen (seriell, z. B. RS232, davon zumeist auch eine LIN kompatible UART, SPI und I²C) sind auf den meisten Controllern vorhanden
- USB, bei den ASSP gibt es auch Produkte mit einem USB-Function (Slave) für maximal 12 MBit/s, FullSpeed-USB
- CAN, bei der Unterfamilie 78K0/Fx2, gibt es eine große Zahl an verschiedenen Controllern mit Unterstützung für CAN 2.0B
- Watchdog-Timer, ist bei allen Mikrocontrollern vorhanden
- LCD-Treiber sind bei den 78K0/Lx3 zu finden. Sie können kleine, einfarbige Displays mit bis zu 40 Elementen oder im Multiplexverfahren bis 288 Elemente ansteuern
Diese Peripheriefunktionen werden über spezielle Funktionsregister angesprochen und können je nach Funktion verschiedene Interrupts auslösen.
[Bearbeiten] Programmentwicklung
Um den Microcontroller in einer Anwendung einsetzen zu können, muss zuerst vom Entwickler ein Programm entwickelt werden. Die Programmentwicklung kann mittels Assembler oder einer Hochsprache, z. B. C geschehen. In der Industrie kommt heute zumeist nur noch C zum Einsatz, da der Programmcode später damit besser zu pflegen ist.
- Von NEC und von IAR sind C-Compiler zur Programmerzeugung lieferbar.
- Zum Debuggen kann man auf den Emulator von NEC, den IE-Cube, zurückgreifen. Mit dem IE-Cube kann man die Chips aber nicht programmieren.
- Zum preisgünstigen Debuggen kann man auch auf einen Debugger von NEC, den ältern MiniCube (verschieden für die verschiedenen Familien) oder den neuen MiniCube2 (ein Modell für alle Familien inklusive der 32 Bit V850 Controller), zurückgreifen. Mit den MiniCube und MiniCube2 kann man die Chips auch programmieren.
- Dieser Vorgang wird auch als Brennen bezeichnet. Dies bedeutet, dass Informationen (z. B. ein compiliertes Programm, auch Firmware genannt) auf dem internen Flash-Speicher des Bausteins gespeichert werden. Hierzu bieten die 78K-Microcontroller eine serielle Programmier-Schnittstelle, die auch noch zur Übertragung des Maschinencode benutzt werden kann, wenn der Chip bereits in die Schaltung eingebaut wurde. Dieser Vorgang kann dann mit einem Programmiergerät oder einem der oben aufgeführten Debugger durchgeführt werden. Ein günstiges Programmiergerät gibt es von NEC unter der Bezeichnung ‚PG-FP5‘.
Die universellen Microcontroller von NEC lassen sich in allen Standard- und Spezialanwendungen von Industrie, Automobiltechnik, Kommunikation oder Medizintechnik einsetzen. Viele Anwender und Entwickler greifen immer wieder gern auf diese Produkte zurück. Hauptanwendungsgebiete sind in der Antriebstechnik zum Ansteuern und Regeln von Motoren, z. B. Bürstenmotoren (DC-Motoren) oder Bürstenlose Motoren (BLDC), in der Automobilelektronik als intelligenter Sensor oder Aktor.
- ↑ NEC Homepage für die 78K0S
- ↑ NEC Homepage für die 78K0/Kx2
- ↑ NEC Homepage für die 78K0/Fx2
- ↑ NEC Homepage für die 78K0/Lx2 und Lx3
- ↑ NEC Homepage für die 78K0R/Kx3
- ↑ NEC Homepage für die 78K0R/Ix3