Microsoft PowerPoint - _教師手冊 講義(上課部分).pptx

Similar documents
Microsoft Word - MSP430 Launchpad 指导书.docx

USB解决方案.ppt

EK-STM32F

ARM Cortex-M3 (STM32F) STMicroelectronics ( ST) STM32F103 Core: ARM 32-bit Cortex -M3 CPU 72 MHz, 90 DMIPS with 1.25 DMIPS/MHz Single-cycle multiplica

Cube20S small, speedy, safe Eextremely modular Up to 64 modules per bus node Quick reaction time: up to 20 µs Cube20S A new Member of the Cube Family

目 录

IP TCP/IP PC OS µclinux MPEG4 Blackfin DSP MPEG4 IP UDP Winsock I/O DirectShow Filter DirectShow MPEG4 µclinux TCP/IP IP COM, DirectShow I

ICD ICD ICD ICD ICD

Microsoft PowerPoint - ATF2015.ppt [相容模式]

SPHE8202R Design Guide Important Notice SUNPLUS TECHNOLOGY CO. reserves the right to change this documentation without prior notice. Information provi

<4D F736F F D C4EAC0EDB9A4C0E04142BCB6D4C4B6C1C5D0B6CFC0FDCCE2BEABD1A15F325F2E646F63>

Microsoft PowerPoint - Aqua-Sim.pptx

iml88-0v C / 8W T Tube EVM - pplication Notes. IC Description The iml88 is a Three Terminal Current Controller (TTCC) for regulating the current flowi


(Load Project) (Save Project) (OffLine Mode) (Help) Intel Hex Motor

BC04 Module_antenna__ doc

Microsoft PowerPoint - STU_EC_Ch08.ppt

学习MSP430单片机推荐参考书

iml v C / 4W Down-Light EVM - pplication Notes. IC Description The iml8683 is a Three Terminal Current Controller (TTCC) for regulating the cur

MSP430F KB+256B flash 10KB RAM 64 Quad Flat Pack QFP MSP430x1xx SLAU049 MSP430 MSP RISC CPU 16 DCO 6 MSP430x15x/16x/161x A/D 12 D/A

FM1935X智能非接触读写器芯片

LH_Series_Rev2014.pdf

Microsoft PowerPoint - Sens-Tech WCNDT [兼容模式]

Important Notice SUNPLUS TECHNOLOGY CO. reserves the right to change this documentation without prior notice. Information provided by SUNPLUS TECHNOLO

iml v C / 0W EVM - pplication Notes. IC Description The iml8683 is a Three Terminal Current Controller (TTCC) for regulating the current flowin

1-1 SH79F6431 A. 2( ) 9~15V ( 12V) U2 U3 3.3V SH79F B. 1(VCC/GND) SH79F6431 C. VDDIO SH79F6431 P4 P5 P0.6 P0.7 VDDIO VDDIO=5V D. 2 V 1.0

HCD0174_2008

P4VM800_BIOS_CN.p65

Pin Configurations Figure2. Pin Configuration of FS2012 (Top View) Table 1 Pin Description Pin Number Pin Name Description 1 GND 2 FB 3 SW Ground Pin.

MSP430x11x1 T A -40 ~ SOWB 20 TSSOP (DW) (PW) MSP430F110IDW MSP430F110IPW MSP430F112IDW MSP430F112IPW + F11x 30kΩ

2015年4月11日雅思阅读预测机经(新东方版)

AN INTRODUCTION TO PHYSICAL COMPUTING USING ARDUINO, GRASSHOPPER, AND FIREFLY (CHINESE EDITION ) INTERACTIVE PROTOTYPING

ARM JTAG实时仿真器安装使用指南

P4V88+_BIOS_CN.p65

目录

Microsoft Word - AP1515V02

TX-NR3030_BAS_Cs_ indd

Microsoft Word - HC20138_2010.doc

AL-M200 Series

Chroma 61500/ bit / RMS RMS VA ()61500 DSP THD /61508/61507/61609/61608/ (61500 ) Chroma STEP PULSE : LISTLIST 100 AC DC

untitled

穨control.PDF

Preface This guide is intended to standardize the use of the WeChat brand and ensure the brand's integrity and consistency. The guide applies to all d

PROTEUS VSM

Logitech Wireless Combo MK45 English

HC50246_2009

Microsoft Word - LR1122B-B.doc

untitled

epub83-1

2 2 3 DLight CPU I/O DLight Oracle Solaris (DTrace) C/C++ Solaris DLight DTrace DLight DLight DLight C C++ Fortran CPU I/O DLight AM

(02) (02) (02) (02) (02

目次 

LSC操作说明

Ác Åé å Serial ATA ( Sil3132) S A T A (1) SATA (2) BIOS SATA (3)* RAID BIOS RAID (4) SATA (5) SATA (a) S A T A ( S A T A R A I D ) (b) (c) Windows XP

1 CPU

HC20131_2010

CANVIO_AEROCAST_CS_EN.indd

2 Keil µ vision 2.1 1) Keil µ vision2 V2.34 µ vision3 2) Sino_Keil.exe Keil c:\keil\ 3) JET51 USB PC C:\Keil\ USB PC 4) S-L

1.ai

68369 (ppp quickstart guide)

Abstract arm linux tool-chain root NET-Start! 2

1. 請 先 檢 查 包 裝 內 容 物 AC750 多 模 式 無 線 分 享 器 安 裝 指 南 安 裝 指 南 CD 光 碟 BR-6208AC 電 源 供 應 器 網 路 線 2. 將 設 備 接 上 電 源, 即 可 使 用 智 慧 型 無 線 裝 置 進 行 設 定 A. 接 上 電 源

MCU Day 2009: MSP430 Ultra-Low Power MCUs

Gerolor Motors Series Dimensions A,B C T L L G1/2 M8 G1/ A 4 C H4 E

Microsoft PowerPoint - Ch5 The Bipolar Junction Transistor

000

1 Project New Project 1 2 Windows 1 3 N C test Windows uv2 KEIL uvision2 1 2 New Project Ateml AT89C AT89C51 3 KEIL Demo C C File

51 C 51 isp 10 C PCB C C C C KEIL

C语言的应用.PDF

Hi3518EV200 HD IP Camera SoC Hi3516A

WTO

(Pattern Recognition) 1 1. CCD

r_09hr_practical_guide_kor.pdf

System Design and Setup of a Robot to Pass over Steps Abstract In the research, one special type of robots that can pass over steps is designed and se

中国人民大学商学院本科学年论文

PCM-3386用户手册.doc

國 立 政 治 大 學 教 育 學 系 2016 新 生 入 學 手 冊 目 錄 表 11 國 立 政 治 大 學 教 育 學 系 博 士 班 資 格 考 試 抵 免 申 請 表 論 文 題 目 申 報 暨 指 導 教 授 表 12 國 立 政 治 大 學 碩 博 士 班 論

P3B-F Pentium III/II/Celeron TM

Gerotor Motors Series Dimensions A,B C T L L G1/2 M G1/ A 4 C H4 E

untitled

2

Microsoft Word - TIP006SCH Uni-edit Writing Tip - Presentperfecttenseandpasttenseinyourintroduction readytopublish

NANO COMMUNICATION 23 No. 2-3D IC 29 6T SRAM, ReRAM, sense amplifiers, analog amplifiers and gas sensors was integrated to confirm the superiority in


