EEL 3923C JD/ Module 4 – Introduction to Microcontrollers Ryan Nuzzaci Fall 2010

Total Page:16

File Type:pdf, Size:1020Kb

EEL 3923C JD/ Module 4 – Introduction to Microcontrollers Ryan Nuzzaci� Fall 2010 9/25/10 EEL 3923C JD/ Module 4 – Introduction to Microcontrollers Ryan Nuzzaci" Fall 2010 Introduction to Microcontrollers A microcontroller is a small, special purpose chip used in embedded system designs. It has an internal bus with in built memory and peripherals whereas a microprocessor does not. Common uses: • Digital assistants (PDAs), • MP3 players • Mobile phones • Videogame consoles • Digital cameras • DVD players • GPS receivers • Computer peripherals • Household appliances EEL 3923C, Fall 2010, T. Nishida 2 1 9/25/10 Microcontroller Components Common integrated peripherals: • Internal oscillator • Timers • External and internal interrupts • Analogue comparator • Analog-to-digital converter (ADC or A/D) • Serial interfaces • EEPROM EEL 3923C, Fall 2010, T. Nishida 3 Oscillator The oscillator is used as a clock source for the CPU and the timer control unit. There is usually an internal, built-in oscillator, but an external crystal oscillator may also be used (usually to increase clock rate). EEL 3923C, Fall 2010, T. Nishida 4 2 9/25/10 Interrupts An interrupt is a process or a signal that stops a microprocessor from what it is doing so that something else can happen. When an interrupt fires, the processor stops the execution of the program, jumps to the place in memory that is reserved for the interrupt procedure, executes the procedure then returns back to the program and continues to execute. An interrupt can occur from an internal (timers) or external source (compare or capture). EEL 3923C, Fall 2010, T. Nishida 5 Timers A timer is basically a counter unit that count the periods of the oscillator. The counter will have a particular size (i.e. 4-bit, 8-bit, 16-bit) which sets the count limit (i.e. 24, 28, 216). If turned on, the counter will fire an overflow interrupt when it reaches the limit. Ref: http://electricly.com/category/schematic-diagram/page/5/ EEL 3923C, Fall 2010, T. Nishida 6 3 9/25/10 Input Capture and Output Compare Input capture allows the microcontroller to detect when an input pin reaches a certain voltage reference. A flag is set and/or an interrupt is fired when the detection is made. Uses: • Detect an external trigger or pulse • Calculate external signal frequency • Capture serial signal Output compare allows the microcontroller to trigger an output pin based on a timer value. Uses: • Generate a trigger for another device • Generate a serial output signal • General a clock signal EEL 3923C, Fall 2010, T. Nishida 7 Analog-to-Digital Converter The analog-to-digital converter (ADC) converts an analog input voltage to a digital number that is proportional to the magnitude of the voltage. This process is known as sampling and is used to create a digital (discretized) representation of the continuous input signal. The opposite process of converting a discrete value into a (DC) voltage level can be done with a digital-to-analog converter (DAC). Both will be discussed in a future lecture. EEL 3923C, Fall 2010, T. Nishida 8 4 9/25/10 Serial Interface Most microcontrollers will have a serial port that lets you communicate with other IC devices. The two most commonly used standard serial protocols are I2C (Inter IC communication) and SPI (Serial Peripheral Interface). A process known as ‘Bit Banging’ can also be implemented through software for serial communication over any of the uC’s I/O ports. Both methods will be explained in a future lecture. Devices: • ADCs or DACs • Digital potentiometers • Wireless transceivers (ZigBee) • RFID Readers • FTDI (USB interfacing) EEL 3923C, Fall 2010, T. Nishida 9 Memory There are three types of memory found on microcontrollers: Flash: Non-volatile memory where all of the program code is stored. RAM: Volatile memory where variables and intermediate data are stored during runtime. EEPROM: Non-volatile, Electrically Erasable and Programmable ROM is used to store data that must be saved between power up and power down (slower read/write speeds). EEL 3923C, Fall 2010, T. Nishida 10 5 9/25/10 Block Diagram Ref: http://www.mytutorialcafe.com/Microcontroller%20Memory%20Organization.htm EEL 3923C, Fall 2010, T. Nishida 11 Project Implementation 1. Define the project o Turn idea/concept into reality o Define project goals 2. Design and build the circuits o Choose a uC chip. (See uC assignments on slide 3.) In general, select uC based on cost, performance, as well as: •Storage • Speed • Peripherals • Available tools and documentation 3. Write the control program o Choose a compiler • Language (high level/low level) 4. Test and debug o Simulators o Debuggers (JTAG) EEL 3923C, Fall 2010, T. Nishida 12 6 9/25/10 References Slide 8: http://electricly.com/category/schematic-diagram/page/5/ Slide 13: http://www.mytutorialcafe.com/Microcontroller%20Memory%20Organization.htm EEL 3923C, Fall 2010, T. Nishida 13 PIC Microcontroller The PIC is one of the most popular microcontrollers. It uses a Harvard architecture and can be found in 8-bit, 16-bit and 32-bit families. Advantages: - PICBasic makes programming easier for beginners - Large sample code database - Wide range of packages and (onboard) features Disadvantages: - A small instruction set - Memory must be directly referenced in arithmetic and logic operations - Only one accumulator EEL 3923C, Fall 2010, T. Nishida 14 7 9/25/10 PIC Microcontroller (cont.) Depending on the chip family, the PIC may include the following: - General purpose I/O pins - Internal clock oscillators - 8/16/32 Bit Timers - Internal EEPROM Memory - Synchronous/Asynchronous Serial Interface USART - MSSP Peripheral for I$C and SPI Communications - Capture/Compare and PWM modules - Analog-to-digital converters (up to ~1.0 MHz) - USB, Ethernet, CAN interfacing support - External memory interface EEL 3923C, Fall 2010, T. Nishida 15 PIC18F4620 Pinout Description (Preview) EEL 3923C, Fall 2010, T. Nishida 16 8 9/25/10 PIC18F4620 Register Description (Preview) EEL 3923C, Fall 2010, T. Nishida 17 PIC Compiler – MPLAB EEL 3923C, Fall 2010, T. Nishida 18 9 9/25/10 PIC18F4620 Schematic EEL 3923C, Fall 2010, T. Nishida 19 PIC Programmer – PICKit 2 EEL 3923C, Fall 2010, T. Nishida 20 10 9/25/10 Atmel AVR Microcontroller AVRs are generally classified into five families: tinyAVR, megaAVR, XMEGA, application specific AVR and AT94K. It uses a modified Harvard architecture (RISC) and can be found in 8-bit and now 32-bit families. Advantages: - C compiler with on chip debugging (OCD) - Large sample code database - Wide range of packages - Extensive peripheral set EEL 3923C, Fall 2010, T. Nishida 21 Atmel AVR Microcontroller Depending on the chip family, the AVR may include the following: - Multifunction, bi-directional general purpose I/O ports with configurable, built-in pull-up resistors - Internal, self-programmable instruction flash memory - On chip debugging (OCD) - 8-Bit and 16-Bit timers - Analog comparator - 10 or 12-Bit A/D converters - A variety of serial interfaces (I2C, SPI, USI) - PWM control models - Ethernet controller support - LCD controller support - Low-voltage devices operating down to 1.8 V - Brownout detection EEL 3923C, Fall 2010, T. Nishida 22 11 9/25/10 AVR ATMega32 Pinout Description (Sample) EEL 3923C, Fall 2010, T. Nishida 23 AVR ATMega32 Register Description (Sample) EEL 3923C, Fall 2010, T. Nishida 24 12 9/25/10 AVR Compiler – AVR Studio EEL 3923C, Fall 2010, T. Nishida 25 AVR ATMega32 Schematic EEL 3923C, Fall 2010, T. Nishida 26 13 9/25/10 AVR Programmer – AVR ISP MKII EEL 3923C, Fall 2010, T. Nishida 27 TI MSP430 Microcontroller The MSP430 microcontrollers are generally classified into four families: x1xx, x2xx, x3xx and x4xx. The MSP430 is based on a 16- bit architecture and is particularly well suited for wireless radio frequency engineering (RF) and battery-powered applications. Advantages: - C compiler with on chip debugging (OCD) - Low cost - Free samples - LOW POWER CONSUMPTION! EEL 3923C, Fall 2010, T. Nishida 28 14 9/25/10 TI MSP430 Microcontroller (cont.) The F2xx family MSP430 includes: Power Specs Overview, as low as: - 0.1 %A RAM retention - 0.3 %A Standby mode (VLO) - 0.7 %A real-time clock mode - 220 %A / MIPS active -Feature Ultra-Fast Wake-Up From Standby Mode in <1 %s Device Parameters: - Flash Options: 1–120 KiB - RAM Options: 128 B–8 KiB - GPIO Options: 10, 16, 24, 32, 48, 64 pins - ADC Options: Slope, 10 & 12-bit SAR, 16-bit Sigma Delta - Other Integrated peripherals: Analog Comparator, Hardware Multiplier, - DMA, SVS, 12-bit DAC, Op Amps EEL 3923C, Fall 2010, T. Nishida 29 TI MSP430F2272 Pinout Description (Sample) EEL 3923C, Fall 2010, T. Nishida 30 15 9/25/10 TI MSP430F2272 Register Description (Sample) EEL 3923C, Fall 2010, T. Nishida 31 MSP430 Compiler – IAR Embedded Workbench EEL 3923C, Fall 2010, T. Nishida 32 16 9/25/10 MSP430F2272 Schematic EEL 3923C, Fall 2010, T. Nishida 33 References: Microcontroller Datasheets PIC: Microchip PIC18F4620 Atmel AVR: Atmel AVR ATMega324P MSP430: TI MSP430F2272 Datasheet TI MSP430F2272 User Guide EEL 3923C, Fall 2010, T. Nishida 34 17 9/25/10 References: Programmer Datasheets PIC: PICKit 2 Programmer Atmel AVR: Atmel ARV ISP MKII MSP430: TI MSP-FET430UIF Programmer EEL 3923C, Fall 2010, T. Nishida 35 References: ‘Get Started’ Tutorials PIC: MPLAB Tutorial Atmel AVR: AVR Studio Tutorial MSP430: IAR Embedded Workbench Tutorial EEL 3923C, Fall 2010, T. Nishida 36 18 .
Recommended publications
  • Fill Your Boots: Enhanced Embedded Bootloader Exploits Via Fault Injection and Binary Analysis
    IACR Transactions on Cryptographic Hardware and Embedded Systems ISSN 2569-2925, Vol. 2021, No. 1, pp. 56–81. DOI:10.46586/tches.v2021.i1.56-81 Fill your Boots: Enhanced Embedded Bootloader Exploits via Fault Injection and Binary Analysis Jan Van den Herrewegen1, David Oswald1, Flavio D. Garcia1 and Qais Temeiza2 1 School of Computer Science, University of Birmingham, UK, {jxv572,d.f.oswald,f.garcia}@cs.bham.ac.uk 2 Independent Researcher, [email protected] Abstract. The bootloader of an embedded microcontroller is responsible for guarding the device’s internal (flash) memory, enforcing read/write protection mechanisms. Fault injection techniques such as voltage or clock glitching have been proven successful in bypassing such protection for specific microcontrollers, but this often requires expensive equipment and/or exhaustive search of the fault parameters. When multiple glitches are required (e.g., when countermeasures are in place) this search becomes of exponential complexity and thus infeasible. Another challenge which makes embedded bootloaders notoriously hard to analyse is their lack of debugging capabilities. This paper proposes a grey-box approach that leverages binary analysis and advanced software exploitation techniques combined with voltage glitching to develop a powerful attack methodology against embedded bootloaders. We showcase our techniques with three real-world microcontrollers as case studies: 1) we combine static and on-chip dynamic analysis to enable a Return-Oriented Programming exploit on the bootloader of the NXP LPC microcontrollers; 2) we leverage on-chip dynamic analysis on the bootloader of the popular STM8 microcontrollers to constrain the glitch parameter search, achieving the first fully-documented multi-glitch attack on a real-world target; 3) we apply symbolic execution to precisely aim voltage glitches at target instructions based on the execution path in the bootloader of the Renesas 78K0 automotive microcontroller.
    [Show full text]
  • MSP430FR2433 Mixed-Signal Microcontroller
    Product Order Technical Tools & Support & Folder Now Documents Software Community MSP430FR2433 SLASE59C –OCTOBER 2015–REVISED AUGUST 2018 MSP430FR2433 Mixed-Signal Microcontroller 1 Device Overview 1.1 Features 1 • Embedded Microcontroller Storage – 16-Bit RISC Architecture – 1015 Write Cycle Endurance – Clock Supports Frequencies up to 16 MHz – Radiation Resistant and Nonmagnetic – Wide Supply Voltage Range From 3.6 V Down – High FRAM-to-SRAM Ratio, up to 4:1 to 1.8 V (Minimum Supply Voltage is Restricted • Clock System (CS) by SVS Levels, See the SVS Specifications) – On-Chip 32-kHz RC Oscillator (REFO) • Optimized Ultra-Low-Power Modes – On-Chip 16-MHz Digitally Controlled Oscillator – Active Mode: 126 µA/MHz (Typical) (DCO) With Frequency-Locked Loop (FLL) – Standby: <1 µA With VLO – ±1% Accuracy With On-Chip Reference at – LPM3.5 Real-Time Clock (RTC) Counter With Room Temperature 32768-Hz Crystal: 730 nA (Typical) – On-Chip Very Low-Frequency 10-kHz Oscillator – Shutdown (LPM4.5): 16 nA (Typical) (VLO) • High-Performance Analog – On-Chip High-Frequency Modulation Oscillator – 8-Channel 10-Bit Analog-to-Digital Converter (MODOSC) (ADC) – External 32-kHz Crystal Oscillator (LFXT) – Internal 1.5-V Reference – Programmable MCLK Prescalar of 1 to 128 – Sample-and-Hold 200 ksps – SMCLK Derived from MCLK With • Enhanced Serial Communications Programmable Prescalar of 1, 2, 4, or 8 – Two Enhanced Universal Serial Communication • General Input/Output and Pin Functionality Interfaces (eUSCI_A) Support UART, IrDA, and – Total of 19 I/Os on
    [Show full text]
  • Using Energia (Arduino)
    Using Energia (Arduino) Introduction This chapter of the MSP430 workshop explores Energia, the Arduino port for the Texas Instruments Launchpad kits. After a quick definition and history of Arduino and Energia, we provide a quick introduction to Wiring – the language/library used by Arduino & Energia. Most of the learning comes from using the Launchpad board along with the Energia IDE to light LED’s, read switches and communicate with your PC via the serial connection. Learning Objectives, Requirements, Prereq’s Prerequisites & Objectives Prerequisites Basic knowledge of C language Basic understanding of using a C library and header files This chapter doesn’t explain clock, interrupt, and GPIO features in detail, this is left to the other chapters in the MSP430 workshop Requirements - Tools and Software Hardware Windows (XP, 7, 8) PC with available USB port MSP430F5529 Launchpad Software Already installed, if you Energia Download have installed CCSv5.x Launchpad drivers (Optional) MSP430ware / Driverlib Objectives Define ‘Arduino’ and describe what is was created for Define ‘Energia’ and explain what it is ‘forked’ from Install Energia, open and run included example sketches Use serial communication between the board & PC Add an external interrupt to an Energia sketch Modify CPU registers from an Energia sketch MSP430 Workshop - Using Energia (Arduino) 8 - 1 What is Arduino Chapter Topics Using Energia (Arduino) ............................................................................................................
    [Show full text]
  • Design Considerations When Using the MSP430 Graphics Library, and Provides an Example of Implementation and Optimization
    www.ti.com 1 Trademarks MSP430, MSP430Ware are trademarks of Texas Instruments. Stellaris is a registered trademark of Texas Instruments. All other trademarks are the property of their respective owners. SLAA548–October 2012 1 Submit Documentation Feedback Copyright © 2012, Texas Instruments Incorporated Application Report SLAA548–October 2012 Design Considerations When Using MSP430 Graphics Library Michael Stein ABSTRACT LCDs are a growing commodity in today’s market with products as diverse as children’s toys to medical devices. Modern LCDs, along with the graphics displayed on them, are growing in complexity. A graphics library can simplify and accelerate development while creating the desired user experience. TI provides the MSP430 Graphics Library for use in developing products with the MSP430™ MCU. This application report describes design considerations when using the MSP430 Graphics Library, and provides an example of implementation and optimization. Project collateral discussed in this application report can be downloaded from the following URL: www.ti.com/lit/zip/SLAA548. Contents 2 Introduction to the MSP430 Graphics Library............................................................................ 2 3 System Overview ............................................................................................................ 3 4 Hardware Implementation - LCD Bus Type .............................................................................. 4 5 Software Implementation- LCD Display Driver Layer ..................................................................
    [Show full text]
  • Differences Between the TI MSP430 and MC9S08QE128 And
    Freescale Semiconductor Document Number: AN3502 Application Note Rev. 0, 09/2007 Differences between the TI MSP430 and MC9S08QE128 and MCF51QE128 Flexis Microcontrollers by: Inga Harris 8-bit Microcontoller Applications Engineer East Kilbride, Scotland 1 Introduction Contents 1 Introduction . 1 From the RS08 to our highest-performance ColdFire® 2 Top Level Specification Comparison . 2 3 Module Comparisons. 3 V4 devices, the Controller Continuum provides 3.1 12-bit Analog to Digital Convertor (ADC). 3 compatibility for an easy migration path up or down the 3.2 Analog Comparators . 4 performance spectrum. The connection point on the 3.3 Real Time Counter / Clock (RTC) . 5 3.4 I/O and Keyboard Interrupts . 6 Controller Continuum is where complimentary families 3.5 Hardware Multiplier . 7 of the S08 and ColdFire V1 (CFV1) microcontrollers 3.6 Low Voltage Detect (LVD). 7 3.7 Timer . 8 share a common set of peripherals and development tools 3.8 Interrupt Request (IRQ). 9 to deliver the ultimate in migration flexibility. 3.9 Watchdog . 9 Pin-for-pin compatibility between many devices allows 3.10 Flash Comparison . 9 3.11 Communications Peripherals. 11 controller exchanges without redesigning the board. The 3.12 Debugger. 13 MC9S08QE128 and the MCF51QE128 are the first 4 Clock Generator Module . 14 4.1 Functional Differences. 17 products in this series known as Flexis. 4.2 Clock Modes . 18 4.3 Clock Gating . 18 The term Flexis means a single development tool to ease 5 CPU Cores . 19 migration between 8-bit (S08) and 32-bit (CFV1), a 5.1 CPU Performance . 19 common peripheral set to preserve software investment 5.2 CPU Modes .
    [Show full text]
  • Ti Msp430 Microcontrollers
    TI MSP430 MICROCONTROLLERS BY ADITYA PATHAK THE MSP FAMILY • Ultra-low power; mixed signal processors • Widely used in battery operated applications • Uses Von Neumann architecture to connect CPU, peripherals and buses • AVR is commonly used debugger The MSP family (cont.) • 1 to 60 kB flash • 256B to 2kB RAM • With or without Hardware multipliers, UART and ADC • SMD package with 20 to 100 pins • MSP 430 family has 4 kB flash, 256B RAM, 2 timers and S0-20 package Memory Organization Architecture: Basic Elements • 16 bit RISC processor • Programmable 10/12 bit ADC • 12 bit Dual DAC for accurate analog voltage representation • Supply voltage supervisor for detection of Gray level • Programmable timers, Main and Auxiliary crystal circuits CPU features • Reduced Instruction Set Computer Architecture • 27 instructions wide instruction set • 7 orthogonal addressing modes • Memory to Memory data transfer • Separate 16 bit Address and Data buses • 2 constant number generators to optimize code Instruction Set • 27 “CORE” instruction and 24 “EMULATED” instructions • No code or performance penalties for Emulated instructions • Instructions can be for word or byte operands (.W / .B) • Classified into 3 groups Single Operand Instructions: RR, RRC, PUSH, CALL Dual Operand Instructions: MOV, ADD, SUB Jumps: JEQ, JZ, JMP Clock sub-system Basic Clock module includes: • LFXT1 – LF/HF crystal circuit, that uses either 32,768 Hz crystal (LF); or standard resonators in 450K-8MHz range • XT2 – optional HF oscillator that can be used with standard crystals
    [Show full text]
  • MSP430 Family Architecture
    MSP430 Family Architecture CPE621 Advanced Microcomputer Techniques Dr. Emil Jovanov CPE 621 MSP430 Architecture 1 Technology • Ultra low power – The MSP430 platform of ultra-low-power 16-bit RISC mixed-signal processors • 0.1 µA RAM retention • 0.8 µA real-time clock mode • 250 µA/MIPS active – MSP430x5xx – new Flash-based family featuring the lowest power consumption • up to 25 MIPS with 1.8 to 3.6V operation starting at 12 MIPS • New features include an innovative Power Management Module for optimizing power consumption, an internally controlled voltage regulator, and 2x more memory than previous devices. • Low power & high performance – TMS320C550x DSPs Industry’s lowest power fixed-point DSP • Large on-chip memory • optimized FFT co-processor for faster, cost- and energy-efficient performance – One-half the power consumption of existing TMS320C55x™ DSPs • 6.8 µW* in deep sleep mode (all peripheral clocks off) • 18/46 mW at 60/100 MHz • Applications: medical monitoring, noise cancellation headphones and portable audio/music recording CPE 621 MSP430 Architecture 2 1 MSP430 Family • MSP430x1xx – 1.8V to 3.6V operation –up to 60kB – 8MIPs with Basic Clock – from a simple low power controller with a comparator, to complete systems on a chip including high- performance data converters, interfaces and multiplier. • MSP430F2xx – up to 16 MHz – an integrated ±1% on-chip very lowpower oscillator, – software-selectable, internal pullup/pull-down resistors – increased number of analog inputs – the in-system programmable Flash has also been improved with smaller 64-byte segments and a lower 2.2-V programming voltage – Available in low-pin count options.
    [Show full text]
  • Msp430fg461x, Msp430cg461x Mixed-Signal Microcontrollers
    Product Order Technical Tools & Support & Reference Folder Now Documents Software Community Design MSP430FG4619, MSP430FG4618, MSP430FG4617, MSP430FG4616 MSP430CG4619, MSP430CG4618, MSP430CG4617, MSP430CG4616 SLAS508K –APRIL 2006–REVISED MAY 2020 MSP430FG461x, MSP430CG461x Mixed-Signal Microcontrollers 1 Device Overview 1.1 Features 1 • Low supply-voltage range: 1.8 V to 3.6 V • Universal serial communication interface • Ultra-low power consumption – Enhanced UART supports automatic baud-rate – Active mode: 400 µA at 1 MHz, 2.2 V detection – Standby mode: 1.3 µA – IrDA encoder and decoder – Off mode (RAM retention): 0.22 µA – Synchronous SPI • Five power-saving modes – I2C • Wakeup from standby mode in less than 6 µs • Serial onboard programming, programmable code • 16-bit RISC architecture, extended memory, protection by security fuse 125‑ns instruction cycle time • Brownout detector • Three-channel internal DMA • Basic timer with real-time clock (RTC) feature • 12-bit analog-to-digital converter (ADC) with • Integrated LCD driver up to 160 segments with internal reference, sample-and-hold and autoscan regulated charge pump feature • Device Comparison summarizes the available • Three configurable operational amplifiers family members • Dual 12-bit digital-to-analog converters (DACs) – MSP430FG4616, MSP430FG4616, with synchronization 92KB+256B of flash or ROM, • 16-bit Timer_A with three capture/compare 4KB of RAM registers – MSP430FG4617, MSP430CG4617, • 16-bit Timer_B with seven capture/compare-with- 92KB+256B of flash or ROM, shadow
    [Show full text]
  • MSP430 Ultra-Low-Power Microcontroller Family Product
    ™ R EAL W ORLD S IGNAL P ROCESSING MSP430 Ultra-Low-Power MCUs 2004 Modular Architecture Key Features • Ultra-low-power architecture extends battery life: ACLK - 0.1 µA RAM retention Clock Flash RAM Port - 0.8 µA real-time clock mode System - 250 µA/MIPS active SMCLK • High-performance analog ideal MCLK for precise measurement MAB • Modern 16-bit RISC CPU enables new applications at RISC CPU 16-Bit a fraction of the code size MDB • In-system programmable Flash JTAG/Debug permits flexible code changes, field upgrades and data logging ACLK • Complete integrated develop- Analog Digital Watchdog ment environment starting Peripheral Peripheral at $49 SMCLK • Device pricing as low as $0.49 MSP430 von-Neumann architecture — all program, data memory and peripherals share a Key Applications common bus structure. Consistent CPU instructions and addressing modes are used. • Utility metering • Portable instrumentation Modern 16-Bit RISC CPU MSP430 Modern Orthogonal 16-Bit • Intelligent sensoring • Large register file eliminates RISC CPU accumulator bottleneck MDB MAB MSP430 Architecture • Optimized for C and 15 0 A 16-bit RISC CPU, peripherals and assembler programming R0/PC Program Counter flexible clock system are combined by • Compact core design reduces R1/SP Stack Pointer using a von-Neumann common power and cost R2/SR Status memory address bus (MAB) and • Up to 8 MIPS of performance R3/CG Constant Generator memory data bus (MDB). Partnering available R4 General Purpose a modern CPU with modular memory- R5 General Purpose mapped analog and digital peripherals, The MSP430’s orthogonal archi- General Purpose the MSP430 offers solutions for tecture provides the flexibility of R6 today’s and tomorrow’s mixed-signal 16 fully addressable, single-cycle R7 General Purpose applications.
    [Show full text]
  • Embedded Systems: Principles and Practice
    Embedded Systems: Concepts and Practices Part 2 Christopher Alix Prairie City Computing, Inc. ECE 420 University of Illinois November 27, 2017 Outline (Part 2) • Software challenges in Embedded Systems • Key decisions in ES software development • ARM and DSP Architectures • Low-cost ES Prototyping Platforms • Trends and opportunities in the ES industry Embedded System Definition • A dedicated computer performing a specific function as a part of a larger system • High-reliability systems operating in a resource-constrained environment (typically cost, space & power) • Essential Goal: Turn hardware problems into software problems. Software Challenges "Black Box" Problem Limited input/output and user interface presents challenges, especially during debugging. Much embedded software is cross developed— written and debugged in the comfort of a desktop PC, and then downloaded into the system under development for final testing and deployment. Software Challenges "Black Box" Problem Embedded processors typically include a hardware interface (usually JTAG) for loading software and for doing remote debugging from a host computer. A development version of the hardware is often built first with extra interfaces for testability, which are then stripped out of the final design. Systems often include a connector for a "debug board" or "breakout board" which includes extra connections for debugging. Software Architecture Realtime Requirements Many ES have tasks that must be performed reliably at a specific rate. (e.g., capture a new audio sample every
    [Show full text]
  • Systemc Implementation of a Risc-Based Microcontroller Architecture
    SYSTEMC IMPLEMENTATION OF A RISC-BASED MICROCONTROLLER ARCHITECTURE A THESIS SUBMITTED TO THE GRADUATE SCHOOL OF NATURAL AND APPLIED SCIENCES OF MIDDLE EAST TECHNICAL UNIVERSITY BY SAL İH ZENG İN IN PARTIAL FULFILLMENT OF THE REQUIREMENTS FOR THE DEGREE OF MASTER OF SCIENCE IN ELECTRICAL AND ELECTRONICS ENGINEERING DECEMBER 2006 i Approval of the Graduate School of Natural and Applied Sciences Prof. Dr. Canan Özgen Director I certify that this thesis satisfies all the requirements as a thesis for the degree of Master of Science. Prof. Dr. İsmet Erkmen Head of Department This is to certify that we have read this thesis and that in our opinion it is fully adequate, in scope and quality, as a thesis for the degree of Master of Science. Prof. Dr. Murat A şkar Supervisor Examining Committee Members Prof. Dr. Hasan Güran (METU, EE) Prof. Dr. Murat A şkar (METU, EE) Prof. Dr. Tayfun Akın (METU, EE) Assist. Prof. Dr Cüneyt Bazlamaçcı (METU, EE) M.Sc. Lokman Kesen (ASELSAN) ii I hereby declare that all information in this document has been obtained and presented in accordance with academic rules and ethical conduct. I also declare that, as required by these rules and conduct, I have fully cited and referenced all material and results that are not original to this work. Name, Last name: Salih ZENG İN Signature : iii ABSTRACT SYSTEMC IMPLEMENTATION OF A RISC-BASED MICROCONTROLLER ARCHITECTURE ZENG İN, Salih M.S., Department of Electrical and Electronics Engineering Supervisor: Prof. Dr. Murat A şkar December 2006, 174 Pages Increasing the complexity of modern electronic systems leads to Electronic System Level (ESL) modeling concept, which supports hardware and software co- design and co-verification environment in a single framework.
    [Show full text]
  • MSP430BT5190 Mixed-Signal Microcontroller Datasheet (Rev. C)
    MSP430BT5190 www.ti.com SLAS703C – APRIL 2010 – REVISEDMSP430BT5190 SEPTEMBER 2020 SLAS703C – APRIL 2010 – REVISED SEPTEMBER 2020 MSP430BT5190 Mixed-Signal Microcontroller 1 Features • Unified clock system – FLL control loop for frequency stabilization • Designed for use with CC2560 TI Bluetooth® – Low-power low-frequency internal clock source based solutions (VLO) • Commercially licensed Mindtree™ Ethermind – Low-frequency trimmed internal reference Bluetooth Stack for MSP430 source (REFO) – Bluetooth v2.1 + enhanced data rate (EDR) – 32-kHz crystals compliant – High-frequency crystals up to 32 MHz – Serial port profile (SPP) • 16-bit timer TA0, Timer_A with five capture/ – Sample applications compare registers • Low supply voltage range: • 16-bit timer TA1, Timer_A with three capture/ 3.6 V down to 1.8 V compare registers • Ultra-low power consumption • 16-bit timer TB0, Timer_B with seven capture/ – Active mode (AM): compare shadow registers all system clocks active • Up to four universal serial communication 230 µA/MHz at 8 MHz, 3 V, flash program interfaces (USCIs) execution (typical) – USCI_A0, USCI_A1, USCI_A2, and USCI_A3 110 µA/MHz at 8 MHz, 3 V, RAM program each support: execution (typical) • Enhanced UART supports automatic baud- – Standby mode (LPM3): rate detection real-time clock (RTC) with crystal, watchdog, • IrDA encoder and decoder and supply supervisor operational, full RAM retention, fast wakeup: • Synchronous SPI 1.7 µA at 2.2 V, 2.1 µA at 3 V (typical) – USCI_B0, USCI_B1, USCI_B2, and USCI_B3 low-power oscillator
    [Show full text]