This document provides an introduction to microcontrollers. It defines microcontrollers as small computers capable of performing specific tasks, like in appliances. Microcontrollers contain a CPU core, memory, input/output ports, timers and other peripherals on a single chip. They are classified as either microcontroller units (MCU) or microprocessor units (MPU) depending on whether external components are needed. Common microcontroller components and their functions are described, along with factors to consider when choosing a microcontroller for an application.
An introduction to the topic of microcontrollers, setting the framework for the following content.
Microcontrollers (MCU) are small computing devices for specific tasks. Classifications include MCU and MPU, highlighting their roles in embedded systems.
Comparison of MCU and MPU systems: MCUs are cost-effective and self-contained, while MPUs are complex with expandable systems.
Overview of MCU components such as the processor core, clock, memory types (ROM/RAM), timers, and PWM.
Processor core functions, architecture, and measurement via MIPS for assessing performance.
Explanation of MCU clock requirements and types, including main and sub clock sources for operation.
Methods for low power consumption in MCUs through speed adjustment and peripheral control.
Details on ROM and RAM used in MCUs, including types and size ranges for applications.
I/O ports facilitate control and monitoring of external events, essential for MCU operations.
Introduction to timer functions in MCUs and the watchdog timer (WDT) for system reliability.
PWM application in generating control signals, particularly for motors.
The roles of ADC and DAC in interfacing with analog and digital systems.
Overview of various serial interfaces for data communication in microcontroller systems.
Description of debugging facilities incorporated within MCUs, including JTAG-like interfaces.
Functionality of bus controllers in managing memory operations within MCUs.
Various peripheral components that enhance MCU functionality, such as LCD controllers and interrupts.
General description of MCU connections and operational components, including power supply and outputs.
Key factors to consider when choosing a microcontroller, covering reliability, performance, and cost.
Links to additional resources and tutorials provided by Pantech Solutions for deeper understanding.
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