Windows XP


audiogram3 Owners Manual

IP505SM_manual_cn.doc

Guide to Install SATA Hard Disks

热设计网

OSI OSI 15% 20% OSI OSI ISO International Standard Organization 1984 OSI Open-data System Interface Reference Model OSI OSI OSI OSI ISO Prototype Prot

untitled

FILTRON 1. DC AC AC 220V 50HZ / / / / 4. 1) / DC AC FILTRON DC AC FILTRON DC 12V 12VDC D

Microsoft Word - ChineseSATII .doc

Transcription:

單晶片系統設計與應用 MSP430 戴政祺

Nondestructive Testing & Nano-Biomedical Integrated System Laboratory (NDT & NBMIS Labs) ( 非破壞檢測暨奈米生醫整合系統實驗室 ) Class Meeting Time: Friday 08:10am~01:00pm Instructor: Cheng-Chi Tai ( 戴政祺, 電機所儀器系統與晶片組 ) Office: 92605 EE Building Office Phone: 06-2757575 ext. 62388 E-mail: ctai666@gmail.com Handouts: http://140.116.164.38 NDT & NBMIS 實驗室研究題目包括生物醫學電子整合系統 ( 奈米磁粒熱療 藍芽無線通訊系統及實驗板 居家監護與資訊家電系統 數位信號處理器在語音處理 噪音防制等之應用 電刺激治療器 電子聽診器 電子血壓計 針灸針深度計等 ) ; 電磁控制 (3D 磁浮 膠囊型內視鏡 ) 與癌細胞電磁熱療 ; 非破壞檢測 ( 渦電流 超音波 音射 電力設備局部放電 ) 等

References MSP430 microcontroller basics, John H. Davies, 2008, Newnes Embedded systems design using the TI MSP430 series, Chris Nagy, 2003, Newnes Analog and digital circuits for electronic control system applications using the TI MSP430 microcontroller, Jerry Luecke, 2005, Newnes Writing optimized C code for microcontroller applications, Wilson Chan, Toshiba America Electronics Components, Inc. MSP430 單片機常用模塊與綜合系統實例精讀 SLAU144e_MSP430x2xx_UsersGuide ( 使用手冊 ) SLAU208f_MSP430x5xx_UsersGuide ( 使用手冊 ) MSP430 competitive benchmarking ( 單晶片比較 ) MSP-FET430 Flash Emulation Tool (FET) User s Guide (slau138) Using the MSP430 EEM Debug Feature with IAR 3.30 (slaa263) www.ti.com/msp430 www.elsevierdirect.com/companions/9780750682763 www.iar.com/ew430

Course Outline Introduction A Simple Tour The TI MSP430 Development Architecture of the MSP430 Processor Functions, Interrupts, and Low-Power Modes Digital Input, Output, and Displays Timers Mixed-Signal Systems: Analog Input and Output Communication The Future

簡介 MSP430 是超低功耗 16 位元 RISC 混合訊號處理器, 電源電壓 1.8~3.6 V 設計人員可同時連接類比訊號 感測器和數位零件, 維持最佳低功耗效能 超低功耗架構延長電池使用時間 0.1uA for RAM 資料保存電流 ( 待命狀態 ) 0.8 ua 即時時脈模式 250 ua / 1 MIPS 工作電流 (vs. 10~20 ma/mips for 8051) 高效能類比元件, 適合精準量測應用 16 位元 RISC 處理器, 可實作多種應用, 大幅縮短程式碼 內建可線上燒錄 (in-system programmable) 快閃記憶體, 可用於程式碼變更 現場升級和資料記錄

簡介 MSP430 family of ultralow-power microcontrollers consist of several devices featuring different sets of peripherals targeted for various applications. The architecture, combined with five low-power modes is optimized to achieve extended battery life in portablemeasurement applications. The device features a powerful 16-bit RISC CPU, 16-bit registers, and constant generators that contribute to maximum code efficiency. The digitally controlled oscillator (DCO) allows wake-up from low-power modes to active mode in less than 1μs. The MSP430x20xx series is an ultralow-power mixed signal microcontroller with a built-in 16-bit timer, and ten I/O pins. In addition the MSP430x20x1 has a versatile analog comparator. The MSP430x20x2 and MSP430x20x3 have built-in communication capability using synchronous protocols (SPI or I2C), and a 10-bit A/D converter (MSP430x20x2) or a 16-bit sigma-delta A/D converter (MSP430x20x3). Like most modern ICs, MSP430 is built using CMOS technology and FETs.

簡介 Pin-out of the MSP430F2003 & F2013 A0, A0+, and so on, up to A4±, are inputs to the analog-to-digital converter ( 類必數位轉換 ) ACLK and SMCLK are outputs for the microcontroller s clock signals. ( 有三種時脈 ACLK, MCLK, SMCLK) SCLK, SDO, and SCL are used for the universal serial interface ( 通用串列介面 ) XIN and XOUT are the connections for a crystal ( 震盪源 ) RST is an active low reset signal ( 重置 ) NMI is the nonmaskable interrupt input ( 不可遮罩中斷 ) TCK, TMS, TCLK, TDI, TDO, and TEST form the full JTAG interface, used to program and debug the device SBWTDIO and SBWTCK provide the Spy-Bi-Wire interface, an alternative to the usual JTAG connection that saves pins.

簡介 The Inside View Functional Block Diagram

簡介

Example The whole system can be constructed from a sensor, an MSP430, a simple LCD without a controller, and a couple of decoupling capacitors. The MSP430x4xx family drives segmented LCDs directly, which eliminates the need for a controller. Several devices contain ADCs with high-resolution, differential inputs, which would work directly from the sensor without the need for an amplifier. The microcontroller can also manage the power drawn by the circuit so that the processor would be switched off when it was not needed and the whole system shut down after a period of inactivity. This is an ideal application for the MSP430.

C or Assembly Language? Most small microcontrollers are now programmed using the C language so the question might seem redundant. In fact often columns in newletters on embedded systems often carry articles with titles such as Is Assembly Language Dead? However, the answer seems to be clearly that assembly language is not dead for small microcontrollers, such as the MSP430. Most code is written in C but you may occasionally need to write a subroutine in assembly language to perform an operation that cannot be written out directly in C. Two examples are operations that require bitwise rotations rather than shifts and calculations that can be done more efficiently by exploiting special instructions of the CPU, such as binary-coded decimal arithmetic. Intrinsic functions ( 內建函式 ) often avoid the need for assembly language but not always. ( 大部分情況以 C 語言撰寫即可 但少數運算, 如 bitwise rotations 以組合語言寫較有效率 )

Top-Level Code Flow

Coding Techniques 1. Configure the Watchdog and Oscillator 2. Always Use Standard Definitions From TI Header Files 3. Using Intrinsic Functions to Handle Low Power Modes (LPM) and Other Functions 4. Write Handlers for Oscillator Faults 5. Increasing the MCLK Frequency 6. Using a Low-Level Initialization Function 7. In-System Programming (ISP) 8. Using Checksums to Verify Flash Integrity

