电子工程世界电子工程世界电子工程世界

型号

产品描述

搜索

ST72F561R9TC

器件型号:ST72F561R9TC
器件类别:半导体    嵌入式处理器和控制器   
厂商名称:STMICROELECTRONICS
厂商官网:http://www.st.com/
下载文档

器件描述

8-bit Microcontrollers - MCU Flash 60K SPI/2SCI/C

参数

产品属性属性值
产品种类:
Product Category:
8-bit Microcontrollers - MCU
制造商:
Manufacturer:
STMicroelectronics
RoHS:No
安装风格:
Mounting Style:
SMD/SMT
封装 / 箱体:
Package / Case:
LQFP-64
系列:
Series:
ST72F561R9
Core:ST7
Data Bus Width:8 bit
Maximum Clock Frequency:8 MHz
Program Memory Size:60 kB
Data RAM Size:2 kB
ADC Resolution:10 bit
Number of I/Os:48 I/O
工作电源电压:
Operating Supply Voltage:
4.5 V to 5.5 V
最大工作温度:
Maximum Operating Temperature:
+ 125 C
接口类型:
Interface Type:
CAN, SCI, SPI
封装:
Packaging:
Tray
商标:
Brand:
STMicroelectronics
Data ROM Type:Flash
高度:
Height:
1.4 mm
长度:
Length:
14 mm
最小工作温度:
Minimum Operating Temperature:
- 40 C
Moisture Sensitive:Yes
Number of ADC Channels:16
Number of Timers/Counters:5 Timer
Processor Series:ST72F5x
Program Memory Type:Flash
工厂包装数量:
Factory Pack Quantity:
540
电源电压-最大:
Supply Voltage - Max:
5.5 V
电源电压-最小:
Supply Voltage - Min:
4.5 V
宽度:
Width:
14 mm
单位重量:
Unit Weight:
0.012088 oz

ST72F561R9TC器件文档内容

                                                                            ST72561xx-Auto

                                   8-bit MCU for automotive with Flash or ROM,

                             10-bit ADC, 5 timers, SPI, LINSCI™, active CAN

Features

■  Memories

   –  16 K to 60 K High Density Flash (HDFlash)                  LQFP32 7x7mm      LQFP44 10x10mm

      or ROM with read-out protection capability.

      In-application programming and in-circuit

      programming for HDFlash devices

   –  1 to 2 K RAM

   –  HDFlash endurance: 100 cycles, data                        LQFP64 10x10mm    LQFP64 14x14mm

      retention 20 years at 55 °C

■  Clock, reset and supply management                 ■  Up to 4 communications interfaces

   –  Low power crystal/ceramic resonator                –       SPI synchronous serial interface

      oscillators and bypass for external clock          –       Master/ slave LINSCI™ asynchronous

   –  PLL for 2 x frequency multiplication                       serial interface

   –  5 power saving modes: halt, auto wake up           –       Master only LINSCI™ asynchronous serial

      from halt, active halt, wait and slow                      interface

   Interrupt management                                  –       CAN 2.0B active

■                                                        Analog peripheral (low current coupling)

   –  Nested interrupt controller                     ■

   –  14 interrupt vectors plus TRAP and RESET           –       10-bit A/D converter with up to 16 inputs

   –  TLI top level interrupt (on 64-pin devices)        –       Up to 9 robust ports (low current coupling)

   –  Up to 21 ext. interrupt lines (on 4 vectors)    ■  Instruction set

■  Up to 48 I/O ports                                    –       8-bit data manipulation

   –  Up to 48 multifunctional bidirectional I/Os        –       63 basic instructions, 17 main addressing

   –  Up to 36 alternate I/O functions                           modes

   –  Up to 6 high sink outputs                          –       8 x 8 unsigned multiply instruction

   5 timers                                           ■  Development tools

■                                                        –       Full hardware/ software development

   –  16-bit timer with 2 input captures, 2 output               package

      compares, external clock input, PWM and

      pulse generator modes                           Table 1.    Device summary

   –  8-bit timer with 1 or 2 input captures, 1 or 2  Reference                    Part number

      output compares, PWM and pulse

      generator modes                                                   ST72561K4-Auto, ST72561K6-Auto,

   –  8-bit PWM auto-reload timer with 1 or 2                           ST72561K7-Auto, ST72561K9-Auto,

      input captures, 2 or 4 independent PWM                            ST72561J4-Auto, ST72561J6-Auto,

      output channels, output compare and time        ST72561xx-        ST72561J7-Auto, ST72561J9-Auto,

      base interrupt, external clock with event          Auto           ST72561R4-Auto, ST72561R6-Auto,

      detector                                                          ST72561R7-Auto, ST72561R9-Auto,

   –  Main clock controller with real-time base                         ST72561AR4-Auto, ST72561AR6-Auto,

      and clock output                                                  ST72561AR7-Auto, ST72561AR9-Auto

   –  Window watchdog timer

January 2011                                 Doc ID 12370 Rev 8                                             1/324

                                                                                                      www.st.com   1
Contents                                                                                                   ST72561-Auto

Contents

1         Description . . . . . . . . . . . . . . . . . . . . . . . . .       .  .  .  .......    .  .  .  . . . . . . . . . . 20

          1.1    Pin description  ....................                        .  .  .  ........   .  .  .  . . . . . . . . . . . 22

2         Register and memory map . . . . . . . . . . . .                     .  .  .  .......    .  .  .  . . . . . . . . . . 28

3         Flash  program memory        ..............                         .  .  .  .......    .  .  .  . . . . . . . . . . 32

          3.1    Introduction   ......................                        .  .  .  ........   .  .  .  . . . . . . . . . . . 32

          3.2    Main features    .....................                       .  .  .  ........   .  .  .  . . . . . . . . . . . 32

          3.3    Structure . . . . . . . . . . . . . . . . . . . . . . . . .  .  .  .  ........   .  .  .  . . . . . . . . . . . 32

                 3.3.1  Read-out protection . . . . . . . . . . . .           .  .  .  .........  .  .  .  . . . . . . . . . . . . . 33

          3.4    ICC interface    .....................                       .  .  .  ........   .  .  .  . . . . . . . . . . . 33

          3.5    ICP (in-circuit programming)  .........                      .  .  .  ........   .  .  .  . . . . . . . . . . . 34

          3.6    IAP (in-application programming) . . . . . .                 .  .  .  ........   .  .  .  . . . . . . . . . . . 35

          3.7    Related documentation      .............                     .  .  .  ........   .  .  .  . . . . . . . . . . . 35

          3.8    Register description  ................                       .  .  .  ........   .  .  .  . . . . . . . . . . . 35

4         Central processing unit      ..............                         .  .  .  .......    .  .  .  . . . . . . . . . . 36

          4.1    Introduction   ......................                        .  .  .  ........   .  .  .  . . . . . . . . . . . 36

          4.2    Main features    .....................                       .  .  .  ........   .  .  .  . . . . . . . . . . . 36

          4.3    CPU registers . . . . . . . . . . . . . . . . . . . . .      .  .  .  ........   .  .  .  . . . . . . . . . . . 36

                 4.3.1  Accumulator (A) . . . . . . . . . . . . . . .         .  .  .  .........  .  .  .  . . . . . . . . . . . . . 36

                 4.3.2  Index registers (X and Y) . . . . . . . .             .  .  .  .........  .  .  .  . . . . . . . . . . . . . 36

                 4.3.3  Program counter (PC)   ..........                     .  .  .  .........  .  .  .  . . . . . . . . . . . . . 36

                 4.3.4  Condition code register (CC) . . . . .                .  .  .  .........  .  .  .  . . . . . . . . . . . . . 37

                 4.3.5  Stack pointer (SP)  .............                     .  .  .  .........  .  .  .  . . . . . . . . . . . . . 39

5         Supply, reset and clock management . . .                            .  .  .  .......    .  .  .  . . . . . . . . . . 41

          5.1    Introduction   ......................                        .  .  .  ........   .  .  .  . . . . . . . . . . . 41

          5.2    Main features    .....................                       .  .  .  ........   .  .  .  . . . . . . . . . . . 41

          5.3    Phase locked loop     .................                      .  .  .  ........   .  .  .  ...........  41

          5.4    Multi-oscillator (MO) . . . . . . . . . . . . . . . .        .  .  .  ........   .  .  .  . . . . . . . . . . . 42

          5.5    Reset sequence manager (RSM) . . . . . .                     .  .  .  ........   .  .  .  ...........  43

                 5.5.1  Introduction   ..................                     .  .  .  .........  .  .  .  . . . . . . . . . . . . . 43

2/324                                  Doc ID 12370 Rev 8
ST72561-Auto                                                                                                              Contents

              5.5.2   Asynchronous external RESET pin . . . .               .  .....        .  .  .  .  .  .  ....  .  .  .  .  .  .  .  .  44

              5.5.3   External power-on reset . . . . . . . . . . . . .     .  .....        .  .  .  .  .  .  ....  .  .  .  .  .  .  .  .  44

              5.5.4   Internal low voltage detector (LVD) reset             .  .....        .  .  .  .  .  .  ....  .  .  .  .  .  .  .  .  44

              5.5.5   Internal watchdog reset . . . . . . . . . . . . .     .  .....        .  .  .  .  .  .  ....  .  .  .  .  .  .  .  .  45

   5.6        System  integrity management (SI) . . . . . . . . .           .  ....         .  .  .  .  .  .  ...   .  .  .  .  .  .  .     45

              5.6.1   Low voltage detector (LVD)      ..........            .  .....        .  .  .  .  .  .  ....  .  .  .  .  .  .  .  .  45

              5.6.2   Auxiliary voltage detector (AVD)  ......              .  .....        .  .  .  .  .  .  ....  .  .  .  .  .  .  .  .  46

              5.6.3   Low power modes  .................                    .  .....        .  .  .  .  .  .  ....  .  .  .  .  .  .  .  .  47

              5.6.4   Interrupts   ........................                 .  .....        .  .  .  .  .  .  ....  .  .  .  .  .  .  .  .  47

              5.6.5   Register description . . . . . . . . . . . . . . . .  .  .....        .  .  .  .  .  .  ....  .  .  .  .  .  .  .  .  48

6  Interrupts        ....................................                                         .  .  .  .......              .  .  .     50

   6.1        Introduction  .................................                                     .  .  .  ........             .  .  .     50

   6.2        Masking and processing flow . . . . . . . . . . . . . . . . . . . .                 .  .  .  ........             .  .  .     50

   6.3        Interrupts and low power modes          .................                           .  .  .  ........             .  .  .     53

   6.4        Concurrent & nested management            ...............                           .  .  .  ........             .  .  .     53

   6.5        Interrupt register description  ....................                                .  .  .  ........             .  .  .     54

              6.5.1   CPU CC register interrupt bits . . . . . . . . . . . . . . . .              .  .  .  .........            .  .  .  . 54

              6.5.2   Interrupt software priority registers (ISPRX)            .....              .  .  .  .........            .  .  .  . 55

   6.6        External interrupts  ............................                                   .  .  .  ........             .  .  .     58

              6.6.1   I/O port interrupt sensitivity  ..................                          .  .  .  .........            .  .  .  . 58

              6.6.2   Register description . . . . . . . . . . . . . . . . . . . . . . . .        .  .  .  .........            .  .  .  . 60

7  Power saving modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

   7.1        Introduction  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

   7.2        Slow mode     ................................................                                                                63

   7.3        Wait mode     . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64

   7.4        Halt mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65

   7.5        Active halt mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67

   7.6        Auto wake-up from halt mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68

              7.6.1   Register description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71

8  I/O ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73

   8.1        Introduction  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73

   8.2        Functional description  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73

              8.2.1   Input modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73

                                   Doc ID 12370 Rev 8                                                                                 3/324
Contents                                                                                                     ST72561-Auto

                8.2.2   Output modes     ............................                               .  .  .  . . . . . . . . . . . . . 74

                8.2.3   Alternate functions . . . . . . . . . . . . . . . . . . . . . . . . .       .  .  .  . . . . . . . . . . . . . 74

          8.3   I/O port implementation  ........................                                   .  .  .  . . . . . . . . . . . 77

          8.4   I/O port register configurations . . . . . . . . . . . . . . . . . . .              .  .  .  . . . . . . . . . . . 77

                8.4.1   Standard ports . . . . . . . . . . . . . . . . . . . . . . . . . . . .      .  .  .  . . . . . . . . . . . . . 77

                8.4.2   Interrupt ports  ............................                               .  .  .  . . . . . . . . . . . . . 78

                8.4.3   Pull-up input port (CANTX requirement)  ........                            .  .  .  . . . . . . . . . . . . . 79

          8.5   Low power modes       ............................                                  .  .  .  . . . . . . . . . . . 80

          8.6   Interrupts  ...................................                                     .  .  .  . . . . . . . . . . . 80

9         Window watchdog (WWDG) . . . . . . . . . . . . . . . . . . . . .                          .  .  .  . . . . . . . . . . 82

          9.1   Introduction   .................................                                    .  .  .  . . . . . . . . . . . 82

          9.2   Main features  ................................                                     .  .  .  . . . . . . . . . . . 82

          9.3   Functional description   .........................                                  .  .  .  . . . . . . . . . . . 82

          9.4   Using halt mode with the WDG  ..................                                    .  .  .  . . . . . . . . . . . 84

          9.5   How to program the watchdog timeout . . . . . . . . . . . . .                       .  .  .  ...........  84

          9.6   Low power modes       ............................                                  .  .  .  . . . . . . . . . . . 86

          9.7   Hardware watchdog option . . . . . . . . . . . . . . . . . . . . . .                .  .  .  . . . . . . . . . . . 86

          9.8   Using halt mode with the WDG (WDGHALT option)                                   ..  .  .  .  ...........  87

          9.9   Interrupts  ...................................                                     .  .  .  . . . . . . . . . . . 87

          9.10  Register description     ...........................                                .  .  .  ...........  87

                9.10.1  Control register (WDGCR) . . . . . . . . . . . . . . . . . . .              .  .  .  . . . . . . . . . . . . . 87

                9.10.2  Window Register (WDGWR)   .................                                 .  .  .  . . . . . . . . . . . . . 87

10        Main  clock controller with real time clock MCC/RTC .                                     .  .  .  . . . . . . . . . . 89

          10.1  Programmable CPU clock prescaler          ..............                            .  .  .  . . . . . . . . . . . 89

          10.2  Clock-out capability     ...........................                                .  .  .  ...........  89

          10.3  Real time clock timer (RTC) . . . . . . . . . . . . . . . . . . . . .               .  .  .  ...........  89

          10.4  Low power modes       ............................                                  .  .  .  ...........  90

          10.5  Interrupts  ...................................                                     .  .  .  ...........  90

          10.6  Register description     ...........................                                .  .  .  ...........  90

                10.6.1  MCC control/status register (MCCSR) . . . . . . . . . .                     .  .  .  . . . . . . . . . . . . . 90

11        PWM auto-reload timer (ART)    ...................                                        .  .  .  . . . . . . . . . . 93

          11.1  Introduction   .................................                                    .  .  .  . . . . . . . . . . . 93

4/324                                 Doc ID 12370 Rev 8
ST72561-Auto                                                                                      Contents

    11.2      Functional description  .........................                             .  .  ............  94

              11.2.1  Counter  .................................                            .  .  . . . . . . . . . . . . . . 94

              11.2.2  Counter clock and prescaler    .................                      .  .  . . . . . . . . . . . . . . 94

              11.2.3  Counter and prescaler Initialization   ............                   .  .  . . . . . . . . . . . . . . 94

              11.2.4  Output compare control . . . . . . . . . . . . . . . . . . . . .      .  .  . . . . . . . . . . . . . . 94

              11.2.5  Independent PWM signal generation . . . . . . . . . . .               .  .  . . . . . . . . . . . . . . 95

              11.2.6  Output compare and Time base interrupt  .......                       .  .  . . . . . . . . . . . . . . 96

              11.2.7  External clock and event detector mode  ........                      .  .  . . . . . . . . . . . . . . 96

              11.2.8  Input capture function  ......................                        .  .  . . . . . . . . . . . . . . 96

              11.2.9  External interrupt capability  ..................                     .  .  . . . . . . . . . . . . . . 98

    11.3      Register description    ...........................                           .  .  . . . . . . . . . . . . 99

12  16-bit    timer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   .  .  . . . . . . . . . . 104

    12.1      Introduction   .................................                              .  .  ...........   104

    12.2      Main features  ................................                               .  .  ...........   104

    12.3      Functional description  .........................                             .  .  ...........   105

              12.3.1  Counter  .................................                            .  .  . . . . . . . . . . . . . 105

              12.3.2  External clock  ............................                          .  .  . . . . . . . . . . . . . 107

              12.3.3  Input capture   .............................                         .  .  . . . . . . . . . . . . . 108

              12.3.4  Procedure     ...............................                         .  .  . . . . . . . . . . . . . 109

              12.3.5  Output compare . . . . . . . . . . . . . . . . . . . . . . . . . . .  .  .  . . . . . . . . . . . . . 110

              12.3.6  Procedure     ...............................                         .  .  . . . . . . . . . . . . . 111

              12.3.7  Forced compare output capability      .............                   .  .  . . . . . . . . . . . . . 112

              12.3.8  One pulse mode  ..........................                            .  .  . . . . . . . . . . . . . 113

              12.3.9  Pulse width modulation mode       ................                    .  .  . . . . . . . . . . . . . 115

    12.4      Low power modes       ............................                            .  .  ...........   117

    12.5      Interrupts  ...................................                               .  .  ...........   117

    12.6      Summary of timer modes . . . . . . . . . . . . . . . . . . . . . . .          .  .  . . . . . . . . . . . 118

    12.7      Register description    ...........................                           .  .  ...........   118

              12.7.1  Control register 1 (CR1) . . . . . . . . . . . . . . . . . . . . .    .  .  . . . . . . . . . . . . . 118

              12.7.2  Control register 2 (CR2) . . . . . . . . . . . . . . . . . . . . .    .  .  . . . . . . . . . . . . . 119

              12.7.3  Control/status register (CSR) . . . . . . . . . . . . . . . . .       .  .  . . . . . . . . . . . . . 120

              12.7.4  Input capture 1 high register (IC1HR)   ..........                    .  .  . . . . . . . . . . . . . 121

              12.7.5  Input capture 1 low register (IC1LR)   ...........                    .  .  . . . . . . . . . . . . . 122

              12.7.6  Output compare 1 high register (OC1HR) . . . . . . .                  .  .  . . . . . . . . . . . . . 122

              12.7.7  Output compare 1 low register (OC1LR) . . . . . . . .                 .  .  . . . . . . . . . . . . . 122

                                    Doc ID 12370 Rev 8                                                         5/324
Contents                                                                                                                     ST72561-Auto

                 12.7.8   Output compare 2 high register (OC2HR)                      .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  122

                 12.7.9   Output compare 2 low register (OC2LR) .                     .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  123

                 12.7.10  Counter high register (CHR)      ..........                 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  123

                 12.7.11  Counter low register (CLR)   ...........                    .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  123

                 12.7.12  Alternate counter high register (ACHR) . .                  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  123

                 12.7.13  Alternate counter low register (ACLR) . . .                 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  124

                 12.7.14  Input capture 2 high register (IC2HR)                  ...  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  124

                 12.7.15  Input capture 2 low register (IC2LR)                ....    .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  124

13        8-bit  timer (TIM8) . . . . . . . . . . . . . . . . . . . .      .  .  ........                  .  .  .  . . . . . . . . . 126

          13.1   Introduction   ......................                     .  .  .........                 .  .  .  ..........                          126

          13.2   Main features  .....................                      .  .  .........                 .  .  .  ..........                          126

          13.3   Functional description    ..............                  .  .  .........                 .  .  .  ..........                          126

                 13.3.1   Counter  .....................                   .  .  ..........                .  .  .  . . . . . . . . . . . . 126

                 13.3.2   Input capture  .................                 .  .  ..........                .  .  .  . . . . . . . . . . . . 130

                 13.3.3   Output compare . . . . . . . . . . . . . . .     .  .  ..........                .  .  .  . . . . . . . . . . . . 131

                 13.3.4   Forced compare output capability              .  .  .  ..........                .  .  .  . . . . . . . . . . . . 133

                 13.3.5   One pulse mode   ..............                  .  .  ..........                .  .  .  . . . . . . . . . . . . 134

                 13.3.6   Pulse width modulation mode      ....            .  .  ..........                .  .  .  . . . . . . . . . . . . 136

          13.4   Low power modes       .................                   .  .  .........                 .  .  .  ..........                          138

          13.5   Interrupts  ........................                      .  .  .........                 .  .  .  ..........                          138

          13.6   Summary of timer modes . . . . . . . . . . . .            .  .  .........                 .  .  .  . . . . . . . . . . 139

          13.7   Register description    ................                  .  .  .........                 .  .  .  ..........                          139

                 13.7.1   Control register 1 (CR1) . . . . . . . . .       .  .  ..........                .  .  .  . . . . . . . . . . . . 139

                 13.7.2   Control register 2 (CR2) . . . . . . . . .       .  .  ..........                .  .  .  . . . . . . . . . . . . 140

                 13.7.3   Control/status register (CSR) . . . . .          .  .  ..........                .  .  .  . . . . . . . . . . . . 141

                 13.7.4   Input capture 1 register (IC1R)   ...            .  .  ..........                .  .  .  . . . . . . . . . . . . 142

                 13.7.5   Output compare 1 register (OC1R)                 .  .  ..........                .  .  .  . . . . . . . . . . . . 142

                 13.7.6   Output compare 2 register (OC2R)                 .  .  ..........                .  .  .  . . . . . . . . . . . . 143

                 13.7.7   Counter register (CTR)  .........                .  .  ..........                .  .  .  . . . . . . . . . . . . 143

                 13.7.8   Alternate counter register (ACTR) .              .  .  ..........                .  .  .  . . . . . . . . . . . . 143

                 13.7.9   Input capture 2 register (IC2R)   ...            .  .  ..........                .  .  .  . . . . . . . . . . . . 143

          13.8   8-bit timer register map  .............                   .  .  .........                 .  .  .  . . . . . . . . . . 144

14        Serial peripheral interface (SPI) . . . . . . . . . . . . . . . . . .                            .  .  .  . . . . . . . . . 145

          14.1   Introduction   .................................                                          .  .  .  ..........                          145

