• Save
Introduction to Stellaris Family Microcontrollers
Upcoming SlideShare
Loading in...5
×

Like this? Share it with your network

Share

Introduction to Stellaris Family Microcontrollers

  • 1,582 views
Uploaded on

Introduction of the Stellaris family microcontrollers, its basic architecture, and internal functional modules

Introduction of the Stellaris family microcontrollers, its basic architecture, and internal functional modules

More in: Technology , Business
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
1,582
On Slideshare
1,582
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
2
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide
  • Welcome to the training module on Luminary Micro Stellaris Family Microcontrollers. This training module introduces the Stellaris family microcontrollers, its basic architecture, and internal functional modules.
  • Luminary Micro delivers the world's first silicon implementation of the Cortex-M3 processor, providing 32-bit performance at 8-/16-bit cost. The embedded microcontroller system designers can utilize 32-bit performance for the same price as their current 8- and 16-bit microcontroller designs! Luminary Micro's Stellaris product line allows for standardization that eliminates future architectural upgrades or software tools changes. Designed for serious microcontroller applications, the Stellaris family provides the entry into the industry's strongest ecosystem, with code compatibility ranging from $1 to 1 GHz.
  • Stellaris family of microcontrollers incorporates the Cortex-M3 MCU core running up to 50 MHz, embedded flash and SRAM, a 32-ch DMA, a low drop-out voltage regulator, battery backed low-power hibernation capability, integrated brown-out reset and power-on reset functions, analog comparators, 10-bit ADC, GPIOs, and watchdog and general purpose timers. The family also integrates several serial interfaces, including 10/100 Ethernet MAC+PHY, CAN, USB On-The-Go, USB Host/Device, SSI/SPI, UARTs, and I 2 C. Finally, the Stellaris family features peripherals designed specifically for intense industrial motor control, including motion control PWMs and quadrature encoder inputs. However, not all Stellaris families have all these features.
  • The Cortex-M3 processor is the first ARM processor based on the ARMv7-M architecture and has been specifically designed to achieve high system performance in power- and cost-sensitive embedded applications, such as microcontrollers, automotive body systems, industrial control systems and wireless networking. It integrates the central processor core, called the CM3Core, with advanced system peripherals to enable integrated capabilities like interrupt control, memory protection and system debug and trace. The central Cortex-M3 core is based on the Harvard architecture characterized by separate buses for instructions and data. By being able to read both an instruction and data from memory at the same time, the Cortex-M3 processor can perform many operations in parallel, speeding application execution. .
  • The Cortex-M3 processor provides a high level of visibility into the system through a traditional JTAG port or the 2-pin Serial Wire Debug (SWD) port. JTAG has dedicated signals for data-in (TDI), data-out (TDO), mode control (TMS), and clocking (TCK), so transfer rates are significantly higher than PIC ICSP. SWD is closer to ICSP in design and is presently not widely supported by ARM debuggers. JTAG can be used for debugging, programming, and for boundary-scan test.
  • Each Stellaris® UART performs the functions of parallel-to-serial and serial-to-parallel conversions. It is similar in functionality to a 16C550 UART. The UART peripheral also includes a serial IR (SIR) encoder/decoder block that can be connected to an infrared transceiver to implement an IrDA SIR physical layer. The IrDA SIR block provides functionality that converts between an asynchronous UART data stream, and half-duplex serial SIR interface. The SIR function is programmed using the UARTCTL register. Data received or transmitted is stored in two separate FIFOs. Out of reset, both FIFOs are disabled and act as 1-byte-deep holding registers. Both FIFOs can be individually configured to trigger interrupts at different levels. Available configurations include 1/8, ¼, ½, ¾, and 7/8.
  • Synchronous Serial Interface (SSI) is a master or slave interface for synchronous serial communication with peripheral devices that have either Freescale SPI, MICROWIRE, or Texas Instruments synchronous serial interfaces. The SSI performs serial-to-parallel conversion on data received from a peripheral device. The CPU accesses data, control, and status information. The transmit and receive paths are buffered with internal FIFO memories allowing up to eight 16-bit values to be stored independently in both transmit and receive modes.
  • Some devices in the Stellaris family include Ethernet controller, which consists of a fully integrated media access controller (MAC) and network physical (PHY) interface. The Ethernet Controller conforms to IEEE 802.3 specifications and fully supports 10BASE-T and 100BASE-TX standards. The Ethernet Controller is functionally divided into two layers: the Media Access Controller (MAC) layer and the Network Physical (PHY) layer. These layers correspond to the OSI model layers 2 and 1. The CPU accesses the Ethernet Controller via the MAC layer. The MAC layer provides transmit and receive processing for Ethernet frames. The MAC layer also provides the interface to the PHY layer via an internal Media Independent Interface (MII). The PHY layer communicates with the Ethernet bus.
  • Controller Area Network (CAN) is a multicast, shared serial bus standard for connecting electronic control units (ECUs). CAN was specifically designed to be robust in electromagnetically-noisy environments and can utilize a differential balanced line like RS-485 or a more robust twisted-pair wire. Originally created for automotive purposes, it is also used in many embedded control applications (such as industrial and medical). Bit rates up to 1Mbps are possible at network lengths less than 40 meters. Decreased bit rates allow longer network distances (for example, 125 Kbps at 500 meters). The Stellaris® CAN controller conforms to the CAN protocol version 2.0 (parts A and B).
  • The Inter-Integrated Circuit (I 2 C) bus provides bi-directional data transfer through a two-wire design. The Stellaris I 2 C module provides the ability to communicate to other IC devices over an I 2 C bus. The I 2 C bus supports devices that can both transmit and receive (write and read) data. Devices on the I 2 C bus can be designated as either a master or a slave. The I 2 C module supports both sending and receiving data as either a master or a slave, and also supports the simultaneous operation as both a master and a slave. The Stellaris I 2 C module can operate at two speeds: Standard (100 Kbps) and Fast (400 Kbps).
  • The Stellaris devices contains up to 64KB single-cycle SRAM. To reduce the number of time-consuming read-modify-write (RMW) operations, ARM has introduced bit-banding technology in the new Cortex-M3 processor. With a bit-band-enabled processor, certain regions in the memory map (SRAM and peripheral space) can use address aliases to access individual bits in a single, atomic operation. The Flash controller supports up to 256KB Flash. The flash is organized as a set of 1-KB blocks that can be individually erased. These blocks are paired into a set of 2-KB blocks that can be individually protected. The blocks can be marked as read-only or execute-only, providing different levels of code protection.
  • A quadrature encoder, also known as a 2-channel incremental encoder, converts linear displacement into a pulse signal. By monitoring both the number of pulses and the relative phase of the two signals, it can track the position, direction of rotation, and speed. In addition, a third channel, or index signal, can be used to reset the position counter. The Stellaris® quadrature encoder interface (QEI) module interprets the code produced by a quadrature encoder wheel to integrate position over time and determine direction of rotation. In addition, it can capture a running estimate of the velocity of the encoder wheel.
  • Pulse width modulation (PWM) is a powerful technique for digitally encoding analog signal levels. Typical applications include switching power supplies and motor control. The Stellaris® PWM module consists of three PWM generator blocks and a control block. The control block determines the polarity of the PWM signals, and which signals are passed through to the pins. Each PWM generator block produces two PWM signals that can either be independent signals or a single pair of complementary signals with dead-band delays inserted. The output of the PWM generation blocks are managed by the output control block before being passed to the device pins. The Stellaris® PWM module provides a great deal of flexibility. It can generate simple PWM signals, paired PWM signals with dead-band delays, and the full six channels of gate controls.
  • System control determines the overall operation of the device. It provides information about the device, controls the clocking of the device and individual peripherals, and handles reset detection and reporting. System control determines the clocking and control of clocks. There are two fundamental clock sources for use in the device: the main oscillator, driven from either an external crystal or a single-ended source and the internal oscillator. The peripheral blocks are driven by the System Clock signal and can be programmatically enabled/disabled. The main oscillator is used for external resets and power-on resets; the internal oscillator is used during the internal process by internal reset and clock verification circuitry.
  • Programmable timers can be used to count or time external events that drive the Timer input pins. The Stellaris® General-Purpose Timer Module (GPTM) contains four GPTM blocks (Timer0, Timer1, Timer 2, and Timer 3). Each GPTM block provides two 16-bit timers/counters (referred to as TimerA and TimerB) that can be configured to operate independently as timers or event counters, or configured to operate as one 32-bit timer or one 32-bit Real-Time Clock (RTC). In addition, timers can be used to trigger analog-to-digital conversions (ADC). The ADC trigger signals from all of the general-purpose timers are ORed together before reaching the ADC module, so only one timer should be used to trigger ADC events.
  • A watchdog timer can generate nonmaskable interrupts (NMIs) or a reset when a time-out value is reached. The watchdog timer is used to regain control when a system has failed due to a software error or due to the failure of an external device to respond in the expected way. The Watchdog Timer module generates the first time-out signal when the 32-bit counter reaches the zero state after being enabled; enabling the counter also enables the watchdog timer interrupt.
  • The GPIO module is composed of eight physical GPIO blocks, each corresponding to an individual GPIO port (Port A, Port B, Port C, Port D, Port E, Port F, Port G, Port H). The GPIO module supports 0-60 programmable input/output pins, depending on the peripherals being used.
  • The Hibernation Module manages removal and restoration of power to provide a means for reducing power consumption. When the processor and peripherals are idle, power can be completely removed with only the Hibernation module remaining powered. Power can be restored based on an external signal, or at a certain time using the built-in Real-Time Clock (RTC). The Hibernation module can be independently supplied from a battery or an auxiliary power supply. A voting circuit indicates the larger and an internal power switch selects the appropriate voltage source.
  • The Stellaris® microcontroller provides an integrated LDO regulator that may be used to provide power to the majority of the controller's internal logic. For power reduction, the LDO regulator provides software a mechanism to adjust the regulated value, in small increments (VSTEP), over the range of 2.25 V to 2.75 V.
  • An analog comparator is a peripheral that compares two analog voltages, and provides a logical output that signals the comparison result. The comparator can provide its output to a device pin, acting as a replacement for an analog comparator on the board, or it can be used to signal the application via interrupts or triggers to the ADC to cause it to start capturing a sample sequence. The interrupt generation and ADC triggering logic is separate. This means, for example, that an interrupt can be generated on a rising edge and the ADC triggered on a falling edge.
  • An analog-to-digital converter (ADC) is a peripheral that converts a continuous analog voltage to a discrete digital number. The Stellaris® ADC module features 10-bit conversion resolution and supports up to eight input channels, plus an internal temperature sensor. The ADC module contains four programmable sequencer which allows for the sampling of multiple analog input sources without controller intervention. Each sample sequence provides flexible programming with fully configurable input source, trigger events, interrupt generation, and sequence priority.
  • The Stellaris® family offers efficient performance and extensive integration. Stellaris family is favorably positioned for cost-conscious applications requiring significant control processing and connectivity capabilities, including motion control, monitoring (remote, fire/security, etc.), HVAC and building controls, power and energy monitoring and conversion, network appliances and switches, factory automation, electronic point-of-sale machines, test and measurement equipment, medical instrumentation, and gaming equipment.
  • Thank you for taking the time to view this presentation on the Stellaris ® Family Microcontrollers . If you would like to learn more or go on to purchase some of these devices, you may either click on the part list link, or simply call our sales hotline. For more technical information you may either visit the Luminary Micro site, or if you would prefer to speak to someone live, please call our hotline number, or even use our ‘live chat’ online facility.

