Stellaris® One-Day Workshop Introduction Welcome to the Texas Instruments Stellaris one-day workshop. This workshop has been segmented in order for it to be presented in a variety of formats: lunch and learn style, half day and full day. If you are attending the lunch and learn format, this introductory presentation will be presented. If you are attending a half-day format, you will also have the chance to get hands-on with Code Composer Studio, and the LM3S3748 and LM3S8962 evaluation kits. If you are attending the full-day presentation, your afternoon will be a series of in-depth presentations and labs covering the USB, CAN and Ethernet peripherals. Whichever format that you’re here for, welcome to the class … let’s get started! Objectives • Stellaris Microcontrollers Overview • Stellaris Key Advantages • Evaluation and Reference Design Kits • Development Tools and Software Support • Product Demonstrations • Summary Stellaris One Day Workshop 1-1 Module Topics Module Topics Stellaris® One-Day Workshop.................................................................................................................. 1-1 Module Topics......................................................................................................................................... 1-2 TI Microcontroller Portfolio................................................................................................................... 1-3 Stellaris ARM® Cortex™- M3 Overview ............................................................................................... 1-4 ARM® Cortex™-M3 Benefits ............................................................................................................ 1-4 No Assembly Required....................................................................................................................... 1-5 First in ARM® Cortex™-M3 Microcontrollers ................................................................................. 1-5 Roadmap............................................................................................................................................. 1-6 Family Technology............................................................................................................................. 1-6 Internal Memories .............................................................................................................................. 1-7 Memory Protection Unit..................................................................................................................... 1-7 Integrated MAC+PHY........................................................................................................................ 1-8 NVIC .................................................................................................................................................. 1-9 External Peripheral Interface .............................................................................................................1-10 Battery-Backed Hibernation ..............................................................................................................1-10 Motor Control....................................................................................................................................1-11 Evaluation and Reference Design Kits ..................................................................................................1-12 Motor Control Reference Design Kits ...............................................................................................1-12 Reference Design Kits .......................................................................................................................1-13 Modules .............................................................................................................................................1-13 Product Development Flexibility.......................................................................................................1-14 Development Tools and Support Software .............................................................................................1-15 Stellaris Partners................................................................................................................................1-15 StellarisWare .....................................................................................................................................1-16 Available On-Line .............................................................................................................................1-16 Peripheral Driver Library ..................................................................................................................1-17 Graphics Library................................................................................................................................1-17 USB Library ......................................................................................................................................1-18 IEC 60730..........................................................................................................................................1-18 In System Programming ....................................................................................................................1-19 Flash Programming GUI ...................................................................................................................1-19 ROM Enhancements..........................................................................................................................1-20 SAFERTOS .......................................................................................................................................1-20 Product Demonstrations ........................................................................................................................1-21 CAN/Ethernet Demo .........................................................................................................................1-21 CNC Machine Demo .........................................................................................................................1-22 Autonomous Car................................................................................................................................1-22 FIRST Robotics .................................................................................................................................1-23 Summary ................................................................................................................................................1-24 1-2 Stellaris One Day Workshop Module Topics TI Microcontroller Portfolio TI Microcontroller Portfolio TI Embedded Processors Microcontrollers (MCUs) 16-bit ultralow power MCUs 32-bit real-time MCUs MSP430™ C2000™ Delfino™ Piccolo™ Up to 25 MHz 40MHz to 300 MHz ARM® -Based Processors 32-bit ARM Cortex™-M3 MCUs Stellaris ® ARM® Cortex™-M3 ARM Cortex-A8 MPUs Sitara™ ARM ®Cortex™-A8 & ARM 9 Digital Signal Processors (DSPs) DSP DSP+ARM C6000™ DaVinci ™ 300MHz to >1GH z Ultra Low power DSP C6000 ™ C5000 ™ video pr ocessors OMAP U p to 100 MHz Flas h 8 KB to 256 KB USB, ENET MAC +PHY CAN, AD C, PWM, SPI Multi-core DSP ™ 24.000 MMACS C ache, RAM, R OM 300MHz to >1Ghz +Accelerator Ca che RAM, ROM Ca che R AM, ROM Up to 300 MHz +Accelerator Up to 32 0KB RA M U p to 128 KB ROM USB, C AN, PCIe, EMAC USB, ENET, PC Ie, SATA , SPI SRIO, EMAC DMA, PC Ie USB, AD C McB SP, SPI, I 2C Flas h 1 KB to 256 K B Fla sh, RAM 16 KB to 51 2 K B Analog I/O, A DC LCD, USB, RF PWM, ADC , CAN, SPI, I 2C Measurement, Sensing, General Purpose Motor Control, Digi tal Power, Li ghti ng, Ren. Enrgy Connectivity, S ecurity, Moti on Control, HM I, I ndustrial Automati on I ndustrial com puti ng, POS & portable data terminal s Floati ng/Fi xed Poi nt Video, Audio, Voice, Securi ty, Conferencing Telecom test & meas, media gateways, base stati ons Medical , Biometrics $0.25 to $9 .00 $ 1.5 0 to $20 .00 $ 1.00 to $8.00 $5 .0 0 to $20.00 $5.00 to $20 0.00 $40 to $ 200.00 $3.00 to $1 0.00 Audi o, V oi ce Software & Dev. Tools Agenda … Stellaris One Day Workshop 1-3 Stellaris ARM® Cortex™- M3 Overview Stellaris ARM® Cortex™- M3 Overview What Is The ARM® Cortex™-M3? The ARM Cortex family is comprised of three series ARM Cortex-A Series ARM Cortex-R Series Applications processors for complex OS and user applications. Supports the ARM, Thumb and Thumb-2 instruction sets. Embedded processors for real-time systems. Supports the ARM, Thumb, and Thumb-2 instruction sets Texas Instruments is the lead partner for AR M Cortex A8, R4, and M3 ARM Cortex-M Series Deeply embedded processors Optimized for cost sensitive applications. Supports the Thumb-2 instruction set only Note: • ARM Code 32-bit • Thumb Code 16-bit • Thumb-2 Code mostly 16-bit & some 32-bit (25% Faster, 26% Smaller) For more information on the ARM Cortex-M3, see: The Definitive Guide to the ARM Cortex-M3 by Joseph Yiu ISBN: 978-0-7506-8534-4 Benefits … ARM® Cortex™-M3 Benefits Cortex™-M3 Benefits Capabilities beyond ARM7 for the MCU market: No Assembly Required Cortex-M3 requires approximately ½ the flash of ARM7 implementations 2-4 times faster on MCU control applications Raw interrupt performance: PID (process control) main loop: Multiply-intensive code: Divide-intensive code: we're 85% faster we're 217% faster we're 294% faster we're 726% faster S ource: http://w ww. arm. com /p roducts/ CP Us/ARM _Co rtex-M 3.htm l No ASM Required … 1-4 Stellaris One Day Workshop Stellaris ARM® Cortex™- M3 Overview No Assembly Required No Assembly Required Cortex-M3 has complete hardware support for interrupts Interrupt Service Routines (ISRs) are written in C/C++ Interrupt setup is easily done in C/C++ No boot code ASM, no system configuration ASM ARM7 compilers normally come with an ASM boot routine (in object form) that does the setup. For Cortex-M3, no boot routine is needed Cortex-M3 hardware loads the stack pointer from memory and the initial PC from memory and enters as a normal C function. User C/C++ code is all that is required. C/C++ array which contains the vectors (pointers to the C/C++ functions) Pointer to the stack (a C/C++ array) Entire software code base can be written in C/C++ ISRs RTOS Application code C/C++ First in ARM … First in ARM® Cortex™-M3 Microcontrollers Stellaris®: First in ARM Cortex™-M3 Microcontrollers TI AEC Austin: Stellaris MCU Design, Systems, Software, Product, and Applications Engineering In May of 2009, TI acquired (intact) Luminary Micro, Inc. Luminary Micro was ARM’s lead partner for Cortex-M3 architecture TI now offers four generations of Stellaris ARM Cortex-M3 MCUs Stellaris® family has over 160 microcontrollers Broad line card of mixed-signal microcontrollers focused on applications in energy, security, and connectivity markets 2 6 24 19 51 51 Stellaris Sa ndstorm Class AR M 06 20 AY M 06 20 L JU 06 20 Stellaris One Day Workshop B FE 85 104 Ste llaris Fury C la ss 07 20 N JU 07 20 P SE 07 20 128 138 Stellaris Dust D evil Clas s C DE 07 20 R AP 08 20 AR M 167 Stellaris Te mpest Class 09 20 O CT 09 20 Roadmap … 1-5 Stellaris ARM® Cortex™- M3 Overview Roadmap Stellaris Roadmap Brainstorm class • C ortex-M4 core with sing le preci sion FP • Adv anced an alo g • 1 024KB Fl ash Fury class • • • • • 50MHz 256K Flash 64K SRA M 10/100 E MA C w/ PHY CA N 2. 0 A /B M ACs D ustdevil class • • • • • 50MHz 128K Flash 64K SRA M Mot ion control enh. US B D/H/ OTG w/ PHY Firestorm class • Advan ced anal og • 512 KB Flash • Hi ghe r pe rfo rm ance • Lo w p ower • ETH+CAN+U SB OTG • External b us capabil ity • I2S • Preci sion OSC CC26XX • Stel lari s C ortex-M3 • Integ rated 2 .4GH z L PR F R adi o Blizzard class • Smal l fo rm factor • Lo w p in cou nt • Expa nded seri al con nectivity Sandstorm class • • • Concerto • Stell aris Co rtex-M3 • C2 000 Tempest class Whiteout class 50MHz 64K Flash 8K SRA M • Sma ll form fa ctor • L ow pi n count Now 2010 NC hip • Very Low Powe r • FR AM 2012 2011 Family Tech … Family Technology Stellaris Family Technology ARM® Cortex™-M3 v7-M Processor Core Up to 100 MHz Up to 125 MIPS (at 100 MHz) On-chip Memory 256 KB Flash; 96 KB SRAM ROM loaded with Stellaris DriverLib, BootLoader, AES tables, and CRC External Peripheral Interface (EPI) 32-bit dedicated parallel bus for external peripherals Supports SDRAM, SRAM/Flash, M2M Advanced Serial Integration 10/100 Ethernet MAC and PHY 3 CAN 2.0 A/B Controllers USB (full speed) OTG / Host / Device 3 UARTs with IrDA and ISO 7816 support* 2 I2Cs 2 Synchronous Serial Interfaces (SSI) Integrated Interchip Sound (I2 S) System Integration 32-channel DMA Controller Internal Precision 16MHz Oscillator Two watchdog timers with separate clock domains ARM Cortex Systick Timer 4 32-bit timers (up to 8 16-bit) with RTC capability Lower-power battery-backed hibernation module Flexible pin-muxing capability Advanced Motion Control 8 advanced PWM outputs for motion and energy applications 2 Quadrature Encoder Inputs (QEI) Analog 2x 8-ch 10-bit ADC (for a total of 16 channels) 3 analog comparators On-chip voltage regulator (1.2V internal operation) Memories … * One UART feature s full mode m controls 1-6 Stellaris One Day Workshop Stellaris ARM® Cortex™- M3 Overview Internal Memories Stellaris Internal Memories 0x0000 0000 Internal FLASH 0x0100 0000 On-chip ROM FLASH Up to 256 KB Single cycle up to 50MHz 1KB sector 0x2000 0000 Bit-banded on -chip SRAM Flash me mory protection Flash programming 0x2200 0000 Bit-band alias of 0x2000 0000 SRAM Up to 96KB Up to 100MHz Bit-band capability Code execution 0x4000 0000 Peripher als 0x4200 0000 Bit-band alias of 0x4000 0000 0x6000 0000 EPI0 mapped peripher al and RAM ROM Stellaris® Boot Loader Stellaris® Peripheral Driver Library AES cryptography tables CRC error detection functionality 0xE000 0000 Pr ivate per ipherals bus Instrumentation Trace Macroc ell Data Watchpoint and Trace Flash Patc h and Break point Nested Vectored Interrupt Controller T race Port Interface Unit MPU … Memory Protection Unit Memory Protection Unit Benefits: Enforce privilege rules Separate processes Enforce access rules Features 8 Protection regions from 32B to 4GB range 8 sub-regions within each region Every region and sub-region permits: Code execution - allow/disallow Data access – none, read-only, read/write access Any violation causes a memory management fault, activating the fault handler Ethernet … Stellaris One Day Workshop 1-7 Stellaris ARM® Cortex™- M3 Overview Integrated MAC+PHY The Only ARM MCU w/ Integrated 10/100 Ethernet MAC+PHY Enables network connectivity and embedded web servers Lower external power budget requirements than solutions using an external PHY Savings in board space and system cost Hardware support for Precision Time Protocol (IEEE 1588 PTP) 10mm The Stellar is MCU in a BGA package is just slightly lar ger than a stan dard Ethernet PH Y in a 48 pin TQFP package 10mm MCU + PHY + More Stellaris Featur es in an area the siz e of an In dustry standard PHY NVIC … 1-8 Stellaris One Day Workshop Stellaris ARM® Cortex™- M3 Overview NVIC Nested Vectored Interrupt Controller – Tail Chaining Highest IRQ1 IRQ2 ARM7TDMI Interrupt Handling Push ISR 1 26 Cycl es Cortex-M3 Interrupt Push Handling ISR 1 12 C ycles Pop Push 1 6 Cycle s 26 Cycle s ISR 2 ISR 2 Pop 6 C ycles Tail -Cha ini ng Pop 16 Cycl es 65% Saving Cycle Overhead 12 C ycles ARM7TDMI Cortex-M3 • 26 cycles from IRQ1 to ISR1 (up to 42 cycles if in LSM) • 12 cycles from IRQ1 to ISR1 (Interruptible/Continual LSM) • 42 cycles from ISR1 exit to ISR2 entry • 6 cycles from ISR1 exit to ISR2 entry • 16 cycles to return from ISR2 • 12 cycles to return from ISR2 LSM = Load/Store Multiple instruction NVIC … NVIC Interrupt Priorities Example Motor control ISRs (e.g. PWM, ADC) Communication ISRs (e.g. ENET, CAN) Main application (foreground) t Main application runs as foreground (base level) Easy to write since no “factoring” – normal application or RTOS based Can use PLC style state-machine poll loop safely: ISRs keep data available ISRs for Motor control are highest priority(ies) ISRs for communications below motor controls May use other priorities as needed PWM, ADCs, Timer(s), Fault (may be highest), Temp sensor, etc Ethernet, CAN, and/or serial Very fast interrupt response time, true nested interrupts, priority masking, easy ISR setup all contribute to making an easy solution Application uses priority masking vs. interrupt-disable if needs critical region EPI … Stellaris One Day Workshop 1-9 Stellaris ARM® Cortex™- M3 Overview External Peripheral Interface External Peripheral Interface (EPI) Multiple device types supported SDRAM: Supports x16 (Single Data Rate) at up to 50MHz Supports low-cost SDRAMS up to 64 MB Includes automatic refresh and access to all banks/rows. Includes a s leep/standby mode to keep contents alive with minimal power draw. Host-Bus Interface: Traditional x8 MCU bus interface capabilities Similar devic e c ompatibility options as PIC, ATmega, 8051, and others Access to SRAM, NOR Flash, and other devices , with up to 24MB of addres sing Support of both muxed and de-muxed address and data Access to a range of devic es supporting the non-address FIFO x8 interface v ariant, with s upport for T Xempty and RXfull Speed controlled, with read and write data wait-state c ounters Manual chip-enable (or use extra address pins) Machine-to-Machine: Wide parallel interfaces for fast communications For instance, CPLDs and FPGAs Data widths up to 32-bits, data rates up to 150 Mbytes/second Optional “address” sizes from 4-bits to 16-bits Optional clock output, read/write strobes, framing (with counter-based size), and c lockenable input Other features General parallel GPIO, FIFOed with speed control – for custom peripherals or digital controls Blocking and non-blocking reads FIFOed writes separate the processor from timing details Direct memory access (DMA) Hibernation … Battery-Backed Hibernation Battery-Backed Hibernation Battery-backed Hibernation Module (Standby current as low as 10µA*) 32-bit real-time counter (RTC) Progr am mable 32.768-kHz external oscillator or a 4.194304-MHz cr ystal RTC software trim for making fine adjustm ents to the clock r ate 256 bytes (sixty-four 32-bit words) of non-volatile battery-backed memory Power-switching logic to discrete external regulator (switch to battery) Low-battery detection, signaling, and interrupt generation Wake on RTC match and / or external pin On-chip Low Drop-Out (LDO) voltage regulator Low-power options on controller: Sleep and Deep-sleep modes Low-power options for peripherals: software controls shutdown of individual peripherals 3.3-V supply brownout detection and reporting via interrupt or reset Oper ating Mode Sandstor m Class Fury Class Tem pest Class* Sleep 20 mA 20 mA (w/ETH) 20 m A 60 m A (w/o ETH) 80 mA (w/ETH) 8 mA Deep Sleep 700 µA 5 mA (w/ETH) 350u A 600 µA Hibernate — 10 to 18 µA 10 to 18 µA Run < 120 m A 160 mA (w/ETH) * P reli m inary 1 - 10 Dust Devil Class 120 m A 10 to 18 µA Motor Control … Stellaris One Day Workshop Stellaris ARM® Cortex™- M3 Overview Motor Control Motor Control Stellaris supports up to 8 general-purpose PWMs and up to 8 channels of motion control PWMs. General-purpose PWMs – Stellaris 16-bit timer simple PWM mode with programmable output negation. Motion-control PWM Module – – – – – Can generate simple PWM signals for a simple charge pump. Can generate paired PWM signals with dead-band delays for a half-H bridge driver. Can generate the full six channels of gate controls for a 3-Phase inverter bridge. Dead-band generator providing shoot-through protection. Synchronization of timers enables precise alignment of all edges. Up to 4 fault-condition handling inputs in hardware quickly provide lowlatency shutdown. Up to 2 Quadrature Encoder Inputs provide accurate positioning for closedfeedback control. Stellaris One Day Workshop 1 - 11 Evaluation and Reference Design Kits Evaluation and Reference Design Kits Evaluation Kits: “Zero-to-32bits” In 10 Minutes • Everything a developer needs to get up and running in 10 minutes or less – – – – – – Evaluation board(s) All required cables A choice of evaluation tools suites for popular development tools Documentation StellarisWare software Applications notes • Each kit functions both as an evaluation platform and as a serial in-circuit debug interface for any Stellaris microcontroller-based target board E K -LM 3S811 EK -LM3S 1968 EK -LM3S 2965 E K-LM 3S3748 EK -LM3S 6965 E K-LM3S 8962 EK -LM3S 9B90 E K-LM3S 9B 92 Low pin count $49 High pin count $59 CAN Functionali ty US B Host /Device $109 E thernet M AC+P HY $69 E thernet+ CA N $89 Et hernet +US B OTG $99 Et hernet +OTG +MC $79 $99 Each kit comes in four versions: Order the kit you like, the other IDEs can be downloaded from www.ti.com/Stellaris And now … Ref Des Kits … Motor Control Reference Design Kits Open-Tool Motor Control Reference Design Kits CIM K-A RD 379 $ R PE TEP K-S 199 D R $ AC Induction Motor Controller Desig n Example applications: • White goods • Residential and light commercial HVAC • 3-ph Industrial Motor Drives Stepper Motor Controller Design Example applications: • 2 and 3 axis CN C equipment • Sorting and grading equipment • Specialized printers and scanners LDC K-B RD $219 Brushless DC Motor Controller with CAN/Ethernet DC K-B RD $219 Brush DC Motor Controller with C AN Example applications: • Small appliances • Electric wheelchairs and mobility devices • Pu mping and ventilation systems Example applications: • Small appliances • Electric wheelchairs and mobility devices • Pu mping and ventilation systems Official FIR ST KoP Speed C ontrolle r – FRC 20 09 Ref Des Kits … 1 - 12 Stellaris One Day Workshop Evaluation and Reference Design Kits Reference Design Kits Open-Tool Reference Design Kits Touch-scr een Intelligent Display Mo dule with PoE M K-ID RD 219 $ Example applications: • Security Systems & Building Access Controllers • White Goods and other Home Appliances • Factory Automation (System Status and Configuration) 3 M-L K-ID 9 RD $21 5 Landscape-oriented Touch-screen Intelligent Display Mo dule Example applications: • Security Systems & Building Access Controllers • White Goods and other Home Appliances • Factory Automation (System Status and Configuration) BC M-S -ID 9 K RD $29 Stellaris 3.5” Landscape IDM Single Boar d Comp uter Example applications: • Security Systems & Building Access Controllers • White Goods and other Home Appliances • Factory Automation (System Status and Configuration) Tiny Footprint Serial-to-Ethernet Mo dule 2E K-S RD 139 $ Example applications: • SC ADA Remote Terminal Units (RTUs) • Electronic Flow Meters (EFMs) • CCTV RS-232 Recorders Modules … Modules Open-Tool Modules Speed Time-to-Market Brush DC Motor Co ntr ol MDL-BDC S ing le unit: 109 US D Intelligent Display Module MDL-IDM-L35 S ing le uni t: 185 US D Ethernet+CAN BLDC Motor Controller MDL-BLDC Si ngl e un it: 149 USD …with Ethernet MDL-IDM28 S ing le uni t: 185 US D …with PoE MDL-IDM S ing le uni t: 199 US D STEPPER Motor Control MDL-STEPPER Si ngle uni t: 169 USD Serial-to-Ether net MDL-S2E AC Induction Motor Contr ol MDL-ACIM Si ngl e un it: 239 USD Si ngl e un it: 49 USD Flexibility … Stellaris One Day Workshop 1 - 13 Evaluation and Reference Design Kits Product Development Flexibility Product Development Flexibility 1 EVALUATE 2 CUSTOMIZE 3 PRODUCE Stellaris Quickstart Evaluation Kits Customize/Debug your Module using any ARM Cortex-M3 JTAG emulator + Tools from Trusted 3rd Parties Stellaris Open-Tool R eference Design Kits Stellaris Modules Off-the-Shelf & Ready-to-Integrate PROD UCTION Stellaris MC Us 10-pin to 20-pin JTAG Adapter U se our Complete Open-Tool HW & SW Design 1 - 14 PROD UCTION Stellaris One Day Workshop Development Tools and Support Software Development Tools and Support Software Development Tools for Stellaris MCUs Eval Kit License 30-day full functio n. Upgr adeable 32KB addr esslimited. Upgradeable 32KB addresslimited. Upgradeable 90-day full function. Upgradeable Full function. Onboar d emulation limited Compiler GNU C/C++ IAR C/C++ RealView C/C++ GNU C/C++ TI C/C++ Debugger / IDE gdb / Eclipse C-SPY / Embedded Workbench µVision code_probe / Eclipse-based tool suite CCS/Eclipsebased suite Full U pgrade 199 USD personal edition / 3000 USD full support 2700 USD MDK-Basic (256 KB) = €2000 (2895 USD) 999 USD (upgrade to run on custom er platform) 495 USD J-Link, ~299 USD U-Link, ~199 USD Red Pr obe, 150 USD XDS510 /XDS560 JT AG Debugger Partners … Stellaris Partners Stellaris Partners in Excellence Product Third Par ty Code Red C ompile r / D ebugge r CodeSourcery I AR C/C++ Compliler, C-S PY / Embedded Workbench Debugger / IDE Keil RealView C/C++ Compiler, µVision Debugger / IDE CMX CrossWorks for A RM (C/C++ Compiler, CrossS tudio Debugger / IDE) CMX -RTX ™ RTOS off eri ng sm al l f oot print , fast context switch tim es E xpressLogic ThreadX advanced RTOS designed specifi cally f or deeply embedded applications FreeRTOS .org FreeRT OS.org™ Open-Source m ini real t ime kernel IAR P owerPac™ full y f eatured RT OS combined with a high perf orm ance f ile system Keil RTX fl exible royalt y-free RTOS with source code Micri um Quadros RoweB ot s P ort able, scalable, preempt ive real-tim e, m ultit asking kernel (RTOS ) RTX C for embedded appl icati ons Unison Ult ra Tiny Em bedded Linux and POS IX Com pat ible RTOS SCIOP TA S CI OPTA real-t ime operating system f or safet y-crit ical appli cati ons SE GGER embOS RTOS for em bedded applicat ions designed CMX CMX -USB Device, CM X-CANopen™, CMX MicroNet, and T CP /IP protocol stacks eLua E mbedded Lua P rogramm ing Language for S tellaris E xpressLogic Interniche Stacks / Spec ialty CodeS ourcery G++ (C/C++ Compil er), GDB / Eclipse Debugger / IDE IAR Rowley RTOS D escription Red Suit e (GNU C/ C++ Com piler, code_probe / Eclipse Debugger / I DE ) Micri um NetX ™ TCP/ IP and USB X™ support ing USB Host and Device NicheLit e and ARM Net work Evaluation K its M icroDigital smxUS BD Devi ce, sm xUS BH Host , and smxUSB O On-The-Go (OT G) St acks port Gm bH CANopen Library for S tellaris Microcontrollers Quadros Micriµm µC/USB Device, µC/ US B Host, µC/TCP -I P, µC/Modbus, µC/CAN protocol stacks RTX Cusb Host and Device stacks, CA NopenRT CAN stack, and QuadNet TCP /IP RTA Autom at ion RTA Aut om ation DeviceNet ™ protocol stacks SE GGER S EV ENSTA X Stellaris One Day Workshop embOS /IP T CP /IP and emUS B Device Stack S EVE NS TAX T CP /I P-Stack and Em bedded Web S erver Stellarisware … 1 - 15 Development Tools and Support Software StellarisWare License-free and Royalty-free source code for TI Cortex-M3 devices: Peripheral Driver Library Graphics Library USB Library Boot Loader IEC 60730 Library Flash Programming On-Chip ROM Enhancements On-line … Available On-Line Available On-Line Driver Lib … 1 - 16 Stellaris One Day Workshop Development Tools and Support Software Peripheral Driver Library Peripheral Driver Library High-level API interface to complete peripheral set Free license and royalty-free use Simplifies and speeds development of applications Can be used for application development or as programming example Available as object library and as source code Compiles on ARM/Keil, IAR, Code Red, CCS and GNU tools Peripheral driver library functions are preprogrammed in ROM on select Stellaris MCUs GrLib … Graphics Library Graphics Library Set of graphics primitiv es and widgets for use on Stellaris MCUs. Three subsequent layers of functionality: Display D river Layer Graphics Primitives Layer Widget Layer Each API in each layer is directly c allable Written entirely in C (except where not possible), s elf-contained, easyto-unders tand, efficient. Compiles on ARM/Keil, IAR, Code Red, CCS and GNU tools. Computations that can be performed at compile time whenever possible. Graphics Primitives: Point, Line, Rec tangle, Circ le, Font, Image, C ontext, Buffer 134 Computer Modern predefined fonts available Up to 24-bit color (~150 common c olors conveniently referenc ed in GraphicsLib) Widgets: Canvas, Checkbox, Container, Push Button, Radio Button, Slider, ListBox Spec ial Utilities ftrasterize: render your own font to be rec ognized by GraphicsLib lmi-button: predefined button shape with shadow and 3-D pnmtoc: Convert a NetPBM image file into a format recognized by GraphicsLib Stellaris One Day Workshop USBLib … 1 - 17 Development Tools and Support Software USB Library USB Library Stacks and Examples USB-IF Compliance Device Examples: Mass Storage HID Keyboard HID Mouse FREE Windows INF for supported classes HID Keyboard HID Mouse CDC Serial Generic Bulk Audio class Device Firmware Upgrade Oscilloscope Host Examples: Stellaris has passed USB Device and Embedded Host compliance testing Points to base Windows drivers Sets config string Sets PID/VID Precompiled DLL saves development time Device framework integrated into USBLib Vendor ID/ Product ID sharing program IEC60730 … IEC 60730 Safe At Home With IEC 60730 The International Electrotechnical Commission (IEC) • IEC: World’s authority in international standards for household appliances • StellarisWare extension provides support for IEC 60730 Class B safety requirements • Class B covers most home appliances, such as washers/dryers, refrigerators, freezers, and cookers/stoves • Free license and royalty-free use for use on Stellaris MC Us • Library supports both startup and periodic testing requirements of IEC 60730 http://www.iec.ch/index.html Note: Watchdog tim er s are comp letely independent hardwar e timers 1 - 18 In System Programming … Stellaris One Day Workshop Development Tools and Support Software In System Programming In System Programming Options Stellaris Serial Flash Loader Small piece of code that allows programming of the flash without the need for a debugger interface. All Stellaris MCUs ship with this pre-loaded in flash Interface options include UART or SSI TI supplies a Windows™ application (GUI or command line) that makes full use of all commands supported by the serial flash loader (LMflash.exe) See application note AN01242 Stellaris Boot Loader Small piece of code that can be programmed at the beginning of flash to act as an application loader Also used as an update mechanism for an application running on a Stellaris microcontroller. Interface options include UART (default), I2C, SSI, Ethernet, USB Included in the Stellaris Peripheral Driver Library with full applications examples Preloaded in ROM on select Stellaris Microcontrollers Flash GUI … Flash Programming GUI Flash Programming GUI LM Flash Programming GUI Simple graphical user interface Support for all Evaluation Kits Key features include: Program Verify Erase Read memory Available online http://focus.ti.com/mcu/docs/mcuorphan.tsp?contentId=87903 ROM … Stellaris One Day Workshop 1 - 19 Development Tools and Support Software ROM Enhancements On-Chip Software Enhancements (ROM) StellarisWare® DriverLib High-level API interface to complete peripheral set. Simplifies and speeds development of applications. Saves user flash by storing peripheral setup and configuration code Allows programmer focus to be on the application—not setup Other flash memory-saving options Advanced Encryption Standard (AES) cryptographic tables Supported by the current AES example applic ation 128, 192 and 256-bits Cyclic Redundancy Check (CRC) functionality – for error detection Stored in ROM on select Stellaris MCUs SAFERTOS … SAFERTOS SAFERTOS Included On The LM3S9B96 1 - 20 High-integrity RTOS in ROM Can be used as a standard operating system OR as part of a high integrity application which requires certification to IEC61508 or FDA510(k) RTOS value $65k free with Tempest LM3S9B96 Integrated hardware/software solution shortens the time to market and significantly reduces cost for Industrial and Medical Applications Innovative Design Assurance Pack available separately from WITTENSTEIN provides complete turnkey evidence and process documentation Stellaris One Day Workshop Product Demonstrations Product Demonstrations Stellaris CAN/Ethernet Automation Demo http://www.youtube.com/watch?v=RyeUMx5cwSM CAN/Ethernet Demo Stellaris CAN/Ethernet Automation Demo Robotic Arm Servo Control Board C AN cable Geared B LDC Motor Brushless DC Motor Controller Web Browser Console for Automation System Demo http://www.youtube.com/watch?v=RyeUMx5cwSM CNC Demo … Stellaris One Day Workshop 1 - 21 Product Demonstrations CNC Machine Demo Stellaris 3-axis CNC Machine (AN01246) LM3S615 controls all three axes of stepper motion 6 advanced m otion-control PWMs Current sensing Six limit switches Active Indicator Driver for tool contr ol signals Connectivity CNC = Computer Numerical Control LM3S316 controls QVGA LCD Touch Panel http://www.youtube.com/watch?v=-W8FpEJ5ZlY Car Demo … Autonomous Car Stellaris Autonomous Car (AN01245) Robot Uses one LM3S316 Stellaris MCU Four advanced motion-control PWMs drive four brushed motors Four ADC channels for three infrared sensors and a bridge current monitor Analog Comparator for photocell “nighttime” sensor GPIOs for LED headlights SPI for connection to 802.15.4 radio connection http://www.youtube.com/watch?v=M-7C7TIYJ8I 1 - 22 FIRST … Stellaris One Day Workshop Product Demonstrations FIRST Robotics FIRST Robotics Competition FIRST Founder Dean Kamen Stellaris One Day Workshop FRC is a worldwide robotics competition for high school students. FRC 2009 featured 1700 international teams. Stellaris MDL-BDC “Jaguar” selected as the Official Supplier of the speed controller in the FRC 2009 Kit-ofParts delivered to each FRC 2009 team. 1 - 23 Summary Summary The Stellaris Total Solution Proposition Complete Reference Desig n Kits Stellar Technical Support Extensive Application Notes with Software Exam ples Innovative technology Pr oductio n-r eady Application Modules Low-cost Quick-start Evaluation Kits Fastest time to m ar ket Cost effective solutions Acceler ated SW Developm ent With StellarisWare® Largest ARM Micr ocontroller Por tfolio In the World Extensive Third Party Tools and SW Support Connectivity … Stellaris Is The Industrial Connectivity Solution Performance 20-100 MHz ARM-M3 CPU • Optimized for single-cycle flash usage • Thumb-2 ISA with high code density • Flexible clock system sourc es up to 8 timers • Single-c ycle multiply and hardware div ide • Three power modes and battery-backed hibernation with non-volatile memory • Integrated 32-ch DMA for ease of use & high data rate without CPU overhead Connectivity Only family in the industry with: • Ethernet MAC & PHY with 1588 PTP support • USB Hos t, Device, or On-The-Go • CAN 2.0 A/B with 32 mailboxes • Integrated UART, I2C, SSI modules • Integrated I2S master or slave • External Peripheral Interface supporting SRAM, SDRAM, M2M, FPGA, CPLD Broad Portfolio Lar gest ARM MCU por tfolio in the world with over 160 devices • 8KB-256KB Flash and 96KB RAM • 10-bit, 8ch ADCs from 250ksps-1MSPS • Up to 8 advanc ed PW M modules • RTC, BOR, and integrated LDO • Analog comparators and temp sensor • 28 to 108 pin from SOIC to BGA Ease of Use • C friendly IDE and compilers from industry leaders • Low cost development tools • Application specific and advanced development kits • Produc tion-ready application modules • StellarisWare on ROM includes driver and peripheral libraries to ease development TI … 1 - 24 Stellaris One Day Workshop