6/324                                  Doc ID 12370 Rev 8
ST72561-Auto                                                 Contents

    14.2      Main features  .............................................                                                     145

    14.3      General description     ........................................                                                 145

              14.3.1  Functional description    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146

              14.3.2  Slave select management       . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147

              14.3.3  Master mode operation      . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148

              14.3.4  Master mode transmit sequence       . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148

              14.3.5  Slave mode operation      . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149

              14.3.6  Slave mode transmit sequence        . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149

    14.4      Clock phase and clock polarity     ................................                                              149

    14.5      Error flags . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150

              14.5.1  Master mode fault (MODF)      . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150

              14.5.2  Overrun condition (OVR)    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151

              14.5.3  Write collision error (WCOL)   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151

    14.6      Low power modes       .........................................                                                  153

    14.7      Interrupts  ................................................                                                     154

    14.8      Register description    ........................................                                                 154

              14.8.1  Control register (SPICR)   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154

              14.8.2  Control/status register (SPICSR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155

              14.8.3  Data I/O register (SPIDR)     . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157

15  LINSCI serial communication interface (LIN master/slave) . . . . . . . . 158

    15.1      Introduction   ..............................................                                                    158

    15.2      SCI features   ..............................................                                                    158

    15.3      LIN features   ..............................................                                                    159

    15.4      General description     ........................................                                                 159

    15.5      SCI mode - functional description     .............................                                              160

              15.5.1  Conventional baud rate generator mode  . . . . . . . . . . . . . . . . . . . . . . . 160

              15.5.2  Extended prescaler mode       . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161

              15.5.3  Serial data format  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161

              15.5.4  Transmitter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161

              15.5.5  Receiver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163

              15.5.6  Extended baud rate generation       . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165

              15.5.7  Receiver muting and wake-up feature    . . . . . . . . . . . . . . . . . . . . . . . . . 166

              15.5.8  Parity control  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167

    15.6      Low power modes       .........................................                                                  168

    15.7      Interrupts  ................................................                                                     168

                                      Doc ID 12370 Rev 8                           7/324
Contents                                                                          ST72561-Auto

          15.8   SCI mode register description    ................................     169

                 15.8.1   Status register (SCISR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169

                 15.8.2   Control register 1 (SCICR1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170

                 15.8.3   Control register 2 (SCICR2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171

                 15.8.4   Data register (SCIDR)   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172

                 15.8.5   Baud rate register (SCIBRR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173

                 15.8.6   Extended receive prescaler division register (SCIERPR)  . . . . . . . . . . 174

                 15.8.7   Extended transmit prescaler division register (SCIETPR) . . . . . . . . . . 175

          15.9   LIN mode - functional description.     .............................  175

                 15.9.1   Entering LIN mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175

                 15.9.2   LIN transmission    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176

                 15.9.3   LIN reception  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177

                 15.9.4   LIN error detection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179

                 15.9.5   LIN baud rate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182

                 15.9.6   LIN slave baud rate generation  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182

                 15.9.7   LINSCI clock tolerance  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183

                 15.9.8   Clock deviation causes  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184

                 15.9.9   Error due to LIN synch measurement  . . . . . . . . . . . . . . . . . . . . . . . . . 185

                 15.9.10  Error due to baud rate quantization . . . . . . . . . . . . . . . . . . . . . . . . . . . 185

                 15.9.11  Impact of clock deviation on maximum baud rate  . . . . . . . . . . . . . . . . 185

          15.10  LIN mode register description    ................................     186

                 15.10.1  Status register (SCISR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186

                 15.10.2  Control Register 1 (SCICR1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187

                 15.10.3  Control Register 2 (SCICR2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187

                 15.10.4  Control register 3 (SCICR3) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188

                 15.10.5  LIN divider registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190

                 15.10.6  LIN prescaler register (LPR)    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190

                 15.10.7  LIN prescaler fraction register (LPFR) . . . . . . . . . . . . . . . . . . . . . . . . . 190

                 15.10.8  LIN header length register (LHLR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192

16        LINSCI serial communication interface (LIN master only)                 . . . . . . . . 195

          16.1   Introduction   ..............................................         195

          16.2   Main features  .............................................          195

          16.3   General description     ........................................      196

          16.4   Functional description     ......................................     197

                 16.4.1   Serial data format  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198

8/324                                 Doc ID 12370 Rev 8
ST72561-Auto                                                                  Contents

              16.4.2  Transmitter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198

              16.4.3  Receiver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200

              16.4.4  Conventional baud rate generation    . . . . . . . . . . . . . . . . . . . . . . . . . . . 202

              16.4.5  Extended baud rate generation       . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203

              16.4.6  Receiver muting and wake-up feature  . . . . . . . . . . . . . . . . . . . . . . . . . 203

              16.4.7  Parity control  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204

    16.5      Low power modes       .........................................       205

    16.6      Interrupts  ................................................          205

    16.7      SCI synchronous transmission   ................................       205

    16.8      Register description    ........................................      207

              16.8.1  Status register (SCISR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207

              16.8.2  Control register 1 (SCICR1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209

              16.8.3  Control register 2 (SCICR2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210

              16.8.4  Control Register 3 (SCICR3) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211

              16.8.5  Data register (SCIDR)  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212

              16.8.6  Baud rate register (SCIBRR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213

              16.8.7  Extended receive prescaler division register (SCIERPR)  . . . . . . . . . . 214

              16.8.8  Extended transmit prescaler division register (SCIETPR) . . . . . . . . . . 214

17  beCAN controller (beCAN)                ..................................      216

    17.1      Main features  .............................................          216

    17.2      General description     ........................................                                      216

    17.3      Operating modes      ..........................................                                       218

    17.4      Functional description        ......................................  221

              17.4.1  Transmission handling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221

              17.4.2  Reception handling    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222

              17.4.3  Identifier filtering  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224

              17.4.4  Message storage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227

              17.4.5  Error management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229

              17.4.6  Bit timing  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230

    17.5      Interrupts  ................................................          232

    17.6      Register access protection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232

    17.7      beCAN cell limitations        . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233

              17.7.1  FIFO corruption       . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233

    17.8      Register description    ........................................      238

              17.8.1  Control and status registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238

                                      Doc ID 12370 Rev 8                            9/324
Contents                                                                                                    ST72561-Auto

                  17.8.2  CAN transmit status register (CTSR)                     .  .  .........  .  .  .  . . . . . . . . . . . . 240

                  17.8.3  Mailbox registers  ...............                      .  .  .........  .  .  .  . . . . . . . . . . . . 248

                  17.8.4  CAN filter registers . . . . . . . . . . . . . .        .  .  .........  .  .  .  . . . . . . . . . . . . 251

18        10-bit  A/D converter (ADC) . . . . . . . . . . . .                  .  .  .  .......    .  .  .  . . . . . . . . . 259

          18.1    Introduction   ......................                        .  .  .  ........   .  .  .  ..........  259

          18.2    Main features   .....................                        .  .  .  ........   .  .  .  ..........  259

          18.3    Functional description     ..............                    .  .  .  ........   .  .  .  ..........  259

                  18.3.1  Digital A/D conversion result     .....              .  .  .  .........  .  .  .  . . . . . . . . . . . . 259

                  18.3.2  A/D conversion . . . . . . . . . . . . . . . .       .  .  .  .........  .  .  .  . . . . . . . . . . . . 260

                  18.3.3  Changing the conversion channel                   .  .  .  .  .........  .  .  .  . . . . . . . . . . . . 261

                  18.3.4  ADCDR consistency  ...........                       .  .  .  .........  .  .  .  . . . . . . . . . . . . 261

          18.4    Low power modes       .................                      .  .  .  ........   .  .  .  ..........  261

          18.5    Interrupts  ........................                         .  .  .  ........   .  .  .  ..........  261

          18.6    Register description    ................                     .  .  .  ........   .  .  .  ..........  261

                  18.6.1  Control/status register (ADCCSR) .                   .  .  .  .........  .  .  .  . . . . . . . . . . . . 261

                  18.6.2  Data register (ADCDRH)  ........                     .  .  .  .........  .  .  .  . . . . . . . . . . . . 263

                  18.6.3  Data register (ADCDRL)  ........                     .  .  .  .........  .  .  .  . . . . . . . . . . . . 263

19        Instruction set     .......................                             .  .  .......    .  .  .  . . . . . . . . . 264

          19.1    CPU addressing modes . . . . . . . . . . . . . .                .  .  ........   .  .  .  ..........  264

                  19.1.1  Inherent  ......................                        .  .  .........  .  .  .  . . . . . . . . . . . . 265

                  19.1.2  Immediate     ....................                      .  .  .........  .  .  .  . . . . . . . . . . . . 266

                  19.1.3  Direct  ........................                        .  .  .........  .  .  .  . . . . . . . . . . . . 266

                  19.1.4  Indexed (no offset, short, long)  ....                  .  .  .........  .  .  .  . . . . . . . . . . . . 266

                  19.1.5  Indirect (short, long) . . . . . . . . . . . . .        .  .  .........  .  .  .  . . . . . . . . . . . . 266

                  19.1.6  Indirect indexed (short, long) . . . . . .              .  .  .........  .  .  .  . . . . . . . . . . . . 267

                  19.1.7  Relative mode (direct, indirect)  ....                  .  .  .........  .  .  .  . . . . . . . . . . . . 268

          19.2    Instruction groups . . . . . . . . . . . . . . . . . . .        .  .  ........   .  .  .  ..........  268

                  19.2.1  Using a prebyte    ................                     .  .  .........  .  .  .  . . . . . . . . . . . . 269

20        Electrical characteristics       ..............                         .  .  .......    .  .  .  . . . . . . . . . 272

          20.1    Parameter conditions     ................                       .  .  ........   .  .  .  ..........  272

                  20.1.1  Minimum and maximum values        ....                  .  .  .........  .  .  .  . . . . . . . . . . . . 272

                  20.1.2  Typical values . . . . . . . . . . . . . . . . . .      .  .  .........  .  .  .  . . . . . . . . . . . . 272

                  20.1.3  Typical curves   .................                      .  .  .........  .  .  .  . . . . . . . . . . . . 272

10/324                                  Doc ID 12370 Rev 8
ST72561-Auto                                                                 Contents

              20.1.4   Loading capacitor    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272

              20.1.5   Pin input voltage    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272

20.2          Absolute maximum ratings      ...................................       273

              20.2.1   Voltage characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273

              20.2.2   Current characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274

              20.2.3   Thermal characteristics  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274

20.3          Operating conditions    .......................................         275

              20.3.1   General operating conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275

              20.3.2   Operating conditions with low voltage detector (LVD)  . . . . . . . . . . . . . 275

              20.3.3   Auxiliary voltage detector (AVD) thresholds . . . . . . . . . . . . . . . . . . . . . 276

20.4          Supply current characteristics    ................................      276

              20.4.1   Supply and clock managers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277

              20.4.2   On-chip peripherals     . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278

20.5          Clock and timing characteristics  ...............................       279

              20.5.1   Crystal and ceramic resonator oscillators  . . . . . . . . . . . . . . . . . . . . . . 280

              20.5.2   PLL characteristics     . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281

20.6          Auto wakeup from halt oscillator (AWU)       .........................  282

20.7          Memory characteristics       .....................................      282

              20.7.1   RAM and hardware registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282

              20.7.2   Flash memory       . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282

20.8          EMC characteristics    ........................................         283

              20.8.1   Functional EMS (electromagnetic susceptibility) . . . . . . . . . . . . . . . . . 283

              20.8.2   Electromagnetic interference (EMI)  . . . . . . . . . . . . . . . . . . . . . . . . . . . 284

              20.8.3   Absolute maximum ratings (electrical sensitivity)     . . . . . . . . . . . . . . . . 284

20.9          I/O port pin characteristics  ...................................       286

              20.9.1   General characteristics  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286

              20.9.2   Output driving current   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288

20.10         Control pin characteristics   ...................................       290

              20.10.1  Asynchronous RESET pin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290

              20.10.2  ICCSEL/ VPP pin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292

20.11         Timer peripheral characteristics  ...............................       293

20.12         Communication interface characteristics      ........................   295

              20.12.1  SPI - serial peripheral interface  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295

              20.12.2  CAN - controller area network interface . . . . . . . . . . . . . . . . . . . . . . . . 297

20.13         10-bit ADC characteristics    ...................................       297

                                    Doc ID 12370 Rev 8                                11/324
Contents                                                                         ST72561-Auto

21        Package characteristics  ....................................                                              302

          21.1  ECOPACK®      . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302

          21.2  Package mechanical data      ...................................                                     302

          21.3  Thermal characteristics    .....................................                                     304

          21.4  Packaging for automatic handling     .............................                                   304

22        Device configuration and ordering information . . . . . . . . . . . . . . . . . 306

          22.1  Introduction  ..............................................                                                 306

          22.2  Flash devices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 306

                22.2.1  Flash configuration  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 306

                22.2.2  Flash ordering information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 310

          22.3  Transfer of customer code    ...................................                                             311

23        Development tools   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314

24        Important notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315

          24.1  All devices   ...............................................                                                315

                24.1.1  RESET pin protection with LVD enabled  . . . . . . . . . . . . . . . . . . . . . . . 315

                24.1.2  Clearing active interrupts outside interrupt routine  . . . . . . . . . . . . . . . 315

                24.1.3  External interrupt missed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 316

                24.1.4  Unexpected reset fetch  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318

                24.1.5  Header time-out does not prevent wake-up from mute mode  . . . . . . . 318

                24.1.6  CAN FIFO corruption . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319

          24.2  Flash/FastROM devices only      .................................                                            320

                24.2.1  LINSCI wrong break duration    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 320

                24.2.2  16-bit and 8-bit timer PWM mode  . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321

          24.3  ROM devices only   .........................................                                                 321

                24.3.1  16-bit timer PWM mode buffering feature change . . . . . . . . . . . . . . . . 321

25        Revision history    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322

12/324                             Doc ID 12370 Rev 8
ST72561-Auto                                                                                                                       List of           tables

List of tables

Table 1.   Device summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .     .  .  .  .  .  .  .  .  .  .  .  .  .  ..1

Table 2.   Product overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .     .  .  .  .  .  .  .  .  .  .  .  .  .  . 20

Table 3.   Device pin description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .      .  .  .  .  .  .  .  .  .  .  .  .  .  . 25

Table 4.   Hardware register map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .        .  .  .  .  .  .  .  .  .  .  .  .  .  . 28

Table 5.   Sectors available in Flash devices . . . . . . . . . . . . . . . . . . . . . . . . . . . . .             .  .  .  .  .  .  .  .  .  .  .  .  .  . 32

Table 6.   Flash control/status register address and reset value . . . . . . . . . . . . . .                        .  .  .  .  .  .  .  .  .  .  .  .  .  . 35

Table 7.   Interrupt software priority selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . .          .  .  .  .  .  .  .  .  .  .  .  .  .  . 38

Table 8.   ST7 clock sources  .........................................                                             .  .  .  .  .  .  .  .  .  .  .  .  .  . 43

Table 9.   Effect of low power modes on SI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .              .  .  .  .  .  .  .  .  .  .  .  .  .  . 47

Table 10.  Interrupt control/wake-up capability . . . . . . . . . . . . . . . . . . . . . . . . . . . .             .  .  .  .  .  .  .  .  .  .  .  .  .  . 47

Table 11.  Reset source flags . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .     .  .  .  .  .  .  .  .  .  .  .  .  .  . 49

Table 12.  Interrupt software priority levels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .         .  .  .  .  .  .  .  .  .  .  .  .  .  . 51

Table 13.  Interrupt software priority levels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .         .  .  .  .  .  .  .  .  .  .  .  .  .  . 54

Table 14.  Interrupt priority bits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 55

Table 15.  Dedicated interrupt instruction set . . . . . . . . . . . . . . . . . . . . . . . . . . . . .            .  .  .  .  .  .  .  .  .  .  .  .  .  . 55

Table 16.  Interrupt mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .    .  .  .  .  .  .  .  .  .  .  .  .  .  . 57

Table 17.  Interrupt sensitivity - ei3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .    .  .  .  .  .  .  .  .  .  .  .  .  .  . 60

Table 18.  Interrupt sensitivity - ei2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .    .  .  .  .  .  .  .  .  .  .  .  .  .  . 60

Table 19.  Interrupt sensitivity - ei1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .    .  .  .  .  .  .  .  .  .  .  .  .  .  . 60

Table 20.  Interrupt sensitivity - ei0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .    .  .  .  .  .  .  .  .  .  .  .  .  .  . 61

Table 21.  Nested interrupts register map and reset values . . . . . . . . . . . . . . . . . .                      .  .  .  .  .  .  .  .  .  .  .  .  .  . 62

Table 22.  MCC/RTC low power mode selection . . . . . . . . . . . . . . . . . . . . . . . . . . .                   .  .  .  .  .  .  .  .  .  .  .  .  .  . 67

Table 23.  AWUPR prescaler. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .       .  .  .  .  .  .  .  .  .  .  .  .  .  . 71

Table 24.  AWU register map and reset values . . . . . . . . . . . . . . . . . . . . . . . . . . . .                .  .  .  .  .  .  .  .  .  .  .  .  .  . 72

Table 25.  DR register value and output pin status . . . . . . . . . . . . . . . . . . . . . . . . .                .  .  .  .  .  .  .  .  .  .  .  .  .  . 74

Table 26.  I/O port mode options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .      .  .  .  .  .  .  .  .  .  .  .  .  .  . 75

Table 27.  I/O port configurations  ......................................                                          .  .  .  .  .  .  .  .  .  .  .  .  .  . 76

Table 28.  Configuration of PB7:6, PC0, PC3, PC7:5, PD3:2, PD5, PE7:0, PF7:0 .                                      .  .  .  .  .  .  .  .  .  .  .  .  .  . 77

Table 29.  Configuration of PA0, 2, 4, 6; PB0, 2,4; PC1; PD0,6 (with pull-up) . . . .                               .  .  .  .  .  .  .  .  .  .  .  .  .  . 78

Table 30.  Configuration of PA1, 3, 5, 7; PB1,3,5; PC2; PD1, 4, 7 (without pull-up)                                 .  .  .  .  .  .  .  .  .  .  .  .  .  . 78

Table 31.  Configuration of PC4     .......................................                                         .  .  .  .  .  .  .  .  .  .  .  .  .  . 79

Table 32.  Port configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   .  .  .  .  .  .  .  .  .  .  .  .  .  . 79

Table 33.  Effect of low power modes on I/O ports . . . . . . . . . . . . . . . . . . . . . . . . .                 .  .  .  .  .  .  .  .  .  .  .  .  .  . 80

Table 34.  I/O port interrupt control/wake-up capability . . . . . . . . . . . . . . . . . . . . . .                .  .  .  .  .  .  .  .  .  .  .  .  .  . 80

Table 35.  I/O port register map and reset values . . . . . . . . . . . . . . . . . . . . . . . . . .               .  .  .  .  .  .  .  .  .  .  .  .  .  . 81

Table 36.  Effect of low power modes on WDG . . . . . . . . . . . . . . . . . . . . . . . . . . . .                 .  .  .  .  .  .  .  .  .  .  .  .  .  . 86

Table 37.  Watchdog timer register map and reset values . . . . . . . . . . . . . . . . . . .                       .  .  .  .  .  .  .  .  .  .  .  .  .  . 88

Table 38.  Effect of low power modes on MCC/RTC . . . . . . . . . . . . . . . . . . . . . . . .                     .  .  .  .  .  .  .  .  .  .  .  .  .  . 90

Table 39.  MCC/RTC Interrupt control wake-up capability. . . . . . . . . . . . . . . . . . . .                      .  .  .  .  .  .  .  .  .  .  .  .  .  . 90

Table 40.  CPU clock frequency in SLOW mode . . . . . . . . . . . . . . . . . . . . . . . . . . .                   .  .  .  .  .  .  .  .  .  .  .  .  .  . 91

Table 41.  Time base selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .      .  .  .  .  .  .  .  .  .  .  .  .  .  . 91

Table 42.  Main clock controller register map and reset values. . . . . . . . . . . . . . . .                       .  .  .  .  .  .  .  .  .  .  .  .  .  . 92

Table 43.  Counter clock control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .      .  .  .  .  .  .  .  .  .  .  .  .  .  . 99

Table 44.  PWM frequency vs resolution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .            .  .  .  .  .  .  .  .  .  .  .  .  .  100

Table 45.  PWMx output level and polarity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .             .  .  .  .  .  .  .  .  .  .  .  .  .  101

Table 46.  PWM auto-reload timer register map and reset values. . . . . . . . . . . . . .                           .  .  .  .  .  .  .  .  .  .  .  .  .  102

Table 47.  Effect of low power modes on 16-bit timer . . . . . . . . . . . . . . . . . . . . . . .                  .  .  .  .  .  .  .  .  .  .  .  .  .  117

Table 48.  Timer interrupt control and wake-up capability . . . . . . . . . . . . . . . . . . . .                   .  .  .  .  .  .  .  .  .  .  .  .  .  117

                                    Doc ID 12370 Rev 8                                                                                               13/324
List of tables                                                                                                                       ST72561-Auto

Table 49.   Timer modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .    ....   ..  118

Table 50.   Clock control bits  .................................................                                                    ....   ..  120

Table 51.   16-bit timer register map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .        ....   ..  124

Table 52.   Effect of low power modes on TIM8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                  ....   ..  138

Table 53.   TIM8 interrupt control and wake-up capability . . . . . . . . . . . . . . . . . . . . . . . . . . .                      ....   ..  138

Table 54.   Timer modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .    ....   ..  139

Table 55.   Clock control bits  .................................................                                                    ....   ..  141

Table 56.   Effect of low power modes on SPI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                 ....   ..  153

Table 57.   SPI interrupt control and wake-up capability  ............................                                               ....   ..  154

Table 58.   SPI master mode SCK frequency . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                  ....   ..  155

Table 59.   SPI register map and reset values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                ....   ..  157

Table 60.   Character formats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .      ....   ..  167

Table 61.   Effect of low power modes on SCI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                 ....   ..  168

Table 62.   SCI interrupt control and wake-up capability  ............................                                               ....   ..  168

Table 63.   PR prescaler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   ....   ..  173

Table 64.   Transmitter rate divider . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .       ....   ..  173

Table 65.   Receiver rate divider . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .      ....   ..  174

Table 66.   LIN mode configuration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .          ....   ..  188

Table 67.   LDIV mantissa  ...................................................                                                       ....   ..  190

Table 68.   LDIV fraction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  ....   ..  191

Table 69.   LHL mantissa coding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .          ....   ..  192

Table 70.   LHL fraction coding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .      ....   ..  193

Table 71.   LINSCI1 register map and reset values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                    ....   ..  194

Table 72.   Frame formats  ...................................................                                                       ....   ..  204

Table 73.   Effect of low power modes on SCI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                 ....   ..  205

Table 74.   SCI interrupt control and wake-up capability  ............................                                               ....   ..  205

Table 75.   LIN sync break duration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .          ....   ..  211

Table 76.   SCI clock on SCLK pin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .          ....   ..  212

Table 77.   PR prescaler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   ....   ..  213

Table 78.   Transmitter rate divider . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .       ....   ..  213

Table 79.   Receiver rate divider . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .      ....   ..  214

Table 80.   Baud rate selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .      ....   ..  215

Table 81.   LINSCI2 register map and reset values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                    ....   ..  215

Table 82.   Transmit mailbox mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .             ....   ..  228

Table 83.   Receive mailbox mapping. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .             ....   ..  228

Table 84.   While loop timing   .................................................                                                    ....   ..  236

Table 85.   LEC error types. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .     ....   ..  243

Table 86.   Filter page selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .      ....   ..  247

Table 87.   beCAN control and status page - register map and reset values . . . . . . . . . . . . .                                  ....   ..  257

Table 88.   beCAN mailbox pages - register map and reset values . . . . . . . . . . . . . . . . . . . .                              ....   ..  257

Table 89.   beCAN filter configuration page - register map and reset values . . . . . . . . . . . . .                                ....   ..  258

Table 90.   Effect of low power modes on ADC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                   ....   ..  261

Table 91.   A/D clock selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .      ....   ..  262

Table 92.   ADC channel selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .          ....   ..  262

Table 93.   ADC register map and reset values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                  ....   ..  263

Table 94.   Addressing mode groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .             ....   ..  264

Table 95.   CPU addressing mode overview  .....................................                                                      ....   ..  264

Table 96.   Instructions supporting direct, indexed, indirect and indirect indexed addressing                                        (part  1)  267

Table 97.   Instructions supporting direct, indexed, indirect and indirect indexed addressing                                        (part  2)  267

Table 98.   Instruction groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .     ....   ..  268

Table 99.   Supply current consumption . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .             ....   ..  277

Table 100.  Clock source current consumption . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                 ....   ..  278

14/324                          Doc ID 12370 Rev 8
ST72561-Auto                                                                                                            List        of    tables

Table 101.  Peripheral consumption . . . . . . . . . . . . . . . . . . .         ....  ..  .........  ..  ...  .  .  .  .  .  .  .  .  .  .  .  278

Table 102.  General timings. . . . . . . . . . . . . . . . . . . . . . . . . .   ....  ..  .........  ..  ...  .  .  .  .  .  .  .  .  .  .  .  279

Table 103.  External clock source . . . . . . . . . . . . . . . . . . . . .      ....  ..  .........  ..  ...  .  .  .  .  .  .  .  .  .  .  .  279

Table 104.  Oscillator characteristics . . . . . . . . . . . . . . . . . . .     ....  ..  .........  ..  ...  .  .  .  .  .  .  .  .  .  .  .  280

Table 105.  PLL characteristics . . . . . . . . . . . . . . . . . . . . . . .    ....  ..  .........  ..  ...  .  .  .  .  .  .  .  .  .  .  .  281

Table 106.  AWU oscillator characteristics . . . . . . . . . . . . . .           ....  ..  .........  ..  ...  .  .  .  .  .  .  .  .  .  .  .  282

Table 107.  RAM supply voltage . . . . . . . . . . . . . . . . . . . . . .       ....  ..  .........  ..  ...  .  .  .  .  .  .  .  .  .  .  .  282

Table 108.  Dual voltage HDFlash memory . . . . . . . . . . . . . .              ....  ..  .........  ..  ...  .  .  .  .  .  .  .  .  .  .  .  282

Table 109.  EMS test results . . . . . . . . . . . . . . . . . . . . . . . . .   ....  ..  .........  ..  ...  .  .  .  .  .  .  .  .  .  .  .  284

Table 110.  EMI emissions  ..........................                            ....  ..  .........  ..  ...  .  .  .  .  .  .  .  .  .  .  .  284

Table 111.  Absolute maximum ratings . . . . . . . . . . . . . . . . .           ....  ..  .........  ..  ...  .  .  .  .  .  .  .  .  .  .  .  285

Table 112.  Electrical sensitivities . . . . . . . . . . . . . . . . . . . . .   ....  ..  .........  ..  ...  .  .  .  .  .  .  .  .  .  .  .  285

Table 113.  I/O characteristics . . . . . . . . . . . . . . . . . . . . . . . .  ....  ..  .........  ..  ...  .  .  .  .  .  .  .  .  .  .  .  286

Table 114.  Output driving current . . . . . . . . . . . . . . . . . . . . .     ....  ..  .........  ..  ...  .  .  .  .  .  .  .  .  .  .  .  288

Table 115.  RESET pin characteristics . . . . . . . . . . . . . . . . .          ....  ..  .........  ..  ...  .  .  .  .  .  .  .  .  .  .  .  290

Table 116.  ICCSEL/VPP pin characteristics . . . . . . . . . . . . .             ....  ..  .........  ..  ...  .  .  .  .  .  .  .  .  .  .  .  292

Table 117.  8-bit PWM-ART auto reload timer characteristics                      ....  ..  .........  ..  ...  .  .  .  .  .  .  .  .  .  .  .  293

Table 118.  8-bit timer characteristics . . . . . . . . . . . . . . . . . .      ....  ..  .........  ..  ...  .  .  .  .  .  .  .  .  .  .  .  293

Table 119.  16-bit timer characteristics . . . . . . . . . . . . . . . . .       ....  ..  .........  ..  ...  .  .  .  .  .  .  .  .  .  .  .  293

Table 120.  SPI characteristics . . . . . . . . . . . . . . . . . . . . . . .    ....  ..  .........  ..  ...  .  .  .  .  .  .  .  .  .  .  .  295

Table 121.  CAN characteristics . . . . . . . . . . . . . . . . . . . . . .      ....  ..  .........  ..  ...  .  .  .  .  .  .  .  .  .  .  .  297

Table 122.  ADC characteristics . . . . . . . . . . . . . . . . . . . . . .      ....  ..  .........  ..  ...  .  .  .  .  .  .  .  .  .  .  .  297

Table 123.  ADC accuracy with fCPU = 8 MHz, fADC = 4 MHz                         RAIN  <   10kW, VDD  =   5V.  .  .  .  .  .  .  .  .  .  .  .  300

Table 124.  Package selection. . . . . . . . . . . . . . . . . . . . . . . .     ....  ..  .........  ..  ...  .  .  .  .  .  .  .  .  .  .  .  307

Table 125.  Alternate function remapping 1 . . . . . . . . . . . . . .           ....  ..  .........  ..  ...  .  .  .  .  .  .  .  .  .  .  .  308

Table 126.  Alternate function remapping 0 . . . . . . . . . . . . . .           ....  ..  .........  ..  ...  .  .  .  .  .  .  .  .  .  .  .  308

Table 127.  OSCTYPE selection . . . . . . . . . . . . . . . . . . . . . .        ....  ..  .........  ..  ...  .  .  .  .  .  .  .  .  .  .  .  308

Table 128.  OSCRANGE selection . . . . . . . . . . . . . . . . . . . .           ....  ..  .........  ..  ...  .  .  .  .  .  .  .  .  .  .  .  308

Table 129.  Document revision history  .................                         ....  ..  .........  ..  ...  .  .  .  .  .  .  .  .  .  .  .  322

                                       Doc ID 12370 Rev 8                                                                                 15/324
List of  figures                                                                                                                       ST72561-Auto

List     of figures

Figure   1.   Device block diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .       .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 21

Figure   2.   LQFP 64-pin package pinout . . . . . . . . . . . . . . . . . . . . . . . . . . . . .             .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 22

Figure   3.   LQFP 44-pin package pinout . . . . . . . . . . . . . . . . . . . . . . . . . . . . .             .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 23

Figure   4.   LQFP 32-pin package pinout . . . . . . . . . . . . . . . . . . . . . . . . . . . . .             .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 24

Figure   5.   Memory map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 28

Figure   6.   Memory map and sector address . . . . . . . . . . . . . . . . . . . . . . . . . .                .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 33

Figure   7.   Typical ICC interface  ...................................                                       .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 34

Figure   8.   CPU registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 37

Figure   9.   Stack manipulation example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .           .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 40

Figure   10.  PLL block diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .      .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 41

Figure   11.  Clock, reset and supply block diagram . . . . . . . . . . . . . . . . . . . . . .                .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 42

Figure   12.  RESET sequence phases. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .             .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 44

Figure   13.  Reset block diagram    ...................................                                       .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 44

Figure   14.  Reset sequences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .      .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 45

Figure   15.  Low voltage detector vs reset   ............................                                     .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 46

Figure   16.  Using the AVD to monitor VDD          ...........................                                .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 47

Figure   17.  Interrupt processing flowchart  ............................                                     .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 51

Figure   18.  Priority decision process  ................................                                      .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 51

Figure   19.  Concurrent interrupt management . . . . . . . . . . . . . . . . . . . . . . . . .                .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 53

Figure   20.  Nested interrupt management . . . . . . . . . . . . . . . . . . . . . . . . . . . .              .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 54

Figure   21.  External interrupt control bits . . . . . . . . . . . . . . . . . . . . . . . . . . . . .        .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 59

Figure   22.  Power saving mode transitions . . . . . . . . . . . . . . . . . . . . . . . . . . . .            .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 63

Figure   23.  SLOW mode clock transitions. . . . . . . . . . . . . . . . . . . . . . . . . . . . .             .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 64

Figure   24.  WAIT mode flow-chart . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .         .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 65

Figure   25.  HALT timing overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .       .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 66

Figure   26.  HALT mode flow-chart . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .         .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 66

Figure   27.  ACTIVE HALT timing overview . . . . . . . . . . . . . . . . . . . . . . . . . . . .              .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 68

Figure   28.  ACTIVE HALT mode flow-chart . . . . . . . . . . . . . . . . . . . . . . . . . . .                .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 68

Figure   29.  AWUFH mode block diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . .               .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 69

Figure   30.  AWUF halt timing diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .           .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 70

Figure   31.  AWUFH mode flow-chart . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .            .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 70

Figure   32.  I/O port general block diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . .           .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 75

Figure   33.  Interrupt I/O port state transitions  .........................                                  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 77

Figure   34.  Watchdog block diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .           .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 83

Figure   35.  Approximate timeout duration . . . . . . . . . . . . . . . . . . . . . . . . . . . . .           .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 84

Figure   36.  Exact timeout duration (tmin and tmax) . . . . . . . . . . . . . . . . . . . . .                 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 85

Figure   37.  Window watchdog timing diagram . . . . . . . . . . . . . . . . . . . . . . . . .                 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 86

Figure   38.  Main clock controller (MCC/RTC) block diagram . . . . . . . . . . . . . .                        .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 89

Figure   39.  PWM auto-reload timer block diagram . . . . . . . . . . . . . . . . . . . . . .                  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 93

Figure   40.  Output compare control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .         .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 95

Figure   41.  PWM auto-reload timer function . . . . . . . . . . . . . . . . . . . . . . . . . . .             .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 95

Figure   42.  PWM signal from 0% to 100% duty cycle . . . . . . . . . . . . . . . . . . . .                    .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 96

Figure   43.  External event detector example (3 counts) . . . . . . . . . . . . . . . . . .                   .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 96

Figure   44.  Input capture timing diagram, fCOUNTER = fCPU. . . . . . . . . . . . .                           .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 97

Figure   45.  Input capture timing diagram, fCOUNTER = fCPU / 4 . . . . . . . . . .                            .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 98

Figure   46.  ART external interrupt in halt mode . . . . . . . . . . . . . . . . . . . . . . . .              .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 98

Figure   47.  Timer block diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .      .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  106

Figure   48.  16-bit read sequence: (from counter or alternate counter register)                               .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  106

16/324                                        Doc ID 12370 Rev 8
ST72561-Auto                                                                                                     List             of  figures

Figure  49.   Counter timing diagram, internal clock divided by 2 . . . . . . . . . . . . . .                    ........   .  .  ..  .  .  .  108

Figure  50.   Counter timing diagram, internal clock divided by 4 . . . . . . . . . . . . . .                    ........   .  .  ..  .  .  .  108

Figure  51.   Counter timing diagram, internal clock divided by 8 . . . . . . . . . . . . . .                    ........   .  .  ..  .  .  .  108

Figure  52.   Input capture block diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .        ........   .  .  ..  .  .  .  110

Figure  53.   Input capture timing diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .         ........   .  .  ..  .  .  .  110

Figure  54.   Output compare block diagram  .............................                                        ........   .  .  ..  .  .  .  112

Figure  55.   Output compare timing diagram, fTIMER = fCPU/2 . . . . . . . . . . . . . .                         ........   .  .  ..  .  .  .  113

Figure  56.   Output compare timing diagram, fTIMER = fCPU/4 . . . . . . . . . . . . . .                         ........   .  .  ..  .  .  .  113

Figure  57.   One pulse mode timing example . . . . . . . . . . . . . . . . . . . . . . . . . . . .              ........   .  .  ..  .  .  .  115

Figure  58.   Pulse width modulation mode timing example with 2 output compare                                   functions  .  .  ..  .  .  .  115

Figure  59.   Timer block diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .    ........   .  .  ..  .  .  .  128

Figure  60.   Counter timing diagram, internal clock divided by 2 . . . . . . . . . . . . . .                    ........   .  .  ..  .  .  .  129

Figure  61.   Counter timing diagram, internal clock divided by 4 . . . . . . . . . . . . . .                    ........   .  .  ..  .  .  .  129

Figure  62.   Counter timing diagram, internal clock divided by 8 . . . . . . . . . . . . . .                    ........   .  .  ..  .  .  .  129

Figure  63.   Input capture block diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .        ........   .  .  ..  .  .  .  131

Figure  64.   Input capture timing diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .         ........   .  .  ..  .  .  .  131

Figure  65.   Output compare block diagram  .............................                                        ........   .  .  ..  .  .  .  133

Figure  66.   Output compare timing diagram, fTIMER = fCPU/2 . . . . . . . . . . . . . .                         ........   .  .  ..  .  .  .  133

Figure  67.   Output compare timing diagram, fTIMER = fCPU/4 . . . . . . . . . . . . . .                         ........   .  .  ..  .  .  .  134

Figure  68.   One pulse mode timing example . . . . . . . . . . . . . . . . . . . . . . . . . . . .              ........   .  .  ..  .  .  .  136

Figure  69.   Pulse width modulation mode timing example . . . . . . . . . . . . . . . . . .                     ........   .  .  ..  .  .  .  136

Figure  70.   Serial peripheral interface block diagram . . . . . . . . . . . . . . . . . . . . . .              ........   .  .  ..  .  .  .  146

Figure  71.   Single master/ single slave application . . . . . . . . . . . . . . . . . . . . . . . .            ........   .  .  ..  .  .  .  147

Figure  72.   Generic SS timing diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .        ........   .  .  ..  .  .  .  147

Figure  73.   Hardware/software slave select management . . . . . . . . . . . . . . . . . .                      ........   .  .  ..  .  .  .  148

Figure  74.   Data clock timing diagram  .................................                                       ........   .  .  ..  .  .  .  150

Figure  75.   Clearing the WCOL bit (write collision flag) software sequence . . . . .                           ........   .  .  ..  .  .  .  152

Figure  76.   Single master / multiple slave configuration . . . . . . . . . . . . . . . . . . . .               ........   .  .  ..  .  .  .  153

Figure  77.   SCI block diagram (in conventional baud rate generator mode). . . . .                              ........   .  .  ..  .  .  .  160

Figure  78.   Word length programming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .          ........   .  .  ..  .  .  .  161

Figure  79.   SCI baud rate and extended prescaler block diagram . . . . . . . . . . . .                         ........   .  .  ..  .  .  .  166

Figure  80.   LIN characters  ..........................................                                         ........   .  .  ..  .  .  .  176

Figure  81.   SCI block diagram in LIN slave mode. . . . . . . . . . . . . . . . . . . . . . . . .               ........   .  .  ..  .  .  .  177

Figure  82.   LIN header reception timeout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .         ........   .  .  ..  .  .  .  180

Figure  83.   LIN synch field measurement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .          ........   .  .  ..  .  .  .  181

Figure  84.   LDIV read / write operations when LDUM = 0 . . . . . . . . . . . . . . . . . .                     ........   .  .  ..  .  .  .  183

Figure  85.   LDIV read / write operations when LDUM = 1 . . . . . . . . . . . . . . . . . .                     ........   .  .  ..  .  .  .  183

Figure  86.   Bit sampling in reception mode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .          ........   .  .  ..  .  .  .  184

Figure  87.   LSF bit set and clear . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  ........   .  .  ..  .  .  .  189

Figure  88.   SCI block diagram  .......................................                                         ........   .  .  ..  .  .  .  197

Figure  89.   Word length programming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .          ........   .  .  ..  .  .  .  198

Figure  90.   SCI baud rate and extended prescaler block diagram . . . . . . . . . . . .                         ........   .  .  ..  .  .  .  202

Figure  91.   SCI example of synchronous and asynchronous transmission . . . . .                                 ........   .  .  ..  .  .  .  206

Figure  92.   SCI data clock timing diagram (M = 0) . . . . . . . . . . . . . . . . . . . . . . . .              ........   .  .  ..  .  .  .  206

Figure  93.   SCI data clock timing diagram (M = 1) . . . . . . . . . . . . . . . . . . . . . . . .              ........   .  .  ..  .  .  .  207

Figure  94.   CAN network topology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .       ........   .  .  ..  .  .  .  217

Figure  95.   CAN block diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .    ........   .  .  ..  .  .  .  218

Figure  96.   beCAN operating modes      ..................................                                      ........   .  .  ..  .  .  .  218

Figure  97.   beCAN in silent mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .     ........   .  .  ..  .  .  .  220

Figure  98.   beCAN in loop back mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .          ........   .  .  ..  .  .  .  220

Figure  99.   beCAN in combined mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .           ........   .  .  ..  .  .  .  221

Figure  100.  Transmit mailbox states . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .      ........   .  .  ..  .  .  .  222

                                            Doc ID 12370 Rev 8                                                                           17/324
List of  figures                                                                                                                                      ST72561-Auto

Figure   101.  Receive FIFO states . . . . . . . . . . . . . . . . . . . . . . . . . . .           .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . . . . . . . . . 223

Figure   102.  Filter bank scale configuration - register organization .                           .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . . . . . . . . . 225

Figure   103.  Filtering mechanism - example . . . . . . . . . . . . . . . . . . .                 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . . . . . . . . . 227

Figure   104.  CAN error state diagram . . . . . . . . . . . . . . . . . . . . . . . .             .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . . . . . . . . . 229

Figure   105.  Bit timing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . . . . . . . . . 230

Figure   106.  CAN frames (part 1/2). . . . . . . . . . . . . . . . . . . . . . . . . .            .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . . . . . . . . . 231

Figure   107.  CAN frames (part 2/2). . . . . . . . . . . . . . . . . . . . . . . . . .            .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . . . . . . . . . 231

Figure   108.  Event flags and interrupt generation . . . . . . . . . . . . . . .                  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . . . . . . . . . 232

Figure   109.  FIFO corruption. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .        .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . . . . . . . . . 234

Figure   110.  Workaround 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .        .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . . . . . . . . . 234

Figure   111.  Critical window timing diagram . . . . . . . . . . . . . . . . . . .                .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . . . . . . . . . 236

Figure   112.  Reception of a sequence of frames . . . . . . . . . . . . . . .                     .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . . . . . . . . . 236

Figure   113.  Reception at maximum CAN baud rate . . . . . . . . . . . .                          .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . . . . . . . . . 237

Figure   114.  Workaround 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .        .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . . . . . . . . . 237

Figure   115.  CAN register mapping  .........................                                     .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . . . . . . . . . 255

Figure   116.  Page mapping for CAN . . . . . . . . . . . . . . . . . . . . . . . . .              .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . . . . . . . . . 256

Figure   117.  ADC block diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . .           .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . . . . . . . . . 260

Figure   118.  Pin loading conditions . . . . . . . . . . . . . . . . . . . . . . . . . .          .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . . . . . . . . . 272

Figure   119.  Pin input voltage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .       .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . . . . . . . . . 273

Figure   120.  fCPU maximum vs VDD   ........................                                      .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . . . . . . . . . 275

Figure   121.  LVD startup behavior . . . . . . . . . . . . . . . . . . . . . . . . . .            .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . . . . . . . . . 276

Figure   122.  Typical application with an external clock source . . . . .                         .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . . . . . . . . . 279

Figure   123.  Typical application with a crystal or ceramic resonator.                            .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . . . . . . . . . 280

Figure   124.  PLL jitter vs signal frequency(1)  ..................                               .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . . . . . . . . . 281

Figure   125.  AWU oscillator freq. @ TA 25°C. . . . . . . . . . . . . . . . . .                   .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . . . . . . . . . 282

Figure   126.  Connecting unused I/O pins . . . . . . . . . . . . . . . . . . . . .                .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . . . . . . . . . 287

Figure   127.  RPU vs VDD with VIN = VSS . . . . . . . . . . . . . . . . . . . .                   .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . . . . . . . . . 287

Figure   128.  IPU vs VDD with VIN = VSS . . . . . . . . . . . . . . . . . . . . .                 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . . . . . . . . . 287

Figure   129.  Typical VOL at VDD = 5V (standard) . . . . . . . . . . . . . .                      .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . . . . . . . . . 288

Figure   130.  Typical VOL at VDD = 5V (high-sink) . . . . . . . . . . . . . .                     .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . . . . . . . . . 288

Figure   131.  Typical VOH at VDD = 5V. . . . . . . . . . . . . . . . . . . . . . .                .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . . . . . . . . . 289

Figure   132.  Typical VOL vs VDD (standard I/Os) . . . . . . . . . . . . . .                      .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . . . . . . . . . 289

Figure   133.  Typical VOL vs VDD (high-sink I/Os) . . . . . . . . . . . . . .                     .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . . . . . . . . . 289

Figure   134.  Typical VOH vs VDD    ..........................                                    .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . . . . . . . . . 290

Figure   135.  RESET pin protection when LVD is disabled . . . . . . . .                           .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . . . . . . . . . 291

Figure   136.  RESET pin protection when LVD is enabled      ........                              .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . . . . . . . . . 291

Figure   137.  RESET RPU vs VDD . . . . . . . . . . . . . . . . . . . . . . . . . .                .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . . . . . . . . . 292

Figure   138.  Two typical applications with ICCSEL/VPP pin  ......                                .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . . . . . . . . . 292

Figure   139.  SPI slave timing diagram with CPHA = 0 . . . . . . . . . . .                        .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . . . . . . . . . 296

Figure   140.  SPI slave timing diagram with CPHA = 1 . . . . . . . . . . .                        .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . . . . . . . . . 296

Figure   141.  SPI master timing diagram . . . . . . . . . . . . . . . . . . . . . .               .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . . . . . . . . . 297

Figure   142.  RAIN max vs fADC with CAIN = 0pF . . . . . . . . . . . . . .                        .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . . . . . . . . . 298

Figure   143.  Recommended CAIN/RAIN values . . . . . . . . . . . . . . . .                        .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . . . . . . . . . 299

Figure   144.  Typical application with ADC . . . . . . . . . . . . . . . . . . . .                .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . . . . . . . . . 299

Figure   145.  Power supply filtering . . . . . . . . . . . . . . . . . . . . . . . . . .          .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . . . . . . . . . 300

Figure   146.  ADC accuracy  ...............................                                       .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . . . . . . . . . 301

Figure   147.  64-pin low profile quad flat package (14x14) . . . . . . . .                        .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . . . . . . . . . 302

Figure   148.  32-pin low profile quad flat package (7x7) . . . . . . . . . .                      .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . . . . . . . . . 303

Figure   149.  44-pin low profile quad flat package (10x10) . . . . . . . .                        .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . . . . . . . . . 303

Figure   150.  64-pin low profile quad flat package (10 x10) . . . . . . . .                       .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . . . . . . . . . 304

Figure   151.  pin 1 orientation in tape and reel conditioning . . . . . . .                       .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . . . . . . . . . 305

Figure   152.  ST72F561xx-Auto Flash commercial product structure                                  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . . . . . . . . . 310

18/324                                            Doc ID 12370 Rev 8
ST72561-Auto                                                                                                                          List  of  figures

Figure 153.  ST72P561xxx-Auto FastROM commercial product structure                             .  .  .  .  .  .  .  .  .  .  .  .  .  ....  ..  . . . 311

Figure 154.  ST72561xx-Auto ROM commercial product structure . . . . .                         .  .  .  .  .  .  .  .  .  .  .  .  .  ....  ..  . . . 312

Figure 155.  Header reception event sequence . . . . . . . . . . . . . . . . . . . .           .  .  .  .  .  .  .  .  .  .  .  .  .  ....  ..  . . . 319

Figure 156.  LINSCI interrupt routine . . . . . . . . . . . . . . . . . . . . . . . . . . . .  .  .  .  .  .  .  .  .  .  .  .  .  .  ....  ..  . . . 319

              Doc ID 12370 Rev 8                                                                                                                19/324
Description                                                                            ST72561-Auto

1              Description

               The ST72561xx-Auto devices are members of the ST7 microcontroller family designed for

               automotive mid-range applications with CAN (Controller Area Network) and LIN (Local

               Interconnect Network) interface.

               All devices are based on a common industry-standard 8-bit core, featuring an enhanced

               instruction set and are available with Flash or ROM program memory.

               The enhanced instruction set and addressing modes of the ST7 offer both power and

               flexibility to software developers, enabling the design of highly efficient and compact

               application code. In addition to standard 8-bit data management, all ST7 microcontrollers

               feature true bit manipulation, 8x8 unsigned multiplication and indirect addressing modes.

Table 2.       Product overview

   Features          ST72561(AR/R/J/K)9  ST72561(AR/R/J/K)7  ST72561(AR/R/J/K)6        ST72561(AR/R/J/K)4

Program memory -     60K                         48K                     32K           16K

        bytes

RAM (stack) - bytes  2K (256)                    2K (256)                1K (256)      1K (256)

   Operating supply                                        4.5V to 5.5V

   CPU frequency                         External resonator oscillator w/ PLLx2/8 MHz

   Maximum                                            -40°C to +125°C

temperature range

   Packages          LQFP64 10x10mm (AR), LQFP44 10x10mm (J), LQFP32 7x7mm (K) LQFP64 14x14 (R)

20/324                                   Doc ID 12370 Rev 8
ST72561-Auto                                                                                                       Description

Figure 1.              Device block diagram

                                              option

              OSC1          PLL x 2                                                 PWM

              OSC2     OSC                                                          ART

                            /2

                                                                                    8-Bit

                                                                                    TIMER

                                                                                    16-Bit

                                                                                    TIMER

                                                                                                        PA7:0

              VDD           POWER                                                   PORT A              (8 bits)1

              VSS           SUPPLY                                                  PORT B              PB7:0

                                                                                                        (8 bits)1

                                                                                    PORT C              PC7:0

                                                           ADDRESS AND DATA BUS                         (8 bits)1

              RESET         CONTROL                                                 PORT D              PD7:0

              TLI1                                                                                      (8 bits)1

                            8-BIT CORE                                              PORT E              PE7:0

                                                                                                        (8 bits)1

                            ALU                                                     PORT F              PF7:0

                                                                                                        (8 bits)1

                            PROGRAM                                                 SPI

                            MEMORY

                            (16 - 60 Kbytes)                                        LINSCI2

                                                                                    (LIN master)

                            RAM

                            (1 - 2 Kbytes)                                          LINSCI1

                                                                                    (LIN master/slave)

                                                                                    WINDOW

                            MCC                                                     WATCHDOG

                            (Clock Control)                                         CAN

                                                                                    (2.0B ACTIVE)

1.            On some  devices only (see Table 2: Product  overview)

                            Doc ID 12370 Rev                                     8                                 21/324
Description                                                                                                                                                                                                                                                                                                                             ST72561-Auto

1.1          Pin description

             Figure 2.  LQFP 64-pin        package                                                        pinout

                                              PF7          PF6          PD7 / AIN11          PD6 / AIN10  RESET        PD5 / LINSCI2_TDO     VDD_0                      VDDA   VSS_0  VSSA                       PD4 / LINSCI2_RDI          PD3 (HS)/ LINSCI2_SCK    PF5                    TLI  PF4  PF3 / AIN9

                                              64           63 62 61                                       60 59 58 57                                                          56     55                         54 53 52                                                                   51 50     49               PD2 / LINSCI1_TDO

                        OSC1               1                            ei3                                                                                                                                                                                                                           48

                        OSC2               2                                                                                                                                                                     ei3                                                                             ei3  47               PD1 / LINSCI1_RDI

                        ARTIC1 / PA0       3                                                                                                                                                                                                                                                          46               PF2 / AIN8

                        PWM0 / PA1         4                                                                                                                                                                                                                                                          45               PF1 / AIN7

                        PWM1 / (HS) PA2    5               ei0                                                                                                                                                                                                                                        44               PF0

                        PWM2 / PA3         6                                                                                                                                                                                                                                                          43               PE7

                        PWM3 / PA4         7                                                                                                                                                                                                                                                ei3       42               PD0 / SPI_SS / AIN6

                        VSS_3              8                                                                                                                                                                                                                                                          41               VDD_1

                        VDD_3              9                                                                                                                                                                                                                                                          40               VSS_1

                        ARTCLK / (HS)PA5   10                                                                                                                                                                                                                                                         39               PC7 / SPI_SCK

                        ARTIC2 / (HS) PA6  11              ei0                                                                                                                                                                                                                                        38               PC6 / SPI_MOSI

                        T8_OCMP2 / PA7     12                                                                                                                                                                                                                                                         37               PC5 / SPI_MISO

                        T8_ICAP2 / PB0     13                                                                                                                                                                                                                                                         36               PE6 / AIN5

                        T8_OCMP1 / PB1     14              ei1                                                                                                                                                                                                                                        35               PE5

                        T8_ICAP1 / PB2     15                           ei1                                            ei1                                                                                                                  ei2                                                       34               PC4 / CAN_TX

                        MCO / PB3          16                                                                                                                                                                                                                                                         33               PC3 / CAN_RX

                                              17           18 19 20                                       21 22 23 24                                                         25      26                         27 28 29                                                                   30 31     32

                                              AIN12 / PE0  AIN13 / PE1  ICCCLK / AIN0 / PB4  AIN14 / PE2  AIN15 / PE3  ICCDATA / AIN1 / PB5  (*)T16_OCMP1 / AIN2 / PB6  VSS_2  VDD_2  (*)T16_OCMP2 / AIN3 / PB7  (*)T16_ICAP1 / AIN4 / PC0  (*)T16_ICAP2 / (HS) PC1  T16_EXTCLK / (HS) PC2  PE4  NC   ICCSEL/VPP

                                                                                                                                                                                                                                                                                                                  (HS)  20mA high sink capability

                                                                                                                                                                                                                                                                                                                  eix   associated external interrupt vector

                                                                                                                                                                                                                                                                                                                  (*) : by option bit:

                                                                                                                                                                                                                                                                                                                  T16_ICAP1 can be moved to PD4

                                                                                                                                                                                                                                                                                                                  T16_ICAP2 can be moved to PD1

                                                                                                                                                                                                                                                                                                                  T16_OCMP1 can be moved to PD3

                                                                                                                                                                                                                                                                                                                  T16_OCMP2 can be moved to PD5

22/324                                            Doc ID 12370 Rev 8
ST72561-Auto                                                                                                                                                                                                                                                                                                      Description

Figure 3.     LQFP 44-pin package pinout

                                     PD7 / AIN11          PD6 / AIN10           RESET                      PD5 / LINSCI2_TDO 1  VDD_0  VDDA                       VSS_0                      VSSA                     PD4 / LINSCI2_RDI      PD3 (HS) / LINSCI2_SCK  PF5

                                    44 43 42                                                               41                   40     39                         38                         37 36 35 34

              OSC1               1                        ei3                                                                                                                                                                                                        33          PD2 / LINSCI1_TDO

              OSC2               2                                                                                                                                                                                    ei3                                            32          PD1 / LINSCI1_RDI

              PWM0 / PA1         3                                                                                                                                                                                                           ei3                     31          PF2 / AIN8

              PWM1 / (HS) PA2    4                                                                                                                                                                                                                                   30          PF1 / AIN7

              PWM2 / PA3         5   ei0                                                                                                                                                                                                     ei3                     29          PD0 / SPI_SS / AIN6

              PWM3 / PA4         6                                                                                                                                                                                                                                   28          PC7 / SPI_SCK

              ARTCLK / (HS)PA5   7                                                                                                                                                                                                                                   27          PC6 / SPI_MOSI

              ARTIC2 / (HS) PA6  8                                                                                                                                                                                                                                   26          PC5 / SPI_MISO

              T8_OCMP1 / PB1     9                                                                                                                                                                                                                                   25          PE6 / AIN5

              T8_ICAP1 / PB2     10  ei1                                                                                                                                                     ei2                                                                     24          PC4 / CAN_TX

              MCO / PB3          11                       ei1                                                                                                                                                                                                        23          PC3 / CAN_RX

                                    12 13 14                                                               15                   16  17                            18                         19 20 21 22

                                     ICCCLK / AIN0 / PB4  ICCDATA / AIN1 / PB5  (*)T16_OCMP1 / AIN2 / PB6  VSS_2                VDD_2  (*)T16_OCMP2 / AIN3 / PB7  (*)T16_ICAP1 / AIN4 / PC0  (*)T16_ICAP2 / (HS) PC1  T16_EXTCLK / (HS) PC2  PE4                     ICCSEL/VPP

                                                                                                                                                                                                                                                                                 (HS)  20mA high sink capability

                                                                                                                                                                                                                                                                                 eix   associated external interrupt vector

                                                                                                                                                                                                                                                                                 (*) : by option bit:

                                                                                                                                                                                                                                                                                 T16_ICAP1 can be moved to PD4

                                                                                                                                                                                                                                                                                 T16_ICAP2 can be moved to PD1

                                                                                                                                                                                                                                                                                 T16_OCMP1 can be moved to PD3

                                                                                                                                                                                                                                                                                 T16_OCMP2 can be moved to PD5

                                 Doc ID 12370 Rev 8                                                                                                                                                                                                                                                                          23/324
Description                                                                                                                                                                                                                                                           ST72561-Auto

             Figure 4.     LQFP  32-pin package pinout

                                                       RESET                PD5 / LINSCI2_TDO     VDD_0                   VDDA                    VSS_0                   VSSA                  PD4 / LINSCI2_RDI      PD3 (HS) / LINSCI2_SCK1

                                                       32 31 30                                                           29                      28                      27 26 25

                                 OSC1               1                                                                                                                     ei3                                          24                       PD2 / LINSCI1_TDO

                                 OSC2               2                                                                                                                                                                  23                       PD1 / LINSCI1_RDI

                                 PWM0 / PA1         3                                                                                                                     ei3                                          22                       PD0 / SPI_SS / AIN6

                                 PWM1 / (HS) PA2    4     ei0                                                                                                                                                          21                       PC7 / SPI_SCK

                                 ARTCLK / (HS) PA5  5                                                                                                                                                                  20                       PC6 / SPI_MOSI

                                 T8_OCMP1 / PB1     6                                                                                                                                                                  19                       PC5 / SPI_MISO

                                 T8_ICAP1 / PB2     7  ei1                                                                                                                ei2                                          18                       PC4 / CAN_TX

                                 MCO / PB3          8                       ei1                                                                                                                                        17                       PC3 / CAN_RX

                                                       9                    10 11                                         12                      13                      14 15 16

                                                       ICCCLK / AIN0 / PB4  ICCDATA / AIN1 / PB5  T16_OCMP1 / AIN2 / PB6  T16_OCMP2 / AIN3 / PB7  T16_ICAP1 / AIN4 / PC0  T16_ICAP2 / (HS) PC1  T16_EXTCLK / (HS) PC2  ICCSEL/VPP

                                                                                                                                                                                                                                                (HS)  20mA high sink capability

                                                                                                                                                                                                                                                eix   associated external interrupt vector

                                                                                                                                                                                                                                                (*) : by option bit:

                                                                                                                                                                                                                                                T16_ICAP1 can be moved to PD4

                                                                                                                                                                                                                                                T16_ICAP2 can be moved to PD1

                                                                                                                                                                                                                                                T16_OCMP1 can be moved to PD3

                                                                                                                                                                                                                                                T16_OCMP2 can be moved to PD5

             For external  pin connection guidelines, refer to Chapter                                                                                                                                                                          20: Electrical characteristics.

24/324                           Doc ID 12370 Rev 8
ST72561-Auto                                                                                                               Description

                        List of abbreviations used in Table 3

                        Type:              I = input, O = output, S = supply

                        In/Output level:   CT= CMOS 0.3VDD/0.7VDD with Schmitt trigger

                                           TT= TTL 0.8V / 2V with Schmitt trigger

                        Output level:      HS = 20mA high sink (on N-buffer only)

                                           Port and control configuration:

                        Input:             float = floating, wpu = weak pull-up, int = interrupt, ana = analog,

                                           RB = robust

                        Output:            OD = open drain, PP = push-pull

                        Refer to Chapter 8: I/O ports for more details on the software configuration of the I/O ports.

                        The RESET configuration of each pin is shown in bold which is valid as long as the device is

                        in reset state.

Table 3.                Device pin description

    Pin n°                                         Level                         Port           Main

LQFP64  LQFP44  LQFP32          Pin name     Type         Output         Input(1)       Output  function  Alternate function

                                                   Input                                        (after

                                                                  float  wpu  int  ana  OD  PP  reset)

1       1       1       OSC1(2)              I                                                  External clock input or resonator

                                                                                                oscillator inverter input

2       2       2       OSC2(2)              I/O                                                Resonator oscillator inverter output

3       -       -       PA0 / ARTIC1         I/O   CT             X         ei0         X   X   Port A0   ART input capture 1

4       3       3       PA1 / PWM0           I/O   CT             X           ei0       X   X   Port A1   ART PWM output 0

5       4       4       PA2 (HS) / PWM1      I/O   CT     HS      X         ei0         X   X   Port A2   ART PWM output 1

6       5       -       PA3 / PWM2           I/O   CT             X           ei0       X   X   Port A3   ART PWM output 2

7       6       -       PA4 / PWM3           I/O   CT             X         ei0         X   X   Port A4   ART PWM output 3

8       -       -       VSS_3                S                                                  Digital ground voltage

9       -       -       VDD_3                S                                                  Digital main supply voltage

10      7       5       PA5 (HS) / ARTCLK    I/O   CT     HS      X           ei0       X   X   Port A5   ART external clock

11      8       -       PA6 (HS) / ARTIC2    I/O   CT     HS      X         ei0         X   X   Port A6   ART input capture 2

12      -       -       PA7 / T8_OCMP2       I/O   CT             X           ei0       X   X   Port A7   TIM8 output capture 2

13      -       -       PB0 /T8_ICAP2        I/O   CT             X         ei1         X   X   Port B0   TIM8 input capture 2

14      9       6       PB1 /T8_OCMP1        I/O   CT             X           ei1       X   X   Port B1   TIM8 output capture 1

15      10      7       PB2 / T8_ICAP1       I/O   CT             X         ei1         X   X   Port B2   TIM8 input capture 1

16      11      8       PB3 / MCO            I/O   CT             X           ei1       X   X   Port B3   Main clock out (fOSC2)

17      -       -       PE0 / AIN12          I/O   TT             X      X         RB   X   X   Port E0   ADC analog input 12

18      -       -       PE1 / AIN13          I/O   TT             X      X         RB   X   X   Port E1   ADC analog input 13

                                                                                                          ICC clock        ADC

19      12      9       PB4 / AIN0 / ICCCLK  I/O   CT             X         ei1    RB   X   X   Port B4   input            analog

                                                                                                                           input 0

                                                          Doc ID 12370 Rev 8                                                    25/324
Description                                                                                                           ST72561-Auto

Table 3.                Device pin description (continued)

    Pin n°                                          Level                         Port              Main

LQFP64  LQFP44  LQFP32         Pin name       Type         Output         Input(1)       Output     function  Alternate function

                                                    Input                                           (after

                                                                   float  wpu  int  ana  OD   PP    reset)

20      -       -       PE2 / AIN14           I/O   TT             X      X         RB   X    X     Port E2   ADC analog input 14

21      -       -       PE3 / AIN15           I/O   TT             X      X         RB   X    X     Port E3   ADC analog input 15

                                                                                                              ICC data        ADC

22      13      10      PB5 / AIN1 / ICCDATA  I/O   CT             X           ei1  RB   X    X     Port B5   input           analog

                                                                                                                              input 1

                        PB6 / AIN2 /                                                                          TIM16           ADC

23      14      11      T16_OCMP1             I/O   CT             X      X         RB   X    X     Port B6   output          analog

                                                                                                              compare 1       input 2

24      15      -       VSS_2                 S                                                          Digital ground voltage

25      16      -       VDD_2                 S                                                          Digital main supply voltage

                        PB7 /AIN3 /                                                                           TIM16           ADC

26      17      12      T16_OCMP2             I/O   CT             X      X         RB   X    X     Port B7   output          analog

                                                                                                              compare 2       input 3

                        PC0 / AIN4 /                                                                          TIM16           ADC

27      18      13      T16_ICAP1             I/O   CT             X      X         RB   X    X     Port C0   input           analog

                                                                                                              capture 1       input 4

28      19      14      PC1 (HS) /            I/O   CT     HS      X         ei2         X    X     Port C1   TIM16 input capture 2

                        T16_ICAP2

29      20      15      PC2 (HS) /            I/O   CT     HS      X           ei2       X    X     Port C2   TIM16 external clock

                        T16_EXTCLK                                                                            input

30      21      -       PE4                   I/O   TT             X      X              X    X               Port E4

31      -       -       NC                                                               Not  Connected

32      22      16      VPP                   I                                                     Flash programming voltage.Must

                                                                                                    be tied low in user mode

33      23      17      PC3 / CANRX           I/O   CT             X      X              X    X     Port C3   CAN receive data input

34      24      18      PC4 / CANTX           I/O   CT             X                          X(3)  Port C4   CAN transmit data

                                                                                                              output

35      -       -       PE5                   I/O   TT             X      X              X    X               Port E5

36      25      -       PE6 / AIN5            I/O   TT             X      X         X    X    X     Port E6   ADC analog input 5

37      26      19      PC5 /MISO             I/O   CT             X      X              X    X     Port C5   SPI master in/slave out

38      27      20      PC6 / MOSI            I/O   CT             X      X              X    X     Port C6   SPI master out/slave in

39      28      21      PC7 /SCK              I/O   CT             X      X              X    X     Port C7   SPI serial clock

40      -       -       VSS_1                 S                                                     Digital ground voltage

41      -       -       VDD_1                 S                                                     Digital main supply voltage

                                                                                                              SPI slave       ADC

42      29      22      PD0 / SS/ AIN6        I/O   CT             X         ei3    X    X    X     Port D0   select          analog

                                                                                                                              input 6

26/324                                                     Doc ID 12370 Rev 8
ST72561-Auto                                                                                                                Description

Table 3.                    Device pin description (continued)

    Pin n°                                             Level                         Port           Main

    LQFP64  LQFP44  LQFP32         Pin name      Type         Output         Input(1)       Output  function    Alternate function

                                                       Input                                        (after

                                                                      float  wpu  int  ana  OD  PP  reset)

43          -       -       PE7                  I/O   TT             X      X              X   X               Port E7

44          -       -       PF0                  I/O   TT             X      X              X   X               Port F0

45          30      -       PF1 / AIN7           I/O   TT             X      X         X    X   X   Port F1     ADC analog input 7

46          31      -       PF2 / AIN8           I/O   TT             X      X         X    X   X   Port F2     ADC analog input 8

47          32      23      PD1 / SCI1_RDI       I/O   CT             X           ei3       X   X   Port D1     LINSCI1 receive data

                                                                                                                input

48          33      24      PD2 / SCI1_TDO       I/O   CT             X      X              X   X   Port D2     LINSCI1 transmit data

                                                                                                                output

49          -       -       PF3 / AIN9           I/O   TT             X      X         X    X   X   Port F3     ADC analog input 9

50          -       -       PF4                  I/O   TT             X      X              X   X               Port F4

51          -       -       TLI                  I     CT             X           X                 Top level interrupt input pin

52          34      -       PF5                  I/O   TT             X      X              X   X               Port F5

53          35      25      PD3 (HS) / SCI2_SCK  I/O   CT     HS      X      X              X   X   Port D3     LINSCI2 serial clock

                                                                                                                output

54          36      26      PD4 / SCI2_RDI       I/O   CT             X           ei3       X   X   Port D4     LINSCI2 receive data

                                                                                                                input

55          37      27      VSSA                 S                                                  Analog ground voltage

56          38      28      VSS_0                S                                                  Digital ground voltage

57          39      29      VDDA                 I                                                  Analog reference voltage for ADC

58          40      30      VDD_0                S                                                  Digital main supply voltage

59          41      31      PD5 / SCI2_TDO       I/O   CT             X      X              X   X   Port D5     LINSCI2 transmit data

                                                                                                                output

60          42      32      RESET                I/O   CT                                           Top priority non maskable

                                                                                                    interrupt.

61          43      -       PD6 / AIN10          I/O   CT             X         ei3    X    X   X   Port D6     ADC analog input 10

62          44      -       PD7 / AIN11          I/O   CT             X           ei3  X    X   X   Port D7     ADC analog input 11

63          -       -       PF6                  I/O   TT             X      X              X   X               Port F6

64          -       -       PF7                  I/O   TT             X      X              X   X               Port F7

1.  In the interrupt input column, “eiX” defines the associated external interrupt vector. If the weak pull-up column (wpu) is

    merged with the interrupt column (int), then the I/O configuration is pull-up interrupt input, else the configuration is floating

    interrupt input.

2.  OSC1 and OSC2 pins connect a crystal/ceramic resonator, or an external source to the on-chip oscillator; see Chapter 1: Description and

    Section 20.5: Clock and timing characteristics for more details.

3.  Input mode can be used for general purpose I/O, output mode only for CANTX.

    On the chip, each I/O port has eight pads. Pads that are not bonded to external pins are in input pull-up configuration after

    reset. The configuration of these pads must be kept at reset state to avoid added current consumption.

                                                              Doc ID 12370 Rev 8                                                             27/324
Register  and memory map                                                                           ST72561-Auto

2         Register and memory map

          As shown in Figure 5, the MCU is capable of addressing 64 Kbytes of memories and I/O

          registers.

          The available memory locations consist of 128 bytes of register locations, up to 2 Kbytes of

          RAM and up to 60 Kbytes of user program memory.

          The RAM space includes up to 256 bytes for the stack from 0100h to 01FFh.The highest

          address bytes contain the user reset and interrupt vectors.

Caution:  Memory locations marked as “Reserved” must never be accessed. Accessing a reserved

          area can have unpredictable effects on the device.

          Figure 5.   Memory map

          0000h           HW Registers           0080h

                          (see Table 4)                          Short Addressing

          007Fh                                                  RAM (zero page)

          0080h                                  00FFh

                                                 0100h

                             RAM                                 256 bytes Stack    1000h

                          (2048/1024 bytes)      01FFh                                     60 Kbytes

          087Fh                                  0200h

                                                                 16-bit Addressing  4000h

          0880h                                                      RAM                   48 Kbytes

                          Reserved

          0FFFh                                  047Fh                              8000h

          1000h                                  or 087Fh                                  32 Kbytes

                          Program Memory

                      (60K, 48K, 32K, 16K)                                          C000h

          FFDFh

          FFE0h       Interrupt & Reset Vectors                                            16 Kbytes

          FFFFh           (see Table 16)                                            FFDFh

Table 4.  Hardware    register map

Address   Block           Register               Register name                             Reset      Remarks(1)

                          label                                                            status

   0000h              PADR               Port A Data Register                              00h(2)     R/W(3)

   0001h  Port A      PADDR              Port A Data Direction Register                    00h        R/W(3)

   0002h              PAOR               Port A Option Register                            00h        R/W(3)

   0003h              PBDR               Port B Data Register                              00h(2)     R/W(3)

   0004h  Port B      PBDDR              Port B Data Direction Register                    00h        R/W(3)

   0005h              PBOR               Port B Option Register                            00h        R/W(3)

   0006h              PCDR               Port C Data Register                              00h(2)     R/W(3)

   0007h  Port C      PCDDR              Port C Data Direction Register                    00h        R/W(3)

   0008h              PCOR               Port C Option Register                            00h        R/W(3)

   0009h              PDDR               Port D Data Register                              00h(2)     R/W(3)

   000Ah  Port D      PDDDR              Port D Data Direction Register                    00h        R/W(3)

   000Bh              PDOR               Port D Option Register                            00h        R/W(3)

   000Ch              PEDR               Port E Data Register                              00h(2)     R/W(3)

   000Dh  Port E      PEDDR              Port E Data Direction Register                    00h        R/W(3)

   000Eh              PEOR               Port E Option Register                            00h        R/W(3)

28/324                                           Doc ID 12370 Rev 8
ST72561-Auto                                                                    Register and  memory map

Table 4.  Hardware register map     (continued)

Address       Block   Register                   Register name                    Reset       Remarks(1)

                      label                                                       status

000Fh                 PFDR          Port F Data Register                          00h(2)      R/W(3)

0010h         Port F  PFDDR         Port F Data Direction Register                00h         R/W(3)

0011h                 PFOR          Port F Option Register                        00h         R/W(3)

0012h

to        Reserved Area (15 bytes)

0020h

0021h                 SPIDR         SPI Data I/O Register                         xxh         R/W

0022h         SPI     SPICR         SPI Control Register                          0xh         R/W

0023h                 SPICSR        SPI Control/Status Register                   00h         R/W

0024h         FLASH   FCSR          Flash Control/Status Register                 00h         R/W

0025h                 ISPR0         Interrupt Software Priority Register 0        FFh         R/W

0026h                 ISPR1         Interrupt Software Priority Register 1        FFh         R/W

0027h         ITC     ISPR2         Interrupt Software Priority Register 2        FFh         R/W

0028h                 ISPR3         Interrupt Software Priority Register 3        FFh         R/W

0029h                 EICR0         External Interrupt Control Register 0         00h         R/W

002Ah                 EICR1         External Interrupt Control Register 1         00h         R/W

002Bh         AWU     AWUCSR        Auto Wake up f. Halt Control/Status Register  00h         R/W

002Ch                 AWUPR         Auto Wake Up From Halt Prescaler              FFh         R/W

002Dh     CKCTRL      SICSR         System Integrity Control / Status Register    0xh         R/W

002Eh                 MCCSR         Main Clock Control / Status Register          00h         R/W

002Fh         WWDG    WDGCR         Watchdog Control Register                     7Fh         R/W

0030h                 WDGWR         Watchdog Window Register                      7Fh         R/W

0031h                 PWMDCR3       Pulse Width Modulator Duty Cycle Register     00h         R/W

0032h                 PWMDCR2       3                                             00h         R/W

0033h                 PWMDCR1       PWM Duty Cycle Register 2                     00h         R/W

0034h                 PWMDCR0       PWM Duty Cycle Register 1                     00h         R/W

0035h                 PWMCR         PWM Duty Cycle Register 0                     00h         R/W

0036h         PWM     ARTCSR        PWM Control register                          00h         R/W

0037h         ART     ARTCAR        Auto-Reload Timer Control/Status Register     00h         R/W

0038h                 ARTARR        Auto-Reload Timer Counter Access Register     00h         R/W

0039h                 ARTICCSR      Auto-Reload Timer Auto-Reload Register        00h         R/W

003Ah                 ARTICR1       ART Input Capture Control/Status Register     00h         Read  Only

003Bh                 ARTICR2       ART Input Capture Register 1                  00h         Read  Only

                                    ART Input Capture register 2

003Ch                 T8CR2         Timer Control Register 2                      00h         R/W

003Dh                 T8CR1         Timer Control Register 1                      00h         R/W

003Eh                 T8CSR         Timer Control/Status Register                 00h         Read  Only

003Fh         8-BIT   T8IC1R        Timer Input Capture 1 Register                xxh         Read  Only

0040h         TIMER   T8OC1R        Timer Output Compare 1 Register               00h         R/W

0041h                 T8CTR         Timer Counter Register                        FCh         Read  Only

0042h                 T8ACTR        Timer Alternate Counter Register              FCh         Read  Only

0043h                 T8IC2R        Timer Input Capture 2 Register                xxh         Read  Only

0044h                 T8OC2R        Timer Output Compare 2 Register               00h         R/W

0045h                 ADCCSR        Control/Status Register                       00h         R/W

0046h         ADC     ADCDRH        Data High Register                            00h         Read  Only

0047h                 ADCDRL        Data Low Register                             00h         Read  Only

                                       Doc ID 12370 Rev 8                                             29/324
Register  and memory map                                                               ST72561-Auto

Table 4.  Hardware register map     (continued)

Address   Block           Register               Register name                 Reset   Remarks(1)

                          label                                                status

0048h                    SCI1ISR    SCI1 Status Register                       C0h     Read Only

0049h                    SCI1DR     SCI1 Data Register                         xxh     R/W

004Ah     LINSCI1        SCI1BRR    SCI1 Baud Rate Register                    00h     R/W

004Bh     (LIN           SCI1CR1    SCI1 Control Register 1                    xxh     R/W

004Ch     Master/Slave)  SCI1CR2    SCI1 Control Register 2                    00h     R/W

004Dh                    SCI1CR3    SCI1Control Register 3                     00h     R/W

004Eh                    SCI1ERPR   SCI1 Extended Receive Prescaler Register   00h     R/W

004Fh                    SCI1ETPR   SCI1 Extended Transmit Prescaler Register  00h     R/W

0050h                                      Reserved Area (1 byte)

0051h                    T16CR2     Timer  Control Register 2                  00h     R/W

0052h                    T16CR1     Timer  Control Register 1                  00h     R/W

0053h                    T16CSR     Timer  Control/Status Register             00h     R/W

0054h                    T16IC1HR   Timer  Input Capture 1 High Register       xxh     Read  Only

0055h                    T16IC1LR   Timer  Input Capture 1 Low Register        xxh     Read  Only

0056h                    T16OC1HR   Timer  Output Compare 1 High Register      80h     R/W

0057h     16-BIT         T16OC1LR   Timer  Output Compare 1 Low Register       00h     R/W

0058h     TIMER          T16CHR     Timer  Counter High Register               FFh     Read  Only

0059h                    T16CLR     Timer  Counter Low Register                FCh     Read  Only

005Ah                    T16ACHR    Timer  Alternate Counter High Register     FFh     Read  Only

005Bh                    T16ACLR    Timer  Alternate Counter Low Register      FCh     Read  Only

005Ch                    T16IC2HR   Timer  Input Capture 2 High Register       xxh     Read  Only

005Dh                    T16IC2LR   Timer  Input Capture 2 Low Register        xxh     Read  Only

005Eh                    T16OC2HR   Timer  Output Compare 2 High Register      80h     R/W

005Fh                    T16OC2LR   Timer  Output Compare 2 Low Register       00h     R/W

0060h                    SCI2SR     SCI2 Status Register                       C0h     Read  Only

0061h                    SCI2DR     SCI2 Data Register                         xxh     R/W

0062h                    SCI2BRR    SCI2 Baud Rate Register                    00h     R/W

0063h     LINSCI2        SCI2CR1    SCI2 Control Register 1                    xxh     R/W

0064h     (LIN Master)   SCI2CR2    SCI2 Control Register 2                    00h     R/W

0065h                    SCI2CR3    SCI2 Control Register 3                    00h     R/W

0066h                    SCI2ERPR   SCI2 Extended Receive Prescaler Register   00h     R/W

0067h                    SCI2ETPR   SCI2 Extended Transmit Prescaler Register  00h     R/W

30/324                              Doc ID 12370 Rev 8
ST72561-Auto                                                                                         Register and        memory map

Table 4.   Hardware register map (continued)

Address       Block                  Register                   Register name                        Reset               Remarks(1)

                                     label                                                           status

    0068h              CMCR                    CAN Master Control Register                                               R/W

    0069h              CMSR                    CAN Master Status Register                                                R/W

    006Ah              CTSR                    CAN Transmit Status Register                                              R/W

    006Bh              CTPR                    CAN Transmit Priority Register                                            R/W

    006Ch              CRFR                    CAN Receive FIFO Register                                                 R/W

    006Dh              CIER                    CAN Interrupt Enable Register                                             R/W

    006Eh              CDGR                    CAN Diagnosis Register                                                    R/W

    006Fh              CPSR                    CAN Page Selection Register                                               R/W

    0070h                                      PAGE  REGISTER   0                                                        R/W

    0071h                                      PAGE  REGISTER   1                                                        R/W

    0072h                                      PAGE  REGISTER   2                                                        R/W

    0073h  Active CAN                          PAGE  REGISTER   3                                                        R/W

    0074h                                      PAGE  REGISTER   4                                                        R/W

    0075h                                      PAGE  REGISTER   5                                                        R/W

    0076h                                      PAGE  REGISTER   6                                                        R/W

    0077h              PAGES                   PAGE  REGISTER   7                                                        R/W

    0078h                                      PAGE  REGISTER   8                                                        R/W

    0079h                                      PAGE  REGISTER   9                                                        R/W

    007Ah                                      PAGE  REGISTER   10                                                       R/W

    007Bh                                      PAGE  REGISTER   11                                                       R/W

    007Ch                                      PAGE  REGISTER   12                                                       R/W

    007Dh                                      PAGE  REGISTER   13                                                       R/W

    007Eh                                      PAGE  REGISTER   14                                                       R/W

    007Fh                                      PAGE  REGISTER   15                                                       R/W

1.  x = undefined, R/W = read/write

2.  The contents of the I/O port DR registers are readable only in output configuration.  In  input  configuration, the  values of the

    I/O pins are returned instead of the DR register contents.

3.  The bits associated with unavailable pins must always keep their reset value.

                                               Doc ID 12370 Rev 8                                                             31/324
Flash program memory                                                         ST72561-Auto

3       Flash program memory

3.1     Introduction

        The ST7 dual voltage High Density Flash (HDFlash) is a non-volatile memory that can be

        electrically erased as a single block or by individual sectors and programmed on a Byte-by-

        Byte basis using an external VPP supply.

        The HDFlash devices can be programmed and erased off-board (plugged in a programming

        tool) or on-board using ICP (In-Circuit Programming) or IAP (In-Application Programming).

        The array matrix organization allows each sector to be erased and reprogrammed without

        affecting other sectors.

3.2     Main features

        ●  3 Flash programming modes:

           –       Insertion in a programming tool. In this mode, all sectors including option bytes

                   can be programmed or erased.

           –       ICP (In-Circuit Programming). In this mode, all sectors including option bytes can

                   be programmed or erased without removing the device from the application board.

           –       IAP (In-Application Programming) In this mode, all sectors except Sector 0, can be

                   programmed or erased without removing the device from the application board

                   and while the application is running.

        ●  ICT (In-Circuit Testing) for downloading and executing user application test patterns in

           RAM

        ●  Read-out protection

        ●  Register Access Security System (RASS) to prevent accidental programming or

           erasing

3.3     Structure

        The Flash memory is organized in sectors and can be used for both code and data storage.

        Depending on the overall Flash memory size in the microcontroller device, there are up to

        three user sectors (see Table 5). Each of these sectors can be erased independently to

        avoid unnecessary erasing of the whole Flash memory when only a partial erasing is

        required.

        The first two sectors have a fixed size of 4 Kbytes (see Figure 6). They are mapped in the

        upper part of the ST7 addressing space so the reset and interrupt vectors are located in

        Sector 0 (F000h-FFFFh).

        Table 5.      Sectors available in Flash devices

                      Flash size (bytes)                  Available sectors

                       4K                                 Sector 0

                       8K                                 Sectors 0,1

                       > 8K                               Sectors 0,1, 2

32/324                            Doc ID 12370 Rev 8
ST72561-Auto                                                                            Flash program memory

3.3.1  Read-out protection

       Read-out protection, when selected, provides a protection against Program Memory content

       extraction and against write access to Flash memory. Even if no protection can be

       considered as totally unbreakable, the feature provides a very high level of protection for a

       general purpose microcontroller.

       In Flash devices, this protection is removed by reprogramming the option. In this case, the

       entire program memory is first automatically erased and the device can be reprogrammed.

       Read-out protection selection depends on the device type:

       ●      In Flash devices it is enabled and removed through the FMP_R bit in the option byte.

       ●      In ROM devices it is enabled by mask option specified in the Option List.

       Figure  6.     Memory  map  and sector address

                      4K      8K   10K         16K     24K        32K        48K        60K        FLASH

               1000h                                                                               MEMORY SIZE

               3FFFh

               7FFFh

               9FFFh                                                                               SECTOR 2

               BFFFh

               D7FFh

               DFFFh               2 Kbytes  8 Kbytes  16 Kbytes  24 Kbytes  40 Kbytes  52 Kbytes

               EFFFh                                   4 Kbytes                                    SECTOR 1

               FFFFh                                   4 Kbytes                                    SECTOR 0

3.4    ICC interface

       ICC (In-Circuit Communication) needs a minimum of four and up to six                        pins  to  be  connected

       to the programming tool (see Figure 7). These pins are:

       ●      RESET: device reset

       ●      VSS: device power supply ground

       ●      ICCCLK: ICC output serial clock pin

       ●      ICCDATA: ICC input/output serial data pin

       ●      ICCSEL/VPP: programming voltage

       ●      OSC1(or OSCIN): main clock input for external source (optional)

       ●      VDD: application board power supply (see Figure 7, Note 3)

                                   Doc ID 12370 Rev 8                                                            33/324
Flash   program memory                                                                                                           ST72561-Auto

           Figure 7.    Typical ICC interface

                              PROGRAMMING TOOL

                                                                  ICC   CONNECTOR

                                                                                    ICC Cable

                                                                                                            APPLICATION BOARD

                         (See Note 3)                                                                       ICC CONNECTOR

                                               OPTIONAL                                                     HE10 CONNECTOR TYPE

                                               (See Note 4)       9     7           5      3       1

                                                                  10    8           6      4       2

                                                                                                            APPLICATION

                                                                                                            RESET SOURCE

                                                                                                            See Note 2

                                                                  10kΩ

           APPLICATION        CL2               CL1

           POWER SUPPLY                                                                                     See Note 1

                                         OSC1                           ICCSEL/VPP  RESET  ICCCLK  ICCDATA  APPLICATION

                         VDD       OSC2                      VSS                                            I/O

                                                ST7

Note:   1  If the ICCCLK or ICCDATA pins are only used as outputs in the application, no signal

           isolation is necessary. As soon as the Programming Tool is plugged to the board, even if an

           ICC session is not in progress, the ICCCLK and ICCDATA pins are not available for the

           application. If they are used as inputs by the application, isolation such as a serial resistor

           has to implemented in case another device forces the signal. Refer to the Programming Tool

           documentation for recommended resistor values.

        2  During the ICC session, the programming tool must control the RESET pin. This can lead to

           conflicts between the programming tool and the application reset circuit if it drives more than

           5mA at high level (push pull output or pull-up resistor < 1K). A schottky diode can be used to

           isolate the application RESET circuit in this case. When using a classical RC network with

           R > 1K or a reset management IC with open drain output and pull-up resistor > 1K, no

           additional components are needed. In all cases the user must ensure that no external reset

           is generated by the application during the ICC session.

        3  The use of Pin 7 of the ICC connector depends on the Programming Tool architecture. This

           pin must be connected when using most ST Programming Tools (it is used to monitor the

           application power supply). Please refer to the Programming Tool manual.

        4  Pin 9 has to be connected to the OSC1 or OSCIN pin of the ST7 when the clock is not

           available in the application or if the selected clock option is not programmed in the option

           byte. ST7 devices with multi-oscillator capability need to have OSC2 grounded in this case.

3.5        ICP (in-circuit programming)

           To perform ICP the microcontroller must be switched to ICC (In-Circuit Communication)

           mode by an external controller or programming tool.

           Depending on the ICP code downloaded in RAM, Flash memory programming can be fully

           customized (number of bytes to program, program locations, or selection serial

           communication interface for downloading).

           When using an STMicroelectronics or third-party programming tool that supports ICP and

           the specific microcontroller device, the user needs only to implement the ICP hardware

34/324                                   Doc ID 12370 Rev 8
ST72561-Auto                                                                Flash program memory

     interface on the application board (see Figure 7). For more details on the pin locations, refer

     to the device pinout description.

3.6  IAP (in-application programming)

     This mode uses a Bootloader program previously stored in Sector 0 by the user (in ICP

     mode or by plugging the device in a programming tool).

     This mode is fully controlled by user software. This allows it to be adapted to the user

     application, (user-defined strategy for entering programming mode, choice of

     communications protocol used to fetch the data to be stored, etc.). For example, it is

     possible to download code from the SPI, SCI or other type of serial interface and program it

     in the Flash. IAP mode can be used to program any of the Flash sectors except Sector 0,

     which is write/erase protected to allow recovery in case errors occur during the

     programming operation.

3.7  Related documentation

     For details on Flash programming and ICC protocol, refer to the ST7 Flash programming

     reference manual and to the ST7 ICC protocol reference manual.

3.8  Register description

     Flash Control/Status Register (FCSR)

     Read/ write

     Reset value: 0000 0000 (00h)

              7                                                                                   0

              0         0           0         0            0          0            0              0

     This register is reserved for use by Programming Tool software.     It controls the  Flash

     programming and erasing operations.

     Table 6.     Flash control/status register address and reset        value

              Address (Hex.)  Register label     7         6  5          4      3      2       1      0

                 0024h        FCSR

                              Reset value        0         0  0          0      0      0       0      0

                                       Doc ID 12370 Rev 8                                         35/324
Central  processing unit                                                        ST72561-Auto

4        Central processing unit

4.1      Introduction

         This CPU has a full 8-bit architecture and contains six internal registers allowing efficient

         8-bit data manipulation.

4.2      Main features

         ●  Enable executing 63 basic instructions

         ●  Fast 8-bit by 8-bit multiply

         ●  17 main addressing modes (with indirect addressing mode)

         ●  Two 8-bit index registers

         ●  16-bit stack pointer

         ●  Low power HALT and WAIT modes

         ●  Priority maskable hardware interrupts

         ●  Non-maskable software/hardware interrupts

4.3      CPU registers

         The six CPU registers shown in Figure 8 are not present in the memory mapping and are

         accessed by specific instructions.

4.3.1    Accumulator (A)

         The Accumulator is an 8-bit general purpose register used to hold operands and the results

         of the arithmetic and logic calculations and to manipulate data.

4.3.2    Index registers (X and Y)

         These 8-bit registers are used to create effective addresses or as temporary storage areas

         for data manipulation. (The Cross-Assembler generates a precede instruction (PRE) to

         indicate that the following instruction refers to the Y register.)

         The Y register is not affected by the interrupt automatic procedures.

4.3.3    Program counter (PC)

         The program counter is a 16-bit register containing the address of the next instruction to be

         executed by the CPU. It is made of two 8-bit registers PCL (Program Counter Low which is

         the LSB) and PCH (Program Counter High which is the MSB).

36/324                                    Doc ID 12370 Rev 8
ST72561-Auto                                                                         Central processing unit

       Figure 8.     CPU registers

                                    7                      0

                                                              ACCUMULATOR

                                    RESET VALUE = XXh

                                    7                      0

                                                              X INDEX REGISTER

                                    RESET VALUE = XXh

                                    7                      0

                                                              Y INDEX REGISTER

                                    RESET VALUE = XXh

              15     PCH         8  7         PCL          0

                                                              PROGRAM COUNTER

              RESET VALUE = RESET VECTOR @ FFFEh-FFFFh

                                    7                      0

                                    1  1  I1  H  I0  N  Z  C  CONDITION CODE REGISTER

                  RESET VALUE =     1  1  1   X  1   X  X  X

              15                 8  7                      0

                                                              STACK POINTER

              RESET VALUE = STACK HIGHER ADDRESS

                                                                                       X = Undefined Value

4.3.4  Condition code register (CC)

       Read/ write

       Reset value: 111x1xxx

              7                                                                                             0

              1               1           I1               H      I0            N         Z                 C

       The 8-bit Condition Code register contains the interrupt masks and four flags representative

       of the result of the instruction just executed. This register can also be handled by the PUSH

       and POP instructions.

       These bits can be individually tested and/or controlled by specific instructions.

       Arithmetic management bits

       Bit 4 = H Half carry.

       This bit is set by hardware when a carry occurs between bits 3 and 4 of the ALU during an

       ADD or ADC instructions. It is reset by hardware during the same instructions.

              0: No half carry has occurred.

              1: A half carry has occurred.

       This bit is tested using the JRH or JRNH instruction. The H bit is useful in BCD arithmetic

       subroutines.

       Bit 2 = N Negative.

       This bit is set and cleared by hardware. It is representative of the result sign of the last

       arithmetic, logical or data manipulation. It’s a copy of the result 7th bit.

              0: The result of the last operation is positive or null.

              1: The result of the last operation is negative (that is, the most significant bit

              is a logic 1).

                                              Doc ID 12370 Rev 8                                            37/324
Central  processing unit                                                                       ST72561-Auto

         This bit is accessed by the JRMI and JRPL instructions.

         Bit 1 = Z Zero.

         This bit is set and cleared by hardware. This bit indicates that the result of the last

         arithmetic, logical or data manipulation is zero.

         0: The result of the last operation is different from zero.

         1: The result of the last operation is zero.

         This bit is accessed by the JREQ and JRNE test instructions.

         Bit 0 = C Carry/borrow.

         This bit is set and cleared by hardware and software. It indicates an overflow or an

         underflow has occurred during the last arithmetic operation.

         0: No overflow or underflow has occurred.

         1: An overflow or underflow has occurred.

         This bit is driven by the SCF and RCF instructions and tested by the JRC and JRNC

         instructions. It is also affected by the “bit test and branch”, shift and rotate instructions.

         Interrupt management bits

         Bit 5,3 = I1, I0 Interrupt

         The combination of the I1 and I0 bits gives the current interrupt software priority.

         Table 7.         Interrupt software priority selection

                          Interrupt software priority                     I1                             I0

         Level 0 (main)                                                1                          0

         Level 1                                                       0                          1

         Level 2                                                       0                          0

         Level 3 (= interrupt disable)                                 1                          1

         These two bits are set/cleared by hardware when entering in interrupt. The loaded value is

         given by the corresponding bits in the interrupt software priority registers (IxSPR). They can

         be also set/cleared by software with the RIM, SIM, IRET, HALT, WFI and PUSH/POP

         instructions.

         See the interrupt management chapter for more details.

38/324                                  Doc ID 12370 Rev 8
ST72561-Auto                                                                   Central processing unit

4.3.5  Stack pointer (SP)

       Read/ write

       Reset value: 01 FFh

              15                                                                                     8

              0       0     0    0                           0            0    0                     1

              7                                                                                      0

              SP7     SP6   SP5  SP4                         SP3          SP2  SP1                  SP0

       The Stack Pointer is a 16-bit register which is always pointing to the next free location in the

       stack. It is then decremented after data has been pushed onto the stack and incremented

       before data is popped from the stack (see Figure 9).

       Since the stack is 256 bytes deep, the 8 most significant bits are forced by hardware.

       Following an MCU Reset, or after a Reset Stack Pointer instruction (RSP), the Stack Pointer

       contains its reset value (the SP7 to SP0 bits are set) which is the stack higher address.

       The least significant byte of the Stack Pointer (called S) can be directly accessed by a LD

       instruction.

Note:  When the lower limit is exceeded, the Stack Pointer wraps around to the stack upper limit,

       without indicating the stack overflow. The previously stored information is then overwritten

       and therefore lost. The stack also wraps in case of an underflow.

       The stack is used to save the return address during a subroutine call and the CPU context

       during an interrupt. The user may also directly manipulate the stack by means of the PUSH

       and POP instructions. In the case of an interrupt, the PCL is stored at the first location

       pointed to by the SP. Then the other registers are stored in the next locations as shown in

       Figure 9.

       ●      When an interrupt is received, the SP is decremented and the context is pushed on the

              stack.

       ●      On return from interrupt, the SP is incremented and the context is popped from the

              stack.

       A subroutine call occupies two locations and an interrupt five locations in the stack area.

                                 Doc ID 12370 Rev 8                                                  39/324
Central  processing unit                                                                      ST72561-Auto

         Figure 9.        Stack manipulation example

                          CALL      Interrupt               PUSH Y       POP Y      IRET      RET

                    Subroutine      Event                                                     or RSP

         @ 0100h

                                                        SP

                                SP                          Y       SP

                                                 CC         CC           CC

                                                 A          A            A

                                                 X          X            X

                                    PCH                     PCH          PCH

         SP                         PCL                     PCL          PCL    SP

                          PCH       PCH                     PCH          PCH        PCH   SP

         @ 01FFh          PCL       PCL                     PCL          PCL        PCL

                          Stack Higher Address = 01FFh

                          Stack Lower Address =     0100h

40/324                                               Doc ID 12370 Rev 8
ST72561-Auto                                                   Supply, reset and clock management

5         Supply, reset and clock management

5.1       Introduction

          The device includes a range of utility features for securing the application in critical

          situations (for example, in case of a power brown-out), and reducing the number of external

          components. An overview is shown in Figure 11.

          For more details, refer to dedicated parametric section.

5.2       Main features

          ●   Optional PLL for multiplying the frequency by 2

          ●   Reset Sequence Manager (RSM)

          ●   Multi-Oscillator Clock Management (MO)

              –  4 Crystal/Ceramic resonator oscillators

          ●   System Integrity Management (SI)

              –  Main supply Low voltage detection (LVD)

              –  Auxiliary Voltage detector (AVD) with interrupt       capability  for  monitoring  the  main

                 supply

5.3       Phase locked loop

          If the clock frequency input to the PLL is in the range 2 to 4 MHz, the PLL can be used to

          multiply the frequency by two to obtain an fOSC2 of 4 to 8 MHz. The PLL is enabled by option

          byte. If the PLL is disabled, then fOSC2 = fOSC/2.

Caution:  The PLL is not recommended for applications where timing accuracy is required.

          Section 20.5.2: PLL characteristics

          Figure 10.  PLL block diagram

                                                PLL x 2             0

                             fOSC                                      fOSC2

                                                /2                  1

                                                              PLL OPTION BIT

                             Doc ID 12370 Rev 8                                                          41/324
Supply,   reset and clock  management                                                                        ST72561-Auto

          Figure 11.       Clock, reset and supply block diagram

                                                                                        / 8000               8-BIT TIMER

             OSC2                  MULTI-   fOSC            fOSC2                                            MAIN CLOCK       fCPU

                           OSCILLATOR             PLL                                                        CONTROLLER

                                                  (option)                                                   WITH REALTIME

             OSC1                  (MO)                                                                      CLOCK (MCC/RTC)

                                                                   SYSTEM INTEGRITY MANAGEMENT

                           RESET SEQUENCE                                     AVD Interrupt Request          WATCHDOG

             RESET                 MANAGER                         SICSR                                     TIMER (WDG)

                                   (RSM)                           0  AVD AVD LVD    0      0        0  WDG

                                                                          IE  F  RF                     RF

                                                                                 LOW VOLTAGE

             VSS                                                                 DETECTOR

             VDD                                                                     (LVD)

                                                                              AUXILIARY VOLTAGE

                                                                                 DETECTOR

                                                                                     (AVD)

5.4       Multi-oscillator (MO)

          The main clock of the ST7 can be generated by two different source types coming from the

          multi-oscillator block:

          ●  an external source

          ●  a crystal or ceramic resonator oscillator

          Each oscillator is optimized for a given frequency range in terms of consumption and is

          selectable through the option byte. The associated hardware configuration are shown in

          Table 8. Refer to the electrical characteristics section for more details.

Caution:  The OSC1 and/or OSC2 pins must not be left unconnected. For the purposes of Failure

          Mode and Effect Analysis, it should be noted that if the OSC1 and/or OSC2 pins are left

          unconnected, the ST7 main oscillator may start and, in this configuration, could generate an

          fOSC clock frequency in excess of the allowed maximum (> 16 MHz), putting the ST7 in an

          unsafe/undefined state. The product behavior must therefore be considered undefined when

          the OSC pins are left unconnected.

          External clock source

          In external clock mode, a clock signal (square, sinus or triangle) with ~50% duty cycle has to

          drive the OSC1 pin while the OSC2 pin is tied to ground.

          Crystal/ceramic oscillators

          This family of oscillators has the advantage of producing a very accurate rate on the main

          clock of the ST7. The selection within a list of five oscillators with different frequency ranges

          must be done by option byte in order to reduce consumption (refer to Section 22.2.1: Flash

          configuration for more details on the frequency ranges). The resonator and the load

          capacitors must be placed as close as possible to the oscillator pins in order to minimize

42/324                                      Doc ID 12370 Rev 8
ST72561-Auto                                                                   Supply, reset and clock management

       output distortion and start-up stabilization time. The loading capacitance values must be

       adjusted according to the selected oscillator.

       These oscillators are not stopped during the RESET phase to avoid losing time in the

       oscillator start-up phase.

       Table 8.                           ST7 clock sources

                                                             Hardware configuration

              External clock                                              ST7

                                                                  OSC1          OSC2

                                                             EXTERNAL

                                                                  SOURCE

              Crystal/Ceramic resonators                                  ST7

                                                                  OSC1          OSC2

                                                             CL1                      CL2

                                                                          LOAD

                                                                  CAPACITORS

5.5    Reset sequence manager (RSM)

5.5.1  Introduction

       The reset sequence manager includes three RESET sources as shown in Figure 13:

       ●      External RESET source pulse

       ●      Internal LVD reset (Low Voltage Detection)

       ●      Internal watchdog reset

       These sources act on the RESET pin and it is always kept low during the delay phase.

       The reset service routine vector is fixed at addresses FFFEh-FFFFh in the ST7 memory

       map.

       The basic RESET sequence consists of three phases as shown in Figure 12:

       ●      Active phase depending on the reset source

       ●      256 or 4096 CPU clock cycle delay (selected by option byte)

       ●      RESET vector fetch

       The 256 or 4096 CPU clock cycle delay allows the oscillator to stabilize and ensures that

       recovery has taken place from the Reset state. The shorter or longer clock cycle delay

       should be selected by option byte to correspond to the stabilization time of the external

       oscillator used in the application.

                                          Doc ID 12370 Rev 8                                      43/324
Supply,  reset and clock management                                                  ST72561-Auto

         The reset vector fetch phase duration is two clock cycles.

         Figure 12.  RESET sequence phases

                                                           RESET

                                     Active Phase          INTERNAL RESET    FETCH

                                                   256 or 4096 CLOCK CYCLES  VECTOR

5.5.2    Asynchronous external RESET pin

         The RESET pin is both an input and an open-drain output with integrated RON weak pull-up

         resistor. This pull-up has no fixed value but varies in accordance with the input voltage. It

         can be pulled low by external circuitry to reset the device. See Chapter 20: Electrical

         characteristics for more details.

         A reset signal originating from an external source must have a duration of at least th(RSTL)in

         in order to be recognized (see Figure 14). This detection is asynchronous and therefore the

         MCU can enter reset state even in HALT mode.

         Figure 13.  Reset block diagram

                                   VDD

                                        RON

            RESET                                  Filter                            INTERNAL

                                                                                     RESET

                                                                  PULSE              WATCHDOG RESET

                                                                GENERATOR            LVD RESET

         The RESET pin is an asynchronous signal which plays a major role in EMS performance. In

         a noisy environment, it is recommended to follow the guidelines mentioned in the electrical

         characteristics section.

5.5.3    External power-on reset

         If the LVD is disabled by option byte, to start up the microcontroller correctly, the user must

         ensure by means of an external reset circuit that the reset signal is held low until VDD is over

         the minimum level specified for the selected fOSC frequency.

         A proper reset signal for a slow rising VDD supply can generally be provided by an external

         RC network connected to the RESET pin.

5.5.4    Internal low voltage detector (LVD) reset

         Two different reset sequences caused by the internal LVD circuitry can be distinguished:

         ●  Power-on reset

         ●  Voltage drop reset

44/324                                      Doc ID 12370 Rev 8
ST72561-Auto                                                    Supply, reset and clock management

       The device RESET pin acts as an output that is pulled low when VDD < VIT+ (rising edge) or

       VDD < VIT- (falling edge) as shown in Figure 14.

       The LVD filters spikes on VDD larger than tg(VDD) to avoid parasitic resets.

5.5.5  Internal watchdog reset

       The RESET sequence generated by a internal Watchdog counter overflow is shown in

       Figure 14.

       Starting from the Watchdog counter underflow, the device RESET pin acts as an output that

       is pulled low during at least tw(RSTL)out.

       Figure 14.  Reset sequences

                              VDD

                   VIT+(LVD)

                   VIT-(LVD)

                                             LVD                EXTERNAL             WATCHDOG

                                    RESET                       RESET                RESET

                              RUN                   RUN         ACTIVE    RUN        ACTIVE       RUN

                                   ACTIVE PHASE                 PHASE                PHASE

                                                    th(RSTL)in                       tw(RSTL)out

                   EXTERNAL

                   RESET

                   SOURCE

                   RESET PIN

                   WATCHDOG

                   RESET

                                                                WATCHDOG  UNDERFLOW

                                                                          INTERNAL RESET (256 or 4096  TCPU)

                                                                          VECTOR FETCH

5.6    System integrity management (SI)

       The System Integrity Management block contains the Low Voltage Detector (LVD) and

       Auxiliary Voltage Detector (AVD) functions. It is managed by the SICSR register.

5.6.1  Low voltage detector (LVD)

       The Low Voltage Detector function (LVD) generates a static reset when the VDD supply

       voltage is below a VIT-(LVD) reference value. This means that it secures the power-up as well

       as the power-down keeping the ST7 in reset.

       The VIT-(LVD) reference value for a voltage drop is lower than the VIT+(LVD) reference value

       for power-on in order to avoid a parasitic reset when the MCU starts running and sinks

       current on the supply (hysteresis).

       The LVD reset circuitry generates a reset when VDD is below:

       ●      VIT+(LVD) when VDD is rising

       ●      VIT-(LVD) when VDD is falling

                                   Doc ID 12370 Rev 8                                                         45/324
Supply,   reset and clock management                                                      ST72561-Auto

          The LVD function is illustrated in Figure 15.

          Provided the minimum VDD value (guaranteed for the oscillator frequency) is above VIT-(LVD),

          the MCU can only be in two modes:

          ●  under full software control

          ●  in static safe reset

          In these conditions, secure operation is always ensured for the application without the need

          for external reset hardware.

          During a Low Voltage Detector Reset, the RESET pin is held low, thus permitting the MCU

          to reset other devices.

Note:     The LVD allows the device to be used without any external RESET circuitry.

          The LVD is an optional function which can be selected by option byte.

          It is recommended to make sure that the VDD supply voltage rises monotonously when the

          device is exiting from Reset, to ensure the application functions properly.

          Figure 15.       Low voltage detector vs reset

                           VDD

                                                                 Vhys

             VIT+(LVD)

             VIT-(LVD)

                    RESET

5.6.2     Auxiliary voltage detector (AVD)

          The Voltage Detector function (AVD) is based on an analog comparison between a VIT-(AVD)

          and VIT+(AVD) reference value and the VDD main supply. The VIT-(AVD) reference value for

          falling voltage is lower than the VIT+(AVD) reference value for rising voltage in order to avoid

          parasitic detection (hysteresis).

          The output of the AVD comparator is directly readable by the application software through a

          real time status bit (AVDF) in the SICSR register. This bit is read only.

Caution:  The AVD function is active only if the LVD is enabled through the option byte.

          Monitoring the VDD main supply

          If the AVD interrupt is enabled, an interrupt is generated when the voltage crosses the

          VIT+(AVD) or VIT-(AVD) threshold (AVDF bit toggles).

          In the case of a drop in voltage, the AVD interrupt acts as an early warning, allowing

          software to shut down safely before the LVD resets the microcontroller (see Figure 16).

          The interrupt on the rising edge is used to inform the application that the VDD warning state

          is over.

          If the voltage rise time trv is less than 256 or 4096 CPU cycles (depending on the reset delay

          selected by option byte), no AVD interrupt will be generated when VIT+(AVD) is reached.

46/324                                       Doc ID 12370 Rev 8
ST72561-Auto                                                      Supply, reset and clock management

       If trv is greater than 256 or 4096 cycles then:

       ●      If the AVD interrupt is enabled before the VIT+(AVD) threshold is reached, then two AVD

              interrupts will be received: The first when the AVDIE bit is set and the second when the

              threshold is reached.

       ●      If the AVD interrupt is enabled after the VIT+(AVD) threshold is reached, then only one

              AVD interrupt occurs.

       Figure 16.        Using  the  AVD  to  monitor VDD

                         VDD                  Early Warning Interrupt

                                              (Power has dropped, MCU  not

                                              not yet in reset)

              VIT+(AVD)                       Vhyst

              VIT-(AVD)

              VIT+(LVD)

              VIT-(LVD)                                                       trv VOLTAGE RISE TIME

              AVDF bit          0         1          RESET VALUE              1        0

              AVD INTERRUPT

              REQUEST

              IF AVDIE bit = 1

                                              INTERRUPT PROCESS                  INTERRUPT PROCESS

              LVD RESET

5.6.3  Low power modes

       Table 9.          Effect of low power modes on SI

              Mode                                               Description

       WAIT                     No effect on SI. AVD interrupts cause the device to exit from Wait mode.

       HALT                     The SICSR register is frozen.

5.6.4  Interrupts

       The AVD interrupt event generates an interrupt if the AVDIE bit is set and the interrupt mask

       in the CC register is reset (RIM instruction).

       Table 10.         Interrupt control/wake-up capability

                                                     Event        Enable         Exit                     Exit

                   Interrupt event                   flag         control        from                     from

                                                                       bit       wait                     halt

       AVD event                                     AVDF         AVDIE          Yes                      No

                                             Doc ID 12370 Rev 8                                           47/324
Supply,  reset and clock management                                                        ST72561-Auto

5.6.5    Register description

         System integrity (SI) control/status register (SICSR)

         Read / Write

         Reset value: 000x 000x (00h)

         7                                                                                          0

         0             AVDIE         AVDF         LVDRF    0    0                       0      WDGRF

         Bit 7 = Reserved, must be kept cleared.

         Bit 6 = AVDIE Voltage Detector interrupt enable

         This bit is set and cleared by software. It enables an interrupt to be generated when the

         AVDF flag changes (toggles). The pending interrupt information is automatically cleared

         when software enters the AVD interrupt routine.

         0: AVD interrupt disabled

         1: AVD interrupt enabled

         Bit 5 = AVDF Voltage Detector flag

         This read-only bit is set and cleared by hardware. If the AVDIE bit is set, an interrupt request

         is generated when the AVDF bit changes value. Refer to Figure 16 and to Monitoring the

         VDD main supply for additional details.

         0: VDD over VIT+(AVD) threshold

         1: VDD under VIT-(AVD) threshold

         Bit 4 = LVDRF LVD reset flag

         This bit indicates that the last Reset was generated by the LVD block. It is set by hardware

         (LVD reset) and cleared by software (writing zero). See WDGRF flag description for more

         details. When the LVD is disabled by OPTION BYTE, the LVDRF bit value is undefined.

         Bits 3:1 = Reserved, must be kept cleared.

         Bit 0 = WDGRF Watchdog reset flag

         This bit indicates that the last Reset was generated by the Watchdog peripheral. It is set by

         hardware (watchdog reset) and cleared by software (writing zero) or an LVD Reset (to

         ensure a stable cleared state of the WDGRF flag when CPU starts). Combined with the

         LVDRF flag information, the flag description is given by the following table.

48/324                                 Doc ID 12370 Rev 8
ST72561-Auto                                            Supply, reset and clock management

          Table 11.  Reset source flags

                              RESET sources                              LVDRF  WDGRF

          External RESET pin                                                    0

                                                                         0

          Watchdog                                                              1

          LVD                                                            1      X

          Application notes

          The LVDRF flag is not cleared when another RESET type occurs (external or watchdog), the

          LVDRF flag remains set to keep trace of the original failure.

          In this case, a watchdog reset can be detected by software while an external reset can not.

Caution:  When the LVD is not activated with the associated option byte, the WDGRF flag cannot be

          used in the application.

                                    Doc ID 12370 Rev 8                             49/324
Interrupts                                                                          ST72561-Auto

6           Interrupts

6.1         Introduction

            The ST7 enhanced interrupt management provides the following features:

            ●  Hardware interrupts

            ●  Software interrupt (TRAP)

            ●  Nested or concurrent interrupt management with flexible interrupt priority and level

               management:

               –  Up to 4 software programmable nesting levels

               –  Up to 16 interrupt vectors fixed by hardware

               –  2 non maskable events: RESET, TRAP

               –  1 maskable Top Level Event: TLI

            This interrupt management is based on:

            ●  Bit 5 and bit 3 of the CPU CC register (I1:0),

            ●  Interrupt software priority registers (ISPRx),

            ●  Fixed interrupt vector addresses located at the high addresses of the memory map

               (FFE0h to FFFFh) sorted by hardware priority order.

            This enhanced interrupt controller guarantees full upward compatibility with the standard

            (not nested) ST7 interrupt controller.

6.2         Masking and processing flow

            The interrupt masking is managed by the I1 and I0 bits of the CC register and the ISPRx

            registers which give the interrupt software priority level of each interrupt vector (see

            Table 12). The processing flow is shown in Figure 17.

            When an interrupt request has to be serviced:

            ●  Normal processing is suspended at the end of the current instruction execution.

            ●  The PC, X, A and CC registers are saved onto the stack.

            ●  I1 and I0 bits of CC register are set according to the corresponding values in the ISPRx

               registers of the serviced interrupt vector.

            ●  The PC is then loaded with the interrupt vector of the interrupt to service and the first

               instruction of the interrupt service routine is fetched (refer to “Interrupt Mapping” table

               for vector addresses).

            The interrupt service routine should end with the IRET instruction which causes the

            contents of the saved registers to be recovered from the stack.

Note:       As a consequence of the IRET instruction, the I1 and I0 bits will be restored from the stack

            and the program in the previous level will resume.

50/324                                    Doc ID 12370 Rev 8
ST72561-Auto                                                                                                                                                                     Interrupts

Table         12.  Interrupt software priority            levels

                   Interrupt software priority                                  Level                     I1                                                                        I0

Level         0 (main)                                                                     1                                                                                  0

Level         1                                                            Low                                                                                                1

                                                                                           0

Level         2                                                            High                                                                                               0

Level         3 (= interrupt disable)                                                      1                                                                                  1

Figure 17.         Interrupt processing flowchart

                        RESET                       PENDING       Y                                                                                      TLI                     Y

                                                    INTERRUPT

                                                    N                            Interrupt has the same or a                                                               N

                                                                                 lower software priority
                                                                                 than current one
                                                                                                                                                         I1:0

                                                    FETCH NEXT             THE INTERRUPT                      Interrupt has a higher                     than current one

                                                    INSTRUCTION            STAYS PENDING                                              software priority

                                              Y     “IRET”

                                                       N

                        RESTORE PC, X, A, CC        EXECUTE

                        FROM STACK                  INSTRUCTION                            STACK PC, X, A, CC

                                                                                 LOAD I1:0 FROM INTERRUPT SW REG.

                                                                                 LOAD PC FROM INTERRUPT VECTOR

Servicing pending interrupts

As several interrupts can be pending at the same time, the interrupt to be taken into account

is determined by the following two-step process:

●             the highest software priority interrupt is serviced,

●             if several interrupts have the same software priority then the interrupt with the highest

              hardware priority is serviced first.

Figure 18 describes this decision process.

Figure 18.         Priority decision process

                                                                 PENDING

                                                          INTERRUPTS

                                              Same        SOFTWARE              Different

                                                                 PRIORITY

                                                                  HIGHEST SOFTWARE

                                                                  PRIORITY SERVICED

                                              HIGHEST HARDWARE

                                              PRIORITY SERVICED

                                              Doc ID 12370 Rev 8                                                                                                                        51/324
Interrupts                                                                                      ST72561-Auto

            When an interrupt request is not serviced immediately, it is latched and then processed

            when its software priority combined with the hardware priority becomes the highest one.

Note:   1   The hardware priority is exclusive while the software one is not. This allows the previous

            process to succeed with only one interrupt.

        2   RESET, TRAP and TLI can be considered as having the highest software priority in the

            decision process.

            Different interrupt vector sources

            Two interrupt source types are managed by the ST7 interrupt controller: the non-maskable

            type (RESET, TRAP) and the maskable type (external or from internal peripherals).

            Non-maskable sources

            These sources are processed regardless of the state of the I1 and I0 bits of the CC register

            (see Figure 17). After stacking the PC, X, A and CC registers (except for RESET), the

            corresponding vector is loaded in the PC register and the I1 and I0 bits of the CC are set to

            disable interrupts (level 3). These sources allow the processor to exit HALT mode.

            ●  TRAP (Non Maskable Software Interrupt)

Caution:    This software interrupt is serviced when the TRAP instruction is executed. It will be serviced

            according to the flowchart in Figure 17 as a TLI.

            TRAP can be interrupted by a TLI.

            ●  RESET

            The RESET source has the highest priority in the ST7. This means that the first current

            routine has the highest software priority (level 3) and the highest hardware priority.

            See the RESET chapter for more details.

            Maskable sources

            Maskable interrupt vector sources can be serviced if the corresponding interrupt is enabled

            and if its own interrupt software priority (in ISPRx registers) is higher than the one currently

            being serviced (I1 and I0 in CC register). If any of these two conditions is false, the interrupt

            is latched and thus remains pending.

            ●  TLI (Top Level Hardware Interrupt)

Caution:    This hardware interrupt occurs when a specific edge is detected on the dedicated TLI pin.

            A TRAP instruction must not be used in a TLI service routine.

            ●  External Interrupts

            External interrupts allow the processor to exit from HALT low power mode.

            External interrupt sensitivity is software selectable through the External Interrupt Control

            register (EICR).

            External interrupt triggered on edge will be latched and the interrupt request automatically

            cleared upon entering the interrupt service routine.

            If several input pins of a group connected to the same interrupt line are selected

            simultaneously, these will be logically ORed.

            ●  Peripheral Interrupts

            Usually the peripheral interrupts cause the MCU to exit from HALT mode except those

            mentioned in the “Interrupt Mapping” table.

            A peripheral interrupt occurs when a specific flag is set in the peripheral status registers and

52/324                                Doc ID 12370 Rev 8
ST72561-Auto                                                                                                         Interrupts

       if the corresponding enable bit is set in the peripheral control register.

       The general sequence for clearing an interrupt is based on an access to the status register

       followed by a read or write to an associated register.

Note:  The clearing sequence resets the internal latch. A pending interrupt (that is, waiting for

       being serviced) will therefore be lost if the clear sequence is executed.

6.3    Interrupts and low power modes

       All interrupts allow the processor to exit the WAIT low power mode. On the contrary, only

       external and other specified interrupts allow the processor to exit from the HALT modes (see

       column “Exit from HALT” in “Interrupt Mapping” table). When several pending interrupts are

       present while exiting HALT mode, the first one serviced can only be an interrupt with exit

       from HALT mode capability and it is selected through the same decision process shown in

       Figure 18.

Note:  If an interrupt, that is not able to Exit from HALT mode, is pending with the highest priority

       when exiting HALT mode, this interrupt is serviced after the first one serviced.

6.4    Concurrent & nested management

       The following Figure 19 and Figure 20 show two different interrupt management modes. The

       first is called concurrent mode and does not allow an interrupt to be interrupted, unlike the

       nested mode in Figure 20. The interrupt hardware priority is given in this order from the

       lowest to the highest: MAIN, IT4, IT3, IT2, IT1, IT0, TLI. The software priority is given for

       each interrupt.

              Warning:                    A stack overflow may occur without notifying the software of

                                          the failure.

       Figure 19.                Concurrent interrupt management

                                          IT2  IT1  IT4  IT3  TLI  IT0                      SOFTWARE       I1        I0

                                                                                            PRIORITY

                                                                                            LEVEL

              HARDWARE PRIORITY                                    TLI                                3        1  1      USED STACK = 10 BYTES

                                                                             IT0                      3        1  1

                                                         IT1            IT1                           3        1  1

                                               IT2                                                    3        1  1

                                                                                  IT3                 3        1  1

                                 RIM

                                                                                       IT4            3        1  1

                                 MAIN                                                           MAIN  3/0

                                 11 / 10                                                    10

                                                         Doc ID 12370 Rev 8                                              53/324
Interrupts                                                                                                                 ST72561-Auto

            Figure 20.                Nested   interrupt management

                                               IT2  IT1  IT4  IT3  TLI  IT0                             SOFTWARE       I1        I0

                                                                                                        PRIORITY

                                                                                                        LEVEL

                   HARDWARE PRIORITY                                    TLI                                       3        1  1      USED STACK = 20 BYTES

                                                                                  IT0                             3        1  1

                                                    IT1                                     IT1                   2        0  0

                                               IT2                                               IT2              1        0  1

                                                                                       IT3                        3        1  1

                                      RIM

                                                              IT4            IT4                                  3        1  1

                                      MAIN                                                              MAIN      3/0

                                      11 / 10                                                           10

6.5         Interrupt register description

6.5.1       CPU CC register interrupt bits

            Read / Write

            Reset value: 111x 1010 (xAh)

                7                                                                                                                                           0

                1                     1                  I1                  H              I0              N          Z                C

            Bit 5, 3 = I1, I0 Software Interrupt Priority

            These two bits indicate the current interrupt software priority.

            Table 13.                 Interrupt software priority levels

                                      Interrupt software priority                                Level            I1                 I0

            Level 0 (main)                                                                                        1                  0

            Level 1                                                                              Low                                 1

                                                                                                                  0

            Level 2                                                                              High                                0

            Level 3 (= interrupt disable(1))                                                                      1                  1

            1.  TLI, TRAP and RESET events can interrupt a level 3 program.

            These two bits are set/cleared by hardware when entering in interrupt. The loaded value                                                            is

            given by the corresponding bits in the interrupt software priority registers (ISPRx).

            They can be also set/cleared by software with the RIM, SIM, HALT, WFI, IRET and

            PUSH/POP instructions (see Table 15: Dedicated interrupt instruction set on page 55).

54/324                                                        Doc ID 12370 Rev 8
ST72561-Auto                                                                                           Interrupts

6.5.2     Interrupt software priority registers (ISPRX)

          Read/ write (bit 7:4 of ISPR3 are read only)

          Reset value: 1111 1111 (FFh)

                                 7                                                                                          0

                ISPR0            I1_3    I0_3       I1_2   I0_2           I1_1      I0_1        I1_0                        I0_0

                ISPR1            I1_7    I0_7       I1_6   I0_6           I1_5      I0_5        I1_4                        I0_4

                ISPR2  I1_11             I0_11      I1_10  I0_10          I1_9      I0_9        I1_8                        I0_8

                ISPR3            1         1        1          1     I1_13          I0_13     I1_12                         I0_12

          These four registers contain the interrupt software priority of each interrupt vector.

          ●    Each interrupt vector (except RESET and TRAP) has corresponding bits in these

               registers where its own software priority is stored. This correspondence is shown in the

               following table.

          Table 14.    Interrupt priority bits

                       Vector address                                           ISPRx bits

                       FFFBh-FFFAh                                           I1_0 and I0_0 bits(1)

                       FFF9h-FFF8h                                           I1_1 and I0_1 bits

                                    ...                                             ...

                       FFE1h-FFE0h                                           I1_13 and I0_13 bits

          1.  Bits in the ISPRx registers which correspond to the TLI can be read and written but they are not significant

              in the interrupt process management.

          ●    Each I1_x and I0_x bit value in the ISPRx registers has the same meaning as the I1

               and I0 bits in the CC register.

          ●    Level 0 cannot be written (I1_x = 1, I0_x = 0). In this case, the previously stored value

               is kept (Example: previous = CFh, write = 64h, result = 44h)

          The RESET, TRAP and TLI vectors have no software priorities. When one is serviced, the I1

          and I0 bits of the CC register are both set.

Caution:  If the I1_x and I0_x bits are modified while the interrupt x is executed the following behavior

          has to be considered: If the interrupt x is still pending (new interrupt or flag not cleared) and

          the new software priority is higher than the previous one, the interrupt x is re-entered.

          Otherwise, the software priority stays unchanged up to the next interrupt request (after the

          IRET of the interrupt x).

          Table 15.    Dedicated interrupt instruction set

          Instruction  New description                     Function/example     I1  H       I0      N  Z                       C

          HALT         Entering Halt mode                                       1          0

          IRET         Interrupt routine return         Pop CC, A, X, PC        I1  H       I0      N  Z                       C

          JRM          Jump if I1:0 = 11 (level 3)      I1:0 = 11 ?

          JRNM         Jump if I1:0 <> 11               I1:0 <> 11?

                                           Doc ID 12370 Rev 8                                                               55/324
Interrupts                                                                                  ST72561-Auto

            Table 15.    Dedicated interrupt instruction set (continued)

            Instruction  New description                  Function/example       I1  H  I0   N  Z            C

            POP CC       Pop CC from the Stack            Mem => CC              I1  H  I0   N  Z            C

            RIM          Enable interrupt (level 0 set)   Load 10 in I1:0 of CC  1      0

            SIM          Disable interrupt (level 3 set)  Load 11 in I1:0 of CC  1      1

            TRAP         Software trap                    Software NMI           1      1

            WFI          Wait for interrupt                                      1      0

Note:       During the execution of an interrupt routine, the HALT, POPCC, RIM, SIM and WFI

            instructions change the current software priority up to the next IRET instruction or one of the

            previously mentioned instruction

56/324                                       Doc ID 12370 Rev 8
ST72561-Auto                                                                                                           Interrupts

Table 16.        Interrupt mapping

           Source                                                            Register             Priority  Exit       Address

    N°     block                          Description                        label                order     from       vector

                                                                                                            Halt(1)

           RESET           Reset                                                                            yes        FFFEh-

                                                                                                                       FFFFh

                                                                             N/A

           TRAP            Software interrupt                                                               no         FFFCh-

                                                                                                                       FFFDh

    0            TLI       External top level interrupt                      EICR                           yes        FFFAh-

                                                                                                                       FFFBh

    1      MCC/RTC         Main clock controller time base interrupt         MCCSR                          yes        FFF8h-FFF9h

    2      ei0/AWUFH       External interrupt ei0/ Auto wake-up from Halt    EICR/AW                                   FFF6h-FFF7h

                                                                             UCSR

    3      ei1/AVD         External interrupt ei1/Auxiliary Voltage          EICR/                                     FFF4h-FFF5h

                           Detector                                          SICSR                Highest   yes(2)

    4            ei2       External interrupt ei2                            EICR                 Priority             FFF2h-FFF3h

    5            ei3       External interrupt ei3                            EICR                                      FFF0h-FFF1h

    6      CAN             CAN peripheral interrupt - RX                     CIER                           no         FFEEh-

                                                                                                                       FFEFh

    7      CAN             CAN peripheral interrupt - TX / ER / SC           CIER                           yes(3)     FFECh-

                                                                                                                       FFEDh

    8            SPI       SPI peripheral interrupts                         SPICSR                         yes        FFEAh-

                                                                                                                       FFEBh

    9      TIMER8          8-bit TIMER peripheral interrupts                 T8_TCR1                        no         FFE8h-

                                                                                                                       FFE9h

    10     TIMER16         16-bit TIMER peripheral interrupts                TCR1                 Lowest    no         FFE6h-

                                                                                                  Priority             FFE7h

    11     LINSCI2         LINSCI2 Peripheral interrupts                     SCI2CR1                        no         FFE4h-

                                                                                                                       FFE5h

    12     LINSCI1         LINSCI1 Peripheral interrupts (LIN                SCI1CR1                        no(4)      FFE2h-

                           Master/Slave)                                                                               FFE3h

    13     PWM ART         8-bit PWM ART interrupts                          PWMCR                          yes        FFE0h-

                                                                                                                       FFE1h

1.  Valid for HALT and ACTIVE HALT modes except for the MCC/RTC interrupt source which exits from ACTIVE HALT mode

    only.

2.  Except AVD interrupt.

3.  Exit from Halt only when a wake-up condition is detected, generating a Status Change interrupt. See Section 16.6:

    Interrupts.

4.  t is possible to exit from Halt using the external interrupt which is mapped on the RDI pin.

                                                         Doc ID 12370 Rev 8                                            57/324
Interrupts                                                            ST72561-Auto

6.6         External interrupts

6.6.1       I/O port interrupt sensitivity

            The external interrupt sensitivity is controlled by the ISxx bits in the EICR register

            (Figure 21). This control allows up to four fully independent external interrupt source

            sensitivities.

            Each external interrupt source can be generated on four (or five) different events on the pin:

            ●  Falling edge

            ●  Rising edge

            ●  Falling and rising edge

            ●  Falling edge and low level

            To guarantee correct functionality, the sensitivity bits in the EICR register can be modified

            only when the I1 and I0 bits of the CC register are both set to 1 (level 3). This means that

            interrupts must be disabled before changing sensitivity.

            The pending interrupts are cleared by writing a different value in the ISx[1:0] of the EICR.

58/324                                     Doc ID 12370 Rev 8
ST72561-Auto                                                                                          Interrupts

Figure        21.  External interrupt          control bits

              PORT A [7:0] INTERRUPTS          EICR

                   PAOR.0                      IS00  IS01

                   PADDR.0                     SENSITIVITY

                                                             PA0

              PA0                              CONTROL       PA1

                                                             PA2

                                                             PA3                           ei0 INTERRUPT SOURCE

                                                                     PA4

                                                                     PA5

                                                                     PA6

                                                                     PA7

              PORT B [5:0] INTERRUPTS                EICR    AWUFH            / AWUPR

                                                             Oscillator

                   PBOR.0                      IS10  IS11                 To  Timer Input  Capture 1

                   PBDDR.0                     SENSITIVITY      PB0

              PB0                              CONTROL          PB1

                                                                PB2                        ei1 INTERRUPT SOURCE

                                                                PB3

                                                                PB4

                                                                PB5

              PORT C [2:1] INTERRUPTS          EICR

                   PCOR.7                      IS20  IS21

                   PCDDR.7                     SENSITIVITY      PC1                        ei2 INTERRUPT SOURCE

              PC1                              CONTROL          PC2

              PORT D [7:6, 4, 1:0] INTERRUPTS  EICR

                   PDOR.0                      IS30  IS31

                   PDDDR.0                     SENSITIVITY      PD0

              PD0                              CONTROL          PD1

                                                                PD4                        ei3 INTERRUPT SOURCE

                                                                PD6

                                                                PD7

                                       Doc ID 12370 Rev      8                                                   59/324
Interrupts                                                                                         ST72561-Auto

6.6.2       Register description

            External interrupt control register 0 (EICR0)

            Read / Write

            Reset value: 0000 0000 (00h)

            7                                                                                              0

            IS31          IS30    IS21                 IS20   IS11  IS10                     IS01          IS00

            Bits 7:6 = IS3[1:0] ei3 sensitivity

            The interrupt sensitivity, defined using the IS3[1:0] bits, is applied to the    ei3 external

            interrupts:

            Table 17.     Interrupt sensitivity - ei3

            IS31          IS30                               External interrupt sensitivity

                          0     Falling edge and low level

            0

                          1     Rising edge only

                          0     Falling edge only

            1

                          1     Rising and falling edge

            These 2 bits can be written only when I1 and I0 of the CC register are both set to 1 (level          3).

            Bits 5:4 = IS2[1:0] ei2 sensitivity

            The interrupt sensitivity, defined using the IS2[1:0] bits, is applied to the ei2 external

            interrupts:

            Table 18.     Interrupt sensitivity - ei2

            IS21          IS20                               External interrupt sensitivity

                          0     Falling edge and low level

            0

                          1     Rising edge only

                          0     Falling edge only

            1

                          1     Rising and falling edge

            These 2 bits can be written only when I1 and I0 of the CC register are both set to 1 (level 3).

            Bits 3:2 = IS1[1:0] ei1 sensitivity

            The interrupt sensitivity, defined using the IS1[1:0] bits, is applied to the ei1 external

            interrupts:

            Table 19.     Interrupt sensitivity - ei1

            IS11          IS10                               External interrupt sensitivity

                          0     Falling edge and low level

            0

                          1     Rising edge only

60/324                                    Doc ID 12370 Rev 8
ST72561-Auto                                                                                       Interrupts

       Table 19.     Interrupt sensitivity - ei1

              IS11   IS10                               External interrupt sensitivity

                     0         Falling edge only

              1

                     1         Rising and falling edge

       These 2 bits can be written only when I1 and I0 of the CC register are both set to 1 (level        3).

       Bits 1:0 = IS0[1:0] ei0 sensitivity

       The interrupt sensitivity, defined using the IS0[1:0] bits, is applied to the ei0 external

       interrupts:

       Table 20.     Interrupt sensitivity - ei0

              IS01   IS00                               External interrupt sensitivity

                     0         Falling edge and low level

              0

                     1         Rising edge only

                     0         Falling edge only

              1

                     1         Rising and falling edge

       These 2 bits can be written only when I1 and I0 of the CC register are both set to 1 (level 3).

       External Interrupt Control Register 1 (EICR1)

       Read / Write

       Reset value: 0000 0000 (00h)

              7                                                                                     0

              0         0               0         0            0           0            TLIS        TLIE

       BIts 7:2 = Reserved

       Bit 1 = TLIS Top Level Interrupt sensitivity

       This bit configures the TLI edge sensitivity. It can be set and cleared by software only when

       TLIE bit is cleared.

              0: Falling edge

              1: Rising edge

       Bit 0 = TLIE Top Level Interrupt enable

       This bit allows to enable or disable the TLI capability on the dedicated pin. It is set and

       cleared by software.

              0: TLI disabled

              1: TLI enabled

Note:  A parasitic interrupt can be generated when clearing the TLIE bit.

       In some packages, the TLI pin is not available. In this case, the TLIE bit must be kept low to

       avoid parasitic TLI interrupts.

                                           Doc ID 12370 Rev 8                                       61/324
Interrupts                                                                         ST72561-Auto

Table 21.   Nested interrupts register map  and reset values

Address     Register     7            6     5           4       3           2      1            0

(Hex.)      label

                                ei1                ei0                CLKM                TLI

0025h       ISPR0        I1_3        I0_3   I1_2        I0_2    I1_1        I0_1

            Reset value  1            1     1           1       1           1      1            1

                         CAN TX/ER/SC          CAN RX                  ei3                ei2

0026h       ISPR1        I1_7        I0_7   I1_6        I0_6    I1_5        I0_5   I1_4        I0_4

            Reset value  1            1     1           1       1           1      1            1

                            LINSCI 2        TIMER 16               TIMER 8                SPI

0027h       ISPR2        I1_11       I0_11  I1_10       I0_10   I1_9        I0_9   I1_8        I0_8

            Reset value  1            1     1           1       1           1      1            1

                                                                       ART            LINSCI 1

0028h       ISPR3                                               I1_13       I0_13  I1_12       I0_12

            Reset value  1            1     1           1       1           1      1            1

0029h       EICR0        IS31        IS30   IS21        IS20    IS11        IS10   IS01        IS00

            Reset value  0            0     0           0       0           0      0            0

002Ah       EICR1                                                                  TLIS        TLIE

            Reset value  0            0     0           0       0           0      0            0

62/324                                      Doc ID 12370 Rev 8
ST72561-Auto                                                                     Power saving modes

7    Power saving modes

7.1  Introduction

     To give a large measure of flexibility to the application in terms of power consumption, five

     main power saving modes are implemented in the ST7 (see Figure 22):

     ●        Slow

     ●        Wait (and Slow-Wait)

     ●        Active Halt

     ●        Auto Wake-up From Halt (AWUFH)

     ●        Halt

     After a RESET the normal operating mode is selected by default (RUN mode). This mode

     drives the device (CPU and embedded peripherals) by means of a master clock which is

     based on the main oscillator frequency divided or multiplied by 2 (fOSC2).

     From RUN mode, the different power saving modes may be selected by setting the relevant

     register bits or by calling the specific ST7 software instruction whose action depends on the

     oscillator status.

     Figure 22.     Power saving mode transitions

                                                              High

                                                        RUN

                                                   SLOW

                                                        WAIT

                                              SLOW WAIT

                                              ACTIVE HALT

                                    AUTO  WAKE-UP FROM HALT

                                                        HALT

                                                              Low

                                              POWER CONSUMPTION

7.2  Slow mode

     This mode has two targets:

              ●     To reduce power consumption by decreasing the internal clock in the device,

              ●     To adapt the internal clock frequency (fCPU) to the available supply voltage.

     SLOW mode is controlled by three bits in the MCCSR register: the SMS bit which enables or

     disables Slow mode and two CPx bits which select the internal slow frequency (fCPU).

                                    Doc ID 12370 Rev 8                                              63/324
Power   saving modes                                                                 ST72561-Auto

        In this mode, the master clock frequency (fOSC2) can be divided by 2, 4, 8 or 16. The CPU

        and peripherals are clocked at this lower frequency (fCPU).

Note:   SLOW-WAIT mode is activated by entering WAIT mode while the device is in SLOW mode.

        Figure 23.    SLOW mode clock transitions

                                          fOSC2/2       fOSC2/4      fOSC2

                                   fCPU

                                   fOSC2

                            MCCSR  CP1:0  00        01

                                   SMS

                                                        NORMAL RUN MODE

                                          NEW SLOW               REQUEST

                                          FREQUENCY

                                          REQUEST

7.3     Wait mode

        WAIT mode places the MCU in a low power consumption mode by stopping the CPU.

        This power saving mode is selected by calling the ‘WFI’ instruction.

        All peripherals remain active. During WAIT mode, the I[1:0] bits of the CC register are forced

        to ‘10’, to enable all interrupts. All other registers and memory remain unchanged. The MCU

        remains in WAIT mode until an interrupt or RESET occurs, whereupon the Program Counter

        branches to the starting address of the interrupt or Reset service routine.

        The MCU will remain in WAIT mode until a Reset or an Interrupt occurs, causing it to wake

        up.

        Refer to Figure 24

64/324                             Doc ID 12370 Rev 8
ST72561-Auto                                                                  Power saving modes

       Figure 24.  WAIT mode flow-chart

                                                     OSCILLATOR        ON

                                    WFI INSTRUCTION  PERIPHERALS       ON

                                                     CPU               OFF

                                                     I[1:0] BITS       10

                                                     N

                                                          RESET

                                    N                     Y

                                       INTERRUPT

                                         Y           OSCILLATOR        ON

                                                     PERIPHERALS       OFF

                                                     CPU               ON

                                                     I[1:0] BITS       10

                                                     256 OR 4096 CPU CLOCK

                                                        CYCLE DELAY

                                                     OSCILLATOR        ON

                                                     PERIPHERALS       ON

                                                     CPU               ON

                                                     I[1:0] BITS       XX 1)

                                                     FETCH RESET VECTOR

                                                     OR SERVICE INTERRUPT

Note:  Before servicing an interrupt, the CC register is pushed on the stack. The I[1:0] bits   of    the

       CC register are set to the current software priority level of the interrupt routine and

       recovered when the CC register is popped.

7.4    Halt mode

       The HALT mode is the lowest power consumption mode of the MCU. It is entered by

       executing the ‘HALT’ instruction when the OIE bit of the Main Clock Controller Status

       register (MCCSR) is cleared (see Section 10: Main clock controller with real time clock

       MCC/RTC for more details on the MCCSR register) and when the AWUEN bit in the

       AWUCSR register is cleared.

       The MCU can exit HALT mode on reception of either a specific interrupt (see Table 16) or a

       RESET. When exiting HALT mode by means of a RESET or an interrupt, the oscillator is

       immediately turned on and the 256 or 4096 CPU cycle delay is used to stabilize the

       oscillator. After the start up delay, the CPU resumes operation by servicing the interrupt or

       by fetching the reset vector which woke it up (see Figure 26).

       When entering HALT mode, the I[1:0] bits in the CC register are forced to ‘10b’ to enable

       interrupts. Therefore, if an interrupt is pending, the MCU wakes up immediately.

       In HALT mode, the main oscillator is turned off causing all internal processing to be stopped,

       including the operation of the on-chip peripherals. All peripherals are not clocked except the

       ones which get their clock supply from another clock generator (such as an external or

       auxiliary oscillator).

       The compatibility of Watchdog operation with HALT mode is configured by the “WDGHALT”

       option bit of the option byte. The HALT instruction when executed while the Watchdog

                                    Doc ID 12370 Rev 8                                            65/324
Power   saving modes                                                                              ST72561-Auto

           system is enabled,  can generate a Watchdog RESET (see Section                  22.1:  Introduction for

           more details).

           Figure 25.  HALT    timing  overview

                                       RUN     HALT   256 OR 4096 CPU           RUN

                                                         CYCLE DELAY

                                                                RESET

                                                                   OR

                                          HALT              INTERRUPT

                                       INSTRUCTION                              FETCH

                                       [MCCSR.OIE=0]                            VECTOR

           Figure 26.  HALT    mode    flow-chart

                                       HALT INSTRUCTION

                                          (MCCSR.OIE=0)

                                       (AWUCSR.AWUEN=0)

                                                            ENABLE      WATCHDOG

                                          WDGHALT 1)            0               DISABLE

                                            1

                                       WATCHDOG                    OSCILLATOR   OFF

                                            RESET                  PERIPHERALS 2) OFF

                                                                   CPU          OFF

                                                                   I[1:0] BITS         10

                                                                   N

                                                                        RESET

                                       N                                Y

                                            INTERRUPT       3)

                                                Y                  OSCILLATOR   ON

                                                                   PERIPHERALS  OFF

                                                                   CPU          ON

                                                                   I[1:0] BITS  XX 4)

                                                                256 OR 4096 CPU CLOCK

                                                                       CYCLE    DELAY

                                                                   OSCILLATOR   ON

                                                                   PERIPHERALS  ON

                                                                   CPU          ON

                                                                   I[1:0] BITS  XX 4)

                                                                FETCH RESET VECTOR

                                                                OR SERVICE INTERRUPT

Note:   1  WDGHALT is an option bit. See option byte section for more details.

        2  Peripheral clocked with an external clock source can still be active.

        3  Only some specific interrupts can exit the MCU from HALT mode (such as external

           interrupt). Refer to Table 16 for more details.

        4  Before servicing an interrupt, the CC register is pushed on the stack. The I[1:0] bits   of  the

           CC register are set to the current software priority level of the interrupt routine and

           recovered when the CC register is popped.

66/324                                    Doc ID 12370 Rev 8
ST72561-Auto                                                                Power saving modes

     Halt mode recommendations

     ●        Make sure that an external event is available to wake up the microcontroller from Halt

              mode.

     ●        When using an external interrupt to wake up the microcontroller, reinitialize the

              corresponding I/O as “Input Pull-up with Interrupt” before executing the HALT

              instruction. The main reason for this is that the I/O may be wrongly configured due to

              external interference or by an unforeseen logical condition.

     ●        For the same reason, reinitialize the level sensitiveness of each external interrupt as a

              precautionary measure.

     ●        The opcode for the HALT instruction is 0x8E. To avoid an unexpected HALT instruction

              due to a program counter failure, it is advised to clear all occurrences of the data value

              0x8E from memory. For example, avoid defining a constant in ROM with the value

              0x8E.

     ●        As the HALT instruction clears the interrupt mask in the CC register to allow interrupts,

              the user may choose to clear all pending interrupt bits before executing the HALT

              instruction. This avoids entering other peripheral interrupt routines after executing the

              external interrupt routine corresponding to the wake-up event (reset or external

              interrupt).

7.5  Active halt mode

     ACTIVE HALT mode is the lowest power consumption mode of the MCU with a real time

     clock available. It is entered by executing the ‘HALT’ instruction when MCC/RTC interrupt

     enable flag (OIE bit in MCCSR register) is set and when the AWUEN bit in the AWUCSR

     register is cleared (Section 7.6.1: Register description)

     Table 22.         MCC/RTC low power mode selection

              MCCSR        Power saving mode entered when HALT instruction is executed

              OIE bit

              0            HALT mode

              1            ACTIVE HALT mode

     The MCU can exit ACTIVE HALT mode on reception of the RTC interrupt and some specific

     interrupts (see Table 16) or a RESET. When exiting ACTIVE HALT mode by means of a

     RESET a 4096 or 256 CPU cycle delay occurs (depending on the option byte). After the

     start up delay, the CPU resumes operation by servicing the interrupt or by fetching the reset

     vector which woke it up (see Figure 28).

     When entering ACTIVE HALT mode, the I[1:0] bits in the CC register are are forced to ‘10b’

     to enable interrupts. Therefore, if an interrupt is pending, the MCU wakes up immediately.

     In ACTIVE HALT mode, only the main oscillator and its associated counter (MCC/RTC) are

     running to keep a wake-up time base. All other peripherals are not clocked except those

     which get their clock supply from another clock generator (such as external or auxiliary

     oscillator).

     The safeguard against staying locked in ACTIVE HALT mode is provided by the oscillator

     interrupt.

                                      Doc ID 12370 Rev 8                                              67/324
Power   saving modes                                                                    ST72561-Auto

Note:      As soon as active halt is enabled, executing a HALT instruction while the Watchdog is active

           does not generate a RESET.

           This means that the device cannot spend more than a defined delay in this power saving

           mode.

           Figure 27.  ACTIVE HALT timing overview

                                            ACTIVE           256 OR 4096 CYCLE

                                       RUN  HALT    DELAY (AFTER RESET)         RUN

                                                             RESET

                                          HALT               OR

                                      INSTRUCTION            INTERRUPT          FETCH

                                      (Active Halt enabled)                     VECTOR

           Figure 28.  ACTIVE HALT mode flow-chart

                                       HALT INSTRUCTION      OSCILLATOR         ON
                                                             PERIPHERALS 2)OFF
                                       (MCCSR.OIE=1)
                                                             CPU                OFF
                                      (AWUCSR.AWUEN=0)
                                                             I[1:0] BITS        10

                                                             N

                                                                        RESET

                                       N                                Y

                                            INTERRUPT 3)

                                                             OSCILLATOR         ON

                                                Y            PERIPHERALS        OFF

                                                             CPU                ON

                                                             I[1:0] BITS        XX 4)

                                                             256 OR 4096 CPU CLOCK

                                                                 CYCLE DELAY

                                                             OSCILLATOR         ON

                                                             PERIPHERALS        ON

                                                             CPU                ON

                                                             I[1:0] BITS        XX 4)

                                                             FETCH RESET VECTOR

                                                             OR SERVICE INTERRUPT

Note:   1  This delay occurs only if the MCU exits ACTIVE HALT mode by means of a RESET.

        2  Peripheral clocked with an external clock source can still be active.

        3  Only the RTC interrupt and some specific interrupts can exit the MCU from ACTIVE HALT

           mode (such as external interrupt). Refer to Table 16 for more details.

        4  Before servicing an interrupt, the CC register is pushed on the stack. The I[1:0] bits in the

           CC register are set to the current software priority level of the interrupt routine and restored

           when the CC register is popped.

7.6        Auto wake-up from halt mode

           Auto Wake-Up From Halt (AWUFH) mode is similar to Halt mode with the addition of an

           internal RC oscillator for wake-up. Compared to ACTIVE HALT mode, AWUFH has lower

           power consumption because the main clock is not kept running, but there is no accurate

           realtime clock available.

68/324                                    Doc ID 12370 Rev 8
ST72561-Auto                                                                     Power saving modes

It is entered by executing the HALT instruction when the AWUEN bit in the AWUCSR

register has been set and the OIE bit in the MCCSR register is cleared (see Section 10:

Main clock controller with real time clock MCC/RTC for more details).

Figure 29.            AWUFH mode block diagram

                             AWU RC

                             oscillator

                             fAWU_RC            to Timer input capture

                                                                   AWUFH

                                                AWUFH              interrupt

                             /64                prescaler

                             divider            /1 .. 255          (ei0 source)

As soon as HALT mode is entered, and if the AWUEN bit has been set in the AWUCSR

register, the AWU RC oscillator provides a clock signal (fAWU_RC). Its frequency is divided by

a fixed divider and a programmable prescaler controlled by the AWUPR register. The output

of this prescaler provides the delay time. When the delay has elapsed the AWUF flag is set

by hardware and an interrupt wakes up the MCU from Halt mode. At the same time the main

oscillator is immediately turned on and a 256 or 4096 cycle delay is used to stabilize it. After

this start-up delay, the CPU resumes operation by servicing the AWUFH interrupt. The AWU

flag and its associated interrupt are cleared by software reading the AWUCSR register.

To compensate for any frequency dispersion of the AWU RC oscillator, it can be calibrated

by measuring the clock frequency fAWU_RC and then calculating the right prescaler value.

Measurement mode is enabled by setting the AWUM bit in the AWUCSR register in Run

mode. This connects fAWU_RC to the ICAP1 input of the 16-bit timer, allowing the fAWU_RC to

be measured using the main oscillator clock as a reference time base.

Similarities with halt mode

The           following AWUFH mode behavior is the same as normal Halt mode:

●             The MCU can exit AWUFH mode by means of any interrupt with exit from Halt

              capability or a reset (see Section 7.4: Halt mode).

●             When entering AWUFH mode, the I[1:0] bits in the CC register are forced to 10b to

              enable interrupts. Therefore, if an interrupt is pending, the MCU wakes up immediately.

●             In AWUFH mode, the main oscillator is turned off causing all internal processing to be

              stopped, including the operation of the on-chip peripherals. None of the peripherals are

              clocked except those which get their clock supply from another clock generator (such

              as an external or auxiliary oscillator like the AWU oscillator).

●             The compatibility of Watchdog operation with AWUFH mode is configured by the

              WDGHALT option bit in the option byte. Depending on this setting, the HALT instruction

              when executed while the Watchdog system is enabled, can generate a Watchdog

              RESET.

                             Doc ID 12370 Rev 8                                                  69/324
Power   saving modes                                                                         ST72561-Auto

           Figure 30.  AWUF halt timing diagram

                                              tAWU

                       RUN MODE           HALT MODE                       256 or 4096  tCPU  RUN MODE

           fCPU

           fAWU_RC

                                                                                             Clear
                                                                                             by software

           AWUFH interrupt

           Figure 31.  AWUFH  mode  flow-chart

                                    HALT INSTRUCTION

                                       (MCCSR.OIE=0)

                                    (AWUCSR.AWUEN=1)

                                                      ENABLE      WATCHDOG

                                       WDGHALT 1)         0               DISABLE

                                       1

                                    WATCHDOG                 AWU RC OSC       ON

                                                             MAIN OSC     OFF

                                       RESET                 PERIPHERALS 2) OFF

                                                             CPU          OFF

                                                             I[1:0] BITS         10

                                                             N

                                                                  RESET

                                    N                             Y

                                       INTERRUPT      3)

                                                             AWU RC OSC   OFF

                                          Y                  MAIN OSC         ON

                                                             PERIPHERALS  OFF

                                                             CPU              ON

                                                             I[1:0] BITS  XX 4)

                                                          256 OR 4096 CPU CLOCK

                                                                CYCLE     DELAY

                                                             AWU RC OSC   OFF

                                                             MAIN OSC         ON

                                                             PERIPHERALS      ON

                                                             CPU              ON

                                                             I[1:0] BITS  XX 4)

                                                          FETCH RESET VECTOR

                                                          OR SERVICE INTERRUPT