Code Examples //****************************************************************************** // MSP430F20xx Demo - Software Toggle P1.0 // Description; Toggle P1.0 by xor'ing P1.0 inside of a software loop. // ACLK = n/a, MCLK = SMCLK = default DCO //****************************************************************************** #include <msp430x20x3.h> void main(void) { WDTCTL = WDTPW + WDTHOLD; // Stop watchdog timer P1DIR = 0x01; // Set P1.0 to output direction for (;;) { volatile unsigned int i; P1OUT ^= 0x01; // Toggle P1.0 using exclusive-or i = 50000; // Delay do (i--); while (i!= 0); } }

Code Examples // Ramped PWM using Timer_A in Up mode from ACLK // PWM at 128Hz, 128 counts per cycle from ACLK/2; ramp 1s up, 1s down // Pulse width is incremented or decremented by 1 each cycle in ramp // Duty cycle updated by TACCR0 CCIFG interrupt // Olimex 1121STK, LED1 on P2.3 = TA1, active low; piezo off //---------------------------------------------------------------------- #include <io430x11x1.h> // Specific device #include <intrinsics.h> // Intrinsic functions #include <stdint.h> // Integers of defined sizes //---------------------------------------------------------------------- void main (void) { WDTCTL = WDTPW WDTHOLD; // Stop watchdog timer // Set up Timer_A for PWM on active low LED, channel 1 TACCTL1 = OUTMOD_0 OUT; // Force output initially high (LED off) TACCR0 = 0x007F; // 128Hz from 16KHz timer clock TACCR1 = 0x0000; // Duty cycle D = 0 initially TACCTL0 = CCIE; // Enable interrupts on compare TACCTL1 = OUTMOD_3; // Set/reset mode for negative PWM // Configure ports 1 and 2; redirect P2.3 to Timer_A P1OUT = BIT0 BIT1; // Output high for Freq pin and TXD P1DIR = BIT0 BIT1; P2SEL = BIT3; // Route P2.3 to TA1 P2OUT = BIT3 BIT4; // LEDs off (active low); piezo off P2DIR = BIT0 BIT3 BIT4 BIT5; // Piezo and LED outputs // Start timer from ACLK/2, Up mode, clear, no interrupts TACTL = TASSEL_1 ID_1 MC_1 TACLR; for (;;) { // Loop forever low_power_mode_3(); // Enter LPM3 between interrupts } } Continue.

Code Examples //---------------------------------------------------------------------- // Interrupt service routine for TACCR0.CCIFG // Compiler warning for "if (TACCR1 > TACCR0)" can be ignored //---------------------------------------------------------------------- #pragma vector = TIMERA0_VECTOR interrupt void TIMERA0_ISR (void) // Flag cleared automatically { static enum {up, down} direction = up; } if (direction == up) { // Increasing duty cycle? ++TACCR1; // Yes: increase TACCR1 if (TACCR1 > TACCR0) { // Hit 100% limit? direction = down; // Yes: decrease duty cycle next } } else { --TACCR1; // Decrease duty cycle if (TACCR1 == 0) { // Hit 0 limit? direction = up; // Yes: increase duty cycle next } }

Development Environment A development system includes some or all of these functions. The editor, compilers, and linker are usually combined into an integrated development environment (IDE), which keeps track of all the files required for a complete project source files, headers, linker scripts, and so. Editor: Used to write and edit programs (usually C or assembly code). Assembler or compiler: Produces executable code and checks for errors, preferably providing helpful messages. Linker: Combines compiled files and routines from libraries and arranges them for the correct types of memory in the MCU. Stand-alone simulator: Simulates the operation of the MCU on a desktop computer without the real hardware. ( 純軟體模擬 ) Embedded emulator/debugger: Allows software to run on the MCU in its target system under the control of a debugger running on a desktop computer. The computer and MCU communicate through a special interface, JTAG for the MSP430. In-circuit emulator: Specialized and expensive ($1000s) hardware that emulates the operation of the MCU under the control of debugging software running on a desktop computer. Flash programmer: Downloads the program into flash memory on the MCU.

Development Environment IAR EmbeddedWorkbench Kickstart: The free version of IAR Embedded Workbench for MSP430 (EW430). It is limited to 4KB of C code and has some other restrictions. There are several commercial versions with fewer restrictions. Most of the documentation and examples provided by TI are currently written for EW430. Code Composer Essentials Evaluation: The free version of Code Composer Essentials for the MSP430 (CCE), limited to 16KB of C code. It was developed by TI itself but is less closely related to Code Composer for its DSP chips than you might expect from the name. It is based on the open-source Eclipse SDK. Some of the usage, particularly for assembly language, is entirely different from EW430.

The C Programming Language This is now the language of choice for small microcontrollers, for many good reasons. Its built-in and user-defined types, data structures, and flexible control flow make it far more efficient and reliable to write in C than assembly language ( 工作效率較好, 方便傳承給後繼者 ). At the same time, it is a sufficiently low-level language that compilers can use to produce efficient code. This is aided by the architecture of modern processors, such as the MSP430, which are designed with compilers in mind rather than for hand-crafted assembly code. ( 現代的微處理機是針對 compiler 做設計, 所以以 C 語言寫程式不會比用組合語言寫效率差 ) Programs for small embedded systems tend not to contain a lot of complicated manipulation of complex data objects. Instead, much code is usually devoted to the control of peripherals through their special registers. This means that the details of individual bits, bytes, and words are often important. ( 大部分程式碼只是經由暫存器針對特定周邊做控制 )

Coding Guidelines for C 1. No line should exceed 80 characters. 2. Use macros provided in the MSP430 header file. 3. Comments start in column 45, first word is capitalized. 4. For multiline comments, additional lines are not capitalized. 5. Use two-space indentation.

Aspects of C for Embedded Systems Light LEDs in C #include <msp430x11x1.h> // Specific device void main (void) { WDTCTL = WDTPW WDTHOLD; // Stop watchdog timer P2DIR = 0x18; // Set pins with LEDs to output, 0b00011000 P2OUT = 0x08; // LED2 (P2.4) on, LED1 (P2.3) off (active low!) for (;;) { // Loop forever... } //... doing nothing }

Flash LEDs with a frequency of 1Hz using a software delay #include <msp430x11x1.h> // Specific device // Pins for LEDs #define LED1 BIT3 #define LED2 BIT4 // Iterations of delay loop; reduce for simulation #define DELAYLOOPS 50000 void main (void) { volatile unsigned int LoopCtr; // Loop counter: volatile! WDTCTL = WDTPW WDTHOLD; // Stop watchdog timer P2OUT = ~LED1; // Preload LED1 on, LED2 off P2DIR = LED1 LED2; // Set pins with LED1,2 to output for (;;) { // Loop forever for (LoopCtr = 0; LoopCtr < DELAYLOOPS; ++ LoopCtr) { } // Empty delay loop P2OUT ^= LED1 LED2; // Toggle LEDs } }

Assembly Language A typical assembly code line has four parts: 1. Label starts in the first column and may be followed by a colon (:) for clarity. 2. Operation either an instruction, which is translated into binary machine code for the processor itself, or a directive, which controls the assembler. 3. Operands data needed for this operation (not always required). 4. Comment the rest of the line, following a semicolon (;)

Coding style guidelines for assembly language 1. No line should exceed 80 characters. (< 80 個字元 ) 2. Use macros provided in the MSP430 header file( 用巨集指令 ) 3. Labels start in column 1 and are 10 characters or fewer. 4. Instructions / DIRECTIVES start in column 13. 5. Instructions are lower case and DIRECTIVES are UPPER CASE. ( 一般指令用小寫 ; 虛指令用大寫 ) 6. Operands start in column 21. 7. Comments start in column 45, the first word is capitalized. 8. For multiline comments, additional lines are not capitalized.

