STR910FM34X6T [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
STR910FM34X6T
型号: STR910FM34X6T
厂家: ST    ST
描述:

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

闪存 电机 以太网
文件: 总72页 (文件大小:1492K)
中文:  中文翻译
下载:  下载PDF数据表文档文件
STR91xF  
ARM966E-S™ 16/32-Bit Flash MCU with Ethernet, USB, CAN,  
AC Motor Control, 4 Timers, ADC, RTC, DMA  
PRELIMINARY DATA  
16/32-bit 96 MHz ARM9E based MCU  
– ARM966E-S RISC core: Harvard archi-  
tecture, 5-stage pipeline, Tightly-Coupled  
Memories (SRAM and Flash)  
– STR91xF implementation of core adds high-  
speed burst Flash memory interface,  
instruction prefetch queue, branch cache  
LQFP80 12 x12mm  
LQFP128 14 x 14mm  
– 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  
8-channel, 10-bit A/D converter (ADC)  
– 0 to 3.6V range, 2 usec conversion time  
11 Communication interfaces  
– 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  
– 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  
– 2 channels for SPI™, SSI™, or Microwire™  
– 8/16-bit EMI bus on 128 pin packages  
– 64K or 96K bytes, optional battery backup  
9 programmable DMA channels  
2
– One for Ethernet, eight programmable chnls  
Clock, reset, and supply management  
Up to 80 I/O pins (muxed with interfaces)  
Two supplies required. Core: 1.8V +/-10%,  
I/O: 2.7 to 3.6V  
– Internal osc operating with ext. 4-25MHz xtal  
– Internal PLL up to 96MHz  
– 5V tolerant, 16 have high sink current (8mA)  
– Bit-wise manipulation of pins within a port  
16-bit standard timers (TIM)  
– 4 timers each with 2 input capture, 2 output  
compare, PWM and pulse count modes  
– Real-time clock provides calendar functions,  
tamper detection, and wake-up functions  
– Reset Supervisor monitors voltage supplies,  
watchdog timer, wake-up unit, ext. reset  
– Brown-out monitor for early warning interrupt  
– Run, Idle, and Sleep Mode as low as 50 uA  
Operating temperature -40 to +85°C  
3-Phase induction motor controller (IMC)  
– 3 pairs of PWM outputs, adjustable centers  
– Emergency stop, dead-time gen, tach input  
JTAG interface with boundary scan  
– ARM EmbeddedICE® RT for debugging  
– In-System Programming (ISP) of Flash  
Embedded trace module (ARM ETM9)  
Vectored interrupt controller (VIC)  
– 32 IRQ vectors, 30 intr pins, any can be FIQ  
– Branch cache minimizes interrupt latency  
– Hi-speed instruction tracing, 9-pin interface  
Device summary  
Features  
STR910FM32X STR910FW32X STR911FM42X STR911FM44X STR912FW42X STR912FW44X  
FLASH - Kbytes  
RAM - Kbytes  
Peripheral  
functions  
Packages  
256+32  
64  
256+32  
64  
CAN, EMI,  
80 I/Os  
LQFP128  
256+32  
96  
512+32  
96  
256+32  
96  
Ethernet, USB, CAN, EMI,  
80 I/Os  
512+32  
96  
CAN, 48 I/Os  
LQFP80  
USB, CAN, 48 I/Os  
LQFP80  
LQFP128  
April 2006  
Rev 1  
1/72  
This is preliminary information on a new product now in development or undergoing evaluation. Details are subject to change without notice.  
72  
STR91xF  
Contents  
1
2
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 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  
Vectored interrupt controller (VIC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11  
2.9.1 FIQ handling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11  
2.9.2 IRQ handling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12  
2.9.3 Interrupt sources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12  
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) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15  
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.10.10 Operation example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16  
2/72  
STR91xF  
2.11 Flexible power management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16  
2.11.1 Run mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17  
2.11.2 Idle mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17  
2.11.3 Sleep mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17  
2.12 Voltage supplies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17  
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  
2.23 General purpose I/O . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28  
3/72  
STR91xF  
2.24 A/D converter (ADC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29  
2.25 Standard timers (TIM) with DMA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29  
2.25.1 DMA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29  
2.26 Three-phase induction motor controller (IMC) . . . . . . . . . . . . . . . . . . . . . . . 30  
2.27 External memory interface (EMI) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30  
Related documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33  
Pin description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34  
3
4
4.1  
Default pin functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36  
5
Memory mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43  
5.1  
5.2  
5.3  
5.4  
Buffered and non-buffered writes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43  
System (AHB) and peripheral (APB) buses . . . . . . . . . . . . . . . . . . . . . . . . . 43  
SRAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43  
Two independent Flash memories . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44  
5.4.1 Default configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44  
5.4.2 Optional configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44  
6
Electrical characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47  
6.1  
6.2  
6.3  
6.4  
6.5  
6.6  
6.7  
6.8  
6.9  
Absolute maximum ratings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47  
Operating conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48  
LVD electrical characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48  
DC electrical characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49  
AC electrical characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50  
RESET_INn and power-on-reset characteristics . . . . . . . . . . . . . . . . . . . . . 51  
Main oscillator electrical characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52  
RTC oscillator electrical characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52  
PLL electrical characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53  
6.10 Flash memory characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54  
6.11 External memory bus timings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55  
6.12 ADC electrical characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59  
6.13 Communication interface electrical characteristics . . . . . . . . . . . . . . . . . . . . 61  
6.13.1 10/100 Ethernet MAC electrical characteristics . . . . . . . . . . . . . . . . . . . . . . . 61  
6.13.2 USB electrical interface characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63  
4/72  
STR91xF  
6.13.3 CAN interface electrical characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63  
6.13.4 I2C electrical characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64  
6.13.5 SPI electrical characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65  
6.14 JTAG interface electrical characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67  
Package mechanical data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68  
Ordering information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69  
Revision history . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71  
7
8
9
5/72  
Introduction  
STR91xF  
1
Introduction  
STR91xF 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 Preliminary Datasheet provides STR91xF ordering information, functional overview,  
mechanical information, and electrical device characteristics.  
For complete information on STR91xF memory, registers, and peripherals, please refer to the  
STR91xF Reference Manual.  
For information on programming the STR91xF 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.  
6/72  
STR91xF  
Functional overview  
2
Functional overview  
2.1  
System-in-a-Package (SiP)  
The STR91xF 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  
STR91xF devices are available in 128-pin (14 x 14 mm) and 80-pin (12 x 12 mm) LQFP  
packages. Refer to the table on the first page and to Table 27 on page 69 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. As an example of efficient signal processing, a 512-point FFT takes just 29K CPU cycles  
(a)  
on the ARM966E-S core  
.
®
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 a 4-instruction Pre-Fetch Queue  
(PFQ) and a 4-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  
a. “ARM DSP-Enhanced Extensions”, page 3, White Paper from ARM Ltd., 2001  
7/72  
Functional overview  
STR91xF  
length instructions. The PFQ will fetch 32-bits at a time from the Burst Flash memory at a rate  
of up to 96 MHz.  
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 four of the most recently taken branch addresses and the first  
four instructions associated with each of these branches. This check is extremely fast, checking  
all four BC entries simultaneously for a branch address match (cache hit). If there is a hit, the  
the BC immediately supplies the instruction and prevents a CPU stall. This gives the PFQ time  
to start pre-fetching again while the CPU consumes these four 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 5th 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 STR91xF  
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/72  
STR91xF  
Functional overview  
Figure 1. STR91xF block diagram  
Stacked Burst Flash Memory Die  
JTAG ISP  
STR91xF  
1.8V  
GND  
CORE SUPPLY, VDD  
CORE GND, VSS  
I/O SUPPLY, VDDQ  
I/O GND, VSSQ  
Main Flash 256K,  
or 512K Bytes 32K  
2nd Flash  
Bytes  
Burst Interface  
3.0 or 3.3V  
GND  
BACKUP  
SUPPLY  
64K or 96K  
Byte  
Burst Interface  
VBATT  
Pre-Fetch Que  
and Branch  
Cache  
SRAM  
RTC  
Arbiter  
Instruction  
TCM  
Interface  
JTAG  
ARM966E-S  
RISC CPU Core  
Data TCM  
Interface  
JTAG  
Debug  
and  
Control Logic / BIU and Write Buffer  
AMBA / AHBAInterface  
ETM  
ETM  
32K Hz  
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  
MHz XTAL  
25  
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  
UART,  
(2) SPI  
I2C,  
SPI,  
Timers,  
Ext Req  
CAN 2.0B  
USB* Full Speed, 10  
Endpoints with FIFOs  
USB Bus  
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 STR910F and STR911F  
*** EMI not available on LQFP80  
9/72  
Functional overview  
STR91xF  
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. 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,  
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.  
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.  
10/72  
STR91xF  
Functional overview  
2.7.1 Primary Flash memory  
Using the STR91xF device configuration software tool, 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 STR91xF (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 STR91xF device.  
The secondary Flash memory 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 STR91xF product ID and revision level.  
2.9  
Vectored interrupt controller (VIC)  
Interrupt management in the STR91xF 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  
11/72  
Functional overview  
STR91xF  
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, CPU  
firmware may re-assign individual interrupt sources to individual hardware IRQ channels,  
meaning that firmware can effectively change interrupt priority levels as needed.  
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 STR91xF 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  
STR91xF reduces this to a single access by adding a 5th entry in the instruction branch cache,  
dedicated for interrupts. This 5th 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.  
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  
STR91xF such as on-chip peripherals, see Table 1. 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 1) 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/or 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 1) 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.  
12/72  
STR91xF  
Functional overview  
See Table 1 for recommended interrupt source assignments to physical IRQ interrupt channels.  
Interrupt source assignments are made by CPU firmware during initialization, thus establishing  
interrupt priorities.  
Table 1.  
Recommended IRQ Channel assignments (set by CPU firmware)  
VIC IRQ Channel  
Logic Block  
Interrupt Source  
0 (high priority)  
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  
Ethernet MAC  
DMA  
Logic OR of interrupts from each of the 8 individual DMA  
channels  
13  
14  
15  
16  
17  
18  
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  
I2C0  
I2C1  
Logic OR of transmit, receive, and error interrupts of I2C  
channel 1  
21  
22  
23  
24  
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  
Logic OR of all 32 inputs of Wake-Up unit (30 pins, RTC, and  
USB Resume)  
25  
26  
Wake-Up (all)  
Logic OR of 8 interrupt sources: RTC, USB Resume, pins  
P3.2 to P3.7  
Wake-up Group 0  
27  
28  
29  
30  
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)  
PFQ-BC  
13/72  
Functional overview  
STR91xF  
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 STR91xF.  
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 STR91xF 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.  
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.  
14/72  
STR91xF  
Functional overview  
Figure 2. Clock control  
25MHz  
PHYSEL  
MII_PHYCLK  
HCLK  
RCLK  
AHB DIV  
X1_CPU  
X1_CPU  
f
MSTR  
f
Main  
OSC  
PLL  
RCLK  
DIV  
4-25MHz  
PLL  
(1,2,4)  
f
OSC  
PCLK  
APB DIV)  
(1,2,4,8,16,1024)  
(1,2,4,8)  
FMICLK  
Master CLK  
32.768kHz  
X1_RTC  
X2_RTC  
RTC  
OSC  
f
RTC  
BRCLK  
1/2  
TIM01CLK  
TIM23CLK  
EXTCLK_TOT1  
To UART  
16-bit prescaler  
16-bit prescaler  
1/2  
1/2  
CPUCLK  
EXTCLK_T2T3  
USB_CLK48M  
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 96MHz.  
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 48MHz.  
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  
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.  
15/72  
Functional overview  
STR91xF  
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. The maximum BCLK frequency is 66MHz.  
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.  
STR91xF 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 STR91xF. In this  
case, the STR91xF 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 STR91xF and  
the external PHY device.  
An external 25 MHz oscillator connected directly to the external PHY interface device. In  
this case, the STR91xF can operate independent of 25 MHz.  
2.10.10 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 STR91xF  
output pin P5.2. In this case, the CCU can run the CPU at 96 MHz from PLL, the USB interface  
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 STR91xF 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 kHz RTC clock at any time for low power.  
16/72  
STR91xF  
Functional overview  
The STR91xF 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 optional 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 (optionally does not cause interrupt)  
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.  
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 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 STR91xF 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.  
17/72  
Functional overview  
STR91xF  
2.12.1 Independent A/D converter supply and reference voltage  
The ADC unit on 128-pin packages has an isolated analog voltage supply input at pin AVDD to  
accept a very clean voltage source, independent of the digital voltage supplies. The analog  
voltage supply range on pin AVDD is the same range as the digital voltage supply on pin  
VDDQ. Additionally, an isolated analog supply ground connection is provided on pin AVSS only  
on 128-pin 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 STR91xF device on pin AVSS_VSSQ.  
A separate external analog reference voltage input for the ADC unit is available on 128-pin  
packages at the AVREF pin for better accuracy on low voltage inputs, and the voltage on  
AVREF can range from 1.0V to V  
. For 80-pin packages, the ADC reference voltage is tied  
DDQ  
internally to the ADC unit supply voltage at pin AVCC_AVREF, meaning the ADC reference  
voltage is fixed to the ADC unit supply voltage.  
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. Using the STR91xF device  
DD  
DDQ  
configuration software tool, it is possible to select whether or not to power from VBATT only the  
RTC unit, or power the RTC unit and the SRAM when the STR91xF device is powered off.  
18/72  
STR91xF  
Functional overview  
2.13 System supervisor  
The STR91xF 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 STR91xF, 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 STR91xF device configuration software from STMicroelectronics, and is programmed into  
the STR91xF 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 STR91xF 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/72  
Functional overview  
STR91xF  
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 STR91xF. There is also a RESET_OUTn pin on the STR91xF 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 STR91xF 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  
0x0000.0000.  
, after which the CPU will fetch its first instruction from address  
POR  
2.13.6 JTAG debug command  
When the STR91xF is in JTAG debug mode, an external device which controls the JTAG  
interface can command a system reset to the STR91xF over the JTAG channel.  
2.13.7 Tamper detection  
On 128-pin STR91xF 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  
an alternate power source, such as a battery, is connected to the VBATT input pin. The current  
20/72  
STR91xF  
Functional overview  
drawn by the RTC unit on the VBATT pin is very low in this standby mode, I  
(this  
RTC_STBY  
assumes SRAM battery backup is not enabled).  
2.15 JTAG interface  
An IEEE-1149.1 JTAG interface on the STR91xF provides In-System-Programming (ISP) of all  
memory, boundary scan testing of pins, and the capability to debug the CPU.  
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 STR91xF 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 STR91xF 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 STR91xF.  
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 STR91xF (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 STR91xF or a JTAG reset command shifted into the  
STR91xF 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/72  
Functional overview  
STR91xF  
Figure 3. JTAG chaining inside the STR91xF  
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 STR91xF 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 STR91xF for circuit board test during manufacture of the end product. STR91xF  
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 package only)  
2.15.3 CPU debug  
The ARM966E-S CPU core has standard ARM EmbeddedICE-RT logic, allowing the STR91xF  
to be debugged through the JTAG interface. This provides advanced debugging features  
making it easier to develop application firmware, operating systems, and the hardware itself.  
22/72  
STR91xF  
Functional overview  
Debugging requires that an external host computer, running debug software, is connected to  
the STR91xF 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 STR91xF. 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 any further JTAG  
commands to be accepted by the STR91xF except the “Full Chip Erase” command. No JTAG  
debug commands are accepted while the security bit is set.  
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 STR91xF 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 STR91xF 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/72  
Functional overview  
STR91xF  
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  
STR91xF devices in the 128-pin package provide an IEEE-802.3-2002 compliant Media  
Access Controller (MAC) for Ethernet LAN communications through an industry standard  
Medium Independent Interface (MII). The STR91xF 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 STR91xF MII port using as many as 18 signals (see pins which have signal  
names MII_* in Table 2).  
The MAC corresponds to the OSI Data Link layer and the PHY corresponds to the OSI Physical  
layer. The STR91xF 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 STR91xF 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 STR91xF 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/72  
STR91xF  
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 STR91xF 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/72  
Functional overview  
STR91xF  
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 STR91xF 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 460.8 Kbps  
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/72  
STR91xF  
Functional overview  
2.21 I2C interfaces with DMA  
The STR91xF 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 STR91xF 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 STR91xF 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/72  
Functional overview  
STR91xF  
high-impedance state when not selected. The STR91xF supports SPI multi-Master operation  
because it provides collision detection.  
Each SSP interface on the STR91xF has the following features:  
Full-duplex, three or four-wire synchronous transfers  
Master or Slave operation  
Programmable clock bit rate with prescaler, up to 24MHz for Master and 4MHz for Slave  
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 devices, and up to 48 GPIO  
pins on 6 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 2. 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 all unused GPIO pins to minimize power consumption and noise generation.  
28/72  
STR91xF  
Functional overview  
2.24 A/D converter (ADC)  
The STR91xF 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 2. Following are the major ADC features:  
Fast conversion time, as low as 2 usec  
Accuracy. Integral and differential non-linearity are both +/- 2 LSB (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. The voltage on AVREF can range  
from 1.0V to V  
.
DDQ  
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.  
2.25 Standard timers (TIM) with DMA  
The STR91xF 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  
One pulse generation in response to an external event  
A dedicated interrupt to the CPU with five interrupt flags  
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 transfers.  
29/72  
Functional overview  
STR91xF  
2.26 Three-phase induction motor controller (IMC)  
The STR91xF 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-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-bit PWM counter clock is supplied through a programmable 8-bit prescaler of the APB  
clock.  
Programmable 6-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  
2.27 External memory interface (EMI)  
STR91xF devices in 128-pin 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 2.  
The EMI has the following features:  
Supports static asynchronous memory access cycles, including page mode for non-mux  
operation  
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  
30/72  
STR91xF  
Functional overview  
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.  
Figure 4. EMI 16-bit multiplexed connection example  
STR91xx  
16-BIT  
DEVICE  
EMI_CS3n  
EMI_CS2n  
EMI_CS1n  
EMI_CS0n  
CHIP_SELECT  
EMI_WRHn  
EMI_BWR_WRLn  
EMI_RDn  
WRITE_HIGH_BYTE  
WRITE_LOW_BYTE  
READ  
EMI_ALE  
ADDR_LATCH  
P7.7  
P7.6  
P7.5  
P7.4  
P7.3  
P7.2  
P7.1  
P7.0  
(1)  
EMI_A23  
A23  
A22  
A21  
A20  
A19  
A18  
A17  
A16  
EMI_A22  
EMI_A21  
EMI_A20  
EMI_A19  
EMI_A18  
EMI_A17  
EMI_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  
31/72  
Functional overview  
STR91xF  
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  
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 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  
32/72  
STR91xF  
Related documentation  
3
Related documentation  
Available from www.arm.com:  
ARM966E-S Rev 2 Technical Reference Manual  
Available from www.st.com:  
STR91xF Reference Manual  
STR9 Flash Programming Manual (PM0020)  
The above is a selected list only, a full list STR91xF application notes can be viewed at  
http://www.st.com.  
33/72  
Pin description  
STR91xF  
4
Pin description  
Figure 7. STR91xFM 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  
STR91xFM  
80-pin LQFP  
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  
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 STR910FM devices. Pin 59 is not connected, pin 60 must be pulled up by a 1.5Kohm resistor to VDDQ.  
2) No USBCLK function on STR910FM devices.  
34/72  
STR91xF  
Pin description  
Figure 8. STR91xFW 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  
STR91xFW  
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 STR910FW devices. Pin 95 is not connected, pin 96 must be pulled up by a 1.5Kohm resistor to VDDQ.  
2) No USBCLK function on STR910FW devices.  
3) No PHYCLK function on STR910FW devices.  
35/72  
Pin description  
STR91xF  
4.1  
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 2.  
Simultaneously, certain port pin signals are also routed to other functional inputs as shown in  
the “Default Input Function” column of Table 2, 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 2 by writing to control registers at run-time.  
Notes for Table 2:  
Notes:1 STMicroelectronics advises to ground all unused 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 STR910F 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 STR910F 128-pin devices do not support Ethernet. On these devices PHYCLK and all  
functions named “MII*" are not available.  
Table 2.  
Pkg  
Device pin description  
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  
GPIO_0.1,  
GP Output  
GPIO_0.2,  
GP Output  
GPIO_0.3,  
GP Output  
GPIO_0.4,  
GP Output  
I2C0_CLKIN,  
I2C clock in  
I2C0_CLKOUT,  
I2C clock out  
ETM_PCK0,  
ETM Packet  
-
-
-
-
-
67  
69  
71  
76  
78  
P0.0  
P0.1  
P0.2  
P0.3  
P0.4  
I/O  
I/O  
I/O  
I/O  
I/O  
GP Input, HiZ PHY Xmit clock  
GPIO_0.1,  
I2C0_DIN,  
I2C0_DOUT,  
I2C data out  
ETM_PCK1,  
ETM Packet  
-
GP Input, HiZ  
I2C data in  
GPIO_0.2,  
MII_RXD0,  
I2C1_CLKIN,  
I2C clock in  
I2C1_CLKOUT,  
I2C clock out  
ETM_PCK2,  
ETM Packet  
GP Input, HiZ PHY Rx data0  
GPIO_0.3,  
GP Input, HiZ  
GPIO_0.4,  
MII_RXD1,  
PHY Rx data  
MII_RXD2,  
I2C1_DIN,  
I2C data in  
I2C1_DOUT,  
I2C data out  
EMI_CS0n,  
ETM_PCK3,  
ETM Packet  
TIM0_ICAP1,  
Input Capture  
ETM_PSTAT0,  
GP Input, HiZ  
PHY Rx data  
EMI Chip Select ETM pipe status  
36/72  
STR91xF  
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,  
TIM0_ICAP2,  
Input Capture  
TIM2_ICAP1,  
Input Capture  
TIM2_ICAP2,  
GPIO_0.5,  
GP Output  
GPIO_0.6,  
GP Output  
GPIO_0.7,  
GP Output  
EMI_CS1n,  
ETM_PSTAT1,  
-
-
-
85  
88  
90  
P0.5  
P0.6  
P0.7  
I/O  
I/O  
I/O  
EMI Chip Select ETM pipe status  
EMI_CS2n, ETM_PSTAT2,  
EMI Chip Select ETM pipe status  
EMI_CS3n, ETM_TRSYNC,  
EMI Chip Select ETM trace sync  
GP Input, HiZ PHY Rx clock  
GPIO_0.7, MII_RX_DV,  
GP Input, HiZ PHY data valid Input Capture  
GPIO_1.0,  
MII_RX_ER,  
ETM_EXTRIG,  
GPIO_1.0,  
GP Output  
GPIO_1.1,  
GP Output  
GPIO_1.2,  
GP Output  
GPIO_1.3,  
GP Output  
GPIO_1.4,  
GP Output  
GPIO_1.5,  
GP Output  
GPIO_1.6,  
GP Output  
GPIO_1.7,  
GP Output  
UART1_TX,  
UART xmit data SSP mstr clk out  
MII_TXD0, SSP1_MOSI,  
MAC Tx data SSP mstr dat out  
SSP1_SCLK,  
-
-
-
-
-
-
-
-
98  
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 PHY rcv error ETM ext. trigger  
GPIO_1.1,  
GP Input, HiZ  
GPIO_1.2,  
UART1_RX,  
UART rcv data  
SSP1_MISO,  
SSP mstr data in  
UART2_RX,  
99  
-
-
-
MII_TXD1,  
MAC Tx data  
MII_TXD2,  
UART0_TX,  
UART xmit data  
SSP1_NSS,  
101  
106  
109  
110  
114  
116  
GP Input, HiZ  
GPIO_1.3,  
GP Input, HiZ  
GPIO_1.4,  
UART rcv data  
MAC Tx data SSP mstr sel out  
MII_TXD3,  
MAC Tx data  
UART2_TX,  
I2C0_CLKIN,  
I2C clock in  
I2C0_CLKOUT,  
I2C clock out  
-
GP Input, HiZ  
GPIO_1.5,  
MII_COL,  
CAN_RX,  
CAN rcv data  
I2C0_DIN,  
ETM_TRCLK,  
GP Input, HiZ PHY collision  
GPIO_1.6, MII_CRS,  
UART xmit data ETM trace clock  
CAN_TX,  
CAN Tx data  
MII_MDC,  
I2C0_DOUT,  
I2C data out  
ETM_TRCLK,  
GP Input, HiZ PHY carrier sns  
I2C data in  
GPIO_1.7,  
ETM_EXTRIG,  
ETM ext. trigger  
-
GP Input, HiZ  
MAC mgt dat ck ETM trace clock  
GPIO_2.0,  
GP Input, HiZ Clear To Send  
GPIO_2.1, UART0_DSR,  
GP Input, HiZ Data Set Ready  
GPIO_2.2, UART0_DCD,  
GP Input, HiZ Dat Carrier Det  
GPIO_2.3, UART0_RI,  
GP Input, HiZ Ring Indicator  
UART0_CTS,  
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 clock in  
I2C0_CLKOUT,  
I2C clock out  
ETM_PCK0,  
ETM Packet  
7
8
10  
11  
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  
I2C0_DIN,  
I2C0_DOUT,  
I2C data out  
ETM_PCK1,  
ETM Packet  
I2C data in  
I2C1_CLKIN,  
I2C clock in  
I2C1_CLKOUT,  
I2C clock out  
ETM_PCK2,  
ETM Packet  
21 33  
22 35  
23 37  
29 45  
32 53  
33 54  
I2C1_DIN,  
I2C data in  
I2C1_DOUT,  
I2C data out  
SSP0_SCLK,  
ETM_PCK3,  
ETM Packet  
GPIO_2.4,  
GP Input, HiZ  
GPIO_2.5,  
SSP0_SCLK,  
SSP slv clk in  
SSP0_MOSI,  
SSP slv dat in  
SSP0_MISO,  
SSP mstr data in  
SSP0_NSS,  
ETM_PSTAT0,  
EXTCLK_T0T1  
Ext clk timer0/1  
SSP mstr clk out ETM pipe status  
SSP0_MOSI, ETM_PSTAT1,  
SSP mstr dat out ETM pipe status  
SSP0_MISO, ETM_PSTAT2,  
SSP slv data out ETM pipe status  
SSP0_NSS, ETM_TRSYNC,  
SSP mstr sel out ETM trace sync  
EXTCLK_T2T3  
Ext clk timer2/3  
GP Input, HiZ  
GPIO_2.6,  
-
GP Input, HiZ  
GPIO_2.7,  
USBCLK  
_P2.7  
USB_CLK48M,  
48MHz to USB  
GP Input, HiZ  
SSP slv sel in  
GPIO_3.0,  
DMA_RQST0,  
UART0_RxD,  
GPIO_3.0,  
GP Output  
GPIO_3.1,  
GP Output  
UART2_TX,  
UART xmit data  
UART0_TX,  
TIM0_OCMP1,  
Out comp/PWM  
34 55  
37 59  
P3.0  
P3.1  
I/O  
I/O  
GP Input, HiZ Ext DMA requst UART rcv data  
GPIO_3.1, DMA_RQST1, UART2_RxD,  
GP Input, HiZ Ext DMA requst UART rcv data  
TIM1_OCMP1,  
Out comp/PWM  
UART xmit data  
37/72  
Pin description  
STR91xF  
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.2,  
GP Input, HiZ  
GPIO_3.3,  
EXINT2,  
External Intr  
EXINT3,  
UART1_RxD,  
UART rcv data  
CAN_RX,  
GPIO_3.2,  
GP Output  
GPIO_3.3,  
GP Output  
GPIO_3.4,  
GP Output  
GPIO_3.5,  
GP Output  
GPIO_3.6,  
GP Output  
GPIO_3.7,  
GP Output  
CAN_TX,  
CAN Tx data  
UART1_TX,  
UART0_DTR,  
Data Trmnl Rdy  
UART0_RTS,  
38 60  
39 61  
40 63  
41 65  
42 66  
43 68  
P3.2  
P3.3  
P3.4  
P3.5  
P3.6  
P3.7  
I/O  
I/O  
I/O  
I/O  
I/O  
I/O  
GP Input, HiZ  
GPIO_3.4,  
External Intr  
EXINT4,  
CAN rcv data  
SSP1_SCLK,  
SSP slv clk in  
SSP1_MISO,  
UART xmit data Ready To Send  
SSP1_SCLK, UART0_TX,  
SSP mstr clk out UART xmit data  
SSP1_MISO, UART2_TX,  
SSP slv data out UART xmit data  
SSP1_MOSI, CAN_TX,  
SSP mstr dat out CAN Tx data  
GP Input, HiZ  
GPIO_3.5,  
External Intr  
EXINT5,  
GP Input, HiZ  
GPIO_3.6,  
External Intr SSP mstr data in  
EXINT6,  
External Intr  
EXINT7,  
SSP1_MOSI,  
SSP slv dat in  
SSP1_NSS,  
GP Input, HiZ  
GPIO_3.7,  
SSP1_NSS,  
TIM1_OCMP1,  
Out comp/PWM  
GP Input, HiZ  
External Intr SSP slv select in  
SSP mstr sel out  
GPIO_4.0,  
ADC0, TIM0_ICAP1,  
GPIO_4.0,  
GP Output  
GPIO_4.1,  
GP Output  
GPIO_4.2,  
GP Output  
GPIO_4.3,  
GP Output  
GPIO_4.4,  
GP Output  
GPIO_4.5,  
GP Output  
GPIO_4.6,  
GP Output  
GPIO_4.7,  
GP Output  
TIM0_OCMP1,  
Out comp/PWM  
ETM_PCK0,  
ETM Packet  
4
3
2
1
3
2
P4.0  
P4.1  
P4.2  
P4.3  
P4.4  
P4.5  
P4.6  
P4.7  
I/O  
I/O  
I/O  
I/O  
I/O  
I/O  
I/O  
I/O  
GP Input, HiZ ADC input chnl Input Capture  
GPIO_4.1, ADC1, TIM0_ICAP2,  
GP Input, HiZ ADC input chnl Input Capture  
GPIO_4.2, ADC2, TIM1_ICAP1,  
GP Input, HiZ ADC input chnl Input Capture  
GPIO_4.3, ADC3, TIM1_ICAP2,  
GP Input, HiZ ADC input chnl Input Capture  
GPIO_4.4, ADC4, TIM2_ICAP1,  
GP Input, HiZ ADC input chnl Input Capture  
GPIO_4.5, ADC5, TIM2_ICAP2,  
GP Input, HiZ ADC input chnl Input Capture  
GPIO_4.6, ADC6, TIM3_ICAP1,  
GP Input, HiZ ADC input chnl Input Capture  
GPIO_4.7, ADC7, TIM3_ICAP2,  
GP Input, HiZ ADC input chnl Input Capture  
TIM0_OCMP2,  
Out comp  
ETM_PCK1,  
ETM Packet  
TIM1_OCMP1,  
Out comp/PWM  
ETM_PCK2,  
ETM Packet  
1
TIM1_OCMP2,  
Out comp  
ETM_PCK3,  
ETM Packet  
128  
ETM_PSTAT0,  
ETM pipe status  
ETM_PSTAT1,  
ETM pipe status  
ETM_PSTAT2,  
ETM pipe status  
ETM_TRSYNC,  
ETM trace sync  
TIM2_OCMP1,  
Out comp/PWM  
80 127  
79 126  
78 125  
77 124  
TIM2_OCMP2,  
Out comp  
TIM3_OCMP1,  
Out comp/PWM  
TIM3_OCMP2,  
Out comp  
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,  
UART0_TX,  
9
12  
P5.0  
P5.1  
I/0  
I/0  
ETM trace clock UART xmit data  
CAN_TX,  
CAN Tx data  
MII_PHYCLK,  
UART2_TX,  
UART xmit data  
TIM3_OCMP1,  
12 18  
17 25  
18 27  
44 70  
47 77  
48 79  
49 80  
GP Input, HiZ  
GPIO_5.2,  
External Intr  
EXINT10,  
PHYCLK  
_P5.2  
I/O  
I/O  
I/O  
I/O  
I/O  
I/O  
25Mhz to PHY Out comp/PWM  
GP Input, HiZ  
GPIO_5.3,  
External Intr  
EXINT11,  
MII_TX_EN,  
MAC xmit enbl  
SSP0_SCLK,  
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,  
GP Input, HiZ  
GPIO_5.5,  
External Intr  
EXINT13,  
SSP mstr clk out EMI Chip Select  
SSP0_MOSI, EMI_CS1n,  
SSP mstr dat out EMI Chip Select  
SSP0_MISO, EMI_CS2n,  
SSP slv data out EMI Chip Select  
SSP0_NSS, EMI_CS3n,  
SSP mstr sel out EMI Chip Select  
GP Input, HiZ  
GPIO_5.6,  
External Intr  
EXINT14,  
GP Input, HiZ  
GPIO_5.7,  
External Intr  
EXINT15,  
GP Input, HiZ  
External Intr SSP slv select in  
38/72  
STR91xF  
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.0,  
GP Input, HiZ  
GPIO_6.1,  
EXINT16,  
External Intr  
EXINT17,  
TIM0_ICAP1,  
Input Capture  
TIM0_ICAP2,  
Input Capture  
TIM1_ICAP1,  
Input Capture  
TIM1_ICAP2,  
Input Capture  
TIM2_ICAP1,  
Input Capture  
TIM2_ICAP2,  
Input Capture  
GPIO_6.0,  
GP Output  
GPIO_6.1,  
GP Output  
GPIO_6.2,  
GP Output  
GPIO_6.3,  
GP Output  
GPIO_6.4,  
GP Output  
GPIO_6.5,  
GP Output  
GPIO_6.6,  
GP Output  
GPIO_6.7,  
GP Output  
MC_UH,  
IMC phase U hi  
MC_UL,  
TIM0_OCMP1,  
Out comp/PWM  
19 29  
20 31  
13 19  
14 20  
52 83  
53 84  
57 92  
58 93  
P6.0  
P6.1  
P6.2  
P6.3  
P6.4  
P6.5  
P6.6  
P6.7  
I/O  
I/O  
I/O  
I/O  
I/O  
I/O  
I/O  
I/O  
TIM0_OCMP2,  
Out comp  
GP Input, HiZ  
GPIO_6.2,  
External Intr  
EXINT18,  
IMC phase U lo  
MC_VH,  
TIM1_OCMP1,  
Out comp/PWM  
GP Input, HiZ  
GPIO_6.3,  
External Intr  
EXINT19,  
IMC phase V hi  
MC_VL,  
TIM1_OCMP2,  
Out comp  
GP Input, HiZ  
GPIO_6.4,  
External Intr  
EXINT20,  
IMC phase V lo  
MC_WH,  
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  
ETM_TRCLK,  
ETM trace clock  
UART0_TX,  
UART xmit data  
GPIO_6.6, EXINT22_TRIG, UART0_RxD,  
GP Input, HiZ Ext Intr & Tach UART rcv data  
GPIO_6.7, EXINT23_STOP, ETM_EXTRIG,  
GP Input, HiZ Ext Intr & Estop ETM ext. trigger  
TIM3_OCMP1,  
Out comp/PWM  
TIM3_OCMP2,  
Out comp  
GPIO_7.0,  
GP Input, HiZ  
GPIO_7.1,  
EXINT24,  
External Intr  
EXINT25,  
TIM0_ICAP1,  
Input Capture  
TIM0_ICAP2,  
Input Capture  
TIM2_ICAP1,  
Input Capture  
TIM2_ICAP2,  
Input Capture  
UART0_RxD,  
UART rcv data  
ETM_EXTRIG,  
ETM ext. trigger  
TIM3_ICAP1,  
Input Capture  
TIM3_ICAP2,  
Input Capture  
GPIO_7.0,  
GP Output  
GPIO_7.1,  
GP Output  
GPIO_7.2,  
GP Output  
GPIO_7.3,  
GP Output  
GPIO_7.4,  
GP Output  
GPIO_7.5,  
GP Output  
GPIO_7.6,  
GP Output  
GPIO_7.7,  
GP Output  
8b) EMI_A0,  
16b) EMI_A16  
8b) EMI_A1,  
16b) EMI_A17  
8b) EMI_A2,  
16b) EMI_A18  
8b) EMI_A3,  
16b) EMI_A19  
8b) EMI_A4,  
ETM_PCK0,  
ETM Packet  
-
-
-
-
-
-
-
-
5
6
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  
ETM_PCK1,  
ETM Packet  
GP Input, HiZ  
GPIO_7.2,  
External Intr  
EXINT26,  
ETM_PCK2,  
ETM Packet  
7
GP Input, HiZ  
GPIO_7.3,  
External Intr  
EXINT27,  
ETM_PCK3,  
ETM Packet  
13  
14  
15  
118  
119  
GP Input, HiZ  
GPIO_7.4,  
External Intr  
EXINT28,  
EMI_CS3n,  
GP Input, HiZ  
GPIO_7.5,  
External Intr  
EXINT29,  
16b) EMI_A20 EMI Chip Select  
8b) EMI_A5, EMI_CS2n,  
16b) EMI_A21 EMI Chip Select  
8b) EMI_A6, EMI_CS1n,  
16b) EMI_A22 EMI Chip Select  
GP Input, HiZ  
GPIO_7.6,  
External Intr  
EXINT30,  
GP Input, HiZ  
GPIO_7.7,  
External Intr  
EXINT31,  
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  
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  
-
-
-
-
-
26  
28  
30  
32  
34  
P8.0  
P8.1  
P8.2  
P8.3  
P8.4  
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  
39/72  
Pin description  
STR91xF  
Pkg  
Alternate functions  
Default Pin Default Input  
Pin Name  
Alternate  
Input 1  
Alternate  
Output 1  
Alternate  
Output 2  
Alternate  
Output 3  
Function  
Function  
GPIO_8.5,  
GP Input, HiZ  
GPIO_8.6,  
GPIO_8.5,  
GP Output  
GPIO_8.6,  
GP Output  
GPIO_8.7,  
GP Output  
8b) EMI_D5,  
16b) EMI_AD5  
8b) EMI_D6,  
16b) EMI_AD6  
8b) EMI_D7,  
16b) EMI_AD7  
-
-
-
36  
38  
44  
P8.5  
P8.6  
P8.7  
I/O  
I/O  
I/O  
-
-
-
-
-
-
-
-
-
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  
GPIO_9.4,  
GP Output  
GPIO_9.5,  
GP Output  
GPIO_9.6,  
GP Output  
GPIO_9.7,  
GP Output  
8b) EMI_A8  
16b) EMI_AD8  
8b) EMI_A9,  
-
-
-
-
-
-
-
-
46  
47  
50  
51  
52  
58  
62  
64  
P9.0  
P9.1  
P9.2  
P9.3  
P9.4  
P9.5  
P9.6  
P9.7  
I/O  
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  
8b) EMI_A12,  
16b)EMI_AD12  
8b) EMI_A13,  
16b)EMI_AD13  
8b) EMI_A14,  
16b)EMI_AD14  
8b) EMI_A15,  
16b)EMI_AD15  
GP Input, HiZ  
GPIO_9.3,  
GP Input, HiZ  
GPIO_9.4,  
GP Input, HiZ  
GPIO_9.5,  
GP Input, HiZ  
GPIO_9.6,  
GP Input, HiZ  
GPIO_9.7,  
GP Input, HiZ  
EMI byte write  
strobe (8 bit  
mode) or low  
byte write  
EMI_BWR  
_WRLn  
-
21  
O
N/A  
strobe (16 bit  
mode)  
EMI high byte  
write strobe  
(16-bit mode)  
-
-
22 EMI_WRHn  
O
O
N/A  
N/A  
EMI address  
latch enable  
(mux mode)  
74 EMI_ALE  
75 EMI_RDn  
EMI read  
strobe  
-
-
O
I
N/A  
N/A  
TAMPER  
_IN  
Tamper  
detection input  
91  
MAC/PHY  
-
94 MII_MDIO I/O managment  
data line  
N/A  
USB data (-)  
bus connect  
59 95  
60 96  
56 89  
USBDN I/O  
N/A  
N/A  
N/A  
USB data (+)  
bus connect  
USBDP  
I/O  
I
RESET  
_INn  
External reset  
input  
40/72  
STR91xF  
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  
Global or  
System reset  
output  
RESET  
_OUTn  
62 100  
O
N/A  
CPU oscillator  
or crystal input  
65 104 X1_CPU  
64 103 X2_CPU  
I
N/A  
N/A  
CPU crystal  
connection  
O
RTC oscillator  
or crystal input  
(32KHz)  
27 42 X1_RTC  
26 41 X2_RTC  
I
N/A  
RTC crystal  
connection  
O
N/A  
RTC_CAL,  
JTAG return  
clock  
61 97  
JRTCK  
O
N/A  
N/A  
RTC Oscillator  
Calibration Out  
JTAG TAP  
controller reset  
JTAG clock  
67 107 JTRSTn  
I
N/A  
68 108  
69 111  
JTCK  
JTMS  
I
I
N/A  
N/A  
JTAG mode  
select  
72 115  
73 117  
JTDI  
I
JTAG data in  
N/A  
N/A  
JTDO  
O
JTAG data out  
ADC analog  
voltage sourc,  
2.7V - 3.6V  
-
-
122  
4
AVDD  
AVSS  
V
N/A  
N/A  
ADC analog  
ground  
G
Common  
ground point  
for digital I/O &  
analog ADC  
AVSS  
_VSSQ  
5
-
-
G
V
N/A  
N/A  
ADC reference  
voltage input  
123 AVREF  
Combined  
ADC ref  
voltage and  
ADC analog  
voltagesource,  
AVREF  
_AVDD  
76  
-
V
V
N/A  
N/A  
2.7V - 3.6V  
Standby  
voltage input  
for RTC and  
SRAM backup  
24 39  
VBATT  
41/72  
Pin description  
STR91xF  
Pkg  
Alternate functions  
Default Pin Default Input  
Pin Name  
Alternate  
Input 1  
Alternate  
Output 1  
Alternate  
Output 2  
Alternate  
Output 3  
Function  
Function  
6
9
VDDQ  
VDDQ  
VDDQ  
VDDQ  
VDDQ  
VDDQ  
VDDQ  
VDDQ  
VSSQ  
VSSQ  
VSSQ  
VSSQ  
VSSQ  
VSSQ  
VSSQ  
VSSQ  
VDD  
V
V
V
V
V
V
V
V
G
G
G
G
G
G
G
G
V
V
V
V
G
G
G
G
15 23  
36 57  
46 73  
54 86  
28 43  
63 102  
74 120  
V Source for  
I/O and USB.  
2.7V to 3.6V  
N/A  
-
8
16 24  
35 56  
45 72  
55 87  
25 40  
66 105  
75 121  
11 17  
31 49  
50 81  
70 112  
10 16  
30 48  
51 82  
71 113  
Digital Ground  
for  
N/A  
!/O and USB  
V Source for  
CPU.  
VDD  
N/A  
N/A  
VDD  
1.65V - 2.0V  
VDD  
VSS  
VSS  
Digital Ground  
for CPU  
VSS  
VSS  
42/72  
STR91xF  
Memory mapping  
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 STR91xx 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 STR91xFx32 devices, and to 96K  
bytes on STR91xFx44 devices.  
43/72  
Memory mapping  
STR91xF  
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 STR91xF 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 STR91xF device configuration software tool, 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 STR91xx communication channel and  
program into primary Flash memory. Application code then starts after the new contents of  
primary Flash are verified.  
44/72  
STR91xF  
Memory mapping  
Notes for Figure 9: STR91xx memory map on page 46:  
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.  
45/72  
Memory mapping  
STR91xF  
Figure 9. STR91xx 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  
4 KB  
4 KB  
4 KB  
4 KB  
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  
SSP1  
APB1,  
AHB-  
to-APB  
Bridge  
RESERVED  
SSP0  
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  
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,  
4 KB  
4 KB  
4 KB  
4 KB  
4 KB  
4 KB  
4 KB  
4 KB  
4 KB  
4 KB  
4 KB  
4 KB  
4 KB  
4 KB  
4 KB  
4 KB  
APB1  
NON- BUFFERED  
ACCESS (3)  
AHB  
NON-  
BUFFERED  
APB0  
FMI  
SRAM, AHB (2)  
APB1  
PERIPHERAL BUS,  
BUFFERED ACCESS (3)  
APB0  
AHB  
BUFFERED  
FMI  
APB0,  
AHB-  
to-APB  
Bridge  
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  
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  
46/72  
STR91xF  
Electrical characteristics  
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 3.  
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 package)  
-0.3  
-0.3  
-0.3  
4.0  
4.0  
4.0  
V
V
V
AVREF  
Voltage on AVREF pin with respect to ground VSS  
(128-pin package)  
AVREF_AVDD  
VIN  
Voltage on AVREF_AVDD pin with respect to  
Ground VSS (80-pin package)  
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|  
+150  
TST  
Storage Temperature  
-55  
°C  
V
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.  
47/72  
Electrical characteristics  
STR91xF  
6.2  
Operating conditions  
Table 4.  
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  
VBATT  
AVDD  
AVREF  
2.5  
2.7  
1.0  
3.5  
3.6  
3.6  
V
V
V
Analog ADC supply voltage  
(128-pin package)  
Analog ADC reference voltage  
(128-pin package)  
Combined analog ADC  
reference and ADC supply  
voltage (80-pin package)  
AVREF_AVDD  
TA  
2.7  
-40  
3.6  
V
C
Ambient temperature under bias  
+85  
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 5.  
Symbol  
LVD Electrical Characteristics  
Parameter  
Value  
Typ  
Test  
Conditions  
Unit  
Min  
Max  
VDD_LVD  
VDD LVD Threshold  
VDDQ LVD Threshold  
1.35  
2.35  
2.65  
1.4  
2.4  
2.7  
1.45  
V
V
(1)  
(2)  
2.45  
2.75  
VDDQ_LVD  
VDD Brown Out Warning  
Threshold  
VDD_BRN  
1.6  
1.65  
1.7  
V
V
(1)  
(2)  
2.6  
2.9  
2.65  
2.95  
2.7  
3.0  
VDDQ Brown Out Warning  
Threshold  
VDDQ_BRN  
Notes:1 For VDDQ I/O voltage operating at 2.7 - 3.3V.  
2 For VDDQ I/O voltage operating at 3.0 - 3.6V.  
48/72  
STR91xF  
Electrical characteristics  
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 6.  
DC Electrical Characteristics  
Value  
Typ  
Symbol  
Parameter  
Test Conditions  
Unit  
Max  
Min  
General inputs  
2.0  
VIH  
Input High Level  
Input Low Level  
0.8VDDQ  
RESET and TCK inputs  
General inputs  
V
0.8  
VIL  
0.2VDDQ  
RESET and TCK inputs  
Input Hysteresis  
Schmitt Trigger  
VHYS  
General inputs  
0.4  
V
I/O ports 3 and 6:  
Output High Level  
High current pins  
VDDQ-0.7  
Push-Pull, I  
= 8mA  
OH  
VOH  
V
I/O ports 0,1,2,4,5,7,8,9:  
Push-Pull, I = 4mA  
Output High Level  
Standard current pins  
VDDQ-0.7  
OH  
I/O ports 3 and 6:  
Output Low Level  
High current pins  
0.4  
Push-Pull, I = 8mA  
OL  
VOL  
V
Output Low Level  
I/O ports 0,1,2,4,5,7,8,9:  
0.4  
Push-Pull, I = 4mA  
OL  
Standard current pins  
49/72  
Electrical characteristics  
STR91xF  
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 7.  
Symbol  
AC electrical characteristics  
Value  
Typ  
Parameter  
Test Conditions  
Unit  
Min  
Max  
CPU_CLK =  
96MHz [1]  
IDDRUN  
Run Mode Current  
1.7  
2.3  
mA/MHz  
mA/MHz  
mA/MHz  
All peripherals on  
[2]  
1.14  
0.45  
1.7  
IIDLE  
Idle Mode Current  
All peripherals off  
[3]  
0.75  
LVD On [4]  
LVD Off [4]  
55  
50  
825  
820  
µA  
µA  
ISLEEP  
Sleep Mode Current  
Measured on  
VBATT pin  
IRTC_STBY  
RTC Standby Current  
SRAM Standby Current  
0.3  
5
0.9  
85  
µA  
µA  
Measured on  
VBATT pin  
ISRAM_STBY  
Notes: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 ARM core stopped and all peripheral clocks active.  
3 ARM core stopped and all peripheral clocks stopped.  
4 ARM core and all peripheral clocks stopped (with exception of RTC).  
Figure 10. Sleep Mode current vs temperature  
2000  
1800  
Max  
1600  
1400  
1200  
Typical  
1000  
800  
600  
400  
200  
0
40  
TEMP [°C]  
-40  
-20  
0
60  
80  
100  
20  
120  
50/72  
STR91xF  
Electrical characteristics  
Table 8.  
AC electrical characteristics  
Value  
Symbol  
Parameter  
Test Conditions  
Unit  
Min  
Typ  
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  
fBCLK  
96  
66  
MHz  
MHz  
External Memory Bus clock  
(internal clock)  
fRTC  
RTC Clock  
32.768  
25  
kHz  
MHz  
MHz  
fEMAC  
fUSB  
EMAC PHY Clock  
USB Clock  
48  
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 9.  
Symbol  
RESET_INn and Power-On-Reset Characteristics  
Value  
Typ  
Parameter  
Test Conditions  
Unit  
ns  
Min  
Max  
tRINMIN  
tPOR  
RESET_INn Valid Active Low  
100  
V
DDQ,VDD ramp  
Power-On-Reset Condition  
duration  
10  
ms  
time is less than  
10ms  
RESET_OUT Duration  
(Watchdog reset)  
one  
PCLK  
tRSO  
ns  
51/72  
Electrical characteristics  
STR91xF  
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 10. Main oscillator electrical characteristics  
Value  
Typ  
Symbol  
Parameter  
Test Conditions  
Unit  
Min  
Max  
tSTUP(OSC)  
Stable VDDQ  
Oscillator Start-up Time  
3
mS  
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 11. RTC oscillator electrical characteristics  
Value  
Typ  
Symbol  
Parameter  
Test Conditions  
Unit  
Min  
Max  
LVD 1)  
gM(RTC)  
Oscillator Start _voltage  
Oscillator Start-up Time  
V
S
Stable V  
DDQ  
tSTUP(RTC)  
1
Notes:1 Min oscillator start voltage is the same as low voltage detect level (2.4V or 2.7V) for VDDQ  
Table 12. 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
52/72  
STR91xF  
Electrical characteristics  
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 13. PLL Electrical Characteristics  
Value  
Symbol  
Parameter  
Test Conditions  
Unit  
Min  
6.25  
4
Typ  
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)  
0.2  
ns  
tJITTER  
53/72  
Electrical characteristics  
STR91xF  
6.10 Flash memory characteristics  
V
= 2.7 - 3.6V, V = 1.65 - 2V, T = -40 / 85 °C unless otherwise specified.  
DD A  
DDQ  
Table 14. Flash memory program/erase characteristics  
Value  
Typ after  
100K W/E  
cycles2)  
Parameter  
Test Conditions  
Unit  
Max  
Typ2)  
Primary Bank  
(512 Kbytes)1)  
7
TBD  
TBD  
TBD  
s
s
Primary Bank  
(256 Kbytes)1)  
Bank erase  
4
TBD  
TBD  
TBD  
TBD  
TBD  
TBD  
TBD  
TBD  
Secondary Bank  
(32 Kbytes)  
700  
1200  
300  
3700  
1900  
250  
600  
TBD ms  
TBD ms  
TBD ms  
TBD ms  
TBD ms  
TBD ms  
TBD ms  
TBD ms  
Of Primary Bank  
(64 Kbytes)  
Sector erase  
Bank program  
Of Secondary Bank  
(8 Kbytes)  
Primary Bank  
(512 Kbytes)1)  
Primary Bank  
(256 Kbytes)1)  
Secondary Bank  
(32 Kbytes)  
Of Primary Bank  
(64 Kbytes)  
Sector program  
Word program  
Of Secondary Bank  
(8 Kbytes)  
60  
8
TBD  
TBD  
TBD  
TBD  
µs  
µs  
Sector erase  
timeout  
Notes:1 STR91xFx44 devices have 512 Kbytes primary Flash, STR91xFx32 devices have 256 Kbytes  
primary Flash  
2 V = 1.8V, V  
= 3.3V T = 25°C.  
, A  
DD  
DDQ  
Table 15. Flash memory endurance  
Value  
Typ  
Parameter  
Test Conditions  
Per word  
Unit  
Min  
Max  
Program/erase cycles  
Data retention  
100K  
20  
cycles  
years  
54/72  
STR91xF  
Electrical characteristics  
6.11 External memory bus timings  
V
= 2.7 - 3.6V, V = 1.65 - 2V, T = -40 / 85 °C unless otherwise specified.  
DD A  
DDQ  
Table 16. EMI Bus Clock Period  
Symbol  
Parameter  
EMI Bus Clock period  
Value  
tBCLK  
1 /(fHCLK x EMI_ratio)  
Notes:1 EMI Bus clock is an internal clock only and is not available on the EMI bus pin  
2 EMI_ratio =1/ 2 by default (can be programmed to be 1 by setting the proper bits in the  
SCU_CLKCNTR register)  
Table 17. EMI read operation  
Value  
Symbol  
Parameter  
Unit  
Min  
Typ  
Max  
tRCR  
Read to CSn inactive  
Read Pulse Width  
0
ns  
ns  
(WSTRD-WSTOEN+1)*  
tBCLK  
tRP  
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
ns  
ns  
ns  
ns  
ns  
ns  
ns  
0
(WSTOEN)* tBCLK  
0
(ALE_LENGTH)* tBCLK  
tBCLK/2  
tAAH  
tAAS  
Address to ALE hold time  
Address to ALE setup time  
(ALE_LENGTH)* tBCLK  
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)  
55/72  
Electrical characteristics  
STR91xF  
Figure 11. 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 12. 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  
56/72  
STR91xF  
Electrical characteristics  
Table 18. EMI write operation  
Value  
Test  
Conditions  
Symbol  
Parameter  
Unit  
Typ  
tWCR  
tWP  
tBCLK/2  
WRn to CSn inactive  
Write Pulse Width  
ns  
(WSTWR-WSTWEN+1) x tBCLK  
(WSTWEN+1/2) x tBCLK  
ns  
ns  
Write Data Setup Time  
(non-mux mode)  
ALE length=1  
WSTWEN>2  
tWDS  
(WSTWEN - 1.5) x tBCLK  
Write Data Setup Time  
(mux mode )  
ALE length=2  
WSTWEN>3  
(WSTWEN - 2.5) x tBCLK  
tBCLK/2  
tWDH  
tWAS  
tWAH  
tAW  
Write Data Hold Time  
Write Address Setup Time  
Write Address Hold Time  
ALE pulse width  
ns  
ns  
ns  
ns  
ns  
ns  
4)  
(WSTWEN+1/2) x tBCLK  
tBCLK/2  
(ALE_LENGTH) x tBCLK  
tBCLK/2  
tAAH  
tAAS  
Address to ALE hold time  
Address to ALE setup time  
(ALE_LENGTH) x tBCLK  
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  
Figure 13. Non-Mux Bus (8-bit) write timings  
EMI_CSxn  
tWCR  
Address  
Data  
EMI_A[15:0]  
EMI_D[7:0]  
tWAH  
tWDH  
tWAS  
tWDS  
tWP  
EMI_BWR_WRLn  
57/72  
Electrical characteristics  
STR91xF  
Figure 14. 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  
58/72  
STR91xF  
Electrical characteristics  
6.12 ADC electrical characteristics  
V
= 2.7 - 3.6V, V = 1.65 - 2V, T = -40 / 85 °C unless otherwise specified.  
DD A  
DDQ  
Table 19. ADC Electrical Characteristics  
Value  
Symbol  
Parameter  
Test Conditions  
Unit  
Min  
Typ  
Max  
AVREF  
10  
VAIN  
Input Voltage Range  
Resolution  
0
V
Bits  
N
RES  
NCH  
Number of Input Channels  
ADC Clock Frequency  
Start Up Time  
8
fADC  
0.1  
3.4  
MHz  
µs  
Return From Idle  
TBD  
Track and Hold Acquisition  
Time  
TBD  
ns  
fADC  
fADC  
=
=
Conversion Time  
Throughput Rate  
Input Capacitance  
Input Impedance  
Differential Non-Linearity  
Integral Non-Linearity  
Offset Error  
2
µs  
ksps  
pF  
6.25  
212.5  
TBD  
TBD  
TBD  
TBD  
TBD  
TBD  
TBD  
TBD  
TBD  
CIN  
ZIN  
ED  
MW  
LSB[3]  
LSB  
LSB  
LSB  
LSB  
mA  
[1] [2]  
[1]  
3.5  
5
EL  
EO  
[1]  
3
EG  
Gain Error  
[1]  
1
ET  
Absolute Error  
[1]  
4
IADC  
ISTBY  
Power Consumption  
Standby Power Consumption  
µA  
Notes:1 Conditions: A  
= 0 V, AV = 3.3 V.  
DD  
VSS  
2 The A/D is monotonic, there are no missing codes.  
3 1 LSB = (V - V )/1024  
DDA  
SSA  
59/72  
Electrical characteristics  
STR91xF  
Figure 15. 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  
VDDA  
VSSA  
60/72  
STR91xF  
Electrical characteristics  
6.13 Communication interface electrical characteristics  
6.13.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 16. MII_RX_CLK and MII_TX_CLK timing diagram  
3
MII_RX_TCLK, MII_TX_CLK  
2
4
4
1
Table 20. 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 17. MDC timing diagram  
3
MDC  
2
4
4
1
Table 21. 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 18. Ethernet MII management timing diagram  
MDC  
1
MDIO  
output  
2
3
MDIO  
input  
61/72  
Electrical characteristics  
STR91xF  
Table 22. 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 19. 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 23. 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  
62/72  
STR91xF  
Ethernet MII Receive timings  
Electrical characteristics  
Figure 20. Ethernet MII receive timing diagram  
MII_RX_CLK  
2
1
MII_RXD  
MII_RX_DV  
MII_RX_ER  
Figure 21. 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.13.2 USB electrical interface characteristics  
USB 2.0 Compliant in Full Speed Mode  
6.13.3 CAN interface electrical characteristics  
Conforms to CAN 2.0B protocol specification  
63/72  
Electrical characteristics  
STR91xF  
2
6.13.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 24. 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
64/72  
STR91xF  
Electrical characteristics  
6.13.5 SPI electrical characteristics  
V
= 2.7 - 3.6V, V = 1.65 - 2V, T = -40 / 85 °C unless otherwise specified.  
DD A  
DDQ  
Table 25. 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 22. SPI slave timing diagram with CPHA=0 1)  
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)  
LSB IN  
MSB IN  
BIT1 IN  
MOSI  
Notes:1 Measurement points are done at CMOS levels: 0.3xV and 0.7xV  
.
DD  
DD  
65/72  
Electrical characteristics  
STR91xF  
1)  
Figure 23. 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  
HZ  
MSB OUT  
BIT6 OUT  
LSB OUT  
tsu(SI)  
th(SI)  
MSB IN  
LSB IN  
BIT1 IN  
MOSI INPUT  
1)  
Figure 24. 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  
Notes:1 Measurement points are done at CMOS levels: 0.3xV and 0.7xV  
.
DD  
DD  
66/72  
STR91xF  
Electrical characteristics  
6.14 JTAG interface electrical characteristics  
Table 26. JTAG interface electrical characteristics  
Value  
Symbol  
Parameter  
Unit  
Max  
Min  
tJTCKL  
3(1/fCPUCLK  
3(1/fCPUCLK  
)
JTCK Low  
JTCK High  
JTCK Period  
ns  
ns  
ns  
ns  
ns  
ns  
tJTCKH  
tJTCKP  
tJTSU  
)
10(1/fCPUCLK  
)
JTDI, JTMS Setup before JTCK High  
JTDI Hold after JTCK High  
JTMS Hold after JTCK High  
JTDO Hold Time  
4
4
tJTHLD  
tJTMSHLD  
tJDHLD  
tJDVAL  
fJRTCK  
3(1/fCPUCLK  
)
20  
20  
ns  
ns  
JTDO Low to JTDO Valid  
JRTCK Frequency  
fCPUCLK/ 10  
67/72  
Package mechanical data  
STR91xF  
7
Package mechanical data  
Figure 25. 80-Pin Low Profile Quad Flat Package  
SEATING  
PLANE  
mm  
inches  
Dim.  
C
Min Typ Max Min Typ Max  
A
1.60  
0.063  
0.006  
0.25 mm  
A1 0.05  
0.15 0.002  
GAGE PLANE  
A2 1.35 1.40 1.45 0.053 0.055 0.057  
ccc  
C
b
c
0.17 0.22 0.27 0.007 0.009 0.011  
0.09 0.20 0.004 0.008  
D
D1  
D3  
L
D
14.00  
12.00  
9.50  
0.551  
0.472  
0.374  
0.551  
0.472  
0.374  
0.020  
L1  
D1  
D2  
E
60  
41  
61  
40  
14.00  
12.00  
9.50  
E1  
E2  
e
b
E
E1  
E3  
0.50  
L
0.45 0.60 0.75 0.018 0.024 0.030  
1.00 0.039  
L1  
k
80  
21  
0d  
7d  
0d  
7d  
ddd  
0.08  
0.003  
1
20  
Number of Pins  
e
PIN 1  
IDENTIFICATION  
N
80  
Figure 26. 128-Pin Low Profile Quad Flat Package  
SEATING  
PLANE  
mm  
inches  
Dim.  
C
Min Typ Max Min Typ Max  
A
1.60  
0.063  
0.006  
0.25 mm  
A1 0.05  
0.15 0.002  
GAGE PLANE  
A2 1.35 1.40 1.45 0.053 0.055 0.057  
ccc  
C
b
c
0.13 0.18 0.23 0.005 0.007 0.009  
0.09 0.20 0.004 0.008  
15.80 16.00 16.20 0.622 0.630 0.638  
D
D1  
D3  
L
D
L1  
D1 13.80 14.00 14.20 0.543 0.551 0.559  
96  
65  
D3  
E
12.40  
0.488  
97  
64  
15.80 16.00 16.20 0.622 0.630 0.638  
E1 13.80 14.00 14.20 0.543 0.551 0.559  
b
E3  
e
12.40  
0.40  
0.488  
0.016  
E
E1  
E3  
L
0.45 0.60 0.75 0.018 0.024 0.030  
L1  
k
1.00  
0d 3.5d 7d  
0.08  
0.039  
128  
33  
0d 3.5d 7d  
ccc  
0.003  
1
32  
Number of Pins  
e
PIN 1  
IDENTIFICATION  
N
128  
68/72  
STR91xF  
Ordering information  
8
Ordering information  
Table 27. Ordering information  
Part Number  
Flash KB RAM KB  
Major Peripherals  
Package  
LQFP80,  
12x12mm  
STR910FM32X6  
256+32  
256+32  
64  
64  
CAN, 48 I/Os  
LQFP128,  
14x14mm  
STR910FW32X6  
CAN, EMI, 80 I/Os  
USB, CAN, 48 I/Os  
STR911FM42X6  
STR911FM44X6  
STR912FW42X6  
STR912FW44X6  
256+32  
512+32  
256+32  
512+32  
96  
96  
96  
96  
LQFP80,  
12x12mm  
LQFP128,  
14x14mm  
Ethernet, USB, CAN, EMI, 80 I/Os  
69/72  
Ordering information  
STR91xF  
Table 28. Ordering information scheme  
STR9  
1
2
F
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  
No. of pins  
M = 80  
W = 128  
SRAM size  
3 = 64K  
4 = 96K  
Program Memory Size  
2 = 256K  
4 = 512K  
Package  
X = plastic LQFP  
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.  
70/72  
STR91xF  
Revision history  
9
Revision history  
Date  
Revision  
Changes  
12-Apr-2006  
1
Initial release  
71/72  
STR91xF  
Information furnished is believed to be accurate and reliable. However, STMicroelectronics assumes no responsibility for the consequences  
of use of such information nor for any infringement of patents or other rights of third parties which may result from its use. No license is granted  
by implication or otherwise under any patent or patent rights of STMicroelectronics. Specifications mentioned in this publication are subject  
to change without notice. This publication supersedes and replaces all information previously supplied. STMicroelectronics products are not  
authorized for use as critical components in life support devices or systems without express written approval of STMicroelectronics.  
The ST logo is a registered trademark of STMicroelectronics.  
All other names are the property of their respective owners  
© 2006 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  
72/72  

