KEMBAR78
Introduction to Microcontroller | PDF
Introduction
            to
      Microcontroller


www.pantechsolutions.net
                           1
What is Microcontroller?
•       In simple term – Microcontroller is a small computer that is capable of
        performing specific task(s)
    –      e.g car alarm, washing machine, handphone, PDA…

•       There are many similar names
    –      Microprocessor-based system, controller, MCU, MPU, CPU…

•       They can be grouped into two classification
            MCU - Micro Controller Unit
            MPU - Micro Processor Unit

•       In general, these microcontroller are the brain of the embedded system




                                                                                  2
MCU and MPU
Classification                             MCU                                       MPU
Chip                       Embedded A CPU core, memory,            Contain only the main processor (CPU
                           peripherals, IO … into a single chip.   core)


Block Diagram of a                          MCU
system
                                          Memory                                Memory     IO

                               CPU Core            Peripheral         MPU                        Peripheral

                                            IO




General Application        - Self contained to complete a task.    -Need external memory, peripheral to
Area                       - Targeted for small, compact, and      accomplish a task
                           low cost system                         - Targeted for complex, high
                                                                   performance and expandable system
Processor (CPU) Core       4, 8, 16 bit                            32 bit or above
Examples                   8051,pic16f887a,M16, H8, SH1/2          SH3/4,8085
Application                Washing machine, car side mirror,       Handphone, PDA
                           air con




                       3
Components within MCU
                                              Clock -sub    Processor Core


i.      Processor core                        Clock -main     RAM

ii.     Clock                                     ROM         PWM

iii.    Low power mode
iv.     Memory(ROM/RAM)                           Timer       PWM



v.      Input/Output Port                         Timer       Timer


vi.     Timer / Counter/ WDT                                  Serial

vii.    PWM
                                                  Timer




                                       Port
                                                             Interface



viii.    ADC/DAC                                  Timer        WDT


ix.     Serial Interface                          ADC          LCD

x.      On chip Debug
xi.     Bus Controller         Example of H8/38024

xii.    Other
                                                                             4
i. Processor core
 •   Function
     –   Fetch and execute machine code from memory
     –   Efficiency & Effectiveness are determine by its architecture
 •   Architecture Type
     –   Word Size: 4, 8, 16, 32 Bit
     –   Contains ALU (Arithmetic Logic Unit) for decision process
     –   Contains General Registers for temporary storage and data manipulation
     –   Contains Special Registers (PC, Condition, Stack) to assist in program control
     –   Instruction Sets
     –   RISC /CISC
     –   Running Frequency / Voltage
 •   Possible Measurement
     –   MIPS (Million Instruction Per Instruction)
         •   Number of machine instructions that a computer can execute in one second
         •   Provide only a rough indication for comparison




                                                                                          5
ii. Clock                                                   OSC1      OSC2




  • MCU needs a clock input to operate
  • It can have two clock sources
     – A. Main processor clock input
         • This clock may be divided or multiply to allow the processor to
           run at a slower speed (lower power consumption) or higher
           speed
     – B. Sub clock input
         • 32.768KHz is the usual clock used as this allow accurate
           generation of a second via a 16 bit counter.
  • These clocks are normally fed via a crystal and two
    capacitors to the MCU.




                                                                             6
iii. Low power mode
• Low Power is achieved via various mean
  – Running at slower speed, such as sub
    clock(32.768KHz)
     • Sleep mode, sub-active, standby…
  – Shutting off unused peripherals
     • Module stop mode…



                               Standby mode consume only 1uA



                                                           7
iv. Memory (ROM/RAM)
•   ROM (Read Only Memory)
    –    For program and fixed data storage
    –    Size: as low as 1 KByte to as high as 512 KByte
    –    Example
        1. Masked ROM
        2. Flash
        3. PROM - Programmable Read-Only Memory
            1.   OTP - One-Time Programmable


•   RAM (Random Access Memory)
    –    For data storage
    –    Size: as low as 256 Byte to as high as 4 KByte
    –    Example
        1. SRAM

                                                           8
v. Input / Output Port
• Basic interface to control (output) and
  monitor (Input) external events.
  – High current port
     • (20mA), so as to drive LED directly.
  – Open-collector/drain port
     • Interface to higher supply circuitry
     • Wired-Nor condition




                                              9
vi. Timer / Counter / WDT
• Timer (8 or 16 bit) are used to generate or measure
  timing for events.
   – External event trigger the count
   – Compare match to perform a task
   – …
• WDT (WatchDog Timer)
   – Every time before the counter reach the predefined value, the working
     MCU will clear the counter.
   – Thus, if the counter is not clear within the specified timing, the WDT
     will reset the whole MCU as this signify that the MCU has run wild.




                                                                         10
vii. PWM
• PWM (Pulse Width Modulation)
  – Generate continue pulse of preset duty cycle
• This can be used to drive motor.




                                                   11
