420 likes | 725 Views
Fundamental of Microcontrollers. Waghmare Rahul G. Introduction. Purpose Provides an introduction to microcontrollers including usage and selection Objectives: Describes the functions of a microcontroller Briefly explains the history of microcontrollers
E N D
Fundamental of Microcontrollers WaghmareRahul G.
Introduction • Purpose • Provides an introduction to microcontrollers including usage and selection • Objectives: • Describes the functions of a microcontroller • Briefly explains the history of microcontrollers • Describes the main components of microcontroller • Talk about trends seen in the microcontroller industry • Describe the current microcontroller offerings • Describe the some of the steps in first using a microcontroller • Show usage of an Evaluation kit • Provide insight into how to choose a microcontroller for your application
What is Microcontroller • Microcontroller • Single chip device • System decision based on external signals • Controls the behavior of a system • Always Contains: • Processor Core • Memory (RAM, ROM) • Input/output (I/O) Capability • Serial I/O interface • Various On-Chip Peripherals such as: • Timers • Analog to digital converters • Pulse width Modulators • Many others Periperals I/O Memory Processor Core (CPU)
Where are Microcontrollers? • Everywhere • Any application that has real world inputs and outputs • Examples: • Washing Machine • ECG Machine • Networking equipments • PCOs • etc..
What is difference between a Microcontroller and a Microprocessor? CPU core with memory and peripherals integrated on chip CPU core connects to external memory and peripherals
History of the Microcontroller:Other Early Entries • General Instruments: • The famous PIC • Spun out chip Division - Microchip • Hitachi • 6300 line • Combined with Mitshibushi Electric to form Renesas • Zilog • First the Z – 80 processor, then Z – 8 MCU
Processor Core • CPU • Reads and Stores data • Performs Basic Math Operations • Performs Logical functions (OR, AND etc) • Controls flow of program execution
CISC V/S RISC Complex Instruction Set Computer Reduced Instruction Set Computer
Interrupt controller • Hardware to handle interrupt signals • Important in real time system • Interrupt latency in important to consider • Hardware and software (OS) determine interrupt latency • Interrupt service routine (ISR) is the part of OS
System Memory: ROM • ROM – Read-only Memory – for program storage • Masked ROM • Programmed during manufacture • PROM • Programmed by blowing fuse after manufacture • EPROM – Erasable ROM • Electrically programmed – Erased by UV light • OTP – One Time Programmable • PROM • EPROM that is encapsulated • EEPROM – Electrically Erasable ROM • Electrically programmed – Erased with higher voltages • FLASH • Similar to EEPROM • Write/Read/Erase in large blocks
System Memory: RAM • RAM – Random Access Memory • Volatile or Non-permanent memory • Can be written to many times • Stores Temporary or changeable data • “Embedded” in MCUs • Types of RAM • SRAM • Static RAM • Fast Access times / More Silicon area • Common in MCUs • DRAM • Dynamic RAM • Slower access time / Lesser Silicon area • Less common in MCUs
I/O: Serial Interface • Allow Communication with other devices • USB (Universal Serial Bus) • CAN (Controller Area Network) • SPI (Serial Peripheral Interface) • I2C (Inter Integrated Circuit) • UART (Universal Asynchronous Receiver/Transmitter) • LIN (Local Interconnect Network) • Ethernet • Also Wireless Interfaces • ZigBee • Bluetooth
On chip Peripherals • Timers • LCD Controllers • Touch screen Controllers • Keypad Controllers • GPIO pins • A/D Converter • D/A Converter • Analog Comparator • Pulse Width Modulator
Microcontroller Trends • Low Power • Dynamic Power • Static Power • Low Power Modes • Lower Supply Voltage • Higher Integration • More Feature Incorporated
Microcontroller Trends • 32 bits • More Processing power • Flash Memory • May replace the traditional ROM • DSP Functionality • DSP or Microcontroller • Multi-core • Not just for PCs
Sampling of Microcontroller offerings:Licensed cores • 8051 • NXP, Atmel, Silicon Labs, Dallas/Maxim, ST, Rabbit and others • ARM • NXP, ST, Free-scale, Atmel, Samsung, Texas Instruments, OKI, Energy Micro and others • MIPS • Microchips
Sampling of Microcontroller offerings:Broad range Vendors • Texas Instruments • Samsung & ST Microelectronics • NEC • Toshiba • NXP • Renesas • Microchip • Free scale • Atmel • Infineon
Sampling of Microcontroller offerings:Broad range Vendors (more..) • Analog Devices • Cyan • Maxim / Dallas • Zilog • Silicon Labs • Cypress • Energy Micro • Rabbit
Microcontroller Development Tools • Editor • Text based window for editing high-level language • Compiler • Converts source code to object code • Assembler • Converts assembly code to binary code • Linker • Joins separate object code files for download • Simulator • Run linker output on a simulation of the MCU on host PC • Debugger • Allows engineer to monitor and halt program execution
Microcontroller Development Tools • Integrated Development Environment (IDE) • Software package that contains all software tools integrated • In-Circuit Emulator • Replaces MCU with tool to allow viewing and control of program as seen within the chip • JTAG • Interface for test and debug • Evaluation / Development Kits • Low cost Easy-to-use Evaluation and development tool • 3rd Party tools • Various tools by Non-MCU vendor that help in all aspects of development including development including kits and JTAG Debugging
Operating System • A software platform which manages task created by user • Design team may write their own OS • Drivers handle details of using I/O and peripherals • Makes programming easier; just call on drivers for I/O • Makes program reusable; MCU hidden from designer • Drivers control peripherals; simply pass data to them • Real time Operating System (RTOS) • Designed to execute multiple tasks with definite time constraints and priorities
Code Development Programming code Compiler Memory • Highly Integrated Microcontrollers make circuit design easy but… • Must be programmed in order to perform a function • Code development is more than half the product development • A program is a sequence of instructions using the microcontroller’s unique instruction set • Families of MCUs may have a common instruction set • Typical Instruction includes: • Adding two numbers, and saving the result • Comparing two numbers and branching to different subroutines if equal or not equal • Reading the value of an external pins
Evaluation/Development/Reference design kits • Evaluation Kit • Low cast kits • Evaluating the microcontroller • Development Kit • More comprehensive • For developing the system around the microcontroller • Reference design kits • Application specific reference designs already complete
Basics of Designing a System • Marketing analyzes market needs, Drivers & develops new product specification • Environment sensors, motors, LCD Display, Keypad, etc • Engineering determines what functions of microcontrollers are required to meet specifications • Engineering team searches for MCU & other system components that will deliver end system to specification
Choosing a microcontroller:General Tips • Up Front Design System • Spreadsheets • Feature Requirements • Tool Requirements • Evaluation boards • Hardware V/S Software • Complexity of MCU
Choosing a microcontroller:Parametric aspects • Communication Interface • USB • CAN • UART • SPI • Others… • Packages • Size • Pins • Features / On chip Peripherals • ADC • DAC • Analog Comparator • PWM • LCD Control • Timers • JTAG • I/Os
Choosing a microcontroller:Parametric aspects • Reliability • Application demand • Memory • Size • Type • Familiarity • Personal experience • Senior Engineer • Power • Sleep Mode • Voltage • Current • Speed • Clock frequency • Critical Instruments • Interrupt latency
Choosing a microcontroller:Parametric aspects • Support • Documentation • White Papers • Reference design • Example code • User Guide • Errata • Application Engineers • Response time • Community • Portability • Roadmap • Large Family • Abstraction Layer • Price • Device • Volume • Software tools • IDEs • Debug • Compiler • OS • Available Kits • Evaluation Kit • Development Kit • Reference design kits