Note:   1  WDGHALT is an option bit. See option byte section for more details.

        2  Peripheral clocked with an external clock source can still be active.

        3  Only an AWUFH interrupt and some specific interrupts can exit the MCU from HALT mode

           (such as external interrupt). Refer to Table 16 for more details.

        4  Before servicing an interrupt, the CC register is pushed on the stack. The I[1:0] bits of the

           CC register are set to the current software priority level of the interrupt routine and

           recovered when the CC register is popped.

70/324                                 Doc ID 12370 Rev 8
ST72561-Auto                                                                          Power saving modes

7.6.1  Register description

       AWUFH control/status register (AWUCSR)

       Read/Write (except bit 2 read only)

       Reset value: 0000 0000 (00h)

              7                                                                               0

              0            0      0               0          0       AWUF             AWUM    AWUEN

       Bits 7:3 = Reserved.

       Bit 2 = AWUF Auto Wake-Up Flag

       This bit is set by hardware when the AWU module generates an interrupt and cleared by

       software on reading AWUCSR.

              0: No AWU interrupt occurred

              1: AWU interrupt occurred

       Bit 1 = AWUM Auto Wake-Up Measurement

       This bit enables the AWU RC oscillator and connects its output to the ICAP1 input of the 16-

       bit timer. This allows the timer to be used to measure the AWU RC oscillator dispersion and

       then compensate this dispersion by providing the right value in the AWUPR register.

              0: Measurement disabled

              1: Measurement enabled

       Bit 0 = AWUEN Auto Wake-Up From Halt Enabled

       This bit enables the Auto Wake-Up From Halt feature: once HALT mode is entered, the

       AWUFH wakes up the microcontroller after a time delay defined by the AWU prescaler

       value. It is set and cleared by software.

              0: AWUFH (Auto Wake-Up From Halt) mode disabled

              1: AWUFH (Auto Wake-Up From Halt) mode enabled

       AWUFH prescaler register (AWUPR)

       Read / Write

       Reset value: 1111 1111 (FFh)

              7                                                                               0

              AWUPR7  AWUPR6      AWUPR5    AWUPR4           AWUPR3  AWUPR2           AWUPR1  AWUPR0

       Bits 7:0 = AWUPR[7:0] Auto Wake-Up Prescaler

       These 8 bits define the AWUPR Dividing factor as explained below:

       Table 23.      AWUPR prescaler

                      AWUPR[7:0]                                     Dividing factor

                      00h                                       Forbidden (See note)

                      01h                                            1

                      ...                                            ...

                                         Doc ID 12370 Rev 8                                   71/324