Code Examples ; relocatable program to light LEDs ; Lights pattern of LEDs, sets pins to output, then loops forever ;----------------------------------------------------------------------- #include <msp430x11x1.h> ; Header file for this device RSEG CODE ; Program goes in code memory Reset: ; Execution starts here mov.w #WDTPW WDTHOLD,&WDTCTL ; Stop watchdog timer mov.b #00001000b,&P2OUT ; LED2 (P2.4) on, LED1 (P2.3) off (active low!) mov.b #00011000b,&P2DIR ; Set pins with LEDs to output InfLoop: ; Loop forever... jmp InfLoop ;...doing nothing ;----------------------------------------------------------------------- RSEG RESET ; Segment for reset vector DW Reset ; Address to start execution END

Code Examples Light LEDs in Assembly Language #include <msp430x11x1.h> ; Header file for this device ORG 0xF000 ; Start of 4KB flash memory Reset: ; Execution starts here mov.w #WDTPW WDTHOLD,& WDTCTL ; Stop watchdog timer mov.b #00001000b,& P2OUT ; LED2 (P2.4) on, LED1 (P2.3) off (active low!) mov.b #00011000b,& P2DIR ; Set pins with LEDs to output InfLoop: ; Loop forever... jmp InfLoop ;... doing nothing ;----------------------------------------------------------------------- ORG 0xFFFE ; Address of MSP430 RESET Vector DW Reset ; Address to start execution END

Flash LEDs with a frequency of 1Hz using a software delay

Loop in C and Assembly do while loop in C LoopCtr = 0; do { ++ LoopCtr; } while (LoopCtr!= DELAYLOOPS ); A typical loop counting down to 0 in assembly language mov.w #DELAYLOOPS,R4 DelayLoop: dec.w R4 jnz DelayLoop ; Initialize loop counter ; [clock cycles in brackets] ; Decrement loop counter ; Repeat loop if not zero

Automatic Control: Use of Subroutines It is good practice to package distinct functions into subroutines or functions because this makes code easier to write, debug, and reuse. This is also more reliable because individual subroutines can be tested before being built into a large program. Moreover, we can make the function more versatile. For example, we could write a delay loop with a duration of 0.1 s and use it to build a subroutine to give an overall delay of 0.1n s, where the multiplier n is passed as a parameter.

Subroutine DelayTenths: jmp LoopTest ; Start with test in case R12 = 0 OuterLoop: mov.w #DELAYLOOPS,R4 ; Initialize loop counter DelayLoop: ; [clock cycles in brackets] dec.w R4 ; Decrement loop counter [1] jnz DelayLoop ; Repeat loop if not zero [2] dec.w R12 ; Decrement number of 0.1s delays LoopTest: cmp.w #0,R12 ; Finished number of 0.1s delays? jnz OuterLoop ; No: go around delay loop again ret ; Yes: return to caller

Access to the Microcontroller for Programming and Debugging Need a way to download a program into the MCU at the very least. Increasingly this is a two-way communication so that information can be retrieved from the chip during debugging. Three interfaces are used in the MSP430 range, two of which are available on most variants: Bootstrap loader (serial interface): The bootstrap loader (BSL) was built into all MSP430s until the F20xx in 2005. It uses a standard serial protocol and needs only a level shifter for connection to the RS-232 (COM) ports of a computer. Conventional JTAG (four wires): JTAG needs at least four connections, labeled TDI, TDO, TMS, and TCK for the input, output, control, and clock of the shift register and state machine. JTAG has been extended greatly and now does far more than boundary scans. It is widely used for debugging microcontrollers. TI use a 14-pin connector for JTAG. The JTAG signals are connected to a desktop computer through an interface. This is often called a pod or wiggler but TI calls it a flash emulation tool (FET). Pods often worked with the parallel port of a PC in the past but now mostly use USB or ethernet. Spy-Bi-Wire JTAG (two wires):

Demonstration Boards The TI ez430 F2013 USB stick development tool The TI MSP430FG4618/F2013 Experimenter s Board. Texas Instruments Development Kits Olimex MSP430-1121STK starter kit.

MSP430 A Simple Tour

MSP430 Roadmap

MSP430 families Currently four families of MSP430 are available. The letter after MSP430 shows the type of memory. Most part numbers include F for flash memory but some have C for ROM. There is a second letter for ASSPs to show the type of measurement for which they are intended: E for electricity, W for water, and G for signals that require a gain stage, provided by operational amplifiers.

MSP430 families MSP430x1xx: General-purpose devices from simple versions to complete systems for processing signals. There is a broad selection of peripherals and some include a hardware multiplier, which can be used as a rudimentary digital signal processor. Packages have 20 64 pins. MSP430F2xx: A newer, general-purpose family introduced in 2005. Its CPU can run at 16 MHz, double the speed of earlier devices, while consuming only half the current at the same speed. Some come in 14- pin packages, including a traditional plastic dual-in-line (PDIP) option, which is attractive for anybody who has to build circuits by hand. They do not require a crystal for their low-frequency clock. Pull-up or pulldown resistors are provided on the inputs to reduce the number of external components needed. Even the smallest, 14-pin devices offer a 16-bit sigma delta ADC ( 全部內含 ADC). MSP430x3xx: The original family, which includes drivers for LCDs. MSP430x4xx: Can drive LCDs with up to 160 segments. Many of them are ASSPs, but there are general-purpose devices as well. Their packages have 48 113 pins, many of which are needed for the LCD.

Ultra-Low-Power + High Performance 高效能 16-bit RISC CPU up to 25MHz 領先的工業級 MCU 的程式效率 彈性的時脈系統 單一指令週期的暫存器 (register ) 操作 16 個 16(20)-bit 暫存器 沒有累加器 (accumulator) 的瓶頸 低功耗 工業級最低功耗 待命時小於 1 μ A 包含 RTC and BOR 運作時 160 μa/mips 快速的喚醒時間 <1 μs 內建 voltage regulator 4 可程式化的電壓位準 少於 50 na pin 漏電流 (leakage) 高整合性 14 至 113 腳 1-256kB Flash/ROM 10-/12-/16-bit ADC 12-bit D/A, LCD 驅動, RTC, DMA 比較器及 Op 放大器 Supply Voltage Supervisor & BOR 16-bit and 8-bit timers; WDT I2C, SPI, UART/LIN, IrDA USB & RF 簡單易用 對 C 語言有善的 IDE 及編譯器 一套程式及開發工具可用於全系列 內建 ( 嵌入式 ) 的模擬 / 除錯環境 (Emulator) Trace, single-stepping, in-system debug 智慧型的週邊模組 DTC, DMA, Autoscanning A/D 免費或低價的開發工具

低功耗 + 高效能 + 超彈性 0.1µA LPM4 (Low Power Mode 4, 可接受外部中斷 ) 0.8µA standby mode( 保留一低頻時脈源進行定時中斷 ) 250µA / 1MIPS < 1µs 時脈啟動時間 完全不耗電的斷電重置 (BOR) < 50nA 漏電流 (port leakage) 先進的 16-bit RISC CPU 1K to 128KB+ ISP 快閃記憶體 從 14- 到 100-pin 可供選擇 智慧型的週邊提升系統效率 (10/12/16-bit ADC,DAC,OPA,LCD ) 內置開發 / 模擬 / 除錯 (Emulation) 界面