相关型号:

STR910FM42X6T

ARM966E-S 16/32-Bit Flash MCU with Ethernet, USB, CAN, AC Motor Control, 4 Timers, ADC, RTC, DMA
STMICROELECTR

STR910FM44X6T

ARM966E-S 16/32-Bit Flash MCU with Ethernet, USB, CAN, AC Motor Control, 4 Timers, ADC, RTC, DMA
STMICROELECTR

STR910FM92X6T

ARM966E-S TM 16/32-Bit Flash MCU with Ethernet, USB, CAN, AC motor control, 4 timers, ADC, RTC, DMA
STMICROELECTR

STR910FM94X6T

ARM966E-S TM 16/32-Bit Flash MCU with Ethernet, USB, CAN, AC motor control, 4 timers, ADC, RTC, DMA
STMICROELECTR

STR910FW32X6

ARM966E-S TM 16/32-Bit Flash MCU with Ethernet, USB, CAN, AC motor control, 4 timers, ADC, RTC, DMA
STMICROELECTR

STR910FW32X6T

ARM966E-S 16/32-Bit Flash MCU with Ethernet, USB, CAN, AC Motor Control, 4 Timers, ADC, RTC, DMA
STMICROELECTR

STR910FW34X6T

ARM966E-S 16/32-Bit Flash MCU with Ethernet, USB, CAN, AC Motor Control, 4 Timers, ADC, RTC, DMA
STMICROELECTR

STR910FW42X6T

ARM966E-S 16/32-Bit Flash MCU with Ethernet, USB, CAN, AC Motor Control, 4 Timers, ADC, RTC, DMA
STMICROELECTR

STR910FW44X6T

ARM966E-S 16/32-Bit Flash MCU with Ethernet, USB, CAN, AC Motor Control, 4 Timers, ADC, RTC, DMA
STMICROELECTR

STR910FW92X6T

ARM966E-S TM 16/32-Bit Flash MCU with Ethernet, USB, CAN, AC motor control, 4 timers, ADC, RTC, DMA
STMICROELECTR

STR910FW94X6T

ARM966E-S TM 16/32-Bit Flash MCU with Ethernet, USB, CAN, AC motor control, 4 timers, ADC, RTC, DMA
STMICROELECTR

STR911FAM32H6T

ARM966E-S⑩ 16/32-Bit Flash MCU with Ethernet, USB, CAN, AC motor control, 4 timers, ADC, RTC, DMA
STMICROELECTR