Handbook Mcu

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