Professional Documents
Culture Documents
TI Stellaris CortexM4F Peripheral Overview
TI Stellaris CortexM4F Peripheral Overview
ARM
Cortex-M4F Training
1
Peripheral Overview
Agenda
Stellaris LM4F General Specifications
Features of ARM
Cortex-M4F
Other System Features
Low Power Features
Watchdog Timers
Timers and GPIOs
2
Timers and GPIOs
Analog Peripherals
Connectivity
Motion Control Peripherals
Stellaris
LM4F Devices
3
Stellaris
ARM
Cortex-M4F
Connectivity features:
CAN, USB H/D/OTG, SPI, I2C, UARTs
High-performance analog integration
Two 1 MSPS 12-bit ADCs
Three analog comparators
Best-in-class power consumption
As low as 370 uA/MHz
Stellaris
LM4Fx MCU
Serial Interfaces Motion Control
ARM
Cortex-M4F
SWD/T
NVIC
JTAG
FPU
ETM
MPU
80 MHz
256 KB
Flash
Analog
Temp Sensor
3 Analog
Comparators
32 KB
SRAM
ROM
2KB EEPROM
LDO Voltage
Regulator
2 x 12-bit ADC
Up to 24 channel
1 MSPS
System
As low as 370 uA/MHz
500s wakeup from low-power modes
RTC currents as low as 1.7uA
Solid roadmap
Higher speeds
Larger memory
Ultra-low power
6 I
2
C
2 CAN
8 UARTs
USB Full Speed
Host / Device / OTG
4 SSI/SPI
2 Quadrature
Encoder Inputs
16 PWM Outputs
Comparators
PWM
Generator
Timer
Dead-Band
Generator
PWM
Generator
System
Systick Timer
Precision Oscillator
Clocks, Reset
System Control
12 Timer/PWM/CCP
6 each 32-bit or 2x16-bit
6 each 64-bit or 2x32-bit
2 Watchdog Timers
GPIOs
32ch DMA
Battery-Backed
Hibernate
R
T
C
Internal Memory
256 KB single-cycle Flash memory up to 40 MHz; a prefetch buffer
improves performance above 40 MHz
32 KB single-cycle SRAM with bit-banding
Internal ROM loaded with StellarisWare software:
Stellaris Peripheral Driver Library
Stellaris Boot Loader Stellaris Boot Loader
Advanced Encryption Standard (AES) cryptography tables
Cyclic Redundancy Check (CRC) error detection functionality
2KB EEPROM
5
Stellaris architecture
JTAG/SWD
System
Control and
Clocks
(W/ Precls. Osc.)
ARM
Cortex
tm
-M4F
(80 MHz)
FPU
MPU NVIC
ROM
Flash
(256 KB)
SRAM
(32KB)
BUS Matrix
DCode bus
System Bus
LM4F232H5QD
DMA
EEPROM
ICode bus
Watchdog
Timers (2)
Hibernation SYSTEM
A
d
v
a
n
c
e
d
P
e
r
i
p
h
e
r
a
l
B
u
s
(
A
P
B
)
EEPROM
(2K)
GPIOs
(105)
USB OTG
(FS PHY)
Ssi
(4)
Hibernation
Module
General- Purpose
Timers (12)
CAN
Controllers (2)
UART
(8)
I2C
(6)
Analog
Comparators (3)
Analog
Comparators (3)
A
d
v
a
n
c
e
d
H
i
g
h
-
P
e
r
f
o
r
m
a
n
c
e
B
u
s
(
A
H
B
)
ADC Channels
(24)
QEI
(2)
SYSTEM
PERIPHERALS
SERIAL
PERIPHERALS
ANALOG
PERIPHERALS
MOTION CONTROL
PERIPHERALS
Stellaris
I
DD
32 mA 10 mA TBD 5 A 1.7 A 1.6 A
V
DD
3.3 V 3.3 V 3.3 V 3.3 V 0 V 0 V
25
V
BAT
N.A. N.A. N.A. 3 V 3 V 3 V
System
Clock
40 MHz with
PLL
40 MHz with
PLL
30 kHz Off Off Off
Core
Powered On Powered On Powered On
Off
Off Off
Clocked Not Clocked Not Clocked Not Clocked Not Clocked Not Clocked
Peripherals All On All Off All Off All Off All Off All Off
Code while{1} N.A. N.A. N.A. N.A. N.A.
Current Consumption in Different Power Modes
TBD
Hibernation Module Key Features
32 bit real time seconds counter (Real
time clock) with 15-bit sub seconds &
add-in trim capability
Dedicated pin for waking using an
external signal
RTC operational and hibernation
Low-battery detection, signaling, and
interrupt generation, with optional wake
on low battery
Clock source from a 32.768-kHz
external crystal or external oscillator
16 32-bit words of battery-backed
memory to save state during hibernation
26
RTC operational and hibernation
memory valid as long as V
BAT
is valid
GPIO pins state retention (VDD3ON
Mode)
Two mechanisms for power control
System Power Control
On-chip Power Control
memory to save state during hibernation
Programmable interrupts for RTC
match, external wake, and low battery
events.
Hibernation Module
Block Diagram & Signal Description
32.768 kHz
crystal, or a
single ended
clock source
External input
that brings the
processor out
of hibernation
Buffered
version of
32.768 kHz
clock
Battery
Backed
Memory
16 Words
27
of hibernation
mode
Power
source for
Hibernation
module, can
be an
external
power supply
or a battery
Output that
indicates
processor is in
hibernation mode
Functional Block Diagram of Hibernation Module
The device enters hibernation mode in following cases:
When HIBREQ bit in HIBCTL register is set, or
When V
DD
is removed with a valid V
BAT
(if properly configured).
When the device is in hibernation mode, HIB signal is asserted.
The device wakes-up from hibernation in following cases:
When WAKE pin is asserted, or
When RTC match occurs, or
When low battery is detected.
Hibernation Module Functional Description
When low battery is detected.
Upon wake up, HIB signal is de-asserted and an internal POR signal is issued.
28
HIBREQ=1, or
V
DD
removal
RTC match/ WAKE assertion/
Low battery detection
Code execution begins
t
WAKE_TO_HIB T
TPOR
Entering into hibernation and waking up from hibernation
HIBERNATION
~500 s
HIB signal is
de-asserted
t
LDO_RAMP
Dynamic power source determination
Supply voltage of Hibernation module is the higher of V
DD
or V
BAT.
2 mechanisms for power control (based on VDD3ON bit in HIBCTL register)
Power Control
Controls the power to the MCU with a control signal,
HIB is connected to EN signal of an external LDO
VDD3ON Mode: Uses internal switches to control
power to MCU while retaining power to I/O pins
29
Power control* using an External LDO Power Control* using VDD3ON Mode
GNDX GNDX
32.768 kHz 32.768 kHz
*simplified diagram to explain the concept. See datasheet for more details.
Hibernation module requires an external clock source that is independent from the main system clock.
An independent clock source is required to maintain RTC/ preserve the contents of battery-backed
memory when the main system clock is powered down due to removal of V
DD.
A 32.768-kHz crystal or an external clock source can be used to provide clock to the Hibernation
module.
If the application does not require hibernation, XOSC1 pin can remain unconnected, XOSC0 can be
connected to ground, and V
BAT
pin should be connected to V
DD
.
Hibernation Clock Source
30
Hibernation Clock Source: External Crystal Hibernation Clock Source: External Oscillator
Clock
Source
(f
EXT_OSC
)
32.768
kHz NC
32.768 kHz
GNDX
Low Battery Detection
Optionally, hibernation can be prevented during low battery condition i.e.
the module can be configured so that it does not go into hibernation mode
if the battery voltage drops below this threshold.
The module can monitor the voltage level of the external battery and
detect when the voltage drops below V
LOWBAT
(1.9V, 2.1V, 2.3V or 2.5V).
V
LOWBAT
threshold is configured using VBATSEL bit in HIBCTL register.
Battery voltage is monitored while in hibernation, and the microcontroller
Battery Management
Battery voltage is monitored while in hibernation, and the microcontroller
can also be configured to wake from hibernation if the battery voltage
goes below the threshold using the BATWKEN bit in the HIBCTL register.
31
The Hibernation module draws power from whichever
source, V
BAT
or V
DD
, has the higher voltage.
Stellaris
C
)
ADC Output
147.5
91.2
-77
0xFFF 0x800 0x0 0xC00 0x400
34.9
-21.3
Internal temperature sensor serves following key
purposes:
Senses die temperature for reliable system
operation.
Provides temperature measurements in order to
calibrate hibernation modules RTC trim value.
The temperature can be sampled by setting TSn
bit in ADCSSCTLn register.
Digital Comparator Unit
A digital comparator compares the ADC modules output
with user programmable limits. Depending on the result of
the comparison, a processor interrupt or a trigger to the
PWM module can be generated.
Each ADC module contains 8 digital comparators.
Operational Modes:
Always Mode
Once Mode
Hysteresis Mode
M
i
d
B
a
n
d
COMP1
H
i
g
h
B
a
n
d
V
IN
54
Hysteresis Always Mode
Modes can be selected using CIM or CTM bit in ADCCTLn
register.
Functional Ranges:
Low Band
Mid Band
High Band
Functional Ranges can be selected using COMP0 and
COMP1 bits in ADCDCCMPn register.
Always, COMP1 COMP0.
54
Digital Comparator Functional Ranges
M
i
d
B
a
n
d
COMP0
t
L
o
w
B
a
n
d
Analog Comparator Key Features
Analog comparator compares two analog
voltages and provides a logical output
depending upon the result of the comparison.
3 analog comparators integrated in Stellaris
MCUs can be independently used to:
Compare two analog signals and replace an
external/discrete analog comparator to save
board space and system cost.
V
IN-
V
IN-
(external)
V
IN+
(internal
ref. or external)
V
OUT
55
Drive an external pin
Trigger an ADC
Signal an application using interrupts
55
V
IN+
V
OUT
1 1
0 0 0
Using Analog Comparators Independently
Generate an interrupt Trigger an ADC
Any Signal
Analog Comparator: Inputs & Output
t
t
Block Diagram & Signal Description
Analog Comparator
Ns positive input
Analog Comparator
Ns negative input
C1o
C2o
Analog Comparator
Ns output
C1o
Output to trigger
an ADC
56
Functional Block Diagram of Analog Comparator Module
C0o
Stellaris
LM4F Communications
57
Synchronous Serial Interface (SSI)
Up to 4 SSI modules
Programmable interface operation for Freescale SPI, MICROWIRE, and Texas
Instruments synchronous serial interfaces
Programmable clock bit rate and prescaler with SSI slave clock frequencies up
to 1/6
th
of the system clock
Separate transmit and receive FIFOs, 16 bits wide, 8 locations deep
58
Programmable data frame size from 4 to 16 bits
Internal loopback test mode for diagnostic/debug testing
Efficient transfers using Micro Direct Memory Access Controller (DMA)
Separate channels for transmit and receive
Receive single request asserted when data is in the FIFO; burst request asserted
when FIFO contains 4 entries
Transmit single request asserted when there is space in the FIFO; burst request
asserted when FIFO contains 4 entries
Inter-Integrated Circuit (I
2
C)
Up to 6 I
2
C Modules
Master and slave modes supported
Simultaneous master and slave operation
Master arbitration, clock synchronization, multi-master support, and 7-bit
addressing modes
There are a total of four I
2
C modes: There are a total of four I
2
C modes:
Master Transmit, Master Receive
Slave Transmit, Slave Receive
Standard (100 Kbps), Fast (400 Kbps), and High (3.4 Mbps) speeds supported
Master and slave interrupts support
I
2
C master generates interrupts when a transmit or receive operation completes (or
aborts).
I
2
C slave generates interrupts when data has been sent or requested by a master.
59
Universal Asynchronous Receiver/Transmitter (UART)
Up to 8 UARTs
Each UART has:
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 speeds up to 10Mbps
Standard asynchronous communication bits for start, stop and parity
False start bit detection
Line-break generation and detection
Fully programmable serial interface characteristics: Fully programmable serial interface characteristics:
5, 6, 7, or 8 data bits
Even, odd, stick, or no-parity bit generation/detection
1 or 2 stop bit generation
IrDA serial-IR (SIR) encoder/decoder providing:
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
ISO 7816 Support
60
Universal Asynchronous Receiver/Transmitter (UART)
LIN protocol support
EIA-485 9-bit support
Standard FIFO-level and End-of-Transmission interrupts
Efficient transfers using Micro Direct Memory Access Controller
(DMA)
Separate channels for transmit and receive Separate channels for transmit and receive
Receive single request asserted when data is in the FIFO; burst request
asserted at programmed FIFO level
Transmit single request asserted when there is space in the FIFO; burst
request asserted at programmed FIFO level
61
Universal Serial Bus (USB)
Integrated controller and PHY
USB 2.0 Full Speed (12 Mbps) operation
Devices with OTG/Host/Device
Transfer: Control, Interrupt, Bulk and Isochronous
16 Endpoints
0 and 1 hardwired for control transfers (one in, one out)
Remaining 14 may be configured by software.
2 KB Dedicated Endpoint Memory
Direct Memory Access
One endpoint may be defined for double-buffered 1023-byte isochronous packet size.
USB-IF Compliance
TI is a member of the USB Implementers Forum.
Complies with USB-IF certification standards
TIs Stellaris VID available for sublicense (with assigned PIDs).
62
Controller Area Network (CAN)
2CAN controllers
Each supports CAN protocol version 2.0 part A/B
Bit rates up to 1Mb/s
32 message objects, each with own identifier mask
Maskable interrupt Maskable interrupt
Disable automatic retransmission mode for TTCAN
Programmable loop-back mode for self test operation
63
Stellaris