ST10F280
16-bit MCU with MAC unit,
512 Kbyte Flash memory and 18 Kbyte RAM
Datasheet
−
production data
Features
■
High performance cpu with dsp functions
– 16-bit CPU with 4-stage pipeline.
– 50ns Instruction cycle time at 40MHz CPU
clock
– Multiply/accumulate unit (MAC) 16 x 16-bit
multiplication, 40-bit accumulator
– Repeat unit
– Enhanced boolean bit manipulation
facilities
– Additional instructions to support hll and
operating systems
– Single-cycle context switching support
Memory organization
– 512KB on-chip Flash memory single
voltage with erase/program controller
– 100K erasing/programming cycles
– 20 year data retention time
– Up to 16MB linear address space for code
and data (5MB with CAN)
– 2KB on-chip internal ram (IRAM)
– 16KB extension RAM (XRAM)
Fast and flexible bus
– Programmable external bus characteristics
for different address ranges
– 8-bit or 16-bit external data bus
– Multiplexed or demultiplexed external
address/data buses
– Five programmable chip-select signals
– Hold-acknowledge bus arbitration support
Interrupt
– 8-channel peripheral event controller for
single cycle, interrupt driven data transfer
– 16-priority-level interrupt system with 56
sources, sample-rate down to 25ns
Two multi-functional general purpose timer
units with 5 timers
Two 16-channel capture/compare units
PBGA208 (23 x 23 x 1.96 - Pitch 1.27 mm)
(Plastic Bold Grid Array)
ORDER CODE:
ST10F280-JT3
■
A/D converter
– 2X16-channel 10-bit
– 4.85μs conversion time
– One timer for adc channel injection
8-channel PWM unit
Serial channels
– Synchronous/async serial channel
– High-speed synchronous channel
Fail-safe protection
– Programmable watchdog timer
– Oscillator watchdog
Two CAN 2.0b interfaces operating on one or
two can busses (30 or 2x15 message objects)
On-chip bootstrap loader
Clock generation
– On-chip PLL
– Direct or prescaled clock input
Up to 143 general purpose i/o lines
– Individually programmable as input, output
or special function
– Programmable threshold (hysteresis)
Idle and power down modes
Maximum cpu frequency 40MHz
Package PBGA 208 balls (23 x 23 x 1.96 mm -
pitch 1.27 mm)
Single voltage supply: 5 V ±10% (embedded
regulator for 3.3 V core supply)
Temperature range: -40°C to 125°C
■
■
■
■
■
■
■
■
■
■
■
■
■
■
■
■
■
September 2013
This is information on a product in full production.
Doc ID 8673 Rev 4
1/239
www.st.com
1
Contents
ST10F280
Contents
1
2
3
4
Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Ball data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Functional description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
Memory organization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
4.1
Visibility of XBUS peripherals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
5
Internal Flash memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
5.1
5.2
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Operational overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
5.2.1
5.2.2
5.2.3
5.2.4
5.2.5
5.2.6
5.2.7
5.2.8
Read mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Instructions and commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Status register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Erase operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Erase suspend . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
In-system programming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Read/write protection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Power supply, reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
5.3
Architectural description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
5.3.1
5.3.2
5.3.3
5.3.4
5.3.5
5.3.6
Read mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Command mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Flash Status Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
Flash Protection Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Instructions description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Reset processing and initial State . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
5.4
5.5
Flash memory configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
Application examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
5.5.1
5.5.2
5.5.3
Handling of Flash addresses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
Basic Flash access control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
Programming examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
5.6
Bootstrap loader . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
5.6.1
Entering the bootstrap loader . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
2/239
Doc ID 8673 Rev 4
ST10F280
5.6.2
5.6.3
5.6.4
5.6.5
Contents
Memory configuration after reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
Loading the startup code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
Exiting bootstrap loader mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
Choosing the baud rate for the BSL . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
6
Central Processing Unit (CPU) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
6.1
6.2
6.3
Multiplier-accumulator Unit (MAC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
6.1.1
Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
Instruction set summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
MAC coprocessor specific instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
7
External bus controller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
7.1
7.2
Programmable chip select timing control . . . . . . . . . . . . . . . . . . . . . . . . . 63
READY programmable polarity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
8
Interrupt system . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
8.1
8.2
8.3
8.4
External interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
Interrupt registers and vectors location list . . . . . . . . . . . . . . . . . . . . . . . . 68
Interrupt Control Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
Exception and error traps list . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
9
10
Capture/Compare (CAPCOM) units . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
General purpose timer unit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
10.1
10.2
GPT1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
GPT2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
11
PWM module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
11.1
11.2
Standard PWM module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
New PWM module: XPWM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
11.2.1
11.2.2
11.2.3
11.2.4
11.2.5
11.2.6
Operating modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
XPWM module registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
XPWM Control Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
Interrupt request generation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
XPWM output signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
XPOLAR Register (polarity of the XPWM channel) . . . . . . . . . . . . . . . . 92
Doc ID 8673 Rev 4
3/239
Contents
ST10F280
12
Parallel ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
12.1
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
12.1.1
12.1.2
12.1.3
12.1.4
Open drain mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
Input threshold control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
Output driver control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
Alternate port functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
12.2
12.3
12.4
12.5
12.6
12.7
12.8
12.9
Port 0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
12.2.1
Alternate functions of Port 0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
Port 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
12.3.1
Alternate functions of Port 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
Port 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
12.4.1
Alternate functions of Port 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
Port 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
12.5.1
Alternate functions of Port 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
Port 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
12.6.1
Alternate functions of Port 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
Port 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
12.7.1
Alternate functions of Port 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
Port 6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
12.8.1
Alternate functions of Port 6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
Port 7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
12.9.1
Alternate functions of Port 7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
12.10 Port 8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
12.10.1 Alternate functions of Port 8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
12.11 XPort 9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
12.12 XPort 10 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
12.12.1 Alternate functions of XPort 10 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
12.12.2 New disturb protection on analog inputs . . . . . . . . . . . . . . . . . . . . . . . 139
13
A/D converter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
13.1
13.2
13.3
A/D converter module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
Multiplexage of two blocks of 16 analog Inputs . . . . . . . . . . . . . . . . . . . 140
XTIMER peripheral (trigger for ADC channel injection) . . . . . . . . . . . . . 141
13.3.1
13.3.2
Main features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
Register description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
4/239
Doc ID 8673 Rev 4
ST10F280
13.3.3
Contents
Block diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
14
Serial channels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
14.1
Asynchronous / Synchronous Serial Interface (ASCO) . . . . . . . . . . . . . 148
14.1.1
14.1.2
ASCO in asynchronous mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
ASCO in synchronous mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
14.2
High speed synchronous serial channel (SSC) . . . . . . . . . . . . . . . . . . . 152
14.2.1
Baud rate generation
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
15
CAN modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
15.1
Memory mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
15.1.1
15.1.2
CAN1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
CAN2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
15.2
CAN bus configurations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
15.2.1
15.2.2
Single CAN bus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
Multiple CAN bus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
15.3
15.4
Register and message object organization . . . . . . . . . . . . . . . . . . . . . . 157
CAN interrupt handling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
15.4.1
15.4.2
Bit timing configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162
Mask registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
15.5
15.6
The message object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165
Arbitration Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168
16
17
Watchdog timer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
System reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
17.1
Asynchronous reset (long hardware reset) . . . . . . . . . . . . . . . . . . . . . . 171
17.1.1
17.1.2
17.1.3
Power-on reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
Hardware reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
Exit of asynchronous reset state . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
17.2
17.3
17.4
17.5
17.6
Synchronous reset (warm reset) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172
17.2.1
Exit of synchronous reset state . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172
Software reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
Watchdog timer reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
RSTOUT pin and bidirectional reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175
Reset circuitry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175
Doc ID 8673 Rev 4
5/239