Systemc Implementation of a Risc-Based Microcontroller Architecture

Total Page:16

File Type:pdf, Size:1020Kb

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. SystemC language, which is an IEEE approved electronic design standard for system design and verification processes, provides such an environment by supporting a wide range of abstraction levels from system-level to register-transfer level (RTL). In this thesis, two different models of a processor core, whose instruction set architecture (ISA) is compatible with 16-bit TI MSP430 microcontroller, are designed by employing the classical hardware modeling capability of the SystemC language. With its well-designed orthogonal instruction set, elegant addressing modes, useful constant generators and flexible von-Neumann architecture, 16-bit RISC-like processor of the MSP430 microcontroller is an ideal selection for the system-on-a-chip (SoC) designs. Instruction set and addressing modes of the designed processors are simulated thoroughly. In addition, original 16-bit and 32- bit cyclic redundancy code (CRC) programs are used in order to verify the processor cores. In this study, SystemC to hardware flow is also illustrated by synthesizing the Arithmetic and Logic Unit (ALU) part of the processor into a Xilinx-based hardware. Keywords: SystemC, SystemC Synthesis, MSP430, Computer Design iv ÖZ RISC TABANLI M İCRODENETLEY İCİ YAPISININ SYSTEMC İLE GERÇEKLENMES İ ZENG İN, Salih Yüksek Lisans., Elektrik ve Elektronik Mühendisli ği Bölümü Tez Yöneticisi : Prof. Dr. Murat A şkar Aralık 2006, 174 Sayfa Elektronik sistemlerin gittikçe karma şıkla şması, tek bir ortamda yazılım ve donanım birimlerinin birlikte tasarlanmasını ve do ğrulanmasını destekleyen, sistem düzeyinde modelleme kavramını ortaya çıkarmı ştır. SystemC, böyle bir ortamı sa ğlayan, sistem seviyesinden yazmaç transfer seviyesine kadar (RTL) geni ş bir soyutlama aralı ğını destekleyen, IEEE onaylı, sistem tasarımı ve do ğrulanması için geli ştirilmi ş elektronik tasarım standardıdır . Bu tezde, SystemC dilinin klasik donanım modelleme yetene ği kullanılarak, 16-bit’lik TI MSP430 mikrodenetleyicisinin komutlarına uyumlu, iki adet farklı i şlemci modelleri tasarlanmı ştır. İyi tasarlanmı ş ortagonal komutlarıyla, kullanı şlı adresleme şekilleriyle, yararlı sabit sayı üreteçleriyle ve esnek von-Neumann mimarisi ile, 16- bit’lik RISC-benzeri MSP430 mikrodenetleyicileri, SoC tasarımları için ideal bir seçimdir. Tasarlanan i şlemcilerin komut kümesi ve adresleme şekilleri tamamiyle denenmi ştir. Bunun yanı sıra, orjinal 16-bit ve 32-bit’lik CRC programları da işlemcilerin çalı şmalarını do ğrulamak için kullanılmı ştır. Ayrıca, SystemC’den donanıma geçi ş, bahsedilen i şlemcilerin arithmetik ve mantık birimi (ALU), Xilinx tabanlı donanıma dönü ştürülerek bu çalı şmada gösterilmi ştir. Anahtar Kelimeler: SystemC, SystemC Sentezlenmesi, MSP 430, Bilgisayar Tasarımı v To my family, To my wife vi ACKNOWLEGMENTS I am most thankful to my supervisor Prof. Dr. Murat A şkar for sharing his invaluable ideas and experiences on the subject of my thesis. I would like to extend my thanks to all lecturers at the Department of Electrical and Electronics Engineering, who greatly helped me to store the basic knowledge onto which I have built my thesis. I am very grateful to TÜB İTAK-SAGE for providing tools and other facilities throughout the production of my thesis. I would like to forward my appreciation to all my friends and colleagues who contributed to my thesis with their continuous encouragement. I would like to express my deep gratitude to my family, who has always provided me with constant support and help. Special thanks to my wife for all her help and showing great patience during the writing process of my thesis. vii TABLE OF CONTENTS ABSTRACT........................................................................................................ IV ÖZ ....................................................................................................................... V ACKNOWLEGMENTS....................................................................................... VII TABLE OF CONTENTS ................................................................................... VIII LIST OF TABLES............................................................................................. XIII LIST OF FIGURES ..........................................................................................XVII LIST OF SYMBOLS .........................................................................................XXI LIST OF ABBREVIATIONS.............................................................................XXII CHAPTERS 1 INTRODUCTION ...........................................................................................1 2 SYSTEMC AND MSP430 MICROCONTROLLER.........................................6 2.1 SystemC ................................................................................................6 2.1.1 Traditional System Design Flow.......................................................8 2.1.2 System Design with SystemC........................................................12 2.1.2.1 Advantages of SystemC Design Flow.....................................14 2.2 MSP430 Microcontroller .....................................................................15 2.2.1 Central Processing Unit Registers .................................................18 2.2.1.1 Registers That Have Pre-defined Functions............................19 2.2.1.1.1 Program Counter-PC/R0 .....................................................19 2.2.1.1.2 Stack Pointer-SP/R1 ...........................................................20 2.2.1.1.3 Status Register (Constant Generator1)-SR/CG1/R2............21 2.2.1.1.4 Constant Generator2-CG2/R3.............................................23 viii 2.2.1.2 General Purpose Registers (from R4 to R15) .........................23 2.2.2 Instruction Set Architecture............................................................23 2.2.2.1 Core Instructions.....................................................................24 2.2.2.1.1 Double Operand Instructions...............................................25 2.2.2.1.2 Single Operand Instructions ................................................27 2.2.2.1.3 Jump Instructions ................................................................28 2.2.2.2 Emulated Instructions .............................................................30 2.2.3 Addressing Modes .........................................................................30 2.2.3.1 Decoding Addressing Modes ..................................................33 2.2.3.2 Register Direct Addressing Mode ...........................................34 2.2.3.3 Indexed Addressing Mode ......................................................36 2.2.3.4 Symbolic Addressing Mode ....................................................38 2.2.3.5 Absolute Addressing Mode .....................................................39 2.2.3.6 Indirect Register Addressing Mode .........................................41 2.2.3.7 Indirect Register Auto-increment Addressing Mode ................42 2.2.3.8 Immediate Addressing Mode ..................................................43 3 DESIGN OF MSP430 CPU CORE MODELS WITH SYSTEMC...................45 3.1 Introduction.........................................................................................45 3.2 Processor Cores.................................................................................46 3.3 Datapath Architecture ........................................................................54 3.3.1 Register Block ...............................................................................56 3.3.1.1 Registers of the Central Processing Unit ................................58 3.3.1.1.1 Address Register (Ra).........................................................59 3.3.1.1.2 Data Register (Rd) ..............................................................60
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]
  • 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]
  • Optimizing Active Mode Current Consumption on MSP Devices
    Application Report SLAA728–December 2016 Optimizing Active Mode Current Consumption on MSP Devices DietmarWalther ...................................................................................................................... Quality ABSTRACT Today's advanced architectures of low-power microcontrollers have created a real challenge for the conscientious engineer. How does one, without an intimate knowledge of each competitor's architecture, discern spin from a true level-set of the expected power consumption? This application report focuses on active mode power consumption when the MSP CPU is executing loops. All other power-saving features like power modes, speed or frequency adjustments, and intelligent use of peripherals are not described in detail. The goal is to introduce the differences between the different MSP families with respect to architecture and memory interface. The focus of this document is to provide short and crisp answers to the question why the current consumption might differ from one code to another without changing obvious functions of the application software. Contents 1 Introduction ................................................................................................................... 2 1.1 F1xx, F2xx, and F4xx Families ................................................................................... 2 1.2 F5xx and F6xx Families............................................................................................ 3 1.3 FR2xx, FR4xx, FR5xx, and FR6xx Families ...................................................................
    [Show full text]