MSP430 記憶體架構 馮 - 鈕曼 (Von-Neumann) 架構 所有的記憶體位於同一條位址線上 清楚, 沒有例外, 容易理解 包含程式 資料 週邊 Compiler 效率高 同樣的指令可以存取 RAM/ROM/ 週邊 程式能夠於 RAM 中執行 Source MSP430 Address Mode Destination

Harvard and von Neumann architectures for memory

Memory Map Most MSP430 devices have a similar memory map, differing only in the size of the regions for RAM and code. The exceptions are devices with particularly large memory, such as the F1611 with 10KB of RAM. Special function registers: Mostly concerned with enabling functions of some modules and enabling and signalling interrupts from peripherals. Peripheral registers with byte access and peripheral registers with word access: Provide the main communication between the CPU and peripherals. Some must be accessed as words and others as bytes. Random access memory: Used for variables. This always starts at address 0x0200 and the upper limit depends on the size of the RAM. The F2013 has 128 B. Bootstrap loader: Contains a program to communicate using a standard serial protocol, often with the COM port of a PC. Information memory: A 256B block of flash memory that is intended for storage of nonvolatile data. Code memory: Holds the program, including the executable code itself and any constant data. Interrupt and reset vectors: Used to handle exceptions, when normal operation of the processor is interrupted or when the device is reset.

16 位元精簡指令集的 CPU 高效率, 超低功耗 CPU 16 個 16 位元暫存器 (R0,R1 R15) 沒有累加瓶頸 7 種定址模式, 而且僅有 27 個指令 非常容易使用 針對 C 及組合語言 Assembler 程式開發設計 程式編譯 / 執行效率更高 Single-cycle operations( 單一週期指令操作 ) ( 一個週期執行一條指令 ) 高效率 ( 註 : 8051 需 12 個時脈週期 ) 彈性且模組化的系統 100% 的相容性 直接 Memory-to-memory 定址 支援 bit, byte 及 word 處理 MSP430 CPUX 可支援至 20bit

Registers in the CPU of the MSP430

Memory-Mapped Input and Output ( 記憶體映射輸出入埠 ) The MSP430, in common with most processors, uses memory-mapped input and output. This means that the ports simply appear to the CPU as particular memory registers called peripheral registers. Each port is associated with a byte and each bit corresponds to a pin on the package (if implemented). These registers can be read, written, and modified in almost the same way as simple registers in RAM. You can even do arithmetic with them, with some restrictions. Simple digital input and output takes place through sets of pins on the package of the integrated circuit called ports. Each port has up to 8 pins although not all may be available in a particular package. Many manufacturers label the ports with letters but TI uses numbers and the ports are called P1, P2, and so on.

較多 CPU 暫存器 (Register) 的優點 大量使用到單一指令週期的暫存器定址模式 在計算式中非常實用 您知道這個 Binary 轉 BCD 用掉幾個 Cycles?

Byte,Word 及 CPU 暫存器 使用 CPU Register 做為計算或是特定的變數 Word (16 bit) 或 byte(8 bit) 佔用同樣的 code size 如果可能的話, 儘可能使用 word 操作

您使用 10bit 以上的 ADC 嗎? 10-bit ADC Memory 10-bits Other MCU movf ADCRESH,W movwf RAMH bsf STATUS 0x20 movf ADCRESL,W bcf STATUS 0x20 movwf RAML 84 bits / 24 cycles MSP430 mov ADC10MEM,RAM 48 bits / 6 cycles

Atomic Memory-to-memory 直接記憶體存取 (DMA, Direct Memory Access) 全部的指令都可以使用 DMA

常數產生器 硬體產生的立即常數 (-1,0,1,2,4,8) 減少程式空間及指令週期 程式更有效率 全自動的

24 個 Emulated 指令 容易理解 不會增加程式空間或是減低速度 利用組合語言的核心指令來代換 全自動

中斷 (interrupt) 與中斷服務程式 (ISR) Item1 Item2 SP Prior to ISR Item1 Item2 PC SR SP ISR 硬體 全自動 PC 被堆疊 SR 被堆疊 中斷向量搬移至 PC GIE, CPUOFF, OSCOFF 及 SCG1 被清除 若單一來源之 IFG 旗標被清除 Item1 Item2 PC SR SP reti 全自動 SR 從堆疊中取回 ( 原本的 ) PC 從堆疊中取回

Interrupt Priority

Unified Memory Map 沒有分頁 (page) 程式規畫更有彈性 ISP Flash Self Programming JTAG / Spy-Bi-Wire BSL 0xFFFF 0x0000 Interrupt Vectors Flash Main Segments (x)512b Info Segments Boot Loader RAM Peripherals

Interrupt and memory map 0x45BFF Flash Main Segments (x)512b 0xFFFF 0xFF80 Interrupt Vectors 0xFFFF Interrupt Vectors Flash Main Segments Flash (x)512b Main Segments (x)512b RAM Info Segments Info Segments Boot Loader MSP430F5438 MSP430F2013 Boot Loader RAM Peripherals Peripherals 0x0000 0x0000

Compiler Friendly 7000 Code Size in Bytes 6000 Code Size (Bytes) 5000 4000 3000 2000 1000 0 MSP430FG4619 MSP430F149 PIC24FJ128GA PIC18F242 8051 H8/300H MaxQ20 ARM7TDMI (Thumb) HCS12 AT Mega 8 只有 27 個指令, 每個指令都可以用在每一種定址模式去存取整個記憶體區間 省下電力降低成本 Application report SLAA205 (Competitive Benchmarking, 幾種常見微控制器比較 )

Number of instruction cycles required for execution

Normalized Results

寫入 Flash ROM JTAG / Spy bi wire 介面 內建在每一顆 MSP430 可做元件燒錄, 也可以做程式碼開發 有四線式與兩線式選擇 有 Security fuse 保護 IP Bootstrap Loader (BSL) 建立在大部份的 MSP430 只可做元件的燒錄與讀取資料 UART-based 串列介面 需要四條訊號線連接 IP protection through built-in features In System Program ( 自我寫入 )

Spy Bi-Wire In-System Emulation VCC 1 2 3 4 5 6 7 MSP430F20xx 14 VSS 13 12 11 TEST/SBWTCK 10 RST/SBWTDIO 9 8 Spy JTAG Bi-Wire VCC TMS TCK TCK TDIO TDO/TDI GND TCK 使用簡便且不使用任何 mcu 資源的雙線開發界面 全速執行 單步執行 硬體中斷點 相容於您所使用的 MSP430 開發環境

F2xx 系列主要優點 <1 µa standby (for LPM3) <1 µs, 0-16MHz 幾乎不耗電的 BOR (brownout reset 重置 ) Failsafe oscillator 增強型的 watchdog 上拉 / 下拉電阻 防止 hack 的 boot loader 2.2 V 的 Flash 寫入電壓 延伸溫度至 105 C 同樣的指令集同樣的架構

BOR (brownout reset ) A BOR is a device reset. A BOR is only generated by the following events: Powering up the device ( 開機 ) A low signal on RST/NMI pin when configured in the reset mode (RST/NMI 重置 ) A wakeup event from LPMx.5 (LPM3.5 or LPM4.5) modes ( 喚醒 ) A software BOR event ( 軟體重置 )