Power saving modes                                                                                 ST72561-Auto

           Table 23.    AWUPR prescaler                        (continued)

                        AWUPR[7:0]                                                Dividing factor

                              FEh                                                         254

                              FFh                                                         255

           In AWU mode, the period that the MCU stays in Halt Mode (tAWU in Figure 30) is defined by

           tAWU    =    64 ×  AWUP ×  ----------1------------  +  tRCST  R  T
                                      tAWURC

           This prescaler register can be programmed to modify the time that the MCU stays in Halt

           mode before waking up automatically.

Note:      If 00h is written to AWUPR, depending on the product, an interrupt is generated immediately

           after a HALT instruction or the AWUPR remains unchanged.

Table 24.  AWU register map and reset values

Address    Register           7       6                           5            4  3            2   1       0

(Hex.)     Label

002Bh      AWUCSR             0       0                           0            0  0       AWUF     AWUM    AWUEN

           Reset value                                                                         0   0       0

002Ch      AWUPR        AWUPR7     AWUPR6  AWUPR5                    AWUPR4       AWUPR3  AWUPR2   AWUPR1  AWUPR0

           Reset value        1       1                           1            1  1            1   1       1

72/324                                     Doc ID 12370 Rev 8
ST72561-Auto                                                                                       I/O ports

