STR910FAM32X6 [STMICROELECTRONICS]
ARM966E-S⑩ 16/32-Bit Flash MCU with Ethernet, USB, CAN, AC motor control, 4 timers, ADC, RTC, DMA; ARM966E - S⑩ 16位/ 32位闪存单片机,以太网, USB , CAN ,交流电机控制, 4个定时器, ADC , RTC , DMA型号: | STR910FAM32X6 |
厂家: | ST |
描述: | ARM966E-S⑩ 16/32-Bit Flash MCU with Ethernet, USB, CAN, AC motor control, 4 timers, ADC, RTC, DMA |
文件: | 总78页 (文件大小:1473K) |
中文: | 中文翻译 | 下载: | 下载PDF数据表文档文件 |
STR91xFA
ARM966E-S™ 16/32-Bit Flash MCU with Ethernet, USB, CAN,
AC motor control, 4 timers, ADC, RTC, DMA
PRELIMINARY DATA
Features
■ 16/32-bit 96 MHz ARM9E based MCU
– ARM966E-S RISC core: Harvard archi-
tecture, 5-stage pipeline, Tightly-Coupled
Memories (SRAM and Flash)
LQFP80 12 x12mm
LQFP128 14 x 14mm
– STR91xFA implementation of core adds
high-speed burst Flash memory interface,
instruction prefetch queue, branch cache
LFBGA144 10 x 10 x 1.7
– Up to 96 MIPS directly from Flash memory
– Single-cycle DSP instructions are supported
– Binary compatible with 16/32-bit ARM7 code
■ Dual burst Flash memories, 32-bits wide
■ 10 Communication interfaces
– 10/100 Ethernet MAC with DMA and MII port
– USB Full-speed (12 Mbps) slave device
– CAN interface (2.0B Active)
– 3 16550-style UARTs with IrDA protocol
– 2 Fast I C™, 400 kHz
– 256KB/512KB Main Flash, 32KB 2nd Flash
– Sequential Burst operation up to 96 MHz
– 100K min erase cycles, 20 yr min retention
■ SRAM, 32-bits wide
2
– 2 channels for SPI™, SSI™, or Microwire™
– 64K or 96K bytes, optional battery backup
■ 9 programmable DMA channels
■ External Memory Interface (EMI)
– 8- or 16-bit data
– Up to 24-bit addressing
– Static Async modes for LQFP128 packages
– Additional Burst Synchronous modes for
LFBGA144 packages
– One for Ethernet, 8 programmable channels
■ Clock, reset, and supply management
– Two supplies required. Core: 1.8 V +/-10%,
I/O: 2.7 to 3.6 V
– Internal oscillator operating with external
4-25 MHz crystal
– Internal PLL up to 96MHz
– Real-time clock provides calendar functions,
tamper detection, and wake-up functions
■ Up to 80 I/O pins (muxed with interfaces)
– 5 V tolerant, 16 have high sink current
(8 mA)
– Bit-wise manipulation of pins within a port
■ 16-bit standard timers (TIM)
– Reset Supervisor monitors voltage supplies,
watchdog timer, wake-up unit, ext. reset
– 4 timers each with 2 input capture, 2 output
compare, PWM and pulse count modes
■ 3-Phase induction motor controller (IMC)
– Brown-out monitor for early warning interrupt
– Run, Idle, and Sleep Mode as low as 50 uA
■ Operating temperature -40 to +85°C
– 3 pairs of PWM outputs, adjustable centers
– Emergency stop, dead-time gen, tach input
■ JTAG interface with boundary scan
■ Vectored interrupt controller (VIC)
– 32 IRQ vectors, 30 intr pins, any can be FIQ
– Branch cache minimizes interrupt latency
■ 8-channel, 10-bit A/D converter (ADC)
– ARM EmbeddedICE® RT for debugging
– In-System Programming (ISP) of Flash
■ Embedded trace module (ARM ETM9)
– 0 to 3.6V range, 0.7 usec conversion
– DMA capability
– Hi-speed instruction tracing, 9-pin interface
May 2007
Rev 1
1/78
This is preliminary information on a new product now in development or undergoing evaluation. Details are subject to change without noticwew. w.st.com
78
STR91xFA
Contents
1
2
Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Functional overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.1
2.2
2.3
2.4
System-in-a-Package (SiP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Package choice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
ARM966E-S CPU core . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Burst Flash memory interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.4.1 Pre-Fetch Queue (PFQ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.4.2 Branch Cache (BC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.4.3 Management of literals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.5
SRAM (64K or 96K Bytes) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.5.1 Arbitration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.5.2 Battery backup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.6
2.7
DMA data movement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
Non-volatile memories . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.7.1 Primary Flash memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.7.2 Secondary Flash memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.8
2.9
One-time-programmable (OTP) memory . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.8.1 Product ID and revision level . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Vectored interrupt controller (VIC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.9.1 FIQ handling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.9.2 IRQ handling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.9.3 Interrupt sources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.10 Clock control unit (CCU) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.10.1 Master clock sources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.10.2 Reference clock (RCLK) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.10.3 AHB clock (HCLK) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.10.4 APB clock (PCLK) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.10.5 Flash memory interface clock (FMICLK) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.10.6 Baud rate clock (BRCLK) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.10.7 External memory interface bus clock (BCLK) . . . . . . . . . . . . . . . . . . . . . . . . 16
2.10.8 USB interface clock . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.10.9 Ethernet MAC clock . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2/78
STR91xFA
2.10.10 External RTC calibration clock . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.10.11 Operation example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.11 Flexible power management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.11.1 Run mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.11.2 Idle mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.11.3 Sleep mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.12 Voltage supplies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.12.1 Independent A/D converter supply and reference voltage . . . . . . . . . . . . . . . 18
2.12.2 Battery supply . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.13 System supervisor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.13.1 Supply voltage brownout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.13.2 Supply voltage dropout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.13.3 Watchdog timer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.13.4 External RESET_INn pin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.13.5 Power-up . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.13.6 JTAG debug command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.13.7 Tamper detection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.14 Real-time clock (RTC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.15 JTAG interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.15.1 In-system-programming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.15.2 Boundary scan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.15.3 CPU debug . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.15.4 JTAG security bit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.16 Embedded trace module (ARM ETM9, v. r2p2) . . . . . . . . . . . . . . . . . . . . . . 23
2.17 Ethernet MAC interface with DMA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
2.18 USB 2.0 slave device interface with DMA . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
2.18.1 Packet buffer interface (PBI) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
2.18.2 DMA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
2.18.3 Suspend mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
2.19 CAN 2.0B interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
2.20 UART interfaces with DMA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
2.20.1 DMA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
2.21 I2C interfaces with DMA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
2.21.1 DMA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
2.22 SSP interfaces (SPI, SSI, and Microwire) with DMA . . . . . . . . . . . . . . . . . . . 27
2.22.1 DMA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
3/78
STR91xFA
2.23 General purpose I/O . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
2.24 A/D converter (ADC) with DMA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
2.24.1 DMA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
2.25 Standard timers (TIM) with DMA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
2.25.1 DMA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
2.26 Three-phase induction motor controller (IMC) . . . . . . . . . . . . . . . . . . . . . . . 30
2.27 External memory interface (EMI) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Related documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Pin description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
3
4
4.1
4.2
LFBGA144 ball connections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
Default pin functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
5
Memory mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
5.1
5.2
5.3
5.4
Buffered and non-buffered writes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
System (AHB) and peripheral (APB) buses . . . . . . . . . . . . . . . . . . . . . . . . . 44
SRAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
Two independent Flash memories . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
5.4.1 Default configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
5.4.2 Optional configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
6
Electrical characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
6.1
6.2
Absolute maximum ratings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
Operating conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
6.2.1 Operating conditions at power-up / power-down . . . . . . . . . . . . . . . . . . . . . . 49
LVD electrical characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
6.3.1 LVD delay timing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
DC electrical characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
6.3
6.4
6.5
6.6
6.7
6.8
6.9
AC electrical characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
RESET_INn and power-on-reset characteristics . . . . . . . . . . . . . . . . . . . . . 54
Main oscillator electrical characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
RTC oscillator electrical characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
PLL electrical characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
6.10 SRAM characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
4/78
STR91xFA
6.11 Flash memory characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
6.12 EMC characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
6.12.1 Functional EMS (Electro Magnetic Susceptibility) . . . . . . . . . . . . . . . . . . . . . 57
6.12.2 Electro Magnetic Interference (EMI) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
6.12.3 Absolute Maximum Ratings (Electrical Sensitivity) . . . . . . . . . . . . . . . . . . . . 58
6.12.4 Electro-Static Discharge (ESD) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
6.12.5 Static and Dynamic Latch-Up . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
6.12.6 Designing hardened software to avoid noise problems . . . . . . . . . . . . . . . . . 58
6.12.7 Electrical Sensitivities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
6.13 External memory bus timings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
6.14 ADC electrical characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
6.15 Communication interface electrical characteristics . . . . . . . . . . . . . . . . . . . . 65
6.15.1 10/100 Ethernet MAC electrical characteristics . . . . . . . . . . . . . . . . . . . . . . . 65
6.15.2 USB electrical interface characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
6.15.3 CAN interface electrical characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
6.15.4 I2C electrical characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
6.15.5 SPI electrical characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
7
Package mechanical data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
7.1
Thermal characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
8
9
Ordering information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
Revision history . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
5/78
Description
STR91xFA
1
Description
STR91xFA is a series of ARM-powered microcontrollers which combines a 16/32-bit
ARM966E-S RISC processor core, dual-bank Flash memory, large SRAM for data or code, and
a rich peripheral set to form an ideal embedded controller for a wide variety of applications such
as point-of-sale terminals, industrial automation, security and surveillance, vending machines,
communication gateways, serial protocol conversion, and medical equipment. The ARM966E-S
core can perform single-cycle DSP instructions, good for speech processing, audio algorithms,
and low-end imaging.
This datasheet provides STR91xFA ordering information, functional overview, mechanical
information, and electrical device characteristics.
For complete information on STR91xFA memory, registers, and peripherals, please refer to the
STR91xFA Reference Manual.
For information on programming the STR91xFA Flash memory please refer to the STR9 Flash
Programming Reference Manual
For information on the ARM966E-S core, please refer to the ARM966E-S Rev. 2 Technical
Reference Manual.
Table 1.
Features
Device summary
STR910FA
STR911FA
STR912FA
M32X6 W32X6 Z32H6 M42X6 M44X6 W42X6 W44X6 W34X6 W42X6 W44X6 Z42H6 Z44H6
Flash
Kbytes
RAM -
Kbytes
Peripheral
functions
256
+32
256
+32
512
+32
256
+32
512
+32
512
+32
256
+32
512
+32
256
+32
512
+32
64
96
64
96
CAN,
40 I/Os
CAN, EMI,
80 I/Os
USB, CAN,
40 I/Os
USB, CAN,
EMI, 80 I/Os
Ethernet, USB, CAN,
EMI,80 I/Os
LQFP LQFP LFBGA
80 128 144
Packages
LQFP80
LQFP128
LQFP128
LFBGA144
6/78
STR91xFA
Functional overview
2
Functional overview
2.1
System-in-a-Package (SiP)
The STR91xFA is a SiP device, comprised of two stacked die. One die is the ARM966E-S CPU
with peripheral interfaces and analog functions, and the other die is the burst Flash. The two die
are connected to each other by a custom high-speed 32-bit burst memory interface and a serial
JTAG test/programming interface.
2.2
2.3
Package choice
STR91xFA devices are available in 128-pin (14 x 14 mm) 80-pin (12 x 12 mm) LQFP and
LFBGA144 (10 x 10 mm) packages. Refer to the Table 1 on page 6 and to Table 35 on page 75
for a list of available peripherals for each of the package choices.
ARM966E-S CPU core
The ARM966E-S core inherently has separate instruction and data memory interfaces (Harvard
architecture), allowing the CPU to simultaneously fetch an instruction, and read or write a data
item through two Tightly-Coupled Memory (TCM) interfaces as shown in Figure 1. The result is
streamlined CPU Load and Store operations and a significant reduction in cycle count per
instruction. In addition to this, a 5-stage pipeline is used to increase the amount of operational
parallelism, giving the most performance out of each clock cycle.
Ten DSP-enhanced instruction extensions are supported by this core, including single-cycle
execution of 32x16 Multiply-Accumulate, saturating addition/subtraction, and count leading-
zeros.
®
The ARM966E-S core is binary compatible with 32-bit ARM7 code and 16-bit Thumb code.
2.4
Burst Flash memory interface
A Burst Flash memory interface (Figure 1) has been integrated into the Instruction TCM
(I-TCM) path of the ARM966E-S core. Also in this path is an 8-instruction Pre-Fetch Queue
(PFQ) and a 15-entry Branch Cache (BC), enabling the ARM966E-S core to perform up to 96
MIPS while executing code directly from Flash memory. This architecture provides high
performance levels without a costly instruction SRAM, instruction cache, or external SDRAM.
Eliminating the instruction cache also means interrupt latency is reduced and code execution
becomes more deterministic.
2.4.1 Pre-Fetch Queue (PFQ)
As the CPU core accesses sequential instructions through the I-TCM, the PFQ always looks
ahead and will pre-fetch instructions, taking advantage any idle bus cycles due to variable
length instructions. The PFQ will fetch 32-bits at a time from the Burst Flash memory at a rate
of up to 96 MHz.
7/78
Functional overview
STR91xFA
2.4.2 Branch Cache (BC)
When instruction addresses are not sequential, such as a program branch situation, the PFQ
would have to flush and reload which would cause the CPU to stall if no BC were present.
Before reloading, the PFQ checks the BC to see if it contains the desired target branch
address. The BC contains up to fifteen of the most recently taken branch addresses and the
first eight instructions associated with each of these branches. This check is extremely fast,
checking all fifteen BC entries simultaneously for a branch address match (cache hit). If there is
a hit, the BC rapidly supplies the instruction and reduces the CPU stall. This gives the PFQ time
to start pre-fetching again while the CPU consumes these eight instructions from the BC. The
advantage here is that program loops (very common with embedded control applications) run
very fast if the address of the loops are contained in the BC.
In addition, there is a 16th branch cache entry that is dedicated to the Vectored Interrupt
Controller (VIC) to further reduce interrupt latency by eliminating the stall latency typically
imposed by fetching the instruction that reads the interrupt vector address from the VIC.
2.4.3 Management of literals
Typical ARM architecture and compilers do not place literals (data constants) sequentially in
Flash memory with the instructions that use them, but instead the literals are placed at some
other address which looks like a program branch from the PFQ’s point of view. The STR91xFA
implementation of the ARM966E-S core has special circuitry to prevent flushing the PFQ when
literals are encountered in program flow to keep performance at a maximum.
8/78
STR91xFA
Functional overview
Figure 1. STR91xFA block diagram
Stacked Burst Flash Memory Die
JTAG ISP
STR91xA
1.8V
GND
CORE SUPPLY, VDD
CORE GND, VSS
I/O SUPPLY, VDDQ
I/O GND, VSSQ
Main Flash 256K,
or 512K Bytes
2nd Flash
32K Bytes
Burst Interface
3.0 or 3.3V
GND
BACKUP
SUPPLY
64K or 96K
Byte
SRAM
Burst Interface
VBATT
Pre-Fetch Que
and Branch
Cache
RTC
Arbiter
Instruction
TCM
Interface
JTAG
ARM966E-S
RISC CPU Core
Data TCM
Interface
JTAG
Debug
and
ETM
Control Logic / BIU and Write Buffer
AMBA / AHBAInterface
ETM
32.768 kHz
XTAL
Real Time Clock
Wake Up
Programmable Vectored
d
Interrupt Controllers
(4) 16-bit Timers,
CAPCOM, PWM
Motor Control,
3-ph Induction
4 MHz to 25
MHz XTAL
PLL, Power Management,
and Supervisory Reset
AHB
to
APB
(3) UART w/ IrDA
(2) I2C
External Memory
Interface (EMI)***,
Muxed Address/Data
EMI Ctrl
16
32
48
(80) GPIO****
Programmable DMA
Controller (8 ch.)
Request
from
(2) SPI
UART,
I2C,
SPI,
CAN 2.0B
USB* Full Speed, 10
Endpoints with FIFOs
USB Bus
Timers,
Ext Req
ADC
8 Channel 10-bit
ADC
AVDD
To Ethernet
PHY (MII) **
Ethernet**
MAC, 10/100
Dedicated
DMA
Watchdog Tmr
AVREF*
AVSS
* USB not available on STR910
** Ethernet MAC not available on STR910 and STR911
*** EMI not available on LQFP80
**** Only 40 GPIOs on LQFP80
9/78
Functional overview
STR91xFA
2.5
SRAM (64K or 96K Bytes)
A 32-bit wide SRAM resides on the CPU’s Data TCM (D-TCM) interface, providing single-cycle
data accesses. As shown in Figure 1, the D-TCM shares SRAM access with the Advanced
High-performance Bus (AHB). Sharing is controlled by simple arbitration logic to allow the DMA
unit on the AHB to also access to the SRAM.
2.5.1 Arbitration
Zero-wait state access occurs for either the D-TCM or the AHB when only one of the two is
requesting SRAM. When both request SRAM simultaneously, access is granted on an
interleaved basis so neither requestor is starved, granting one 32-bit word transfer to each
requestor before relinquishing SRAM to the other. When neither the D-TCM or the AHB are
requesting SRAM, the arbiter leaves access granted to the most recent user (if D-TCM was last
to use SRAM then the D-TCM will not have to arbitrate to get access next time).
The CPU may execute code from SRAM through the AHB. There are no wait states as long as
the D-TCM is not contending for SRAM access and the AHB is not sharing bandwidth with
peripheral traffic. The ARM966E-S CPU core has a small pre-fetch queue built into this
instruction path through the AHB to look ahead and fetch instructions during idle bus cycles.
2.5.2 Battery backup
When a battery is connected to the designated battery backup pin (VBATT), SRAM contents
are automatically preserved when the normal operating voltage on VDD pins is lost or sags
below threshold. Automatic switchover to SRAM can be disabled by firmware if it is desired that
the battery will power only the RTC and not the SRAM during standby.
2.6
DMA data movement
DMA channels on the Advanced High-performance Bus (AHB) take full advantage of the
separate data path provided by the Harvard architecture, moving data rapidly and largely
independent of the instruction path. There are two DMA units, one is dedicated to move data
between the Ethernet interface and SRAM, the other DMA unit has eight programmable
channels with 16 request signals to service other peripherals and interfaces (USB, SSP, I2C,
ADC, UART, Timers, EMI, and external request pins). Both single word and burst DMA transfers
are supported. Memory-to-memory transfers are supported in addition to memory-peripheral
transfers. DMA access to SRAM is shared with D-TCM accesses, and arbitration is described
in Section 2.5.1. Efficient DMA transfers are managed by firmware using linked list descriptor
tables. Of the 16 DMA request signals, two are assigned to external inputs. The DMA unit can
move data between external devices and resources inside the STR91xFA through the EMI bus.
2.7
Non-volatile memories
There are two independent 32-bit wide Burst Flash memories enabling true read-while-write
operation. The Flash memories are single-voltage erase/program with 20 year minimum data
retention and 100K minimum erase cycles. The primary Flash memory is much larger than the
secondary Flash.
Both Flash memories are blank when devices are shipped from ST. The CPU can boot only
from Flash memory (configurable selection of which Flash bank).
10/78
STR91xFA
Functional overview
Flash memories are programmed half-word (16 bits) at a time, but are erased by sector or by
full array.
2.7.1 Primary Flash memory
Using the STR91xFA device configuration software tool and 3rd party Integrated Developer
Environments, it is possible to specify that the primary Flash memory is the default memory
from which the CPU boots at reset, or otherwise specify that the secondary Flash memory is
the default boot memory. This choice of boot memory is non-volatile and stored in a location
that can be programmed and changed only by JTAG In-System Programming. See Section 5:
Memory mapping, for more detail.
The primary Flash memory has equal length 64K byte sectors. Devices with 256 Kbytes of
primary Flash have four sectors and 512K devices have eight sectors.
2.7.2 Secondary Flash memory
The smaller of the two Flash memories can be used to implement a bootloader, capable of
storing code to perform robust In-Application Programming (IAP) of the primary Flash memory.
The CPU executes code from the secondary Flash, while updating code in the primary Flash
memory. New code for the primary Flash memory can be downloaded over any of the
interfaces on the STR91xFA (USB, Ethernet, CAN, UART, etc.)
Additionally, the Secondary Flash memory may also be used to store small data sets by
emulating EEPROM though firmware, eliminating the need for external EEPROM memories.
This raises the data security level because passcodes and other sensitive information can be
securely locked inside the STR91xFA device.
The secondary Flash memory is 32 Kbytes and has four equal length sectors of 8 Kbytes each.
Both the primary Flash memory and the secondary Flash memory can be programmed with
code and/or data using the JTAG In-System Programming (ISP) channel, totally independent of
the CPU. This is excellent for iterative code development and for manufacturing.
2.8
One-time-programmable (OTP) memory
There are 32 bytes of OTP memory ideally suited for serial numbers, security keys, factory
calibration constants, or other permanent data constants. These OTP data bytes can be
programmed only one time through either the JTAG interface or by the CPU, and these bytes
can never be altered afterwards. As an option, a “lock bit” can be set by the JTAG interface or
the CPU which will block any further writing to the this OTP area. The “lock bit” itself is also
OTP. If the OTP array is unlocked, it is always possible to go back and write to an OTP byte
location that has not been previously written, but it is never possible to change an OTP byte
location if any one bit of that particular byte has been written before. The last two OTP bytes are
reserved for the STR91xFA product ID and revision level.
2.8.1 Product ID and revision level
OTP bytes 31 and 30 are programmed at ST factory before shipment and may be read by
firmware to determine the STR91xFA product type and silicon revision so it can optionally take
action based on the silicon on which it is running. Byte 31 contains the the major family
identifier of "9" (for STR9) in the high-nibble location, and the minor family identifier in the low-
nibble location. Today the low-nibble contains "1", but future family members may have other
11/78
Functional overview
STR91xFA
values indicating memory size or other differentiating features. Byte 30 contains the silicon
revision level indicator. See Table 2 for values related to the two revisions of STR9 production
devices. See the Errata Sheet documents for STR91xF and STR91xFA for details of external
identification of silicon revisions.
Table 2.
Product ID and revision level values
Production salestype
Silicon revision
OTP byte 31
OTP byte 30
STR91xFxxxxx
STR91xFAxxxxx
Rev D
Rev G
91h
91h
03h
20h
2.9
Vectored interrupt controller (VIC)
Interrupt management in the STR91xFA is implemented from daisy-chaining two standard ARM
VIC units. This combined VIC has 32 prioritized interrupt request channels and generates two
interrupt output signals to the CPU. The output signals are FIQ and IRQ, with FIQ having higher
priority.
2.9.1 FIQ handling
FIQ (Fast Interrupt reQuest) is the only non-vectored interrupt and the CPU can execute an
Interrupt Service Routine (ISR) directly without having to determine/prioritize the interrupt
source, minimizing ISR latency. Typically only one interrupt source is assigned to FIQ. An FIQ
interrupt has its own set of banked registers to minimize the time to make a context switch. Any
of the 32 interrupt request input signals coming into the VIC can be assigned to FIQ.
2.9.2 IRQ handling
IRQ is a vectored interrupt and is the logical OR of all 32 interrupt request signals coming into
the 32 IRQ channels. Priority of individual vectored interrupt requests is determined by
hardware (IRQ channel Intr 0 is highest priority, IRQ channel Intr 31 is lowest).
However, inside the same VIC (primary or secondary VIC), CPU firmware may re-assign
individual interrupt sources to individual hardware IRQ channels, meaning that firmware can
effectively change interrupt priority levels as needed within the same VIC (from priority 0 to
priority 16).
Note:
Note: VIC0 (primary VIC) interrupts always have higher priority than VIC1 (secondary VIC)
interrupts
When the IRQ signal is activated by an interrupt request, VIC hardware will resolve the IRQ
interrupt priority, then the ISR reads the VIC to determine both the interrupt source and the
vector address to jump to the service code.
The STR91xFA has a feature to reduce ISR response time for IRQ interrupts. Typically, it
requires two memory accesses to read the interrupt vector address from the VIC, but the
STR91xFA reduces this to a single access by adding a 16th entry in the instruction branch
cache, dedicated for interrupts. This 16th cache entry always holds the instruction that reads
the interrupt vector address from the VIC, eliminating one of the memory accesses typically
required in traditional ARM implementations.
12/78
STR91xFA
Functional overview
2.9.3 Interrupt sources
The 32 interrupt request signals coming into the VIC on 32 IRQ channels are from various
sources; 5 from a wake-up unit and the remaining 27 come from internal sources on the
STR91xFA such as on-chip peripherals, see Table 3. Optionally, firmware may force an
interrupt on any IRQ channel.
One of the 5 interrupt requests generated by the wake-up unit (IRQ25 in Table 3) is derived
from the logical OR of all 32 inputs to the wake-up unit. Any of these 32 inputs may be used to
wake up the CPU and cause an interrupt. These 32 inputs consist of 30 external interrupts on
selected and enabled GPIO pins, plus the RTC interrupt, and the USB Resume interrupt.
Each of 4 remaining interrupt requests generated by the wake-up unit (IRQ26 in Table 3) are
derived from groupings of 8 interrupt sources. One group is from GPIO pins P3.2 to P3.7 plus
the RTC interrupt and the USB Resume interrupt; the next group is from pins P5.0 to P5.7; the
next group is from pins P6.0 to P6.7; and last the group is from pins P7.0 to P7.7. This allows
individual pins to be assigned directly to vectored IRQ interrupts or one pin assigned directly to
the non-vectored FIQ interrupt.
Table 3.
VIC IRQ Channels
IRQ Channel
hardware
priority
VIC input
channel
Logic Block
Interrupt Source
0 (high priority)
VIC0.0
VIC0.1
VIC0.2
VIC0.3
VIC0.4
VIC0.5
VIC0.6
VIC0.7
VIC0.8
VIC0.9
VIC0.10
WatchDog
CPU Firmware
CPU Core
CPU Core
TIM Timer 0
TIM Timer 1
TIM Timer 2
TIM Timer 3
USB
Timeout in WDT mode, Terminal Count in Counter Mode
Firmware generated interrupt
1
2
Debug Receive Command
3
Debug Transmit Command
4
Logic OR of ICI0_0, ICI0_1, OCI0_0, OCI0_1, Timer overflow
Logic OR of ICI1_0, ICI1_1, OCI1_0, OCI1_1, Timer overflow
Logic OR of ICI2_0, ICI2_1, OCI2_0, OCI2_1, Timer overflow
Logic OR of ICI3_0, ICI3_1, OCI3_0, OCI3_1, Timer overflow
Logic OR of high priority USB interrupts
5
6
7
8
9
USB
Logic OR of low priority USB interrupts
10
CCU
Logic OR of all interrupts from Clock Control Unit
Logic OR of Ethernet MAC interrupts via its own dedicated
DMA channel.
11
12
VIC0.11
VIC0.12
Ethernet MAC
DMA
Logic OR of interrupts from each of the 8 individual DMA
channels
13
14
15
16
17
18
VIC0.13
VIC0.14
VIC0.15
VIC1.0
VIC1.1
VIC1.2
CAN
IMC
Logic OR of all CAN interface interrupt sources
Logic OR of 8 Induction Motor Control Unit interrupts
End of AtoD conversion interrupt
ADC
UART0
UART1
UART2
Logic OR of 5 interrupts from UART channel 0
Logic OR of 5 interrupts from UART channel 1
Logic OR of 5 interrupts from UART channel 2
Logic OR of transmit, receive, and error interrupts of I2C
channel 0
19
20
VIC1.3
VIC1.4
I2C0
I2C1
Logic OR of transmit, receive, and error interrupts of I2C
channel 1
21
22
23
24
VIC1.5
VIC1.6
VIC1.7
VIC1.8
SSP0
SSP1
Logic OR of all interrupts from SSP channel 0
Logic OR of all interrupts from SSP channel 1
LVD warning interrupt
BROWNOUT
RTC
Logic OR of Alarm, Tamper, or Periodic Timer interrupts
13/78
Functional overview
STR91xFA
Table 3.
VIC IRQ Channels
IRQ Channel
hardware
priority
VIC input
channel
Logic Block
Interrupt Source
Logic OR of all 32 inputs of Wake-Up unit (30 pins, RTC, and
USB Resume)
25
26
VIC1.9
Wake-Up (all)
Logic OR of 8 interrupt sources: RTC, USB Resume, pins
P3.2 to P3.7
VIC1.10
Wake-up Group 0
27
28
29
30
VIC1.11
VIC1.12
VIC1.13
VIC1.14
Wake-up Group 1 Logic OR of 8 interrupts from pins P5.0 to P5.7
Wake-up Group 2 Logic OR of 8 interrupts from pins P6.0 to P6.7
Wake-up Group 3 Logic OR of 8 interrupts from pins P7.0 to P7.7
USB
USB Bus Resume Wake-up (also input to wake-up unit)
Special use of interrupts from Prefetch Queue and Branch
Cache
31 (low priority)
VIC1.15
PFQ-BC
2.10 Clock control unit (CCU)
The CCU generates a master clock of frequency f
. From this master clock the CCU also
MSTR
generates individually scaled and gated clock sources to each of the following functional blocks
within the STR91xFA.
●
●
●
●
●
●
●
CPU, f
CPUCLK
Advanced High-performance Bus (AHB), f
HCLK
Advanced Peripheral Bus (APB), f
PCLK
Flash Memory Interface (FMI), f
FMICLK
External Memory Interface (EMI), f
BCLK
BAUD
UART Baud Rate Generators, f
USB, f
USB
2.10.1 Master clock sources
The master clock in the CCU (f
) is derived from one of three clock input sources. Under
MSTR
firmware control, the CPU can switch between the three CCU inputs without introducing any
glitches on the master clock output. Inputs to the CCU are:
●
Main Oscillator (f
). The source for the main oscillator input is a 4 to 25 MHz external
OSC
crystal connected to STR91xFA pins X1_CPU and X2_CPU, or an external oscillator
device connected to pin X1_CPU.
●
PLL (f ). The PLL takes the 4 to 25 MHz oscillator clock as input and generates a master
PLL
clock output up to 96 MHz (programmable). By default, at power-up the master clock is
sourced from the main oscillator until the PLL is ready (locked) and then the CPU may
switch to the PLL source under firmware control. The CPU can switch back to the main
oscillator source at any time and turn off the PLL for low-power operation. The PLL is
always turned off in Sleep mode.
●
RTC (f
). A 32.768 kHz external crystal can be connected to pins X1_RTC and
RTC
X2_RTC, or an external oscillator connected to pin X1_RTC to constantly run the real-time
clock unit. This 32.768 kHz clock source can also be used as an input to the CCU to run
the CPU in slow clock mode for reduced power.
14/78
STR91xFA
Functional overview
As an option, there are a number of peripherals that do not have to receive a clock sourced
from the CCU. The USB interface can receive an external clock on pin P2.7, TIM timers TIM0/
TIM1 can receive an external clock on pin P2.4, and timers TIM2/TIM3 on pin P2.5.
Figure 2. Clock control
32.768 kHz
25MHz
RTCSEL
PHYSEL
JRTCLK
EMI_BCLK
1/2
MII_PHYCLK
HCLK
PCLK
RCLK
AHB DIV
X1_CPU
X1_CPU
f
MSTR
f
Main
OSC
PLL
RCLK
DIV
4-25MHz
PLL
(1,2,4)
f
OSC
APB DIV)
(1,2,4,8)
(1,2,4,8,16,1024)
Master CLK
32.768 kHz
X1_RTC
X2_RTC
RTC
OSC
f
RTC
FMICLK
1/2
Timer 0 & 1
CPUCLK
EXTCLK_T0T1
External clock
BRCLK
Timer 2 & 3
To UART
1/2
1/2
EXTCLK_T2T3
USB_CLK48M
External clock
USBCLK
To USB
48MHz
2.10.2 Reference clock (RCLK)
The main clock (f
) can be divided to operate at a slower frequency reference clock (RCLK)
MSTR
for the ARM core and all the peripherals. The RCLK provides the divided clock for the ARM
core, and feeds the dividers for the AHB, APB, External Memory Interface, and FMI units.
2.10.3 AHB clock (HCLK)
The RCLK can be divided by 1, 2 or 4 to generate the AHB clock. The AHB clock is the bus
clock for the AHB bus and all bus transfers are synchronized to this clock. The maximum HCLK
frequency is 96 MHz.
2.10.4 APB clock (PCLK)
The RCLK can be divided by 1, 2, 4 or 8 to generate the APB clock. The APB clock is the bus
clock for the APB bus and all bus transfers are synchronized to this clock. Many of the
peripherals that are connected to the AHB bus also use the PCLK as the source for external
bus data transfers. The maximum PCLK frequency is 48 MHz.
2.10.5 Flash memory interface clock (FMICLK)
The FMICLK clock is an internal clock derived from RCLK, defaulting to RCLK frequency at
power up. The clock can be optionally divided by 2. The FMICLK determines the bus bandwidth
15/78
Functional overview
STR91xFA
between the ARM core and the Flash memory. Typically, codes in the Flash memory can be
fetched one word per FMICLK clock in burst mode. The maximum FMICLK frequency is
96MHz.
2.10.6 Baud rate clock (BRCLK)
The baud rate clock is an internal clock derived from f
that is used by the three on-chip
MSTR
UART peripherals for baudrate generation. The frequency can be optionally divided by 2.
2.10.7 External memory interface bus clock (BCLK)
The BCLK is an internal clock that controls the EMI bus. All EMI bus signals are synchronized
to the BCLK. The BCLK is derived from the HCLK and the frequency can be configured to be
the same or half that of the HCLK. Refer to Table 12 on page 53 for the maximum BCLK
frequency (f
). The BCLK clock is available on the LFBGA package as an output pin.
BCLK
2.10.8 USB interface clock
Special consideration regarding the USB interface: The clock to the USB interface must operate
at 48 MHz and comes from one of three sources, selected under firmware control:
●
CCU master clock output of 48 MHz.
●
CCU master clock output of 96 MHz. An optional divided-by-two circuit is available to
produce 48 MHz for the USB while the CPU system runs at 96MHz.
●
STR91xFA pin P2.7. An external 48 MHz oscillator connected to pin P2.7 can directly
source the USB while the CCU master clock can run at some frequency other than 48 or
96 MHz.
2.10.9 Ethernet MAC clock
Special consideration regarding the Ethernet MAC: The external Ethernet PHY interface device
requires it’s own 25 MHz clock source. This clock can come from one of two sources:
●
A 25 MHz clock signal coming from a dedicated output pin (P5.2) of the STR91xFA. In this
case, the STR91xFA must use a 25 MHz signal on its main oscillator input in order to pass
this 25 MHz clock back out to the PHY device through pin P5.2. The advantage here is that
an inexpensive 25 MHz crystal may be used to source a clock to both the STR91xFA and
the external PHY device.
●
An external 25 MHz oscillator connected directly to the external PHY interface device. In
this case, the STR91xFA can operate independent of 25 MHz.
2.10.10 External RTC calibration clock
The RTC_CLK can be enabled as an output on the JRTCK pin. The RTC_CLK is used for RTC
oscillator calibration. The RTC_CLK is active in Sleep mode and can be used as a system wake
up control clock.
2.10.11 Operation example
As an example of CCU operation, a 25 MHz crystal can be connected to the main oscillator
input on pins X1_CPU and X2_CPU, a 32.768 kHz crystal connected to pins X1_RTC and
X2_RTC, and the clock input of an external Ethernet PHY device is connected to STR91xFA
output pin P5.2. In this case, the CCU can run the CPU at 96 MHz from PLL, the USB interface
16/78
STR91xFA
Functional overview
at 48 MHz, and the Ethernet interface at 25 MHz. The RTC is always running in the background
at 32.768 kHz, and the CPU can go to very low power mode dynamically by running from
32.768 kHz and shutting off peripheral clocks and the PLL as needed.
2.11 Flexible power management
The STR91xFA offers configurable and flexible power management control that allows the user
to choose the best power option to fit the application. Power consumption can be dynamically
managed by firmware and hardware to match the system’s requirements. Power management
is provided via clock control to the CPU and individual peripherals.
Clocks to the CPU and peripherals can be individually divided and gated off as needed. In
addition to individual clock divisors, the CCU master clock source going to the CPU, AHB, APB,
EMI, and FMI can be divided dynamically by as much as 1024 for low power operation.
Additionally, the CCU may switch its input to the 32.768 kHz RTC clock at any time for low
power.
The STR91xFA supports the following three global power control modes:
●
●
Run Mode: All clocks are on with option to gate individual clocks off via clock mask
registers.
Idle Mode: CPU and FMI clocks are off until an interrupt, reset, or wake-up occurs. Pre-
configured clock mask registers selectively allow individual peripheral clocks to continue
run during Idle Mode.
●
Sleep Mode: All clocks off except RTC clock. Wake up unit remains powered, PLL is
forced off.
A special mode is used when JTAG debug is active which never gates off any clocks even if the
CPU enters Idle or Sleep mode.
2.11.1 Run mode
This is the default mode after any reset occurs. Firmware can gate off or scale any individual
clock. Also available is a special Interrupt Mode which allows the CPU to automatically run full
speed during an interrupt service and return back to the selected CPU clock divisor rate when
the interrupt has been serviced. The advantage here is that the CPU can run at a very low
frequency to conserve power until a periodic wake-up event or an asynchronous interrupt
occurs at which time the CPU runs full speed immediately.
2.11.2 Idle mode
In this mode the CPU suspends code execution and the CPU and FMI clocks are turned off
immediately after firmware sets the Idle Bit. Various peripherals continue to run based on the
settings of the mask registers that exist just prior to entering Idle Mode. There are 3 ways to exit
Idle Mode and return to Run Mode:
●
●
●
Any reset (external reset pin, watchdog, low-voltage, power-up, JTAG debug command)
Any interrupt (external, internal peripheral, RTC alarm or interval)
Input from wake-up unit on GPIO pins
Note:
It is possible to remain in Idle Mode for the majority of the time and the RTC can be
programmed to periodically wake up to perform a brief task or check status.
17/78
Functional overview
STR91xFA
2.11.3 Sleep mode
In this mode all clock circuits except the RTC are turned off and main oscillator input pins
X1_CPU and X2_CPU are disabled. The RTC clock is required for the CPU to exit Sleep Mode.
The entire chip is quiescent (except for RTC and wake-up circuitry). There are three means to
exit Sleep Mode and re-start the system:
●
●
●
Some resets (external reset pin, low-voltage, power-up, JTAG debug command)
RTC alarm
Input from wake-up unit
2.12 Voltage supplies
The STR91xFA requires two separate operating voltage supplies. The CPU and memories
operate from a 1.65V to 2.0V on the VDD pins, and the I/O ring operates at 2.7V to 3.6V on the
VDDQ pins.
2.12.1 Independent A/D converter supply and reference voltage
The ADC unit on 128-pin and 144-ball packages has an isolated analog voltage supply input at
pin AVDD to accept a very clean voltage source, independent of the digital voltage supplies.
Additionally, an isolated analog supply ground connection is provided on pin AVSS only on 128-
pin and 144-ball packages for further ADC supply isolation. On 80-pin packages, the analog
voltage supply is shared with the ADC reference voltage pin (as described next), and the
analog ground is shared with the digital ground at a single point in the STR91xFA device on pin
AVSS_VSSQ.
A separate external analog reference voltage input for the ADC unit is available on 128-pin and
144-ball packages at the AVREF pin for better accuracy on low voltage inputs. For 80-pin
packages, the ADC reference voltage is tied internally to the ADC unit supply voltage at pin
AVREF_AVDD, meaning the ADC reference voltage is fixed to the ADC unit supply voltage.
See Table 7: Operating conditions, for restrictions to the relative voltage levels of VDDQ, AVDD,
AVREF, and AVREF_AVDD.
2.12.2 Battery supply
An optional stand-by voltage from a battery or other source may be connected to pin VBATT to
retain the contents of SRAM in the event of a loss of the V supply. The SRAM will
DD
automatically switch its supply from the internal V source to the VBATT pin when the voltage
DD
of V drops below that of VBATT.
DD
The VBATT pin also supplies power to the RTC unit, allowing the RTC to function even when
the main digital supplies (V and V
) are switched off. By configuring the RTC register, it is
DD
DDQ
possible to select whether or not to power from VBATT only the RTC unit, or power the RTC unit
and the SRAM when the STR91xFA device is powered off.
18/78
STR91xFA
Functional overview
2.13 System supervisor
The STR91xFA monitors several system and environmental inputs and will generate a global
reset, a system reset, or an interrupt based on the nature of the input and configurable settings.
A global reset clears all functions on the STR91xFA, a system reset will clear all but the Clock
Control Unit (CCU) settings and the system status register. At any time, firmware may reset
individual on-chip peripherals. System supervisor inputs include:
●
GR: CPU voltage supply (V ) drop out or brown out
DD
●
GR: I/O voltage supply (V
GR: Power-Up condition
) drop out or brown out
DDQ
●
●
●
●
SR: Watchdog timer timeout
SR: External reset pin (RESET_INn)
SR: JTAG debug reset command
Note:
GR: means the input causes Global Reset, SR: means the input causes System Reset
The CPU may read a status register after a reset event to determine if the reset was caused by
a watchdog timer timeout or a voltage supply drop out. This status register is cleared only by a
power up reset.
2.13.1 Supply voltage brownout
Each operating voltage source (V and V
) is monitored separately by the Low Voltage
DDQ
DD
Detect (LVD) circuitry. The LVD will generate an early warning interrupt to the CPU when
voltage sags on either V or V voltage inputs. This is an advantage for battery powered
DD
DDQ
applications because the system can perform an orderly shutdown before the batteries become
too weak. The voltage trip point to cause a brown out interrupt is typically 0.25V above the LVD
dropout thresholds that cause a reset.
CPU firmware may prevent all brown-out interrupts by writing to interrupt mask registers at run-
time.
2.13.2 Supply voltage dropout
LVD circuitry will always cause a global reset if the CPU’s V source drops below it’s fixed
DD
threshold of 1.4V.
However, the LVD trigger threshold to cause a global reset for the I/O ring’s V
source is set
DDQ
to one of two different levels, depending if V
will be operated in the range of 2.7V to 3.3V, or
DDQ
3.0V to 3.6V. If V
operation is at 2.7V to 3.3V, the LVD dropout trigger threshold is 2.4V. If
DDQ
V
operation is 3.0V and 3.6V, the LVD threshold is 2.7V. The choice of trigger level is made
DDQ
by STR91xFA device configuration software from STMicroelectronics or IDE from 3rd parties,
and is programmed into the STR91xFA device along with other configurable items through the
JTAG interface when the Flash memory is programmed.
CPU firmware may prevent some LVD resets if desired by writing a control register at run-time.
Firmware may also disable the LVD completely for lowest-power operation when an external
LVD device is being used.
2.13.3 Watchdog timer
The STR91xFA has a 16-bit down-counter (not one of the four TIM timers) that can be used as
a watchdog timer or as a general purpose free-running timer/counter. The clock source is the
19/78
Functional overview
STR91xFA
peripheral clock from the APB, and an 8-bit clock pre-scaler is available. When enabled by
firmware as a watchdog, this timer will cause a system reset if firmware fails to periodically
reload this timer before the terminal count of 0x0000 occurs, ensuring firmware sanity. The
watchdog function is off by default after a reset and must be enabled by firmware.
2.13.4 External RESET_INn pin
This input signal is active-low with hystereses (V
). Other open-drain, active-low system
RHYS
reset signals on the circuit board (such as closure to ground from a push-button) may be
connected directly to the RESET_INn pin, but an external pull-up resistor to V
present as there is no internal pullup on the RESET_INn pin.
must be
DDQ
A valid active-low input signal of t
duration on the RESET_INn pin will cause a system
RINMIN
reset within the STR91xFA. There is also a RESET_OUTn pin on the STR91xFA that can drive
other system components on the circuit board. RESET_OUTn is active-low and has the same
timing of the Power-On-Reset (POR) shown next, t
.
POR
2.13.5 Power-up
The LVD circuitry will always generate a global reset when the STR91xFA powers up, meaning
internal reset is active until V and V are both above the LVD thresholds. This POR
DDQ
DD
condition has a duration of t
, after which the CPU will fetch its first instruction from address
POR
0x0000.0000 in Flash memory. It is not possible for the CPU to boot from any other source
other than Flash memory.
2.13.6 JTAG debug command
When the STR91xFA is in JTAG debug mode, an external device which controls the JTAG
interface can command a system reset to the STR91xFA over the JTAG channel.
2.13.7 Tamper detection
On 128-pin and 144-ball STR91xFA devices only, there is a tamper detect input pin,
TAMPER_IN, used to detect and record the time of a tamper event on the end product such as
malicious opening of an enclosure, unwanted opening of a panel, etc. The activation mode of
the tamper pin is programmable to one of two modes. One is Normally Closed/Tamper Open,
the other mode will detect when a signal on the tamper input pin is driven from low-to-high, or
high-to-low depending on firmware configuration. Once a tamper event occurs, the RTC time
(millisecond resolution) and the date are recorded in the RTC unit. Simultaneously, the SRAM
standby voltage source will be cut off to invalidate all SRAM contents. Tamper detection control
and status logic are part of the RTC unit.
2.14 Real-time clock (RTC)
The RTC combines the functions of a complete time-of-day clock (millisecond resolution) with
an alarm programmable up to one month, a 9999-year calender with leap-year support,
periodic interrupt generation from 1 to 512 Hz, tamper detection (described in Section 2.13.7),
and an optional clock calibration output on the JRTCK pin. The time is in 24 hour mode, and
time/calendar values are stored in binary-coded decimal format.
The RTC also provides a self-isolation mode that is automatically activated during power down.
This feature allows the RTC to continue operation when V
and V are absent, as long as
DDQ
DD
20/78
STR91xFA
Functional overview
an alternate power source, such as a battery, is connected to the VBATT input pin. The current
drawn by the RTC unit on the VBATT pin is very low in this standby mode, I
.
RTC_STBY
2.15 JTAG interface
An IEEE-1149.1 JTAG interface on the STR91xFA provides In-System-Programming (ISP) of
all memory, boundary scan testing of pins, and the capability to debug the CPU.
STR91xFA devices are shipped from ST with blank Flash memories. The CPU can only boot
from Flash memory (selection of which Flash bank is programmable). Firmware must be initially
programmed through JTAG into one of these Flash memories before the STR91xFA is used.
Six pins are used on this JTAG serial interface. The five signals JTDI, JTDO, JTMS, JTCK, and
JTRSTn are all standard JTAG signals complying with the IEEE-1149.1 specification. The sixth
signal, JRTCK (Return TCK), is an output from the STR91xFA and it is used to pace the JTCK
clock signal coming in from the external JTAG test equipment for debugging. The frequency of
the JTCK clock signal coming from the JTAG test equipment must be at least 10 times less than
the ARM966E-S CPU core operating frequency (f
). To ensure this, the signal JRTCK is
CPUCLK
output from the STR91xFA and is input to the external JTAG test equipment to hold off
transitions of JTCK until the CPU core is ready, meaning that the JTAG equipment cannot send
the next rising edge of JTCK until the equipment receives a rising edge of JRTCK from the
STR91xFA. The JTAG test equipment must be able to interpret the signal JRTCK and perform
this adaptive clocking function. If it is known that the CPU clock will always be at least ten times
faster than the incoming JTCK clock signal, then the JRTCK signal is not needed.
The two die inside the STR91xFA (CPU die and Flash memory die) are internally daisy-chained
on the JTAG bus, see Figure 3 on page 22. The CPU die has two JTAG Test Access Ports
(TAPs), one for boundary scan functions and one for ARM CPU debug. The Flash memory die
has one TAP for program/erase of non-volatile memory. Because these three TAPs are daisy-
chained, only one TAP will converse on the JTAG bus at any given time while the other two
TAPs are in BYPASS mode. The TAP positioning order within this JTAG chain is the boundary
scan TAP first, followed by the ARM debug TAP, followed by the Flash TAP. All three TAP
controllers are reset simultaneously by one of two methods:
●
A chip-level global reset, caused only by a Power-On-Reset (POR) or a Low Voltage
Detect (LVD).
●
A reset command issued by the external JTAG test equipment. This can be the assertion
of the JTAG JTRSTn input pin on the STR91xFA or a JTAG reset command shifted into the
STR91xFA serially.
This means that chip-level system resets from watchdog time-out or the assertion of
RESET_INn pin do not affect the operation of any JTAG TAP controller. Only global resets
effect the TAPs.
21/78
Functional overview
STR91xFA
Figure 3. JTAG chaining inside the STR91xFA
STR91xx
BURST FLASH
MEMORY DIE
MAIN FLASH
SECONDARY FLASH
JTAG
Instruction
register length
is 8 bits
JTAG TAP CONTROLLER #3
TDI
TDO
TMS TCK TRST
JTDO
JTRSTn
JTCK
JTMS
JTDI
ARM966ES DIE
JRTCK
JTAG
Instruction
TMS TCK TRST
TDO
TMS
TDO
TDI
TDI
TRST TCK
register length:
5 bits for TAP #1
4 bits for TAP #2
JTAG TAP CONTROLLER #1
JTAG TAP CONTROLLER #2
BOUNDARY SCAN
CPU DEBUG
2.15.1 In-system-programming
The JTAG interface is used to program or erase all memory areas of the STR91xFA device. The
pin RESET_INn must be asserted during ISP to prevent the CPU from fetching invalid
instructions while the Flash memories are being programmed.
Note that the 32 bytes of OTP memory locations cannot be erased by any means once
programmed by JTAG ISP or the CPU.
2.15.2 Boundary scan
Standard JTAG boundary scan testing compliant with IEEE-1149.1 is available on the majority
of pins of the STR91xFA for circuit board test during manufacture of the end product.
STR91xFA pins that are not serviced by boundary scan are the following:
●
●
●
JTAG pins JTCK, JTMS, JTDI, JTDO, JTRSTn, JRTCK
Oscillator input pins X1_CPU, X2_CPU, X1_RTC, X2_RTC
Tamper detect input pin TAMPER_IN (128-pin and 144-pin packages only)
2.15.3 CPU debug
The ARM966E-S CPU core has standard ARM EmbeddedICE-RT logic, allowing the
STR91xFA to be debugged through the JTAG interface. This provides advanced debugging
features making it easier to develop application firmware, operating systems, and the hardware
22/78
STR91xFA
Functional overview
itself. Debugging requires that an external host computer, running debug software, is connected
to the STR91xFA target system via hardware which converts the stream of debug data and
commands from the host system’s protocol (USB, Ethernet, etc.) to the JTAG EmbeddedICE-
RT protocol on the STR91xFA. These protocol converters are commercially available and
operate with debugging software tools.
The CPU may be forced into a Debug State by a breakpoint (code fetch), a watchpoint (data
access), or an external debug request over the JTAG channel, at which time the CPU core and
memory system are effectively stopped and isolated from the rest of the system. This is known
as Halt Mode and allows the internal state of the CPU core, memory, and peripherals to be
examined and manipulated. Typical debug functions are supported such as run, halt, and
single-step. The EmbeddedICE-RT logic supports two hardware compare units. Each can be
configured to be either a watchpoint or a breakpoint. Breakpoints can also be data-dependent.
Debugging (with some limitations) may also occur through the JTAG interface while the CPU is
running full speed, known as Monitor Mode. In this case, a breakpoint or watchpoint will not
force a Debug State and halt the CPU, but instead will cause an exception which can be tracked
by the external host computer running monitor software. Data can be sent and received over
the JTAG channel without affecting normal instruction execution. Time critical code, such as
Interrupt Service Routines may be debugged real-time using Monitor Mode.
2.15.4 JTAG security bit
This is a non-volatile bit (Flash memory based), which when set will not allow the JTAG
debugger or JTAG programmer to read the Flash memory contents.
Using JTAG ISP, this bit is typically programmed during manufacture of the end product to
prevent unwanted future access to firmware intellectual property. The JTAG Security Bit can be
cleared only by a JTAG “Full Chip Erase” command, making the STR91xFA device blank and
ready for programming again. The CPU can read the status of the JTAG Security Bit, but it may
not change the bit value.
2.16 Embedded trace module (ARM ETM9, v. r2p2)
The ETM9 interface provides greater visibility of instruction and data flow happening inside the
CPU core by streaming compressed data at a very high rate from the STR91xFA though a
small number of ETM9 pins to an external Trace Port Analyzer (TPA) device. The TPA is
connected to a host computer using USB, Ethernet, or other high-speed channel. Real-time
instruction flow and data activity can be recorded and later formatted and displayed on the host
computer running debugger software, and this software is typically integrated with the debug
software used for EmbeddedICE-RT functions such as single-step, breakpoints, etc. Tracing
may be triggered and filtered by many sources, such as instruction address comparators, data
watchpoints, context ID comparators, and counters. State sequencing of up to three triggers is
also provided. TPA hardware is commercially available and operates with debugging software
tools.
The ETM9 interface is nine pins total, four of which are data lines, and all pins can be used for
GPIO after tracing is no longer needed. The ETM9 interface is used in conjunction with the
JTAG interface for trace configuration. When tracing begins, the ETM9 engine compresses the
data by various means before broadcasting data at high speed to the TPA over the four data
lines. The most common ETM9 compression technique is to only output address information
when the CPU branches to a location that cannot be inferred from the source code. This means
23/78
Functional overview
STR91xFA
the host computer must have a static image of the code being executed for decompressing the
ETM9 data. Because of this, self-modified code cannot be traced.
2.17 Ethernet MAC interface with DMA
STR91xFA devices in 128-pin and 144-ball packages provide an IEEE-802.3-2002 compliant
Media Access Controller (MAC) for Ethernet LAN communications through an industry
standard Medium Independent Interface (MII). The STR91xFA requires an external Ethernet
physical interface device (PHY) to connect to the physical LAN bus (twisted-pair, fiber, etc.).
The PHY is connected to the STR91xFA MII port using as many as 18 signals (see pins which
have signal names MII_* in Table 5).
The MAC corresponds to the OSI Data Link layer and the PHY corresponds to the OSI Physical
layer. The STR91xFA MAC is responsible for:
●
Data encapsulation, including frame assembly before transmission, and frame parsing/
error detection during and after reception.
●
Media access control, including initiation of frame transmission and recover from
transmission failure.
The STR91xFA MAC includes the following features:
●
●
●
●
●
●
Supports 10 and 100 Mbps rates
Tagged MAC frame support (VLAN support)
Half duplex (CSMA/CD) and full duplex operation
MAC control sublayer (control frames) support
32-bit CRC generation and removal
Several address filtering modes for physical and multicast address (multicast and group
addresses)
●
●
32-bit status code for each transmitted or received frame
Internal FIFOs to buffer transmit and receive frames. Transmit FIFO depth is 4 words (32
bits each), and the receive FIFO is 16 words deep.
A 32-bit burst DMA channel residing on the AHB is dedicated to the Ethernet MAC for high-
speed data transfers, side-stepping the CPU for minimal CPU impact during transfers. This
DMA channel includes the following features:
●
●
●
Direct SRAM to MAC transfers of transmit frames with the related status, by descriptor
chain
Direct MAC to SRAM transfers of receive frames with the related status, by descriptor
chain
Open and Closed descriptor chain management
2.18 USB 2.0 slave device interface with DMA
The STR91xFA provides a USB slave controller that implements both the OSI Physical and
Data Link layers for direct bus connection by an external USB host on pins USBDP and
USBPN. The USB interface detects token packets, handles data transmission and reception,
and processes handshake packets as required by the USB 2.0 standard.
The USB slave interface includes the following features:
24/78
STR91xFA
Functional overview
●
Supports USB low and full-speed transfers (12 Mbps), certified to comply with the USB 2.0
specification
●
●
Supports isochronous, bulk, control, and interrupt endpoints
Configurable number of endpoints allowing a mixture of up to 20 single-buffered
monodirectional endpoints or up to 10 double-buffered bidirectional endpoints
●
Dedicated, dual-port 2 Kbyte USB Packet Buffer SRAM. One port of the SRAM is
connected by a Packet Buffer Interface (PBI) on the USB side, and the CPU connects to
the other SRAM port.
●
●
●
CRC generation and checking
NRZI encoding-decoding and bit stuffing
USB suspend resume operations
2.18.1 Packet buffer interface (PBI)
The PBI manages a set of buffers inside the 2 Kbyte Packet Buffer, both for transmission and
reception. The PBI will choose the proper buffer according to requests coming from the USB
Serial Interface Engine (SIE) and locate it in the Packet SRAM according to addresses pointed
by endpoint registers. The PBI will also auto-increment the address after each exchanged byte
until the end of packet, keeping track of the number of exchanged bytes and preventing buffer
overrun. Special support is provided by the PBI for isochronous and bulk transfers,
implementing double-buffer usage which ensures there is always an available buffer for a USB
packet while the CPU uses a different buffer.
2.18.2 DMA
A programmable DMA channel may be assigned by CPU firmware to service the USB interface
for fast and direct transfers between the USB bus and SRAM with little CPU involvement. This
DMA channel includes the following features:
●
●
●
Direct USB Packet Buffer SRAM to system SRAM transfers of receive packets, by
descriptor chain for bulk or isochronous endpoints.
Direct system SRAM to USB Packet Buffer SRAM transfers of transmit packets, by
descriptor chain for bulk or isochronous endpoints.
Linked-list descriptor chain support for multiple USB packets
2.18.3 Suspend mode
CPU firmware may place the USB interface in a low-power suspend mode when required, and
the USB interface will automatically wake up asynchronously upon detecting activity on the
USB pins.
2.19 CAN 2.0B interface
The STR91xFA provides a CAN interface complying with CAN protocol version 2.0 parts A and
B. An external CAN transceiver device connected to pins CAN_RX and CAN_TX is required for
connection to the physical CAN bus.
The CAN interface manages up to 32 Message Objects and Identifier Masks using a Message
SRAM and a Message Handler. The Message Handler takes care of low-level CAN bus activity
such as acceptance filtering, transfer of messages between the CAN bus and the Message
25/78
Functional overview
STR91xFA
SRAM, handling of transmission requests, and interrupt generation. The CPU has access to
the Message SRAM via the Message Handler using a set of 38 control registers.
The follow features are supported by the CAN interface:
●
●
●
●
●
●
Bitrates up to 1 Mbps
Disable Automatic Retransmission mode for Time Triggered CAN applications
32 Message Objects
Each Message Object has its own Identifier Mask
Programmable FIFO mode
Programmable loopback mode for self-test operation
The CAN interface is not supported by DMA.
2.20 UART interfaces with DMA
The STR91xFA supports three independent UART serial interfaces, designated UART0,
UART1, and UART2. Each interface is very similar to the industry-standard 16C550 UART
device. All three UART channels support IrDA encoding/decoding, requiring only an external
LED transceiver to pins UARTx_RX and UARTx_Tx for communication. One UART channel
(UART0) supports full modem control signals.
UART interfaces include the following features:
●
Maximum baud rate of 1.5 Mbps
●
Separate FIFOs for transmit and receive, each 16 deep, each FIFO can be disabled by
firmware if desired
●
●
Programmable FIFO trigger levels between 1/8 and 7/8
Programmable baud rate generator based on CCU master clock, or CCU master clock
divided by two
●
●
●
●
●
●
●
Programmable serial data lengths of 5, 6, 7, or 8 bits with start bit and 1 or 2 stop bits
Programmable selection of even, odd, or no-parity bit generation and detection
False start-bit detection
Line break generation and detection
Support of IrDA SIR ENDEC functions for data rates of up to 115.2K bps
IrDA bit duration selection of 3/16 or low-power (1.14 to 2.23 µsec)
Channel UART0 supports modem control functions CTS, DCD, DSR, RTS, DTR, and RI
For your reference, only two standard 16550 UART features are not supported, 1.5 stop bits
and independent receive clock.
2.20.1 DMA
A programmable DMA channel may be assigned by CPU firmware to service channels UART0
and UART1 for fast and direct transfers between the UART bus and SRAM with little CPU
involvement. Both DMA single-transfers and DMA burst-transfers are supported for transmit
and receive. Burst transfers require that UART FIFOs are enabled.
26/78
STR91xFA
Functional overview
2.21 I2C interfaces with DMA
The STR91xFA supports two independent I2C serial interfaces, designated I2C0, and I2C1.
Each interface allows direct connection to an I2C bus as either a bus master or bus slave
device (firmware configurable). I2C is a two-wire communication channel, having a bi-
directional data signal and a single-directional clock signal based on open-drain line drivers,
requiring external pull-up resistors.
Byte-wide data is transferred between a Master device and a Slave device on two wires. More
than one bus Master is allowed, but only one Master may control the bus at any given time.
Data is not lost when another Master requests the use of a busy bus because I2C supports
collision detection and arbitration. More than one Slave device may be present on the bus, each
having a unique address. The bus Master initiates all data movement and generates the clock
that permits the transfer. Once a transfer is initiated by the Master, any device that is addressed
is considered a Slave. Automatic clock synchronization allows I2C devices with different bit
rates to communicate on the same physical bus. A single device can play the role of Master or
Slave, or a single device can be a Slave only. A Master or Slave device has the ability to
suspend data transfers if the device needs more time to transmit or receive data.
Each I2C interface on the STR91xFA has the following features:
●
●
Programmable clock supports various rates up to I2C Standard rate (100 KHz) or Fast rate
(400 KHz).
Serial I/O Engine (SIOE) takes care of serial/parallel conversion; bus arbitration; clock
generation and synchronization; and handshaking
●
●
Multi-master capability
7-bit or 10-bit addressing
2.21.1 DMA
A programmable DMA channel may be assigned by CPU firmware to service each I2C channel
for fast and direct transfers between the I2C bus and SRAM with little CPU involvement. Both
DMA single-transfers and DMA burst-transfers are supported for transmit and receive.
2.22 SSP interfaces (SPI, SSI, and Microwire) with DMA
The STR91xFA supports two independent Synchronous Serial Port (SSP) interfaces,
designated SSP0, and SSP1. Primary use of each interface is for supporting the industry
standard Serial Peripheral Interface (SPI) protocol, but also supporting the similar Synchronous
Serial Interface (SSI) and Microwire communication protocols.
SPI is a three or four wire synchronous serial communication channel, capable of full-duplex
operation. In three-wire configuration, there is a clock signal, and two data signals (one data
signal from Master to Slave, the other from Slave to Master). In four-wire configuration, an
additional Slave Select signal is output from Master and received by Slave.
The SPI clock signal is a gated clock generated from the Master and regulates the flow of data
bits. The Master may transmit at a variety of baud rates, up to 24 MHz
In multi-Slave operation, no more than one Slave device can transmit data at any given time.
Slave selection is accomplished when a Slave’s “Slave Select” input is permanently grounded
or asserted active-low by a Master device. Slave devices that are not selected do not interfere
with SPI activities. Slave devices ignore the clock signals and keep their data output pins in
27/78
Functional overview
STR91xFA
high-impedance state when not selected. The STR91xFA supports SPI multi-Master operation
because it provides collision detection.
Each SSP interface on the STR91xFA has the following features:
●
●
●
Full-duplex, three or four-wire synchronous transfers
Master or Slave operation
Programmable clock bit rate with prescaler, up to 24 MHz for Master mode and 4 MHz for
Slave mode
●
●
●
●
Separate transmit and receive FIFOs, each 16-bits wide and 8 locations deep
Programmable data frame size from 4 to 16 bits
Programmable clock and phase polarity
Specifically for Microwire protocol:
–
Half-duplex transfers using 8-bit control message
●
Specifically for SSI protocol:
–
–
Full-duplex four-wire synchronous transfer
Transmit data pin tri-stateable when not transmitting
2.22.1 DMA
A programmable DMA channel may be assigned by CPU firmware to service each SSP
channel for fast and direct transfers between the SSP bus and SRAM with little CPU
involvement. Both DMA single-transfers and DMA burst-transfers are supported for transmit
and receive. Burst transfers require that FIFOs are enabled.
2.23 General purpose I/O
There are up to 80 GPIO pins available on 10 I/O ports for 128-pin and 144-ball devices, and up
to 40 GPIO pins on 5 I/O ports for 80-pin devices. Each and every GPIO pin by default (during
and just after a reset condition) is in high-impedance input mode, and some GPIO pins are
additionally routed to certain peripheral function inputs. CPU firmware may initialize GPIO pins
to have alternate input or output functions as listed in Table 5. At any time, the logic state of any
GPIO pin may be read by firmware as a GPIO input, regardless of its reassigned input or output
function.
Bit masking is available on each port, meaning firmware may selectively read or write individual
port pins, without disturbing other pins on the same port during a write.
Firmware may designate each GPIO pin to have open-drain or push-pull characteristics.
All GPIO pins are 5V tolerant, meaning in they can drive a voltage level up to V
safely driven by a voltage up to 5.5V.
, and can be
DDQ
There are no internal pull-up or pull-down resistors on GPIO pins. As such, it is recommended
to ground, or pull up to V with a 100KΩ resistor, all unused GPIO pins to minimize power
DDQ
consumption and noise generation.
28/78
STR91xFA
Functional overview
2.24 A/D converter (ADC) with DMA
The STR91xFA provides an eight-channel, 10-bit successive approximation analog-to-digital
converter. The ADC input pins are multiplexed with other functions on Port 4 as shown in
Table 5. Following are the major ADC features:
●
●
●
Fast conversion time, as low as 0.7 usec
Accuracy. Integral and differential non-linearity are typically within 4 conversion counts.
0 to 3.6V input range. External reference voltage input pin (AVREF) available on 128-pin
packages for better accuracy on low-voltage inputs. See Table 7: Operating conditions, for
restrictions to the relative voltage levels of VDDQ, AVDD, AVREF, and AVREF_AVDD.
●
CPU Firmware may convert one ADC input channel at a time, or it has the option to set the
ADC to automatically scan and convert all eight ADC input channels sequentially before
signalling an end-of-conversion
●
●
Automatic continuous conversion mode is available for any number of designated ADC
input channels
Analog watchdog mode provides automatic monitoring of any ADC input, comparing it
against two programmable voltage threshold values. The ADC unit will set a flag or it will
interrupt the CPU if the input voltage rises above the higher threshold, or drops below the
lower threshold.
●
●
The ADC unit goes to stand-by mode (very low-current consumption) after any reset event.
CPU firmware may also command the ADC unit to stand-by mode at any time.
ADC conversion can be started or triggered by software command as well as triggers from
Timer/Counter (TIM), Motor Controller and input from external pin.
2.24.1 DMA
A programmable DMA channel may be assigned by CPU firmware to service each ADC
conversion result for fast DMA single-transfer.
2.25 Standard timers (TIM) with DMA
The STR91xFA has four independent, free-running 16-bit timer/counter modules designated
TIM0, TIM1, TIM2, and TIM3. Each general purpose timer/counter can be configured by
firmware for a variety of tasks including; pulse width and frequency measurement (input
capture), generation of waveforms (output compare and PWM), event counting, delay timing,
and up/down counting.
Each of the four timer units have the following features:
●
16-bit free running timer/counter
●
Internal timer/counter clock source from a programmable 8-bit prescale of the CCU PCLK
clock output
●
●
Optional external timer/counter clock source from pin P2.4 shared by TIM0/TIM1, and pin
P2.5 shared by TIM2/TIM3. Frequency of these external clocks must be at least 4 times
less the frequency of the internal CCU PCLK clock output.
Two dedicated 16-bit Input Capture registers for measuring up to two input signals. Input
Capture has programmable selection of input signal edge detection
●
●
Two dedicated 16-bit Output Compare registers for generation up to two output signals
PWM output generation with 16-bit resolution of both pulse width and frequency
29/78
Functional overview
STR91xFA
●
●
●
One pulse generation in response to an external event
A dedicated interrupt to the CPU with five interrupt flags
The OCF1 flag (Output Compare 1) from the timer can be configured to trigger an ADC
conversion
2.25.1 DMA
A programmable DMA channel may be assigned by CPU firmware to service each timer/
counter module TIM0 and TIM1 for fast and direct single transfers.
2.26 Three-phase induction motor controller (IMC)
The STR91xFA provides an integrated controller for variable speed motor control applications.
Six PWM outputs are generated on high current drive pins P6.0 to P6.5 for controlling a three-
phase AC induction motor drive circuit assembly. Rotor speed feedback is provided by
capturing a tachometer input signal on pin P6.6, and an asynchronous hardware emergency
stop input is available on pin P6.7 to stop the motor immediately if needed, independently of
firmware.
The IMC unit has the following features:
●
Three PWM outputs generated using a 10 or 16-bit PWM counter, one for each phase U,
V, W. Complimentary PWM outputs are also generated for each phase.
●
●
Choice of classic or zero-centered PWM generation modes
10 or 16-bit PWM counter clock is supplied through a programmable 8-bit prescaler of the
APB clock.
●
Programmable 6 or 10-bit dead-time generator to add delay to each of the three
complimentary PWM outputs
●
●
8-bit repetition counter
Automatic rotor speed measurement with 16-bit resolution. Schmitt trigger tachometer
input with programmable edge detection
●
●
●
●
Hardware asynchronous emergency stop input
A dedicated interrupt to CPU with eight flags
Enhanced Motor stop output polarity configuration
Double update option when PWM counter reaches the max and min values in Zero-
centered mode
●
●
Locking feature to prevent some control register bits from being advertently modified
Trigger output to start an ADC conversion
2.27 External memory interface (EMI)
STR91xFA devices in 128-pin and 144-ball packages offer an external memory bus for
connecting external parallel peripherals and memories. The EMI bus resides on ports 7, 8, and
9 and operates with either an 8 or 16-bit data path. The configuration of 8 or 16 bit mode is
specified by CPU firmware writing to configuration registers at run-time. If the application does
not use the EMI bus, then these port pins may be used for general purpose I/O as shown in
Table 5.
30/78
STR91xFA
Functional overview
The EMI has the following features:
●
Supports static asynchronous memory access cycles, including page mode for non-mux
operation. The bus control signals include:
–
–
–
–
EMI_RDn - read signal, x8 or x16 mode
EMI_BWR_WRLn - write signal in x8 mode and write low byte signal in x16 mode
EMI_WRHn - write high byte signal in x16 mode
EMI_ALE - address latch signal for x8 or x16 mux bus mode with programmable
polarity
●
Four configurable memory regions, each with a chip select output (EMI_CS0n ...
EMI_CS3n)
●
●
Programmable wait states per memory region for both write and read operations
16-bit multiplexed data mode (Figure 4): 16 bits of data and 16 bits of low-order address
are multiplexed together on ports 8 and 9, while port 7 contains eight more high-order
address signals. The output signal on pin EMI_ALE is used to demultiplex the signals on
ports 8 and 9, and the polarity of EMI_ALE is programmable. The output signals on pins
EMI_BWR_WRLn and EMI_WRHn are the write strobes for the low and high data bytes
respectively. The output signal EMI_RDn is the read strobe for both the low and high data
bytes.
●
8-bit multiplexed data mode: This is a variant of the 16-bit multiplexed mode. Although
this mode can provide 24 bits of address and 8 bits of data, it does require an external
latch device on Port 8. However, this mode is most efficient when connecting devices that
only require 8 bits of address on an 8-bit multiplexed address/data bus, and have simple
read, write, and latch inputs as shown in Figure 5
To use all 24 address bits, the following applies: 8 bits of lowest-order data and 8 bits of
lowest-order address are multiplexed on port 8. On port 9, 8-bits of mid-order address are
multiplexed with 8 bits of data, but these 8 data values are always at logic zero on this port
during a write operation, and these 8 data bits are ignored during a read operation. An
external latch device (such as a ‘373 latch) is needed to de-multiplex the mid-order 8
address bits that are generated on port 8. Port 7 outputs the 8 highest-order address
signals directly (not multiplexed). The output signal on pin EMI_ALE is used to demultiplex
the signals on ports 8 and 9, and the polarity of EMI_ALE is programmable. The output
signal on pin EMI_BWR_WRLn is the data write strobe, and the output on pin EMI_RDn is
the data read strobe.
●
●
8-bit non-multiplexed data mode (Figure 6): Eight bits of data are on port 8, while 16 bits
of address are output on ports 7 and 9. The output signal on pin EMI_BWR_BWLn is the
data write strobe and the output on pin EMI_RDn is the data read strobe.
Burst Mode Support (LFBGA package only): The EMI bus supports synchronized burst
read and write bus cycle in multiplexed and non-multiplexed mode. The additional EMI
signals in the LFBGA package that support the burst mode are:
–
EMI_BCLK -the bus clock output. The EMI_BCLK has the same frequency or half of
that of the HCLK and can be disabled by the user
–
–
–
–
EMI_WAITn - the not ready or wait input signal for synchronous access
EMI_BAAn - burst address advance or burst enable signal
EMI_WEn - write enable signal
EMI_UBn, EMI_LBn - upper byte and lower byte enable signals. These two signals
share the same pins as the EMI_WRLn and EMI_WRHn and are user configurable
through the EMI register.
31/78
Functional overview
STR91xFA
By defining the bus parameters such as burst length, burst type, read and write timings in
the EMI control registers, the EMI bus is able to interface to standard burst memory
devices. The burst timing specification and waveform will be provided in the next data
sheet release
Figure 4. EMI 16-bit multiplexed connection example
STR91xx
16-BIT
DEVICE
EMI_CS3n
EMI_CS2n
EMI_CS1n
EMI_CS0n
CHIP_SELECT
EMI_WRHn
WRITE_HIGH_BYTE
WRITE_LOW_BYTE
EMI_BWR_WRLn
EMI_RDn
READ
EMI_ALE
ADDR_LATCH
P7.7
P7.6
P7.5
P7.4
P7.3
P7.2
P7.1
P7.0
EMI_A23
EMI_A22
EMI_A21
EMI_A20
EMI_A19
EMI_A18
EMI_A17
EMI_A16
A23
A22
A21
A20
A19
A18
A17
A16
P9.7
P9.6
P9.5
P9.4
P9.3
P9.2
P9.1
P9.0
EMI_AD15
EMI_AD14
EMI_AD13
EMI_AD12
EMI_AD11
EMI_AD10
EMI_AD9
EMI_AD8
AD15
AD14
AD13
AD12
AD11
AD10
AD9
AD8
P8.7
P8.6
P8.5
P8.4
P8.3
P8.2
P8.1
P8.0
EMI_AD7
EMI_AD6
EMI_AD5
EMI_AD4
EMI_AD3
EMI_AD2
EMI_AD1
EMI_AD0
AD7
AD6
AD5
AD4
AD3
AD2
AD1
AD0
Figure 5. EMI 8-bit multiplexed connection example
STR91xx
8-BIT
DEVICE
EMI_CS3n
EMI_CS2n
EMI_CS1n
EMI_CS0n
CHIP_SELECT
EMI_BWR_WRLn
EMI_RDn
EMI_ALE
WRITE
READ
ADDR_LATCH
P8.7
EMI_AD7
P8.6
AD7
AD6
AD5
AD4
AD3
AD2
AD1
AD0
EMI_AD6
P8.5
EMI_AD5
P8.4
EMI_AD4
P8.3
EMI_AD3
P8.2
EMI_AD2
P8.1
EMI_AD1
P8.0
EMI_AD0
32/78
STR91xFA
Functional overview
Figure 6. EMI 8-bit non-multiplexed connection example
STR91xx
8-BIT
DEVICE
EMI_CS3n
EMI_CS2n
EMI_CS1n
EMI_CS0n
CHIP_SELECT
EMI_BWR_WRLn
EMI_RDn
WRITE
READ
P9.7
P9.6
P9.5
P9.4
P9.3
P9.2
P9.1
P9.0
EMI_A15
EMI_A14
EMI_A13
EMI_A12
EMI_A11
EMI_A10
EMI_A9
A15
A14
A13
A12
A11
A10
A9
EMI_A8
A8
P7.7
P7.6
P7.5
P7.4
P7.3
P7.2
P7.1
P7.0
EMI_A7
EMI_A6
EMI_A5
EMI_A4
EMI_A3
EMI_A2
EMI_A1
EMI_A0
A7
A6
A5
A4
A3
A2
A1
A0
P8.7
P8.6
P8.5
P8.4
P8.3
P8.2
P8.1
P8.0
EMI_D7
EMI_D6
EMI_D5
EMI_D4
EMI_D3
EMI_D2
EMI_D1
EMI_D0
D7
D6
D5
D4
D3
D2
D1
D0
33/78
Related documentation
STR91xFA
3
Related documentation
Available from www.arm.com:
ARM966E-S Rev 2 Technical Reference Manual
Available from www.st.com:
STR91xFA Reference Manual
STR9 Flash Programming Manual (PM0020)
The above is a selected list only, a full list STR91xFA application notes can be viewed at
http://www.st.com.
34/78
STR91xFA
Pin description
4
Pin description
Figure 7. STR91xFAM 80-pin package pinout
P4.3
P4.2
P4.1
1
2
3
4
5
6
7
8
9
60 USBDP (1)
59 USBDN (1)
58 P6.7
P4.0
57 P6.6
VSS_VSSQ
VDDQ
P2.0
56 RESET_INn
55 VSSQ
54 VDDQ
53 P6.5
P2.1
P5.0
52 P6.4
VSS 10
VDD 11
P5.1 12
P6.2 13
P6.3 14
VDDQ 15
VSSQ 16
P5.2 17
P5.3 18
P6.0 19
P6.1 20
STR91xFAM
80-pin LQFP
51 VSS
50 VDD
49 P5.7
48 P5.6
47 P5.5
46 VDDQ
45 VSSQ
44 P5.4
43 P3.7
42 P3.6
41 P3.5
1) NU (Not Used) on STR910FAM devices. Pin 59 is not connected, pin 60 must be pulled up by a 1.5Kohm resistor to VDDQ.
2) No USBCLK function on STR910FAM devices.
35/78
Pin description
STR91xFA
Figure 8. STR91xFAW 128-pin package pinout
96
95
94
93
92
91
90
89
88
87
86
85
84
83
82
81
80
79
78
77
76
75
74
73
72
71
70
69
68
67
66
65
USBDP (1)
USBDN (1)
MII_MDIO (1)
P6.7
P6.6
TAMPER_IN
P0.7
RESET_INn
P0.6
VSSQ
VDDQ
P0.5
P6.5
P6.4
VSS
VDD
P5.7
P5.6
P0.4
P5.5
P4.2
P4.1
P4.0
AVSS
P7.0
P7.1
1
2
3
4
5
6
7
8
P7.2
VSSQ
VDDQ
P2.0
P2.1
P5.0
P7.3
P7.4
P7.5
VSS
VDD
P5.1
P6.2
P6.3
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
STR91xFAW
128-pin LQFP
P0.3
EMI_BWR_WRLn
EMI_WRHn
VDDQ
VSSQ
(3) PHYCLK_P5.2
P8.0
EMI_RDn
EMI_ALE
VDDQ
VSSQ
P0.2
P5.4
P0.1
P3.7
P0.0
P5.3
P8.1
P6.0
P8.2
P6.1
P8.3
P3.6
P3.5
1) NU (Not Used) on STR910FAW devices. Pin 95 is not connected, pin 96 must be pulled up by a 1.5Kohm resistor to VDDQ.
2) No USBCLK function on STR910FAW devices.
3) No PHYCLK function on STR910FAW devices.
36/78
STR91xFA
Pin description
4.1
LFBGA144 ball connections
●
●
●
In Table 4. balls labelled NC are no connect balls. These NC balls are reserved for future
devices and should NOT be connected to ground or any other signal. There are total of 9
NC (no connection) balls.
Balls H1 and G4 are assigned as EMI bus write signals (EMI_BWR_WRLn and
EMI_WRHn). These two balls can also be configured by the user as EMI low or high byte
select signals (EMI_LBn and EMI_UBn).
The PLLGND (B8) and PLLVDDQ (C9) balls can be connected to VSSQ and VDDQ.
Table 4.
STR91x LFBGA144 Ball Connections
A
B
C
D
E
F
G
H
J
K
L
M
EMI_WRH
n
PHYCLK_
P4.2
P7.2
NC
P7.0
VDDQ
P7.3
P7.4
VDDQ
P8.0
P2.2
1
(3)
P5.2
(EMI_UBn)
AVREF
AVDD
P4.1
P4.3
P4.0
P7.1
NC
P2.0
P2.1
NC
P6.2
P6.3
P5.3
P8.2
P6.1
P8.3
P2.3
VSSQ
P8.4
P8.6
2
3
AVSS
VSS
P8.1
VBATT
EMI_BWR_
WRLn
P4.6
P4.5
P4.4
VSSQ
P5.0
VDD
P6.0
P8.5
VSSQ
P2.4
X2_RTC
4
(EMI_LBn)
P7.7
VDDQ
JTDO
VSSQ
JTDI
P4.7
P1.7
P7.5
P7.6
NC
VSSQ
VSS
P9.4
P2.5
P9.3
P8.7
P9.2
VDDQ
VDD
X1_RTC
P9.0
5
6
JTMS
P5.1
P2.6
USBCLK_
7
8
P1.5
P1.4
PLLVSSQ
P1.2
NC
P1.3
VDD
JRSTn
VDDQ
VSS
JTCK
P6.6
P1.6
VSSQ
VDDQ
NC
P6.5
P6.4
NC
VDDQ
EMI_BAAn
P5.6
VSSQ
P3.3
P3.0
P9.1
EMI_BCLK
P9.6
(2)
P2.7
EMI_WAIT
n
VSSQ
P9.5
P3.4
P3.5
RESET_
OUTn
PLLVDDQ
P1.1
EMI_RDn
EMI_ALE
P9.7
P0.1
9
TAMPER_
IN
(1)
X1_CPU
P1.0
VSS
P0.4
P3.1
10
USBDN
MII_MDIO
(1)
(1)
11
12
X2_CPU
JRTCK
P0.7
P0.6
NC
P0.5
NC
VDD
P5.7
P5.5
P0.3
P0.2
P5.4
P3.7
P0.0
P3.2
P3.6
USBDP
EMI_WEn
RESET_INn
P6.7
VDDQ
VSSQ
1) NU (Not Used) on STR910FAW devices. D10 is not connected, C11 must be pulled up by a 1.5 kOhm resistor to VDDQ.
2) No USBCLK function on STR910FAW devices.
3) No PHYCLK function on STR910FAW devices.
37/78
Pin description
STR91xFA
4.2
Default pin functions
During and just after reset, all pins on ports 0-9 default to high-impedance input mode until
CPU firmware assigns other functions to the pins. This initial input mode routes all pins on ports
0-9 to be read as GPIO inputs as shown in the “Default Pin Function” column of Table 5.
Simultaneously, certain port pin signals are also routed to other functional inputs as shown in
the “Default Input Function” column of Table 5, and these pin input functions will remain until
CPU firmware makes other assignments. At any time, even after the CPU assigns pins to
alternate functions, the CPU may always read the state of any pin on ports 0-9 as a GPIO input.
CPU firmware may assign alternate functions to port pins as shown in columns “Alternate Input
1” or “Alternate Output 1, 2, 3” of Table 5 by writing to control registers at run-time.
Notes for Table 5:
Notes:1 STMicroelectronics advises to ground, or pull up to V
using a 100 KΩ resistor, all unused
DDQ
pins on port 0 - 9 to reduce noise susceptibility, noise generation, and minimize power
consumption. There are no internal or programmable pull-up resistors on ports 0-9.
2 All pins on ports 0 - 9 are 5V tolerant
3 Pins on ports 0,1,2,4,5,7,8,9 have 4 mA drive and 4mA sink. Ports 3 and 6 have 8 mA drive and
8 mA sink.
4 For 8-bit non-muxed EMI operation: Port 8 is eight bits of data, ports 7 and 9 are 16 bits of
address.
5 For 16-bit muxed EMI operation: Ports 8 and 9 are 16 bits of muxed address and data bits, port
7 is up to eight additional bits of high-order address
6 Signal polarity is programmable for interrupt request inputs, EMI_ALE, timer input capture
inputs and output compare/PWM outputs, motor control tach and emergency stop inputs, and
motor control phase outputs.
7 HiZ = High Impedance, V = Voltage Source, G = Ground, I/O = Input/Output
8 STR910FA devices do not support USB. On these devices USBDP and USBDN signals are
"Not Used" (USBDN is not connected, USBDP must be pulled up by a 1.5K ohm resistor to
VDDQ), and all functions named “USB" are not available.
9 STR910FA 128-pin and 144-ball devices do not support Ethernet. On these devices PHYCLK
and all functions named “MII*" are not available.
Table 5.
Device pin description
Pkg
Alternate functions
Default Pin Default Input
Pin Name
Alternate
Input 1
Alternate
Output 1
Alternate
Output 2
Alternate
Output 3
Function
Function
GPIO_0.0,
MII_TX_CLK,
GPIO_0.0,
GP Output
I2C0_CLKIN, I2C
I2C0_CLKOUT,I2C ETM_PCK0, ETM
-
-
-
-
-
67 L11
69 K10
71 J11
76 H12
78 H10
P0.0
P0.1
P0.2
P0.3
P0.4
I/O
I/O
I/O
I/O
I/O
clock in
clock out
Packet
GP Input, HiZ
PHY Xmit clock
GPIO_0.1,
I2C0_DIN,
GPIO_0.1,
GP Output
I2C0_DOUT,
I2C data out
ETM_PCK1, ETM
-
Packet
GP Input, HiZ
I2C data in
GPIO_0.2,
MII_RXD0,
GPIO_0.2,
GP Output
I2C1_CLKIN, I2C
I2C1_CLKOUT,I2C ETM_PCK2, ETM
clock in
clock out
Packet
GP Input, HiZ
PHY Rx data0
GPIO_0.3,
MII_RXD1,
I2C1_DIN,
I2C data in
GPIO_0.3,
GP Output
I2C1_DOUT,
I2C data out
ETM_PCK3, ETM
Packet
GP Input, HiZ
PHY Rx data
GPIO_0.4,
MII_RXD2,
TIM0_ICAP1,
Input Capture
GPIO_0.4,
GP Output
EMI_CS0n,
ETM_PSTAT0,
GP Input, HiZ
PHY Rx data
EMI Chip Select
ETM pipe status
38/78
STR91xFA
Pin description
Pkg
Alternate functions
Default Pin Default Input
Pin Name
Alternate
Input 1
Alternate
Output 1
Alternate
Output 2
Alternate
Output 3
Function
Function
GPIO_0.5,
GP Input, HiZ
GPIO_0.6,
MII_RXD3,
PHY Rx data
MII_RX_CLK,
PHY Rx clock
MII_RX_DV,
TIM0_ICAP2,
Input Capture
TIM2_ICAP1,
Input Capture
TIM2_ICAP2,
Input Capture
GPIO_0.5,
GP Output
GPIO_0.6,
GP Output
GPIO_0.7,
GP Output
EMI_CS1n,
EMI Chip Select
EMI_CS2n,
ETM_PSTAT1,
ETM pipe status
ETM_PSTAT2,
ETM pipe status
ETM_TRSYNC,
ETM trace sync
-
-
-
85 F11
88 E11
90 B12
P0.5
P0.6
P0.7
I/O
I/O
I/O
GP Input, HiZ
GPIO_0.7,
EMI Chip Select
EMI_CS3n,
GP Input, HiZ
PHY data valid
EMI Chip Select
GPIO_1.0,
MII_RX_ER,
PHY rcv error
ETM_EXTRIG,
ETM ext. trigger
GPIO_1.0,
GP Output
UART1_TX,
SSP1_SCLK,
-
-
-
-
-
-
-
-
98 B10
99 C10
101 B9
106 C8
109 B7
110 A7
114 F7
116 D6
P1.0
P1.1
P1.2
P1.3
P1.4
P1.5
P1.6
P1.7
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
GP Input, HiZ
UART xmit data
SSP mstr clk out
GPIO_1.1,
UART1_RX,
GPIO_1.1,
GP Output
MII_TXD0,
SSP1_MOSI,
-
-
-
-
GP Input, HiZ
UART rcv data
MAC Tx data
SSP mstr dat out
GPIO_1.2,
SSP1_MISO,
GPIO_1.2,
GP Output
MII_TXD1,
UART0_TX,
GP Input, HiZ
SSP mstr data in
MAC Tx data
UART xmit data
GPIO_1.3,
UART2_RX,
GPIO_1.3,
GP Output
MII_TXD2,
SSP1_NSS,
GP Input, HiZ
UART rcv data
MAC Tx data
SSP mstr sel out
GPIO_1.4,
GPIO_1.4,
GP Output
MII_TXD3,
I2C0_CLKIN, I2C
I2C0_CLKOUT,
I2C clock out
clock in
GP Input, HiZ
MAC Tx data
GPIO_1.5,
MII_COL,
CAN_RX,
GPIO_1.5,
GP Output
UART2_TX,
ETM_TRCLK,
GP Input, HiZ
PHY collision
CAN rcv data
UART xmit data
ETM trace clock
GPIO_1.6,
MII_CRS,
I2C0_DIN,
GPIO_1.6,
GP Output
CAN_TX,
I2C0_DOUT,
I2C data out
GP Input, HiZ
PHY carrier sns
I2C data in
CAN Tx data
GPIO_1.7,
ETM_EXTRIG,
ETM ext. trigger
GPIO_1.7,
GP Output
MII_MDC,
ETM_TRCLK,
-
GP Input, HiZ
MAC mgt dat ck
ETM trace clock
GPIO_2.0,
GP Input, HiZ
GPIO_2.1,
UART0_CTS,
Clear To Send
UART0_DSR,
Data Set Ready
UART0_DCD,
Dat Carrier Det
UART0_RI,
GPIO_2.0,
GP Output
GPIO_2.1,
GP Output
GPIO_2.2,
GP Output
GPIO_2.3,
GP Output
GPIO_2.4,
GP Output
GPIO_2.5,
GP Output
GPIO_2.6,
GP Output
GPIO_2.7,
GP Output
I2C0_CLKIN, I2C
I2C0_CLKOUT,I2C ETM_PCK0, ETM
7
8
10 E2
11 E3
P2.0
P2.1
P2.2
P2.3
P2.4
P2.5
P2.6
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
clock in
clock out
Packet
I2C0_DIN,
I2C0_DOUT,
I2C data out
ETM_PCK1, ETM
Packet
GP Input, HiZ
GPIO_2.2,
I2C data in
I2C1_CLKIN, I2C
I2C1_CLKOUT,I2C ETM_PCK2, ETM
21 33 M1
22 35 K3
23 37 L4
29 45 J5
32 53 G6
33 54 L7
clock in
clock out
Packet
GP Input, HiZ
GPIO_2.3,
I2C1_DIN,
I2C data in
I2C1_DOUT,
I2C data out
ETM_PCK3, ETM
Packet
GP Input, HiZ
GPIO_2.4,
Ring Indicator
SSP0_SCLK,
SSP slv clk in
SSP0_MOSI,
SSP slv dat in
SSP0_MISO,
SSP mstr data in
SSP0_NSS,
SSP0_SCLK,
SSP mstr clk out
SSP0_MOSI,
ETM_PSTAT0,
ETM pipe status
ETM_PSTAT1,
EXTCLK_T0T1Ex
t clk timer0/1
GP Input, HiZ
GPIO_2.5,
EXTCLK_T2T3Ex
t clk timer2/3
GP Input, HiZ
GPIO_2.6,
SSP mstr dat out ETM pipe status
SSP0_MISO,
SSP slv data out
SSP0_NSS,
ETM_PSTAT2,
ETM pipe status
ETM_TRSYNC,
ETM trace sync
-
GP Input, HiZ
GPIO_2.7,
USBCLK
_P2.7
USB_CLK48M,
48MHz to USB
GP Input, HiZ
SSP slv sel in
SSP mstr sel out
GPIO_3.0,
GP Input, HiZ
GPIO_3.1,
DMA_RQST0,
Ext DMA requst
DMA_RQST1,
Ext DMA requst
EXINT2,
UART0_RxD,
UART rcv data
UART2_RxD,
UART rcv data
UART1_RxD,
UART rcv data
GPIO_3.0,
GP Output
GPIO_3.1,
GP Output
GPIO_3.2,
GP Output
UART2_TX,
UART xmit data
UART0_TX,
TIM0_OCMP1,
Out comp/PWM
34 55 K7
37 59 M10
38 60 M11
39 61 J8
40 63 L9
41 65 L10
P3.0
P3.1
P3.2
P3.3
P3.4
P3.5
I/O
I/O
I/O
I/O
I/O
I/O
TIM1_OCMP1,
Out comp/PWM
GP Input, HiZ
GPIO_3.2,
UART xmit data
CAN_TX,
UART0_DTR,
GP Input, HiZ
External Intr
CAN Tx data
Data Trmnl Rdy
GPIO_3.3,
EXINT3,
CAN_RX,
GPIO_3.3,
GP Output
UART1_TX,
UART0_RTS,
GP Input, HiZ
External Intr
CAN rcv data
UART xmit data
Ready To Send
GPIO_3.4,
EXINT4,
SSP1_SCLK,
SSP slv clk in
GPIO_3.4,
GP Output
SSP1_SCLK,
UART0_TX,
GP Input, HiZ
External Intr
SSP mstr clk out
UART xmit data
GPIO_3.5,
EXINT5,
SSP1_MISO,
GPIO_3.5,
GP Output
SSP1_MISO,
UART2_TX,
GP Input, HiZ
External Intr
SSP mstr data in
SSP slv data out
UART xmit data
39/78
Pin description
STR91xFA
Pkg
Alternate functions
Default Pin Default Input
Pin Name
Alternate
Input 1
Alternate
Output 1
Alternate
Output 2
Alternate
Output 3
Function
Function
GPIO_3.6,
GP Input, HiZ
GPIO_3.7,
EXINT6,
External Intr
EXINT7,
SSP1_MOSI,
SSP slv dat in
SSP1_NSS,
GPIO_3.6,
GP Output
GPIO_3.7,
GP Output
SSP1_MOSI,
SSP mstr dat out
SSP1_NSS,
CAN_TX,
42 66 M12
43 68 K11
P3.6
P3.7
I/O
I/O
CAN Tx data
TIM1_OCMP1,
Out comp/PWM
GP Input, HiZ
External Intr
SSP slv select in
SSP mstr sel out
GPIO_4.0,
ADC0,
TIM0_ICAP1,
Input Capture
GPIO_4.0,
GP Output
TIM0_OCMP1, Out ETM_PCK0, ETM
comp/PWM Packet
4
3
2
1
3
2
1
C2
B2
A1
P4.0
P4.1
P4.2
P4.3
P4.4
P4.5
P4.6
I/O
I/O
I/O
I/O
I/O
I/O
I/O
GP Input, HiZ
ADC input chnl
GPIO_4.1,
ADC1,
TIM0_ICAP2,
Input Capture
GPIO_4.1,
GP Output
TIM0_OCMP2, Out ETM_PCK1, ETM
comp Packet
GP Input, HiZ
ADC input chnl
GPIO_4.2,
ADC2,
TIM1_ICAP1,
Input Capture
GPIO_4.2,
GP Output
TIM1_OCMP1, Out ETM_PCK2, ETM
comp/PWM Packet
GP Input, HiZ
ADC input chnl
GPIO_4.3,
ADC3,
TIM1_ICAP2,
Input Capture
GPIO_4.3,
GP Output
TIM1_OCMP2, Out ETM_PCK3, ETM
128 B3
comp
Packet
GP Input, HiZ
ADC input chnl
GPIO_4.4,
ADC4,
TIM2_ICAP1,
Input Capture
GPIO_4.4,
GP Output
ETM_PSTAT0,
TIM2_OCMP1, Out
80 127 C4
79 126 B4
78 125 A4
comp/PWM
GP Input, HiZ
ADC input chnl
ETM pipe status
GPIO_4.5,
ADC5,
TIM2_ICAP2,
Input Capture
GPIO_4.5,
GP Output
ETM_PSTAT1,
TIM2_OCMP2, Out
comp
GP Input, HiZ
ADC input chnl
ETM pipe status
GPIO_4.6,
ADC6,
TIM3_ICAP1,
Input Capture
GPIO_4.6,
GP Output
ETM_PSTAT2,
TIM3_OCMP1, Out
comp/PWM
GP Input, HiZ
ADC input chnl
ETM pipe status
ADC7,
GPIO_4.7,
TIM3_ICAP2,
Input Capture
GPIO_4.7,
GP Output
ETM_TRSYNC,
ETM trace sync
TIM3_OCMP2, Out
77 124 D5
P4.7
I/O
ADC input chnl /
ADC Ext. trigger
comp
GP Input, HiZ
GPIO_5.0,
GP Input, HiZ
GPIO_5.1,
EXINT8,
External Intr
EXINT9,
CAN_RX,
CAN rcv data
UART0_RxD,
UART rcv data
UART2_RxD,
UART rcv data
ETM_EXTRIG,
ETM ext. trigger
SSP0_SCLK,
SSP slv clk in
SSP0_MOSI,
SSP slv dat in
SSP0_MISO,
SSP mstr dat in
SSP0_NSS,
GPIO_5.0,
GP Output
GPIO_5.1,
GP Output
GPIO_5.2,
GP Output
GPIO_5.3,
GP Output
GPIO_5.4,
GP Output
GPIO_5.5,
GP Output
GPIO_5.6,
GP Output
GPIO_5.7,
GP Output
ETM_TRCLK,
ETM trace clock
CAN_TX,
UART0_TX,
UART xmit data
UART2_TX,
9
12 E4
P5.0
P5.1
I/0
I/0
12 18 F6
17 25 K1
18 27 H2
44 70 J12
47 77 H11
48 79 H9
49 80 G12
GP Input, HiZ
GPIO_5.2,
External Intr
EXINT10,
CAN Tx data
UART xmit data
PHYCLK
_P5.2
MII_PHYCLK,
25Mhz to PHY
TIM3_OCMP1,
Out comp/PWM
I/O
I/O
I/O
I/O
I/O
I/O
GP Input, HiZ
GPIO_5.3,
External Intr
EXINT11,
MII_TX_EN,
MAC xmit enbl
SSP0_SCLK,
SSP mstr clk out
SSP0_MOSI,
TIM2_OCMP1,
Out comp/PWM
P5.3
P5.4
P5.5
P5.6
P5.7
GP Input, HiZ
GPIO_5.4,
External Intr
EXINT12,
EMI_CS0n,
EMI Chip Select
EMI_CS1n,
GP Input, HiZ
GPIO_5.5,
External Intr
EXINT13,
GP Input, HiZ
GPIO_5.6,
External Intr
EXINT14,
SSP mstr dat out EMI Chip Select
SSP0_MISO,
SSP slv data out
SSP0_NSS,
EMI_CS2n,
EMI Chip Select
EMI_CS3n,
GP Input, HiZ
GPIO_5.7,
External Intr
EXINT15,
GP Input, HiZ
External Intr
SSP slv select in
SSP mstr sel out
EMI Chip Select
GPIO_6.0,
EXINT16,
TIM0_ICAP1,
Input Capture
GPIO_6.0,
GP Output
MC_UH,
TIM0_OCMP1, Out
19 29 H4
20 31 J3
13 19 G2
14 20 G3
52 83 G8
53 84 G7
P6.0
P6.1
P6.2
P6.3
P6.4
P6.5
I/O
I/O
I/O
I/O
I/O
I/O
comp/PWM
GP Input, HiZ
External Intr
IMC phase U hi
GPIO_6.1,
EXINT17,
TIM0_ICAP2,
Input Capture
GPIO_6.1,
GP Output
MC_UL,
TIM0_OCMP2, Out
comp
GP Input, HiZ
External Intr
IMC phase U lo
GPIO_6.2,
EXINT18,
TIM1_ICAP1,
Input Capture
GPIO_6.2,
GP Output
MC_VH,
TIM1_OCMP1, Out
comp/PWM
GP Input, HiZ
External Intr
IMC phase V hi
GPIO_6.3,
GP Input, HiZ
GPIO_6.4,
EXINT19,
External Intr
EXINT20,
TIM1_ICAP2,
Input Capture
TIM2_ICAP1,
Input Capture
TIM2_ICAP2,
Input Capture
GPIO_6.3,
GP Output
GPIO_6.4,
GP Output
GPIO_6.5,
GP Output
MC_VL,
IMC phase V lo
MC_WH,
TIM1_OCMP2, Out
comp
TIM2_OCMP1, Out
comp/PWM
GP Input, HiZ
GPIO_6.5,
External Intr
EXINT21,
IMC phase W hi
MC_WL,
TIM2_OCMP2, Out
comp
GP Input, HiZ
External Intr
IMC phase W lo
40/78
STR91xFA
Pin description
Pkg
Alternate functions
Default Pin Default Input
Pin Name
Alternate
Input 1
Alternate
Output 1
Alternate
Output 2
Alternate
Output 3
Function
Function
GPIO_6.6,
GP Input, HiZ
GPIO_6.7,
EXINT22_TRIG,
Ext Intr & Tach
UART0_RxD,
UART rcv data
GPIO_6.6,
GP Output
GPIO_6.7,
GP Output
ETM_TRCLK,
ETM trace clock
UART0_TX,
TIM3_OCMP1, Out
57 92 E9
58 93 D12
P6.6
P6.7
I/O
I/O
comp/PWM
EXINT23_STOP, ETM_EXTRIG,
Ext Intr & Estop ETM ext. trigger
TIM3_OCMP2, Out
comp
GP Input, HiZ
UART xmit data
GPIO_7.0,
EXINT24,
TIM0_ICAP1,
Input Capture
GPIO_7.0,
GP Output
8b) EMI_A0,
ETM_PCK0, ETM
-
-
-
-
-
-
-
-
5
6
7
D1
D2
B1
P7.0
P7.1
P7.2
P7.3
P7.4
P7.5
P7.6
P7.7
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
Packet
GP Input, HiZ
External Intr
16b) EMI_A16
GPIO_7.1,
EXINT25,
TIM0_ICAP2,
Input Capture
GPIO_7.1,
GP Output
8b) EMI_A1,
ETM_PCK1, ETM
Packet
GP Input, HiZ
External Intr
16b) EMI_A17
GPIO_7.2,
EXINT26,
TIM2_ICAP1,
Input Capture
GPIO_7.2,
GP Output
8b) EMI_A2,
ETM_PCK2, ETM
Packet
GP Input, HiZ
External Intr
16b) EMI_A18
GPIO_7.3,
EXINT27,
TIM2_ICAP2,
Input Capture
GPIO_7.3,
GP Output
8b) EMI_A3,
ETM_PCK3, ETM
13 F1
14 G1
15 E5
118 E6
119 A5
Packet
GP Input, HiZ
External Intr
16b) EMI_A19
GPIO_7.4,
EXINT28,
UART0_RxD,
UART rcv data
GPIO_7.4,
GP Output
8b) EMI_A4,
EMI_CS3n,
GP Input, HiZ
External Intr
16b) EMI_A20
EMI Chip Select
GPIO_7.5,
EXINT29,
ETM_EXTRIG,
ETM ext. trigger
GPIO_7.5,
GP Output
8b) EMI_A5,
EMI_CS2n,
GP Input, HiZ
External Intr
16b) EMI_A21
EMI Chip Select
GPIO_7.6,
EXINT30,
TIM3_ICAP1,
Input Capture
GPIO_7.6,
GP Output
8b) EMI_A6,
EMI_CS1n,
GP Input, HiZ
External Intr
16b) EMI_A22
EMI Chip Select
GPIO_7.7,
EXINT31,
TIM3_ICAP2,
Input Capture
GPIO_7.7,
GP Output
EMI_CS0n,
16b) EMI_A23,
8b) EMI_A7
GP Input, HiZ
External Intr
EMI chip select
GPIO_8.0,
GP Input, HiZ
GPIO_8.1,
GPIO_8.0,
GP Output
GPIO_8.1,
GP Output
GPIO_8.2,
GP Output
GPIO_8.3,
GP Output
GPIO_8.4,
GP Output
GPIO_8.5,
GP Output
GPIO_8.6,
GP Output
GPIO_8.7,
GP Output
8b) EMI_D0,
16b) EMI_AD0
8b) EMI_D1,
16b) EMI_AD1
8b) EMI_D2,
16b) EMI_AD2
8b) EMI_D3,
16b) EMI_AD3
8b) EMI_D4,
16b) EMI_AD4
8b) EMI_D5,
16b) EMI_AD5
8b) EMI_D6,
16b) EMI_AD6
8b) EMI_D7,
16b) EMI_AD7
-
-
-
-
-
-
-
-
26 L1
28 H3
30 J2
32 K2
34 L3
36 J4
38 M2
44 K5
P8.0
P8.1
P8.2
P8.3
P8.4
P8.5
P8.6
P8.7
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
GP Input, HiZ
GPIO_8.2,
GP Input, HiZ
GPIO_8.3,
GP Input, HiZ
GPIO_8.4,
GP Input, HiZ
GPIO_8.5,
GP Input, HiZ
GPIO_8.6,
GP Input, HiZ
GPIO_8.7,
GP Input, HiZ
GPIO_9.0,
GP Input, HiZ
GPIO_9.1,
GPIO_9.0,
GP Output
GPIO_9.1,
GP Output
GPIO_9.2,
GP Output
GPIO_9.3,
GP Output
8b) EMI_A8
16b) EMI_AD8
8b) EMI_A9,
-
-
-
-
-
-
-
46 M6
47 M7
50 K6
51 J6
52 H6
58 L8
62 M9
P9.0
P9.1
P9.2
P9.3
P9.4
P9.5
P9.6
I/O
I/O
I/O
I/O
I/O
I/O
I/O
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
GP Input, HiZ
GPIO_9.2,
16b) EMI_AD9
8b) EMI_A10,
16b)EMI_AD10
8b) EMI_A11,
16b)EMI_AD11
GP Input, HiZ
GPIO_9.3,
GP Input, HiZ
GPIO_9.4,
GPIO_9.4,
GP Output
8b) EMI_A12,
GP Input, HiZ
16b)EMI_AD12
GPIO_9.5,
GPIO_9.5,
GP Output
8b) EMI_A13,
GP Input, HiZ
16b)EMI_AD13
GPIO_9.6,
GPIO_9.6,
GP Output
8b) EMI_A14,
GP Input, HiZ
16b)EMI_AD14
41/78
Pin description
STR91xFA
Pkg
Alternate functions
Default Pin Default Input
Pin Name
Alternate
Input 1
Alternate
Output 1
Alternate
Output 2
Alternate
Output 3
Function
Function
GPIO_9.7,
GPIO_9.7,
GP Output
8b) EMI_A15,
-
-
64 K9
P9.7
I/O
-
-
-
GP Input, HiZ
16b)EMI_AD15
EMI byte write
strobe (8 bit
mode) or low
byte write strobe
(16 bit mode)
EMI_BWR
_WRLn
21 G4
O
N/A
N/A
Can also be
configured as
EMI_LBn in
BGA package
EMI high byte
write strobe (16-
bit mode)
-
22 H1 EMI_WRHn
74 J10 EMI_ALE
O
Can also be
configured as
EMI_UBn in
BGA package
EMI address
latch enable
(mux mode)
-
-
-
O
O
O
N/A
N/A
N/A
75 J9
EMI_RDn
EMI read strobe
EMI Burst
address
advance
-
-
H8 EMI_BAAn
K8 EMI_WAITn
EMI Wait input
for burst mode
device
-
I
N/A
-
-
-
-
M8 EMI_BCLK
A12 EMI_WEn
TAMPER
O
O
EMI bus clock
N/A
N/A
EMI write enable
Tamper
detection input
-
91 E10
I
N/A
_IN
MAC/PHY
-
94 D11 MII_MDIO I/O management
N/A
data line
USB data (-) bus
59 95 D10
60 96 C11
56 89 C12
USBDN
USBDP
I/O
I/O
I
N/A
N/A
N/A
connect
USB data (+)
bus connect
RESET
_INn
External reset
input
Global or
System reset
output
RESET
_OUTn
62 100 A9
O
N/A
CPU oscillator or
crystal input
65 104 A10 X1_CPU
64 103 A11 X2_CPU
I
N/A
N/A
CPU crystal
connection
O
RTC oscillator or
crystal input
(32.768 kHz)
27 42 M5
26 41 M4
61 97 B11
X1_RTC
X2_RTC
JRTCK
I
N/A
N/A
N/A
RTC crystal
connection
O
O
JTAG return
clock or RTC
clock
JTAG TAP
67 107 D8
68 108 E8
JTRSTn
JTCK
I
I
N/A
N/A
controller reset
JTAG clock
42/78
STR91xFA
Pin description
Pkg
Alternate functions
Default Pin Default Input
Pin Name
Alternate
Input 1
Alternate
Output 1
Alternate
Output 2
Alternate
Output 3
Function
Function
JTAG mode
select
69 111 A6
JTMS
I
N/A
72 115 C6
73 117 B6
JTDI
I
JTAG data in
N/A
N/A
JTDO
O
JTAG data out
ADC analog
voltage source,
2.7V - 3.6V
-
-
122 A3
AVDD
AVSS
V
G
G
V
N/A
N/A
N/A
N/A
ADC analog
ground
4
-
C3
-
Commonground
point for digital I/
O & analog ADC
AVSS
_VSSQ
5
-
ADC reference
voltage input
123 A2
AVREF
Combined ADC
ref voltage and
ADC analog
AVREF
_AVDD
76
-
-
V
N/A
N/A
voltage source,
2.7V - 3.6V
Standby voltage
input for RTC
and SRAM
backup
24 39 M3
VBATT
V
6
9
E1
15 23 J1
36 57
VDDQ
VDDQ
VDDQ
VDDQ
VDDQ
VDDQ
VDDQ
VDDQ
VDDQ
VSSQ
VSSQ
VSSQ
VSSQ
VSSQ
VSSQ
VSSQ
VSSQ
VSSQ
VDD
V
V
V
V
V
V
V
V
V
G
G
G
G
G
G
G
G
G
V
V
V
V
G
G
G
G
-
46 73 K12
54 86 B5
28 43 L5
63 102 H7
74 120 D9
V Source for
I/O and USB.
2.7V to 3.6V
N/A
-
-
-
F9
L2
8
16 24 K4
35 56 C5
-
-
D4
Digital Ground
for
!/O and USB
45 72 G5
55 87 J7
25 40 A8
66 105 F8
75 121 L12
11 17 F4
31 49 D7
50 81 L6
70 112 G11
10 16 F3
30 48 H5
51 82 G10
71 113 E7
N/A
N/A
V Source for
CPU.
VDD
VDD
1.65V - 2.0V
VDD
VSS
VSS
Digital Ground
for CPU
N/A
N/A
VSS
VSS
V Source for
PLL
2.7 to 3.6 V
-
-
-
-
C9 PLLVDDQ
B8 PLLVSSQ
V
Digital Ground
for PLL
G
43/78
Memory mapping
STR91xFA
5
Memory mapping
32
The ARM966E-S CPU addresses a single linear address space of 4 giga-bytes (2 ) from
address 0x0000.0000 to 0xFFFF.FFFF as shown in Figure 9. Upon reset the CPU boots from
address 0x0000.0000, which is chip-select zero at address zero in the Flash Memory Interface
(FMI).
The Instruction TCM and Data TCM enable high-speed CPU operation without incurring any
performance or power penalties associated with accessing the system buses (AHB and APB).
I-TCM and D-TCM address ranges are shown at the bottom of the memory map in Figure 9.
5.1
Buffered and non-buffered writes
The CPU makes use of write buffers on the AHB and the D-TCM to decouple the CPU from any
wait states associated with a write operation. The user may choose to use write with buffers on
the AHB by setting bit 3 in control register CP15 and selecting the appropriate AHB address
range when writing. By default at reset, buffered writes are disabled (bit 3 of CP15 is clear) and
all AHB writes are non-buffered until enabled. Figure 9 shows that most addressable items on
the AHB are aliased at two address ranges, one for buffered writes and another for non-
buffered writes. A buffered write will allow the CPU to continue program execution while the
write-back is performed through a FIFO to the final destination on the AHB. If the FIFO is full,
the CPU is stalled until FIFO space is available. A non-buffered write will impose an immediate
delay to the CPU, but results in a direct write to the final AHB destination, ensuring data
coherency. Read operations from AHB locations are always direct and never buffered.
5.2
System (AHB) and peripheral (APB) buses
The CPU will access SRAM, higher-speed peripherals (USB, Ethernet, Programmable DMA),
and the external bus (EMI) on the AHB at their respective base addresses indicated in Figure 9.
Lower-speed peripherals reside on the APB and are accessed using two separate AHB-to-APB
bridge units (APB0 and APB1). These bridge units are essentially address windows connecting
the AHB to the APB. To access an individual APB peripheral, the CPU will place an address on
the AHB bus equal to the base address of the appropriate bridge unit APB0 or APB1, plus the
offset of the particular peripheral, plus the offset of the individual data location within the
peripheral. Figure 9 shows the base addresses of bridge units APB0 and APB1, and also the
base address of each APB peripheral. Please consult the STR91xFA Reference manual for the
address of data locations within each individual peripheral.
5.3
SRAM
The SRAM is aliased at three separate address ranges as shown in Figure 9. When the CPU
accesses SRAM starting at 0x0400.0000, the SRAM appears on the D-TCM. When CPU
access starts at 0x4000.0000, SRAM appears in the buffered AHB range. Beginning at CPU
address 0x5000.0000, SRAM is in non-buffered AHB range. The SRAM size must be specified
by CPU intitialization firmware writing to a control register after any reset condition. Default
SRAM size is 32K bytes, with option to set to 64K bytes on STR91xFAx3x devices, and to 96K
bytes on STR91xFAx4x devices.
44/78
STR91xFA
Memory mapping
When other AHB bus masters (such as a DMA controller) write to SRAM, their access is never
buffered. Only the CPU can make use of buffered AHB writes.
5.4
Two independent Flash memories
The STR91xFA has two independent Flash memories, the larger primary Flash and the small
secondary Flash. It is possible for the CPU to erase/write to one of these Flash memories while
simultaneously reading from the other.
One or the other of these two Flash memories may reside at the “boot” address position of
0x0000.0000 at power-up or at reset as shown in Figure 9. The default configuration is that the
first sector of primary Flash memory is enabled and residing at the boot position, and the
secondary Flash memory is disabled. This default condition may be optionally changed as
described below.
5.4.1 Default configuration
When the primary Flash resides at boot position, typical CPU initialization firmware would set
the start address and size of the main Flash memory, and go on to enable the secondary Flash,
define it’s start address and size. Most commonly, firmware would place the secondary Flash
start address at the location just after the end of the primary Flash memory. In this case, the
primary Flash is used for code storage, and the smaller secondary flash can be used for data
storage (EEPROM emulation).
5.4.2 Optional configuration
Using the STR91xFA device configuration software tool, or IDE from 3rd party, one can specify
that the smaller secondary Flash memory is at the boot location at reset and the primary Flash
is disabled. The selection of which Flash memory is at the boot location is programmed in a
non-volatile Flash-based configuration bit during JTAG ISP. The boot selection choice will
remain as the default until the bit is erased and re-written by the JTAG interface. The CPU
cannot change this choice for boot Flash, only the JTAG interface has access.
In this case where the secondary Flash defaults to the boot location upon reset, CPU firmware
would typically initialize the Flash memories the following way. The secondary Flash start
address and size is specified, then the primary Flash is enabled and its start address and size
is specified. The primary Flash start address would typically be located just after the final
address location of the secondary Flash. This configuration is particularly well-suited for In-
Application-Programming (IAP). The CPU would boot from the secondary Flash memory,
initialize the system, then check the contents of the primary Flash memory (by checksum or
other means). If the contents of primary Flash is OK, then CPU execution continues from either
Flash memory. If the main Flash contents are incorrect, the CPU, while executing code from the
secondary Flash, can download new data from any STR91xFA communication channel and
program into primary Flash memory. Application code then starts after the new contents of
primary Flash are verified.
45/78
Memory mapping
STR91xFA
Notes for Figure 9: STR91xFA memory map on page 47:
Notes:1 Either of the two Flash memories may be placed at CPU boot address 0x0000.0000. By default,
the primary Flash memory is in boot position starting at CPU address 0x0000.0000 and the
secondary Flash memory may be placed at a higher address following the end of the primary
Flash memory. This default option may be changed using the STR91xx device configuration
software, placing the secondary Flash memory at CPU boot location 0x0000.0000, and then
the primary Flash memory may be placed at a higher address.
2 The local SRAM (64KB or 96KB) is aliased in three address windows. A) At 0x0400.0000 the
SRAM is accessible through the CPU’s D-TCM, at 0x4000.0000 the SRAM is accessible
through the CPU’s AHB in buffered accesses, and at 0x5000.0000 the SRAM is accessible
through the CPU’s AHB in non-buffered accesses. An AHB bus master other than the CPU can
access SRAM in all three aliased windows, but these accesses are always non-buffered. The
CPU is the only AHB master that can performed buffered writes.
3 APB peripherals reside in two AHB-to-APB peripheral bridge address windows, APB0 and
APB1. These peripherals are accessible with buffered AHB access if the CPU addresses them
in the address range of 0x4800.0000 to 0x4FFF.FFFF, and non-buffered access in the address
range of 0x5800.0000 to 0x5FFF.FFFF.
4 Individual peripherals on the APB are accessed at the listed address offset plus the base
address of the appropriate AHB-to-APB bridge.
46/78
STR91xFA
Memory mapping
Figure 9. STR91xFA memory map
PERIPHERAL BUS
MEMORY SPACE (4)
APB BASE +
OFFSET
TOTAL 4 GB CPU
MEMORY SPACE
APB1+0x03FF.FFFF
RESERVED
I2C1
APB1+0x0000.E000
APB1+0x0000.D000
APB1+0x0000.C000
APB1+0x0000.B000
APB1+0x0000.A000
APB1+0x0000.9000
APB1+0x0000.8000
APB1+0x0000.7000
APB1+0x0000.6000
APB1+0x0000.5000
APB1+0x0000.4000
APB1+0x0000.3000
APB1+0x0000.2000
APB1+0x0000.1000
APB1+0x0000.0000
0xFFFF.FFFF
4 KB
4 KB
4 KB
4 KB
4 KB
VIC0
RESERVED
VIC1
4 KB
AHB
NON-
BUFFERED
0xFFFF.F000
0xFC01.0000
0xFC00.0000
I2C0
WATCHDOG
ADC
64 KB
CAN
4 KB
SSP1
APB1,
RESERVED
AHB-
4 KB
SSP0
to-APB
Bridge
4 KB
UART2
UART1
UART0
IMC
0x8000.0000
0x7C00.0000
0x7800.0000
0x7400.0000
0x7000.0000
0x6C00.0000
0x6800.0000
0x6400.0000
0x6000.0000
0x5C00.0000
0x5800.0000
0x5400.0000
0x5000.0000
0x4C00.0000
0x4800.0000
0x4400.0000
0x4000.0000
0x3C00.0000
0x3800.0000
0x3400.0000
0x3000.0000
0x2C00.0000
0x2800.0000
0x2400.0000
0x2000.0000
4 KB
4 KB
4 KB
4 KB
4 KB
4 KB
ENET
8-CH DMA
EMI
64 MB
64 MB
64 MB
64 MB
64 MB
64 MB
64 MB
64 MB
64 MB
64 MB
64 MB
64 MB
64 MB
64 MB
64 MB
64 MB
64 MB
64 MB
64 MB
64 MB
64 MB
64 MB
64 MB
64 MB
AHB
NON-
BUFFERED
SCU
USB
RTC
ENET
APB1 CONFIG
8-CH DMA
EMI
AHB
BUFFERED
APB0+0x03FF.FFFF
APB0+0x0001.0000
APB0+0x0000.F000
APB0+0x0000.E000
APB0+0x0000.D000
APB0+0x0000.C000
APB0+0x0000.B000
APB0+0x0000.A000
APB0+0x0000.9000
APB0+0x0000.8000
APB0+0x0000.7000
APB0+0x0000.6000
APB0+0x0000.5000
APB0+0x0000.4000
APB0+0x0000.3000
APB0+0x0000.2000
APB0+0x0000.1000
APB0+0x0000.0000
USB
RESERVED
GPIO PORT P9
GPIO PORT P8
GPIO PORT P7
GPIO PORT P6
GPIO PORT P5
GPIO PORT P4
GPIO PORT P3
GPIO PORT P2
GPIO PORT P1
GPIO PORT P0
TIM3
PERIPHERAL BUS,
NON- BUFFERED
ACCESS (3)
4 KB
4 KB
4 KB
4 KB
4 KB
4 KB
APB1
AHB
NON-
BUFFERED
APB0
FMI
SRAM, AHB (2)
APB1
PERIPHERAL BUS,
BUFFERED ACCESS (3)
APB0
AHB
BUFFERED
4 KB
FMI
APB0,
AHB-
4 KB
SRAM, AHB (2)
Ext. MEM, CS0
Ext. MEM, CS1
Ext. MEM, CS2
Ext. MEM, CS3
Ext. MEM, CS0
Ext. MEM, CS1
Ext. MEM, CS2
Ext. MEM, CS3
to-APB
Bridge
4 KB
4 KB
4 KB
4 KB
4 KB
4 KB
4 KB
4 KB
AHB
NON-
BUFFERED
TIM2
TIM1
TIM0
AHB
BUFFERED
WAKE-UP UNIT
APB0 CONFIG
Order of the two Flash memories is user defined.
(1)
SECONDARY
FLASH (BANK 1),
32KB
RESERVED
MAIN FLASH
(BANK 0),
256KB or 512KB
MAIN FLASH
(BANK 0),
256KB or 512KB
0x0800.0000
0x0400.0000
0x0000.0000
SECONDARY
FLASH (BANK 1),
32KB
SRAM, D-TCM (2)
FLASH, I-TCM (1)
Using 64 KB or 96
KB
Using 288 KB or 544
0x0000.0000
KB
DEFAULT ORDER
OPTIONAL ORDER
47/78
Electrical characteristics
STR91xFA
6
Electrical characteristics
6.1
Absolute maximum ratings
This product contains devices to protect the inputs against damage due to high static voltages.
However, it is advisable to take normal precautions to avoid application of any voltage higher
than the specified maximum rated voltages. It is also recommended to ground any unused input
pin to reduce power consumption and minimize noise.
Table 6.
Absolute maximum ratings
Parameter
Value
Symbol
Unit
Min
-0.3
-0.3
-0.3
Max
2.4
VDD
Voltage on VDD pin with respect to ground VSS
Voltage on VDDQ pin with respect to ground VSS
Voltage on VBATT pin with respect to ground VSS
V
V
V
VDDQ
VBATT
AVDD
4.0
4.0
Voltage on AVDD pin with respect to ground VSS
(128-pin and 144-ball packages)
-0.3
-0.3
-0.3
-0.3
4.0
4.0
4.0
5.5
V
V
V
V
AVREF
Voltage on AVREF pin with respect to ground VSS
(128-pin and 144-ball packages)
AVREF_AVDD
Voltage on AVREF_AVDD pin with respect to
Ground VSS (80-pin package)
Voltage on 5V tolerant pins with respect to ground
VSS
VIN
Voltage on any other pin with respect to ground
VSS
-0.3
-10
4.0
+10
V
IOV
Input current on any pin during overload condition
mA
mA
ITDV
Absolute sum of all input currents during overload
condition
|200|
TST
TJ
Storage Temperature
-55
+150
+125
°C
°C
V
Junction Temperature
ESD
ESD Susceptibility (Human Body Model)
2000
Note:
Stresses exceeding above listed recommended "Absolute Maximum Ratings" may cause
permanent damage to the device. This is a stress rating only and functional operation of the
device at these or any other conditions above those indicated in the operational sections of this
specification is not implied. Exposure to absolute maximum rating conditions for extended
periods may affect device reliability. During overload conditions (VIN>VDDQ or VIN<VSSQ) the
voltage on pins with respect to ground (VSSQ) must not exceed the recommended values.
48/78
STR91xFA
Electrical characteristics
6.2
Operating conditions
Table 7.
Operating conditions
Parameter
Value
Test
Conditions
Symbol
Unit
Min
1.65
2.7
Max
2.0
VDD
Digital CPU supply voltage
Digital I/O supply voltage
V
V
VDDQ
3.6
SRAM backup and RTC supply
voltage
(1)
2.5
2.7
3.6
V
V
V
VBATT
AVDD
Analog ADC supply voltage
(128-pin and 144-ball packages)
VDDQ
AVDD
Analog ADC reference voltage
(128-pin and 144-ball packages)
AVREF
2.65
Combined analog ADC
reference and ADC supply
voltage (80-pin package)
AVREF_AVDD
TA
Notes:1 The V
VDDQ
+85
2.7
-40
V
C
Ambient temperature under bias
pin should be connected to V
if no battery is installed
BATT
DDQ
2 AV
must never exceed V
DDQ
REF
6.2.1 Operating conditions at power-up / power-down
Subject to general operating conditions for T .
A
Table 8.
Symbol
Operating conditions at power-up / power-down
Parameter
Conditions
Min(1)
Typ
Max(1)
Unit
10
µs/V
tVDD
VDD rise time rate
10
ms/V
1. Data guaranteed by characterization, not tested in production.
49/78
Electrical characteristics
STR91xFA
6.3
LVD electrical characteristics
V
= 2.7 - 3.6V, V = 1.65 - 2V, T = -40 / 85 °C unless otherwise specified.
DD A
DDQ
Table 9.
LVD Electrical Characteristics
Value
Test
Conditions
Symbol
Parameter
Unit
Min
1.43
1.33
Typ
1.50
1.40
1.65
2.45
2.35
2.65
2.75
2.65
2.95
Max
1.58
1.47
V
V
V
V
DD_LVD+ (1.8V)
DD_LVD- (1.8V)
DD_BRN (1.8V)
LVD threshold during VDD rise
LVD threshold during VDD fall
V
V
V
VDD brown out warning threshold
DDQ_LVD+ (3.0V) LVD threshold during VDDQ rise
(1)(2)
(1)(2)
(1)(2)
(2)(3)
(2)(3)
(2)(3)
2.32
2.23
2.57
2.46
V
VDDQ_LVD- (3.0V) LVD threshold during VDDQ fall
DDQ_BRN (3.0V) VDDQ brown out warning threshold
VDDQ_LVD+ (3.3V) LVD threshold during VDDQ rise
DDQ_LVD- (3.3V) LVD threshold during VDDQ fall
V
V
V
2.61
2.52
2.89
2.78
V
VDDQ_BRN (3.3V) VDDQ brown out warning threshold
V
1. For VDDQ I/O voltage operating at 2.7 - 3.3V.
2. Selection of VDDQ operation range is made using configuration software from ST, or IDE from 3rd parties. The default
condition is VDDQ=2.7V - 3.3V.
3. For VDDQ I/O voltage operating at 3.0 - 3.6V.
6.3.1 LVD delay timing
Case 1: When V
reaches the V
threshold after the first ~10 ms delay (introduced
DDQ
DDQ_LVD+
by the VDD rising edge), a new ~10 ms delay starts before the release of RESET_OUTn. See
Figure 10.
Figure 10. LVD reset delay case 1
VDDQ_LVD+
VDD_LVD+
VDD (green)
VDDQ (red)
RESET_OUTn (blue)
~10 ms delay
~10 ms delay
Case 2: When V
reaches the V
threshold before the first ~10 ms delay
DDQ
DDQ_LVD+
(introduced by the VDD rising edge), RESET_OUTn will be released immediately at the end of
the delay. No new delay is introduced in this case. See Figure 11.
50/78
STR91xFA
Electrical characteristics
Figure 11. LVD reset delay case 2
VDDQ_LVD+
VDD_LVD+
VDD (green)
VDDQ (red)
RESET_OUTn (blue)
~10 ms delay
6.4
DC electrical characteristics
V
= 2.7 - 3.6V, V = 1.65 - 2V, T = -40 / 85 °C unless otherwise specified.
DD A
DDQ
Table 10. DC Electrical Characteristics
Value
Typ
Symbol
Parameter
Test Conditions
Unit
Max
Min
2.0
General inputs(1)
(2)
RESET and TCK inputs(1)
VIH
Input High Level
0.8VDDQ
VDDQ/2
TAMPER_IN input(3)
General inputs(1)
V
0.8
RESET and TCK inputs(1)
TAMPER_IN input(3)
VIL
Input Low Level
0.2VDDQ
VDDQ/2
Input Hysteresis
Schmitt Trigger
General inputs(4)
VHYS
0.4
V
I/O ports 3 and 6:
Output High Level
High current pins
VDDQ-0.7
Push-Pull, I
= 8mA
OH
I/O ports 0,1,2,4,5,7,8,9:
Push-Pull, I = 4mA
Output High Level
Standard current pins
VOH
V
VDDQ-0.7
OH
Output High Level
JTAG JTDO pin
I
OH= -100 µA
VDDQ-0.1
I/O ports 3 and 6:
Output Low Level
High current pins
0.4
Push-Pull, I = 8mA
OL
Output Low Level
I/O ports 0,1,2,4,5,7,8,9:
VOL
V
0.4
0.1
Push-Pull, I = 4mA
OL
Standard current pins
Output Low Level
JTAG JTDO pin
I
OL=100 µA
1. Guaranteed by characterization, not tested in production.
2. Input pins are 5V tolerant, max input voltage is 5.5V
3. Guaranteed by design, not tested in production.
4. TAMPER_IN pin has no built-in hysteresis
51/78
Electrical characteristics
STR91xFA
6.5
AC electrical characteristics
V
= 2.7 - 3.6V, V = 1.65 - 2V, T = -40 / 85 °C unless otherwise specified.
DD A
DDQ
Table 11. AC electrical characteristics
Value
Typ
Symbol
Parameter
Test Conditions
Unit
Min
Max
Allperipherals
on
1.7
1.3
2.3
1.6
CPU_CLK =
96 MHz
mA/
MHz
IDDRUN
Run Mode Current
Allperipherals
off
(1)(2)(5)
mA/
MHz
All peripherals on (2)(3)(5)
All peripherals off(2)(4)(5)
1.14
0.45
1.7
IIDLE
Idle Mode Current
mA/
MHz
0.75
LVD On (5)
LVD Off (5)
LVD On (4)
55
50
7
825
820
TBD
TBD
0.9
µA
µA
µA
µA
µA
µA
Sleep Mode Current,
IDD
ISLEEP(IDD)
Sleep Mode Current,
IDDQ
ISLEEP(IDDQ)
LVD Off (4)
7
IRTC_STBY
RTC Standby Current
Measured on VBATT pin
0.3
5
ISRAM_STBY
SRAM Standby Current Measured on VBATT pin
85
1. ARM core and peripherals active with all clocks on. Power can be conserved by turning off clocks to peripherals
which are not required.
2. mA/MHz data valid down to 10 MHz
3. ARM core stopped and all peripheral clocks active.
4. ARM core stopped and all peripheral clocks stopped.
5. ARM core and all peripheral clocks stopped (with exception of RTC)
52/78
STR91xFA
Electrical characteristics
Figure 12. Sleep Mode current vs temperature with LVD on
2000
1800
Max
1600
1400
1200
1000
800
Typical
600
400
200
0
40
TEMP [°C]
-40
-20
0
60
80
100
20
120
Table 12. AC electrical characteristics
Value
Typ
Symbol
Parameter
Test Conditions
Unit
Min
Max
fMSTR
CCU Master Clk Output
32.768
96,000
kHz
Executing from
SRAM
96
96
MHz
fCPUCLK
CPU Core Frequency
Executing from
Flash
MHz
fPCLK
fHCLK
fOSC
Peripheral Clock for APB
Peripheral Clock for AHB
Clock Input
48
96
25
MHz
MHz
MHz
4
FMI Flash Bus clock (internal
clock)
fFMICLK
96
MHz
fBCLK
fRTC
fEMAC
fUSB
External Memory Bus clock
RTC Clock
TBD
MHz
kHz
32.768
25
EMAC PHY Clock
USB Clock
MHz
MHz
48
53/78
Electrical characteristics
STR91xFA
6.6
RESET_INn and power-on-reset characteristics
V
= 2.7 - 3.6V, V = 1.65 - 2V, T = -40 / 85 °C unless otherwise specified.
DD A
DDQ
Table 13. RESET_INn and Power-On-Reset Characteristics
Value
Typ
Symbol
tRINMIN
tPOR
Parameter
Test Conditions
Unit
Min(1)
Max
RESET_INn Valid Active Low
100
ns
VDDQ,VDD ramp
Power-On-Reset Condition
duration
10
ms
time is less than
10ms
RESET_OUT Duration
(Watchdog reset)
one
PCLK
tRSO
ns
1. Data based on bench measurements, not tested in production.
6.7
Main oscillator electrical characteristics
V
= 2.7 - 3.6V, V = 1.65 - 2V, T = -40 / 85 °C unless otherwise specified.
DD A
DDQ
Table 14. Main oscillator electrical characteristics
Value
Typ
2
Symbol
Parameter
Test Conditions
Unit
Min
Max
(1)
tSTUP(OSC)
Oscillator Start-up Time
3
mS
Stable VDDQ
1. Data characterized with quartz crystal, not tested in production.
6.8
RTC oscillator electrical characteristics
V
= 2.7 - 3.6V, V = 1.65 - 2V, T = -40 / 85 °C unless otherwise specified.
DD A
DDQ
Table 15. RTC oscillator electrical characteristics
Value
Typ
Symbol
Parameter
Test Conditions
Unit
Min
Max
(2)1)
Oscillator Start _voltage(1)
Oscillator Start-up Time(1)
LVD
gM(RTC)
V
S
Stable V
DDQ
tSTUP(RTC)
1
1. Data based on bench measurements, not tested in production.
2. Min oscillator start voltage is the same as low voltage detect level (2.4V or 2.7V) for VDDQ
54/78
STR91xFA
Electrical characteristics
Table 16. RTC crystal electrical characteristics
Value
Symbol
Parameter
Test Conditions
Unit
Min
Typ
Max
fO
Resonant frequency
Series resistance
Load capacitance
32.768
kHz
kΩ
pF
RS
CL
40
8
6.9
PLL electrical characteristics
V
= 2.7 - 3.6V, V = 1.65 - 2V, T = -40 / 85 °C unless otherwise specified.
DD A
DDQ
Table 17. PLL Electrical Characteristics
Value
Typ
Symbol
Parameter
Test Conditions
Unit
Min
6.25
4
Max
96
fPLL
PLL Output Clock
Clock Input
MHz
MHz
µs
fOSC
25
tLOCK
PLL lock time
300
0.1
1500
PLL Jitter (peak to peak)(1)
0.2
ns
∆tJITTER
1. Data based on bench measurements, not tested in production
6.10 SRAM characteristics
Table 18. SRAM and hardware registers
Symbol
Parameter
Conditions
TA= 85°C
Min
Typ
Max
Unit
Supply voltage for data retention(1)
VDR
1.1
V
1. Guaranteed by characterization, not tested in production.
55/78
Electrical characteristics
STR91xFA
6.11 Flash memory characteristics
V
= 2.7 - 3.6V, V = 1.65 - 2V, T = -40 / 85 °C unless otherwise specified.
DD A
DDQ
Table 19. Flash memory program/erase characteristics
Value
Typ after
100K W/E
cycles2)
Parameter
Test Conditions
Unit
Max
Typ2)
Primary Bank
(512 Kbytes)1)
8
9
11.5
6
s
s
Primary Bank
(256 Kbytes)1)
Bank erase
4
4.5
750
Secondary Bank
(32 Kbytes)
700
1300
300
3700
1900
250
500
950
ms
Of Primary Bank
(64 Kbytes)
1400
320
1800 ms
450 ms
Sector erase
Bank program
Of Secondary Bank
(8 Kbytes)
Primary Bank
(512 Kbytes)1)
4700
2000
260
5100 ms
2550 ms
Primary Bank
(256 Kbytes)1)
Secondary Bank
(32 Kbytes)
320
640
ms
ms
Of Primary Bank
(64 Kbytes)
520
Sector program
Word program
Of Secondary Bank
(8 Kbytes)
60
8
62
9
80
11
ms
µs
Half word (16 bits)
Notes:1 STR91xFAxx4 devices have 512 Kbytes primary Flash, STR91xFAxx2 devices have 256
Kbytes primary Flash
2 V = 1.8V, V
= 3.3V T = 25°C.
, A
DD
DDQ
3 Flash read access for synchronous addresses is 96 MHz maximum.
4 Flash read access for asynchronous accesses requires 2 wait states when FMI clock is above
66 MHz. See STR91xF Flash Programming Manual for more information.
Table 20. Flash memory endurance
Value
Parameter
Test Conditions
Unit
Min
Typ
Max
Program/erase cycles
Data retention
Per word
100K
20
cycles
years
56/78
STR91xFA
Electrical characteristics
6.12 EMC characteristics
Susceptibility tests are performed on a sample basis during product characterization.
6.12.1 Functional EMS (Electro Magnetic Susceptibility)
Based on a simple running application on the product (toggling 2 LEDs through I/O ports), the
product is stressed by two electro magnetic events until a failure occurs (indicated by the
LEDs).
●
ESD: Electro-Static Discharge (positive and negative) is applied on all pins of the device
until a functional disturbance occurs. This test conforms with the IEC 1000-4-2 standard.
●
FTB: A Burst of Fast Transient voltage (positive and negative) is applied to V
V
and
DD, DDQ
V
through a 100pF capacitor, until a functional disturbance occurs. This test conforms
SS
with the IEC 1000-4-4 standard.
A device reset allows normal operations to be resumed.
Table 21. EMS data
Symbol
Parameter
Conditions
Neg. Pos.
-1(1) >2(1)
Unit
VDD=1.8V, VDDQ=3.3V,
Voltage limits to be applied on
any I/O pin to induce a functional TA=+25°C, fOSC CPUCLK
disturbance
VFESD
/f
=4
=4
MHz/96MHz PLL
kV
VDD=1.8V, VDDQ=3.3V,
Fast transient voltage burst limits
to be applied through 100pF on
VDD and VDDQ pins to induce a
TA=+25°C, fOSC CPUCLK
MHz/96 MHz PLL
conforms to IEC 1000-4-4
/f
-4(1)
4(1)
VFFTB
functional disturbance
1. Data based on characterization results, not tested in production.
6.12.2 Electro Magnetic Interference (EMI)
Based on a simple application running on the product (toggling 2 LEDs through the I/O ports),
the product is monitored in terms of emission. This emission test is in line with the norm SAE J
1752/3 which specifies the board and the loading of each pin.
Table 22. EMI data
Max vs.
[fOSC/fCPUCLK
Monitored
Frequency Band
]
Symbol
Parameter
Conditions
Unit
4 MHz/ 96 MHz
VDDQ=3.3V, VDD=1.8V, 0.1MHz to 30 MHz
10
10
22
4
TA=+25°C,
30 MHz to 130 MHz
130 MHz to 1GHz
SAE EMI Level
dBµV
SEMI
Peak level
LQFP128 package
conforming to SAE J
1752/3
-
Notes:
1. Data based on characterization results, not tested in production.
2. BGA and LQFP devices have similar EMI characteristics.
57/78
Electrical characteristics
STR91xFA
6.12.3 Absolute Maximum Ratings (Electrical Sensitivity)
Based on three different tests (ESD, LU and DLU) using specific measurement methods, the
product is stressed in order to determine its performance in terms of electrical sensitivity. For
more details, refer to the application note AN1181.
6.12.4 Electro-Static Discharge (ESD)
Electro-Static Discharges (3 positive then 3 negative pulses separated by 1 second) are
applied to the pins of each sample according to each pin combination. The sample size
depends on the number of supply pins in the device (3 parts*(n+1) supply pin). Two models can
be simulated: Human Body Model and Charge Device Model. This test conforms to the
JESD22-A114A/A115A standard.
Table 23. ESD Absolute Maximum ratings
Maximum
Symbol
Ratings
Conditions
Unit
value 1)
Electro-static discharge voltage
(Human Body Model)
VESD(HBM)
VESD(CDM)
+/-2000
TA=+25°C
V
Electro-static discharge voltage
(Charge Device Model)
1000
Notes:
1. Data based on characterization results, not tested in production.
6.12.5 Static and Dynamic Latch-Up
●
LU: 3 complementary static tests are required on 10 parts to assess the latch-up
performance. A supply overvoltage (applied to each power supply pin) and a current
injection (applied to each input, output and configurable I/O pin) are performed on each
sample. This test conforms to the EIA/JESD 78 IC latch-up standard. For more details,
refer to the application note AN1181.
●
DLU: Electro-Static Discharges (one positive then one negative test) are applied to each
pin of 3 samples when the micro is running to assess the latch-up performance in dynamic
mode. Power supplies are set to the typical values, the oscillator is connected as near as
possible to the pins of the micro and the component is put in reset mode. This test
conforms to the IEC1000-4-2 and SAEJ1752/3 standards. For more details, refer to the
application note AN1181.
6.12.6 Designing hardened software to avoid noise problems
EMC characterization and optimization are performed at component level with a typical
application environment and simplified MCU software. It should be noted that good EMC
performance is highly dependent on the user application and the software in particular.
Therefore it is recommended that the user applies EMC software optimization and
prequalification tests in relation with the EMC level requested for his application.
Software recommendations:
The software flowchart must include the management of runaway conditions such as:
●
Corrupted program counter
Unexpected reset
●
58/78
STR91xFA
Electrical characteristics
●
Critical Data corruption (control registers...)
Prequalification trials:
Most of the common failures (unexpected reset and program counter corruption) can be
reproduced by manually forcing a low state on the RESET pin or the Oscillator pins for 1
second.
To complete these trials, ESD stress can be applied directly on the device, over the range of
specification values. When unexpected behavior is detected, the software can be hardened to
prevent unrecoverable errors occurring (see application note AN1015).
6.12.7 Electrical Sensitivities
Class 1)
Symbol
LU
Parameter
Static latch-up class
Conditions
TA=+25°C
VDDQ=3.3V, VDD=1.8V,
fOSC/fCPUCLK=4 MHz/96 MHz
A
DLU
Dynamic latch-up class
A
Notes:
1. Class description: A Class is an STMicroelectronics internal specification. All its limits are higher than the JEDEC
specifications, that means when a device belongs to Class A it exceeds the JEDEC standard. B Class strictly covers all the
JEDEC criteria (international standard).
6.13 External memory bus timings
V
= 2.7 - 3.6V, V = 1.65 - 2V, T = -40 / 85 °C, C = 30 pF unless otherwise specified.
DD A L
DDQ
Table 24. EMI Bus Clock Period
Symbol
Parameter
EMI Bus Clock period
Value
tBCLK
1 /(fHCLK x EMI_ratio)
Notes:1 The internal EMI Bus clock signal is available externally only on LFBGA144 packages (ball M8),
and not available on LQFP packages.
2 EMI_ratio =1/ 2 by default (can be programmed to be 1 by setting the proper bits in the
SCU_CLKCNTR register)
Table 25. EMI read operation
Value
Symbol
Parameter
Unit
Min
Max
tRCR
tRP
Read to CSn inactive
Read Pulse Width
-1
+1
ns
ns
(WSTRD-WSTOEN+1) x
(WSTRD-WSTOEN+1) x
tBCLK + 1
t
BCLK - 1
tRDS
tRDH
tRAS
tRAH
tAW
Read Data Setup Time
Read Data Hold Time
Read Address Setup Time
Read Address Hold Time
ALE pulse width
4
0
ns
ns
ns
ns
ns
(WSTOEN) x tBCLK- 1
0
(WSTOEN) x tBCLK + 1
(ALE_LENGTH) x tBCLK - 1 (ALE_LENGTH) x tBCLK + 1
59/78
Electrical characteristics
STR91xFA
Value
Symbol
Parameter
Unit
Min
Max
tAAH
tAAS
tBCLK/2 - 1
tBCLK/2 + 1
Address to ALE hold time
Address to ALE setup time
ns
ns
(ALE_LENGTH) x tBCLK - 1
Notes:1 ALE_LENGTH = 1 by default (can be programmed to be 2 by setting the bits In the SCU_SCR0
register)
2 WSTRD = 1Fh by default (RD wait state time = WSTRD x t
in the EMI_RCRx Register)
, WSTRD can be programmed
BCLK
3 WSTOEN = 1 by default (RD assertion delay from chip select. WSTOEN can be programmed in
the EMI_OECRx Register)
Figure 13. Non-mux bus (8-bit) read timings
EMI_CSx n
tRCR
EMI_A[15:0]
Address
tRAH
tRDH
EMI_D[7:0]
EMI_RDn
Data
tRAS
tRDS
tRP
Figure 14. Mux bus (16-bit) read timings
EMI_CSx n
EMI_A LE
tAW
tRCR
EMI_A[23:16]
Address
tAAH
tAAS
tRAH
tRDH
EMI_AD[15:0]
EMI_RDn
Address
tRAS
Data
tRDS
tRP
60/78
STR91xFA
Electrical characteristics
Table 26. EMI write operation
Value
Test
Conditions
Symbol
Parameter
Unit
Min
Max
(tBCLK/2) +1
(WSTWR-WSTWEN + 1) x
tWCR
tWP
(tBCLK/2) - 1
WRn to CSn inactive
Write Pulse Width
ns
ns
(WSTWR-WSTWEN + 1) x
t
BCLK - 1
tBCLK + 1
Write Data Setup
Time
(non-mux mode)
(WSTWEN + 1/2) x tBCLK
(WSTWEN - 1.5) x tBCLK
ns
ALE
length=1
WSTWEN>2
tWDS
Write Data Setup
Time
(mux mode )
ALE
length=2
WSTWEN>3
(WSTWEN - 2.5) x tBCLK
(tBCLK/2) - 1
Write Data Hold
Time
tWDH
tWAS
tWAH
tAW
(tBCLK/2) + 1
ns
ns
ns
ns
(WSTWEN + 1/2) x
tBCLK -1 4)
(WSTWEN + 1/2) x
tBCLK +1 4)
Write Address Setup
Time
Write Address Hold
Time
tBCLK/2
(ALE_LENGTH x tBCLK
+1
)
(ALE_LENGTH x tBCLK )-1
ALE pulse width
Address to ALE hold
time
tAAH
tAAS
(tBCLK/2) -1
(tBCLK/2) + 1
ns
ns
Address to ALE
setup time
(ALE_LENGTH x tBCLK)- 1
Notes:1 ALE_LENGTH = 1 by default (can be programmed to be 2 by setting the bits In the SCU_SCR0
register)
2 WSTWR =1Fh by default (WR wait state time = WSTWR x t
in the EMI_WCRx Register)
, WSTWR can be programmed
BCLK
3 WSTWEN= 0 by default (WR assertion delay from chip select. WSTWEN can be programmed
in the EMI_WECRx Register)
4 When the CPU executes a 16-bit write to a x8 EMI bus, the second write cycle's address setup
time is defined as t
=(WSTWEN - ½) x t
WAS
BCLK
61/78
Electrical characteristics
STR91xFA
Figure 15. Non-Mux Bus (8-bit) write timings
EMI_CSxn
tWCR
Address
Data
EMI_A[15:0]
tWAH
tWDH
EMI_D[7:0]
tWAS
tWDS
tWP
EMI_BWR_WRLn
Figure 16. Mux Bus (16-bit) Write Timings
EMI_CSx n
EMI_A LE
tAW
tWCR
EMI_A[23:16]
Address
tAAH
tAAS
tWDS
tWAH
tWDH
EMI_AD[15:0]
Address
tWAS
Data
EMI_WRLn
EMI_WRHn
tWP
62/78
STR91xFA
Electrical characteristics
6.14 ADC electrical characteristics
V
= 2.7 - 3.6V, V = 1.65 - 2V, T = -40 / 85 °C unless otherwise specified.
DD A
DDQ
Table 27. ADC electrical characteristics
Value
Typ
Symbol
Parameter
Test Conditions
Unit
Max
Min
VAIN
AVREF
10
Input Voltage Range
Resolution
0
V
Bits
N
RES
NCH
Number of Input Channels
ADC Clock Frequency
POR bit set to Standby mode
8
fADC
25
MHz
ms
µs
tPOR(ADC)
500
Continuous mode(2)
1*16/fADC
0.66
Continuous mode(2)
fADC = 24 MHz
µs
µs
µs
Conversion Time(1)
tCONV
Single mode(3)
2*16/fADC
1.33
3*16/fADC
2
Single mode(3)
fADC = 24 MHz
,
Continuous mode (2)
fADC = 24 MHz
1500
ksps
TR
Throughput Rate
Single mode(3)
fADC = 24 MHz
500
750
ksps
pF
CIN
ED
Input Capacitance
Differential Non-Linearity
Integral Non-Linearity
Offset Error
5
1
(4) (5)
(4)
LSB(6)
LSB
LSB
LSB
LSB
mA
3
6
6
2
6
EL
3
(4)
EO
EG
ET
3
(4)
Gain Error
0.5
4
(4)
Absolute Error
IADC
Power Consumption
4.6
1. Guaranteed by design, not tested in production.
2. All sucessive conversions in continuous and scan modes.
3. All single conversions and the first conversion in continuous and scan modes.
4. Conditions: AVSS = 0 V, AVDD = 3.3 V fADC = 25 MHz.
5. The A/D is monotonic, there are no missing codes.
6. 1 LSB = (AVDD - AVSS)/1024
63/78
Electrical characteristics
STR91xFA
Figure 17. ADC conversion characteristics
Digital Result
(1) Example of an actual transfer curve
(2) The ideal transfer curve
(3) End point correlation line
EG
1023
1022
V
– V
DDA
SSA
1024
1LSB
= ----------------------------------------
IDEAL
1021
ET=Total Unadjusted Error: maximum
deviation between the actual and the ide-
al transfer curves.
EO=Offset Error: deviation between the
first actual transition and the first ideal
one.
(2)
ET
(3)
7
6
5
4
3
2
1
(1)
EG=Gain Error: deviation between the
last ideal transition and the last actual
one.
ED=Differential Linearity Error: maximum
deviation between actual steps and the
ideal one.
EL=Integral Linearity Error: maximum
deviation between any actual transition
and the end point correlation line.
EO
EL
ED
1 LSBIDEAL
V
(LSB
)
in
IDEAL
0
1
2
3
4
5
6
7
1021 1022 1023 1024
AVDD
AVSS
64/78
STR91xFA
Electrical characteristics
6.15 Communication interface electrical characteristics
6.15.1 10/100 Ethernet MAC electrical characteristics
V
= 2.7 - 3.6V, V = 1.65 - 2V, T = -40 / 85 °C unless otherwise specified.
DD A
DDQ
Ethernet MII Interface Timings
Figure 18. MII_RX_CLK and MII_TX_CLK timing diagram
3
MII_RX_TCLK, MII_TX_CLK
2
4
4
1
Table 28. MII_RX_CLK and MII_TX_CLK timing table
Value
Symbol
Parameter
Symbol
Unit
Min
40
Max
tc(CLK)
tHIGH(CLK)
LOW(CLK)
tt(CLK)
1
2
3
4
Cycle time
ns
Pulse duration HIGH
Pulse duration LOW
Transition time
40%
40%
60%
60%
1
t
ns
Figure 19. MDC timing diagram
3
MDC
2
4
4
1
Table 29. MDC timing table
Value
Symbol
Parameter
Symbol
Unit
Min
266
Max
tc(MDC)
tHIGH(MDC)
LOW(MDC)
tt(MDC)
1
2
3
4
Cycle time
ns
Pulse duration HIGH
Pulse duration LOW
Transition time
40%
40%
60%
60%
1
t
ns
Ethernet MII management timings
Figure 20. Ethernet MII management timing diagram
MDC
1
MDIO
output
2
3
MDIO
input
65/78
Electrical characteristics
STR91xFA
Table 30. Ethernet MII management timing table
Value
Symbol
Parameter
Symbol
Unit
Min
Max
MDIO delay from rising
edge of MDC
tc(MDIO)
1
2
3
2.83
ns
ns
ns
MDIO setup time to rising
edge of MDC
Tsu (MDIO)
Th (MDIO)
2.70
MDIO hold time from rising
edge of MDC
-2.03
Ethernet MII transmit timings
Figure 21. Ethernet MII transmit timing diagram
MII_TX_CLK
2
1
3
MII_TX_EN
4
5
6
MII_CRS
8
MII_COL
7
MII_TXD
Table 31. Ethernet MII transmit timing table
Value
Symbol
Parameter
Symbol
Unit
Min
Max
MII_TX_CLK high to
MII_TX_EN valid
t
VAL(MII_TX_EN)
1
2
3
4
5
6
7
8
4.20
ns
ns
ns
ns
ns
ns
ns
ns
MII_TX_CLK high to
MII_TX_EN invalid
T
inval(MII_TX_EN)
4.86
MII_CRS valid to
MII_TX_CLK high
Tsu(MII_CRS)
Th(MII_CRS)
Tsu(MII_COL)
Th(MII_COL)
0.61
0.00
0.81
0.00
MII_TX_CLK high to
MII_CRS invalid
MII_COL valid to
MII_TX_CLK high
MII_TX_CLK high to
MII_COL invalid
MII_TX_CLK high to
MII_TXD valid
t
VAL(MII_TXD)
5.02
5.02
MII_TXCLK high to
MII_TXD invalid
Tinval(MII_TXD
66/78
STR91xFA
Ethernet MII Receive timings
Electrical characteristics
Figure 22. Ethernet MII receive timing diagram
MII_RX_CLK
2
1
MII_RXD
MII_RX_DV
MII_RX_ER
Figure 23. Ethernet MII receive timing table
Value
Symbol
Parameter
Symbol
Unit
Min
Max
MII_RXD valid to
MII_RX_CLK high
Tsu(MII_RXD)
Th(MII_RXD)
1
2
0.81
ns
ns
MII_RX_CLK high to
MII_RXD invalid
0.00
6.15.2 USB electrical interface characteristics
USB 2.0 Compliant in Full Speed Mode
6.15.3 CAN interface electrical characteristics
Conforms to CAN 2.0B protocol specification
67/78
Electrical characteristics
STR91xFA
2
6.15.4 I C electrical characteristics
V
= 2.7 - 3.6V, V = 1.65 - 2V, T = -40 / 85 °C unless otherwise specified.
DD A
DDQ
2
Table 32. I C Electrical Characteristics
Standard I2C
Min Max
Fast I2C
Symbol
Parameter
Unit
Min
Max
Bus free time between a STOP
and START condition
tBUF
4.7
4.0
1.3
0.6
ms
µs
Hold time START condition.
After this period, the first clock
pulse is generated
tHD:STA
tLOW
tHIGH
LOW period of the SCL clock
HIGH period of the SCL clock
4.7
4.0
1.3
0.6
µs
µs
Set-up time for a repeated
START condition
tSU:STA
4.7
0.6
µs
tHD:DAT
tSU:DAT
Data hold time
0
0
ns
ns
Data set-up time
250
100
Rise time of both SDA and SCL
signals
tR
20+0.1Cb
1000
300
300
300
ns
Fall time of both SDA and SCL
signals
tF
20+0.1Cb
0.6
ns
µs
pF
tSU:STO
Cb
Set-up time for STOP condition
4.0
Capacitive load for each bus
line
400
400
Notes:1 The device must internally provide a hold time of at least 300 ns for the SDA signal in order to
bridge the undefined region of the falling edge of SCL
2 The maximum hold time of the START condition has only to be met if the interface does not
stretch the low period of SCL signal
3 C = total capacitance of one bus line in pF
b
68/78
STR91xFA
Electrical characteristics
6.15.5 SPI electrical characteristics
V
= 2.7 - 3.6V, V = 1.65 - 2V, T = -40 / 85 °C unless otherwise specified.
DD A
DDQ
Table 33. SPI electrical characteristics
Value
Unit
Symbol
Parameter
Test Conditions
Typ
Max
Master
24
fSCLK
SPI clock frequency
MHz
4
1/tc(SCLK)
tr(SCLK)
tf(SCLK)
tsu(SS)
Slave
SPI clock rise and fall times
50pF load
0.1
V/ns
SS setup time
SS hold time
Slave
1
1
th(SS)
Slave
Master
Slave
Master
Slave
Master
Slave
Slave
tw(SCLKH)
tw(SCLKL)
SCLK high and low time
Data input setup time
Data input hold time
1
5
6
tsu(MI)
tsu(SI)
th(MI)
th(SI)
tPCLK
ta(SO)
tdis(SO)
tv(SO)
th(SO)
tv(MO)
th(MO)
Data output access time
Data output disable time
Data output valid time
Data output hold time
Data output valid time
Data output hold time
6
6
6
Slave
Slave (after enable
edge)
0
0.25
0.25
Master (before capture
edge)
Figure 24. SPI slave timing diagram with CPHA=0
NSS
INPUT
t
t
su(NSS)
c(SCLK)
t
h(NSS)
CPHA=0
CPOL=0
CPHA=0
CPOL=1
t
t
w(SCLKH)
w(SCLKL)
t
t
t
t
dis(SO)
a(SO)
v(SO)
h(SO)
t
t
r(SCLK)
f(SCLK)
MISO
OUTPUT
INPUT
MSB OUT
BIT6 OUT
LSB OUT
t
t
h(SI)
su(SI)
MSB IN
BIT1 IN
LSB IN
MOSI
69/78
Electrical characteristics
STR91xFA
Figure 25. SPI slave timing diagram with CPHA=1
NSS INPUT
tsu(NSS)
tc(SCLK)
th(NSS)
CPHA=1
CPOL=0
CPHA=1
CPOL=1
tw(SCLKH)
tw(SCLKL)
ta(SO)
tdis(SO)
tv(SO)
th(SO)
tr(SCLK)
tf(SCLK)
MISO OUTPUT
MSB OUT
BIT6 OUT
HZ
LSB OUT
tsu(SI)
th(SI)
MSB IN
BIT1 IN
LSB IN
MOSI INPUT
Figure 26. SPI master timing diagram
NSS
INPUT
tc(SCLK)
CPHA=0
CPOL=0
CPHA=0
CPOL=1
CPHA=1
CPOL=0
CPHA=1
CPOL=1
tw(SCLKH)
tw(SCLKL)
tr(SCLK)
tf(SCLK)
th(MI)
tsu(MI)
MISO INPUT
MSB IN
th(MO)
BIT6 IN
LSB IN
tv(MO)
LSB OUT
MSB OUT
BIT6 OUT
MOSI OUTPUT
70/78
STR91xFA
Package mechanical data
7
Package mechanical data
Figure 27. 80-Pin Low Profile Quad Flat Package
inches1)
mm
SEATING
PLANE
Dim.
Min Typ Max Min
Typ
Max
C
A
1.60
0.0630
0.0059
A1 0.05
0.15 0.0020
0.25 mm
GAGE PLANE
A2 1.35 1.40 1.45 0.0531 0.0551 0.0571
b
c
0.17 0.22 0.27 0.0067 0.0087 0.0106
0.09 0.20 0.0035 0.0079
ccc
C
D
D
14.00
12.00
9.50
0.5512
0.4724
0.3740
0.5512
0.4724
0.3740
0.0197
D1
D3
L
D1
D2
E
L1
60
41
14.00
12.00
9.50
61
40
E1
E2
e
b
0.50
E
E1
E3
L
0.45 0.60 0.75 0.0177 0.0236 0.0295
1.00 0.039
L1
k
0d
7d
0d
7d
80
21
ddd
0.08
0.0031
Number of Pins
1
20
e
N
80
PIN 1
IDENTIFICATION
1Values in inches are converted from mm
and rounded to 4 decimal digits.
71/78
Package mechanical data
STR91xFA
Figure 28. 128-Pin Low Profile Quad Flat Package
inches1]
mm
SEATING
PLANE
Dim.
Min Typ Max Min
Typ
Max
C
A
1.60
0.0630
0.0059
A1 0.05
0.15 0.0020
0.25 mm
GAGE PLANE
A2 1.35 1.40 1.45 0.0531 0.0551 0.0571
ccc
C
b
c
0.13 0.18 0.23 0.0051 0.0071 0.0091
0.09 0.20 0.0035 0.0079
15.80 16.00 16.20 0.6220 0.6299 0.6378
D
D1
D3
D
L
D1 13.80 14.00 14.20 0.5433 0.5512 0.5591
L1
96
65
D3
E
12.40
0.4882
15.80 16.00 16.20 0.6220 0.6299 0.6378
97
64
E1 13.80 14.00 14.20 0.5433 0.5512 0.5591
E3
e
12.40
0.40
0.4882
0.0157
b
E
E1
E3
L
0.45 0.60 0.75 0.0177 0.0236 0.0295
L1
k
1.00
0d 3.5d 7d
0.08
0.0394
3.5d
0d
7d
128
33
ccc
0.0031
1
32
Number of Pins
e
PIN 1
IDENTIFICATION
N
128
1Values in inches are converted from
mm and rounded to 4 decimal digits.
72/78
STR91xFA
Package mechanical data
Figure 29. 144-Low Profile Fine Pitch Ball Grid Array Package
inches1)
mm
Typ
Dim.
Min
1.21
0.21
Max
Min
Typ
Max
A
A1
A2
b
1.70 0.0476
0.0083
0.0669
1.085
0.0427
0.35 0.40 0.45 0.0138 0.0157 0.0177
9.85 10.00 10.15 0.3878 0.3937 0.3996
D
D1
E
8.80
0.3465
9.85 10.00 10.15 0.3878 0.3937 0.3996
E1
e
8.80
0.80
0.60
0.3465
0.0315
0.0236
F
ddd
eee
fff
0.10
0.0039
0.0059
0.0031
0.15
0.08
Number of Pins
N
144
1Values in inches are converted from mm
and rounded to 4 decimal digits.
Figure 30. Recommended PCB Design rules (0.80/0.75mm pitch BGA)
Dpad
Dsm
0.37 mm
0.52 mm typ. (depends on solder
mask registration tolerance
Solder paste 0.37 mm aperture diameter
– Non solder mask defined pads are recommended
– 4 to 6 mils screen print
Dpad
Dsm
73/78
Package mechanical data
STR91xFA
7.1
Thermal characteristics
The average chip-junction temperature, T must never exceed 125° C.
J
The average chip-junction temperature, T , in degrees Celsius, may be calculated using the
J
following equation:
T = T + (P x Θ )(1)
J
A
D
JA
Where:
–
T is the Ambient Temperature in °C,
A
–
–
–
Θ
is the Package Junction-to-Ambient Thermal Resistance, in ° C/W,
JA
P is the sum of P
and P (P = P
+ P ),
INT I/O
D
INT
I/O
D
P
is the product of I and V , expressed in Watts. This is the Chip Internal
DD DD
INT
Power.
P
represents the Power Dissipation on Input and Output Pins;
I/O
Most of the time for the applications P < P
and may be neglected. On the other hand,
INT
I/O
P
may be significant if the device is configured to drive continuously external modules and/or
I/O
memories. The worst case P
of the STR91xFA is 500mW (I x V , or 250mA x 2.0V).
INT
DD DD
An approximate relationship between P and T (if P is neglected) is given by:
D
J
I/O
P = K / (T + 273°C) (2)
D
J
Therefore (solving equations 1 and 2):
2
K = P x (T + 273°C) + Θ x P (3)
D
A
JA
D
where:
–
K is a constant for the particular part, which may be determined from equation (3) by
measuring P (at equilibrium) for a known T Using this value of K, the values of P
D
A.
D
and T may be obtained by solving equations (1) and (2) iteratively for any value of T .
J
A
Table 34. Thermal characteristics
Symbol
Parameter
Value
Unit
Thermal Resistance Junction-Ambient
LQFP 80 - 12 x 12 mm / 0.5 mm pitch
ΘJA
41.5
°C/W
Thermal Resistance Junction-Ambient
LQFP128 - 14 x 14 mm / 0.4 mm pitch
ΘJA
ΘJA
38
°C/W
°C/W
Thermal Resistance Junction-Ambient
LFBGA 144 - 10 x 10 x 1.7mm
36.5
74/78
STR91xFA
Ordering information
8
Ordering information
Table 35. Ordering information
Part Number
Flash KB RAM KB
Major Peripherals
Package
LQFP80,
12x12 mm
STR910FAM32X6
256+32
256+32
256+32
64
64
64
CAN, 40 I/Os
LQFP128,
14x14 mm
STR910FAW32X6
STR910FAZ32H6
CAN, EMI, 80 I/Os
CAN, EMI, 80 I/Os
LFBGA144
10 x 10 x 1.7
STR911FAM42X6
STR911FAM44X6
STR911FAW42X6
STR911FAW44X6
STR912FAW34X6
STR912FAW42X6
STR912FAW44X6
STR912FAZ42H6
STR912FAZ44H6
256+32
512+32
256+32
512+32
512+32
256+32
512+32
256+32
512+32
96
96
96
96
64
96
96
96
96
LQFP80,
12x12mm
USB, CAN, 40 I/Os
LQFP128,
14x14mm
USB, CAN, EMI, 80 I/Os
Ethernet, USB, CAN, EMI, 80 I/Os
Ethernet, USB, CAN, EMI, 80 I/Os
LQFP128
LQFP128
LFBGA144
10 x 10 x 1.7
Ethernet, USB, CAN, EMI, 80 I/Os
75/78
Ordering information
STR91xFA
Table 36. Ordering information scheme
STR9
1
2
F
A
W
4
4
X
6
T
Example:
Family
ARM9 Microcontroller Family
Series
1 = STR9 Series 1
Feature set
0 = CAN, UART, IrDA, I2C, SSP
1 = USB, CAN, UART, IrDA, I2C, SSP
2 = USB, CAN, UART, IrDA, I2C, SSP, ETHERNET
Memory type
F = Flash
Revision at product level
A = Revison A
No. of pins
M = 80
W = 128
Z = 144
SRAM size
3 = 64K
4 = 96K
Program Memory Size
2 = 256K
4 = 512K
Package
X = plastic LQFP
H = LFBGA
Temperature Range
6 = -40 to 85°C
Shipping Option
T = Tape & Reel Packing
For a list of available options (e.g. speed, package) or for further information on any aspect of this
device, please contact the ST Sales Office nearest to you.
76/78
STR91xFA
Revision history
9
Revision history
Table 37. Revision history
Date
Revision
Changes
09-May-2007
1
Initial release
77/78
STR91xFA
Please Read Carefully:
Information in this document is provided solely in connection with ST products. STMicroelectronics NV and its subsidiaries (“ST”) reserve the
right to make changes, corrections, modifications or improvements, to this document, and the products and services described herein at any
time, without notice.
All ST products are sold pursuant to ST’s terms and conditions of sale.
Purchasers are solely responsible for the choice, selection and use of the ST products and services described herein, and ST assumes no
liability whatsoever relating to the choice, selection or use of the ST products and services described herein.
No license, express or implied, by estoppel or otherwise, to any intellectual property rights is granted under this document. If any part of this
document refers to any third party products or services it shall not be deemed a license grant by ST for the use of such third party products
or services, or any intellectual property contained therein or considered as a warranty covering the use in any manner whatsoever of such
third party products or services or any intellectual property contained therein.
UNLESS OTHERWISE SET FORTH IN ST’S TERMS AND CONDITIONS OF SALE ST DISCLAIMS ANY EXPRESS OR IMPLIED
WARRANTY WITH RESPECT TO THE USE AND/OR SALE OF ST PRODUCTS INCLUDING WITHOUT LIMITATION IMPLIED
WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE (AND THEIR EQUIVALENTS UNDER THE LAWS
OF ANY JURISDICTION), OR INFRINGEMENT OF ANY PATENT, COPYRIGHT OR OTHER INTELLECTUAL PROPERTY RIGHT.
UNLESS EXPRESSLY APPROVED IN WRITING BY AN AUTHORIZED ST REPRESENTATIVE, ST PRODUCTS ARE NOT
RECOMMENDED, AUTHORIZED OR WARRANTED FOR USE IN MILITARY, AIR CRAFT, SPACE, LIFE SAVING, OR LIFE SUSTAINING
APPLICATIONS, NOR IN PRODUCTS OR SYSTEMS WHERE FAILURE OR MALFUNCTION MAY RESULT IN PERSONAL INJURY,
DEATH, OR SEVERE PROPERTY OR ENVIRONMENTAL DAMAGE. ST PRODUCTS WHICH ARE NOT SPECIFIED AS "AUTOMOTIVE
GRADE" MAY ONLY BE USED IN AUTOMOTIVE APPLICATIONS AT USER’S OWN RISK.
Resale of ST products with provisions different from the statements and/or technical features set forth in this document shall immediately void
any warranty granted by ST for the ST product or service described herein and shall not create or extend in any manner whatsoever, any
liability of ST.
ST and the ST logo are trademarks or registered trademarks of ST in various countries.
Information in this document supersedes and replaces all information previously supplied.
The ST logo is a registered trademark of STMicroelectronics. All other names are the property of their respective owners.
© 2007 STMicroelectronics - All rights reserved
STMicroelectronics group of companies
Australia - Belgium - Brazil - Canada - China - Czech Republic - Finland - France - Germany - Hong Kong - India - Israel - Italy - Japan -
Malaysia - Malta - Morocco - Singapore - Spain - Sweden - Switzerland - United Kingdom - United States of America
www.st.com
78/78
相关型号:
STR910FAM32X6T
ARM966E-S⑩ 16/32-Bit Flash MCU with Ethernet, USB, CAN, AC motor control, 4 timers, ADC, RTC, DMA
STMICROELECTR
STR910FAM34H6T
ARM966E-S⑩ 16/32-Bit Flash MCU with Ethernet, USB, CAN, AC motor control, 4 timers, ADC, RTC, DMA
STMICROELECTR
STR910FAM34X6T
ARM966E-S⑩ 16/32-Bit Flash MCU with Ethernet, USB, CAN, AC motor control, 4 timers, ADC, RTC, DMA
STMICROELECTR
STR910FAM42H6T
ARM966E-S⑩ 16/32-Bit Flash MCU with Ethernet, USB, CAN, AC motor control, 4 timers, ADC, RTC, DMA
STMICROELECTR
STR910FAM42X6T
ARM966E-S⑩ 16/32-Bit Flash MCU with Ethernet, USB, CAN, AC motor control, 4 timers, ADC, RTC, DMA
STMICROELECTR
STR910FAM44H6T
ARM966E-S⑩ 16/32-Bit Flash MCU with Ethernet, USB, CAN, AC motor control, 4 timers, ADC, RTC, DMA
STMICROELECTR
STR910FAM44X6T
ARM966E-S⑩ 16/32-Bit Flash MCU with Ethernet, USB, CAN, AC motor control, 4 timers, ADC, RTC, DMA
STMICROELECTR
STR910FAW32
ARM966E-S⑩ 16/32-Bit Flash MCU with Ethernet, USB, CAN, AC motor control, 4 timers, ADC, RTC, DMA
STMICROELECTR
STR910FAW32H6T
ARM966E-S⑩ 16/32-Bit Flash MCU with Ethernet, USB, CAN, AC motor control, 4 timers, ADC, RTC, DMA
STMICROELECTR
STR910FAW32X6
ARM966E-S⑩ 16/32-Bit Flash MCU with Ethernet, USB, CAN, AC motor control, 4 timers, ADC, RTC, DMA
STMICROELECTR
STR910FAW32X6T
ARM966E-S⑩ 16/32-Bit Flash MCU with Ethernet, USB, CAN, AC motor control, 4 timers, ADC, RTC, DMA
STMICROELECTR
STR910FAW34H6T
ARM966E-S⑩ 16/32-Bit Flash MCU with Ethernet, USB, CAN, AC motor control, 4 timers, ADC, RTC, DMA
STMICROELECTR
©2020 ICPDF网 联系我们和版权申明