MSP430F2xx Series: 39 Unique MCUs Family Flash RAM I/O 16-bit Timers ADC Comm. Other Integrated Peripherals Price USD 1kU F20x1 2 KB 128 B 10 A2, WDT Slope Comp $0.55 $0.80 F20x2 2 KB 128 B 10 A2, WDT ADC10 USI $0.80 $0.95 F20x3 2 KB 128 B 10 A2, WDT SD16 USI $1.20 $1.30 F21x1 8 KB 256 B 10 A2, A3, WDT Slope Comp $0.65 $0.95 F21x2 8 KB 512 B 10 A2, A3, WDT ADC10 USCI $1.20 $1.50 F22x2 32 KB 1 KB 10 B3, A3, WDT ADC10 USCI $1.75 $2.20 F22x4 32 KB 1 KB 10 B3, A3, WDT ADC10 USCI 2 Op Amp $2.00 $2.65 F23x0 32 KB 2 KB 10 B3, A3, WDT Slope USCI Comp, MPY $1.80 $2.25 F23x 16 KB 2 KB 10 B3, A3, WDT ADC12 USCI SVS, Comp, MPY $2.15 $2.45 F241x 120 KB 4 KB 48 B7, A3, WDT ADC12 2 USCI SVS, Comp, MPY $4.70 $5.30 F24x 56 KB 4 KB 10 B7, A3, WDT ADC12 2 USCI SVS, Comp, MPY $3.40 $4.60 F24x1 60 KB 2 KB 10 B7, A3, WDT Slope 2 USCI SVS, Comp, MPY $3.15 $3.80 F261x 120 KB 4 KB 48 B7, A3, WDT ADC12 2 USCI SVS, Comp, MPY, 2 DAC12, 3 DMA $5.85 $6.65 USCI_A : UART + SPI USCI_B: I2C + SPI USI: I2C + SPI USART: SPI + UART

5xx 系列的主要優點 超低功耗 165 μa/mips 2.5 μa 待命模式 (for LPM3) 內建 LDO, BOR, WDT+, RTC 12 MHz @ 1.8V 喚醒 <5 μs 效能更加提升 Up to 25 MHz 1.8V ISP Flash erase and write 故障備援 (Fail-safe) 彈性的時脈系統 使用者自訂的 Bootstrap Loader 超過 1MB 線性的記憶體地址 MSP430F5xx Block Diagram Unified Clock System Power Management Module Supply Supervisors Supply Monitors Brownout Hardware 32x32 Multiplier CRC General Purpose Timers / Capture Compare PWM Outputs Basic Timer + RTC 16-bit RISC CPU Enhanced Embedded Emulation JTAG Spy Bi-Wire Interface Comparators ADC DMA Controller System Control/ Watchdog Universal Serial Communication Interfaces ( SPI, UART, I2C) USB 2.0 ( Full Speed) Engine + PHY Flash RAM Computation Timing and Control Signal Chain Communication I/O & Display General Purpose I/O, Pull- Up/ Down, High Drive Segmented LCD, Static, Muxed 創性的特色 多通道的 DMA 支援在待命模式 (standby mode) 下的資料搬移 Industry leading code density 包含更多樣化的模組, 如 USB, RF, 加密, LCD 等 AEC DAC Operational Amplifiers RF Transceivers

MSP430F5xx 系列 Other Integrated Family Flash RAM IO 16-bit Timers ADC Comm. Peripherals F541x 18 MHz 128 KB 16 KB 67,87 A5,3,B7,WDT ADC12 2,4 USCI DMA, UCS, MPY(32X32) F541xA 25 MHz 128 KB 16 KB 67,87 A5,3,B7,WDT ADC12 2,4 USCI DMA, UCS, MPY(32X32) F543x 18 MHz 192-256 KB 16 KB 67,87 A5,3,B7 ADC12 2,4 USCI DMA, UCS, MPY(32X32) F543xA 25 MHz 192-256 KB 16 KB 67,87 A5,3,B7 ADC12 2,4 USCI DMA, UCS, MPY(32X32) F551x 64 KB 6-8 KB 48,60 A5,3,3, B7 _ USCI USB, DMA, UCS, MPY(32X32) USB, DMA, UCS, F552x 64-128 KB 6-8 KB 48,60 A5,3,3, B7 ADC12 2 USCI MPY(32X32) USCI_A : UART + SPI USCI_B: I2C + SPI Price USD 1kU $3.30 - $3.65 $3.30 - $3.65 $3.90 - $4.85 $3.90 - $4.85 $3.25 - $3.35 $3.55 - $4.10

MSP430F5xx 操作範圍 25MHz 操作頻率 視工作電壓有不同的工作頻率 V CC 範圍 Flash ISP @ 1.8V 12MHz @ 1.8V 25MHz @ 2.4V-3.6V 25 MHz 16 MHz 12 MHz PMMCOREV = 0 PMMCOREV = 1 Wide Max MCLK 4 MHz Flash Programmable Across Entire Range PMMCOREV = 2 vs. F2xx 1.8V 2.0V 2.2V 3.6V

Functional Block Diagram, MSP430F5438IPZ, MSP430F5436IPZ, MSP430F5419IPZ 功能方塊圖

F5xx: Power Management Module 內建 LDO 模組 可程式化的 V CORE 位準 可針對效能及耗電量調整 自帶監控 (monitoring) 及管理 (supervision) 及零功耗 (Zero-power) 的 BOR 五組內建的電源監控 SVSH, SVSL, SVMH, SVML & BOR

Operating Modes The MSP430 has one active mode (AM, All clocks are active) and six (6 種省電模式? 好像只有 5 種 ) software selectable low-power modes (LPM0 ~ LPM4) of operation. An interrupt event can wake up the device from any of the five low-power modes, service the request, and restore back to the lowpower mode on return from the interrupt program. Low-power mode 4 (LPM4) 最省電模式 CPU is disabled ACLK is disabled MCLK, FLL loop control, and DCOCLK are disabled DCO's dc generator is disabled Crystal oscillator is stopped Complete data retention

工具介紹及安裝

嵌入式的模擬器 (Embedded Emulation) 實時, 系統中的除錯 (in-system debug) 不會佔用系統資源 全速運作 H/W 斷點 單步執行 多種觸發模式 支援 Trace 強大易用的開發工具 Spy Bi-Wire 2 線式除錯界面 不會對 I/O 產生衝擊 JTAG 一個開發工具, 全部的 430 均支援

易用, 創新的開發工具 Flash Emulation Tools 相容於全部的 430 可選購的各式目標板 $99 ($149 含目標板 ) 獨立的目標板 ( 不含 FET) 包含免費的開發環境 IDEs MSP430 Experimenter Boards 適於開發不同的應用 包含 FG4618 & F5438 便宜的價格 ez430 Tools 完整的開發環境卻只需 USB 隨身碟的尺寸 有無線通信及能量擷取等多種應用 $20 起

原本的 CCE, 現在進化為 Code Composer Studio v4 Code Composer Studio v4: 單一開發環境適用於全部 TI 的處理器 CCE 使用者無需花時間重新學習 強化 的 CCE: 速度 編譯效率 自動更新 License 管理 支援全部的 TI MCUs 便宜 MCU 版僅 $495 亦有 16KB 限制的免費版本