8         I/O ports

8.1       Introduction

          The I/O ports offer different functional modes:

          ●   transfer of data through digital inputs and outputs

          and for specific pins:

          ●   external interrupt generation

          ●   alternate signal input/output for the on-chip peripherals.

          An I/O port contains up to 8 pins. Each pin can be programmed independently as digital

          input (with or without interrupt generation) or digital output.

8.2       Functional description

          Each port has two main registers:

          ●   Data Register (DR)

          ●   Data Direction Register (DDR)

          and one optional register:

          ●   Option Register (OR)

          Each I/O pin may be programmed using the corresponding register bits in the DDR and OR

          registers: Bit X corresponding to pin X of the port. The same correspondence is used for the

          DR register.

          The following description takes into account the OR register, (for specific ports which do not

          provide this register refer to the I/O Port Implementation section). The generic I/O block

          diagram is shown in Figure 32

8.2.1     Input modes

          The input configuration is selected by clearing the corresponding DDR register bit.

          In this case, reading the DR register returns the digital value applied to the external I/O pin.

          Different input modes can be selected by software through the OR register.

Note:  1  Writing the DR register modifies the latch value but does not affect the pin status.

       2  When switching from input to output mode, the DR register has to be written first to drive the

          correct level on the pin as soon as the port is configured as an output.

       3  Do not use read/modify/write instructions (BSET or BRES) to modify the DR register as this

          might corrupt the DR content for I/Os configured as input.

          External interrupt function

          When an I/O is configured as Input with Interrupt, an event on this I/O can generate an

          external interrupt request to the CPU.

          Each pin can independently generate an interrupt request. The interrupt sensitivity is

          independently programmable using the sensitivity bits in the EICR register.

                                         Doc ID 12370 Rev 8                                           73/324
