Upload
mohd-hanif-bin-che-hasan
View
228
Download
0
Embed Size (px)
Citation preview
8/4/2019 Handbook Mcu
1/31
NE Handbook series 2011Microcontrollers
8/4/2019 Handbook Mcu
2/31
6
8
8
15
19
21
27
2828
30
31
32
33
34
35
36
37
3838
42
46
52
Guidelines for Selecting a Microcontrollerwith Required Functionsand Performance
Examine Product Specications
Control System
Select CPU and Peripheral Functions
According to Usage
Signal Processing System
Ensure Performance Meeting Requirement
Specications
Combined System
Examine Communication Standard between
Microcontroller and Other Devices
Examine Restricting Conditions
[ Column ]
The World's First Microprocessor
Born of the Calculator Wars "The 4004"
Microcontroller GlossaryCPU
Multi-Core
Embedded Flash Memory
Real-Time OS
Integrated Development Environment
DSC
Instruction Set Architecture
Analog Circuit
Serial Communication Interface
Genealogy of MicrocontrollersARM
Microcontroller-Dedicated Cores Derived
from General-Purpose Processor Cores
MIPS
Began as Processors for Workstations,Now Primarily Used for Embedded Applications
Renesas
Multiple Product Lines with Origins
in Three Companies,
Likely to be Integrated in One Line
Freescale
World's First Developer of
One-Chip Microcontroller Gains Edge
in Applications for Automobiles
and Communication Devices
NEHandbook2011
M
icrocontrollers
8/4/2019 Handbook Mcu
3/31
2 3
Mark ZackVice President of Semiconductor ProductDigi-Key Corporation
PR
Fully FeaturedMicrocontrollers SeeStrong Market Demand
Q What is the worldwide market trend for micro-
controllers in 2011?
Zack We expect to see continued expansion as micro-
controllers become more pervasive in our everyday lives.
Rapid advancements in smart medical devices, smart grids
and smart automobiles are driving growth. Semico Re-
search Corp. reports that the microcontroller industry will
grow by more than 13% in 2011.
Handling a large product portfolio
Q How many microcontroller vendors and items do
you handle? What are some of your microcontroller
vendor business partners?
Zack Today, we carry microcontrollers from roughly 20
manufacturers and sell more than 29,000 individual de-
vices.
Digi-Keys wide microcontroller portfolio includes devices
from Analog Devices, Atmel, Cirrus, Cypress, Energy Mi-
cro, Freescale, Fujitsu, Infineon, Maxim, Microchip, NXP,
Parallax, OKI Semiconductor/ROHM, Renesas, Silicon
Laboratories, ST Microelectronics, TI, Toshiba, and Zilog.
Comprehensive platforms support customers
Q Do you also handle software development kits, refer-
ence boards, and peripherals for microcontrollers?
With cutting-edge technologies like smart grids and
automobiles pushing demand for new functions such
as higher clock speeds, wider bus paths, and extended
peripherals on-chip, microcontrollers are becoming
more powerful and feature-laden. They are expected to
see strong market growth in 2011. We sat down with
Mark Zack,Vice President of Semiconductor Product,
Digi-Key Corporation, to discuss market and technol-
ogy trends, and to learn how the company efficiently
handles so many products to meet worldwide demand.
8/4/2019 Handbook Mcu
4/31
4 5
Digi-Key CorporationTel1-800-344-4539Fax218-681-3380USURLhttp://www.digikey.com/
PR
Zack Digi-Key has one of the most complete oerings of
design platforms for the engineering community. We sup-
port manufacturers design tools and platforms along with
the vast majority of qualied third-party support compa-
nies.
The expansion of these third parties has been a big push
for Digi-Key in the recent past. We have added numerous
partners that support controller manufacturers with mid-
dleware, compilers, integrated development environments,
development platforms, single-board computers, program-
mers, emulators, and more.
Q What trends are customers looking for in micro-
controllers now?
Zack Customers power considerations have pushed
manufacturers to produce devices that have low sleep cur-
rent, low active current, and fast wake-up times. As elec-
tronic devices become more interactive, microcontroller
technology will have to stay a step ahead of these devices.
With this in mind, designers will continue to require con-
trollers with higher clock speeds, wider bus paths, and ex-
tended peripherals on-chip to support these requirements.
Targeting fast shipments
Q How do you build the procurement, inventory, and
speedy delivery system for users? How many items
are stored in your warehouse? Do you buy micro-
controllers directly from original makers?
Zack We target a 95% in-stock rate for all products we
carry. This allows us to ship products the same day from
our facility in the U.S. and deliver them worldwide in 2 4
days.
Our product distribution center is organized in a way that
allows us to process and package orders quickly and ac-
curately. We are able to process an average order and
have the product picked, packed, and placed on a truck
for shipment in approximately 15 minutes.
We have some 600,000 part numbers on hand for imme-
diate shipment. We are an authorized, franchise distribu-
tor for every supplier on our line card. We only purchase
products directly from the manufacturers.
Q Please describe your after-sale and technical sup-
port for microcontrollers.
Zack Technical support is provided for all products that
Digi-Key sells. Support levels range from basic requests,
such as aiding in the selection of devices for specic re-
quirements, to assisting with debugging and laying out
projects.
Our technical support department is staffed 24 hours a
day and is available via phone, e-mail, and web-chat inter-
action.
8/4/2019 Handbook Mcu
5/31
6 7
Guidelines for Selecting a Microcontroller
Control system
Combined system
Signal processing
system
Product
specifications
CPU
Input/output (I/O) port
A/D converter
Timer (counter)
Interrupt
Bus interface
Arithmetic circuit
Middleware
Communications
between multiple processors
Delivery time, costs
Development assets
Development environment
Restricting
conditions
Fig. 1Points to consider in selecting a microcontroller
General points are given above.
Guidelines for Selecting a Microcontrollerwith Required Functionsand Performance
There is a wide variety of microcontrollers available and even if
you have decided on which series to use, you still have plenty
of choices. Engineers must have their own criteria in order
to make the right selection. This article discusses the general
considerations and some tips to keep in mind when selecting a
microcontroller, serving as a basis for setting your own criteria.
Today, microcontrollers are incorporated in many devices
used in our daily lives. For example, oce automation equip-
ment such as copiers and factory automation equipment inplants are equipped with one or more microcontrollers. It is
almost dicult to nd a device that does not have one.
On what criteria should an engineer make a choice among
microcontrollers, which are used in various applications?
This article discusses the considerations in selecting a micro-
controller.
When you chose a microcontroller, you must examine the
delivery time, costs, development assets and development
environment, in addition to the product specications (Fig.
1). Here, the delivery time and costs, etc. are referred to
as restricting conditions and the general ways to make a
selection with regard to the product specications and the
restricting conditions will be explained. Microcontrollers are
used for a wide range of applications and there are a lot of
dierent ways to select one. You have to organize your own
opinions beforehand, because the points to be considered
may vary depending on the product you are planning to
develop.
The article also covers the problems frequently faced in
actual development. The article discusses things that are
likely to be overlooked by software engineers who are not
familiar with how electronics operate or electronic engineers
who know little about software, even if they are experienced
in their own elds.
8/4/2019 Handbook Mcu
6/31
8
Guidelines for Selecting a Microcontroller
9
Points to
consider Specific suggestions and possible problems
Function,
circuit
External ports may runshort when they are
shared.
A resistor may have to be added later on.
An external driver circuit has to be added
if the allowable output current is insufficient.
Number of
external ports
Pullup/
pulldown
Allowable output
current of output port
Input/
output
(I/O)
port
The accuracy may be insufficient due to
unavailability of an external clock.
Consult the timer usage examples and theapplication notes.
Timers may run short when a real-time OS is
adopted.
Time
measurement
Cooperation withperipheral functions
Number of
timers
Timer(counter)
Make sure that the ports will not run short
when they are shared with other functions.
Check the capability to perform edge detection,
level detection, etc., of input signal waveforms.
Check whether the priority level can be set
for reset and other processes.
Number of input ports
for interrupt signals
Interrupt detection
method
Processing
priority setting
Interrupt
The resolution may be decreased due to noise,
signal wiring on the board, power supply, etc.
Check whether the conversion process completes
within the period required for the control process.
The process may not complete in time due to
the time required to switch channels.
Resolution
Conversion time
Number of
channels
A/D
converter
Check that the CPU operation bit rate matches
those of the A/D converter and the timer.
Check the operating frequency.
(Exaggerated specifications lead to increased cost.)
Operation bit
rate
Responsiveness
CPU
Fig. 3Example guidelines for selecting microcontroller for control
systemCPU ROM RAM Clock
A/D
converterTimer
Serial
interface
Input/output
(I/O) port
DMA
controller
Fig. 2Block diagram of microcontroller
A supply voltage detection circuit and application-specific blocks
are also included.
Examine Product Specifcations
A microcontroller acts as the brains to run the system. It
also has various peripheral functions to meet the capability
and performance required for the system (Fig. 2). Therefore,
the microcontroller to be used may vary depending on the
characteristics and specifications of the system. In the fol-
lowing, we divide systems roughly into two categories
control and signal processing systems and provide some
general points to consider in selecting a microcontroller.
Control System
Select CPU and Peripheral Functions
According to Usage
An electronic hot water dispenser, a home appliance, can
be given as an example of a control system. It boils water and
keeps it hot by cleverly controlling temperature and water
level sensors and an electronic heater. When the user pushes
the button, the hot water dispenser pours hot water by acti-
vating a pump. In short, the microcontroller in an electronic
hot water dispenser cooperates with the temperature and
water level sensors to control electronic components such as
the heater and pump.
When selecting a control system microcontroller used for
such applications, it is common to consider the performance
and operating frequency of the central processing unit (CPU)
and the peripheral functions (Fig. 3).
8/4/2019 Handbook Mcu
7/31
10
Guidelines for Selecting a Microcontroller
11
The following discusses the criteria and tips to keep in
mind when selecting a microcontroller with such peripheral
functions.
[ CPU ]
Watch out for Exaggerated Specications
A microcontroller intended for control applications gener-
ally employs a CPU with sucient performance to properly
control the peripheral functions used. However, when mak-
ing a choice, you need to check that the operation bit rate
matches the data length of the peripheral functions handled
by the microcontroller (e.g., the bit rate of the analog-to-
digital (A/D) converter or a timer).
In addition, make sure that you select a microcontroller
equipped with a CPU with an operating frequency that cansufficiently ensure the responsiveness (real-time property)
required for the product. Note, however, that a higher op-
erating frequency can increase the power consumption
and pose a greater risk of extra costs required to prevent
unwanted radiation. To avoid exaggerated specifications, it
is important to balance the specications with the required
performance.
[ Input/output port ]
Pay Attention to Number of External Ports
and Pullup Functionality
The input/output (I/O) port is one of the typical functions
of microcontrollers for use in control systems. For example,
the I/O ports are used for operation switch on/o detection,
light-emitting diode (LED) indicator on/o control and infor-
mation exchange with the other devices that cooperate with
the microcontroller to constitute the system.
Regarding the I/O ports, you have to pay attention to the
number of input ports, output ports and input/output ports
provided, the number of external ports that can be used
simultaneously and the availability of pullup (or pulldown)
functionality. In addition, you need to be careful about the
allowable output current of the output ports.
The number of external ports should be determined ac-
cording to the number of operation switches to be detected
and the number of LEDs to be controlled. If the number
of ports is insufficient, you have to examine whether the
problem can be addressed by adding external logic circuits.
Then, select a product that can secure at least the minimum
required number of ports. In many cases, the external ports
are also used as ports for other functions of microcontroller.
You need to be aware of this because you will often have
trouble in allocating the ports as you continue with the cir-
cuit design.
Pullup or pulldown functionality is a necessary feature for
I/O ports. In the case of operation switch on/off detection,
the port has to be xed either to the H or L level when the
switch circuit is open. If an input port of a microcontroller
is not provided with pullup or pulldown functionality, an ex-
ternal resistor is required. You should be aware of this when
you design the circuit, otherwise you may have to provide
an additional resistor on a high-density printed circuit board
(PCB) later on and this can cause a lot of trouble.
The allowable output current of the external port should
be determined according to the value of current that must
be supplied to the circuit connected. In controlling an LED,
for example, a current of several milliamperes needs to be
supplied. If this exceeds the allowable output current of the
output port of a microcontroller, you need an external drive
circuit.
8/4/2019 Handbook Mcu
8/31
12
Guidelines for Selecting a Microcontroller
13
[ A/D converter ]
Resolution and Number of Channels may Dier from
Specication Sheet
In control systems, an A/D converter is familiar as a func-
tion to fetch electric signals into the microcontroller from
a sensor and so on. In the case of an electronic hot water
dispenser, for example, electric signals from a temperature
sensor such as a thermistor are A/D converted and then
fetched into the microcontroller via the input port to control
the temperature, while the heater and other components are
controlled by using the output port.
In respect to the A/D converter, the main points to be
considered are the resolution (bit count) and the conver-
sion time. The resolution should be determined so that it is
neither lower nor higher than the accuracy of the electronic
signals (the level of noise contained in the signals, etc.)output by the sensor and that it adequately meets the data
accuracy (granularity, etc.) required for control. The con-
version time should be determined so that the conversion
process completes within the period required for the control
process.
If you decide to use the A/D conversion functionality in-
corporated in the microcontroller, there are some things
to keep in mind about the resolution of A/D conversion. To
tell the truth, you cannot fully trust the resolution indicated
in the microcontroller specification sheet. A/D converters
are basically analog circuits and thus the performance you
can get out from them may vary depending on the distance
to the sensor, the mounting condition on the PCB and the
state of power supply to the system. When high accuracy is
required for the A/D conversion results, it may be better to
give up using the A/D conversion functionality incorporated
in the microcontroller and separately adopt an external A/D
conversion device.
Furthermore, you have to be careful about the number of
channels that can simultaneously perform A/D conversion
if electric signals from multiple sensors have to be A/D con-
verted. If the number of input ports used for A/D conversion
and the number of built-in A/D converters do not match,
then A/D conversion has to be performed by switching over
the channels. You need to pay attention to the time required
to switch the channels, as well as the method and required
time for the CPU to read the converted data. Sometimes
you may realize later on that A/D conversion cannot be per-
formed within the required period. Select a microcontroller
with the right A/D conversion functionality after you have
fully understood the accuracy of A/D conversion required for
the system.
[ Timer ]
Check Accuracy and Number of Timers
A timer is also an essential function for control systems.
In regard to timer functionality, it is important to consider
not only whether it can properly measure the time, but also
whether it can make multiple timers cooperate with one an-
other or make timers cooperate with other peripheral func-
tions. It is also important to consider the number of timers.
As far as time measurement is concerned, you have to pay
attention to the type and accuracy of the clock that drives
the timer. When choosing a timer, you have to take into ac-
count whether the clock used to drive the microcontroller
(or its frequency-divided clock) or other clocks supplied
externally can be selected as the clock to drive the timer,
as well as the range of clock frequencies countable by the
timer, depending on the type of time to be measured. When
the rotational speed of a motor, etc., is detected by externally
supplying the pulse output of a rotation sensor, for example,
you need to check whether the pulse generation period can
be counted properly.
8/4/2019 Handbook Mcu
9/31
14
Guidelines for Selecting a Microcontroller
15
As for cooperation with peripheral functions, you should
pay attention to whether the external port can be controlled
when the specified count value is reached, whether the
counter value can be automatically obtained when changes
in the external port are detected and whether multiple tim-
ers can be operated in conjunction with one another. When
a three-phase motor is inverter controlled, for example,
pulse width modulation (PWM) waveforms in three phases
should be output. For this purpose, there is a microcontroller
designed to easily output the PWM waveforms by enabling
collaboration between multiple timers and I/O ports. When
a microcontroller is designed for a particular application as
mentioned above, timer usage examples may be given in the
specication sheet or a separate document may be provided
as application notes. It is important to effectively use such
documentation in selecting a microcontroller.
You need to be very careful about the number of timers.If the number is insucient, you may have a hard time, for
example, adding an extra piece of external hardware during
development. This applies to the case when, for example, the
circuit design is initially developed by a team of hardware
engineers alone and then the adoption of a real-time operat-
ing system (OS) is decided after a software engineer joins
the team in the course of development. A real-time OS gener-
ally takes up one timer function in the microcontroller as a
system timer. Thus, an extra timer is required in excess of
the number of timers necessary for the originally intended
control.
[ Interrupt ]
Determine the Number of Input Ports
and Detection Method
Interrupts are extremely important functions to detect
various phenomena (events) that occur in and outside the
microcontroller. There are a number of causes of interrupts,
e.g., the detection of an operation button being pushed, a
communication request notication from other devices that
work in conjunction with the microcontroller and the recep-
tion of a notification about the completion of conversion
process carried out by a built-in A/D converter. In particular,
with regard to events that occur outside the microcontroller,
you have to pay attention to the number of ports to which in-
terrupt signals are input and whether the detection method
can be selected.
The number of input ports for interrupt signals should be
determined based on whether the number of causes of inter-
rupts extracted during the circuit design is met. You need to
make sure that you have a sufficient number of ports that
can actually be used, because these ports are often shared
with other functions as in the case of I/O ports. Regarding
the interrupt detection method, you need to check whether
the interrupts can be detected not only at the rising ortrailing edge of an input signal, but also by other detection
methods (such as level detection) that are suitable for the
characteristics of the causes of interrupts.
In general, interrupts are regarded as one of the exception
handling processes. You need to consider how to specically
set the processing priority among other exception handling
processes (e.g., reset or error detection, system call, etc.) and
whether you can mask (temporarily suspend) other causes of
interrupts.
Signal Processing System
Ensure Performance Meeting
Requirement Specications
When image and audio signals are digitalized for use, the
signals are processed in a number of dierent ways in ac-
cordance with the application. When playing back music on
8/4/2019 Handbook Mcu
10/31
16
Guidelines for Selecting a Microcontroller
17
Circuit and points
to consider
Specific suggestions and possible
problems
Coprocessor/
built-in DSP
Check whether the coprocessor or the built-in
DSP can perform the desired operations.
Built-in RAMSelect a capacity that can store the
operation programs.
Bus transfer rateCheck whether the bus can properly
transfer data.
Cooperation with
peripheral functions
Check the bus connection specifications between
the CPU and the coprocessor or the built-in DSP.
Bus connection
specifications
Check the DMA mechanism and the
arbitration specifications.
Bus architectureCheck, for example, whether the
Harvard architecture is adopted.
Microcontroller
evaluation kit
Check the operation and measure the
performance.
Function,
circuit
CPUPay attention to the power consumption and
unwanted radiation, as well as the performance.
Arithmetic
circuit
Bus
interface
Support systemCheck whether a support system is provided
by the manufacturers of the microcontroller, etc.Middleware
Fig. 4Example guidelines for selecting a microcontroller for signal
processing system
a portable music player, for example, the microcontroller
used in the system reads audio data that has been com-
pressed such as the MPEG-1 audio layer III (MP3) from the
NAND flash memory, etc., incorporated in the system and
decodes the data into music signals.
This is a typical application of signal processing systems.
In particular, the items listed in Fig. 4 should be taken into
consideration when selecting a microcomputer used for
such applications. Here, we will discuss the criteria and tips
when making choices regarding these items.
[ Arithmetic Circuit ]
Prepare Solutions for Operations that
Cannot be Processed by CPU
If the arithmetic performance of the microcontroller used
for signal processing is insufficient, you cannot develop a
satisfactory device. Thus, the arithmetic performance must
be properly ensured. As far as the arithmetic performance
is concerned, the existence or nonexistence of a copro-
cessor, built-in digital signal processor (DSP) and built-in
random access memory (RAM) in addition to the CPU is
important.
With respect to the processing speed of the CPU, which
is the main function of a microcontroller, you have to rst
roughly estimate the number of signal processing steps
required per unit time. Then, make sure whether the CPU
can properly handle the processing necessary for data
input/output and the user interface, etc. As in the case of
control-oriented microcontrollers, you have to give special
consideration to the power consumption and unwanted
radiation if a high operation clock is required.
You also need to check whether a coprocessor or DSP
capable of performing multiply-and-accumulate operations,
etc., is included in the microcontroller. For example, in or-
der to add sound eects to audio signals, arithmetic opera-
tions must be performed for an infinite impulse response
(IIR) or nite impulse response (FIR) lter. However, these
operations may not be carried out by the simple combina-
tion of CPU instructions or they may require an enormous
number of processing steps. Moreover, when performing
integer or fixed-point arithmetic, the accuracy required
for the system may not be ensured. Thus, the capability
to perform floating-point arithmetic with a small number
of processing steps significantly affects the arithmetic
performance. Needless to say, you can use multiple micro-
controllers or separately provide a dedicated DSP if the
required arithmetic performance cannot be ensured with a
single microcontroller.
Built-in RAM is indispensable to eectively perform arith-
metic operations because it can be accessed from the CPU,
8/4/2019 Handbook Mcu
11/31
18
Guidelines for Selecting a Microcontroller
19
coprocessor or DSP without causing unnecessary overhead.
Generally, signals are processed by periodically repeating
one arithmetic program. If the program is entirely deployed
in built-in RAM, the execution speed can be expected to
increase signicantly. Pay attention to the number of cycles
required to access the built-in RAM and its size when select-
ing a microcontroller used for the applications mentioned
above.
[ Bus Interface ]
Prevent Congestion of Data
It is absolutely necessary to consider whether the data can
be properly supplied and transmitted in and outside a micro-
controller. In other words, you also need to pay attention to
the bus interface. In this case, check the data transfer rate
of the bus, the capability to cooperate with peripheral func-tions such as a direct memory access (DMA) mechanism and
whether the Harvard architecture is adopted in which the
instruction and data buses are separated.
A microcontroller operates by sequentially processing
instructions for the CPU one at a time. The series of instruc-
tions has to be read via the bus from the memory that stores
the programs. Data transferred by DMA is also read via the
bus from memory or a peripheral function block and the
processed data is then written. The bus is a path for these in-
structions and data and the bus interface serves to eciently
pass them via the bus. Therefore, the performance of the bus
interface, which arbitrates the operations of the functions, is
extremely important in order for the CPU, coprocessor, built-
in DSP and DMA mechanism, etc., to share the bus.
When audio data is transferred by DMA from a device that
takes a considerable amount of time for readout, for exam-
ple, if the DMA mechanism occupies the bus during the read-
out, the CPU cannot read the instructions and has to suspend
the signal processing during that time. If the audio output is
interrupted in a piece of audio equipment as a consequence,
it would be a fatal aw for the product.
To avoid such problems, you need to check the microcon-
troller specification sheet for the specifications of the bus
interface so as to fully understand the specications of the
bus connections between the CPU and the coprocessor or
the built-in DSP, as well as between the CPU and the cache
memory or the built-in RAM. You also need to check the bus
conguration (just in case that the instruction and data buses
are separated as mentioned above) and the arbitration speci-
cations with respect to the DMA mechanism. If possible, it
is recommended that you use the evaluation kit of the micro-
controller to perform operational tests such as performance
measurement.
[ Middleware ]
Availability of Desired Middleware Matters
There is no sense in selecting a microcontroller with high
arithmetic performance if you cannot use it eectively. When
decoding an MP3 file on a portable music player, for ex-
ample, you need a program that can carry out the operation.
It would require an enormous amount of time and develop-
ment cost if you had to code the operation program each
time you adopted a dierent microcontroller. Moreover, you
cannot make full use of the arithmetic performance if you do
not eectively use the CPU, coprocessor or DSP. In short, you
cannot develop a practical product unless a program tuned
to fully take advantage of the arithmetic performance of a
microcontroller is readily available.
In such cases, whether middleware equipped with the
functionality required for the product is provided by the
microcontroller manufacturer or a third-party vendor is an
important item to check when selecting a microcontroller.
8/4/2019 Handbook Mcu
12/31
20
Guidelines for Selecting a Microcontroller
21
Specific suggestions and possible problems
Consider the adoption of a microcontroller with flash
memory.
Check the capacity options of the flash memory.
Check the tools used to write programs and their cost.
Delivery time,
cost
Check the performance of the compiler optimization option
function and the support system.
Select a microcontroller that supports a satisfactory
debugging function.
Development
environment
Make sure that the circuits and software can be reused.
Development
assets Select a microcontroller that will continue to be sold and
developed in the future.
Points to
consider
Fig. 5: Examples of restricting conditions to be considered
Combined System
Examine Communication Standard between
Microcontroller and Other Devices
Relatively large systems carry out signal processing and
control in parallel (or rather this type of system may be more
common). For example, a copier analyzes the duplicate data
read from the original document and controls the paper feed
mechanism and ink jetting function to print, while perform-
ing signal processing for the contrast ratio and color tone
correction, etc. A system equipped with a universal serial bus
(USB) port also performs communication control with the
USB device inserted in the port.
Such systems often require the adoption of multiple micro-
controllers or collaboration with dedicated devices such asDSP because the requirements cannot be met just by using
the functionality of one microcontroller.
The point to consider in such cases is the method of com-
munications between the microcontroller and other devices.
A microcontroller normally has several functions to commu-
nicate with other devices. One of the typical functions is the
serial communication function. For example, a bidirectional
asynchronous communication circuit called a universal asyn-
chronous receiver-transmitter (UART), which can be found in
personal computers, etc., or a clock synchronization commu-
nication circuit called a serial peripheral interface (SPI) may
be used.
Neither method can be used if the devices on both sides of
the serial communication use dierent communication stan-
dards. When selecting a microcontroller in such a case, you
need to make sure that the type and the number of channels
of the adopted serial interface meet the specifications re-
quired for the system.
Examine Restricting Conditions
When configuring a system, you have to select the mi-
crocontroller and other components while taking into ac-
count various restricting conditions. In the following, let us
consider the criteria in selecting a microcontroller from the
aspects of delivery time, cost and the utilization of develop-
ment assets (Fig. 5). Since this involves a wide range of con-
siderations, we mainly focus on flash microcontrollers and
middleware, which are commonly used these days.
[ Delivery time, Cost ]
Microcontrollers with Flash Memory
Become Potential Product
You have to prepare programs in order for a microcon-
troller to operate according to the intended specifications.
8/4/2019 Handbook Mcu
13/31
22
Guidelines for Selecting a Microcontroller
23
Programs are usually stored in memory that cannot be modi-
ed called read only memory (ROM). Ideally, when the prod-
uct specifications are decided, the program specifications
are also determined and programs once created would never
have to be changed. Before being incorporated in the prod-
uct, the programs are written into a relatively inexpensive
component called masked ROM, which cannot be rewritten.
In reality, however, program revision often continues un-
til just before product shipment due to the modification of
specifications or bugs found during development. In such
cases, the use of masked ROM entails huge revision costs.
Furthermore, since the production of masked ROM requires
a certain amount of time, product shipment can be delayed
when revisions have to be made.
Recently, microcontrollers with rewritable built-in flash
memory have been adopted in place of masked ROMs in anincreasing number of cases in order to provide for some lee-
way in the development schedule, even if slightly increasing
the cost. Thus, microcontrollers with built-in ash memory
are currently on the market in large quantity and have be-
come more aordable.
When selecting a microcontroller with built-in ash mem-
ory, you need to be careful about the ash memory capacity.
First, you have to make a rough estimation of the program
capacity based on the product specifications, and then
choose a microcontroller with a memory capacity somewhat
larger than the estimate. Furthermore, if you have options
about the capacities of built-in ash memory for the same
microcontroller, you can continue development even if the
planned program capacity is exceeded. The cost slightly
uctuates if the capacity is changed, but you can still meet
the delivery date. Accordingly, do not forget to check on this
point as well.
When manufacturing the product, you also need to conrm,
in advance, by whom and how the programs will be written
to the ash memory. If a special tool is required to write the
programs, you have to add the cost of this tool as well. If the
programs are written by the microcontroller manufacturer
before delivery, you should check the schedule to hand over
the nal program data to the manufacturer and the schedule
of component delivery. These schedules also serve as the ba-
sis for making a decision in selecting a microcontroller.
[ Development Assets ]
Reuse Circuits and Software
When you develop a microcontroller-equipped product, all
kinds of expertise will be accumulated during that time. For
example, you may have to modify the timing to supply clock
signals or the power supply circuit so that the microcon-
troller can be stably reset. In fact, these pieces of knowledgeare all regarded as development assets.
The programs that operate the microcontroller are some-
times referred to as software, and this software can also be
reused as an asset. For example, if you developed or pur-
chased middleware to process a certain kind of signal, the
same software can be applied continuously to products that
need the same function. In other words, microcontrollers on
which the software was developed and runs stably will con-
tinue to be selected.
In corporate activities, it is necessary to reuse assets
achieved through investment in development as much as
possible. Thus, once a microcontroller including other mod-
els from the same series is selected, it tends to be selected
continuously.
Note here that you must choose the right microcontroller
that can meet the requirements demanded for the product
under development. To make full use of previously adopted
8/4/2019 Handbook Mcu
14/31
24
Guidelines for Selecting a Microcontroller
25
microcontrollers and the resulting development assets, there
are often cases where the microcontroller and development
assets were set as the starting point in designing product
specications, which is a preposterous idea. Products devel-
oped in such a way can end up as a failure in terms of sales
because they cannot ensure sucient customer satisfaction
even though they result in lower investment cost.
Thus, it is important to select a product released by a
manufacturer that is continuously expanding its lineup of
products and middleware. It is strongly recommended that
you check manufacturer roadmaps and strategies. Of course,
it goes without saying that you should modularize the cir-
cuits and software created in-house so that you will be able
to reuse them in the future.
In view of such circumstances, you need to plan a medium-
to long-term development strategy for the product and care-fully select a microcontroller.
[ Development Environment ]
Pay Attention to Compiler Performance and
Cooperation with Debugger
A compiler and a debugger are necessary tools in the de-
velopment of programs to operate the microcontroller.
A compiler is a tool to convert source code written in C,
etc., into programs that can be read into the CPU. Compiler
performance affects the performance and quality of pro-
grams, so you need to check in advance whether a compiler
suitable for the microcontroller is available.
For example, you may nd yourself in trouble if the perfor-
mance of the compiler optimization option function, which
reduces the program capacity or increases the processing
speed, is unsatisfactory, because then the planned program
size may be exceeded or the expected responsiveness may
not be ensured. Furthermore, a compiler is also software and
may have bugs. Thus, it is important whether the compiler
vendor has a sucient support system.
When selecting a microcontroller, you have to make sure
that a trouble-free compiler is available so that you can con-
centrate on the development work originally intended.
A debugger is a tool used to verify whether a program
works correctly. A device called an in-circuit emulator (ICE)
is connected to the target board equipped with the micro-
controller and the program operation is controlled while
communicating with special application software.
In particular, when using the Joint Test Action Group in-
circuit emulator (JTAG-ICE), eciency in development varies
signicantly depending on whether the microcontroller itselfhas a debugging support function. JTAG-ICE is a tool used
to expand JTAG control functions and enables users to read
data from or write to the registers and memory in the CPU
and execute the steps of a program. Regarding the trace func-
tion used to analyze bugs, for example, various schemes are
provided in some microcontrollers in order to obtain detailed
trace results. If the trace function is unsatisfactory, the behav-
ior of the microcontroller cannot be analyzed properly and
thus you may go through a lot of trouble in debugging work.
As outlined above, the development environment is an
extremely important factor for engineers. When selecting a
microcontroller, always make sure to check the support con-
ditions of your development environment.
Make Long-Term Considerations Including
Maintenance Period
The functions and performance required for devices vary
widely depending on the application and use conditions.
8/4/2019 Handbook Mcu
15/31
26 27
Guidelines for Selecting a Microcontroller
Microcontrollers often play an important role in the devices.
Accordingly, you have to carefully select a microcontroller
that serves this purpose by focusing on the functionality and
performance covered by the points in this article.
In addition to selecting a microcontroller that meets func-
tional and performance requirements, you must remember
to consider every aspect to manufacture the target product,
such as the cost, delivery period for parts procurement and
whether the parts can be stably supplied during the produc-
tion and maintenance periods of the device.
27
The World's First Microprocessor
Born of the Calculator Wars
"The 4004"It was in 1971 that the worlds
first microprocessor, the Intel
4004, appeared. The 4004 pro-
cessor was born as the core of
the "MCS-4" chipset developedby Intel at the request of Busi-
com, a Japanese calculator manufacturer. At that time,
Intel was only a four-year-old company.
In June 1969, Masatoshi Shima and two other Busi-
com engineers were sent to develop a general-purpose
LSI for calculators in collaboration with Intel. Although
Busicom proposed an architecture using "macroinstruc-
tions" defined by finely breaking down the functions
of a calculator, an investigation carried out by Intel
revealed that the architecture would require at least 10
chips.To overcome this situation, Ted Hoff from Intel pro-
posed a method in late August 1969 to use a 4-bit CPU
and constitute a calculator by using "microinstructions,"
which have a higher degree of versatility. This became
the prototype of the 4004.
Aside from Shima and Hoff, Federico Faggin from
Intel joined the development team and the design work
intensied from April 1970. The team started shipping
samples of the 4004 in March 1971.
Faggin noticed the high versatility of the 4004 and
persuaded Intel executives to negotiate with Busicom
for the direct sales rights. Busicom accepted the pro-
posal on the conditions that Intel pay back part of the
development cost and not sell the microprocessor to
other calculator manufacturers. This was because Busi-
com was battered by escalating low-price competition
in the calculator market.
This event marked the beginning of the history of mi-
croprocessors.
The 4004microprocessor chip
NEHandbook2011
M
icrocontrollers
8/4/2019 Handbook Mcu
16/31
28 29
Microcontroller Glossary
CPUControl of
program
execution
Management of
instruction
to be executed
Execution of
instructions
for data
Data retention
before and after
operation
Microcontroller
Main
memory
Flash
memory
Peripheral
circuit
External bus
Program counter
Instruction register
Instruction decoder
General register
Address
Data Data
DataData
Arithmetic
and
logic unit
(ALU)
Main components constituting a CPU
Word 01
actual fact, the classication is not that strict.
In general, microcontrollers are often classied according
to the operation data width of the ALU in the CPU. However,
there are various components in the CPU that operate with
dierent bit widths and they may not coincide with the oper-
ation data width of the ALU. To be more precise, this includes
the widths of registers in the CPU, the widths of external ad-
dress and data buses and the widths of instructions executed
by the ALU. In some models, for example, the ALU operation
data has a width of 32 bits and the external data bus is 16
bits wide. This difference results from how the circuit area,power consumption and computing performance, etc., are
balanced.
The classication according to the bit count is just for the
sake of convenience. When actually selecting a microcon-
troller, one must carefully determine which part of the inter-
nal structure of a microcontroller the bit count species.
A central processing unit (CPU) is a circuit that carries
out basic arithmetic operations and data transfer, etc., in ac-
cordance with the instructions of computer programs. It iscomposed of an arithmetic and logic unit (ALU) to execute
actual operations, registers to temporarily store data and in-
structions and circuitry to control the execution of programs.
In addition to the CPU, a microcontroller is equipped with
main memory, ash memory and various kinds of peripheral
circuits.
A program is executed in the CPU as described below.
First, the memory address of the instruction to be executed
is fetched from the program counter and the instruction is
read into the instruction register. Then, the instruction is con-
verted (decoded) into an instruction executable by the CPU.The value of the general register, the value in the specified
main memory location and the value directly specied by the
instruction are used as operands. Based on the instruction
and the data, the ALU carries out the operation and writes
the results to a register or the main memory. The procedure
is repeated in the order specied by the program.
The CPU also has circuits to branch or interrupt a program.
If the program includes a branch, a judgment based on the
preset condition is made using a ag register that stores the
status of operation and the process ow jumps to another in-
struction if the condition is met. An interrupt controller con-
trols interrupt processing to interrupt the current process if aspecic signal is received and to resume the original process
when a series of other processes has been executed.
Various Denitions for Microcontroller Bit Count
Microcontrollers may be classied using terms such as 8-
bit, 16-bit and 32-bit based on the CPU specications. In
CPU
8/4/2019 Handbook Mcu
17/31
30 31
Floating gate structure
SourceDrain SourceDrain
Floating gate
Control gate
MONOS structure
Control gateBlockinsulating film
Tunnelinsulating film
Nitride film
Noncovalent bonds in nitride film
Asymmetric multiprocessing
CPU0
Memory
space 0
CPUn
Memory
space n
Symmetric multiprocessing
CPU0
Memory space
CPUn
Structures of embedded ash memory
(illustration courtesy of Renesas Electronics)
Embedded Flash Memory
Two implementation forms in multi-core environment
Microcontroller Glossary
Embedded flash memory is flash memory formed on the
same die on which the CPU and other logic circuits are provid-
ed. While microcontrollers equipped with masked ROM, whereprograms are written on a mask, have been pervasive thus
far, most recent products come with embedded ash memory,
where programs are written and used by device manufacturers.
There are mainly two types of embedded ash memory. One
is the oating gate structure that stores electric charges in a
semiconductor layer covered by an insulating lm. The other
is the metal-oxide-nitride-oxide-silicon (MONOS) structure that
stores charges in traps distributed in a nitride lm covered by
an insulating layer. (Instead of MONOS, the term SONOS,
with the rst word replaced by silicon, is sometimes used.) In
general, it becomes harder to form the insulating lm and thecontrol gate in the oating gate structure as the miniaturiza-
tion progresses. Meanwhile, the MONOS structure is thought
to have a problem with data retention properties. Renesas Elec-
tronics selectively uses embedded ash memory of both types.
The company chooses the floating gate structure when low
power consumption and low-voltage operation have priority,
whereas the MONOS structure is chosen when a large capacity
and high-speed operation are prioritized.
Word 03Word 02
Multi-core refers to a technique to mount two or more
CPUs on a semiconductor such as microcontroller. Multi-core
technology is already commonplace for microprocessors usedin personal computers and mobile devices. Recently, multi-
core microcontrollers are being commercialized.
There are two reasons why multi-core technology is being
promoted. First, there is a demand to integrate multiple sub-
systems for the cost reduction of entire devices. This is the
main demand in the case of microcontrollers. By adopting the
form of asymmetric multiprocessing (AMP) in which multiple
CPUs have dierent memory spaces, the subsystems can be
integrated without significantly changing the program. The
integrated CPUs may be of the same or dierent types.
Another reason is that, as miniaturization in semiconductor
production technology progresses, power leakage tends to
increase when the operating frequency is raised. As a result,
multi-core architecture has been promoted as a method to
enhance the processing performance of a microprocessor
without increasing the power consumption. In this case, an
implementation form of symmetric multiprocessing (SMP) is
often adopted in which multiple CPUs share the same memo-
ry space.
Multi-Core
8/4/2019 Handbook Mcu
18/31
32 33
Task
OS(kernel)
User program
Programs of services(network functions, etc.)
provided by OS
Task management(generation, activationand switching of tasks)
Inter-taskcommunication
(event flag,semaphore, etc.)
Processing of varioustypes of APIs
(memory, time andinterrupt management)
Programs of I/Odevice processing
and interrupt processing
Example of integrated development environment using
Eclipse (Picture courtesy of Wind River)
Integrated Development Environment
Typical structure of real-time OS
Microcontroller Glossary
An integrated development environment is a software de-
velopment environment that integrally provides the required
tools. It includes a source code editor, a compiler to convertsource code into object code, a linker to convert the object
code into an executable form and a debugger to execute the
programs in a stepwise manner and display the contents of
various types of registers and memory.
In the development of microcontroller software, an emula-
tor connected to a microcontroller via the Joint Test Action
Group (JTAG) interface is often used. It is a piece of hard-
ware that enables users to check functions including the
actual I/O control, while making the microcontroller operate
at the same speed as the actual setup. As a result, the debug-
ger included in an integrated development environment formicrocontrollers usually has the capability to operate in con-
junction with an emulator.
Recently, an increasing number of embedded OS vendors
are using Eclipse, an open source integrated development
environment. Eclipse is distributed to embedded OS users
with dedicated plug-ins such as a compiler and a debugger.
A real-time operating system (OS) is a type of OS that em-
phasizes the strict management of the time at which a pro-
gram is executed. There is no quantitative denition of whatexactly is real-time, but some of the requirements of a real-
time OS are: capable of ensuring the worst-case length of
time spent to call an interrupt processing program after the
occurrence of a hardware interrupt and capable of ensur-
ing the scheduling to rst execute the task with the highest
priority.
The basic functions of a typical real-time OS are: (1) the
task management function to generate and activate tasks as
well as execute scheduling; (2) the inter-task communication
function to enable synchronization and messaging between
tasks; and (3) the processing function for various types ofapplication programming interfaces (API), such as memory,
time and interrupt management. In addition to these basic
functions, many real-time OS vendors provide a communica-
tion protocol stack and other programs as added functions.
In a strict sense, they are not the core portion of the OS
(kernel). These programs run as tasks of the OS, just like the
programs created by device developers.
Word 05Word 04
Real-Time OS
8/4/2019 Handbook Mcu
19/31
34 35
Source code
in assembly language
Assembler
Object code (machine language)
based on instruction set architecture
Source code in C
Compiler
Instruction
Data type
Register structure
Addressing method, etc.
Instructionset architecture
Relationship between instruction set architecture
and programming language
Instruction Set Architecture
Microcontroller Glossary
An instruction set architecture defines the CPU instruc-
tions, data type, register type, memory structure and ad-
dressing method for the operands, etc. It can be describedas the CPU specifications from the perspective of software
developers and compilers. The CPU design that indicates the
kinds of circuits used to implement the instruction set archi-
tecture is called microarchitecture.
In the development of microcontroller programs, assembly
language or C is used. Assembly language uses instructions
that correspond to the CPU object code (machine language)
on a one-to-one basis, whereas C uses a compiler to convert
the source code into object code. Assembly language is close-
ly related to the instruction set architecture and thus it is dif-
cult to port programs from one CPU to another once theyare written. However, as programming in C, etc., is becoming
popular, the dierences in CPU instruction set architectures
can be overcome by a compiler. Constraints such as the need
to use products from the same series in order to properly
run old programs are gradually being eliminated.
A digital signal controller is a microcontroller with an
enhanced capability to process digital signals. Because it
employs the elements of a digital signal processor (DSP) atthe architecture level, e.g., a multiply-and-accumulate (MAC)
operation execution unit, it is sometimes called a DSP micro-
controller. The integration of a DSP and a microcontroller
was originally promoted with the main purpose of eectively
carrying out media processing, but lately DSCs are also at-
tracting attention in the field of feedback control applica-
tions for motors and power supplies.
Currently, DSCs are spreading widely because of two as-
pects. One of the aspects is that an increasing number of
general-purpose microcontrollers are becoming capable
of performing MAC and other operations with the use of adedicated unit. Most DSCs released thus far are specialized
for motor control, etc., but the development of ARMs Cortex-
M4, a CPU dedicated for microcontrollers also equipped with
DSP instructions, led several semiconductor manufacturers
to commercialize general-purpose microcontrollers that can
be used as DSCs. These products have an advantage in that a
system capable of performing motor control and audio pro-
cessing can be built without the use of an external DSP.
The other aspect is that DSCs designed for digital power
supply control have become available at low prices. Models
equipped with a CPU that supports digital signal processing
instructions, a high-speed pulse-width modulation (PWM)
unit, an analog-to-digital (A/D) converter, etc., have become
as aordable as general-purpose microcontrollers. This can
lead to the rapid spread of the use of digital power supplies,
which contribute to the size reduction and efficiency im-
provement of power supplies.
DSC
Word 07Word 06
8/4/2019 Handbook Mcu
20/31
36 37
Major serial communication interfaces supported by microcontrollers
Serial Communication Interface
Classifica-
tion
Name of standard Numbe r
of signallines
Notes
Asynchro-nous
UART (universalasynchronousreceiver-transmitter)
3 Applicable to LocalInterconnect Network(LIN), etc.
Synchro-nous
I2C (inter-integratedcircuit)
2 Proposed by Philips.First standardized in1992.
SPI (serial periph-eral interface)
3 Proposed byMotorola.
Microcontroller Glossary
A serial communication interface is a communication inter-
face that sequentially transmits data one bit at a time via one
signal line. Most microcontrollers integrate a universal asyn-chronous receiver-transmitter (UART), which is a transmitting
and receiving circuit for asynchronous serial communica-
tion, or a universal synchronous and asynchronous receiver-
transmitter (USART), which is based on the UART but with an
additional circuit for synchronous serial communication.
The UART is mainly used for the asynchronous serial com-
munication of microcontrollers, whereas the I2C and serial
peripheral interface (SPI) are often used for synchronous
serial communication. In addition, three-wire synchronous
serial communication to communicate on a one-to-one basis
is sometimes utilized. The universal serial bus (USB) andEthernet supported by some microcontrollers are also serial
communication standards.
The parallel communication interface, which simultane-
ously transmits multiple-bit data via a number of signal lines,
has a problem in that it uses many signal lines and the tim-
ing can easily uctuate during high-speed operation. Accord-
ingly, serial communication has been increasingly used in
recent years.
Circuits that handle continuous electric signals are col-
lectively called analog circuits. Typical analog circuits used
in a microcontroller are analog-to-digital (A/D) and digital-to-analog (D/A) converters. This is because a microcontroller
frequently receives input signals from sensors and outputs
signals to actuators. A power-on reset (POR) circuit is an-
other analog circuit. It monitors the supply voltage of the
system and initializes the microcontroller when the preset
voltage is reached.
In particular, the A/D converter is an indispensable func-
tion of a microcontroller. Models with a resolution of 8-16
bits are commonly employed. Successive approximation
type A/D converters, which repeatedly execute magnitude
comparison with one comparator, and -type converters,which integrate the analog signals that have been subjected
to oversampling and then quantize and dierentiate the re-
sultant signals, are used.
There have been moves to reduce the number of compo-
nents, mounting surface and power consumption by incor-
porating analog IC circuits inside a microcontroller, instead
of using them around the microcontroller. A number of semi-
conductor manufacturers have commercialized microcon-
trollers that incorporate, for example, an operational ampli-
er to amplify analog input signals when the signal voltage
is extremely low, a comparator for overcurrent/overvoltage
protection and a drive control circuit for the liquid crystal
panel.
Analog Circuit
Word 09Word 08
8/4/2019 Handbook Mcu
21/31
38 39
Genealogy of Microcontrollers
Microcontroller-Dedicated CoresDerived from General-PurposeProcessor Cores
ARM processors are widely used as microcontrollers, as
well as processors for mobile phones and other portable de-
vices, but they have a somewhat complicated family line.
The original ARM was a 32-bit reduced instruction set
computer (RISC) architecture, which was developed by Acorn
of the U.K. for its personal computers. This instruction set
is called ARM V1. Later on, Acorn's development team was
spun off as Advanced RISC Machines (currently known as
ARM) and converted its business to sell processor cores. Its
first product was the ARM6, followed by the release of the
ARM7 and ARM8.
A 16-bit reduced instruction set called "Thumb" was added
to the ARM9. The ARM7 TDMI, widely used as a general-
purpose microcontroller, was a variant of the ARM7, which
was modied based on the ARM V4 architecture adopted in
the ARM8 and ARM9.
ARM then released the ARM10 equipped with the ARM
V5 architecture and the ARM 9E, a modied version of the
ARM9 based on the ARM V5 architecture. Next, the company
released the ARM11, which was based on the ARM V6.
The latest version of the instruction set is ARM V7 released
in 2005. After the adoption of ARM V7, all the products are
named with a unied style, "Cortex-XYY." Here, the letter "X"
denotes the usage where "A," "R" and "M" represent applica-
tion, real-time control and microcontroller, respectively. The
letters "YY" denote the numbers that represent the position
of the product.
ARM MIPS Renesas Freescale
ARM1Forapplicationprocessors
Forreal-timecontrol
Formicrocontrollers
Basicinstruction set
For FPGAs
ARM2 ARM6
StrongARM
ARM8 ARM10
ARM9E
ARM3 ARM7
ARM7TDMI
ARM9
ARM V1 ARM V2 ARM V3
Thumb
ARM V4 ARM V5
8/4/2019 Handbook Mcu
22/31
40 41
The Cortex-A series includes the Cortex-A8, -A9 and -A5.
The Cortex-A8 is the rst model equipped with the ARM V7
series. The Cortex-A9 is compatible with multiprocessors and
the Cortex-A5 is an entry-level model. The Cortex-R series also
includes the Cortex-R4, -R5 and -R7. The Cortex-R4 features a
high-speed interrupt processing capability and the Cortex-R5
and Cortex-R7 are advanced models of the Cortex-R4.
The Cortex-M series is intended for microcontrollers.
Although the ARM7TDMI was widely used as a general-pur-
pose microcontroller, it was far behind the microcontrollers
from competing manufacturers in terms of performance. As
a breakthrough, ARM put the Cortex-M3 on the market. Al-
though it is a high-performance 32-bit microcontroller, it is
capable of providing a code density almost as high as that of
a 16-bit microcontroller through the adoption of "Thumb-2,"
the successor technology to Thumb. In addition, the die size
is almost as small as that of a 16-bit model. With such fea-
tures, ARM is vigorously attempting to make users transit
from other manufacturers' 16-bit microcontrollers.
ARM also released a low-end model named the Cortex-M0.
While featuring a performance comparable to that of a 16-bit
computer, it is intended to be sold at a price as low as that of
an 8-bit microcontroller and operated with equivalent power
consumption. In addition, the Cortex-M4, a variant of the Cor-
tex-M3 equipped with a digital signal processor (DSP) exten-
sion, is available for high-end applications. With these three
products, ARM is reportedly aiming to gain a 20% or larger
share in the microcontroller market sometime in the future.
The Cortex-M1, designed based on the Cortex-M3, is avail-
able as a software core that operates on eld programmable
gate arrays (FPGA). The Cortex-M1 is licensed to major FPGA
vendors and end users who have bought the FPGA from
these vendors can use the Cortex-M1 without a license.
Genealogy of Microcontrollers
ARM10
ARM9E
ARM11
Cortex-M1
Cortex-A8
Cortex-R4
Cortex-M3I
Cortex-A9
Cortex-A5
Cortex-R5
Cortex-R7
Cortex-M4
Cortex-M0
Cortex-A15
ARM V5 ARM V6
Thumb-2/NEON
Jazelle
ARM V7
Forapplicationprocessors
Forreal-time
control
Formicrocontrollers
Basicinstruction set
For FPGAs
8/4/2019 Handbook Mcu
23/31
42 43
R2000
MIPS MIPS
R3000 R6000 R5000
MIPS MIPS
R4000 R8000 R10000 R12000
Genealogy of Microcontrollers
Began as Processors forWorkstations, Now PrimarilyUsed for Embedded Applications
MIPS processors have their origin in the MIPS project led
by John L. Hennessy of Stanford University. The architecture
developed by this project was commercialized by MIPS Com-
puter Systems, a company founded by Hennessy in 1984.
The company was purchased by Silicon Graphics (SGI) in
1992, but was later spun o as MIPS Technologies.
The products initially released by MIPS were not intended
for embedded applications, but for workstations. From its
rst product, the R2000, to the R12000, etc., the company
targeted high-performance processors.
Meanwhile, the MIPS core had been offered for embed-
ded applications since around 1990. Similar to the business
model of ARM, the company started licensing the core de-
signs, which turned out to be a great success. In 1997, the
shipment volume of MIPS processors overtook that of the
68000-based processors from Motorola Inc., becoming the
ARM MIPS Renesas Freescale
most widely used embedded processor in the world.
When it was spun off from SGI, MIPS redesigned the
architecture so that its core could be more easily used for
embedded applications. Before this modication, four types
of architectures, MIPS I to IV, had been defined. The MIPS
series had a structure in which MIPS I and II were provided
as the base architectures and MIPS III and IV were designed
to have additional instruction sets and functions while main-
taining backward compatibility. The company later changed
this structure to one similar to ARMs. The four architectures
were integrated into two instruction sets, MIPS32 (32 bits)
and MIPS64 (64 bits) and extensions were added as an op-
tion. MIPS32 comes in two families: the 4K family for micro-
controllers and the 20K family with enhanced performance.
The 4K family includes: the 4K, a basic 32-bit core that has
a similar structure to the R3000; the M4K, a low-end model;the 4KE, a high-speed model and the 4KS, which features a
built-in security function.
The 4K is further divided into three types. The basic one
is the 4Kp core. The 4Km core is based on the 4K and is
equipped with a high-speed multiplication and division
8/4/2019 Handbook Mcu
24/31
44 45
MIPS32 MIPS32 Release 2
ASEapplication specific extension
MIPS32
4K/4KE/4KS
MIPS32
24K
microMIPS
MCU ASE
MIPS32
M4K
MIPS32
M14K/M14Kc
MIPS32
24KE
MIPS32
1004K
MIPS32
34K
MIPS32
74K
MT ASE
DSP ASE
MIPS32
1074K
Genealogy of Microcontrollers
unit. The 4Kc core is based on the 4Km and incorporates a
translation lookaside buer memory management unit (TLB
MMU).
The low-end M4K core consists of only 35K gates. The 4KE
supports bit field instructions and vectored interrupts and
reduces the granularity of clock gating. It also supports a
write back function by increasing the maximum cache capac-
ity. With these features, the 4KE enables a high level of per-
formance. As with the 4K, it comes in three types: the 4KEp,
4KEm and 4KEc. The 4KS core also supports cryptographic
accelerator instructions (SmartMIPS ASE).
As for the 20K family, the MIPS32 24K, designed based
on the MIPS32 20K and equipped with an enhanced internal
structure, was released in 2003. The company also released
the MIPS32 34K in 2006 and the MIPS32 74K in 2007. The
MIPS32 34K is based on the MIPS32 24KE and enables si-
multaneous multi-threading (SMT). The MIPS32 74K is the
successor to the MIPS32 24KE and features an improved
internal structure.
Then in 2008, the MIPS32 1004K, which integrates up to
four MIPS32 34K cores, was released and was followed by
the release of the MIPS32 1074K in 2010, which integrates
four MIPS32 74K cores.
It should be noted that all of the MIPS32 models have a
reduced instruction set called MIPS16, which is similar to
ARMs Thumb. The company later dened a new instruction
set called microMIPS because MIPS16 has not been widely
implemented and released the MIPS32 M14K and M14Kc
incorporating microMIPS in 2009.
8/4/2019 Handbook Mcu
25/31
46 47
PD780
etc...
V20/V25
V30
78K/0 78K0 V850ES
V830/V831
/V832
78K/ 78K0R V851V852/V853
/V854
78K// V850E1 V850E2
V40 V55 V805/V810 V820/V821
V35/V35+ V50V60/V70
/V80
V53/V53AV33/V33A
NEC 8-bit NEC 32-bit
NEC 16-bit
Genealogy of Microcontrollers
Multiple Product Lines with Ori-gins in Three Companies, Likelyto be Integrated in One Line
Renesas Electronics is a manufacturer that was formed by
a merger between NEC Electronics and Renesas Technology
Corp. Because Renesas Technology was founded as a result
of a business merger between the semiconductor divisions of
Hitachi and Mitsubishi Electric, the new Renesas Electronics
has coexisting product lines that have origins in three com-
panies.
First, there are the product lines of the former NEC Elec-
tronics. Their origins go back to the PD780, a Z80-com-
patible 8-bit processor and the V30, a 16-bit processor that
is upwardly compatible with the 8086. These processors led
ARM MIPS Renesas Freescale
to the 78K family/RL78 series and the V850 family, which
remain in use today.
While the PD780 was a stand-alone processor, the 78K
family was released as a one-chip microcontroller incorpo-
rating ROM, RAM and peripheral circuitry. Although a line
of high-end products was released, the low-end models, the
78K0 and 78K0S (initially called the 78K/0 and 78K/0S),
turned out to be pervasive. In 2006, the company released
the 78K0R, which was based on the 78K0 and equipped with
a 16-bit internal structure. It is still available today.
The V30 is famous for once being used in NECs PC-9801
series. The V60 and later versions are no longer compatible
with the 8086. In addition, the company adopted a 32-bit
RISC architecture starting with the V800 family, replacing
the CISC architecture that had been used until then.
8/4/2019 Handbook Mcu
26/31
48 49
H8/500
SH-1
H8/300 H8/300L
H8/300H H8S/2000
H8/300H
Tiny
SH-2
SH2-DSP
SH-2A
SH-3 SH-4 SH-4A SH-X1
SH-X2
SH-X3
SH3-DSP
SH2A-FPU H8SX/1x00
Hitachi 8-bit
Hitachi 16-bit
Hitachi 32-bit
Genealogy of Microcontrollers
Next was the V850 family, which has much in common
with the V800 in terms of structure, but it is not compatible
with V800 in the strictest sense. The V850E (later renamed
to the V850E1) was designed based on the V851, which is
the first product from the V850 family and was modified
to enhance its speed. This product family also includes the
V850E2, which is equipped with a superscalar architecture
that enables simultaneous execution of two instructions and
the V850ES, which focuses on low power consumption and
low cost. They have been incorporated in various products
and are still in use today.
It shoul d be note d that NEC, as a partner of MIPS
Computer(currently known as MIPS Technologies), once re-
leased a product line called the VR series, which adopted the
MIPS architecture. However, the series consisted of old prod-
ucts compliant with MIPS III and IV. Currently, only a limited
part of the line is available for maintenance purposes.
After this come the former Hitachi product lines. The H8
series is the line that was independently developed by Hi-
tachi. The company rst released a 16-bit product called the
H8/500, followed by a reduced version, the H8/300. The
H8/300H was developed by extending the H8/300 architec-
ture to 16 bits, but in a dierent way from the H8/500. Both
the H8S/2000 series, which is a version of the H8/300H fea-
turing enhanced speed and the H8SX/1x00, which is a 32-
bit version of H8S/2000, are still in use today.
The Super-H is a 32-bit RISC processor completely dier-
ent from the H8 series. Although the Super-H is designed
with address and data lengths of 32 bits, its instruction
length is xed at 16 bits, thereby increasing the code density.
A memory management unit (MMU), which was not incor-
porated in the SH-1 and -2 series, was included with the SH-
3. The SH-4, a version of the SH-3 with enhanced speed, was
also provided with a single instruction multiple data (SIMD)type oating-point unit (FPU). The SH-X1, a system-on-chip
(SoC) core for embedded applications developed by modify-
ing the SH-4, was released after the company was reborn as
Renesas Technology. This was followed by the release of the
SH-X2, a version of the SH-X1 with enhanced speed and the
SH-X3, a multi-core-enabled version. They are used for SoC
in mobile phones and other devices.
8/4/2019 Handbook Mcu
27/31
50 51
M16C M16C
M32C
78K0R
Mitsubishi 16-bit
M32C
M32R
Mitsubishi 32-bit
R8C/1x R8C/2xR8C/3xR3C/LxR3C/Mx
RX200
Renesas Technology 16-bit
R32C/80 R32C/100
RX600
Renesas Technology 32-bit
RL78
Renesas Electronics 16-bit
Genealogy of Microcontrollers
The former Mitsubishi Electric product lines are rather
simple. Mitsubishi released three types of cores: the M16C,
M32C and M32R. The M16C is a 16-bit core and the M32C
is a 32-bit version of the M16C. The M32R is a modied ver-
sion of the M32C and is adapted to control purpose. Based
on these cores, a wide range of products combining periph-
eral circuits, etc., are available. The M16C and M32C are still
widely used today.
Together with the merger of the companies, there have
been moves to integrate these products. For example, the
R8C series, which combines the M16C core and the H8S pe-
ripheral circuitry, was commercialized so that users of both
products could make a smooth transition. The R32C was
released to facilitate a similar transition by combining the
M32C core and peripheral circuitry equivalent to that used
in the R8C.
Following the launch of these products, Renesas Technol-
ogy announced in 2007 the development of the RX family,
a line of entirely new CISC-based processors. The company
rst released a 32-bit processor called the RX600, followed
by the 16-bit RX200 processor. The products were designed
with the intention to integrate the companys middle-range
CISC architectures into one family in the future. However,
the plan was somewhat derailed by the merger with NEC
Electronics in 2010.
The RL78 was the rst product developed by Renesas Elec-
tronics after the merger. It combines the 78K0R core and the
peripheral circuitry of the R8C. As of March 2011, however,
it still uses 78K0R-based peripheral circuitry. A series of
products remodeled with the use of R8C-based peripheral
circuitry is slated for launch.
8/4/2019 Handbook Mcu
28/31
52 53
MC6800
MC6801/6803
MC68328DragonBall
MC683xxQUICC
68HC16 56800/E 56F8000
MC6809 MC68030
MC88000
MC68040 MC68060
ColdFire V2 ColdFir
MC68010 MC68020MC68000/MC68008
MC68VZ328DragonBall VZ
MC68SZ328DragonBall
Super VZ
MC68EZ328DragonBall EZ
68HC11 HCS12 HCS12X68HC12
68HC05MC6805 HCS08HC08
RS088-bit microcontroller
16-bit microcontroller
32-bit processo r/micr
ocontroller
Genealogy of Microcontrollers
Worlds First Developer of One-Chip Microcontroller Gains Edge inApplications for Automobiles and
Communication DevicesFreescale Semiconductor was the first company in the
world to manufacture a one-chip microcontroller. More pre-
cisely, the forerunner of Freescale, i.e., the semiconductor
division of Motorola, Inc., manufactured the worlds rst one-
chip microcontroller named the MC6801. The MC6801 inte-
grated the MC6800 8-bit processor, ROM, RAM, a 16-bit tim-
er, parallel I/O and serial I/O into a single chip. Its successor,
the MC6803, was used for a wide range of applications. The
MC6803 was then followed by a modied version (MC6805),
a CMOS version (68HC05) and its successor the HC08. The
RS08 is the low-priced version of the HC08 and the HCS08 is
the high-end version. Combined with the ColdFire processor
ARM MIPS Renesas Freescale
described below, the RS08 and HCS08 constitute a product
line called Flexis. The use of common peripheral circuits fa-
cilitates the transition from 8-bit to 32-bit architecture.
The 16-bit products are classified into two family lines.
One is the MC68000 family, which was used in Macin-
tosh computers, etc. and the other is the 68HC11 family,
which was developed by modifying the MC6801 separately
from the MC6805. The 68HC12 is a 16-bit version of the
68HC11. The HCS12, a modied version of the 68HC12 and
the HCS12X, the successor to the HCS12, are still available
as 16-bit microcontrollers for automotive applications.
There is also a unique product called the 56800/E, which
adds the functions of a microcontroller to a 16-bit DSP. The
56F8000 series is designed based on the 56800/E core and
is equipped with integrated peripheral circuitry. Freescale
stopped the development of new products for this line, but
8/4/2019 Handbook Mcu
29/31
54 55
MC68060 ColdFire V5
ColdFire V1
ColdFire V2 ColdFire V3 ColdFire V4 ColdFire V4e
32-bit processor/microcontroller
MPC603eG2
e300
PowerPC Classic
PowerISA
e700
e500mce500
e5500
e200 e200Z
e600
MPC7400G4
Genealogy of Microcontrollers
the company is still providing existing models.
As for 32-bit products, the company released a MC68000-
based model called the MC68030, as well as its successor
the MC68040, but the development of the MC68040 oun-
dered. As a result, the MC68040 fell far behind its main
competition, the 486 from Intel Corp. Yet, the 68000 archi-
tecture had a large share of the market for embedded pro-
cessors at that time. Accordingly, the company redesigned
the 68040 core based on RISC architecture and developed
ColdFire, targeting the embedded application market. First,
the V2 was released and followed by the V3, V4 and V5,
modied versions with enhanced functionality. These cores
are mounted on a number of 32-bit microcontrollers.
The PowerPC family is another 32-bit product line. The
first product from this family was the MPC603e. Freescale
developed the e300 core based on the MPC603e and the
e600 core based on the MPC7400 and used them in a num-
ber of microcontrollers in communication devices and auto-
mobiles.
However, the architectures of the e300 and e600 were
intended for use in personal computers and were not neces-
sarily suited for embedded applications. To overcome this
problem, a nonprofit standard-setting organization called
Power.org was established and the organization dened the
PowerISA standards. Freescale newly developed the e200
core, which is compliant with the standards and decided to
make a shift to this core in principle. The e200 core was en-
tirely adopted in the Qorivva microcontroller series for auto-
mobiles and is also used in the PX microcontroller series for
industrial and general-purpose applications. The company
also developed the e500 core, which is a higher-end version
of the e200 and the e500mc core, which is a multi-core-
enabled model. It also developed a 64-bit core called thee5500. The QorIQ microcontroller series for communication
devices uses these cores exclusively.
8/4/2019 Handbook Mcu
30/31
NE Handbook series 2011 Microcontrollers
Publisher NikkeiBusinessPublications,Inc.
1-17-3Shirokane,Minato-ku,
Tokyo108+8646Japan
Published April,2011
Editor NikkeiElectronics
Design NikkeiBPConsulting
Printing DaiNipponPrinting
Sponsoredby Digi-KeyCorporation
NikkeiBusinessPublications,Inc.2011
Allrightsreserved.PrintedinJapan
About the Authors
"Guidelines for Selecting a Microcontroller
with Required Functions and Performance"pp. 6-26
Norikazu KunikataDevelopment Technology Promotion Group of Teac Corp.
Joined Teac in 1989. He was in charge of the design of analog
and digital circuits for audio equipment, as well as board design,
etc. He has been involved in the development of HDD recorder
software since 1998. He has also worked on quality improvement
activities and human resource development. He is a member of the
Society of Embedded Software Skill Acquisition for Managers and
Engineers (SESSAME).
Genealogy of Microcontrollers pp. 38-55
Yusuke OharaFreelance technical writer
Mainly specializes in the architecture of CPUs, memory and
other components, as well as operating systems (OS), drivers and
rmware.
8/4/2019 Handbook Mcu
31/31