IAR Embedded Workbench Kickstart Version - Free 4KB 限制的 C code size 無限制的 assembler code size 可在 MSP430 web page 中下載 Full Version 無限制的 code size (C and ASM code) Available and supported by IAR 以上三種版本都可以支援目前所有 MSP430 晶片 www.msp430.com www.iar.com

3 rd Party Development Tools Overview IAR Embedded Workbench www.iar.com Rowley CrossWorks Complete solution, High code density, Simulator www.rowley.co.uk ImageCraft ANSI C Compiler, Easy to use IDE www.imagecraft.com GCC Toolchain Free GNU C Compiler, Assembler / Linker, GDB Debugger Windows, Linux, Unix http://mspgcc.sourceforge.net

VPIC U Program EVM 介紹

請參考 Schematic.pdf 線路圖

PCB

基本介紹 資源及常用文件

News & Forum 為提供多元服務 討論區全新改版 旺陽電企業 [www.vp-ic.com]

www.ti.com/msp430 User s Guides Datasheets TI 社群論壇 100+ Application Reports 1000+ Code Examples 產品簡介 MCU 選擇工具 最新版本的工具軟體 3rd Party 列表 Silicon Errata

您應該要知道的網站 [www.msp430.com]

利用資源, 簡化您的開發流程 Data sheet 利用 datasheet 確認所有電氣特性, 包含 Pinout layout 等硬體設計參考 Users Guide Programmer 必備, 瞭解所有 module register 控制方式 Codes, Libraries and IDE 無需等待, 直接驗証您所有的模組是否妥善, 運作是否順暢

選擇合適的 MCU 及開發環境的建立 使用 IAR

3 層架構 架構 Workspace Project Project Project Source code Source code Source code Source code Source code Source code Source code Source code Source code

從 project > options 開始 4 個要特別注意的設定 選到正確的 device 如果純組合語言, 請勾選此項 依您的需求, 選擇 FET debugger 或 Simulation 選擇正確的 FET 界面

驅動程式安裝 (1)

驅動程式安裝 (2)

驅動程式安裝 (3) 1 3 2

還有一件事 : 使用標準的位元定義字 下列那一行程式可以關閉 Watchdog timer?? WDTCTL = 0x5A80 WDTCTL = 0xA580 WDTCTL = 0xA540 WDTCTL = WDTPW+WDTHOLD //Stop WDT 使用標準的位元定義字來簡化您的程式開發及除蟲過程 Compiler,Users Guide,Example Codes 全部都用一樣的定義

MSP430 I/O Port 個別腳位完全獨立設定 可聯合多腳位輸入或輸出 P1.0~P1.7 P2.0~P2.7 具中斷能力 輸入時內部有提升 / 下拉電阻可用 漏電流僅有 ±50nA 可程式化的驅動能力 *(5xx)

期末實作

一些設計的想法及資源

電容式觸碰按鍵 無需任何外部的切換電路或類比元件 RC: 只需要用具中斷的 I/O RO: 僅需比較器輸入 I/O RO/RC 可以在絕大多數的 MSP430 實現 App Note: SLAA363 V CC V IT+ Timer Counter GPIO SENSOR = GND GPIO R = Vcc Charging Trip Point TAR GPIO SENSOR = Vcc GPIO R = Gnd TAR V IT- Discharging Trip Point V SS t + t - t LPM0 LPM3 LPM0 LPM3

LED 就是感測器 光線會讓 LED 產生微弱電壓 利用 PWM 產生 LED 控制信號 能夠使用 SD16(A) 實現 利用內建 VLO 做為時脈信號源 超低功耗 : 10μA 智慧型 LED 控制

MSP430F2274 煙霧感測器 3V MSP430F2274 Alarm Smoke + - Ref ADC10 SPI/UART/IrDA SPI/I2C Temperature Status 超低功耗 Fully programmable SoC 超低成本 使用內建的 VLO DCO 無需用任何的 XTAL 強化後的 watchdog+ 更確保萬無一失 App Note: SLAA335

更多的資源 : Medical www.ti.com/430medical Suggested Devices Application Collateral and Tools Block Diagrams Blood Pressure Monitor General Portable Medical Application Notes and Reference Designs A Single Chip Pulse Oximeter Design Heart Rate and EKG Monitor using the MSP430FG439

www.ti.com/430metering 更多的資源 : Metering Resources for Electricity, Gas, Water and AMR Metering Recommend Devices Application Notes and Reference Designs Current Transformer Phase Shift Compensation and Calibration Low-Cost Single-Phase Electricity Meter Implementing Electronic Watt-Hour Meter Using GMR Sensors With the MSP430 Scan Interface Rotary/Linear Motion Detection Using the MSP430 Scan IF & Optical Sensors Rotation Detection with MSP430 Scan IF

一卡車的低功耗的週邊元件搭配使用 - + Rx Tx Amplifiers Low Power Wireless Power RS-485 / RS-232 OPA333 CC1101 TPS61200 MAX3222E OPA334 CC2500 SN65HVD33 CC2500 Temp Sensor Reference Data Converter LED Backlight TMP275 REF33XX (Preview) ADS1225 ADS8326 TPS7510X DAC8560 想得到完整的技術支援及競爭力的價格嗎?>>>

建立 project 建立 source code 完成相關的設定 ---------------- 準備線路圖 準備 users guide 準備 datasheet ---------------- 實作 : 訊號鍊的實踐 Analog ADC CPU data process USCI UART MSP430 I/O Output Input LED

準備些文件 EVM 加速開發 Datasheet Users guide Example code EVM

開始動手作 實作目的 : 在 MCU 的應用中, 絶大多數的應用不脫離這樣的範疇, 比如量測温度 電壓 電流等等, 不外乎透過外部感測器轉換信號, 再以通訊介面傳送出去 功能要求 資料採樣 信號處理 通訊 顯示 提示 : 整合過去的實驗

補充教材 新技術

MSP430 一些新的技術 USB RF FRAM Energy Harvesting

Enabling you with Full Speed USB Ultra-low power MCUs + USB for smarter connectivity Embedded full-speed USB 2.0 (12 Mbps) High flexibility with configurable 2K data buffers that can be used as RAM Unused USB interface pins can function as high-current I/O (5v tolerant) Analog and peripheral integration reduces system cost Multiple analog options with 10 or 12-bit ADC, DAC, comparator Integrated 3.3V LDO for use with 5V USB bus power Uses low-cost crystal for USB clock, with flexible, integrated PLL 44 New USB devices within next 12 months Wide range of memory configurations and package options, 8k-128k flash Diverse peripheral mix in the MSP430F55xx family Pricing as low a $0.96 in volume

USB Made Easy USB Bootstrap Loader (USB) Supporting device programming Field Firmware updates USB Descriptor Tool Configures stack functions via GUI FreeUSB stacks available: Communication Device Class (CDC) Human Interface Device (HID) Mass Storage Class (MSC) Additional stacks available from third parties MSP430F5529 Sample Kit FREE Vendor ID/ Product ID sharing program

CC430: Enabling You With RF Low Power RF Radio frequency CC430 MSP430 MCU Application and protocol processor Lowest Power Monolithic RF SoC The Best of Both Worlds Low Power RF Transceiver High sensitivity Low current consumption Excellent blocking performance Flexible data rate & modulation format Backwards compatible MSP430 MCU Market s lowest power MCU High analog performance High level of integration Ease of development Sensor interface