I/O ports                                                                                    ST72561-Auto

           Each external interrupt vector is linked to a dedicated group of I/O port pins (see pinout

           description and interrupt section). If several input pins are selected simultaneously as

           interrupt sources, these are first detected according to the sensitivity bits in the EICR

           register and then logically ORed.

           The external interrupts are hardware interrupts, which means that the request latch (not

           accessible directly by the application) is automatically cleared when the corresponding

           interrupt vector is fetched. To clear an unwanted pending interrupt by software, the

           sensitivity bits in the EICR register must be modified.

8.2.2      Output modes

           The output configuration is selected by setting the corresponding DDR register bit. In this

           case, writing the DR register applies this digital value to the I/O pin through the latch. Then

           reading the DR register returns the previously stored value.

           Two different output modes can be selected by software through the OR register: Output

           push-pull and open-drain.

           Table 25.  DR register value and output pin status

           DR                                 Push-pull                  Open-drain

           0                                      VSS                    Vss

           1                                      VDD                    Floating

8.2.3      Alternate functions

           When an on-chip peripheral is configured to use a pin, the alternate function is automatically

           selected. This alternate function takes priority over the standard I/O programming.

           When the signal is coming from an on-chip peripheral, the I/O pin is automatically

           configured in output mode (push-pull or open drain according to the peripheral).

           When the signal is going to an on-chip peripheral, the I/O pin must be configured in input

           mode. In this case, the pin state is also digitally readable by addressing the DR register.

Note:      Input pull-up configuration can cause unexpected value at the input of the alternate

           peripheral input. When an on-chip peripheral use a pin as input and output, this pin has to

           be configured in input floating mode.

74/324                                Doc ID 12370 Rev 8
ST72561-Auto                                                                                            I/O ports

       Figure 32.        I/O port general      block diagram

              REGISTER              ALTERNATE            1

              ACCESS                OUTPUT                                      VDD  P-BUFFER

                                                         0                           (see table below)

                                    ALTERNATE                                        PULL-UP

                                    ENABLE                                           (see table below)

                         DR                                                          VDD

                         DDR

                                                                     PULL-UP                        PAD

                         OR                                          CONDITION

               DATA BUS             If implemented

                         OR SEL

                                                                     N-BUFFER        DIODES

                                                                                     (see table below)

                         DDR SEL

                                                                                          ANALOG

                                                                     CMOS                           INPUT

                         DR SEL                                      SCHMITT

                                    1                                TRIGGER

                                    0                                                     ALTERNATE

                                                                                                    INPUT

              EXTERNAL

              INTERRUPT

              SOURCE (eix)

       Table 26.         I/O port mode options(1)

                         Configuration mode                 Pull-Up  P-Buffer             Diodes

                         Floating with/without Interrupt    Off

       Input                                                         Off

                         Pull-up with/without Interrupt     On

                                                                                     On

                         Push-pull                                   On                                    On

                                                            Off

       Output            Open Drain (logic level)                    Off

                         True Open Drain                    NI       NI              NI (see note)

       1.     NI - not implemented

              Off - implemented not activated

              On - implemented and activated

Note:  The diode to VDD is not implemented in the true open drain pads. A local protection               between

       the pad and VSS is implemented to protect the device against positive stress.

                                               Doc ID 12370 Rev 8                                          75/324
I/O ports                                                                                                            ST72561-Auto

           Table                  27.  I/O port    configurations

                                                            Hardware   configuration

                                  NOT IMPLEMENTED  IN  VDD                              DR REGISTER       ACCESS

                                  TRUE OPEN DRAIN

                                  I/O PORTS

                                                       RPU  PULL-UP                     DR    W

                                                            CONDITION           REGISTER

                                             PAD                                                          DATA       BUS

                                                                                              R

           Input (1)                                                                                      ALTERNATE INPUT

                                                                                            EXTERNAL INTERRUPT

                                                                                            SOURCE (eix)

                                                                   INTERRUPT

                                                                   CONDITION

                                                                                                          ANALOG INPUT

           Open-drain Output (2)  NOT IMPLEMENTED IN                                          DR REGISTER ACCESS

                                  TRUE OPEN DRAIN      VDD

                                  I/O PORTS

                                                       RPU

                                                                                              DR          R/W

                                             PAD                                              REGISTER                    DATA BUS

                                                                                ALTERNATE                 ALTERNATE

                                                                                ENABLE                    OUTPUT

                                  NOT IMPLEMENTED IN                                          DR REGISTER ACCESS

           Push-pull Output 2)    TRUE OPEN DRAIN      VDD

                                  I/O PORTS

                                                       RPU

                                                                                              DR          R/W

                                             PAD                                              REGISTER                    DATA BUS

                                                                                ALTERNATE                 ALTERNATE

                                                                                ENABLE                    OUTPUT

           1.  When the I/O port is in input configuration and the associated alternate function is enabled as an output,

               reading the DR register will read the alternate function output status.

           2.  When the I/O port is in output configuration and the associated alternate function is enabled as an input,

               the alternate function reads the pin status given by the DR register content.

Caution:   The alternate function must not be activated as long as the pin is configured as input with

           interrupt, in order to avoid generating spurious interrupts.

           Analog alternate function

           When the pin is used as an ADC input, the I/O must be configured as floating input. The

           analog multiplexer (controlled by the ADC registers) switches the analog voltage present on

           the selected pin to the common analog rail which is connected to the ADC input.

           It is recommended not to change the voltage level or loading on any port pin while

           conversion is in progress. Furthermore it is recommended not to have clocking pins located

           close to a selected analog pin.

76/324                                                      Doc ID 12370 Rev 8
ST72561-Auto                                                                                                    I/O ports

              Warning:    The analog input voltage level must be within the limits

                          stated in the absolute maximum ratings.

8.3    I/O port implementation

       The hardware implementation on each I/O port depends on the settings in the DDR and OR

       registers and specific feature of the I/O port such as ADC Input or true open drain.

       Switching these I/O ports from one state to another should be done in a sequence that

       prevents unwanted side effects. Recommended safe transitions are illustrated in Figure 33.

       Other transitions are potentially risky and should be avoided, since they are likely to present

       unwanted side-effects such as spurious interrupt generation.

       Figure 33.      Interrupt  I/O  port state        transitions

                                       01                00             10             11

                                       INPUT             INPUT          OUTPUT         OUTPUT

                                       floating/pull-up  floating       open-drain     push-pull

                                       interrupt         (reset state)

                                                                        XX          =  DDR, OR

8.4    I/O port register configurations

       The I/O port register configurations are summarized as follows.

8.4.1  Standard ports

       Table 28.       Configuration of PB7:6, PC0, PC3, PC7:5, PD3:2,                            PD5,  PE7:0,  PF7:0

                                       Mode                                                       DDR           OR

       Floating input                                                                                           0

                                                                                                  0

       Pull-up input                                                                                            1

       Open drain output                                                                                        0

                                                                                                  1

       Push-pull output                                                                                         1

                                       Doc ID 12370 Rev 8                                                              77/324
I/O ports                                                          ST72561-Auto

8.4.2      Interrupt ports

           Table 29.       Configuration of PA0,  2,  4,  6;  PB0, 2,4; PC1; PD0,6 (with pull-up)

                                     Mode                     DDR                                  OR

           Floating input                                                                          0

                                                              0

           Pull-up interrupt input                                                                 1

           Open drain output                                                                       0

                                                              1

           Push-pull output                                                                        1

           Table 30.       Configuration of PA1,  3,  5,  7;  PB1,3,5; PC2; PD1, 4, 7 (without pull-up)

                                     Mode                     DDR                                  OR

           Floating input                                                                          0

                                                              0

           Floating interrupt input                                                                1

           Open drain output                                                                       0

                                                              1

           Push-pull output                                                                        1

78/324                               Doc ID 12370 Rev 8
ST72561-Auto                                                                                      I/O ports

8.4.3  Pull-up input port (CANTX requirement)

       Table 31.      Configuration of PC4

                                            Mode

                                            pull-up input

       The PC4 port cannot operate as a general purpose output. The CAN peripheral controls it

       directly when enabled. Otherwise, PC4 is a pull-up input.

       If DDR = 1 it is still possible to read the port through the DR register.

       Table 32.      Port configuration

                                            Input                                         Output

              Port    Pin name

                                OR = 0               OR = 1                       OR = 0          OR = 1

                      PA0                   pull-up interrupt (ei0)

                      PA1                   floating interrupt (ei0)

                      PA2                   pull-up interrupt (ei0)

                      PA3                   floating interrupt (ei0)

              Port A            floating                                          open drain      push-pull

                      PA4                   pull-up interrupt (ei0)

                      PA5                   floating interrupt (ei0)

                      PA6                   pull-up interrupt (ei0)

                      PA7                   floating interrupt (ei0)

                      PB0                   pull-up interrupt (ei1)

                      PB1                   floating interrupt (ei1)

                      PB2                   pull-up interrupt (ei1)

              Port B            floating                                          open drain      push-pull

                      PB3                   floating interrupt (ei1)

                      PB4                   pull-up interrupt (ei1)

                      PB5                   floating interrupt (ei1)

                      PC0                            pull-up

                      PC1                   pull-up interrupt (ei2)

                                floating                                          open drain      push-pull

                      PC2                   floating interrupt (ei2)

              Port C

                      PC3                            pull-up

                      PC4                   pull-up                               controlled  by  CANTX(1)

                      PC7:5     floating             pull-up                      open drain      push-pull

                                Doc ID 12370 Rev 8                                                79/324
I/O ports                                                                                                       ST72561-Auto

           Table 32.       Port configuration (continued)

                                                           Input                             Output

               Port        Pin name

                                           OR = 0                 OR = 1             OR = 0                     OR = 1

                           PD0                             pull-up interrupt (ei3)

                           PD1                             floating interrupt (ei3)

                           PD3:2                                  pull-up

               Port D      PD4             floating        floating interrupt (ei3)  open drain                 push-pull

                           PD5                                    pull-up

                           PD6                             pull-up interrupt (ei3)

                           PD7                             floating interrupt (ei3)

               Port E      PE7:0           floating (TTL)         pull-up (TTL)      open drain                 push-pull

               Port F      PF7:0           floating (TTL)         pull-up (TTL)      open drain                 push-pull

           1.  When the  CANTX alternate function is selected, the I/O port operates in output push-pull mode.

8.5        Low power modes

           Table 33.       Effect of low power modes on I/O ports

               Mode                                               Description

           WAIT            No effect on I/O ports. External interrupts cause the device to exit from WAIT mode.

           HALT            No effect on I/O ports. External interrupts cause the device to exit from HALT mode.

8.6        Interrupts

           The external interrupt event generates an interrupt if the corresponding configuration is

           selected with DDR and OR registers and the interrupt mask in the CC register is not active

           (RIM instruction).

           Table 34.       I/O port interrupt control/wake-up capability

                                                           Event   Enable            Exit                       Exit

                       Interrupt event                     flag    control           from                       from

                                                                           bit       wait                       halt

           External interrupt on selected                  -       DDRx                          Yes

           external event                                          ORx

80/324                                     Doc ID 12370 Rev 8
ST72561-Auto                                                              I/O ports

Table 35.             I/O port  register  map and reset values

Address               Register     7         6     5          4  3  2  1  0

              (Hex.)  label

Reset value                     0         0     0             0  0  0  0  0

of all IO port registers

0000h                 PADR

0001h                 PADDR     MSB                                       LSB

0002h                 PAOR

0003h                 PBDR

0004h                 PBDDR     MSB                                       LSB

0005h                 PBOR

0006h                 PCDR

0007h                 PCDDR     MSB                                       LSB

0008h                 PCOR

0009h                 PDDR

000Ah                 PDDDR     MSB                                       LSB

000Bh                 PDOR

000Ch                 PEDR

000Dh                 PEDDR     MSB                                       LSB

000Eh                 PEOR

000Fh                 PFDR

0010h                 PFDDR     MSB                                       LSB

0011h                 PFOR

                                          Doc ID 12370 Rev 8              81/324
Window  watchdog (WWDG)                                                           ST72561-Auto

9       Window watchdog (WWDG)

9.1     Introduction

        The Window Watchdog is used to detect the occurrence of a software fault, usually

        generated by external interference or by unforeseen logical conditions, which causes the

        application program to abandon its normal sequence. The Watchdog circuit generates an

        MCU reset on expiry of a programmed time period, unless the program refreshes the

        contents of the downcounter before the T6 bit becomes cleared. An MCU reset is also

        generated if the 7-bit downcounter value (in the control register) is refreshed before the

        downcounter has reached the window register value. This implies that the counter must be

        refreshed in a limited window.

9.2     Main features

        ●  Programmable free-running down counter

        ●  Conditional reset

           –  Reset (if watchdog activated) when the downcounter value becomes less than 40h

           –  Reset (if watchdog activated) if the downcounter is reloaded outside the window

              (see Figure 37)

        ●  Hardware/Software Watchdog activation (selectable by option byte)

        ●  Optional reset on HALT instruction (configurable by option byte)

9.3     Functional description

        The counter value stored in the WDGCR register (bits T[6:0]), is decremented every 16384

        fOSC2 cycles (approx.), and the length of the timeout period can be programmed by the user

        in 64 increments.

        If the watchdog is activated (the WDGA bit is set) and when the 7-bit downcounter (T[6:0]

        bits) rolls over from 40h to 3Fh (T6 becomes cleared), it initiates a reset cycle pulling low the

        reset pin for typically 30µs. If the software reloads the counter while the counter is greater

        than the value stored in the window register, then a reset is generated.