Transcript

  • 1. Introduction to Stellaris ® Family Microcontrollers
    • Source: LUMINARY MICRO
  • 2. Introduction
    • Purpose
      • This training module introduces the Stellaris family microcontrollers, its basic architecture, and internal functional modules.
    • Outline
      • Overview of the Stellaris family
      • The basic architecture of the Stellaris family
      • Internal functional blocks
    • Content
      • 24 pages
  • 3. What is Stellaris?
    • Stellaris
      • Family of ARM Cortex-M3 based MCUs from Luminary Micro
    • Key Advantages
      • Designers can utilize 32-bit performance for the same price as their current 8- and 16-bit microcontroller designs
      • Stellaris allows for standardization that eliminates future architectural upgrades or software tools changes
      • With the ARM Cortex architecture, designers have access to an instruction-set-compatible family that ranges from $1 to 1 GHz
  • 4. The Stellaris Family Architecture
    • Up to 50 MHz operation with 32-bit ARM Cortex-M3 architecture
    • 8K to 256K Single-cycle Flash
    • 8K to 64K Single-cycle SRAM
    • Flexible Timer Capability
      • Up to 4 general purpose timer
      • 24-bit system (SysTick) timer
      • 32-bit watchdog timer
    • Several serial interfaces
    • LDO voltage regulator
    In all members of the Stellaris family Optional on certain members of the Stellaris family
  • 5. About Cortex-M3
    • The Cortex-M3 processor is the first ARM processor based on the ARMv7-M architecture.
    • The central Cortex-M3 core is based on the Harvard architecture.
    • The Cortex-M3 processor is a 32-bit processor, with a 32-bit wide data path, register bank and memory interface.
    • The Cortex-M3 processor has been designed to be fast and easy to program.
    CM3Core
  • 6. Cortex-M3 Core in Stellaris
    • JTAG
      • Industry standard boundary scan for in-circuit debug and in-circuit programming
    • Parallel JTAG TAP
      • Allows access to chip JTAG for boundary scan, or Cortex-M3 JTAG for debug support
    • Serial Wire Debug (SWD)
      • New technology to provide debug access and control in two pins, with an optional pin for trace information
    • Integrated Nested Vectored Interrupt Controller (NVIC)
      • Provides deterministic interrupt handling
  • 7. Universal Asynchronous Receiver/Transmitter (UART)
    • Up to 3 fully programmable 16C550-type UARTs
    • 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 speeds up to up to 3.125 Mbps
    • Standard asynchronous communication bits for start, stop and parity
    • The UART peripheral includes an IrDA serial-IR (SIR) encoder / decoder block.
    • False start bit detection
    • Line-break generation and detection
  • 8. Synchronous Serial Interface (SSI)
    • Master or slave operation
    • 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
  • 9. Ethernet Controller
    • Conforms to the IEEE 802.3-2002 specification
      • 10BASE-T/100BASE-TX IEEE-802.3 compliant
    • Multiple operational modes
      • Full- and half-duplex 100 Mbps
      • Full- and half-duplex 10 Mbps
      • Power-saving and power-down modes
    • Highly configurable
      • Programmable MAC address
      • LED activity selection
      • User-configurable interrupts
      • CRC error-rejection control
    • Physical media manipulation
      • Automatic MDI/MDI-X cross-over correction
      • Register-programmable transmit amplitude
      • Automatic polarity correction and 10BASE-T signal reception
  • 10. Controller Area Network (CAN)
    • CAN protocol version 2.0 part A/B
    • 32 Bit rates up to 1 Mbps
    • 32 message objects with individual identifier masks
    • Maskable interrupt
    • Disable Automatic Retransmission mode for Time-Triggered CAN (TTCAN) applications
    • Programmable FIFO mode enables storage of multiple message objects
    • Programmable Loopback mode for self-test operation
  • 11. Inter-Integrated Circuit (I 2 C) Interface
    • I 2 C module provides the ability to communicate to other IC devices over an I 2 C bus.
    • The four I 2 C modes are:
      • Master Transmit
      • Master Receive
      • Slave Transmit
      • Slave Receive
    • The Stellaris I 2 C module can operate at two speeds
      • Standard - 100 Kbps
      • Fast - 400 Kbps
  • 12. On-chip Memory
    • Integrated single-cycle SRAM
      • Stellaris offers from 2KB to 64KB
      • Bit-banded, allowing users the ability to use address aliases to access individual bits in a single, atomic operation
    • Integrated single-cycle Flash
      • Stellaris offers from 8KB to 256KB
      • Programmable Flash block protection
      • Programmable code protection
  • 13. Quadrature Encoder Interface (QEI)
    • Position integrator that tracks the encoder position
    • Velocity capture using built-in timer
    • The input frequency of the QEI inputs may be as high as 1/4 of the processor frequency (for example, 12.5 MHz for a 50-MHz system)
    • Interrupt generation on:
      • Index pulse
      • Velocity-timer expiration
      • Direction change
      • Quadrature error detection
  • 14. Pulse Width Modulator (PWM)
    • Three PWM generator blocks, each consists of
    • One 16-bit counter
      • Runs in Down or Up/Down mode
      • Output frequency controlled by a 16-bit load value
      • Load value updates can be synchronized
      • Produces output signals at zero and load value
    • Two PWM comparators
      • Comparator value updates can be synchronized
      • Produces output signals on match
    • One PWM generator
      • Output PWM signal is constructed based on actions taken as a result of the counter and PWM comparator output signals
      • Produces two independent PWM signals
    • One Dead-band generator
      • Produces two PWM signals with programmable dead-band delays suitable for driving a half-H bridge
      • Can be bypassed, leaving input PWM signals unmodified
    • Flexible output control block with PWM output enable of each PWM signal
  • 15. System Control Module
    • System control determines the clocking and control of clocks
      • Two fundamental clock sources
        • - An external crystal or a single-ended source
        • - The internal oscillator
      • The clock gating logic for each peripheral or block is controlled for power-saving purposes.
    • Reset control
      • Power-On Reset (POR) - active on the initial power-up of the controller
      • Brown-Out Reset (BOR) - a drop in the input voltage can be used to reset the controller
      • Software Reset - each peripheral can be reset by software
      • Watchdog Timer Reset - prevents system hangs
  • 16. General-Purpose Timers
    • 4 General-Purpose Timer Modules (GPTM), each of which provides two 16-bit timers.
    • 32-bit Timer modes
      • Programmable one-shot timer
      • Programmable periodic timer
      • Real-Time Clock when using an external 32.768KHz clock
      • Software-controlled event stalling (excluding RTC mode)
      • ADC event trigger
    • 16-bit Timer modes
      • Programmable one-shot timer
      • Programmable periodic timer
      • General-purpose timer function with an 8-bit prescaler
      • ADC event trigger
    • 16-bit Input Capture modes - Input edge time capture
    • 16-bit PWM mode - Simple PWM mode with software-programmable output inversion of the PWM signal
  • 17. Watchdog Timer
    • 32-bit down counter with a programmable load register
    • Separate watchdog clock with an enable
    • Programmable interrupt generation logic with interrupt masking
    • Lock register protection from runaway software
    • Reset generation logic with an enable/disable
    • User-enabled stalling when the controller asserts the CPU Halt flag during debug
  • 18. General-Purpose Input/Outputs (GPIOs)
    • 5V tolerant input/outputs
    • Programmable control for GPIO interrupts
      • Interrupt generation masking
      • Edge-triggered on rising, falling, or both
      • Level-sensitive on High or Low values
    • Bit masking in both read and write operations through address lines
    • Programmable control for GPIO pad configuration
      • 2mA, 4mA, and 8mA pad drive for digital communication
      • Weak pull-up or pull-down resistors
      • Slew rate control for the 8-mA drive
      • Open drain enables
      • Digital input enables
  • 19. Hibernation Module
    • System power control using discrete external regulator
    • Dedicated pin for waking from an external signal
    • Low-battery detection, signaling, and interrupt generation
    • 32-bit real-time counter (RTC)
    • Two 32-bit RTC match registers for timed wake-up and interrupt generation
    • Clock source from a 32.768-kHz external oscillator or a 4.194304-MHz crystal
    • RTC predivider trim for making fine adjustments to the clock rate
    • 64 32-bit words of non-volatile memory
    • Programmable interrupts for RTC match, external wake, and low battery events
  • 20. LDO Voltage Regulator
    • To provide power to the majority of the controller’s internal logic
    • Adjustable from 0.9 to 3.3V in 50mv increments
    • To provide software a mechanism to adjust the regulated value
    • On-chip Low Drop-Out (LDO) voltage regulator, with programmable output user-adjustable from 2.25 V to 2.75 V
  • 21. Analog Comparators
    • Configurable for output to drive an output pin, generate an interrupt, or initiate an ADC sample sequence
    • Compare external pin input to external pin input or to internal programmable voltage reference
    • Compare a test voltage against any one of these voltages
      • An individual external reference voltage
      • A shared single external reference voltage
      • A shared internal reference voltage
  • 22. Analog-to-Digital Converter (ADC)
    • Up to 8 analog input channels
    • Single-ended and differential-input configurations
    • On-chip internal temperature sensor
    • Flexible, configurable analog-to-digital conversion
    • Four programmable sample conversion sequences from one to eight entries long, with corresponding conversion result FIFOs
    • Flexible trigger control
      • Controller (software)
      • Timers
      • Analog Comparators
      • PWM
      • GPIO
  • 23. Summary
    • Superior integration
    • Over 120 Stellaris family members to choose from
    • Real MCU GPIOs — all can generate interrupts, are 5V-tolerant, and have programmable drive strength and slew rate control
    • Advanced communication capabilities, including 10/100 Ethernet MAC/PHY and CAN controllers
    • Sophisticated motion control support in hardware and software
    • Both analog comparators and ADC functionality provide on-chip system options to balance hardware and software performance
    • Ease of development with the Stellaris Peripheral Driver Library’s high-level API interface to the entire Stellaris peripheral set
  • 24. Additional Resource
    • For ordering the Stellaris Microcontrollers, please click the part list or
    • Call our sales hotline
    • For additional inquires contact our technical service hotline
    • For more product information go to
      • http://www.luminarymicro.com/products/stellaris_family_of_microcontrollers.html