CC430: Reduces Complexity Do more with less Clocks, Power Management CPU/ Memory RF Transceiver Timing & Control Highperformance Analog Communication I/O & Display Unified Clock System Supply Supervisors Supply Monitors Brownout 8-32k Flash RISC CPU 16-bit Enhanced Emulation Module 2-4k RAM DMA Controller System Control/ Watchdog Packet Handler Digital RSSI Carrier Sense PQI / LQI CCA Sub-1GHz Radio CPU Interface General- Purpose Timers Capture/ Compare PWM Outputs Basic Timer + RTC ADC Comparators Universal Serial Communication Interfaces SPI, USART, I 2 C USB 2.0 (Full Speed) AES General- Purpose I/O Pull-up, Pull-down, Drive Segment LCD Static, Muxed JTAG Spy-Bi-Wire Interface MODEM Frequency Synthesizer RF/ANALOG TX & RX 9.1 mm x 9.1 mm package

CC430: Innovative Peripherals LCD_B Blinking of individual segments, Programmable frame frequency, Software-driver contrast control Regulated charge pump Integrated drivers AEC 128 Encryption and decryption according to AES FIPS PUB 197 with 128-bit keys Key expansion for en- and decryption Off-line key generation for decryption Comparator_B Selectable reference voltage & voltage hysteresis generator High-speed, normal, and ultra-low power 100nA modes Internal output to Timer A capture Selectable RC filter for comparator output

Wireless Made Easy Free RF libraries and stacks SimpliciTI (Star Network protocol) www.ti.com/simpliciti TIMAC IEEE 802.15.4 Medium Access Control (MAC) Z-Stack Free ZigBee Stack Compliant with 2006 ZigBee spec www.ti.com/zigbee Third party partners with mesh network stacks coming soon! SmartRF Studio Automatically generates register values Point-to-Point (MSP430 + RF HAL) Star Network (IEEE 802.15.4, SimpliciTI) Mesh Network (ZigBee, 6LoWPAN)

FRAM: The Future of MCU Memory Non-volatile, Reliable Storage Over 100 Trillion write/read cycles Write Guarantee in case of power loss Fast write times like SRAM ~50ns per byte or word 1,000x faster than Flash/EEPROM Low Power Only 1.5v to write & erase >10-14v for Flash/EEPROM Universal Memory Photo: Ramtron Corporation

Reading Data from FRAM Plate line Ferroelectric Capacitor Bit line FRAM Operation No dipole flip Small Induced Charge (Q) Sm Q = 0 bit READ: Apply a voltage to the plate line, sense the induced charge on the bit line Dipole Flip Lg Q = 1 bit Programming Data to FRAM Plate line WRITE: Apply voltage to plate line (write 0 ) or bit line (write 1 ) Bit line Large Induced Charge (Q)

FRAM in applications Battery Backed SRAM Replacement High Write Endurance, Low power Eliminate SRAM quiescent current Digital rights management Data logging, remote sensing Low Power Electronics Enables energy harvesting

FRAM: Proven, Reliable, Better Endurance Proven data retention to 10 years @ 85 C Secure Fast access times No charge pump No perceptible difference in read/write processes Radiation Resistance Terrestrial Soft Error Rate is below detection limits Immune to Magnetic Fields FRAM does not contain iron Photo: Ramtron Corporation www.ti.com/fram For more info on TI s FRAM technology

MSP430 Enables No-Power Apps Body warn monitoring devices powered by body heat, movement Mesh networking for environmental monitoring (e.g. forest fire detection) Monitor environmental conditions on farm, winery, etc. Automotive monitoring (e.g. tire pressure gauges powered by vibration) Energy harvesting is the process by which energy is captured and stored Can substitute batteries that are costly to maintain and can extend system uptime Only possible with ultra-low power components Solar, kinetic, thermal, RF, salinity gradients, ph difference and other ambient sources available

Energy Harvesting Made Easy Ambient energy: light, heat, motion, RF, etc Energy Harvestor Energy Storage & Power Mgmt Perpetually Powered Sensor Sensor(s) Ultra Low Power Microcontroller Low Power Transciever Energy Harvesting Solutions: Environment: temperature, status, position, etc

Self-Powered Solar Energy Harvester Solar Energy Harvesting module Works in low ambient light Negligible self-discharge 400+ transmission with no light Adaptable to any sensor and RF network ez430-rf25000t Wireless Target Solar Energy Harvester Only $110 for MCU Day attendees

MSP430 Generations 2xx 4xx 5xx CPU Clock (Max) 16MHz 8 & 16 MHz 25MHz Flash/RAM (Largest comparable device) Active Current (3.0V) µa/mips 120KB / 4KB (F24xx) 120KB / 4KB (FG46xx) 256KB / 16KB (F54xx) 1MHz 515 µa 600 µa 220µA 8MHz 525 µa/mips 600 µa/mips 165 µa/mips 16MHz 569 µa/mips N/A 188 µa/mips 25MHz N/A N/A 224 µa/mips Standby Current (LPM3) 0.3 1.1µA 0.7 1.3µA 2.6µA (w/ active true RTC) Power Down Current (LPM4/5) 0.1µA Lowest 0.1µA 1.6µA (LPM4) / 0.1µA (LPM5) stand-by active Wake-up Time From LPM3 1µs power and in 6µs 5µs Write to fastest the Flash at Flash ISP Minimum DV CC 2.2V industry wakeup 2.7V 1.8V min Vcc P1/P2 (F5438) Port I/O Interrupt Capability P1/P2 P1/P2 Add l pins in future devices Prog. Port Pin Drive Strength N/A N/A All port pins Prog. Pull-ups/-downs All port pins N/A All port pins Available MCLK Sources DCO, VLO, LFXT1, XT2 FLL, LFXT1, XT2 FLL, VLO, REFO, XT1, XT2 FLL Reference Clocks N/A LFXT1 REFO, XT1, XT2 Lowest active power in the industry

MSP430 Peripheral Overview 1xx 2xx 4xx 5xx Basic Clock System Basic Clock System + FLL, FLL+ Unified Clock System Core voltage same as supply voltage (1.8-3.6V) Core voltage same as supply voltage (1.8-3.6V) Core voltage same as supply voltage (1.8-3.6V) Programmable core voltage with integrated PMM (1.8-3.6V) 16-bit CPU 16-bit CPU, CPUX 16-bit CPU, CPUX 16-bit CPUXv2 GPIO GPIO w/ pull-up and pull-down GPIO, LCD Controller N/A N/A N/A CRC16 Software RTC Software RTC Software RTC with Basic Timer, Basic Timer + RTC GPIO w/pull-up and pull-down, drive strength True 32-bit RTC w/alarms USART USCI, USI USART, USCI USCI, USB, RF DMA up to 3-ch DMA up to 3-ch DMA up to 3-ch DMA up to 8-ch MPY16 MPY16 MPY16, MPY32 MPY32 ADC10,12 ADC10,12, SD16 ADC12, SD16, OPA ADC12_A 4-wire JTAG 4-wire JTAG, 2-wire Spy Bi-Wire (Some devices) 4-wire JTAG 4-wire JTAG, 2-wire Spy Bi-Wire

VPIC [ http://www.vp-ic.com ] RISC 16bit CPU Use Less Power Write Less Code Get to Market Faster High Performance Analog Great support from VPIC