82/324                                  Doc ID 12370 Rev 8
ST72561-Auto                                                                       Window watchdog   (WWDG)

       Figure  34.  Watchdog block diagram

                  RESET                                       WATCHDOG WINDOW REGISTER (WDGWR)

                                                   -      W6  W5        W4  W3     W2  W1        W0

                                         comparator

                                         = 1 when

                                         T6:0 > W6:0 CMP

                                    Write WDGCR

                                                              WATCHDOG CONTROL REGISTER (WDGCR)

                                                 WDGA     T6  T5        T4  T3     T2  T1        T0

                                MCC/RTC                                 6-BIT DOWNCOUNTER (CNT)

                         fOSC2           DIV 64

                                                                        WDG PRESCALER

                                                                            DIV 4

                                      12-BIT MCC

                                    RTC COUNTER

                                    MSB      LSB          TB[1:0] bits

                                11       65           0   (MCCSR

                                                          Register)

       The application program must write in the WDGCR register at regular intervals during

       normal operation to prevent an MCU reset. This operation must occur only when the counter

       value is lower than the window register value. The value to be stored in the WDGCR register

       must be between FFh and C0h (see Figure 35):

       ●      Enabling the watchdog:

              when Software Watchdog is selected (by option byte), the watchdog is disabled after a

              reset. It is enabled by setting the WDGA bit in the WDGCR register, then it cannot be

              disabled again except by a reset.

              When Hardware Watchdog is selected (by option byte), the watchdog is always active

              and the WDGA bit is not used.

       ●      Controlling the downcounter:

              this downcounter is free-running: It counts down even if the watchdog is disabled.

              When the watchdog is enabled, the T6 bit must be set to prevent generating an

              immediate reset.

              The T[5:0] bits contain the number of increments which represents the time delay

              before the watchdog produces a reset (see Figure 35). The timing varies between a

              minimum and a maximum value due to the unknown status of the prescaler when

              writing to the WDGCR register (see Figure 36).

              The window register (WDGWR) contains the high limit of the window: To prevent a

              reset, the downcounter must be reloaded when its value is lower than the window

              register value and greater than 3Fh. Figure 37 describes the window watchdog

              process.

Note:  The T6 bit can be used to generate a software reset (the WDGA bit is set and the T6 bit is

       cleared).

       ●      Watchdog Reset on Halt option:

              if the watchdog is activated and the watchdog reset on halt option is selected, then the

              HALT instruction will generate a Reset.

                                         Doc ID 12370 Rev 8                                          83/324
Window watchdog (WWDG)                                                            ST72561-Auto

9.4       Using halt mode with the WDG

          If Halt mode with Watchdog is enabled by option byte (no watchdog reset on HALT

          instruction), it is recommended before executing the HALT instruction to refresh the WDG

          counter, to avoid an unexpected WDG reset immediately after waking up the microcontroller.

9.5       How to program the watchdog timeout

          Figure 35 shows the linear relationship between the 6-bit value to be loaded in the

          Watchdog Counter (CNT) and the resulting timeout duration in milliseconds. This can be

          used for a quick calculation without taking the timing variations into account. If more

          precision is needed, use the formulae in Figure 36.

Caution:  When writing to the WDGCR register, always write 1 in the T6 bit to avoid generating an

          immediate reset.

          Figure 35.                 Approximate timeout duration

                            3F

                            38

                            30

                            28

          CNT Value (hex.)  20

                            18

                            10

                            08

                            00

                                1.5  18  34  50                    65  82     98  114              128

                                         Watchdog timeout (ms) @ 8 MHz fOSC2

84/324                                   Doc ID 12370 Rev 8
ST72561-Auto                                                                                                                                    Window watchdog (WWDG)

Figure 36.                              Exact timeout duration (tmin and tmax)

WHERE:

tmin0 = (LSB + 128) x 64 x tOSC2

tmax0 = 16384 x tOSC2

tOSC2 = 125ns if fOSC2 = 8 MHz

CNT = Value of T[5:0] bits in the WDGCR register (6 bits)

MSB and LSB are values from the table below depending on the timebase selected by                                                                                        the

TB[1:0] bits in the MCCSR register

TB1 Bit                                       TB0 Bit                                           Selected MCCSR timebase                                   MSB       LSB

(MCCSR Reg.)                                  (MCCSR Reg.)

0                                             0                                                 2ms                                                       4         59

0                                             1                                                 4ms                                                       8         53

1                                             0                                                 10ms                                                      20        35

1                                             1                                                 25ms                                                      49        54

To calculate the minimum watchdog timeout (tmin):

IF CNT <              M------S----B---  THEN  tmin = tmin0 + 16384 × CNT × tosc2
                      4

ELSE tmin = tmin0 +                     16384 × ⎝⎛CNT –             4----C-----N-----T--  ⎞  +  (192   +  LSB)  ×  64  ×  4----C-----N-----T--  × tosc2
                                                                                          ⎠
                                                                    MSB                                                   MSB

To calculate the maximum Watchdog Timeout (tmax):

IF            CNT  ≤  M------S----B---  THEN tmax = tmax0 + 16384 × CNT × tosc2
                      4

ELSEtmax = tmax0 +                      16384 ×  ⎛      C  N  T  –  4----C-----N-----T--  ⎞  +  ( 192  +  LSB)  ×  64  ×  4----C-----N-----T--  ×  tosc2
                                                 ⎝                                        ⎠
                                                                    MSB                                                   MSB

Note:                                   In the above formulae, division results must be rounded down to the next

                                        integer value.

Example 1:

With 2ms timeout selected in MCCSR register

              Value of T[5:0] bits in WDGCR                         Min. watchdog timeout (ms)                                                  Max. watchdog timeout (ms)

                      register (Hex.)                                                                  tmin                                                   tmax

00                                                                  1.496                                                                       2.048

3F                                                                  128                                                                         128.552

                                                              Doc ID 12370 Rev 8                                                                                         85/324
Window     watchdog  (WWDG)                                                                                 ST72561-Auto

           Figure    37.  Window watchdog timing diagram

                                         T[5:0] CNT downcounter

                                WDGWR

                                   3Fh

                                                                                      time

                                                 Refresh not allowed  Refresh Window  (step = 16384/fOSC2)

                                         T6 bit

                                         Reset

9.6        Low power modes

Table 36.  Effect of low power modes on WDG

Mode                                             Description

SLOW       No effect on Watchdog: the downcounter continues to decrement at normal speed.

WAIT       No effect on Watchdog: the downcounter continues to decrement.

           OIE bit in     WDGHALT

           MCCSR          bit in Option

           register       Byte

                                         No Watchdog reset is generated. The MCU enters Halt mode. The

                                         Watchdog counter is decremented once and then stops counting and is

                                         no longer able to generate a watchdog reset until the MCU receives an

HALT                                     external interrupt or a reset.

           0                 0           If an interrupt is received (refer to interrupt table mapping to see

                                         interrupts which can occur in halt mode), the Watchdog restarts counting

                                         after 256 or 4096 CPU clocks. If a reset is generated, the Watchdog is

                                         disabled (reset state) unless Hardware Watchdog is selected by option

                                         byte. For application recommendations see Section 9.8: Using halt

                                         mode with the WDG (WDGHALT option) below.

           0                 1           A reset is generated instead of entering halt mode.

                                         No reset is generated. The MCU enters Active Halt mode. The

ACTIVE                                   Watchdog counter is not decremented. It stop counting. When the MCU

HALT       1                 x           receives an oscillator interrupt or external interrupt, the Watchdog

                                         restarts counting immediately. When the MCU receives a reset the

                                         Watchdog restarts counting after 256 or 4096 CPU clocks.

9.7        Hardware watchdog option

           If Hardware Watchdog is selected by option byte, the watchdog is always active and the

           WDGA bit in the WDGCR is not used. Refer to the Option Byte description.

86/324                                           Doc ID 12370 Rev 8
ST72561-Auto                                                    Window watchdog (WWDG)

9.8     Using halt mode with the WDG (WDGHALT option)

        The following recommendation applies if Halt mode is used when the watchdog is enabled.

        ●     Before executing the HALT instruction, refresh the WDG counter, to avoid an

              unexpected WDG reset immediately after waking up the microcontroller.

9.9     Interrupts

        None.

9.10    Register description

9.10.1  Control register (WDGCR)

        Read / Write

        Reset value: 0111 1111 (7Fh)

               7                                                                                0

              WDGA        T6            T5    T4            T3  T2                   T1         T0

        Bit 7 = WDGA Activation bit.

        This bit is set by software and only cleared by hardware after a reset. When WDGA = 1, the

        watchdog can generate a reset.

              0: Watchdog disabled

              1: Watchdog enabled

        Note:  This bit is not used if the hardware watchdog option is enabled by option byte.

        Bits 6:0 = T[6:0] 7-bit counter (MSB to LSB).

        These bits contain the value of the watchdog counter. It is decremented every 16384 fOSC2

        cycles (approx.). A reset is produced when it rolls over from 40h to 3Fh (T6 becomes

        cleared).

9.10.2  Window Register (WDGWR)

        Read/ write

        Reset value: 0111 1111 (7Fh)

               7                                                                                0

               -          W6          W5      W4            W3  W2                   W1         W0

        Bit 7 = Reserved

        Bits 6:0 = W[6:0] 7-bit window value

        These bits contain the window value to be compared to the downcounter.

                                        Doc ID 12370 Rev 8                                      87/324
Window  watchdog (WWDG)                                                       ST72561-Auto

        Table 37.  Watchdog timer register map  and reset values

        Address          Register label  7                6   5   4   3   2   1   0

        (Hex.)

        2F               WDGCR           WDGA             T6  T5  T4  T3  T2  T1  T0

                         Reset value     0                1   1   1   1   1   1   1

        30               WDGWR           -                W6  W5  W4  W3  W2  W1  W0

                         Reset value     0                1   1   1   1   1   1   1

88/324                                Doc ID 12370 Rev 8
ST72561-Auto                              Main clock controller with real time clock MCC/RTC

10    Main clock controller with real time clock MCC/RTC

      The Main Clock Controller consists of three different functions:

      ●       a programmable CPU clock prescaler

      ●       a clock-out signal to supply external devices

      ●       a real time clock timer with interrupt capability

      Each function can be used independently and simultaneously.

10.1  Programmable CPU clock prescaler

      The programmable CPU clock prescaler supplies the clock for the ST7 CPU and its internal

      peripherals. It manages SLOW power saving mode (See Section 7.2: Slow mode for more

      details).

      The prescaler selects the fCPU main clock frequency and is controlled by three bits in the

      MCCSR register: CP[1:0] and SMS.

10.2  Clock-out capability

      The clock-out capability is an alternate function of an I/O port pin that outputs a fOSC2 clock

      to drive external devices. It is controlled by the MCO bit in the MCCSR register.

10.3  Real time clock timer (RTC)

      The counter of the real time clock timer allows an interrupt to be generated based on an

      accurate real time clock. Four different time bases depending directly on fOSC2 are available.

      The whole functionality is controlled by 4 bits of the MCCSR register: TB[1:0], OIE and OIF.

      When the RTC interrupt is enabled (OIE bit set), the ST7 enters ACTIVE HALT mode when

      the HALT instruction is executed. See Section 7.5: Active halt mode for more details.

      Figure 38.  Main clock controller (MCC/RTC) block diagram

                  fOSC2                                                               MCO

                                                  RTC                       TO

                                                  COUNTER                   WATCHDOG

                                                                            TIMER

                         MCO    CP1     CP0  SMS  TB1        TB0  OIE  OIF

                         MCCSR

                                                                            MCC/RTC INTERRUPT

                         DIV 2, 4, 8, 16                                    fCPU      CPU CLOCK

                                                                                      TO CPU AND

                                                                                      PERIPHERALS

                                Doc ID 12370 Rev 8                                                 89/324
Main clock controller with real time clock MCC/RTC                                                      ST72561-Auto

10.4          Low     power modes

Table 38.     Effect  of low power modes on MCC/RTC

        Mode                                                 Description

WAIT                  No effect on MCC/RTC peripheral.

                      MCC/RTC interrupt cause the device to exit from WAIT mode.

ACTIVE HALT           No effect on MCC/RTC counter (OIE bit is set), the registers are  frozen.

                      MCC/RTC interrupt cause the device to exit from ACTIVE HALT       mode.

HALT                  MCC/RTC counter and registers are frozen.

and                   MCC/RTC operation resumes when the MCU is woken up by an          interrupt  with “exit from

AWUF HALT             HALT” capability.

10.5          Interrupts

              The MCC/RTC interrupt event generates an interrupt if the OIE bit of the MCCSR register               is

              set and the interrupt mask in the CC register is not active (RIM instruction).

              Table 39.     MCC/RTC Interrupt control wake-up capability

                                                        Event           Enable          Exit            Exit

                         Interrupt event                flag            control         from            from

                                                                          bit           wait            halt

              Time base overflow event                  OIF               OIE           Yes             No1)

Note:         The MCC/RTC interrupt wakes up the MCU from ACTIVE HALT mode, not from HALT or

              AWUF HALT mode.

10.6          Register description

10.6.1        MCC control/status register (MCCSR)

              Read / Write

              Reset value: 0000 0000 (00h)

              7                                                                                           0

              MCO           CP1           CP0           SMS        TB1            TB0              OIE    OIF

              Bit 7 = MCO Main clock out selection

              This bit enables the MCO alternate function on the corresponding I/O port. It is set and

              cleared by software.

              0: MCO alternate function disabled (I/O pin free for general-purpose I/O)

              1: MCO alternate function enabled (fOSC2 on I/O port)

              Bits 6:5 = CP[1:0] CPU clock prescaler

              These bits select the CPU clock prescaler which is applied in the different slow modes. Their

              action is conditioned by the setting of the SMS bit. These two bits are set and cleared by

              software

90/324                                         Doc ID 12370 Rev 8
ST72561-Auto                                    Main clock controller with real time clock MCC/RTC

Table 40.     CPU clock frequency in SLOW mode

              fCPU in SLOW mode                                        CP1            CP0

fOSC2 / 2                                                                               0

                                                                       0

fOSC2 / 4                                                                               1

fOSC2/ 8                                                                                0

                                                                       1

fOSC2 / 16                                                                              1

Bit 4 = SMS Slow mode select

This bit is set and cleared by software.

              0: Normal mode. fCPU = fOSC2

              1: Slow mode. fCPU is given by CP1, CP0

See Section 7.2: Slow mode and Section 10: Main clock controller with real time         clock

MCC/RTC for more details.

Bits 3:2 = TB[1:0] Time base control

These bits select the programmable divider time base. They are set and cleared          by

software.

Table 41.     Time base selection

                                                 Time  base

Counter prescaler                                                                TB1        TB0

                                  fOSC2 = 4 MHz              fOSC2  =  8 MHz

16000               4ms                                2ms                              0

                                                                              0

32000               8ms                                4ms                              1

80000               20ms                               10ms                             0

                                                                              1

200000              50ms                               25ms                             1

A modification of the time base is taken into account at the end of the current period

(previously set) to avoid an unwanted time shift. This allows to use this time base as a real

time clock.

Bit 1 = OIE Oscillator interrupt enable

This bit set and cleared by software.

              0: Oscillator interrupt disabled

              1: Oscillator interrupt enabled

This interrupt can be used to exit from ACTIVE HALT mode.

When this bit is set, calling the ST7 software HALT instruction enters the ACTIVE HALT

power saving mode.

Bit 0 = OIF Oscillator interrupt flag

This bit is set by hardware and cleared by software reading the CSR register. It indicates

when set that the main oscillator has reached the selected elapsed time (TB1:0).

              0: Timeout not reached

              1: Timeout reached

                                      Doc ID 12370 Rev 8                                    91/324
Main clock  controller with real time clock MCC/RTC                                ST72561-Auto

Caution:    The BRES and BSET instructions must not be used on the MCCSR register  to avoid

            unintentionally clearing the OIF bit.

            Table 42.  Main clock controller register map and reset values

            Address    Register     7              6  5      4      3       2      1         0

            (Hex.)     label

            002Dh      SICSR        0    AVDIE        AVDF   LVDRF  0                   WDGRF

                       Reset value                                          0      0         x

            002Eh      MCCSR        MCO  CP1          CP0    SMS    TB1     TB0    OIE       OIF

                       Reset value  0              0  0      0      0       0      0         0

92/324                                   Doc ID 12370 Rev 8
ST72561-Auto                                                                              PWM auto-reload timer (ART)

11    PWM auto-reload timer (ART)

11.1  Introduction

      The Pulse Width Modulated Auto-Reload Timer on-chip peripheral consists of an 8-bit auto-

      reload counter with compare/capture capabilities and of a 7-bit prescaler clock source.

      These resources allow five possible operating modes:

      ●       Generation of up to four independent PWM signals

      ●       Output compare and Time base interrupt

      ●       Up to two input capture functions

      ●       External event detector

      ●       Up to two external interrupt sources

      The three first modes can be used together with a single counter frequency.

      The timer can be used to wake up the MCU from WAIT and HALT modes.

      Figure 39.      PWM auto-reload timer block diagram

                      PWMCR            OEx                  OPx                     OCRx                   DCRx

                                                                              REGISTER                     REGISTER

                                                                                              LOAD

                                   PORT                  POLARITY

              PWMx           ALTERNATE                   CONTROL              COMPARE

                                   FUNCTION

                                                       ARR                    8-BIT COUNTER        LOAD

                                                REGISTER                      (CAR REGISTER)

              ARTICx                        INPUT CAPTURE          LOAD             ICRx

                                                CONTROL                       REGISTER

                                   ICSx         ICIEx       ICFx       ICCSR

                             fEXT                                                   ICx INTERRUPT

              ARTCLK                                   fCOUNTER

                             fCPU

                                   MUX

                                        fINPUT  PROGRAMMABLE

                                                       PRESCALER

                                         EXCL   CC2      CC1      CC0  TCE    FCRL  OIE      OVF   ARTCSR

                                                                                                           OVF  INTERRUPT

                                             Doc ID 12370 Rev 8                                                            93/324
PWM auto-reload timer (ART)                                                             ST72561-Auto

11.2    Functional description

11.2.1  Counter

        The free running 8-bit counter is fed by the output of the prescaler, and is incremented on

        every rising edge of the clock signal.

        It is possible to read or write the contents of the counter on the fly by reading or writing the

        Counter Access register (ARTCAR).

        When a counter overflow occurs, the counter is automatically reloaded with the contents of

        the ARTARR register (the prescaler is not affected).

11.2.2  Counter clock and prescaler

        The counter clock frequency is given by:

        fCOUNTER = fINPUT / 2CC[2:0]

        The timer counter’s input clock (fINPUT) feeds the 7-bit programmable prescaler, which

        selects one of the eight available taps of the prescaler, as defined by CC[2:0] bits in the

        Control/Status Register (ARTCSR). Thus the division factor of the prescaler can be set to 2n

        (where n = 0, 1...7).

        This fINPUT frequency source is selected through the EXCL bit of the ARTCSR register and

        can be either the fCPU or an external input frequency fEXT.

        The clock input to the counter is enabled by the TCE (Timer Counter Enable) bit in the

        ARTCSR register. When TCE is reset, the counter is stopped and the prescaler and counter

        contents are frozen. When TCE is set, the counter runs at the rate of the selected clock

        source.

11.2.3  Counter and prescaler Initialization

        After RESET, the counter and the prescaler are cleared and fINPUT = fCPU.

        The counter can be initialized by:

        ●     Writing to the ARTARR register and then setting the FCRL (Force Counter Re-Load)

              and the TCE (Timer Counter Enable) bits in the ARTCSR register.

        ●     Writing to the ARTCAR counter access register,

        In both cases the 7-bit prescaler is also cleared, whereupon counting will start from a known

        value.

        Direct access to the prescaler is not possible.

11.2.4  Output compare control

        The timer compare function is based on four different comparisons with the counter (one for

        each PWMx output). Each comparison is made between the counter value and an output

        compare register (OCRx) value. This OCRx register can not be accessed directly, it is

        loaded from the duty cycle register (PWMDCRx) at each overflow of the counter.

        This double buffering method avoids glitch generation when changing the duty cycle on the

        fly.

94/324                                Doc ID 12370 Rev 8
ST72561-Auto                                                                        PWM  auto-reload timer  (ART)

        Figure  40.          Output compare           control

                             fCOUNTER

                                                      ARTARR=FDh

                             COUNTER        FDh  FEh       FFh       FDh  FEh  FFh  FDh  FEh  FFh

                             OCRx                               FDh                      FEh

                             PWMDCRx                  FDh                           FEh

                             PWMx

11.2.5  Independent PWM signal generation

        This mode allows up to four Pulse Width Modulated signals to be generated on the PWMx

        output pins with minimum core processing overhead. This function is stopped during HALT

        mode.

        Each PWMx output signal can be selected independently using the corresponding OEx bit

        in the PWM Control register (PWMCR). When this bit is set, the corresponding I/O pin is

        configured as output push-pull alternate function.

        The PWM signals all have the same frequency which is controlled by the counter period and

        the ARTARR register value.

        fPWM = fCOUNTER / (256 - ARTARR)

        When a counter overflow occurs, the PWMx pin level is changed depending on the

        corresponding OPx (output polarity) bit in the PWMCR register. When the counter reaches

        the value contained in one of the output compare register (OCRx) the corresponding PWMx

        pin level is restored.

        It should be noted that the reload values will also affect the value and the resolution of the

        duty cycle of the PWM output signal. To obtain a signal on a PWMx pin, the contents of the

        OCRx register must be greater than the contents of the ARTARR register.

        The maximum available resolution for the PWMx duty cycle is:

        Resolution = 1 / (256 - ARTARR)

Note:   To have the maximum resolution (1/256), the ARTARR register must be 0. With this

        maximum resolution, 0% and 100% can be obtained by changing the polarity.

        Figure 41.           PWM auto-reload timer function

                                       255

                             DUTY CYCLE

                COUNTER      REGISTER

                             (PWMDCRx)

                             AUTO-RELOAD

                             REGISTER

                             (ARTARR)

                                       000                                                         t

                PWMx OUTPUT  WITH OEx=1

                             AND OPx=0

                             WITH OEx=1

                             AND OPx=1

                                                      Doc ID 12370 Rev 8                                    95/324
PWM auto-reload timer (ART)                                                                                                        ST72561-Auto

          Figure 42.                PWM signal                from  0% to    100% duty cycle

                                               fCOUNTER

                                                                                  ARTARR

                                                                                  = FDh

                                               COUNTER        FDh       FEh       FFh         FDh       FEh       FFh         FDh  FEh

                                               OCRx=FCh

          PWMx OUTPUT   WITH OEx=1  AND OPx=0  OCRx=FDh

                                               OCRx=FEh

                                               OCRx=FFh

                                                                                                                                              t

11.2.6    Output compare and Time base interrupt

          On overflow, the OVF flag of the ARTCSR register is set and an overflow interrupt request is

          generated if the overflow interrupt enable bit, OIE, in the ARTCSR register, is set. The OVF

          flag must be reset by the user software. This interrupt can be used as a time base in the

          application.

11.2.7    External clock and event detector mode

          Using the fEXT external prescaler input clock, the auto-reload timer can be used as an

          external clock event detector. In this mode, the ARTARR register is used to select the

          nEVENT number of events to be counted before setting the OVF flag.

          nEVENT = 256 - ARTARR

Caution:  The external clock function is not available in HALT mode. If HALT mode is used in the

          application, prior to executing the HALT instruction, the counter must be disabled by clearing

          the TCE bit in the ARTCSR register to avoid spurious counter increments.

          Figure 43.                External event detector example (3 counts)

          fEXT                      = fCOUNTER

                                                                        ARTARR

                                                                        = FDh

                                    COUNTER              FDh       FEh       FFh         FDh       FEh       FFh       FDh

                                               OVF

                                                                                              ARTCSR READ                     ARTCSR READ

                                                                             INTERRUPT                       INTERRUPT

                                                                                  IF OIE = 1                      IF OIE = 1

                                                                                                                                           t

11.2.8    Input capture function

          Input Capture mode allows the measurement of external signal pulse widths through

          ARTICRx registers.

96/324                                                             Doc ID 12370 Rev 8
ST72561-Auto                                                          PWM auto-reload timer (ART)

       Each input capture can generate an interrupt independently on a selected input signal

       transition. This event is flagged by a set of the corresponding CFx bits of the Input Capture

       Control/Status register (ARTICCSR).

       These input capture interrupts are enabled through the CIEx bits of the ARTICCSR register.

       The active transition (falling or rising edge) is software programmable through the CSx bits

       of the ARTICCSR register.

       The read only input capture registers (ARTICRx) are used to latch the auto-reload counter

       value when a transition is detected on the ARTICx pin (CFx bit set in ARTICCSR register).

       After fetching the interrupt vector, the CFx flags can be read to identify the interrupt source.

Note:  After a capture detection, data transfer in the ARTICRx register is inhibited until the next

       read (clearing the CFx bit).

       The timer interrupt remains pending while the CFx flag is set when the interrupt is enabled

       (CIEx bit set). This means, the ARTICRx register has to be read at each capture event to

       clear the CFx flag.

       The timing resolution is given by auto-reload counter cycle time (1/fCOUNTER).

Note:  During HALT mode, input capture is inhibited (the ARTICRx is never reloaded) and only the

       external interrupt capability can be used.

       The ARTICx signal is synchronized on CPU clock. It takes two rising edges until ARTICRx is

       latched with the counter value. Depending on the prescaler value and the time when the

       ICAP event occurs, the value loaded in the ARTICRx register may be different.

       If the counter is clocked with the CPU clock, the value latched in ARTICRx is always the next

       counter value after the event on ARTICx occurred (Figure 44).

       If the counter clock is prescaled, it depends on the position of the ARTICx event within the

       counter cycle (Figure 45).

       Figure 44.  Input capture timing diagram, fCOUNTER = fCPU

                   fCPU

                   fCOUNTER

              COUNTER        01h     02h    03h         04h  05h      06h       07h

              ARTICx PIN                                                   INTERRUPT

                                          ICAP SAMPLED

              CFx FLAG

                                     xxh                                   05h

              ICAP SAMPLED

                                                                                              t

                                     Doc ID 12370 Rev 8                                              97/324
PWM     auto-reload timer (ART)                                                                       ST72561-Auto

        Figure 45.    Input       capture  timing  diagram,  fCOUNTER     =  fCPU     /4

                      fCPU

                      fCOUNTER

                      COUNTER     03h                        04h                           05h

                      ARTICx PIN                                                           INTERRUPT

                                           ICAP    SAMPLED

                      CFx FLAG

                                           xxh                                        04h

        ICRx REGISTER

                                                                                                                 t

                      fCPU

                      fCOUNTER

                      COUNTER     03h                        04h                           05h

                      ARTICx PIN                                                                      INTERRUPT

                                                            ICAP SAMPLED

                      CFx FLAG

                                           xxh                                             05h

        ICRx REGISTER

                                                                                                                 t

11.2.9  External interrupt capability

        This mode allows the Input capture capabilities to be used as external interrupt sources.

        The interrupts are generated on the edge of the ARTICx signal.

        The edge sensitivity of the external interrupts is programmable (CSx bit of ARTICCSR

        register) and they are independently enabled through CIEx bits of the ARTICCSR register.

        After fetching the interrupt vector, the CFx flags can be read to identify the interrupt source.

        During HALT mode, the external interrupts can be used to wake up the micro (if the CIEx bit

        is set). In this case, the interrupt synchronization is done directly on the ARTICx pin edge

        (Figure 46).

        Figure 46.    ART external interrupt in halt mode

                                           ARTICx PIN

                                           CFx FLAG

                                                                          INTERRUPT

                                                                                   t

98/324                                     Doc ID 12370 Rev 8
ST72561-Auto                                                       PWM auto-reload timer (ART)

11.3  Register description

      Control/status register (ARTCSR)

      Read / Write

      Reset value: 0000 0000 (00h)

              7                                                                                     0

              EXCL    CC2          CC1            CC0         TCE  FCRL     OIE                     OVF

      Bit 7 = EXCL External Clock

      This bit is set and cleared by software. It selects the input clock for the 7-bit prescaler.

              0: CPU clock.

              1: External clock.

      Bit 6:4 = CC[2:0] Counter Clock Control

      These bits are set and cleared by software. They determine the prescaler division ratio from

      fINPUT.

      Table      43.  Counter     clock  control

                    fCOUNTER                  With  fINPUT=8  MHz  CC2      CC1                     CC0

                      fINPUT                        8 MHz                0  0                           0

                      fINPUT / 2                    4 MHz                0  0                           1

                      fINPUT / 4                    2 MHz                0  1                           0

                      fINPUT / 8                    1 MHz                0  1                           1

                    fINPUT / 16                     500 kHz              1  0                           0

                    fINPUT / 32                     250 kHz              1  0                           1

                    fINPUT / 64                     125 kHz              1  1                           0

                    fINPUT / 128                    62.5 kHz             1  1                           1

      Bit 3 = TCE Timer Counter Enable

      This bit is set and cleared by software. It puts the timer in the lowest power consumption

      mode.

              0: Counter stopped (prescaler and counter frozen).

              1: Counter running.

      Bit 2 = FCRL Force Counter Re-Load

      This bit is write-only and any attempt to read it will yield a logical zero. When set, it causes

      the contents of ARTARR register to be loaded into the counter, and the content of the

      prescaler register to be cleared in order to initialize the timer before starting to count.

      Bit 1 = OIE Overflow Interrupt Enable

      This bit is set and cleared by software. It allows to enable/disable the interrupt which is

      generated when the OVF bit is set.

              0: Overflow Interrupt disable.

              1: Overflow Interrupt enable.

                                         Doc ID 12370 Rev 8                                         99/324
PWM  auto-reload timer (ART)                                                              ST72561-Auto

         Bit 0 = OVF Overflow Flag

         This bit is set by hardware and cleared by software reading the  ARTCSR     register.   It

         indicates the transition of the counter from FFh to the ARTARR   value.

            0: New transition not yet reached

            1: Transition reached

         Counter Access Register (ARTCAR)

         Read / Write

         Reset value: 0000 0000 (00h)

            7                                                                                        0

            CA7               CA6   CA5           CA4        CA3          CA2        CA1             CA0

         Bit 7:0 = CA[7:0] Counter Access Data

         These bits can be set and cleared either by hardware or by     software. The ARTCAR         register

         is used to read or write the auto-reload counter “on the fly”  (while it is counting).

         Auto-Reload Register (ARTARR)

         Read / Write

         Reset value: 0000 0000 (00h)

            7                                                                                        0

            AR7               AR6   AR5           AR4        AR3          AR2        AR1             AR0

         Bit 7:0 = AR[7:0] Counter Auto-Reload Data

         These bits are set and cleared by software. They are used to hold the auto-reload value

         which is automatically loaded in the counter when an overflow occurs. At the same time, the

         PWM output levels are changed according to the corresponding OPx bit in the PWMCR

         register.

         This register has two PWM management functions:

         ●  Adjusting the PWM frequency

         ●  Setting the PWM duty cycle resolution

         Table 44.     PWM frequency vs resolution

                                                                               fPWM

            ARTARR value               Resolution

                                                                  Min                     Max

                    0                    8-bit               ~0.244 kHz              31.25 kHz

                    [0..127]             > 7-bit             ~0.244 kHz                   62.5 kHz

               [128..191]                > 6-bit             ~0.488 kHz                   125 kHz

               [192..223]                > 5-bit             ~0.977 kHz                   250 kHz

               [224..239]                > 4-bit             ~1.953 kHz                   500 kHz

100/324                                  Doc ID 12370 Rev 8
ST72561-Auto                                                           PWM auto-reload timer (ART)

       PWM control register (PWMCR)

       Read / write

       Reset value: 0000 0000 (00h)

              7                                                                                   0

              OE3           OE2       OE1     OE0              OP3     OP2     OP1                OP0

       Bit 7:4 = OE[3:0] PWM Output Enable

       These bits are set and cleared by software. They enable or disable the PWM output

       channels independently acting on the corresponding I/O pin.

              0: PWM output disabled.

              1: PWM output enabled.

       Bit 3:0 = OP[3:0] PWM Output Polarity

       These bits are set and cleared by software. They independently select the polarity of the

       four PWM output signals.

       Table 45.     PWMx output level and polarity

                                       PWMx output level

                                                                                              OPx

                     Counter <= OCRx                           Counter > OCRx

                                 1                                  0                         0

                                 0                                  1                         1

       Note:     When an OPx bit is modified, the PWMx output signal polarity is immediately

                 reversed.

       Duty cycle registers (PWMDCRx)

       Read / write

       Reset value: 0000 0000 (00h)

              7                                                                                   0

              DC7           DC6       DC5     DC4              DC3     DC2     DC1                DC0

       Bit 7:0 = DC[7:0] Duty Cycle Data

       These bits are set and cleared by software.

       A PWMDCRx register is associated with the OCRx register of each PWM channel to

       determine the second edge location of the PWM signal (the first edge location is common to

       all channels and given by the ARTARR register). These PWMDCR registers allow the duty

       cycle to be set independently for each PWM channel.

