Beruflich Dokumente
Kultur Dokumente
One-day conference on ARM-based Embedded Processor Platforms from Texas Instruments IIT Madras, Sep 3, 2011
TI Microcontroller Portfolio
TI Embedded Processors
Microcontrollers (MCUs) 16-bit ultralow power MCUs 32-bit real-time MCUs ARM-Based Processors 32-bit ARM Cortex-M3 MCUs ARM Cortex-A8 MPUs Digital Signal Processors (DSPs) Ultra Low power DSP
DSP DSP+ARM
Multi-core DSP
MSP430
Up to 25 MHz Flash 1 KB to 256 KB Analog I/O, ADC LCD, USB, RF
Measurement, Sensing, General Purpose
Stellaris
ARM Cortex-M3
Sitara
ARM Cortex-A8 & ARM9
C6000 DaVinci
video processors
C6000
24.000 MMACS Cache RAM, ROM SRIO, EMAC DMA, PCIe
Telecom test & meas, media gateways, base stations
C5000
Up to 300 MHz +Accelerator Up to 320KB RAM Up to 128KB ROM USB, ADC McBSP, SPI, I2C
Audio, Voice Medical, Biometrics
OMAP
Up to 100 MHz Flash 8 KB to 256 KB USB, ENET MAC+PHY CAN, ADC, PWM, SPI
Connectivity, Security, Motion Control, HMI, Industrial Automation
300MHz to >1Ghz +Accelerator Cache RAM, ROM USB, ENET, PCIe, SATA, SPI
Floating/Fixed Point Video, Audio, Voice, Security, Conferencing
$0.25 to $9.00
$1.50 to $20.00
$1.00 to $8.00
$5.00 to $20.00
$5.00 to $200.00
$40 to $200.00
$3.00 to $10.00
Texas Instruments is the lead partner for ARM Cortex A8, R4, and M3
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
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
Source: http://www.arm.com/products/CPUs/ARM_Cortex-M3.html
No ASM Required
Stellaris Roadmap
Brainstorm class
Cortex-M4 core with single precision FP Advanced analog 1024KB Flash
Fury class
50MHz 256K Flash 64K SRAM 10/100 EMAC w/PHY CAN 2.0 A/B MACs
Firestorm class
Advanced analog 512KB Flash
Concerto
Stellaris Cortex-M3 C2000
Tempest class
Higher performance Low power ETH+CAN+USB OTG External bus capability I2S Precision OSC
Dustdevil class
50MHz 128K Flash 64K SRAM Motion control enh. USB D/H/OTG w/ PHY
Sandstorm class
50MHz 64K Flash 8K SRAM
Whiteout class
Small form factor Low pin count
NChip
Very Low Power FRAM
Now
2010
2011
2012
Family Tech
Memories
* One UART features full modem controls
Any violation causes a memory management fault, activating the fault handler
Ethernet
10mm
The Stellaris MCU in a BGA package is just slightly larger than a standard Ethernet PHY in a 48 pin TQFP package MCU + PHY + More Stellaris Features in an area the size of an Industry standard PHY
10mm
NVIC
ISR 1
Pop
16 Cycles
Push
26 Cycles
ISR 2
Pop
16 Cycles
ISR 1
6 Cycles Tail-Chaining
ISR 2
Pop
12 Cycles
ARM7TDMI
26 cycles from IRQ1 to ISR1 (up to 42 cycles if in LSM) 42 cycles from ISR1 exit to ISR2 entry 16 cycles to return from ISR2
Cortex-M3
12 cycles from IRQ1 to ISR1 (Interruptible/Continual LSM) 6 cycles from ISR1 exit to ISR2 entry 12 cycles to return from ISR2
NVIC
EPI
On-line
Available On-Line
Driver Lib
Graphics Library
Set of graphics primitives and widgets for use on Stellaris MCUs. Three subsequent layers of functionality: Display Driver Layer Graphics Primitives Layer Widget Layer Each API in each layer is directly callable Written entirely in C (except where not possible), self-contained, easyto-understand, 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, Rectangle, Circle, Font, Image, Context, Buffer 134 Computer Modern predefined fonts available Up to 24-bit color (~150 common colors conveniently referenced in GraphicsLib) Widgets: Canvas, Checkbox, Container, Push Button, Radio Button, Slider, ListBox Special Utilities ftrasterize: render your own font to be recognized by GraphicsLib lmi-button: predefined button shape with shadow and 3-D pnmtoc: Convert a NetPBM image file into a format recognized by GraphicsLib
USBLib
Device Examples:
HID Keyboard HID Mouse CDC Serial Generic Bulk Audio class Device Firmware Upgrade Oscilloscope
Host Examples:
Mass Storage HID Keyboard HID Mouse
FREE
Vendor ID/ Product ID sharing program
IEC60730
Available online
http://focus.ti.com/mcu/docs/mcuorphan.tsp?contentId=87903
ROM
Agenda
Stellaris ARM Cortex- M3 Overview Evaluation and Reference Design Kits Development Tools and Software Support Product Demonstrations Summary
Automation Demo
http://www.youtube.com/watch?v=RyeUMx5cwSM
Robotic Arm
Geared BLDC Motor Brushless DC Motor Controller Web Browser Console for Automation System Demo
http://www.youtube.com/watch?v=RyeUMx5cwSM
CNC Demo
http://www.youtube.com/watch?v=M-7C7TIYJ8I
FIRST
Agenda
Stellaris ARM Cortex- M3 Overview Evaluation and Reference Design Kits Development Tools and Software Support Product Demonstrations Summary
Total Solution
Innovative technology Production-ready Application Modules Fastest time to market Cost effective solutions Low-cost Quick-start Evaluation Kits
Connectivity
Broad Portfolio
Largest ARM MCU portfolio in the world with over 160 devices 8KB-256KB Flash and 96KB RAM 10-bit, 8ch ADCs from 250ksps-1MSPS Up to 8 advanced PWM modules RTC, BOR, and integrated LDO Analog comparators and temp sensor 28 to 108 pin from SOIC to BGA
Connectivity
Only family in the industry with: Ethernet MAC & PHY with 1588 PTP support USB Host, 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
Ease of Use
friendly IDE and compilers from industry leaders ow cost development tools pplication specific and advanced development kits roduction-ready application modules tellarisWare on ROM includes driver and TI peripheral libraries to ease development
Industry standard boundary scan for incircuit testing In-circuit flash programming
Parallel JTAG TAP
Allows access to chip JTAG for boundary scan, or Cortex-M3 JTAG for debug support
Serial Wire Debug / Serial Wire Trace (SWD/SWT)
New technology to provide debug access and control in two pins, with an optional pin for trace information
The Stellaris Family features up to 3 UARTs Provides fully programmable, 16C550-type serial interface characteristics. Each UART has the following features:
Separate transmit and receive FIFOs Programmable FIFO length FIFO trigger levels of 1/8, 1/4, 1/2, 3/4, and 7/8 Programmable baud-rate generator allowing rates up to 3.125 Mbps (sysclock/16) Standard asynchronous communication bits for start, stop and parity False start bit detection Line-break generation and detection 5, 6, 7, or 8 data bits Even, odd, stick, or no-parity bit generation/detection 1 or 2 stop bit generation Programmable use of IrDA Serial InfraRed (SIR) or UART input/output Support of IrDA SIR encoder/decoder functions for data rates up to 115.2 Kbps half-duplex Support of normal 3/16 and low-power (1.41-2.23 s) bit durations Programmable internal clock generator enabling division of reference clock by 1 to 256 for low-power mode bit duration
Stellaris I2C modules can operate at two speeds: Standard (100 Kbps) and Fast (400 Kbps). Both the I2C master and slave can generate interrupts
I2C master generates interrupts when a transmit or receive operation completes (or aborts). I2C slave generates interrupts when data has been sent or requested by a master.
Synchronous Serial Interface The Stellaris SSI module has the following features:
Master or slave operation Master runs up to sys_clk/2 (25Mb @ 50MHz) Slave runs up to sys_clk/12 (4.1667Mb @ 50MHz) Programmable clock bit rate and prescale Separate transmit and receive FIFOs, 16 bits wide, 8 locations deep Programmable interface operation for Freescale SPI, MICROWIRE, or Texas Instruments synchronous serial interfaces Programmable data frame size from 4 to 16 bits Internal loopback test mode for diagnostic/debug testing
Some of the devices in the Stellaris Family include an Ethernet controller which consists of a fully integrated media access controller, or MAC, and network physical interface device, also known as a PHY. The Ethernet controller conforms to IEEE 802.3 specifications and supports 10BASE-T and 100BASE-TX standards. The Ethernet controller supports full and half duplex at 10 or 100 Mega-bits per second. The Ethernet controller provides many options which allow the user to configure the module as needed. Some of these options include a programmable MAC address, configurable interrupts, CRC error-rejection control, promiscuous mode, and LED indicator selection. Other features of the Ethernet controller include power-saving modes, power-down modes, automatic cross-over correction, programmable transmit amplitude, and automatic polarity correction. A great feature of select Ethernet-enabled Stellaris MCUs is integration of hardware assistance for an IEEE 1588 PTP-enabled system. IEEE 1588 will be covered in more detail on the following slides. (Note: Promiscuous mode ability to receive all packets sent on network like CAN. Versus only those sent to specific MAC address.)
Stellaris provides up to 3 Controller Area Network, or CAN, modules. CAN is a serial bus standard for connecting together multiple electronic control units and supports multicast addressing. Originally designed for automotive applications, CAN is used today in many embedded applications requiring robust connectivity, including factory automation, building control, and medical. The Bosch CAN networking technology included in the Stellaris family conforms to protocol version 2.0 parts A and B and provides the golden standard in short-haul industrial networks. The CAN module supports 32 message objects at bit rates up to 1 Mega-bits-per-second over a length of 40 meters or below. Each message object has its own identifier mask. Slower bit rates allow longer network distances. For example a 125 Kilo-bits-per-second could be used over a 500 meter cable. The Disable Automatic Retransmission mode provided with the CAN module allows Time Triggered CAN, or TTCAN, applications. Other features of the CAN module include maskable interrupts, programmable loopback mode, and a programmable FIFO mode.
Several Stellaris MCUs integrate USB Host/Device or USB On-The-Go/Host/Device controller and PHY. Stellaris MCUs are certified USB Full Speed Host and Device, and (upon an accepted request), customers are able to sublicense TIs Vendor ID and assigned Product IDs for personal use.
Note the 4KB Dedicated Endpoint Memory integral for isochronous packet size. His is a requirement when submitting to USB for compliance testing so you are covered!
GPIOs
Programmable pad configuration through GPIO module Any GPIO can be full featured external interrupt Bit addressable pins, atomic operation Fast output toggling: Toggle rate up to the CPU clock 5-V-tolerant input/outputs Up to 64 GPIO available on a single device
The General purpose input/output, or GPIO, module consists of up to seven GPIO ports. The GPIO module is FiRM-compliant and supports up to 61 programmable I/O pins. The number of pins available for GPIO functionality depends the specific Stellaris device and the peripherals being used by software.
The GPIO module offers programmable control for GPIO interrupts and analog to digital converter triggering. The interrupts are maskable and can be edge triggered or level sensitive. The GPIO pins are 5 volt tolerant and software control is provided for pull-up or pull-down resistors, drive strength, slew rate control, open drain enables, and digital input enables.