viii. ADC/DAC
• ADC (Analog-to-Digital Conversion)
   – The basic peripheral to interface to the real analog world.
   – Characteristic
      • Accuracy is determine by number of bits (10,12,14…)
      • Sampling frequency
      • Conversion technology ( Resistive ladder, Sigma delta…)
                                       Analog       Digital
   – AVCC, Data -> and eachTransducer input pins
           AVSS
           Real World
                            analog             ADC          CPU
           Temperature
           Pressure
           Sound…




• DAC (Digital-to-Analog Conversion)
   – This operate in another way. It output the signal in analog form to the
     outside world
                                                                           12
ix. Serial Interface
• There are different serial interfaces
   – Asynchronous mode (2400 BaudRate…)
   – Synchronous mode (at higher transfer rate)
   – USB, I2C, SPI, CAN…(different communication standard)
• Use for:
   – Communication with other devices, such as external RF
     module, PC…
• Generally used only 3 pins
   – Serial In, Serial Out, and Clock



                                                             13
x. On Chip Debug
• Circuitry Incorporated for development and
  debugging purposes

• Usually few pins are required for the PC to control
  the MCU, via a “JTAG-like” emulator
   – Mode pin
   – Data In/Out
   – Clock pin           PC
                              USB I/F



                                                 Target Board




                                                                14
xi. Bus Controller
• In the higher performance MCU, a bus controller is
  incorporated to manage internal and external
  memory bus.

• The external bus may be split into different areas, so
  that each area can be assigned with different setting
   – Refresh controller for DRAM
   – Longer wait cycles for slower devices




                                                       15
xii. Other
• There are many possible peripherals that can be
  integrated into each MCU, to perform specific tasks,
  such as:
   – LCD controller
   – PLC
   – Ethernet MAC
• Other components are:
   – Interrupts
   – LVD (Low Voltage Detection)
   – POR (Power On Reset)


                                                         16
MCU Connection
                                   Flashing
Supply via battery or wall plug
                                   /Debugging
                                   (Optional)

                    VCC

Clock                                           Output Control Motor, LED,
Mode                              MCU
Reset                                           Input    Monitor Temperature, Switches…




                   GND




                                                                                          17
Choosing MCU
1.    Reliability - good
2.    Performance – speed, number of bits, architectures
3.    Power consumption - low
4.    Peripherals – require
5.    Number of I/O pins - enough
6.    ROM/RAM size – enough
7.    Package and Size – manufacturing ease
8.    Development Tool – available and ease of Use
9.    Roadmap – for next expansion
10.   Cost - low
11.   Availability – short lead time
12.   Support – technical team, application notes…



                                                           18
For more Tutorials
   •    www.pantechsolutions.net
   •    http://www.slideshare.net/pantechsolutions
   •    http://www.scribd.com/pantechsolutions
   •    http://www.youtube.com/pantechsolutions




5/24/2011 9:38:29
                    © Pantech Solutions Pvt Ltd. | All rights reserved   www.pantechsolutions.net
PM