Input  Capture control / status register (ARTICCSR)

       Read / Write

       Reset value: 0000 0000 (00h)

                                           Doc ID 12370 Rev 8                                     101/324
PWM  auto-reload timer (ART)                                                              ST72561-Auto

         7                                                                                         0

         0          0            CS2                CS1       CIE2       CIE1        CF2           CF1

         Bit 7:6 = Reserved, always read as 0.

         Bit 5:4 = CS[2:1] Capture Sensitivity

         These bits are set and cleared by software. They determine the trigger event polarity     on   the

         corresponding input capture channel.

         0: Falling edge triggers capture on channel x.

         1: Rising edge triggers capture on channel x.

         Bit 3:2 = CIE[2:1] Capture Interrupt Enable

         These bits are set and cleared by software. They enable or disable the Input capture

         channel interrupts independently.

         0: Input capture channel x interrupt disabled.

         1: Input capture channel x interrupt enabled.

         Bit 1:0 = CF[2:1] Capture Flag

         These bits are set by hardware and cleared by software reading the corresponding

         ARTICRx register. Each CFx bit indicates that an input capture x has occurred.

         0: No input capture on channel x.

         1: An input capture has occurred on channel x.

         Input Capture Registers (ARTICRx)

         Read only

         Reset value: 0000 0000 (00h)

         7                                                                                         0

         IC7        IC6          IC5                IC4       IC3            IC2     IC1           IC0

         Bit 7:0 = IC[7:0] Input Capture Data

         These read only bits are set and cleared by hardware. An ARTICRx register contains the 8-

         bit auto-reload counter value transferred by the input capture channel x event.

         Table 46.  PWM auto-reload         timer register    map and reset  values

         Address    Register label              7        6    5     4             3  2          1       0

         (Hex.)

         0031h      PWMDCR3                    DC7       DC6  DC5   DC4      DC3     DC2   DC1     DC0

                    Reset value                 0        0    0     0             0  0          0       0

         0032h      PWMDCR2                    DC7       DC6  DC5   DC4      DC3     DC2   DC1     DC0

                    Reset value                 0        0    0     0             0  0          0       0

         0033h      PWMDCR1                    DC7       DC6  DC5   DC4      DC3     DC2   DC1     DC0

                    Reset value                 0        0    0     0             0  0          0       0

         0034h      PWMDCR0                    DC7       DC6  DC5   DC4      DC3     DC2   DC1     DC0

                    Reset value                 0        0    0     0             0  0          0       0

102/324                                  Doc ID 12370 Rev 8
ST72561-Auto                                                         PWM auto-reload timer  (ART)

Table 46.              PWM auto-reload  timer register  map and reset  values  (continued)

              Address  Register label   7     6            5    4      3       2     1      0

              (Hex.)

0035h                  PWMCR            OE3   OE2          OE1  OE0    OP3     OP2   OP1    OP0

                       Reset value      0     0            0    0      0       0     0      0

0036h                  ARTCSR           EXCL  CC2          CC1  CC0    TCE     FCRL  RIE    OVF

                       Reset value      0     0            0    0      0       0     0      0

0037h                  ARTCAR           CA7   CA6          CA5  CA4    CA3     CA2   CA1    CA0

                       Reset value      0     0            0    0      0       0     0      0

0038h                  ARTARR           AR7   AR6          AR5  AR4    AR3     AR2   AR1    AR0

                       Reset value      0     0            0    0      0       0     0      0

0039h                  ARTICCSR                            CE2  CE1    CS2     CS1   CF2    CF1

                       Reset value      0     0            0    0      0       0     0      0

003Ah                  ARTICR1          IC7   IC6          IC5  IC4    IC3     IC2   IC1    IC0

                       Reset value      0     0            0    0      0       0     0      0

003Bh                  ARTICR2          IC7   IC6          IC5  IC4    IC3     IC2   IC1    IC0

                       Reset value      0     0            0    0      0       0     0      0

                                       Doc ID 12370 Rev 8                                   103/324
16-bit timer                                                                                       ST72561-Auto

12            16-bit timer

12.1          Introduction

              The timer consists of a 16-bit free-running counter driven by a programmable prescaler.

              It may be used for a variety of purposes, including pulse length measurement of up to two

              input signals (input capture) or generation of up to two output waveforms (output compare

              and PWM).

              Pulse lengths and waveform periods can be modulated from a few microseconds to several

              milliseconds using the timer prescaler and the CPU clock prescaler.

              Some ST7 devices have two on-chip 16-bit timers. They are completely independent, and

              do not share any resources. They are synchronized after a MCU reset as long as the timer

              clock frequencies are not modified.

              This description covers one or two 16-bit timers. In ST7 devices with two timers, register

              names are prefixed with TA (Timer A) or TB (Timer B).

12.2          Main features

              ●    Programmable prescaler: fCPU divided by 2, 4 or 8

              ●    Overflow status flag and maskable interrupt

              ●    External clock input (must be at least four times slower than the CPU           clock speed)       with

                   the choice of active edge

              ●    1 or 2 Output Compare functions each with:

                   –  2 dedicated 16-bit registers

                   –  2 dedicated programmable signals

                   –  2 dedicated status flags

                   –  1 dedicated maskable interrupt

              ●    1 or 2 Input Capture functions each with:

                   –  2 dedicated 16-bit registers

                   –  2 dedicated active edge selection signals

                   –  2 dedicated status flags

                   –  1 dedicated maskable interrupt

              ●    Pulse width modulation mode (PWM)

              ●    One Pulse mode

              ●    Reduced Power Mode

              ●    5 alternate functions on I/O ports (ICAP1, ICAP2, OCMP1, OCMP2,                 EXTCLK)(a)

              The  Block Diagram is shown in Figure 47.

              a.  Some timer pins may not be available (not bonded) in some ST7 devices. Refer to the device pin out

                  description.

                  When reading an input signal on a non-bonded pin, the value will always be ‘1’.

104/324                                       Doc ID 12370 Rev 8
ST72561-Auto                                                                                  16-bit timer

12.3    Functional description

12.3.1  Counter

        The main block of the Programmable Timer is a 16-bit free running upcounter and its

        associated 16-bit registers. The 16-bit registers are made up of two 8-bit registers called

        high and low.

        Counter Register (CR):

        ●     Counter High Register (CHR) is the most significant byte (MS Byte).

        ●     Counter Low Register (CLR) is the least significant byte (LS Byte).

        Alternate Counter Register (ACR)

        ●     Alternate Counter High Register (ACHR) is the most significant byte (MS Byte).

        ●     Alternate Counter Low Register (ACLR) is the least significant byte (LS Byte).

        These two read-only 16-bit registers contain the same value but with the difference that

        reading the ACLR register does not clear the TOF bit (Timer overflow flag), located in the

        Status register, (SR), (see note at the end of paragraph titled 16-bit read sequence).

        Writing in the CLR register or ACLR register resets the free running counter to the FFFCh

        value.

        Both counters have a reset value of FFFCh (this is the only value which is reloaded in the

        16-bit timer). The reset value of both counters is also FFFCh in One Pulse mode and PWM

        mode.

        The timer clock depends on the clock control bits of the CR2 register, as illustrated in

        Table 50. The value in the counter register repeats every 131072, 262144 or 524288 CPU

        clock cycles depending on the CC[1:0] bits.

        The timer frequency can be fCPU/2, fCPU/4, fCPU/8 or an external frequency.

                                Doc ID 12370 Rev 8                                                   105/324
16-bit timer                                                                                                                                         ST72561-Auto

              Figure 47.  Timer block diagram

                                                                             ST7 INTERNAL BUS

                          fCPU

                                                                 MCU-PERIPHERAL INTERFACE

                                     8 high          8 low

                                               8-bit                   8          8            8       8          8          8            8          8

                                               buffer            high                    high               high                    high

                                EXEDG                                        low                  low                   low                     low

                                                     16

                                1/2          COUNTER             OUTPUT                  OUTPUT             INPUT                   INPUT

                                1/4                              COMPARE                 COMPARE            CAPTURE                 CAPTURE

                                             REGISTER            REGISTER                REGISTER           REGISTER                REGISTER

                                1/8                                       1                       2                  1                       2

              EXTCLK                         ALTERNATE

              pin                            COUNTER                                                                                            16

                                             REGISTER                                                                           16

                                                       16

                          CC[1:0]

                                                                    TIMER INTERNAL BUS

                                                                             16      16

                                     OVERFLOW        OUTPUT COMPARE                                         EDGE DETECT

                                     DETECT                                                                                                             ICAP1

                                     CIRCUIT                  CIRCUIT                                             CIRCUIT1                              pin

                                                                          6                                 EDGE DETECT                                 ICAP2

                                                                                                                  CIRCUIT2                              pin

                                                                                                                             LATCH1                     OCMP1

                                                                                                                                                        pin

                          ICF1 OCF1 TOF      ICF2 OCF2 TIMD   0  0

                                             (Control/Status  Register)                                                      LATCH2                     OCMP2

                                                                 CSR                                                                                    pin

                          ICIE OCIE TOIE FOLV2 FOLV1OLVL2 IEDG1 OLVL1                OC1E OC2E         OPM  PWM         CC1         CC0   IEDG2 EXEDG

                                              (Control Register 1) CR1                                                  (Control Register 2) CR2

                                (See note)

                      TIMER INTERRUPT                                  Note: If IC, OC and TO interrupt requests have separate vectors

                                                                       then the last OR is not present (See device Interrupt Vector Table)

              Figure 48.  16-bit     read    sequence: (from counter or alternate                                            counter            register)

                                              Beginning of the sequence

                                                              Read                             LS Byte

                                              At t0           MS Byte                          is buffered

                                                                 Other

                                                              instructions

                                                              Read                       Returns the buffered

                                              At t0 +Δt       LS Byte                    LS Byte value at t0

                                              Sequence completed

106/324                                              Doc ID 12370 Rev 8
ST72561-Auto                                                                            16-bit timer

        The user must read the MS Byte first, then the LS Byte value is buffered automatically.

        This buffered value remains unchanged until the 16-bit read sequence is completed, even if

        the user reads the MS Byte several times.

        After a complete reading sequence, if only the CLR register or ACLR register are read, they

        return the LS Byte of the count value at the time of the read.

        Whatever the timer mode used (input capture, output compare, One Pulse mode or PWM

        mode) an overflow occurs when the counter rolls over from FFFFh to 0000h then:

        ●     The TOF bit of the SR register is set.

        ●     A timer interrupt is generated if:

              –  TOIE bit of the CR1 register is set and

              –  I bit of the CC register is cleared.

        If one of these conditions is false, the interrupt remains pending to be issued as soon as

        they are both true.

        Clearing the overflow interrupt request is done in two steps:

        1.    Reading the SR register while the TOF bit is set.

        2.    An access (read or write) to the CLR register.

Note:   The TOF bit is not cleared by accesses to ACLR register. The advantage of accessing the

        ACLR register rather than the CLR register is that it allows simultaneous use of the overflow

        function and reading the free running counter at random times (for example, to measure

        elapsed time) without the risk of clearing the TOF bit erroneously.

        The timer is not affected by WAIT mode.

        In HALT mode, the counter stops counting until the mode is exited. Counting then resumes

        from the previous count (MCU awakened by an interrupt) or from the reset count (MCU

        awakened by a Reset).

12.3.2  External clock

        The external clock (where available) is selected if CC0 = 1 and CC1 = 1 in the CR2 register.

        The status of the EXEDG bit in the CR2 register determines the type of level transition on

        the external clock pin EXTCLK that will trigger the free running counter.

        The counter is synchronized with the falling edge of the internal CPU clock.

        A minimum of four falling edges of the CPU clock must occur between two consecutive

        active edges of the external clock; thus the external clock frequency must be less than a

        quarter of the CPU clock frequency.

                               Doc ID 12370 Rev 8                                                   107/324
16-bit timer                                                                                             ST72561-Auto

              Figure  49.  Counter timing diagram,          internal clock divided by     2

                                 CPU CLOCK

                                 INTERNAL RESET

                                 TIMER CLOCK

                                 COUNTER REGISTER           FFFD  FFFE  FFFF  0000  0001  0002     0003

                          TIMER  OVERFLOW FLAG (TOF)

              Figure  50.  Counter timing diagram,          internal clock divided by     4

                                 CPU CLOCK

                                 INTERNAL RESET

                                 TIMER CLOCK

                                 COUNTER REGISTER     FFFC  FFFD              0000           0001

                        TIMER OVERFLOW FLAG (TOF)

              Figure 51.   Counter timing diagram, internal clock divided by 8

                                 CPU CLOCK

                                 INTERNAL RESET

                                 TIMER CLOCK

                                 COUNTER REGISTER           FFFC        FFFD                             0000

                        TIMER OVERFLOW FLAG (TOF)

Note:         The MCU is in reset state when the internal reset signal is high, when it is low the MCU is

              running.

12.3.3        Input capture

              In this section, the index, i, may be 1 or 2 because there are two input capture functions in

              the 16-bit timer.

              The two 16-bit input capture registers (IC1R and IC2R) are used to latch the value of the

              free running counter after a transition is detected on the ICAPi pin (see Figure 5).

                                 MS Byte                                                     LS Byte

              ICiR               ICiHR                                                       ICiLR

              ICiR register is a read-only register.

108/324                          Doc ID 12370 Rev 8
ST72561-Auto                                                                                     16-bit timer

           The active transition is software programmable through the IEDGi bit in the control register

           (CRi).

           Timing resolution is one count of the free running counter: (fCPU/CC[1:0]).

12.3.4     Procedure

           To use the input capture function select the following in the CR2 register:

           ●   Select the timer clock (CC[1:0]) (see Table 50).

           ●   Select the edge of the active transition on the ICAP2 pin with the IEDG2 bit (the ICAP2

               pin must be configured as floating input or input with pull-up without interrupt if this

               configuration is available).

           And select the following in the CR1 register:

           ●   Set the ICIE bit to generate an interrupt after an input capture coming from either the

               ICAP1 pin or the ICAP2 pin

           ●   Select the edge of the active transition on the ICAP1 pin with the IEDG1 bit (the

               ICAP1pin must be configured as floating input or input with pull-up without interrupt if

               this configuration is available).

           When an input capture occurs:

           ●   ICFi bit is set.

           ●   The ICiR register contains the value of the free running counter on the active transition

               on the ICAPi pin (see Figure 53).

           ●   A timer interrupt is generated if the ICIE bit is set and the I bit is cleared in the CC

               register. Otherwise, the interrupt remains pending until both conditions become true.

           Clearing the Input Capture interrupt request (that is, clearing the ICFi bit) is done in two

           steps:

           1.  Reading the SR register while the ICFi bit is set.

           2.  An access (read or write) to the ICiLR register.

Note:   1  After reading the ICiHR register, transfer of input capture data is inhibited and ICFi will never

           be set until the ICiLR register is also read.

        2  The ICiR register contains the free running counter value which corresponds to the most

           recent input capture.

        3  The two input capture functions can be used together even if the timer also uses the two

           output compare functions.

        4  In One Pulse mode and PWM mode only Input Capture 2 can be used.

        5  The alternate inputs (ICAP1 and ICAP2) are always directly connected to the timer. So any

           transitions on these pins activates the input capture function.

           Moreover if one of the ICAPi pins is configured as an input and the second one as an output,

           an interrupt can be generated if the user toggles the output pin and if the ICIE bit is set.

           This can be avoided if the input capture function i is disabled by reading the ICiHR

           (see note 1).

        6  The TOF bit can be used with interrupt generation in order to measure events that go

           beyond the timer range (FFFFh).

                                             Doc ID 12370 Rev 8                                          109/324
16-bit timer                                                                                      ST72561-Auto

              Figure 52.    Input capture block diagram

                 ICAP1                                                                 (Control Register 1) CR1

                 pin

                                 EDGE DETECT    EDGE DETECT                ICIE                   IEDG1

                 ICAP2           CIRCUIT2             CIRCUIT1

                 pin                                                                   (Status Register) SR

                                 IC2R Register        IC1R Register        ICF1  ICF2       0     0      0

                                 16-BIT                                                (Control Register 2) CR2

                                 16-BIT     FREE RUNNING                               CC1  CC0   IEDG2

                                            COUNTER

              Figure 53.    Input capture timing diagram

                            TIMER CLOCK

                 COUNTER REGISTER               FF01                 FF02        FF03

                                 ICAPi PIN

                            ICAPi FLAG

                          ICAPi REGISTER                                                    FF03

                          Note: The rising edge is the active edge.

12.3.5        Output compare

              In this section, the index, i, may be 1 or 2 because there are two output compare functions in

              the 16-bit timer.

              This function can be used to control an output waveform or indicate when a period of time

              has elapsed.

              When a match is found between the Output Compare register and the free running counter,

              the output compare function:

              ●  Assigns pins with a programmable value if the OCiE bit is set

              ●  Sets a flag in the status register

              ●  Generates an interrupt if enabled

              Two 16-bit registers Output Compare Register 1 (OC1R) and Output Compare Register 2

              (OC2R) contain the value to be compared to the counter register each timer clock cycle.

                                                MS Byte                                LS Byte

                 OCiR                           OCiHR                                  OCiLR

110/324                                         Doc ID 12370 Rev 8
ST72561-Auto                                                                               16-bit timer

        These registers are readable and writable and are not affected by the timer hardware. A

        reset event changes the OCiR value to 8000h.

        Timing resolution is one count of the free running counter: (fCPU/CC[1:0]).

12.3.6  Procedure

        To use the output compare function, select the following in the CR2 register:

        ●     Set the OCiE bit if an output is needed then the OCMPi pin is dedicated to the output

              compare i signal.

        ●     Select the timer clock (CC[1:0]) (see Table 50).

        And select the following in the CR1 register:

        ●     Select the OLVLi bit to applied to the OCMPi pins after the match occurs.

        ●     Set the OCIE bit to generate an interrupt if it is needed.

        When a match is found between OCRi register and CR register:

        ●     OCFi bit is set.

        ●     The OCMPi pin takes OLVLi bit value (OCMPi pin latch is forced low during reset).

        ●     A timer interrupt is generated if the OCIE bit is set in the CR1 register and the I bit is

              cleared in the CC register (CC).

        The OCiR register value required for a specific timing application can be calculated using

        the following formula:

                                                Δ OCiR =  Δt * fCPU

                                                          PRESC

        Where:

        Δt = Output compare period (in seconds)

        fCPU = CPU clock frequency (in hertz)

        PRESC= Timer prescaler factor (2, 4 or 8 depending on CC[1:0] bits, see Table 50)

        If the timer clock is an external clock, the formula is:

                                                Δ OCiR = Δt * fEXT

        Where:

        Δt    =  output compare period (in seconds)

        fEXT = external timer clock frequency (in hertz)

        Clearing the output compare interrupt request (that is, clearing the OCFi bit) is done by:

        ●     Reading the SR register while the OCFi bit is set.

        ●     An access (read or write) to the OCiLR register.

                                 Doc ID 12370 Rev 8                                                 111/324
16-bit timer                                                                                        ST72561-Auto

              The following procedure is recommended to prevent the OCFi bit from being set between

              the time it is read and the write to the OCiR register:

              ●  Write to the OCiHR register (further compares are inhibited).

              ●  Read the SR register (first step of the clearance of the OCFi bit, which may be already

                 set).

              ●  Write to the OCiLR register (enables the output compare function and clears the OCFi

                 bit).

Note:    1    After a processor write cycle to the OCiHR register, the output compare function is inhibited

              until the OCiLR register is also written.

         2    If the OCiE bit is not set, the OCMPi pin is a general I/O port and the OLVLi bit will not

              appear when a match is found but an interrupt could be generated if the OCIE bit is set.

         3    When the timer clock is fCPU/2, OCFi and OCMPi are set while the counter value equals the

              OCiR register value (see Figure 55). This behavior is the same in OPM or PWM mode.

              When the timer clock is fCPU/4, fCPU/8 or in external clock mode, OCFi and OCMPi are set

              while the counter value equals the OCiR register value (see Figure 56).

         4    The output compare functions can be used both for generating external events on the

              OCMPi pins even if the input capture mode is also used.

         5    The value in the 16-bit OCiR register and the OLVi bit should be changed after each

              successful comparison in order to control an output waveform or establish a new elapsed

              timeout.

12.3.7        Forced compare output capability

              When the FOLVi bit is set by software, the OLVLi bit is copied to the OCMPi pin. The OLVi bit

              has to be toggled in order to toggle the OCMPi pin when it is enabled (OCiE bit = 1). The

              OCFi bit is then not set by hardware, and thus no interrupt request is generated.

              The FOLVLi bits have no effect in both One Pulse mode and PWM mode.

              Figure 54.  Output compare block diagram

                 16 BIT          FREE RUNNING  OC1E OC2E               CC1   CC0

                                 COUNTER

                         16-bit                                    (Control Register 2) CR2

                                                                   (Control Register 1) CR1

                 OUTPUT COMPARE                OCIE            FOLV2 FOLV1 OLVL2     OLVL1   Latch

                          CIRCUIT                                                            1      OCMP1

                                                                                                          Pin

                 16-bit          16-bit                                                      Latch

                                                                                             2      OCMP2

                 OC1R Register                                                                            Pin

                                                         OCF1          OCF2  0    0  0

                          OC2R Register

                                                                       (Status Register) SR

112/324                                        Doc ID 12370 Rev 8
ST72561-Auto                                                                                 16-bit timer

        Figure 55.  Output compare timing diagram, fTIMER =          fCPU/2

                                   INTERNAL CPU CLOCK

                                   TIMER CLOCK

                                   COUNTER REGISTER       2ECF 2ED0  2ED1  2ED2  2ED3  2ED4

                    OUTPUT COMPARE REGISTER i (OCRi)                 2ED3

                         OUTPUT COMPARE FLAG i (OCFi)

                                   OCMPi PIN (OLVLi = 1)

        Figure 56.  Output compare timing diagram, fTIMER =          fCPU/4

                                   INTERNAL CPU CLOCK

                                   TIMER CLOCK

                                   COUNTER REGISTER       2ECF 2ED0  2ED1  2ED2  2ED3  2ED4

                    OUTPUT COMPARE REGISTER i (OCRi)                       2ED3

                         COMPARE REGISTER i LATCH

                         OUTPUT COMPARE FLAG i (OCFi)

                                   OCMPi PIN (OLVLi = 1)

12.3.8  One pulse mode

        One Pulse mode enables the generation of a pulse when an external event occurs. This

        mode is selected via the OPM bit in the CR2 register.

        The One Pulse mode uses the Input Capture1 function and the Output Compare1 function.

        Procedure

        To    use One Pulse mode:

        1.    Load the OC1R register with the value corresponding to the length of the pulse (see the

              formula in the opposite column).

        2.    Select the following in the CR1 register:

              –  Using the OLVL1 bit, select the level to be applied to the OCMP1 pin after the

                 pulse.

              –  Using the OLVL2 bit, select the level to be applied to the OCMP1 pin during the

                 pulse.

              –  Select the edge of the active transition on the ICAP1 pin with the IEDG1 bit (the

                 ICAP1 pin must be configured as floating input).

                                   Doc ID 12370 Rev 8                                            113/324
16-bit timer                                                                         ST72561-Auto

              3.    Select the following in the CR2 register:

                    –     Set the OC1E bit, the OCMP1 pin is then dedicated to the Output Compare 1

                          function.

                    –     Set the OPM bit.

                    –     Select the timer clock CC[1:0] (see Table 50).

                                                               One Pulse mode cycle

                                            When                ICR1 = Counter

                                            event occurs        OCMP1 = OLVL2

                                            on ICAP1            Counter is reset

                                                                       to FFFCh

                                                                ICF1 bit is set

                                            When

                                            Counter             OCMP1 = OLVL1

                                            = OC1R

              Then, on a valid event on the ICAP1 pin, the counter is initialized to FFFCh and OLVL2 bit is

              loaded on the OCMP1 pin, the ICF1 bit is set and the value FFFDh is loaded in the IC1R

              register.

              Because the ICF1 bit is set when an active edge occurs, an interrupt can be generated if the

              ICIE bit is set.

              Clearing the Input Capture interrupt request (that is, clearing the ICFi bit) is done in two

              steps:

              1.    Reading the SR register while the ICFi bit is set.

              2.    An access (read or write) to the ICiLR register.

              The OC1R register value required for a specific timing application can be calculated using

              the following formula:

                                            OCiR Value =        t * fCPU   -5

                                                                PRESC

              Where:

              t                 = Pulse period (in seconds)

              fCPU     =        CPU clock frequency (in hertz)

              PRESC =           Timer prescaler factor (2, 4 or 8 depending on the CC[1:0] bits, see Table 50)

              If the timer clock is an external clock the formula is:

                                            OCiR = t * fEXT -5

              Where:

              t        =        Pulse period (in seconds)

              fEXT     =        External timer clock frequency (in hertz)

              When the value of the counter is equal to the value of the contents of the OC1R register, the

              OLVL1 bit is output on the OCMP1 pin, (See Figure 57).

114/324                                     Doc ID 12370 Rev 8
ST72561-Auto                                                                                               16-bit timer

Note:   1  The OCF1 bit cannot be set by hardware in One Pulse mode but the OCF2 bit can generate

           an Output Compare interrupt.

        2  When the Pulse Width Modulation (PWM) and One Pulse mode (OPM) bits are both set, the

           PWM mode is the only active one.

        3  If OLVL1 = OLVL2 a continuous signal will be seen on the OCMP1 pin.

        4  The ICAP1 pin can not be used to perform input capture. The ICAP2 pin can be used to

           perform input capture (ICF2 can be set and IC2R can be loaded) but the user must take

           care that the counter is reset each time a valid edge occurs on the ICAP1 pin and ICF1 can

           also generates interrupt if ICIE is set.

        5  When One Pulse mode is used OC1R is dedicated to this mode. Nevertheless OC2R and

           OCF2 can be used to indicate a period of time has been elapsed but cannot generate an

           output waveform because the level OLVL2 is dedicated to the One Pulse mode.

           Figure 57.  One pulse mode timing example

                       IC1R                                           01F8                           2ED3

                       COUNTER        01F8  FFFC     FFFD  FFFE             2ED0  2ED1   2ED2        FFFC  FFFD

                                                                                         2ED3

                       ICAP1

                       OCMP1                               OLVL2                      OLVL1          OLVL2

                                                                            compare1

              Note:    IEDG1 = 1, OC1R = 2ED0h, OLVL1 = 0, OLVL2 = 1

           Figure 58.  Pulse width modulation mode timing example with 2 output compare

                       functions

                       COUNTER  34E2  FFFC  FFFD  FFFE                2ED0  2ED1 2ED2          34E2  FFFC

                       OCMP1                         OLVL2                        OLVL1        OLVL2

                                compare2                             compare1            compare2

              Note: OC1R = 2ED0h, OC2R = 34E2, OLVL1 = 0, OLVL2 = 1

Note:      On timers with only one Output Compare register, a fixed frequency PWM signal can be

           generated using the output compare and the counter overflow to define the pulse length.

12.3.9     Pulse width modulation mode

           Pulse Width Modulation (PWM) mode enables the generation of a signal with a frequency

           and pulse length determined by the value of the OC1R and OC2R registers.

           Pulse Width Modulation mode uses the complete Output Compare 1 function plus the

           OC2R register, and so this functionality can not be used when PWM mode is activated.

           In PWM mode, double buffering is implemented on the output compare registers. Any new

           values written in the OC1R and OC2R registers are taken into account only at the end of the

           PWM period (OC2) to avoid spikes on the PWM output pin (OCMP1).

                                            Doc ID 12370 Rev 8                                                   115/324
16-bit timer                                                                             ST72561-Auto

              Procedure

              To  use Pulse Width Modulation mode:

              1.    Load the OC2R register with the value corresponding to the period of the signal using

                    the formula in the opposite column.

              2.    Load the OC1R register with the value corresponding to the period of the pulse if

                    (OLVL1 = 0 and OLVL2 = 1) using the formula in the opposite column.

              3.    Select the following in the CR1 register:

                    –     Using the OLVL1 bit, select the level to be applied to the OCMP1 pin after a

                          successful comparison with the OC1R register.

                    –     Using the OLVL2 bit, select the level to be applied to the OCMP1 pin after a

                          successful comparison with the OC2R register.

              4.    Select the following in the CR2 register:

                    –     Set OC1E bit: the OCMP1 pin is then dedicated to the output compare 1 function.

                    –     Set the PWM bit.

                    –     Select the timer clock (CC[1:0]) (see Table 50).

                                                         Pulse Width Modulation cycle

                                            When

                                            Counter            OCMP1 = OLVL1

                                            = OC1R

                                            When               OCMP1 = OLVL2

                                            Counter            Counter is reset

                                            = OC2R                     to FFFCh

                                                               ICF1 bit is set

              If OLVL1 = 1 and OLVL2 = 0 the length of the positive pulse is the difference between the

              OC2R and OC1R registers.

              If OLVL1 = OLVL2 a continuous signal will be seen on the OCMP1 pin.

              The OCiR register value required for a specific timing application can be calculated using

              the following formula:

                                            OCiR Value =       t * fCPU     -5

                                                               PRESC

              Where:

              t           = Signal or pulse period (in seconds)

              fCPU     =  CPU clock frequency (in hertz)

              PRESC =     Timer prescaler factor (2, 4 or 8 depending on CC[1:0] bits, see Table 50)

              If the timer clock is an external clock the formula is:

                                                    OCiR = t * fEXT -5

              Where:

              t        =  Signal or pulse period (in seconds)

116/324                                     Doc ID 12370 Rev 8
ST72561-Auto                                                                                 16-bit timer

          fEXT      =  External timer clock frequency (in hertz)

          The Output Compare 2 event causes the counter to be initialized to FFFCh (See Figure 58)

Note:  1  After a write instruction to the OCiHR register, the output compare function is inhibited until

          the OCiLR register is also written.

       2  The OCF1 and OCF2 bits cannot be set by hardware in PWM mode therefore the Output

          Compare interrupt is inhibited.

       3  The ICF1 bit is set by hardware when the counter reaches the OC2R value and can produce

          a timer interrupt if the ICIE bit is set and the I bit is cleared.

       4  In PWM mode the ICAP1 pin can not be used to perform input capture because it is

          disconnected to the timer. The ICAP2 pin can be used to perform input capture (ICF2 can be

          set and IC2R can be loaded) but the user must take care that the counter is reset each

          period and ICF1 can also generates interrupt if ICIE is set.

       5  When the Pulse Width Modulation (PWM) and One Pulse mode (OPM) bits are both set, the

          PWM mode is the only active one.

12.4      Low power modes

          Table 47.    Effect of low power modes on 16-bit timer

              Mode                                               Description

          WAIT         No effect on 16-bit Timer.

                       Timer interrupts cause the device to exit from WAIT mode.

                       16-bit Timer registers are frozen.

                       In HALT mode, the counter stops counting until Halt mode is exited. Counting resumes

                       from the previous count when the MCU is woken up by an interrupt with “exit from HALT

          HALT         mode” capability or from the counter reset value when the MCU is woken up by a RESET.

                       If an input capture event occurs on the ICAPi pin, the input capture detection circuitry is

                       armed. Consequently, when the MCU is woken up by an interrupt with “exit from HALT

                       mode” capability, the ICFi bit is set, and the counter value present when exiting from HALT

                       mode is captured into the ICiR register.

12.5      Interrupts

          Table 48.    Timer interrupt control and wake-up        capability

                                                                  Event             Enable   Exit                   Exit

                                Interrupt event                               flag  control  from                   from

                                                                                    bit      wait                   halt

          Input Capture 1 event/Counter reset in PWM mode                     ICF1

                                                                                    ICIE

          Input Capture 2 event                                               ICF2

          Output Compare 1 event (not available in PWM mode)      OCF1                       Yes                    No

                                                                                    OCIE

          Output Compare 2 event (not available in PWM mode)      OCF2

          Timer Overflow event                                                TOF   TOIE

                                           Doc ID 12370 Rev 8                                                       117/324
16-bit timer                                                                                         ST72561-Auto

Note:         The 16-bit Timer interrupt events are connected to the same interrupt vector (see Interrupts

              chapter). These events generate an interrupt if the corresponding Enable Control Bit is set

              and the interrupt mask in the CC register is reset (RIM instruction).

12.6