Introduction to Microcontroller

  • 1.
    Introduction to Microcontroller www.pantechsolutions.net 1
  • 2.
    What is Microcontroller? • In simple term – Microcontroller is a small computer that is capable of performing specific task(s) – e.g car alarm, washing machine, handphone, PDA… • There are many similar names – Microprocessor-based system, controller, MCU, MPU, CPU… • They can be grouped into two classification  MCU - Micro Controller Unit  MPU - Micro Processor Unit • In general, these microcontroller are the brain of the embedded system 2
  • 3.
    MCU and MPU Classification MCU MPU Chip Embedded A CPU core, memory, Contain only the main processor (CPU peripherals, IO … into a single chip. core) Block Diagram of a MCU system Memory Memory IO CPU Core Peripheral MPU Peripheral IO General Application - Self contained to complete a task. -Need external memory, peripheral to Area - Targeted for small, compact, and accomplish a task low cost system - Targeted for complex, high performance and expandable system Processor (CPU) Core 4, 8, 16 bit 32 bit or above Examples 8051,pic16f887a,M16, H8, SH1/2 SH3/4,8085 Application Washing machine, car side mirror, Handphone, PDA air con 3
  • 4.
    Components within MCU Clock -sub Processor Core i. Processor core Clock -main RAM ii. Clock ROM PWM iii. Low power mode iv. Memory(ROM/RAM) Timer PWM v. Input/Output Port Timer Timer vi. Timer / Counter/ WDT Serial vii. PWM Timer Port Interface viii. ADC/DAC Timer WDT ix. Serial Interface ADC LCD x. On chip Debug xi. Bus Controller Example of H8/38024 xii. Other 4
  • 5.
    i. Processor core • Function – Fetch and execute machine code from memory – Efficiency & Effectiveness are determine by its architecture • Architecture Type – Word Size: 4, 8, 16, 32 Bit – Contains ALU (Arithmetic Logic Unit) for decision process – Contains General Registers for temporary storage and data manipulation – Contains Special Registers (PC, Condition, Stack) to assist in program control – Instruction Sets – RISC /CISC – Running Frequency / Voltage • Possible Measurement – MIPS (Million Instruction Per Instruction) • Number of machine instructions that a computer can execute in one second • Provide only a rough indication for comparison 5
  • 6.
    ii. Clock OSC1 OSC2 • MCU needs a clock input to operate • It can have two clock sources – A. Main processor clock input • This clock may be divided or multiply to allow the processor to run at a slower speed (lower power consumption) or higher speed – B. Sub clock input • 32.768KHz is the usual clock used as this allow accurate generation of a second via a 16 bit counter. • These clocks are normally fed via a crystal and two capacitors to the MCU. 6
  • 7.
    iii. Low powermode • Low Power is achieved via various mean – Running at slower speed, such as sub clock(32.768KHz) • Sleep mode, sub-active, standby… – Shutting off unused peripherals • Module stop mode… Standby mode consume only 1uA 7
  • 8.
    iv. Memory (ROM/RAM) • ROM (Read Only Memory) – For program and fixed data storage – Size: as low as 1 KByte to as high as 512 KByte – Example 1. Masked ROM 2. Flash 3. PROM - Programmable Read-Only Memory 1. OTP - One-Time Programmable • RAM (Random Access Memory) – For data storage – Size: as low as 256 Byte to as high as 4 KByte – Example 1. SRAM 8
  • 9.
    v. Input /Output Port • Basic interface to control (output) and monitor (Input) external events. – High current port • (20mA), so as to drive LED directly. – Open-collector/drain port • Interface to higher supply circuitry • Wired-Nor condition 9
  • 10.
    vi. Timer /Counter / WDT • Timer (8 or 16 bit) are used to generate or measure timing for events. – External event trigger the count – Compare match to perform a task – … • WDT (WatchDog Timer) – Every time before the counter reach the predefined value, the working MCU will clear the counter. – Thus, if the counter is not clear within the specified timing, the WDT will reset the whole MCU as this signify that the MCU has run wild. 10
  • 11.
    vii. PWM • PWM(Pulse Width Modulation) – Generate continue pulse of preset duty cycle • This can be used to drive motor. 11
  • 12.
    viii. ADC/DAC • ADC(Analog-to-Digital Conversion) – The basic peripheral to interface to the real analog world. – Characteristic • Accuracy is determine by number of bits (10,12,14…) • Sampling frequency • Conversion technology ( Resistive ladder, Sigma delta…) Analog Digital – AVCC, Data -> and eachTransducer input pins AVSS Real World analog ADC CPU Temperature Pressure Sound… • DAC (Digital-to-Analog Conversion) – This operate in another way. It output the signal in analog form to the outside world 12
  • 13.
    ix. Serial Interface •There are different serial interfaces – Asynchronous mode (2400 BaudRate…) – Synchronous mode (at higher transfer rate) – USB, I2C, SPI, CAN…(different communication standard) • Use for: – Communication with other devices, such as external RF module, PC… • Generally used only 3 pins – Serial In, Serial Out, and Clock 13
  • 14.
    x. On ChipDebug • Circuitry Incorporated for development and debugging purposes • Usually few pins are required for the PC to control the MCU, via a “JTAG-like” emulator – Mode pin – Data In/Out – Clock pin PC USB I/F Target Board 14
  • 15.
    xi. Bus Controller •In the higher performance MCU, a bus controller is incorporated to manage internal and external memory bus. • The external bus may be split into different areas, so that each area can be assigned with different setting – Refresh controller for DRAM – Longer wait cycles for slower devices 15
  • 16.
    xii. Other • Thereare many possible peripherals that can be integrated into each MCU, to perform specific tasks, such as: – LCD controller – PLC – Ethernet MAC • Other components are: – Interrupts – LVD (Low Voltage Detection) – POR (Power On Reset) 16
  • 17.
    MCU Connection Flashing Supply via battery or wall plug /Debugging (Optional) VCC Clock Output Control Motor, LED, Mode MCU Reset Input Monitor Temperature, Switches… GND 17
  • 18.
    Choosing MCU 1. Reliability - good 2. Performance – speed, number of bits, architectures 3. Power consumption - low 4. Peripherals – require 5. Number of I/O pins - enough 6. ROM/RAM size – enough 7. Package and Size – manufacturing ease 8. Development Tool – available and ease of Use 9. Roadmap – for next expansion 10. Cost - low 11. Availability – short lead time 12. Support – technical team, application notes… 18
  • 19.
    For more Tutorials • www.pantechsolutions.net • http://www.slideshare.net/pantechsolutions • http://www.scribd.com/pantechsolutions • http://www.youtube.com/pantechsolutions 5/24/2011 9:38:29 © Pantech Solutions Pvt Ltd. | All rights reserved www.pantechsolutions.net PM