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

产品描述

搜索
 

ST72324BLJ2

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

器件描述

8-BIT, FLASH, 8 MHz, MICROCONTROLLER, PQFP32

参数
ST72324BLJ2功能数量 1
ST72324BLJ2端子数量 32
ST72324BLJ2最大工作温度 85 Cel
ST72324BLJ2最小工作温度 -40 Cel
ST72324BLJ2最大供电/工作电压 3.6 V
ST72324BLJ2最小供电/工作电压 2.85 V
ST72324BLJ2额定供电电压 3 V
ST72324BLJ2外部数据总线宽度 0.0
ST72324BLJ2输入输出总线数量 24
ST72324BLJ2线速度 8 MHz
ST72324BLJ2加工封装描述 7 × 7 MM, TQFP-32
ST72324BLJ2无铅 Yes
ST72324BLJ2欧盟RoHS规范 Yes
ST72324BLJ2状态 ACTIVE
ST72324BLJ2工艺 CMOS
ST72324BLJ2包装形状 SQUARE
ST72324BLJ2包装尺寸 FLATPACK, 低 PROFILE
ST72324BLJ2表面贴装 Yes
ST72324BLJ2端子形式 GULL WING
ST72324BLJ2端子间距 0.8000 mm
ST72324BLJ2端子涂层
ST72324BLJ2端子位置
ST72324BLJ2包装材料 塑料/环氧树脂
ST72324BLJ2温度等级 INDUSTRIAL
ST72324BLJ2ADC通道 Yes
ST72324BLJ2地址总线宽度 0.0
ST72324BLJ2位数 8
ST72324BLJ2最大FCLK时钟频率 16 MHz
ST72324BLJ2微处理器类型 单片机
ST72324BLJ2PWM通道 Yes
ST72324BLJ2ROM编程 FLASH

文档预览

ST72324BLJ2器件文档内容

                                       ST72F324L, ST72324BL

              3V RANGE 8-BIT MCU WITH 8 TO 32K FLASH/ROM,
                        10-BIT ADC, 4 TIMERS, SPI, SCI INTERFACE

Memories                                               TQFP44                           TQFP32
                                                        10 x 10                            7x7
    8 to 32K dual voltage High Density Flash (HD-
     Flash) or ROM with read-out protection capa-                                                              SDIP32
     bility. In-Application Programming and In-                                                                400 mil
     Circuit Programming for HDFlash devices
                                                         2 Communication Interfaces
    384 to 1K bytes RAM                                    SPI synchronous serial interface
    HDFlash endurance: 100 cycles, data reten-             SCI asynchronous serial interface

     tion: 20 years at 55C                              1 Analog Peripheral
Clock, Reset And Supply Management                         10-bit ADC with up to 12 input ports

    Clock sources: crystal/ceramic resonator os-        Instruction Set
     cillators, internal RC oscillator, and bypass for      8-bit Data Manipulation
     external clock                                        63 Basic Instructions
                                                            17 main Addressing Modes
    PLL for 2x frequency multiplication                   8 x 8 Unsigned Multiply Instruction
    Four Power Saving Modes: Halt, Active-Halt,
                                                         Development Tools
     Wait and Slow                                          Full hardware/software development package
Interrupt Management                                       In-Circuit Testing capability

    Nested interrupt controller
    10 interrupt vectors plus TRAP and RESET
    9/6 external interrupt lines (on 4 vectors)
Up to 32 I/O Ports

    32/24 multifunctional bidirectional I/O lines
    22/17 alternate function lines
    12/10 high sink outputs
4 Timers

    Main Clock Controller with: Real time base,
     Beep and Clock-out capabilities

    Configurable watchdog timer
    16-bit Timer A with: 1 input capture, 1 output

     compare, external clock input, PWM and
     pulse generator modes
    16-bit Timer B with: 2 input captures, 2 output
     compares, PWM and pulse generator modes

Device Summary

      Features       ST72F324L(J/K)6  ST72F324L(J/K)4 ST72F324L(J/K)2 ST72324BL(J/K)4    ST72324BL(J/K)2
Program memory -           Flash 32K                                                            ROM 8K
bytes                     1024 (256)  Flash 16K         Flash 8K              ROM 16K          384 (256)
RAM (stack) - bytes
Voltage Range                         512 (256)         384 (256)             512 (256)
Temp. Range
Packages                                                2.85 to 3.6V

                                                        up to -40C to +85C

                                      TQFP44 10x10, SDIP32, TQFP32 7x7

January 2005                                                                                Rev. 3

                                                                                              1/151

                                                                                         1
                               Table of Contents

1 INTRODUCTION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2 PIN DESCRIPTION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
3 REGISTER & MEMORY MAP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
4 FLASH PROGRAM MEMORY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

    4.1 INTRODUCTION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
    4.2 MAIN FEATURES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
    4.3 STRUCTURE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

          4.3.1 Read-out Protection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
    4.4 ICC INTERFACE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
    4.5 ICP (IN-CIRCUIT PROGRAMMING) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
    4.6 IAP (IN-APPLICATION PROGRAMMING) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
    4.7 RELATED DOCUMENTATION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

          4.7.1 Register Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
5 CENTRAL PROCESSING UNIT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

    5.1 INTRODUCTION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
    5.2 MAIN FEATURES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
    5.3 CPU REGISTERS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
6 SUPPLY, RESET AND CLOCK MANAGEMENT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
    6.1 PHASE LOCKED LOOP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
    6.2 MULTI-OSCILLATOR (MO) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
    6.3 RESET SEQUENCE MANAGER (RSM) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

          6.3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
          6.3.2 Asynchronous External RESET pin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
          6.3.3 External Power-On RESET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
          6.3.4 Internal Watchdog RESET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
7 INTERRUPTS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
    7.1 INTRODUCTION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
    7.2 MASKING AND PROCESSING FLOW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
    7.3 INTERRUPTS AND LOW POWER MODES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
    7.4 CONCURRENT & NESTED MANAGEMENT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
    7.5 INTERRUPT REGISTER DESCRIPTION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
    7.6 EXTERNAL INTERRUPTS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
          7.6.1 I/O Port Interrupt Sensitivity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
    7.7 EXTERNAL INTERRUPT CONTROL REGISTER (EICR) . . . . . . . . . . . . . . . . . . . . . . . 32
8 POWER SAVING MODES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
    8.1 INTRODUCTION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
    8.2 SLOW MODE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
    8.3 WAIT MODE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
    8.4 ACTIVE-HALT AND HALT MODES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
          8.4.1 ACTIVE-HALT MODE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
          8.4.2 HALT MODE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
9 I/O PORTS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1. 5. 1. . 39
    9.1 INTRODUCTION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

2/151

        2
                               Table of Contents

    9.2 FUNCTIONAL DESCRIPTION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
          9.2.1 Input Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
          9.2.2 Output Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
          9.2.3 Alternate Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

    9.3 I/O PORT IMPLEMENTATION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
    9.4 LOW POWER MODES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
    9.5 INTERRUPTS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

          9.5.1 I/O Port Implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
10 ON-CHIP PERIPHERALS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

    10.1 WATCHDOG TIMER (WDG) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
          10.1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
          10.1.2 Main Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
          10.1.3 Functional Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
          10.1.4 How to Program the Watchdog Timeout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
          10.1.5 Low Power Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
          10.1.6 Hardware Watchdog Option . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
          10.1.7 Using Halt Mode with the WDG (WDGHALT option) . . . . . . . . . . . . . . . . . . . . . . . 48
          10.1.8 Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
          10.1.9 Register Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

    10.2 MAIN CLOCK CONTROLLER WITH REAL TIME CLOCK AND BEEPER (MCC/RTC) . 50
          10.2.1 Programmable CPU Clock Prescaler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
          10.2.2 Clock-out Capability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
          10.2.3 Real Time Clock Timer (RTC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
          10.2.4 Beeper . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
          10.2.5 Low Power Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
          10.2.6 Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
          10.2.7 Register Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

    10.3 16-BIT TIMER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
          10.3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
          10.3.2 Main Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
          10.3.3 Functional Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
          10.3.4 Low Power Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
          10.3.5 Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
          10.3.6 Summary of Timer modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
          10.3.7 Register Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66

    10.4 SERIAL PERIPHERAL INTERFACE (SPI) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
          10.4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
          10.4.2 Main Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
          10.4.3 General Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
          10.4.4 Clock Phase and Clock Polarity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
          10.4.5 Error Flags . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
          10.4.6 Low Power Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
          10.4.7 Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
          10.4.8 Register Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81

    10.5 SERIAL COMMUNICATIONS INTERFACE (SCI) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
          10.5.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1. 5. 1. . 84
          10.5.2 Main Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84

3/151

1
                               Table of Contents

          10.5.3 General Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
          10.5.4 Functional Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
          10.5.5 Low Power Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
          10.5.6 Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
          10.5.7 Register Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
    10.6 10-BIT A/D CONVERTER (ADC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
          10.6.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
          10.6.2 Main Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
          10.6.3 Functional Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
          10.6.4 Low Power Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
          10.6.5 Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
          10.6.6 Register Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
11 INSTRUCTION SET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
    11.1 CPU ADDRESSING MODES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
          11.1.1 Inherent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
          11.1.2 Immediate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
          11.1.3 Direct . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
          11.1.4 Indexed (No Offset, Short, Long) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
          11.1.5 Indirect (Short, Long) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
          11.1.6 Indirect Indexed (Short, Long) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
          11.1.7 Relative mode (Direct, Indirect) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
    11.2 INSTRUCTION GROUPS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
12 ELECTRICAL CHARACTERISTICS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
    12.1 PARAMETER CONDITIONS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
          12.1.1 Minimum and Maximum values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
          12.1.2 Typical values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
          12.1.3 Typical curves . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
          12.1.4 Loading capacitor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
          12.1.5 Pin input voltage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
    12.2 ABSOLUTE MAXIMUM RATINGS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
          12.2.1 Voltage Characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
          12.2.2 Current Characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
          12.2.3 Thermal Characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
    12.3 OPERATING CONDITIONS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
    12.4 SUPPLY CURRENT CHARACTERISTICS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
          12.4.1 CURRENT CONSUMPTION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
          12.4.2 Supply and Clock Managers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
          12.4.3 On-Chip Peripherals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
    12.5 CLOCK AND TIMING CHARACTERISTICS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
          12.5.1 General Timings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
          12.5.2 External Clock Source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
          12.5.3 Crystal and Ceramic Resonator Oscillators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
          12.5.4 RC Oscillators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
          12.5.5 PLL Characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
    12.6 MEMORY CHARACTERISTICS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120

                                                                                                                           151
          12.6.1 RAM and Hardware Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
          12.6.2 FLASH Memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120

4/151

1
                               Table of Contents

    12.7 EMC CHARACTERISTICS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
          12.7.1 Functional EMS (Electro Magnetic Susceptibility) . . . . . . . . . . . . . . . . . . . . . . . . 121
          12.7.2 Electro Magnetic Interference (EMI) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
          12.7.3 Absolute Maximum Ratings (Electrical Sensitivity) . . . . . . . . . . . . . . . . . . . . . . . . 123

    12.8 I/O PORT PIN CHARACTERISTICS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
          12.8.1 General Characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
          12.8.2 Output Driving Current . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125

    12.9 CONTROL PIN CHARACTERISTICS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
          12.9.1 Asynchronous RESET Pin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
          12.9.2 ICCSEL/VPP Pin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128

    12.10 TIMER PERIPHERAL CHARACTERISTICS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
          12.10.116-Bit Timer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129

    12.11 COMMUNICATION INTERFACE CHARACTERISTICS . . . . . . . . . . . . . . . . . . . . . . . . 130
          12.11.1SPI - Serial Peripheral Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130

    12.12 10-BIT ADC CHARACTERISTICS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
          12.12.1Analog Power Supply and Reference Pins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
          12.12.2General PCB Design Guidelines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
          12.12.3ADC Accuracy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135

13 PACKAGE CHARACTERISTICS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
    13.1 PACKAGE MECHANICAL DATA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
    13.2 THERMAL CHARACTERISTICS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
    13.3 SOLDERING AND GLUEABILITY INFORMATION . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138

14 DEVICE CONFIGURATION AND ORDERING INFORMATION . . . . . . . . . . . . . . . . . . . . . . . 139
    14.1 FLASH OPTION BYTES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
    14.2 DEVICE ORDERING INFORMATION AND TRANSFER OF CUSTOMER CODE . . . . 141
          14.2.1 Version-Specific Sales Conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
    14.3 DEVELOPMENT TOOLS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
          14.3.1 Socket and Emulator Adapter Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
    14.4 ST7 APPLICATION NOTES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146

15 KNOWN LIMITATIONS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
    15.1 ALL FLASH AND ROM DEVICES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
          15.1.1 Safe Connection of OSC1/OSC2 Pins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
          15.1.2 Unexpected Reset Fetch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
          15.1.3 Clearing active interrupts outside interrupt routine . . . . . . . . . . . . . . . . . . . . . . . . 148
          15.1.4 16-bit Timer PWM Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
          15.1.5 ADC Conversion Spurious Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
          15.1.6 SCI Wrong Break duration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
    15.2 ROM DEVICES ONLY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
          15.2.1 I/O Port A and F Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
    15.3 FLASH DEVICES ONLY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
          15.3.1 Timer A Restrictions in Flash Devices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
          15.3.2 External clock source with PLL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
          15.3.3 39-Pulse ICC Entry Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149

16 REVISION HISTORY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1. 5. 1. 150

5/151

1
ST72F324L, ST72324BL

1 INTRODUCTION                                       tion set and are available with FLASH or ROM pro-
                                                     gram memory.
The ST72F324L and ST72324BL devices are
members of the ST7 microcontroller family de-        Under software control, all devices can be placed
signed for the 3V operating range. They can be       in WAIT, SLOW, ACTIVE-HALT or HALT mode,
grouped as follows:                                  reducing power consumption when the application
The 32-pin devices are designed for mid-range      is in idle or stand-by state.

  applications                                       The enhanced instruction set and addressing
The 44-pin devices target the same range of ap-    modes of the ST7 offer both power and flexibility to
                                                     software developers, enabling the design of highly
  plications requiring more than 24 I/O ports.       efficient and compact application code. In addition
All devices are based on a common industry-          to standard 8-bit data management, all ST7 micro-
standard 8-bit core, featuring an enhanced instruc-  controllers feature true bit manipulation, 8x8 un-
                                                     signed multiplication and indirect addressing
Figure 1. Device Block Diagram                       modes.

               RESET          8-BIT CORE             ADDRESS AND DATA BUS      PROGRAM         PA7:3
                   VPP             ALU                                          MEMORY         (5 bits on J devices)
                   VSS                                                      (8K - 60K Bytes)   (4 bits on K devices)
                   VDD         CONTROL
                                                                                    RAM        PB4:0
                OSC1               OSC                                     (384 - 2048 Bytes)  (5 bits on J devices)
                OSC2        MCC/RTC/BEEP                                                       (3 bits on K devices)
                                                                              WATCHDOG
           PF7:6,4,2:0           PORT F                                                        PC7:0
(6 bits on J devices)           TIMER A                                           PORT A       (8 bits)
(5 bits on K devices)
                                  BEEP                                            PORT B
                  PE1:0          PORT E
                  (2 bits)                                                       PORT C
                                    SCI                                          TIMER B
                  PD5:0          PORT D
(6 bits on J devices)         10-BIT ADC                                             SPI
(2 bits on K devices)

                VAREF
                  VSSA

6/151

                                                                                                                                3
                                                                          ST72F324L, ST72324BL

2 PIN DESCRIPTION

Figure 2. 44-Pin TQFP Package Pinouts

                  PE0 / TDO
                      VDD_2
                          OSC1
                               OSC2
                                   VSS_2
                                        RESET
                                            VPP / ICCSEL
                                                 PA7 (HS)
                                                     PA6 (HS)
                                                          PA5 (HS)
                                                              PA4 (HS)

RDI / PE1       44 43 42 41 40 39 38 37 36 35 34
         PB0
         PB1  1                             33                            VSS_1
         PB2                                                              VDD_1
         PB3  2                             32                            PA3 (HS)
                                                                          PC7 / SS / AIN15
  (HS) PB4    3                             ei0 31                        PC6 / SCK / ICCCLK
AIN0 / PD0    4 ei2                                 30                    PC5 / MOSI / AIN14
AIN1 / PD1                                                                PC4 / MISO / ICCDATA
AIN2 / PD2    5                             29                            PC3 (HS) / ICAP1_B
AIN3 / PD3                                                                PC2 (HS) / ICAP2_B
AIN4 / PD4    6 ei3                         28                            PC1 / OCMP1_B / AIN13
                                                                          PC0 / OCMP2_B / AIN12
              7                             27

              8                             26

              9                             25

              10                       ei1  24

              11                            23

                 12 13 14 15 16 17 18 19 20 21 22

                  AIN5 / PD5
                      VAREF
                          VSSA

                               MCO / AIN8 / PF0
                                   BEEP / (HS) PF1

                                        (HS) PF2
                                            OCMP1_A / AIN10 / PF4

                                                 ICAP1_A / (HS) PF6
                                                     EXTCLK_A / (HS) PF7

                                                          VDD_0
                                                              VSS_0

                                                                          eix associated external interrupt vector

                                                                                                 7/151
ST72F324L, ST72324BL

PIN DESCRIPTION (Cont'd)
Figure 3. 32-Pin SDIP Package Pinout

                            (HS) PB4            1 ei3              32                 PB3
                         AIN0 / PD0             2          ei2                        PB0
                         AIN1 / PD1             3                                     PE1 / RDI
                                                4                  31                 PE0 / TDO
                                VAREF           5                  30                 VDD_2
                                 VSSA           6                  29                 OSC1
                                                                   28                 OSC2
                MCO / AIN8 / PF0                      ei1          27                 VSS_2
                 BEEP / (HS) PF1                7                  26                 RESET
       OCMP1_A / AIN10 / PF4                    8                  25                 VPP / ICCSEL
             ICAP1_A / (HS) PF6                 9                  24                 PA7 (HS)
          EXTCLK_A / (HS) PF7                   10                 23                 PA6 (HS)
       AIN12 / OCMP2_B / PC0                    11                 22                 PA4 (HS)
       AIN13 / OCMP1_B / PC1                    12                 21                 PA3 (HS)
            ICAP2_B / (HS) PC2                  13                 20                 PC7 / SS / AIN15
            ICAP1_B / (HS) PC3                  14         ei0 19                     PC6 / SCK / ICCCLK
         ICCDATA/ MISO / PC4                    15                 18
             AIN14 / MOSI / PC5                 16                 17                       (HS) 8mA high sink capability
                                                                                            eix associated external interrupt vector

Figure 4. 32-Pin TQFP 7x7 Package Pinout

                                          PD1 / AIN1
                                              PD0 / AIN0
                                                  PB4 (HS)
                                                       PB3
                                                           PB0
                                                                PE1 / RDI
                                                                    PE0 / TDO
                                                                         VDD_2

                                VAREF     32 31 30 29 28 27 26 25
                                 VSSA
                                       1                          24                  OSC1
                MCO / AIN8 / PF0                  ei3 ei2                             OSC2
                 BEEP / (HS) PF1       2                          23                  VSS_2
       OCMP1_A / AIN10 / PF4                                                          RESET
             ICAP1_A / (HS) PF6        3                          22                  VPP / ICCSEL
          EXTCLK_A / (HS) PF7              ei1                                        PA7 (HS)
       AIN12 / OCMP2_B / PC0           4                          21                  PA6 (HS)
                                                                                      PA4 (HS)
                                       5                          20

                                       6                          19

                                       7                          18

                                       8                   ei0 17

                                          9 10 11 12 13 14 15 16

                                          AIN13 / OCMP1_B / PC1                       (HS) 8mA high sink capability
                                              ICAP2_B / (HS) PC2                      eix associated external interrupt vector
                                                  ICAP1_B / (HS) PC3

                                                       ICCDATA / MISO / PC4
                                                           AIN14 / MOSI / PC5
                                                                ICCCLK / SCK / PC6
                                                                    AIN15 / SS / PC7
                                                                         (HS) PA3

8/151

1
                                                                                                              ST72F324L, ST72324BL

PIN DESCRIPTION (Cont'd)

For more details, refer to "ELECTRICAL CHARACTERISTICS" on page 110

Legend / Abbreviations for Table 1:

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

In/Output level: C = CMOS
                      CT= CMOS with input trigger

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

Port and control configuration:

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

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

Refer to "I/O PORTS" on page 39 for more details on the software configuration of the I/O ports.

The RESET configuration of each pin is shown in bold. This configuration is valid as long as the device is
in reset state.

Table 1. Device Pin Description

Pin n                              Level            Port                                             Main
                                              Input                                                 function
TQFP44                                                       Output
     TQFP32                                                                                           (after
          SDIP32                                                                                     reset)

                                             Type
                                                    Input
                                                           Output
                                                                  float
                                                                        wpu
                                                                              int
                                                                                    ana
                                                                                          OD
                                                                                                PP
           Pin Name                                                                                           Alternate Function

6 30 1 PB4 (HS)                  I/O CT HS X ei3                X X Port B4
                                                          X X X Port D0 ADC Analog Input 0
7 31 2 PD0/AIN0                  I/O CT    XX             X X X Port D1 ADC Analog Input 1
                                                          X X X Port D2 ADC Analog Input 2
8 32 3 PD1/AIN1                  I/O CT    XX             X X X Port D3 ADC Analog Input 3
                                                          X X X Port D4 ADC Analog Input 4
9          PD2/AIN2              I/O CT    XX             X X X Port D5 ADC Analog Input 5

10         PD3/AIN3              I/O CT    XX                               Analog Reference Voltage for ADC

11         PD4/AIN4              I/O CT    XX

12         PD5/AIN5              I/O CT    XX

13 1 4 VAREF                     S
14 2 5 VSSA
                                 S                                                                  Analog Ground Voltage

15 3 6 PF0/MCO/AIN8              I/O CT    X         ei1  X  X  X                                   Port F0   Main clock    ADC Analog
                                                                                                              out (fOSC/2)  Input 8

16 4 7 PF1 (HS)/BEEP             I/O CT HS X ei1             X X Port F1 Beep signal output

17         PF2 (HS)              I/O CT HS X         ei1     X X Port F2

18 5   8   PF4/OCMP1_A/          I/O CT    XX             X  X  X                                   Port F4   Timer A Out-  ADC Analog
           AIN10                                                                                              put Com-      Input 10
                                                                                                              pare 1

19 6 9 PF6 (HS)/ICAP1_A I/O CT HS X X                        X X Port F6 Timer A Input Capture 1

20  7  10  PF7 (HS)/             I/O CT HS X X               X  X                                   Port F7   Timer A External Clock
           EXTCLK_A                                                                                           Source

21         VDD_0                  S                                                                 Digital Main Supply Voltage
                                  S
22         VSS_0                                                                                    Digital Ground Voltage
                                 I/O CT
23  8  11  PC0/OCMP2_B/                    XX             X  X  X                                   Port C0   Timer B Out-  ADC Analog
           AIN12                                                                                              put Com-      Input 12
                                                                                                              pare 2

24  9  12  PC1/OCMP1_B/          I/O CT    XX             X  X  X                                   Port C1   Timer B Out-  ADC Analog
           AIN13                                                                                              put Com-      Input 13
                                                                                                              pare 1

                                                                                                                                      9/151

                                                                                                                                          1
ST72F324L, ST72324BL

Pin n                          Level            Port                                                 Main
                                          Input                                                     function
TQFP44                                                 Output                                                   Alternate Function
     TQFP32                                                                                           (after
          SDIP32                                                                                     reset)

                                             Type
                                                    Input
                                                           Output
                                                                  float
                                                                        wpu
                                                                              int
                                                                                    ana
                                                                                          OD
                                                                                                PP
                 Pin Name

25 10 13 PC2 (HS)/ICAP2_B I/O CT HS X X                X X Port C2 Timer B Input Capture 2
26 11 14 PC3 (HS)/ICAP1_B I/O CT HS X X
                                                       X X Port C3 Timer B Input Capture 1

27  12  15  PC4/MISO/ICCDA-  I/O CT    XX              X                     SPI Master                                     ICC Data In-
            TA                                            X Port C4 In / Slave                                              put

                                                                             Out Data

28 13 16 PC5/MOSI/AIN14 I/O CT         XX        X     X                     SPI Master                                     ADC Analog
                                                          X Port C5 Out / Slave                                             Input 14

                                                                             In Data

29 14 17 PC6/SCK/ICCCLK I/O CT         XX              X  X                                         Port C6     SPI Serial  ICC Clock
                                                                                                                Clock       Output

30 15 18 PC7/SS/AIN15        I/O CT    XX        X     X                     SPI Slave                                      ADC Analog
                                                          X Port C7 Select (ac-                                             Input 15

                                                                             tive low)

31 16 19 PA3 (HS)            I/O CT HS X    ei0        X X Port A3

32          VDD_1            S                                                                      Digital Main Supply Voltage

33          VSS_1            S                                                                      Digital Ground Voltage

34 17 20 PA4 (HS)            I/O CT HS X X             X X Port A4
                             I/O CT HS X X
35          PA5 (HS)         I/O CT HS X               X X Port A5
                             I/O CT HS X
36 18 21 PA6 (HS)                                      T                                            Port A6 1)

37 19 22 PA7 (HS)                                      T                                            Port A7 1)

38 20 23 VPP /ICCSEL         I                                                                      Must be tied low. In the flash pro-
                                                                                                    gramming mode, this pin acts as the
                                                                                                    programming voltage input VPP. See
                                                                                                    Section 12.9.2 for more details. High
                                                                                                    voltage must not be applied to ROM
                                                                                                    devices.

39 21 24 RESET               I/O CT                                                                 Top priority non maskable interrupt.
40 22 25 VSS_2                S                                                                     Digital Ground Voltage
41 23 26 OSC2                O                                                                      Resonator oscillator inverter output

42 24 27 OSC1                I                                                                      External clock input or Resonator os-
                                                                                                    cillator inverter input

43 25 28 VDD_2                S        XX                          Digital Main Supply Voltage
44 26 29 PE0/TDO                                       X X Port E0 SCI Transmit Data Out
                             I/O CT                    X X Port E1 SCI Receive Data In
1 27 30 PE1/RDI              I/O CT    XX              X X Port B0
                             I/O CT                    X X Port B1
2 28 31 PB0                  I/O CT    X ei2           X X Port B2
                             I/O CT                    X X Port B3
3           PB1              I/O CT    X ei2

4           PB2                        X ei2

5 29 32 PB3                            X    ei2

Notes:

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. In the open drain output column, "T" defines a true open drain I/O (P-Buffer and protection diode to VDD

10/151

1
                                                                                          ST72F324L, ST72324BL

are not implemented). See See "I/O PORTS" on page 39. and Section 12.8 I/O PORT PIN CHARACTER-
ISTICS for more details.
3. OSC1 and OSC2 pins connect a crystal/ceramic resonator, or an external source to the on-chip oscil-
lator; see Section 1 INTRODUCTION and Section 12.5 CLOCK AND TIMING CHARACTERISTICS for
more details.
4. On the chip, each I/O port has 8 pads. Pads that are not bonded to external pins are in input pull-up con-
figuration after reset. The configuration of these pads must be kept at reset state to avoid added current
consumption.

                                                                                                                                                       11/151

                                                                                                                          1
ST72F324L, ST72324BL

3 REGISTER & MEMORY MAP                            The highest address bytes contain the user reset
                                                   and interrupt vectors.
As shown in Figure 5, the MCU is capable of ad-
dressing 64K bytes of memories and I/O registers.  IMPORTANT: Memory locations marked as "Re-
                                                   served" must never be accessed. Accessing a re-
The available memory locations consist of 128      served area can have unpredictable effects on the
bytes of register locations, up to 1024 bytes of   device.
RAM and up to 32 Kbytes of user program memo-
ry. The RAM space includes up to 256 bytes for
the stack from 0100h to 01FFh.

Figure 5. Memory Map

0000h   HW Registers                 0080h         Short Addressing
         (see Table 2)                             RAM (zero page)
007Fh                                00FFh
0080h                                0100h         256 Bytes Stack

087Fh                RAM            01FFh         16-bit Addressing
0880h                (1024,          0200h                 RAM
7FFFh        512 or 384 Bytes)
8000h                                027Fh                           8000h
                  Reserved         or 047Fh                           C000h
FFDFh                                                                 E000h
FFE0h        Program Memory                                           FFFFh  32 KBytes
             (32K, 16K or 8K)                                                16 KBytes
FFFFh                                                                        8 Kbytes
        Interrupt & Reset Vectors
                (see Table 8)

12/151

1
                                ST72F324L, ST72324BL

Table 2. Hardware Register Map

Address  Block      Register                       Register Name              Reset    Remarks
                      Label                                                   Status
                                Port A Data Register                                  R/W
0000h    Port A 2)  PADR        Port A Data Direction Register                 00h1)  R/W
0001h    Port B 2)  PADDR       Port A Option Register                          00h   R/W
0002h     Port C    PAOR                                                        00h
         Port D 2)              Port B Data Register                                  R/W
0003h    Port E 2)  PBDR        Port B Data Direction Register                 00h1)  R/W
0004h    Port F 2)  PBDDR       Port B Option Register                          00h   R/W
0005h               PBOR                                                        00h
                                Port C Data Register                                  R/W
0006h               PCDR        Port C Data Direction Register                 00h1)  R/W
0007h               PCDDR       Port C Option Register                          00h   R/W
0008h               PCOR                                                        00h
                                Port D Data Register                                  R/W
0009h               PDADR       Port D Data Direction Register                 00h1)  R/W
000Ah               PDDDR       Port D Option Register                          00h   R/W
000Bh               PDOR                                                        00h
                                Port E Data Register                                  R/W
000Ch               PEDR        Port E Data Direction Register                 00h1)  R/W2)
000Dh               PEDDR       Port E Option Register                          00h   R/W2)
000Eh               PEOR                                                        00h
                                Port F Data Register                                  R/W
000Fh               PFDR        Port F Data Direction Register                 00h1)  R/W
0010h               PFDDR       Port F Option Register                          00h   R/W
0011h               PFOR                                                        00h
                                        Reserved Area (15 Bytes)                      R/W
0012h               SPIDR                                                       xxh   R/W
   to                           SPI Data I/O Register                           0xh   R/W
         SPI        SPICR       SPI Control Register                            00h
0020h                           SPI Control/Status Register                           R/W
                    SPICSR                                                     FFh    R/W
0021h                           Interrupt Software Priority Register 0         FFh    R/W
0022h               ISPR0       Interrupt Software Priority Register 1         FFh    R/W
0023h                           Interrupt Software Priority Register 2         FFh
                    ISPR1       Interrupt Software Priority Register 3                R/W
0024h                                                                           00h
0025h    ITC        ISPR2       External Interrupt Control Register                   R/W
0026h               ISPR3                                                       00h
0027h                           Flash Control/Status Register                         R/W
                    EICR                                                        7Fh
0028h                           Watchdog Control Register                             R/W
         FLASH      FCSR                                                        00h   R/W
0029h                                     Reserved Area (1 Byte)                00h
         WATCHDOG WDGCR
002Ah                           Main Clock Control / Status Register
         MCC        MCCSR       Main Clock Controller: Beep Control Register
002Bh               MCCBCR
                                         Reserved Area (3 Bytes)
002Ch
002Dh

002Eh
   to

0030h

                                                                                      13/151

                                                                                           1
ST72F324L, ST72324BL

Address  Block        Register       Register Name                             Reset       Remarks
                        Label                                                  Status

0031h    TIMER A  TACR2              Timer A Control Register 2                    00h     R/W
0032h    TIMER B  TACR1                                                            00h     R/W
0033h             TACSR              Timer A Control Register 1                xxxx x0xxb  R/W
0034h       SCI   TAIC1HR            Timer A Control/Status Register3)4)            xxh    Read Only
0035h             TAIC1LR                                                           xxh    Read Only
0036h             TAOC1HR            Timer A Input Capture 1 High Register         80h     R/W
0037h             TAOC1LR                                                          00h     R/W
0038h             TACHR              Timer A Input Capture 1 Low Register          FFh     Read Only
0039h             TACLR                                                            FCh     Read Only
003Ah             TAACHR             Timer A Output Compare 1 High Register        FFh     Read Only
003Bh             TAACLR                                                           FCh     Read Only
003Ch             TAIC2HR            Timer A Output Compare 1 Low Register          xxh    Read Only
003Dh             TAIC2LR                                                           xxh    Read Only
003Eh             TAOC2HR            Timer A Counter High Register                 80h     R/W
003Fh             TAOC2LR                                                          00h     R/W
                                     Timer A Counter Low Register
0040h
                                     Timer A Alternate Counter High Register
0041h
0042h                                Timer A Alternate Counter Low Register
0043h                                Timer A Input Capture 2 High Register3)
0044h                                Timer A Input Capture 2 Low Register3)
0045h                                Timer A Output Compare 2 High Register4)
0046h                                Timer A Output Compare 2 Low Register4)
0047h
0048h                                Reserved Area (1 Byte)
0049h
004Ah             TBCR2              Timer B Control Register 2                    00h     R/W
004Bh             TBCR1              Timer B Control Register 1                    00h     R/W
004Ch             TBCSR              Timer B Control/Status Register           xxxx x0xxb  R/W
004Dh             TBIC1HR            Timer B Input Capture 1 High Register          xxh    Read Only
004Eh             TBIC1LR            Timer B Input Capture 1 Low Register           xxh    Read Only
004Fh             TBOC1HR            Timer B Output Compare 1 High Register        80h     R/W
                  TBOC1LR            Timer B Output Compare 1 Low Register         00h     R/W
0050h             TBCHR              Timer B Counter High Register                 FFh     Read Only
0051h             TBCLR              Timer B Counter Low Register                  FCh     Read Only
0052h             TBACHR             Timer B Alternate Counter High Register       FFh     Read Only
0053h             TBACLR             Timer B Alternate Counter Low Register        FCh     Read Only
0054h             TBIC2HR            Timer B Input Capture 2 High Register          xxh    Read Only
0055h             TBIC2LR            Timer B Input Capture 2 Low Register           xxh    Read Only
0056h             TBOC2HR            Timer B Output Compare 2 High Register        80h     R/W
0057h             TBOC2LR            Timer B Output Compare 2 Low Register         00h     R/W

0058h             SCISR              SCI Status Register                            C0h    Read Only
   to             SCIDR              SCI Data Register                              xxh    R/W
                  SCIBRR             SCI Baud Rate Register                         00h    R/W
006Fh             SCICR1             SCI Control Register 1                    x000 0000h  R/W
                  SCICR2             SCI Control Register 2                         00h    R/W
0070h             SCIERPR            SCI Extended Receive Prescaler Register        00h    R/W
0071h                                Reserved area                                   ---
0072h             SCIETPR            SCI Extended Transmit Prescaler Register       00h    R/W

0073h                                Reserved Area (24 Bytes)
007Fh
                  ADCCSR             Control/Status Register                   00h         R/W
                  ADCDRH             Data High Register
         ADC      ADCDRL             Data Low Register                         00h         Read Only

                                                                               00h         Read Only

                                     Reserved Area (13 Bytes)

Legend: x=undefined, R/W=read/write

14/151

1
                                                                                          ST72F324L, ST72324BL

Notes:
1. The contents of the I/O port DR registers are readable only in output configuration. In input configura-

   tion, the values of the I/O pins are returned instead of the DR register contents.
2. The bits associated with unavailable pins must always keep their reset value.
3. The Timer A Input Capture 2 pin is not available (not bonded).

    In Flash devices:
      The TAIC2HR and TAIC2LR registers are not present. Bit 4 of the TACSR register (ICF2) is forced
      by hardware to 0. Consequently, the corresponding interrupt cannot be used.

4. The Timer A Output Compare 2 pin is not available (not bonded).
    In ROM devices:
      The TAOC2HR and TAOC2LR Registers can be used in PWM mode or for timebase generation.
    In Flash devices:
      The TAOC2HR and TAOC2LR Registers are write only, reading them will return undefined values.
      Bit 3 of the TACSR register (OCF2) is forced by hardware to 0. Consequently, the corresponding in-
      terrupt cannot be used.

Caution: The TAIC2HR and TAIC2LR registers and the ICF2 and OCF2 flags are not present in the
ST72F324L but are present in the emulator. For compatibility with the emulator, it is recommended to per-
form a dummy access (read or write) to the TAIC2LR and TAOC2LR registers to clear the interrupt flags.

                                                                                                                                                       15/151

                                                                                                                          1
ST72F324L, ST72324BL

4 FLASH PROGRAM MEMORY

4.1 Introduction                                       Depending on the overall Flash memory size in the
                                                       microcontroller device, there are up to three user
The ST7 dual voltage High Density Flash                sectors (see Table 3). Each of these sectors can
(HDFlash) is a non-volatile memory that can be         be erased independently to avoid unnecessary
electrically erased as a single block or by individu-  erasing of the whole Flash memory when only a
al sectors and programmed on a Byte-by-Byte ba-        partial erasing is required.
sis using an external VPP supply.
The HDFlash devices can be programmed and              The first two sectors have a fixed size of 4 Kbytes
erased off-board (plugged in a programming tool)       (see Figure 6). They are mapped in the upper part
or on-board using ICP (In-Circuit Programming) or      of the ST7 addressing space so the reset and in-
IAP (In-Application Programming).                      terrupt vectors are located in Sector 0 (F000h-
                                                       FFFFh).
The array matrix organisation allows each sector
to be erased and reprogrammed without affecting        Table 3. Sectors available in Flash devices
other sectors.
                                                       Flash Size (bytes)          Available Sectors
4.2 Main Features
                                                                 4K                       Sector 0
Three Flash programming modes:                                  8K                    Sectors 0,1
    Insertion in a programming tool. In this mode,             > 8K                  Sectors 0,1, 2
     all sectors including option bytes can be pro-
     grammed or erased.                                4.3.1 Read-out Protection
    ICP (In-Circuit Programming). In this mode, all
     sectors including option bytes can be pro-        Read-out protection, when selected, provides a
     grammed or erased without removing the de-        protection against Program Memory content ex-
     vice from the application board.                  traction and against write access to Flash memo-
    IAP (In-Application Programming) In this          ry. Even if no protection can be considered as to-
     mode, all sectors except Sector 0, can be pro-    tally unbreakable, the feature provides a very high
     grammed or erased without removing the de-        level of protection for a general purpose microcon-
     vice from the application board and while the     troller.
     application is running.
                                                       In flash devices, this protection is removed by re-
ICT (In-Circuit Testing) for downloading and          programming the option. In this case, the entire
   executing user application test patterns in RAM     program memory is first automatically erased.

Read-out protection against piracy                    Read-out protection selection depends on the de-
Register Access Security System (RASS) to             vice type:

   prevent accidental programming or erasing            In Flash devices it is enabled and removed
                                                         through the FMP_R bit in the option byte.
4.3 Structure
                                                       In ROM devices it is enabled by mask option
The Flash memory is organised in sectors and can         specified in the Option List.
be used for both code and data storage.

Figure 6. Memory Map and Sector Address

               4K  8K  10K       16K     24K           32K  48K            60K     FLASH
                                                                                   MEMORY SIZE
        1000h          2 Kbytes  8 Kbytes 16 Kbytes 24 Kbytes 40 Kbytes 52 Kbytes
        3FFFh                                  4 Kbytes                            SECTOR 2
        7FFFh                                  4 Kbytes
        9FFFh                                                                      SECTOR 1
        BFFFh                                                                      SECTOR 0
        D7FFh
        DFFFh
        EFFFh
        FFFFh

16/151

1
                                                                                                             ST72F324L, ST72324BL

FLASH PROGRAM MEMORY (Cont'd)

4.4 ICC Interface                                        ICCCLK: ICC output serial clock pin

ICC needs a minimum of 5 and up to 6 pins to be          ICCDATA: ICC input/output serial data pin
connected to the programming tool (see Figure 7).
These pins are:                                          ICCSEL/VPP: programming voltage
                                                         OSC1(or OSCIN): main clock input for exter-
    RESET: device reset
    VSS: device power supply ground                      nal source

                                                          aVlD, Ds:eeapFpiglicuaretio7n,                    board power  supply  (option-
                                                                                                             Note 3)

Figure 7. Typical ICC Interface

              PROGRAMMING TOOL

                                                        ICC CONNECTOR

                                                           ICC Cable

                                                                                                             APPLICATION BOARD

              (See Note 3)       (See Note 4)                                                ICC CONNECTOR
                                       CL1                                              HE10 CONNECTOR TYPE
                                                        9 7 5 31

                                                        10 8 6 4 2

                                                                                                             APPLICATION
                                                                                                             RESET SOURCE

                                                                                                             See Note 2

                                               10k

APPLICATION   CL2

POWER SUPPLY                                                                                                   See Note 1

              VDD                                                                                            APPLICATION
                               OSC2                                                                                 I/O
                                          OSC1
                                 ST7
                                                                 VSS
                                                                                ICCSEL/VPP

                                                                                       RESET
                                                                                             ICCCLK
                                                                                                    ICCDATA

Notes:                                                  agement IC with open drain output and pull-up re-
                                                        sistor>1K, no additional components are needed.
1. If the ICCCLK or ICCDATA pins are only used          In all cases the user must ensure that no external
as outputs in the application, no signal isolation is   reset is generated by the application during the
necessary. As soon as the Programming Tool is           ICC session.
plugged to the board, even if an ICC session is not
in progress, the ICCCLK and ICCDATA pins are            3. The use of Pin 7 of the ICC connector depends
not available for the application. If they are used as  on the Programming Tool architecture. This pin
inputs by the application, isolation such as a serial   must be connected when using most ST Program-
resistor has to implemented in case another de-         ming Tools (it is used to monitor the application
vice forces the signal. Refer to the Programming        power supply). Please refer to the Programming
Tool documentation for recommended resistor val-        Tool manual.
ues.
                                                        4. External clock ICC entry mode is mandatory in
2. During the ICC session, the programming tool         this device. Pin 9 must be connected to the OSC1
must control the RESET pin. This can lead to con-       or OSCIN pin of the ST7 and OSC2 must be
flicts between the programming tool and the appli-      grounded.
cation 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 appli-
cation RESET circuit in this case. When using a
classical RC network with R>1K or a reset man-

                                                                                                                                  17/151

                                                                                                                                       1
ST72F324L, ST72324BL

FLASH PROGRAM MEMORY (Cont'd)

4.5 ICP (In-Circuit Programming)                        possible to download code from the SPI, SCI, USB
                                                        or CAN interface and program it in the Flash. IAP
To perform ICP the microcontroller must be              mode can be used to program any of the Flash
switched to ICC (In-Circuit Communication) mode         sectors except Sector 0, which is write/erase pro-
by an external controller or programming tool us-       tected to allow recovery in case errors occur dur-
ing 36-pulse mode.                                      ing the programming operation.

Depending on the ICP code downloaded in RAM,            4.7 Related Documentation
Flash memory programming can be fully custom-
ized (number of bytes to program, program loca-         For details on Flash programming and ICC proto-
tions, or selection serial communication interface      col, refer to the ST7 Flash Programming Refer-
for downloading).                                       ence Manual and to the ST7 ICC Protocol Refer-

When using an STMicroelectronics or third-party         ence Manual.
programming tool that supports ICP and the spe-
cific microcontroller device, the user needs only to    4.7.1 Register Description
implement the ICP hardware interface on the ap-         FLASH CONTROL/STATUS REGISTER (FCSR)
plication board (see Figure 7). For more details on
the pin locations, refer to the device pinout de-       Read / Write
scription.                                              Reset Value: 0000 0000 (00h)

4.6 IAP (In-Application Programming)                    7                             0

This mode uses a BootLoader program previously          0     0  0  0     0  0  0     0
stored in Sector 0 by the user (in ICP mode or by
plugging the device in a programming tool).             This register is reserved for use by Programming
                                                        Tool software. It controls the Flash programming
This mode is fully controlled by user software. This    and erasing operations.
allows it to be adapted to the user application, (us-
er-defined strategy for entering programming
mode, choice of communications protocol used to
fetch the data to be stored, etc.). For example, it is

Table 4. Flash Control/Status Register Address and Reset Value

Address  Register     7  6     5                           4     3     2     1     0
(Hex.)    Label

0029h    FCSR         0  0     0                           0     0     0     0     0
         Reset Value

18/151

1
                                                                        ST72F324L, ST72324BL

5 CENTRAL PROCESSING UNIT

5.1 INTRODUCTION                                      5.3 CPU REGISTERS
This CPU has a full 8-bit architecture and contains
six internal registers allowing efficient 8-bit data  The 6 CPU registers shown in Figure 8 are not
manipulation.                                         present in the memory mapping and are accessed
                                                      by specific instructions.
5.2 MAIN FEATURES
Enable executing 63 basic instructions               Accumulator (A)
Fast 8-bit by 8-bit multiply
17 main addressing modes (with indirect              The Accumulator is an 8-bit general purpose reg-
                                                      ister used to hold operands and the results of the
   addressing mode)                                   arithmetic and logic calculations and to manipulate
Two 8-bit index registers                            data.
16-bit stack pointer
Low power HALT and WAIT modes                        Index Registers (X and Y)
Priority maskable hardware interrupts
Non-maskable software/hardware interrupts            These 8-bit registers are used to create effective
                                                      addresses or as temporary storage areas for data
Figure 8. CPU Registers                               manipulation. (The Cross-Assembler generates a
                                                      precede instruction (PRE) to indicate that the fol-
                                                      lowing instruction refers to the Y register.)

                                                      The Y register is not affected by the interrupt auto-
                                                      matic procedures.

                                                      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).

         7                          0

         RESET VALUE = XXh                            ACCUMULATOR
                                                      X INDEX REGISTER
         7                          0                 Y INDEX REGISTER

         RESET VALUE = XXh

         7                          0

         RESET VALUE = XXh

15  PCH  87  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       87                         0

                                                      STACK POINTER

RESET VALUE = STACK HIGHER ADDRESS

                                                                               X = Undefined Value

                                                                               19/151

                                                                                    1
ST72F324L, ST72324BL

CENTRAL PROCESSING UNIT (Cont'd)                          Bit 1 = Z Zero.
Condition Code Register (CC)
Read/Write                                                This bit is set and cleared by hardware. This bit in-
Reset Value: 111x1xxx                                     dicates that the result of the last arithmetic, logical
                                                          or data manipulation is zero.
7                                 0                       0: The result of the last operation is different from

1       1  I1  H  I0  N  Z        C                          zero.
                                                          1: The result of the last operation is zero.
The 8-bit Condition Code register contains the in-
terrupt masks and four flags representative of the        This bit is accessed by the JREQ and JRNE test
result of the instruction just executed. This register    instructions.
can also be handled by the PUSH and POP in-
structions.                                               Bit 0 = C Carry/borrow.

These bits can be individually tested and/or con-         This bit is set and cleared by hardware and soft-
trolled by specific instructions.                         ware. It indicates an overflow or an underflow has
                                                          occurred during the last arithmetic operation.
Arithmetic Management Bits                                0: No overflow or underflow has occurred.
                                                          1: An overflow or underflow has occurred.
Bit 4 = H Half carry.
                                                          This bit is driven by the SCF and RCF instructions
This bit is set by hardware when a carry occurs be-       and tested by the JRC and JRNC instructions. It is
tween bits 3 and 4 of the ALU during an ADD or            also affected by the "bit test and branch", shift and
ADC instructions. It is reset by hardware during          rotate instructions.
the same instructions.
                                                          Interrupt Management Bits
0: No half carry has occurred.
1: A half carry has occurred.                             Bit 5,3 = I1, I0 Interrupt
                                                          The combination of the I1 and I0 bits gives the cur-
This bit is tested using the JRH or JRNH instruc-         rent interrupt software priority.
tion. The H bit is useful in BCD arithmetic subrou-
tines.                                                          Interrupt Software Priority  I1  I0
                                                          Level 0 (main)
Bit 2 = N Negative.                                       Level 1                            1   0
                                                          Level 2
This bit is set and cleared by hardware. It is repre-     Level 3 (= interrupt disable)      0   1
sentative of the result sign of the last arithmetic,
logical or data manipulation. It's a copy of the re-                                         0   0
sult 7th bit.
0: The result of the last operation is positive or null.                                     1   1
1: The result of the last operation is negative
                                                          These two bits are set/cleared by hardware when
   (i.e. the most significant bit is a logic 1).          entering in interrupt. The loaded value is given by
                                                          the corresponding bits in the interrupt software pri-
This bit is accessed by the JRMI and JRPL instruc-        ority registers (IxSPR). They can be also set/
tions.                                                    cleared by software with the RIM, SIM, IRET,
                                                          HALT, WFI and PUSH/POP instructions.

                                                          See the interrupt management chapter for more
                                                          details.

20/151

1
                                                                              ST72F324L, ST72324BL

CENTRAL PROCESSING UNIT (Cont'd)

Stack Pointer (SP)                                            The least significant byte of the Stack Pointer
Read/Write                                                    (called S) can be directly accessed by a LD in-
Reset Value: 01 FFh                                           struction.

15                                                    8       Note: When the lower limit is exceeded, the Stack
                                                              Pointer wraps around to the stack upper limit, with-
0   0    0           0          0  0               0  1       out indicating the stack overflow. The previously
                                                              stored information is then overwritten and there-
7                                                     0       fore lost. The stack also wraps in case of an under-
                                                              flow.
SP7 SP6 SP5 SP4 SP3 SP2 SP1 SP0
                                                              The stack is used to save the return address dur-
The Stack Pointer is a 16-bit register which is al-           ing a subroutine call and the CPU context during
ways pointing to the next free location in the stack.         an interrupt. The user may also directly manipulate
It is then decremented after data has been pushed             the stack by means of the PUSH and POP instruc-
onto the stack and incremented before data is                 tions. In the case of an interrupt, the PCL is stored
popped from the stack (see Figure 9).                         at the first location pointed to by the SP. Then the
                                                              other registers are stored in the next locations as
Since the stack is 256 bytes deep, the 8 most sig-            shown in Figure 9.
nificant bits are forced by hardware. Following an
MCU Reset, or after a Reset Stack Pointer instruc-             When an interrupt is received, the SP is decre-
tion (RSP), the Stack Pointer contains its reset val-           mented and the context is pushed on the stack.
ue (the SP7 to SP0 bits are set) which is the stack
higher address.                                                On return from interrupt, the SP is incremented
                                                                and the context is popped from the stack.

                                                              A subroutine call occupies two locations and an in-
                                                              terrupt five locations in the stack area.

Figure 9. Stack Manipulation Example

      CALL                      Interrupt             PUSH Y          POP Y   IRET              RET
    Subroutine                   Event                                                       or RSP

@ 0100h

                            SP                 SP                 SP   CC     PCH
                                                        Y               A                SP
  SP                               CC                 CC                X
                PCH                  A                  A             PCH     PCL
                                     X                  X             PCL SP
@ 01FFh PCL                        PCH                PCH             PCH
                                   PCL                PCL             PCL
                                   PCH                PCH
                                   PCL                PCL

         Stack Higher Address = 01FFh
         Stack Lower Address = 0100h

                                                                                             21/151

                                                                                                  1
ST72F324L, ST72324BL

6 SUPPLY, RESET AND CLOCK MANAGEMENT

The device includes a range of utility features for       1 Internal RC oscillator
securing the application in critical situations (for
example in case of a power brown-out), and re-        6.1 PHASE LOCKED LOOP
ducing the number of external components. An
overview is shown in Figure 10.                       If the clock frequency input to the PLL is in the
                                                      range 2 to 4 MHz, the PLL can be used to multiply
For more details, refer to dedicated parametric       the frequency by two to obtain an fOSC2 of 4 to 8
section.                                              MHz. The PLL is enabled by option byte. If the PLL
                                                      is disabled, then fOSC2 = fOSC/2.
Main features                                         Caution: The PLL is not recommended for appli-
Optional PLL for multiplying the frequency by 2      cations where timing accuracy is required. See
                                                      Section 6.1 on page 22.
   (not to be used with internal RC oscillator)
Reset Sequence Manager (RSM)                         Caution: The PLL must not be used with the inter-
                                                      nal RC oscillator.
Multi-Oscillator Clock Management (MO)

    5 Crystal/Ceramic resonator oscillators

Figure 10. Clock, Reset and Supply Block Diagram

OSC2    MULTI-        fOSC  PLL Block                 0                   MAIN CLOCK   fCPU
OSC1                                 PLL x 2               fOSC2         CONTROLLER
        OSCILLATOR                      /2                             WITH REALTIME
RESET                                                 1
        (MO)                                                          CLOCK (MCC/RTC)

                                                      PLL OPTION BIT

        RESET SEQUENCE                                                 WATCHDOG
              MANAGER                                                 TIMER (WDG)
                 (RSM)

22/151

1
                                                                                                               ST72F324L, ST72324BL

6.2 MULTI-OSCILLATOR (MO)                              Internal RC Oscillator

The main clock of the ST7 can be generated by          This oscillator allows a low cost solution for the
three different source types coming from the multi-    main clock of the ST7 using only an internal resis-
oscillator block:                                      tor and capacitor. Internal RC oscillator mode has
                                                       the drawback of a lower frequency accuracy and
an external source                                    should not be used in applications that require ac-
                                                       curate timing.
4 crystal or ceramic resonator oscillators
                                                       In this mode, the two oscillator pins have to be tied
an internal high frequency RC oscillator              to ground.

Each oscillator is optimized for a given frequency     Table 5. ST7 Clock Sources
range in terms of consumption and is selectable
through the option byte. The associated hardware                               Hardware Configuration
configurations are shown in Table 5. Refer to the
electrical characteristics section for more details.   External Clock                                                ST7

Caution: The OSC1 and/or OSC2 pins must not                                                                    OSC1        OSC2
be left unconnected. For the purposes of Failure
Mode and Effect Analysis, it should be noted that if                                                      EXTERNAL
the OSC1 and/or OSC2 pins are left unconnected,                                                            SOURCE
the ST7 main oscillator may start and, in this con-
figuration, could generate an fOSC clock frequency     Internal RC Oscillator Crystal/Ceramic Resonators             ST7
in excess of the allowed maximum (>16MHz.),
putting the ST7 in an unsafe/undefined state. The                                                              OSC1        OSC2
product behaviour must therefore be considered
undefined when the OSC pins are left unconnect-                                                           CL1        LOAD        CL2
ed.
                                                                                                               CAPACITORS
External Clock Source
                                                                                                                     ST7
In this external clock mode, a clock signal (square,
sinus or triangle) with ~50% duty cycle has to drive                                                           OSC1        OSC2
the OSC1 pin while the OSC2 pin is tied to ground.

Crystal/Ceramic Oscillators

This family of oscillators has the advantage of pro-
ducing a very accurate rate on the main clock of
the ST7. The selection within a list of 4 oscillators
with different frequency ranges has to be done by
option byte in order to reduce consumption (refer
to Section 14.1 on page 139 for more details on
the frequency ranges). In this mode of the multi-
oscillator, the resonator and the load capacitors
have to be placed as close as possible to the oscil-
lator pins in order to minimize output distortion and
start-up stabilization time. The loading capaci-
tance 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.

                                                                                                                                      23/151

                                                                                                                                           1
ST72F324L, ST72324BL

6.3 RESET SEQUENCE MANAGER (RSM)                     6.3.2 Asynchronous External RESET pin

6.3.1 Introduction                                   The RESET pin is both an input and an open-drain
                                                     output with integrated RON weak pull-up resistor.
The reset sequence manager includes two RE-          This pull-up has no fixed value but varies in ac-
SET sources as shown in Figure 12:                   cordance with the input voltage. It can be pulled
External RESET source pulse                         low by external circuitry to reset the device. See
Internal WATCHDOG RESET                             Electrical Characteristic section for more details.

These sources act on the RESET pin and it is al-     A RESET signal originating from an external
ways kept low during the delay phase.                source must have a duration of at least th(RSTL)in in
                                                     order to be recognized. This detection is asynchro-
The RESET service routine vector is fixed at ad-     nous and therefore the MCU can enter reset state
dresses FFFEh-FFFFh in the ST7 memory map.           even in HALT mode.

The basic RESET sequence consists of 3 phases        The RESET pin is an asynchronous signal which
as shown in Figure 11:                               plays a major role in EMS performance. In a noisy
Active Phase depending on the RESET source          environment, it is recommended to follow the
256 or 4096 CPU clock cycle delay (selected by      guidelines mentioned in the electrical characteris-
                                                     tics section.
   option byte)
RESET vector fetch                                  6.3.3 External Power-On RESET

The 256 or 4096 CPU clock cycle delay allows the     To start up the microcontroller correctly, the user
oscillator to stabilise and ensures that recovery    must ensure by means of an external reset circuit
has taken place from the Reset state. The shorter    that the reset signal is held low until VDD is over
or longer clock cycle delay should be selected by    the minimum level specified for the selected fOSC
option byte to correspond to the stabilization time  frequency.
of the external oscillator used in the application.
                                                     A proper reset signal for a slow rising VDD supply
The RESET vector fetch phase duration is 2 clock     can generally be provided by an external RC net-
cycles.                                              work connected to the RESET pin.

Figure 11. RESET Sequence Phases                     6.3.4 Internal Watchdog RESET

Active Phase       RESET                     FETCH   Starting from the Watchdog counter underflow, the
                                            VECTOR   device RESET pin acts as an output that is pulled
                     INTERNAL RESET                  low during at least tw(RSTL)out.
              256 or 4096 CLOCK CYCLES

Figure 12. Reset Block Diagram

                                       VDD

                      RON

RESET                                       Filter               INTERNAL
                                                                 RESET

                                                          PULSE  WATCHDOG RESET
                                                     GENERATOR

24/151

1
                                                                        ST72F324L, ST72324BL

7 INTERRUPTS

7.1 INTRODUCTION                                     When an interrupt request has to be serviced:

The ST7 enhanced interrupt management pro-            Normal processing is suspended at the end of
vides the following features:                          the current instruction execution.
Hardware interrupts
Software interrupt (TRAP)                            The PC, X, A and CC registers are saved onto
Nested or concurrent interrupt management             the stack.

   with flexible interrupt priority and level         I1 and I0 bits of CC register are set according to
   management:                                         the corresponding values in the ISPRx registers
                                                       of the serviced interrupt vector.
    Up to 4 software programmable nesting levels
    Up to 16 interrupt vectors fixed by hardware    The PC is then loaded with the interrupt vector of
    2 non maskable events: RESET, TRAP                the interrupt to service and the first instruction of
This interrupt management is based on:                 the interrupt service routine is fetched (refer to
                                                       "Interrupt Mapping" table for vector addresses).
Bit 5 and bit 3 of the CPU CC register (I1:0),
Interrupt software priority registers (ISPRx),     The interrupt service routine should end with the
Fixed interrupt vector addresses located at the    IRET instruction which causes the contents of the
                                                     saved registers to be recovered from the stack.
  high addresses of the memory map (FFE0h to
  FFFFh) sorted by hardware priority order.          Note: As a consequence of the IRET instruction,
This enhanced interrupt controller guarantees full   the I1 and I0 bits will be restored from the stack
upward compatibility with the standard (not nest-    and the program in the previous level will resume.
ed) ST7 interrupt controller.
                                                     Table 6. Interrupt Software Priority Levels
7.2 MASKING AND PROCESSING FLOW
                                                        Interrupt software priority Level I1                             I0
The interrupt masking is managed by the I1 and I0
bits of the CC register and the ISPRx registers         Level 0 (main)  Low                                           1  0
which give the interrupt software priority level of
each interrupt vector (see Table 6). The process-       Level 1                                                       0  1
ing flow is shown in Figure 13                          Level 2
                                                                                                                      0  0
Figure 13. Interrupt Processing Flowchart
                                                        Level 3 (= interrupt disable) High 1                             1

RESET                 PENDING                        Y                                        TRAP Y

                      INTERRUPT

                      N                                          Interrupt has the same or a      N
                                                                    lower software priority   I1:0
                                                                        than current one

                      FETCH NEXT                        THE INTERRUPT                         Interrupt has a higher
                      INSTRUCTION                       STAYS PENDING                            software priority
                                                                                                    than current one
                      Y
RESTORE PC, X, A, CC          "IRET"                                          STACK PC, X, A, CC
      FROM STACK              N                                  LOAD I1:0 FROM INTERRUPT SW REG.
                                                                 LOAD PC FROM INTERRUPT VECTOR
                           EXECUTE
                        INSTRUCTION

                                                                                                                         25/151

                                                                                                                              1
ST72F324L, ST72324BL

INTERRUPTS (Cont'd)                                     vector is loaded in the PC register and the I1 and
                                                        I0 bits of the CC are set to disable interrupts (level
Servicing Pending Interrupts                            3). These sources allow the processor to exit
As several interrupts can be pending at the same        HALT mode.
time, the interrupt to be taken into account is deter-
mined by the following two-step process:                 TRAP (Non Maskable Software Interrupt)
the highest software priority interrupt is serviced,
if several interrupts have the same software pri-     This software interrupt is serviced when the TRAP
                                                        instruction is executed. It will be serviced accord-
  ority then the interrupt with the highest hardware    ing to the flowchart in Figure 13.
  priority is serviced first.
Figure 14 describes this decision process.               RESET

Figure 14. Priority Decision Process                    The RESET source has the highest priority in the
                                                        ST7. This means that the first current routine has
                                      PENDING           the highest software priority (level 3) and the high-
                                   INTERRUPTS           est hardware priority.
                                                        See the RESET chapter for more details.
        Same  SOFTWARE   Different
               PRIORITY                                 Maskable Sources

                   HIGHEST SOFTWARE                     Maskable interrupt vector sources can be serviced
                   PRIORITY SERVICED                    if the corresponding interrupt is enabled and if its
                                                        own interrupt software priority (in ISPRx registers)
HIGHEST HARDWARE                                        is higher than the one currently being serviced (I1
PRIORITY SERVICED                                       and I0 in CC register). If any of these two condi-
                                                        tions is false, the interrupt is latched and thus re-
When an interrupt request is not serviced immedi-       mains pending.
ately, it is latched and then processed when its
software priority combined with the hardware pri-        External Interrupts
ority becomes the highest one.
                                                        External interrupts allow the processor to exit from
Note 1: The hardware priority is exclusive while        HALT low power mode. External interrupt sensitiv-
the software one is not. This allows the previous       ity is software selectable through the External In-
process to succeed with only one interrupt.             terrupt Control register (EICR).
Note 2: RESET and TRAP can be considered as             External interrupt triggered on edge will be latched
having the highest software priority in the decision    and the interrupt request automatically cleared
process.                                                upon entering the interrupt service routine.
                                                        If several input pins of a group connected to the
Different Interrupt Vector Sources                      same interrupt line are selected simultaneously,
                                                        these will be logically ORed.
Two interrupt source types are managed by the
ST7 interrupt controller: the non-maskable type          Peripheral Interrupts
(RESET, TRAP) and the maskable type (external
or from internal peripherals).                          Usually the peripheral interrupts cause the MCU to
                                                        exit from HALT mode except those mentioned in
Non-Maskable Sources                                    the "Interrupt Mapping" table. A peripheral inter-
                                                        rupt occurs when a specific flag is set in the pe-
These sources are processed regardless of the           ripheral status registers and if the corresponding
state of the I1 and I0 bits of the CC register (see     enable bit is set in the peripheral control register.
Figure 13). After stacking the PC, X, A and CC          The general sequence for clearing an interrupt is
registers (except for RESET), the corresponding         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 (i.e. waiting for being
                                                        serviced) will therefore be lost if the clear se-
                                                        quence is executed.

26/151

1
                                                                                                               ST72F324L, ST72324BL

INTERRUPTS (Cont'd)

7.3 INTERRUPTS AND LOW POWER MODES                                       7.4 CONCURRENT & NESTED MANAGEMENT

All interrupts allow the processor to exit the WAIT                      The following Figure 15 and Figure 16 show two
low power mode. On the contrary, only external                           different interrupt management modes. The first is
and other specified interrupts allow the processor                       called concurrent mode and does not allow an in-
to exit from the HALT modes (see column "Exit                            terrupt to be interrupted, unlike the nested mode in
from HALT" in "Interrupt Mapping" table). When                           Figure 16. The interrupt hardware priority is given
several pending interrupts are present while exit-                       in this order from the lowest to the highest: MAIN,
ing HALT mode, the first one serviced can only be                        IT4, IT3, IT2, IT1, IT0. The software priority is giv-
an interrupt with exit from HALT mode capability                         en for each interrupt.
and it is selected through the same decision proc-
ess shown in Figure 14.                                                  Warning: A stack overflow may occur without no-
                                                                         tifying the software of the failure.
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.

Figure 15. Concurrent Interrupt Management

                            IT2                                                                                SOFTWARE              I1      I0
                                  IT1
                                        IT4                                                                    PRIORITY
                                              IT3
                                                    TRAP                                                       LEVEL
                                                          IT0

HARDWARE PRIORITY                            TRAP                                                                               3        11      USED STACK = 10 BYTES

                                                                    IT0                                                         3        11

                                        IT1                    IT1                                                              3        11

                            IT2                                                                                                 3        11

                                                                                           IT3                                  3        11
                   RIM
                                                                                                                                3        11
                                                                                                          IT4

                    MAIN                                                                                           MAIN         3/0

                   11 / 10                                                                                     10

Figure 16. Nested Interrupt Management

                            IT2                                                                                SOFTWARE              I1      I0
                                  IT1
                                        IT4                                                                    PRIORITY
                                              IT3
                                                    TRAP
                                                          IT0

                                                                                                               LEVEL

HARDWARE PRIORITY                            TRAP                                                                               3        11      USED STACK = 20 BYTES
                                                                 IT0
                                                                                                                                3        11

                                   IT1                                           IT1                                            2        00
                            IT2                                          IT3
                                                                                                               IT2              1        01

                      RIM                                                                                                 MAIN  3        11

                    MAIN                IT4                    IT4                                                  10          3        11

                   11 / 10                                                                                                      3/0

                                                                                                                                             27/151

                                                                                                                                                  1
ST72F324L, ST72324BL

INTERRUPTS (Cont'd)

7.5 INTERRUPT REGISTER DESCRIPTION

CPU CC REGISTER INTERRUPT BITS                         INTERRUPT SOFTWARE PRIORITY REGIS-
Read / Write                                           TERS (ISPRX)
Reset Value: 111x 1010 (xAh)
                                                       Read/Write (bit 7:4 of ISPR3 are read only)

7                                             0        Reset Value: 1111 1111 (FFh)

1        1      I1  H  I0            N     Z  C        7                                            0

                                                       ISPR0 I1_3 I0_3 I1_2 I0_2 I1_1 I0_1 I1_0 I0_0

Bit 5, 3 = I1, I0 Software Interrupt Priority          ISPR1 I1_7 I0_7 I1_6 I0_6 I1_5 I0_5 I1_4 I0_4

These two bits indicate the current interrupt soft-
ware priority.

Interrupt Software Priority Level I1          I0       ISPR2 I1_11 I0_11 I1_10 I0_10 I1_9 I0_9 I1_8 I0_8

Level 0 (main)             Low          1     0        ISPR3 1 1 1 1 I1_13 I0_13 I1_12 I0_12

Level 1                                 0     1

Level 2                                 0     0

Level 3 (= interrupt disable*) High     1     1        These four registers contain the interrupt software
                                                       priority of each interrupt vector.
These two bits are set/cleared by hardware when
entering in interrupt. The loaded value is given by    Each interrupt vector (except RESET and TRAP)
the corresponding bits in the interrupt software pri-    has corresponding bits in these registers where
ority registers (ISPRx).                                 its own software priority is stored. This corre-
                                                         spondance is shown in the following table.
They can be also set/cleared by software with the
RIM, SIM, HALT, WFI, IRET and PUSH/POP in-             Vector address        ISPRx bits
structions (see "Interrupt Dedicated Instruction
Set" table).                                            FFFBh-FFFAh     I1_0 and I0_0 bits*
                                                        FFF9h-FFF8h     I1_1 and I0_1 bits
*Note: TRAP and RESET events can interrupt a
level 3 program.                                                ...                ...
                                                        FFE1h-FFE0h    I1_13 and I0_13 bits

                                                       Each I1_x and I0_x bit value in the ISPRx regis-
                                                         ters has the same meaning as the I1 and I0 bits
                                                         in the CC register.

                                                       Level 0 can not be written (I1_x=1, I0_x=0). In
                                                         this case, the previously stored value is kept. (ex-
                                                         ample: previous=CFh, write=64h, result=44h)

                                                       The RESET, and TRAP 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 be-
                                                       haviour 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 previ-
                                                       ous one, the interrupt x is re-entered. Otherwise,
                                                       the software priority stays unchanged up to the
                                                       next interrupt request (after the IRET of the inter-
                                                       rupt x).

28/151

1
                                                                        ST72F324L, ST72324BL

INTERRUPTS (Cont'd)

Table 7. 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
JRM          Jump if I1:0=11 (level 3)        Pop CC, A, X, PC       I1 H I0 N Z C
JRNM         Jump if I1:0<>11                 I1:0=11 ?
POP CC       Pop CC from the Stack            I1:0<>11 ?             I1 H I0 N Z C
RIM          Enable interrupt (level 0 set)   Mem => CC
SIM          Disable interrupt (level 3 set)  Load 10 in I1:0 of CC  1  0
TRAP         Software trap                    Load 11 in I1:0 of CC
WFI          Wait for interrupt               Software NMI           1  1

                                                                     1  1

                                                                     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 instructions.

                                                                           29/151

                                                                                1
ST72F324L, ST72324BL

INTERRUPTS (Cont'd)

Table 8. Interrupt Mapping

N      Source              Description                  Register  Priority   Exit          Exit  Address
         Block                                             Label    Order    from          from   Vector
                                                                             HALT         Active
                                                                                          HALT

        RESET    Reset                                                               yes   yes    FFFEh-FFFFh
         TRAP    Software interrupt                      N/A                               no     FFFCh-FFFDh
                                                                                                  FFFAh-FFFBh
                                                                                      no   yes
                                                                                          yes1)   FFF8h-FFF9h
0                           Not used                                                      yes1)
                                                                                          yes1)   FFF6h-FFF7h
1       MCC/RTC  Main clock controller time base inter-  MCCSR     Higher    no           yes1)   FFF4h-FFF5h
                 rupt                                                                             FFF2h-FFF3h
                                                                   Priority               yes1)   FFF0h-FFF1h
2       ei0      External interrupt port A3..0                               yes           no     FFEEh-FFEFh
                                                                                           no     FFECh-FFEDh
3       ei1      External interrupt port F2..0           N/A                 yes           no     FFEAh-FFEBh
                                                                                                  FFE8h-FFE9h
4       ei2      External interrupt port B3..0                               yes
                                                                                                  FFE6h-FFE7h
5       ei3      External interrupt port B7..4                               yes

6                           Not used

7       SPI      SPI peripheral interrupts               SPICSR              yes

8 TIMER A TIMER A peripheral interrupts                  TASR                no

9 TIMER B TIMER B peripheral interrupts                  TBSR                no

10      SCI      SCI Peripheral interrupts               SCISR     Lower     no
                                                                   Priority

Notes:

1. Valid for ROM devices. For Flash devices only a RESET or MCC/RTC interrupt can be used to wake-
up from Active Halt mode.

7.6 EXTERNAL INTERRUPTS                                   Falling edge and low level

7.6.1 I/O Port Interrupt Sensitivity                      Rising edge and high level (only for ei0 and ei2)

The external interrupt sensitivity is controlled by      To guarantee correct functionality, the sensitivity
the IPA, IPB and ISxx bits of the EICR register          bits in the EICR register can be modified only
(Figure 17). This control allows to have up to 4 fully   when the I1 and I0 bits of the CC register are both
independent external interrupt source sensitivities.     set to 1 (level 3). This means that interrupts must
                                                         be disabled before changing sensitivity.
Each external interrupt source can be generated
on four (or five) different events on the pin:           The pending interrupts are cleared by writing a dif-
Falling edge                                            ferent value in the ISx[1:0], IPA or IPB bits of the
Rising edge                                             EICR.
Falling and rising edge

30/151

1
Figure 17. External Interrupt Control bits       ST72F324L, ST72324BL

    PORT A3 INTERRUPT               EICR            ei0 INTERRUPT SOURCE
           PAOR.3              IS20 IS21           ei1 INTERRUPT SOURCE
                               SENSITIVITY          ei2 INTERRUPT SOURCE
         PADDR.3                CONTROL            ei3 INTERRUPT SOURCE
PA3
                                    EICR
                      IPA BIT  IS20 IS21
   PORT F [2:0] INTERRUPTS
                               SENSITIVITY  PF2
           PFOR.2
         PFDDR.2               CONTROL      PF1
PF2

                                            PF0

    PORT B [3:0] INTERRUPTS         EICR
            PBOR.3             IS10 IS11

          PBDDR.3              SENSITIVITY  PB3
PB3
                               CONTROL      PB2
                      IPB BIT
                                            PB1
   PORT B [7:4] INTERRUPTS
           PBOR.7                           PB0

         PBDDR.7                    EICR
PB7                            IS10 IS11

                               SENSITIVITY  PB7

                               CONTROL      PB6

                                            PB5

                                            PB4

                                                 31/151

                                                      1
ST72F324L, ST72324BL

INTERRUPTS (Cont'd)

7.7 EXTERNAL INTERRUPT CONTROL REGISTER (EICR)

Read / Write                                              Bit 4:3 = IS2[1:0] ei0 and ei1 sensitivity
Reset Value: 0000 0000 (00h)                              The interrupt sensitivity, defined using the IS2[1:0]
                                                          bits, is applied to the following external interrupts:

7                                                   0

IS11 IS10 IPB IS21 IS20 IPA 0                       0

                                                          - ei0 (port A3..0)

Bit 7:6 = IS1[1:0] ei2 and ei3 sensitivity                                    External Interrupt Sensitivity
The interrupt sensitivity, defined using the IS1[1:0]
bits, is applied to the following external interrupts:    IS21 IS20           IPA bit =0  IPA bit =1
- ei2 (port B3..0)
                                                            00
                    External Interrupt Sensitivity          01       Falling edge &       Rising edge
                                                            10          low level         & high level
IS11 IS10                                                   11
           IPB bit =0         IPB bit =1                             Rising edge only Falling edge only
  00
  01       Falling edge &     Rising edge                            Falling edge only Rising edge only
  10          low level       & high level
  11                                                                          Rising and falling edge

           Rising edge only Falling edge only

           Falling edge only Rising edge only

                    Rising and falling edge               - ei1 (port F2..0)

- ei3 (port B7..4)                                        IS21 IS20           External Interrupt Sensitivity

IS11 IS10           External Interrupt Sensitivity          00                    Falling edge & low level
                                                            01                         Rising edge only
  00                    Falling edge & low level            10                         Falling edge only
  01                         Rising edge only               11
  10                         Falling edge only                                     Rising and falling edge
  11
                         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).

These 2 bits can be written only when I1 and I0 of        Bit 2 = IPA Interrupt polarity for port A
the CC register are both set to 1 (level 3).              This bit is used to invert the sensitivity of the port A
                                                          [3:0] external interrupts. It can be set and cleared
Bit 5 = IPB Interrupt polarity for port B                 by software only when I1 and I0 of the CC register
This bit is used to invert the sensitivity of the port B  are both set to 1 (level 3).
[3:0] external interrupts. It can be set and cleared      0: No sensitivity inversion
by software only when I1 and I0 of the CC register        1: Sensitivity inversion
are both set to 1 (level 3).
0: No sensitivity inversion                               Bits 1:0 = Reserved, must always be kept cleared.
1: Sensitivity inversion

32/151

1
                                                                   ST72F324L, ST72324BL

INTERRUPTS (Cont'd)

Table 9. Nested Interrupts Register Map and Reset Values

Address  Register     7           6      5           4      3           2      1           0
(Hex.)    Label

                             ei1                ei0                MCC

0024h    ISPR0        I1_3        I0_3   I1_2        I0_2   I1_1        I0_1
         Reset Value
                      1           1      1           1      1           1      1           1

                             SPI                                   ei3                ei2

0025h    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

                                                SCI            TIMER B            TIMER A

0026h    ISPR2        I1_11       I0_11  I1_10       I0_10  I1_9        I0_9   I1_8        I0_8
                                    1      1           1
         Reset Value  1                                     1           1      1           1

0027h ISPR3                                                 I1_13       I0_13  I1_12       I0_12
                                                              1           1      1           1
         Reset Value  1           1      1           1
                                                            IS20         IPA     0           0
0028h    EICR         IS11        IS10   IPB         IS21     0           0
         Reset Value    0           0     0            0

                                                                                           33/151

                                                                                                1
ST72F324L, ST72324BL

8 POWER SAVING MODES

8.1 INTRODUCTION                                        8.2 SLOW MODE

To give a large measure of flexibility to the applica-  This mode has two targets:
tion in terms of power consumption, four main
power saving modes are implemented in the ST7            To reduce power consumption by decreasing the
(see Figure 18): SLOW, WAIT (SLOW WAIT), AC-              internal clock in the device,
TIVE HALT and HALT.
                                                         To adapt the internal clock frequency (fCPU) to
After a RESET the normal operating mode is se-            the available supply voltage.
lected by default (RUN mode). This mode drives
the device (CPU and embedded peripherals) by            SLOW mode is controlled by three bits in the
means of a master clock which is based on the           MCCSR register: the SMS bit which enables or
main oscillator frequency divided or multiplied by 2    disables Slow mode and two CPx bits which select
(fOSC2).                                                the internal slow frequency (fCPU).
From RUN mode, the different power saving               In this mode, the master clock frequency (fOSC2)
modes may be selected by setting the relevant           can be divided by 2, 4, 8 or 16. The CPU and pe-
register bits or by calling the specific ST7 software   ripherals are clocked at this lower frequency
instruction whose action depends on the oscillator      (fCPU).
status.                                                 Note: SLOW-WAIT mode is activated when enter-
                                                        ing the WAIT mode while the device is already in
Figure 18. Power Saving Mode Transitions                SLOW mode.

                                            High        Figure 19. SLOW Mode Clock Transitions

                                RUN                                   fOSC2/2      fOSC2/4  fOSC2

                                                               fCPU

                  SLOW                                         fOSC2
                    WAIT
          SLOW WAIT                                     MCCSR  CP1:0  00       01
        ACTIVE HALT
                                                               SMS

                                                                       NEW SLOW    NORMAL RUN MODE
                                                                      FREQUENCY           REQUEST

                                                                        REQUEST

               HALT

                           Low
        POWER CONSUMPTION

34/151

1
                                                                         ST72F324L, ST72324BL

POWER SAVING MODES (Cont'd)

8.3 WAIT MODE                                           Figure 20. WAIT Mode Flow-chart

WAIT mode places the MCU in a low power con-            WFI INSTRUCTION  OSCILLATOR       ON
sumption mode by stopping the CPU.                                       PERIPHERALS      ON
This power saving mode is selected by calling the                        CPU              OFF
`WFI' instruction.                                                       I[1:0] BITS       10
All peripherals remain active. During WAIT mode,
the I[1:0] bits of the CC register are forced to `10',                   N
to enable all interrupts. All other registers and                                  RESET
memory remain unchanged. The MCU remains in
WAIT mode until an interrupt or RESET occurs,           N                     Y
whereupon the Program Counter branches to the
starting address of the interrupt or Reset service         INTERRUPT
routine.
The MCU will remain in WAIT mode until a Reset             Y
or an Interrupt occurs, causing it to wake up.                                OSCILLATOR ON

Refer to Figure 20.                                                      PERIPHERALS OFF

                                                                         CPU              ON

                                                                         I[1:0] BITS      10

                                                                         256 OR 4096 CPU CLOCK
                                                                                 CYCLE DELAY

                                                                         OSCILLATOR        ON
                                                                         PERIPHERALS
                                                                         CPU               ON
                                                                         I[1:0] BITS       ON
                                                                                          XX 1)

                                                                                          FETCH RESET VECTOR
                                                                                          OR SERVICE INTERRUPT

                                                        Note:

                                                        1. Before servicing an interrupt, the CC register is
                                                        pushed on the stack. The I[1:0] bits of the CC reg-
                                                        ister are set to the current software priority level of
                                                        the interrupt routine and recovered when the CC
                                                        register is popped.

                                                                                          35/151

                                                                                               1
ST72F324L, ST72324BL

POWER SAVING MODES (Cont'd)

8.4 ACTIVE-HALT AND HALT MODES                        pending on option byte). Otherwise, the ST7 en-
                                                      ters HALT mode for the remaining tDELAY period.
ACTIVE-HALT and HALT modes are the two low-
est power consumption modes of the MCU. They          Figure 21. ACTIVE-HALT Timing Overview
are both entered by executing the `HALT' instruc-
tion. The decision to enter either in ACTIVE-HALT               ACTIVE 256 OR 4096 CPU     RUN
or HALT mode is given by the MCC/RTC interrupt        RUN HALT CYCLE DELAY 1)
enable flag (OIE bit in MCCSR register).

MCCSR Power Saving Mode entered when HALT                                  RESET
                                                                              OR
OIE bit  instruction is executed                             HALT                      FETCH
                                                      INSTRUCTION       INTERRUPT     VECTOR
                                                      [MCCSR.OIE=1]
0 HALT mode
1 ACTIVE-HALT mode

                                                      Figure 22. ACTIVE-HALT Mode Flow-chart

8.4.1 ACTIVE-HALT MODE                                HALT INSTRUCTION  OSCILLATOR         ON
                                                         (MCCSR.OIE=1)  PERIPHERALS 2)     OFF
ACTIVE-HALT mode is the lowest power con-                                                  OFF
sumption mode of the MCU with a real time clock                         CPU                 10
available. It is entered by executing the `HALT' in-
struction when the OIE bit of the Main Clock Con-                       I[1:0] BITS
troller Status register (MCCSR) is set (see Section
10.2 on page 50 for more details on the MCCSR                           N
register).                                                                          RESET

The MCU can exit ACTIVE-HALT mode on recep-           N  INTERRUPT 3)              Y
tion of either an MCC/RTC interrupt, a specific in-
terrupt (see Table 8, "Interrupt Mapping," on                           OSCILLATOR         ON
page 30) or a RESET. When exiting ACTIVE-
HALT mode by means of an interrupt, no 256 or            Y              PERIPHERALS        OFF
4096 CPU cycle delay occurs. The CPU resumes
operation by servicing the interrupt or by fetching                     CPU                ON
the reset vector which woke it up (see Figure 22).
                                                                        I[1:0] BITS        XX 4)
When entering ACTIVE-HALT mode, the I[1:0] bits
in the CC register are forced to `10b' to enable in-                    256 OR 4096 CPU CLOCK
terrupts. Therefore, if an interrupt is pending, the                            CYCLE DELAY
MCU wakes up immediately.
                                                                        OSCILLATOR          ON
In ACTIVE-HALT mode, only the main oscillator                           PERIPHERALS
and its associated counter (MCC/RTC) are run-                           CPU                 ON
ning to keep a wake-up time base. All other periph-                     I[1:0] BITS         ON
erals are not clocked except those which get their                                         XX 4)
clock supply from another clock generator (such
as external or auxiliary oscillator).                                                             FETCH RESET VECTOR

The safeguard against staying locked in ACTIVE-                                                   OR SERVICE INTERRUPT
HALT mode is provided by the oscillator interrupt.
                                                      Notes:
Note: As soon as the interrupt capability of one of
the oscillators is selected (MCCSR.OIE bit set),      1. This delay occurs only if the MCU exits ACTIVE-
entering ACTIVE-HALT mode while the Watchdog          HALT mode by means of a RESET.
is active does not generate a RESET.                  2. Peripheral clocked with an external clock source
This means that the device cannot spend more          can still be active.
than a defined delay in this power saving mode.       3. Only the MCC/RTC interrupt and some specific
                                                      interrupts can exit the MCU from ACTIVE-HALT
CAUTION: When exiting ACTIVE-HALT mode fol-           mode (such as external interrupt). Refer to
lowing an interrupt, OIE bit of MCCSR register        Table 8, "Interrupt Mapping," on page 30 for more
must not be cleared before tDELAY after the inter-    details.
rupt occurs (tDELAY = 256 or 4096 tCPU delay de-      4. Before servicing an interrupt, the CC register is
                                                      pushed on the stack. The I[1:0] bits of the CC reg-
                                                      ister are set to the current software priority level of
                                                      the interrupt routine and restored when the CC
                                                      register is popped.

36/151

1
                                                                     ST72F324L, ST72324BL

POWER SAVING MODES (Cont'd)                           Figure 24. HALT Mode Flow-chart

8.4.2 HALT MODE                                       HALT INSTRUCTION                 WATCHDOG
                                                         (MCCSR.OIE=0)
The HALT mode is the lowest power consumption
mode of the MCU. It is entered by executing the                                ENABLE
`HALT' instruction when the OIE bit of the Main
Clock Controller Status register (MCCSR) is              WDGHALT 1)    0                   DISABLE
cleared (see Section 10.2 on page 50 for more de-
tails on the MCCSR register).                            1

The MCU can exit HALT mode on reception of ei-        WATCHDOG            OSCILLATOR OFF
ther a specific interrupt (see Table 8, "Interrupt        RESET
Mapping," on page 30) or a RESET. When exiting                            PERIPHERALS 2) OFF
HALT mode by means of a RESET or an interrupt,
the oscillator is immediately turned on and the 256                       CPU              OFF
or 4096 CPU cycle delay is used to stabilize the
oscillator. After the start up delay, the CPU                             I[1:0] BITS      10
resumes operation by servicing the interrupt or by
fetching the reset vector which woke it up (see Fig-                      N
ure 24).                                                                            RESET

When entering HALT mode, the I[1:0] bits in the       N                                Y
CC register are forced to `10b'to enable interrupts.
Therefore, if an interrupt is pending, the MCU           INTERRUPT 3)
wakes up immediately.
                                                            Y             OSCILLATOR ON
In HALT mode, the main oscillator is turned off
causing all internal processing to be stopped, in-                        PERIPHERALS OFF
cluding the operation of the on-chip peripherals.
All peripherals are not clocked except the ones                           CPU              ON
which get their clock supply from another clock
generator (such as an external or auxiliary oscilla-                      I[1:0] BITS      XX 4)
tor).
                                                                       256 OR 4096 CPU CLOCK
The compatibility of Watchdog operation with                                   CYCLE DELAY
HALT mode is configured by the "WDGHALT" op-
tion bit of the option byte. The HALT instruction                         OSCILLATOR        ON
when executed while the Watchdog system is en-                            PERIPHERALS
abled, can generate a Watchdog RESET (see                                 CPU               ON
Section 14.1 on page 139 for more details).                               I[1:0] BITS       ON
                                                                                           XX 4)
Figure 23. HALT Timing Overview

RUN  HALT      256 OR 4096 CPU  RUN                                                       FETCH RESET VECTOR
                 CYCLE DELAY
                                                                                         OR SERVICE INTERRUPT
       HALT       RESET
INSTRUCTION          OR                               Notes:
[MCCSR.OIE=0]
               INTERRUPT                              1. WDGHALT is an option bit. See option byte sec-
                                                      tion for more details.
                           FETCH                      2. Peripheral clocked with an external clock source
                          VECTOR                      can still be active.
                                                      3. Only some specific interrupts can exit the MCU
                                                      from HALT mode (such as external interrupt). Re-
                                                      fer to Table 8, "Interrupt Mapping," on page 30 for
                                                      more details.
                                                      4. Before servicing an interrupt, the CC register is
                                                      pushed on the stack. The I[1:0] bits of the CC reg-
                                                      ister are set to the current software priority level of
                                                      the interrupt routine and recovered when the CC
                                                      register is popped.

                                                                                           37/151

                                                                                                1
ST72F324L, ST72324BL

POWER SAVING MODES (Cont'd)                            The opcode for the HALT instruction is 0x8E. To
                                                         avoid an unexpected HALT instruction due to a
8.4.2.1 Halt Mode Recommendations                        program counter failure, it is advised to clear all
                                                         occurrences of the data value 0x8E from memo-
Make sure that an external event is available to       ry. For example, avoid defining a constant in
  wake up the microcontroller from Halt mode.            ROM with the value 0x8E.

When using an external interrupt to wake up the       As the HALT instruction clears the interrupt mask
  microcontroller, reinitialize the corresponding I/O    in the CC register to allow interrupts, the user
  as "Input Pull-up with Interrupt" before executing     may choose to clear all pending interrupt bits be-
  the HALT instruction. The main reason for this is      fore executing the HALT instruction. This avoids
  that the I/O may be wrongly configured due to ex-      entering other peripheral interrupt routines after
  ternal interference or by an unforeseen logical        executing the external interrupt routine corre-
  condition.                                             sponding to the wake-up event (reset or external
                                                         interrupt).
For the same reason, reinitialize the level sensi-
  tiveness of each external interrupt as a precau-
  tionary measure.

38/151

1
                                                           ST72F324L, ST72324BL

9 I/O PORTS

9.1 INTRODUCTION                                       Each pin can independently generate an interrupt
                                                       request. The interrupt sensitivity is independently
The I/O ports offer different functional modes:        programmable using the sensitivity bits in the
transfer of data through digital inputs and outputs  EICR register.

and for specific pins:                                 Each external interrupt vector is linked to a dedi-
external interrupt generation                        cated group of I/O port pins (see pinout description
alternate signal input/output for the on-chip pe-    and interrupt section). If several input pins are se-
                                                       lected simultaneously as interrupt sources, these
  ripherals.                                           are first detected according to the sensitivity bits in
                                                       the EICR register and then logically ORed.
An I/O port contains up to 8 pins. Each pin can be
programmed independently as digital input (with or     The external interrupts are hardware interrupts,
without interrupt generation) or digital output.       which means that the request latch (not accessible
                                                       directly by the application) is automatically cleared
9.2 FUNCTIONAL DESCRIPTION                             when the corresponding interrupt vector is
                                                       fetched. To clear an unwanted pending interrupt
Each port has 2 main registers:                        by software, the sensitivity bits in the EICR register
                                                       must be modified.
Data Register (DR)
                                                       9.2.2 Output Modes
Data Direction Register (DDR)
                                                       The output configuration is selected by setting the
and one optional register:                             corresponding DDR register bit. In this case, writ-
                                                       ing the DR register applies this digital value to the
Option Register (OR)                                 I/O pin through the latch. Then reading the DR reg-
                                                       ister returns the previously stored value.
Each I/O pin may be programmed using the corre-
sponding register bits in the DDR and OR regis-        Two different output modes can be selected by
ters: bit X corresponding to pin X of the port. The    software through the OR register: Output push-pull
same correspondence is used for the DR register.       and open-drain.

The following description takes into account the       DR register value and output pin status:
OR register, (for specific ports which do not pro-
vide this register refer to the I/O Port Implementa-   DR  Push-pull  Open-drain
tion section). The generic I/O block diagram is                            Vss
shown in Figure 25                                     0   VSS
                                                                        Floating
9.2.1 Input Modes                                      1   VDD

The input configuration is selected by clearing the    9.2.3 Alternate Functions
corresponding DDR register bit.
                                                       When an on-chip peripheral is configured to use a
In this case, reading the DR register returns the      pin, the alternate function is automatically select-
digital value applied to the external I/O pin.         ed. This alternate function takes priority over the
                                                       standard I/O programming.
Different input modes can be selected by software
through the OR register.                               When the signal is coming from an on-chip periph-
                                                       eral, the I/O pin is automatically configured in out-
Notes:                                                 put mode (push-pull or open drain according to the
1. Writing the DR register modifies the latch value    peripheral).
but does not affect the pin status.
2. When switching from input to output mode, the       When the signal is going to an on-chip peripheral,
DR register has to be written first to drive the cor-  the I/O pin must be configured in input mode. In
rect level on the pin as soon as the port is config-   this case, the pin state is also digitally readable by
ured as an output.                                     addressing the DR register.
3. Do not use read/modify/write instructions (BSET
or BRES) to modify the DR register                     Note: Input pull-up configuration can cause unex-
                                                       pected value at the input of the alternate peripheral
External interrupt function                            input. When an on-chip peripheral use a pin as in-
                                                       put and output, this pin has to be configured in in-
When an I/O is configured as Input with Interrupt,     put floating mode.
an event on this I/O can generate an external inter-
rupt request to the CPU.

                                                                      39/151

                                                                           1
ST72F324L, ST72324BL

I/O PORTS (Cont'd)
Figure 25. I/O Port General Block Diagram

REGISTER           ALTERNATE               1                      VDD        P-BUFFER
ACCESS             OUTPUT

                                           0                                 (see table below)

                   ALTERNATE                                                           PULL-UP
                   ENABLE                                                              (see table below)

          DR                                                                         VDD

          DDR

                                                       PULL-UP                               PAD
                                                       CONDITION
               OR
DATA BUS  OR SEL   If implemented

          DDR SEL                                      N-BUFFER                      DIODES
                                                                                     (see table below)
          DR SEL   1                                                 CMOS
                                                                    SCHMITT                 ANALOG
                                                                    TRIGGER                    INPUT

                   0                                                                    ALTERNATE
                                                                                                INPUT

EXTERNAL
INTERRUPT
SOURCE (eix)

Table 10. I/O Port Mode Options

          Configuration Mode                  Pull-Up  P-Buffer                      Diodes
                                                 Off
                                                 On       Off                to VDD          to VSS
                                                 Off      On
Input     Floating with/without Interrupt        NI       Off           On
Output    Pull-up with/without Interrupt                   NI                                  On
          Push-pull
          Open Drain (logic level)                                NI (see note)
          True Open Drain

Legend: NI - not implemented                  Note: The diode to VDD is not implemented in the
             Off - implemented not activated  true open drain pads. A local protection between
             On - implemented and activated   the pad and VSS is implemented to protect the de-
                                              vice against positive stress.

40/151

1
                                                                             ST72F324L, ST72324BL

I/O PORTS (Cont'd)
Table 11. I/O Port Configurations

                      NOT IMPLEMENTED IN        VDD    Hardware Configuration
                      TRUE OPEN DRAIN             RPU
                      I/O PORTS                                                                    DR REGISTER ACCESS

                                           PAD         PULL-UP    DR         W
                                                       CONDITION
                                                                  REGISTER
                                                                                 DATA BUS

                                                                             R

INPUT 1)                                                                                         ALTERNATE INPUT

                                                                      EXTERNAL INTERRUPT
                                                                      SOURCE (eix)

                                                       INTERRUPT
                                                       CONDITION

                      NOT IMPLEMENTED IN        VDD                                         ANALOG INPUT
                      TRUE OPEN DRAIN             RPU                        DR REGISTER ACCESS
                      I/O PORTS
OPEN-DRAIN OUTPUT 2)                                                         DR  R/W                                   DATA BUS
                                           PAD
                                                                      REGISTER

                                                                  ALTERNATE      ALTERNATE
                                                                    ENABLE         OUTPUT

                      NOT IMPLEMENTED IN        VDD                          DR REGISTER ACCESS
                      TRUE OPEN DRAIN             RPU
PUSH-PULL OUTPUT 2)   I/O PORTS
                                                                             DR  R/W                                   DATA BUS
                                           PAD
                                                                      REGISTER

                                                                  ALTERNATE      ALTERNATE
                                                                    ENABLE         OUTPUT

Notes:

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.

                                                                                                                       41/151

                                                                                                                            1
ST72F324L, ST72324BL

I/O PORTS (Cont'd)                                     Figure 26. Interrupt I/O Port State Transitions

CAUTION: The alternate function must not be ac-        01                 00                10         11
tivated as long as the pin is configured as input
with interrupt, in order to avoid generating spurious       INPUT           INPUT        OUTPUT     OUTPUT
interrupts.                                            floating/pull-up     floating    open-drain  push-pull
                                                                         (reset state)
Analog alternate function                                  interrupt

When the pin is used as an ADC input, the I/O                                           XX = DDR, OR
must be configured as floating input. The analog
multiplexer (controlled by the ADC registers)          9.4 LOW POWER MODES
switches the analog voltage present on the select-
ed pin to the common analog rail which is connect-       Mode                      Description
ed to the ADC input.                                   WAIT
                                                       HALT    No effect on I/O ports. External interrupts
It is recommended not to change the voltage level              cause the device to exit from WAIT mode.
or loading on any port pin while conversion is in              No effect on I/O ports. External interrupts
progress. Furthermore it is recommended not to                 cause the device to exit from HALT mode.
have clocking pins located close to a selected an-
alog pin.                                              9.5 INTERRUPTS

WARNING: The analog input voltage level must           The external interrupt event generates an interrupt
be within the limits stated in the absolute maxi-      if the corresponding configuration is selected with
mum ratings.                                           DDR and OR registers and the interrupt mask in
                                                       the CC register is not active (RIM instruction).
9.3 I/O PORT IMPLEMENTATION
                                                       Interrupt Event        Event     Enable      Exit  Exit
The hardware implementation on each I/O port de-                               Flag     Control     from  from
pends on the settings in the DDR and OR registers                                                   Wait  Halt
and specific feature of the I/O port such as ADC In-                                       Bit
put or true open drain.                                                                                   Yes
                                                       External interrupt on            DDRx
Switching these I/O ports from one state to anoth-                                       ORx
er should be done in a sequence that prevents un-      selected external      -                     Yes
wanted side effects. Recommended safe transi-
tions are illustrated in Figure 26 Other transitions   event
are potentially risky and should be avoided, since
they are likely to present unwanted side-effects
such as spurious interrupt generation.

42/151

1
                                                                            ST72F324L, ST72324BL

I/O PORTS (Cont'd)

9.5.1 I/O Port Implementation                    PA3, PB3, PF2 (without pull-up)                DDR  OR
                                                                                                  0   0
The I/O port register configurations are summa-                       MODE                        0   1
rised as follows.                                 floating input                                  1   0
                                                  floating interrupt input                        1   1
Standard Ports                                    open drain output
                                                  push-pull output                                   DDR
PA5:4, PC7:0, PD5:0,                                                                                   0
PE1:0, PF7:6, 4                                                                                        1

                   MODE           DDR OR
floating input
pull-up input                     0         0
open drain output
push-pull output                  0         1    True Open Drain Ports
                                                 PA7:6
                                  1         0
                                                                            MODE
                                  1         1     floating input
                                                  open drain (high sink ports)
Interrupt Ports
PB4, PB2:0, PF1:0 (with pull-up)

                   MODE           DDR OR
floating input
pull-up interrupt input           0         0
open drain output
push-pull output                  0         1

                                  1         0

                                  1         1

Table 12. Port Configuration

Port             Pin name                      Input                                    Output
                                                            OR = 1
Port A          PA7:6             OR = 0                                    OR = 0              OR = 1
                PA5:4                          floating
Port B          PA3               floating                    pull-up             true open-drain
Port C          PB3               floating
Port D          PB4, PB2:0        floating              floating interrupt  open drain          push-pull
Port E          PC7:0             floating              floating interrupt
Port F          PD5:0             floating              pull-up interrupt   open drain          push-pull
                PE1:0             floating
                PF7:6, 4          floating                    pull-up       open drain          push-pull
                PF2               floating                    pull-up
                PF1:0             floating                    pull-up       open drain          push-pull
                                  floating                    pull-up
                                                        floating interrupt  open drain          push-pull
                                                        pull-up interrupt
                                                                            open drain          push-pull

                                                                            open drain          push-pull

                                                                            open drain          push-pull

                                                                            open drain          push-pull

                                                                            open drain          push-pull

                                                                                                     43/151

                                                                                                          1
ST72F324L, ST72324BL

I/O PORTS (Cont'd)

Table 13. 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 I/O 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

44/151

1
                                                            ST72F324L, ST72324BL

10 ON-CHIP PERIPHERALS

10.1 WATCHDOG TIMER (WDG)                            If the watchdog is activated (the WDGA bit is set)
                                                     and when the 7-bit timer (bits T[6:0]) rolls over
10.1.1 Introduction                                  from 40h to 3Fh (T6 becomes cleared), it initiates
The Watchdog timer is used to detect the occur-      a reset cycle pulling low the reset pin for typically
rence of a software fault, usually generated by ex-  500ns.
ternal interference or by unforeseen logical condi-
tions, which causes the application program to       The application program must write in the
abandon its normal sequence. The Watchdog cir-       WDGCR register at regular intervals during normal
cuit generates an MCU reset on expiry of a pro-      operation to prevent an MCU reset. This down-
grammed time period, unless the program refresh-     counter is free-running: it counts down even if the
es the counter's contents before the T6 bit be-      watchdog is disabled. The value to be stored in the
comes cleared.                                       WDGCR register must be between FFh and C0h:
10.1.2 Main Features
Programmable free-running downcounter                The WDGA bit is set (watchdog enabled)
Programmable reset
Reset (if watchdog activated) when the T6 bit       The T6 bit is set to prevent generating an imme-
                                                       diate reset
   reaches zero
Optional reset on HALT instruction                   The T[5:0] bits contain the number of increments
                                                       which represents the time delay before the
   (configurable by option byte)                       watchdog produces a reset (see Figure 28. Ap-
Hardware Watchdog selectable by option byte           proximate Timeout Duration). The timing varies
                                                       between a minimum and a maximum value due
10.1.3 Functional Description                          to the unknown status of the prescaler when writ-
The counter value stored in the Watchdog Control       ing to the WDGCR register (see Figure 29).
register (WDGCR bits T[6:0]), is decremented
every 16384 fOSC2 cycles (approx.), and the          Following a reset, the watchdog is disabled. Once
length of the timeout period can be programmed       activated it cannot be disabled, except by a reset.
by the user in 64 increments.
                                                     The T6 bit can be used to generate a software re-
Figure 27. Watchdog Block Diagram                    set (the WDGA bit is set and the T6 bit is cleared).

                                                     If the watchdog is activated, the HALT instruction
                                                     will generate a Reset.

                                                     RESET

                fOSC2                                WATCHDOG CONTROL REGISTER (WDGCR)
MCC/RTC
                                            WDGA T6         T5 T4 T3 T2 T1 T0
                   DIV 64                                       6-BIT DOWNCOUNTER (CNT)

      12-BIT MCC                                            WDG PRESCALER
    RTC COUNTER                                                     DIV 4

    MSB      LSB              TB[1:0] bits
                              (MCCSR
11       65                0  Register)

                                                                                         45/151

                                                                                              1
ST72F324L, ST72324BL

WATCHDOG TIMER (Cont'd)                                more precision is needed, use the formulae in Fig-
                                                       ure 29.
10.1.4 How to Program the Watchdog Timeout
                                                       Caution: When writing to the WDGCR register, al-
Figure 28 shows the linear relationship between        ways write 1 in the T6 bit to avoid generating an
the 6-bit value to be loaded in the Watchdog Coun-     immediate reset.
ter (CNT) and the resulting timeout duration in mil-
liseconds. This can be used for a quick calculation
without taking the timing variations into account. If

Figure 28. Approximate Timeout Duration

                  3F

                  38

                  30

CNT Value (hex.)  28

                  20
                  18

                  10

                  08

                  00

                      1.5  18  34  50                  65  82        98  114 128

                               Watchdog timeout (ms) @ 8 MHz. fOSC2

46/151

1
                                                                                                    ST72F324L, ST72324BL

WATCHDOG TIMER (Cont'd)

Figure 29. 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            MSB           LSB
                                         Timebase
(MCCSR Reg.) (MCCSR Reg.)                                       4            59
                                             2ms                8            53
0                          0                 4ms               20            35
                                            10ms               49            54
0                          1                25ms

1                          0

1                          1

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

                           ELSE     tmax = 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:
With 2ms timeout selected in MCCSR register

Value of T[5:0] Bits in            Min. Watchdog   Max. Watchdog
WDGCR Register (Hex.)                Timeout (ms)    Timeout (ms)
                                                            tmax
               00                           tmin           2.048
               3F                          1.496
                                                          128.552
                                            128

                                                                                                                                                47/151

                                                                                                                                                     1
ST72F324L, ST72324BL

WATCHDOG TIMER (Cont'd)
10.1.5 Low Power Modes

Mode    Description
SLOW
WAIT    No effect on Watchdog.

HALT    No effect on Watchdog.

        OIE bit in   WDGHALT bit
         MCCSR          in Option
         register          Byte

                                   No Watchdog reset is generated. The MCU enters Halt mode. The Watch-

                                   dog counter is decremented once and then stops counting and is no longer

                                   able to generate a watchdog reset until the MCU receives an external inter-

        0                0         rupt or a reset.

                                   If an external interrupt is received, 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 applica-

                                   tion recommendations see Section 10.1.7 below.

        0                1         A reset is generated.

                                   No reset is generated. The MCU enters Active Halt mode. The Watchdog

                                   counter is not decremented. It stop counting. When the MCU receives an

        1                x         oscillator interrupt or external interrupt, the Watchdog restarts counting im-

                                   mediately. When the MCU receives a reset the Watchdog restarts counting

                                   after 256 or 4096 CPU clocks.

10.1.6 Hardware Watchdog Option                      10.1.9 Register Description
                                                     CONTROL REGISTER (WDGCR)
If Hardware Watchdog is selected by option byte,     Read / Write
the watchdog is always active and the WDGA bit in    Reset Value: 0111 1111 (7Fh)
the WDGCR is not used. Refer to the Option Byte
description.                                              7                        0

10.1.7 Using Halt Mode with the WDG                  WDGA T6 T5 T4 T3 T2 T1 T0
(WDGHALT option)
                                                     Bit 7 = WDGA Activation bit.
The following recommendation applies if Halt         This bit is set by software and only cleared by
mode is used when the watchdog is enabled.           hardware after a reset. When WDGA = 1, the
                                                     watchdog can generate a reset.
Before executing the HALT instruction, refresh     0: Watchdog disabled
  the WDG counter, to avoid an unexpected WDG        1: Watchdog enabled
  reset immediately after waking up the microcon-
  troller.                                           Note: This bit is not used if the hardware watch-
                                                     dog option is enabled by option byte.
10.1.8 Interrupts
                                                     Bit 6:0 = T[6:0] 7-bit counter (MSB to LSB).
None.                                                These bits contain the value of the watchdog
                                                     counter. It is decremented every 16384 fOSC2 cy-
                                                     cles (approx.). A reset is produced when it rolls
                                                     over from 40h to 3Fh (T6 becomes cleared).

48/151

1
                                                            ST72F324L, ST72324BL

Table 14. Watchdog Timer Register Map and Reset Values

Address  Register     7     6   5   4                   3   2   1   0
(Hex.)    Label

002Ah    WDGCR        WDGA  T6  T5  T4                  T3  T2  T1  T0
                            1   1   1                   1   1   1   1
         Reset Value  0

                                                                    49/151

                                                                         1
ST72F324L, ST72324BL

10.2 MAIN CLOCK CONTROLLER WITH REAL TIME CLOCK AND BEEPER (MCC/RTC)

The Main Clock Controller consists of three differ-   external devices. It is controlled by the MCO bit in
ent functions:                                        the MCCSR register.
                                                      CAUTION: When selected, the clock out pin sus-
a programmable CPU clock prescaler                   pends the clock during ACTIVE-HALT mode.

a clock-out signal to supply external devices        10.2.3 Real Time Clock Timer (RTC)

a real time clock timer with interrupt capability    The counter of the real time clock timer allows an
                                                      interrupt to be generated based on an accurate
Each function can be used independently and si-       real time clock. Four different time bases depend-
multaneously.                                         ing directly on fOSC2 are available. The whole
                                                      functionality is controlled by four bits of the MCC-
10.2.1 Programmable CPU Clock Prescaler               SR register: TB[1:0], OIE and OIF.

The programmable CPU clock prescaler supplies         When the RTC interrupt is enabled (OIE bit set),
the clock for the ST7 CPU and its internal periph-    the ST7 enters ACTIVE-HALT mode when the
erals. It manages SLOW power saving mode (See         HALT instruction is executed. See Section 8.4 AC-
Section 8.2 SLOW MODE for more details).              TIVE-HALT AND HALT MODES for more details.

The prescaler selects the fCPU main clock frequen-    10.2.4 Beeper
cy and is controlled by three bits in the MCCSR
register: CP[1:0] and SMS.                            The beep function is controlled by the MCCBCR
                                                      register. It can output three selectable frequencies
10.2.2 Clock-out Capability                           on the BEEP pin (I/O port alternate function).

The clock-out capability is an alternate function of
an I/O port pin that outputs a fOSC2 clock to drive

Figure 30. Main Clock Controller (MCC/RTC) Block Diagram

        MCCBCR                           BC1 BC0
                                    BEEP SIGNAL
                                     SELECTION                           BEEP
                                                                         MCO

                DIV 64              12-BIT MCC RTC              TO
                                        COUNTER           WATCHDOG

                                                              TIMER

         MCO CP1 CP0 SMS TB1 TB0 OIE OIF              MCC/RTC INTERRUPT
        MCCSR                                              fCPU

fOSC2           DIV 2, 4, 8, 16  1

                                 0                                        CPU CLOCK
                                                                          TO CPU AND
                                                                         PERIPHERALS

50/151

1
                                                                     ST72F324L, ST72324BL

MAIN CLOCK CONTROLLER WITH REAL TIME CLOCK (Cont'd)

10.2.5 Low Power Modes

  Mode                       Description              Bit 6:5 = CP[1:0] CPU clock prescaler
WAIT                                                  These bits select the CPU clock prescaler which is
         No effect on MCC/RTC peripheral.             applied in the different slow modes. Their action is
ACTIVE-  MCC/RTC interrupt cause the device to exit   conditioned by the setting of the SMS bit. These
HALT     from WAIT mode.                              two bits are set and cleared by software

HALT     No effect on MCC/RTC counter (OIE bit is     fCPU in SLOW mode   CP1                CP0
         set), the registers are frozen.
         MCC/RTC interrupt cause the device to exit           fOSC2 / 2         0            0
         from ACTIVE-HALT mode.                               fOSC2 / 4
                                                              fOSC2 / 8         0            1
         MCC/RTC counter and registers are frozen.            fOSC2 / 16
         MCC/RTC operation resumes when the                                     1            0
         MCU is woken up by an interrupt with "exit
         from HALT" capability.                                                 1            1

10.2.6 Interrupts                                     Bit 4 = SMS Slow mode select
                                                      This bit is set and cleared by software.
The MCC/RTC interrupt event generates an inter-       0: Normal mode. fCPU = fOSC2
rupt if the OIE bit of the MCCSR register is set and  1: Slow mode. fCPU is given by CP1, CP0
the interrupt mask in the CC register is not active   See Section 8.2 SLOW MODE and Section 10.2
(RIM instruction).                                    MAIN CLOCK CONTROLLER WITH REAL TIME
                                                      CLOCK AND BEEPER (MCC/RTC) for more de-
  Interrupt Event   Event  Enable   Exit  Exit        tails.
                     Flag  Control  from  from
Time base overflow                  Wait  Halt
event                         Bit
                                    Yes   No 1)
                    OIF OIE                           Bit 3:2 = TB[1:0] Time base control

Note:                                                 These bits select the programmable divider time
                                                      base. They are set and cleared by software.
The MCC/RTC interrupt wakes up the MCU from
ACTIVE-HALT mode, not from HALT mode.                 Counter  Time Base

                                                      Prescaler fOSC2 =4MHz fOSC2=8MHz  TB1  TB0

                                                      16000    4ms        2ms           0         0

10.2.7 Register Description                           32000    8ms        4ms           0         1
MCC CONTROL/STATUS REGISTER (MCCSR)
Read / Write                                          80000    20ms       10ms          1         0
Reset Value: 0000 0000 (00h)
                                                      200000   50ms       25ms          1         1

7                                         0           A modification of the time base is taken into ac-
                                                      count 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.

MCO CP1 CP0 SMS TB1 TB0 OIE OIF                      Bit 1 = OIE Oscillator interrupt enable
                                                      This bit set and cleared by software.
Bit 7 = MCO Main clock out selection                  0: Oscillator interrupt disabled
This bit enables the MCO alternate function on the    1: Oscillator interrupt enabled
PF0 I/O port. It is set and cleared by software.      This interrupt can be used to exit from ACTIVE-
0: MCO alternate function disabled (I/O pin free for  HALT mode.
                                                      When this bit is set, calling the ST7 software HALT
   general-purpose I/O)                               instruction enters the ACTIVE-HALT power saving
1: MCO alternate function enabled (fCPU on I/O        mode.

   port)

Note: To reduce power consumption, the MCO
function is not active in ACTIVE-HALT mode.

                                                                                             51/151

                                                                                                  1
ST72F324L, ST72324BL

MAIN CLOCK CONTROLLER WITH REAL TIME CLOCK (Cont'd)

Bit 0 = OIF Oscillator interrupt flag                MCC BEEP CONTROL REGISTER (MCCBCR)
This bit is set by hardware and cleared by software  Read / Write
reading the MCCSR register. It indicates when set    Reset Value: 0000 0000 (00h)
that the main oscillator has reached the selected
elapsed time (TB1:0).                                7                                             0
0: Timeout not reached
1: Timeout reached                                   0     0     0    0       0  0 BC1 BC0

CAUTION: The BRES and BSET instructions              Bit 7:2 = Reserved, must be kept cleared.
must not be used on the MCCSR register to avoid
unintentionally clearing the OIF bit.

                                                     Bit 1:0 = BC[1:0] Beep control
                                                     These 2 bits select the PF1 pin beep capability.

                                                     BC1 BC0          Beep mode with fOSC2=8MHz

                                                        0     0                  Off

                                                        0     1        ~2-KHz          Output
                                                                      ~1-KHz        Beep signal
                                                        1     0       ~500-Hz    ~50% duty cycle

                                                        1     1

                                                     The beep output signal is available in ACTIVE-
                                                     HALT mode but has to be disabled to reduce the
                                                     consumption.

Table 15. Main Clock Controller Register Map and Reset Values

Address  Register     7    6    5                       4        3       2       1              0
(Hex.)    Label

002Ch    MCCSR        MCO  CP1  CP0                  SMS         TB1     TB0     OIE            OIF
         Reset Value    0    0    0                    0          0       0       0              0

002Dh    MCCBCR                                                                  BC1            BC0
         Reset Value
                      0    0    0                       0        0       0       0              0

52/151

1
                                                      ST72F324L, ST72324BL

10.3 16-BIT TIMER                                     When reading an input signal on a non-bonded
                                                      pin, the value will always be `1'.
10.3.1 Introduction
                                                      10.3.3 Functional Description
The timer consists of a 16-bit free-running counter
driven by a programmable prescaler.                   10.3.3.1 Counter

It may be used for a variety of purposes, including   The main block of the Programmable Timer is a
pulse length measurement of up to two input sig-      16-bit free running upcounter and its associated
nals (input capture) or generation of up to two out-  16-bit registers. The 16-bit registers are made up
put waveforms (output compare and PWM).               of two 8-bit registers called high & low.

Pulse lengths and waveform periods can be mod-        Counter Register (CR):
ulated from a few microseconds to several milli-
seconds using the timer prescaler and the CPU             Counter High Register (CHR) is the most sig-
clock prescaler.                                           nificant byte (MS Byte).

Some ST7 devices have two on-chip 16-bit timers.          Counter Low Register (CLR) is the least sig-
They are completely independent, and do not                nificant byte (LS Byte).
share any resources. They are synchronized after
a MCU reset as long as the timer clock frequen-       Alternate Counter Register (ACR)
cies are not modified.
                                                          Alternate Counter High Register (ACHR) is
This description covers one or two 16-bit timers. In       the most significant byte (MS Byte).
ST7 devices with two timers, register names are
prefixed with TA (Timer A) or TB (Timer B).               Alternate Counter Low Register (ACLR) is the
                                                           least significant byte (LS Byte).
10.3.2 Main Features
Programmable prescaler: fCPU divided by 2, 4 or 8.   These two read-only 16-bit registers contain the
Overflow status flag and maskable interrupt          same value but with the difference that reading the
External clock input (must be at least 4 times       ACLR register does not clear the TOF bit (Timer
                                                      overflow flag), located in the Status register, (SR),
   slower than the CPU clock speed) with the choice   (see note at the end of paragraph titled 16-bit read
   of active edge                                     sequence).
1 or 2 Output Compare functions each with:
                                                      Writing in the CLR register or ACLR register resets
    2 dedicated 16-bit registers                     the free running counter to the FFFCh value.
                                                      Both counters have a reset value of FFFCh (this is
    2 dedicated programmable signals                 the only value which is reloaded in the 16-bit tim-
                                                      er). The reset value of both counters is also
    2 dedicated status flags                         FFFCh in One Pulse mode and PWM mode.

    1 dedicated maskable interrupt                   The timer clock depends on the clock control bits
1 or 2 Input Capture functions each with:            of the CR2 register, as illustrated in Table 16 Clock
                                                      Control Bits. The value in the counter register re-
    2 dedicated 16-bit registers                     peats every 131072, 262144 or 524288 CPU clock
                                                      cycles depending on the CC[1:0] bits.
    2 dedicated active edge selection signals        The timer frequency can be fCPU/2, fCPU/4, fCPU/8
                                                      or an external frequency.
    2 dedicated status flags
                                                      Caution: In Flash devices, Timer A functionality
    1 dedicated maskable interrupt                   has the following restrictions:
Pulse width modulation mode (PWM)
One pulse mode                                        TAOC2HR and TAOC2LR registers are write
Reduced Power Mode                                     only
5 alternate functions on I/O ports (ICAP1, ICAP2,
                                                       Input Capture 2 is not implemented
   OCMP1, OCMP2, EXTCLK)*
                                                       The corresponding interrupts cannot be used
The Block Diagram is shown in Figure 31.                (ICF2, OCF2 forced by hardware to zero)

*Note: Some timer pins may not be available (not
bonded) in some ST7 devices. Refer to the device
pin out description.

                                                      53/151

                                                           1
ST72F324L, ST72324BL

16-BIT TIMER (Cont'd)
Figure 31. Timer Block Diagram

        fCPU                                              ST7 INTERNAL BUS
                                                    MCU-PERIPHERAL INTERFACE

                8 high                       8 low  88        88        88            88
              EXEDG                     8-bit
                                        buffer      high
                                                            low
                                             16                         high
                                                                                low
                                                                                           high
                                                                                                    low
                                                                                                                high
                                                                                                                         low

             1/2          COUNTER                    OUTPUT   OUTPUT      INPUT     INPUT
             1/4         REGISTER                   COMPARE   COMPARE   CAPTURE   CAPTURE
             1/8                                    REGISTER  REGISTER  REGISTER  REGISTER
                        ALTERNATE
        CC[1:0]          COUNTER                           1         2        1         2
                         REGISTER
EXTCLK                                                                        16      16
   pin                                 16

                                                    TIMER INTERNAL BUS
                                                          16 16

                  OVERFLOW              OUTPUT COMPARE                  EDGE DETECT                                           ICAP1
                    DETECT                     CIRCUIT                     CIRCUIT1                                            pin
                    CIRCUIT
                                                           6            EDGE DETECT                                           ICAP2
                                                                           CIRCUIT2                                            pin

        ICF1 OCF1 TOF ICF2 OCF2 TIMD 0 0                                      LATCH1                                          OCMP1
                             (Control/Status Register)                        LATCH2                                            pin
                                                        CSR
                                                                                                                              OCMP2
                                                                                                                                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)              Note: If IC, OC and TO interrupt requests have separate vectors
            TIMER INTERRUPT                         then the last OR is not present (See device Interrupt Vector Table)

54/151

1
                                                        ST72F324L, ST72324BL

16-BIT TIMER (Cont'd)                                   Clearing the overflow interrupt request is done in
                                                        two steps:
16-bit read sequence: (from either the Counter
Register or the Alternate Counter Register).            1. Reading the SR register while the TOF bit is set.
                                                        2. An access (read or write) to the CLR register.
Beginning of the sequence
                                                        Notes: The TOF bit is not cleared by accesses to
At t0  Read                LS Byte                      ACLR register. The advantage of accessing the
       MS Byte             is buffered                  ACLR register rather than the CLR register is that
                                                        it allows simultaneous use of the overflow function
          Other                                         and reading the free running counter at random
       instructions                                     times (for example, to measure elapsed time) with-
                                                        out the risk of clearing the TOF bit erroneously.
              Read         Returns the buffered
At t0 +t LS Byte           LS Byte value at t0          The timer is not affected by WAIT mode.
Sequence completed
                                                        In HALT mode, the counter stops counting until the
The user must read the MS Byte first, then the LS       mode is exited. Counting then resumes from the
Byte value is buffered automatically.                   previous count (MCU awakened by an interrupt) or
                                                        from the reset count (MCU awakened by a Reset).
This buffered value remains unchanged until the
16-bit read sequence is completed, even if the          10.3.3.2 External Clock
user reads the MS Byte several times.
                                                        The external clock (where available) is selected if
After a complete reading sequence, if only the          CC0=1 and CC1=1 in the CR2 register.
CLR register or ACLR register are read, they re-
turn the LS Byte of the count value at the time of      The status of the EXEDG bit in the CR2 register
the read.                                               determines the type of level transition on the exter-
                                                        nal clock pin EXTCLK that will trigger the free run-
Whatever the timer mode used (input capture, out-       ning counter.
put compare, one pulse mode or PWM mode) an
overflow occurs when the counter rolls over from        The counter is synchronized with the falling edge
FFFFh to 0000h then:                                    of the internal CPU clock.

The TOF bit of the SR register is set.                A minimum of four falling edges of the CPU clock
                                                        must occur between two consecutive active edges
A timer interrupt is generated if:                    of the external clock; thus the external clock fre-
                                                        quency must be less than a quarter of the CPU
    TOIE bit of the CR1 register is set and            clock frequency.

    I bit of the CC register is cleared.

If one of these conditions is false, the interrupt re-
mains pending to be issued as soon as they are
both true.

                                                        55/151

                                                             1
ST72F324L, ST72324BL

16-BIT TIMER (Cont'd)
Figure 32. Counter Timing Diagram, internal clock divided by 2

                                   CPU CLOCK        FFFD FFFE FFFF 0000 0001 0002 0003
                           INTERNAL RESET

                                TIMER CLOCK
                      COUNTER REGISTER
        TIMER OVERFLOW FLAG (TOF)

Figure 33. Counter Timing Diagram, internal clock divided by 4

                                   CPU CLOCK                    0000  0001
                           INTERNAL RESET

                                TIMER CLOCK
                      COUNTER REGISTER FFFC FFFD
        TIMER OVERFLOW FLAG (TOF)

Figure 34. Counter Timing Diagram, internal clock divided by 8

        CPU CLOCK

             INTERNAL RESET                   FFFC  FFFD              0000
                  TIMER CLOCK

        COUNTER REGISTER

   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.

56/151

1
                                                         ST72F324L, ST72324BL

16-BIT TIMER (Cont'd)                                    When an input capture occurs:

10.3.3.3 Input Capture                                    ICFi bit is set.

In this section, the index, i, may be 1 or 2 because      The ICiR register contains the value of the free
there are 2 input capture functions in the 16-bit          running counter on the active transition on the
timer.                                                     ICAPi pin (see Figure 36).

The two 16-bit input capture registers (IC1R and          A timer interrupt is generated if the ICIE bit is set
IC2R) are used to latch the value of the free run-         and the I bit is cleared in the CC register. Other-
ning counter after a transition is detected on the         wise, the interrupt remains pending until both
ICAPi pin (see figure 5).                                  conditions become true.

      MS Byte  LS Byte                                   Clearing the Input Capture interrupt request (i.e.
                ICiLR                                    clearing the ICFi bit) is done in two steps:
ICiR  ICiHR
                                                         1. Reading the SR register while the ICFi bit is set.
ICiR register is a read-only register.
                                                         2. An access (read or write) to the ICiLR register.
The active transition is software programmable
through the IEDGi bit of Control Registers (CRi).        Notes:

Timing resolution is one count of the free running       1. After reading the ICiHR register, transfer of
                                                            input capture data is inhibited and ICFi will
counter: (fCPU/CC[1:0]).                                    never be set until the ICiLR register is also
                                                            read.
Procedure:
                                                         2. The ICiR register contains the free running
To use the input capture function select the follow-        counter value which corresponds to the most
ing in the CR2 register:                                    recent input capture.

Select the timer clock (CC[1:0]) (see Table 16         3. The 2 input capture functions can be used
  Clock Control Bits).                                      together even if the timer also uses the 2 output
                                                            compare functions.
Select the edge of the active transition on the
  ICAP2 pin with the IEDG2 bit (the ICAP2 pin            4. In One pulse Mode and PWM mode only Input
  must be configured as floating input or input with        Capture 2 can be used.
  pull-up without interrupt if this configuration is
  available).                                            5. The alternate inputs (ICAP1 & ICAP2) are
                                                            always directly connected to the timer. So any
And select the following in the CR1 register:               transitions on these pins activates the input
                                                            capture function.
Set the ICIE bit to generate an interrupt after an        Moreover if one of the ICAPi pins is configured
  input capture coming from either the ICAP1 pin            as an input and the second one as an output,
  or the ICAP2 pin                                          an interrupt can be generated if the user tog-
                                                            gles the output pin and if the ICIE bit is set.
Select the edge of the active transition on the           This can be avoided if the input capture func-
  ICAP1 pin with the IEDG1 bit (the ICAP1pin must           tion i is disabled by reading the ICiHR (see note
  be configured as floating input or input with pull-       1).
  up without interrupt if this configuration is availa-
  ble).                                                  6. The TOF bit can be used with interrupt genera-
                                                            tion in order to measure events that go beyond
                                                            the timer range (FFFFh).

                                                         7. In Flash devices, the ICAP2 registers
                                                            (TAIC2HR, TAIC2LR) are not available on
                                                            Timer A. The corresponding interrupts cannot
                                                            be used (ICF2 is forced by hardware to 0).

                                                         57/151

                                                              1
ST72F324L, ST72324BL

16-BIT TIMER (Cont'd)
Figure 35. 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 36. Input Capture Timing Diagram

          TIMER CLOCK  FF01                 FF02          FF03
COUNTER REGISTER                                                            FF03

          ICAPi PIN
        ICAPi FLAG

        ICAPi REGISTER

         Note: The rising edge is the active edge.

58/151

1
                                                              ST72F324L, ST72324BL

16-BIT TIMER (Cont'd)                                  The OCMPi pin takes OLVLi bit value (OCMPi
                                                        pin latch is forced low during reset).
10.3.3.4 Output Compare
                                                       A timer interrupt is generated if the OCIE bit is
In this section, the index, i, may be 1 or 2 because    set in the CR1 register and the I bit is cleared in
there are 2 output compare functions in the 16-bit      the CC register (CC).
timer.
                                                      The OCiR register value required for a specific tim-
This function can be used to control an output        ing application can be calculated using the follow-
waveform or indicate when a period of time has        ing formula:
elapsed.
                                                               OCiR =  t * fCPU
When a match is found between the Output Com-
pare register and the free running counter, the out-                   PRESC
put compare function:
                                                      Where:
    Assigns pins with a programmable value if the
     OCiE bit is set                                  t       = Output compare period (in seconds)

    Sets a flag in the status register               fCPU = CPU clock frequency (in hertz)

    Generates an interrupt if enabled                PRESC = Timer prescaler factor (2, 4 or 8 de-
                                                                    pending on CC[1:0] bits, see Table 16
Two 16-bit registers Output Compare Register 1                      Clock Control Bits)
(OC1R) and Output Compare Register 2 (OC2R)
contain the value to be compared to the counter
register each timer clock cycle.

OCiR  MS Byte  LS Byte
      OCiHR    OCiLR

These registers are readable and writable and are     If the timer clock is an external clock, the formula
not affected by the timer hardware. A reset event     is:
changes the OCiR value to 8000h.
                                                               OCiR = t * fEXT
Timing resolution is one count of the free running
                                                      Where:
counter: (fCPU/CC[1:0]).
                                                      t       = Output compare period (in seconds)

Procedure:                                            fEXT = External timer clock frequency (in hertz)

To use the output compare function, select the fol-   Clearing the output compare interrupt request (i.e.
lowing in the CR2 register:                           clearing the OCFi bit) is done by:

Set the OCiE bit if an output is needed then the    1. Reading the SR register while the OCFi bit is
  OCMPi pin is dedicated to the output compare i         set.
  signal.
                                                      2. An access (read or write) to the OCiLR register.
Select the timer clock (CC[1:0]) (see Table 16
  Clock Control Bits).                                The following procedure is recommended to pre-
                                                      vent the OCFi bit from being set between the time
And select the following in the CR1 register:         it is read and the write to the OCiR register:

Select the OLVLi bit to applied to the OCMPi pins    Write to the OCiHR register (further compares
  after the match occurs.                               are inhibited).

Set the OCIE bit to generate an interrupt if it is   Read the SR register (first step of the clearance
  needed.                                               of the OCFi bit, which may be already set).

When a match is found between OCRi register            Write to the OCiLR register (enables the output
and CR register:                                        compare function and clears the OCFi bit).

OCFi bit is set.

                                                                                 59/151

                                                                                      1
ST72F324L, ST72324BL

16-BIT TIMER (Cont'd)                                6. In Flash devices, the TAOC2HR, TAOC2LR
                                                        registers are "write only" in Timer A. The corre-
Notes:                                                  sponding event cannot be generated (OCF2 is
                                                        forced by hardware to 0).
1. After a processor write cycle to the OCiHR reg-
   ister, the output compare function is inhibited   Forced Compare Output capability
   until the OCiLR register is also written.
                                                     When the FOLVi bit is set by software, the OLVLi
2. If the OCiE bit is not set, the OCMPi pin is a    bit is copied to the OCMPi pin. The OLVi bit has to
   general I/O port and the OLVLi bit will not       be toggled in order to toggle the OCMPi pin when
   appear when a match is found but an interrupt     it is enabled (OCiE bit=1). The OCFi bit is then not
   could be generated if the OCIE bit is set.        set by hardware, and thus no interrupt request is
                                                     generated.
3. When the timer clock is fCPU/2, OCFi and
   OCMPi are set while the counter value equals      The FOLVLi bits have no effect in both one pulse
   the OCiR register value (see Figure 38 on page    mode and PWM mode.
   61). This behaviour 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 regis-
   ter value plus 1 (see Figure 39 on page 61).

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 suc-
   cessful comparison in order to control an output
   waveform or establish a new elapsed timeout.

Figure 37. Output Compare Block Diagram

16 BIT FREE RUNNING    OC1E OC2E                         CC1 CC0
            COUNTER            OCIE
                                                     (Control Register 2) CR2
   16-bit

                                                     (Control Register 1) CR1

OUTPUT COMPARE                           FOLV2 FOLV1 OLVL2      OLVL1          Latch  OCMP1
       CIRCUIT                                                                   1       Pin

16-bit  16-bit                                                                 Latch  OCMP2
                                                                                  2      Pin
OC1R Register

                       OCF1                          OCF2 0  0  0

        OC2R Register

                                                     (Status Register) SR

60/151

1
                                                                ST72F324L, ST72324BL

16-BIT TIMER (Cont'd)
Figure 38. 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 39. 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)

                                                                61/151

                                                                     1
ST72F324L, ST72324BL

16-BIT TIMER (Cont'd)                                 Clearing the Input Capture interrupt request (i.e.
                                                      clearing the ICFi bit) is done in two steps:
10.3.3.5 One Pulse Mode
                                                      1. Reading the SR register while the ICFi bit is set.
One Pulse mode enables the generation of a
pulse when an external event occurs. This mode is     2. An access (read or write) to the ICiLR register.
selected via the OPM bit in the CR2 register.
                                                      The OC1R register value required for a specific
The one pulse mode uses the Input Capture1            timing application can be calculated using the fol-
function and the Output Compare1 function.            lowing formula:

Procedure:                                                      OCiR Value = t * fCPU - 5

To use one pulse mode:                                                                            PRESC

1. Load the OC1R register with the value corre-       Where:
   sponding to the length of the pulse (see the for-
   mula in the opposite column).                      t       = Pulse period (in seconds)

2. Select the following in the CR1 register:          fCPU = CPU clock frequency (in hertz)

    Using the OLVL1 bit, select the level to be ap-  PRESC = Timer prescaler factor (2, 4 or 8 depend-
     plied to the OCMP1 pin after the pulse.                        ing on the CC[1:0] bits, see Table 16
                                                                    Clock Control Bits)
    Using the OLVL2 bit, select the level to be ap-
     plied to the OCMP1 pin during the pulse.         If the timer clock is an external clock the formula is:

    Select the edge of the active transition on the                  OCiR = t * fEXT -5
     ICAP1 pin with the IEDG1 bit (the ICAP1 pin
     must be configured as floating input).           Where:

3. Select the following in the CR2 register:          t       = Pulse period (in seconds)

    Set the OC1E bit, the OCMP1 pin is then ded-     fEXT = External timer clock frequency (in hertz)
     icated to the Output Compare 1 function.
                                                      When the value of the counter is equal to the value
    Set the OPM bit.                                 of the contents of the OC1R register, the OLVL1
                                                      bit is output on the OCMP1 pin, (See Figure 40).
    Select the timer clock CC[1:0] (see Table 16
     Clock Control Bits).                             Notes:

                      One pulse mode cycle            1. The OCF1 bit cannot be set by hardware in one
                                                         pulse mode but the OCF2 bit can generate an
            When       ICR1 = Counter                    Output Compare interrupt.
        event occurs  OCMP1 = OLVL2
                                                      2. When the Pulse Width Modulation (PWM) and
         on ICAP1      Counter is reset                  One Pulse Mode (OPM) bits are both set, the
                           to FFFCh                      PWM mode is the only active one.

                        ICF1 bit is set               3. If OLVL1=OLVL2 a continuous signal will be
                                                         seen on the OCMP1 pin.
        When          OCMP1 = OLVL1
        Counter                                       4. The ICAP1 pin can not be used to perform input
        = OC1R                                           capture. The ICAP2 pin can be used to perform
                                                         input capture (ICF2 can be set and IC2R can be
Then, on a valid event on the ICAP1 pin, the coun-       loaded) but the user must take care that the
ter is initialized to FFFCh and OLVL2 bit is loaded      counter is reset each time a valid edge occurs
on the OCMP1 pin, the ICF1 bit is set and the val-       on the ICAP1 pin and ICF1 can also generates
ue FFFDh is loaded in the IC1R register.                 interrupt if ICIE is set.

Because the ICF1 bit is set when an active edge       5. When one pulse mode is used OC1R is dedi-
occurs, an interrupt can be generated if the ICIE        cated to this mode. Nevertheless OC2R and
bit is set.                                              OCF2 can be used to indicate a period of time
                                                         has been elapsed but cannot generate an out-
                                                         put waveform because the level OLVL2 is dedi-
                                                         cated to the one pulse mode.

                                                      6. In Flash devices, Timer A OCF2 bit is forced by
                                                         hardware to 0.

62/151

1
                                                                   ST72F324L, ST72324BL

16-BIT TIMER (Cont'd)
Figure 40. One Pulse Mode Timing Example

       IC1R                               01F8                                2ED3
COUNTER 01F8 FFFC FFFD FFFE                                                  FFFC FFFD
                                                   2ED0 2ED1 2ED2
      ICAP1                                                            2ED3

OCMP1                OLVL2                                  OLVL1            OLVL2

                                             compare1

Note: IEDG1=1, OC1R=2ED0h, OLVL1=0, OLVL2=1

Figure 41. 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

                                                                                              63/151

                                                                                                   1
ST72F324L, ST72324BL

16-BIT TIMER (Cont'd)                                   If OLVL1=1 and OLVL2=0 the length of the posi-
                                                        tive pulse is the difference between the OC2R and
10.3.3.6 Pulse Width Modulation Mode                    OC1R registers.

Pulse Width Modulation (PWM) mode enables the           If OLVL1=OLVL2 a continuous signal will be seen
generation of a signal with a frequency and pulse       on the OCMP1 pin.
length determined by the value of the OC1R and
OC2R registers.                                         The OCiR register value required for a specific tim-

Pulse Width Modulation mode uses the complete           ing application can be calculated using the follow-
Output Compare 1 function plus the OC2R regis-
ter, and so this functionality can not be used when     ing formula:
PWM mode is activated.
                                                                  OCiR Value = t * fCPU - 5
In PWM mode, double buffering is implemented on
the output compare registers. Any new values writ-                                                  PRESC
ten in the OC1R and OC2R registers are taken
into account only at the end of the PWM period          Where:
(OC2) to avoid spikes on the PWM output pin
(OCMP1).                                                t       = Signal or pulse period (in seconds)

Procedure                                               fCPU = CPU clock frequency (in hertz)
                                                        PRESC = Timer prescaler factor (2, 4 or 8 depend-
To use pulse width modulation mode:
                                                                      ing on CC[1:0] bits, see Table 16)
1. Load the OC2R register with the value corre-
   sponding to the period of the signal using the       If the timer clock is an external clock the formula is:
   formula in the opposite column.
                                                                        OCiR = t * fEXT -5
2. Load the OC1R register with the value corre-
   sponding to the period of the pulse if (OLVL1=0      Where:
   and OLVL2=1) using the formula in the oppo-
   site column.                                         t       = Signal or pulse period (in seconds)

3. Select the following in the CR1 register:            fEXT = External timer clock frequency (in hertz)

    Using the OLVL1 bit, select the level to be ap-    The Output Compare 2 event causes the counter
     plied to the OCMP1 pin after a successful          to be initialized to FFFCh (See Figure 41)
     comparison with the OC1R register.
                                                        Notes:
    Using the OLVL2 bit, select the level to be ap-
     plied to the OCMP1 pin after a successful          1. After a write instruction to the OCiHR register,
     comparison with the OC2R register.                    the output compare function is inhibited until the
                                                           OCiLR register is also written.
4. Select the following in the CR2 register:
                                                        2. The OCF1 and OCF2 bits cannot be set by
    Set OC1E bit: the OCMP1 pin is then dedicat-          hardware in PWM mode therefore the Output
     ed to the output compare 1 function.                  Compare interrupt is inhibited.

    Set the PWM bit.                                   3. The ICF1 bit is set by hardware when the coun-
                                                           ter reaches the OC2R value and can produce a
    Select the timer clock (CC[1:0]) (see Table 16        timer interrupt if the ICIE bit is set and the I bit is
     Clock Control Bits).                                  cleared.

                          Pulse Width Modulation cycle  4. In PWM mode the ICAP1 pin can not be used
                                                           to perform input capture because it is discon-
        When     OCMP1 = OLVL1                             nected to the timer. The ICAP2 pin can be used
        Counter                                            to perform input capture (ICF2 can be set and
        = OC1R                                             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.

        When     OCMP1 = OLVL2                          6. In Flash devices, the TAOC2HR, TAOC2LR
        Counter                                            registers in Timer A are "write only". A read
        = OC2R    Counter is reset                         operation returns an undefined value.
                      to FFFCh
                                                        7. In Flash devices, the ICAP2 registers
                   ICF1 bit is set                      (TAIC2HR, TAIC2LR) are not available in Timer A.
                                                        The ICF2 bit is forced by hardware to 0.

64/151

1
                                                                             ST72F324L, ST72324BL

16-BIT TIMER (Cont'd)
10.3.4 Low Power Modes

  Mode                                                                 Description
WAIT
        No effect on 16-bit Timer.
HALT    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 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. Consequent-
        ly, 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.

10.3.5 Interrupts                                                            Event  Enable   Exit      Exit
                                                                              Flag  Control  from      from
                                           Interrupt Event                                   Wait      Halt
                                                                              ICF1     Bit   Yes        No
Input Capture 1 event/Counter reset in PWM mode                                      ICIE   Yes        No
Input Capture 2 event                                                       ICF2*           Yes        No
Output Compare 1 event (not available in PWM mode)                                  OCIE    Yes        No
Output Compare 2 event (not available in PWM mode)                          OCF1    TOIE    Yes        No
Timer Overflow event
                                                                             OCF2*

                                                                              TOF

Note: The 16-bit Timer interrupt events are connected to the same interrupt vector (see Interrupts chap-
ter). 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).

* In Flash devices, the ICF2 and OCF2 bits are forced by hardware to 0 in Timer A, hence there is no in-
terrupt event for these flags.

10.3.6 Summary of Timer modes

               MODES                                        TIMER RESOURCES
Input Capture (1 and/or 2)
Output Compare (1 and/or 2)  Input Capture 1                Input Capture 2  Output Compare 1 Output Compare 2
One Pulse Mode                       Yes                          Yes2)5)
                                     Yes                           Yes5)     Yes             Yes4)
PWM Mode                              No
                                                                             Yes             Yes4)
                                      No
                                              Not                            No              Partially 2)
                                              Recommended1)5)

                                              Not                            No                    No
                                              Recommended3)5)

1) See note 4 in Section 10.3.3.5 One Pulse Mode
2) See note 5 and 6 in Section 10.3.3.5 One Pulse Mode
3) See note 4 in Section 10.3.3.6 Pulse Width Modulation Mode
4) In Flash devices, the TAOC2HR, TAOC2LR registers are write only in Timer A. Output Compare 2

   event cannot be generated, OCF2 is forced by hardware to 0.
5) In Flash devices, Input Capture 2 is not implemented in Timer A. ICF2 bit is forced by hardware to 0.

                                                                                                       65/151

                                                                                                            1
ST72F324L, ST72324BL

16-BIT TIMER (Cont'd)                                   Bit 4 = FOLV2 Forced Output Compare 2.
                                                        This bit is set and cleared by software.
10.3.7 Register Description                             0: No effect on the OCMP2 pin.
                                                        1: Forces the OLVL2 bit to be copied to the
Each Timer is associated with three control and
status registers, and with six pairs of data registers     OCMP2 pin, if the OC2E bit is set and even if
(16-bit values) relating to the two input captures,        there is no successful comparison.
the two output compares, the counter and the al-
ternate counter.                                        Bit 3 = FOLV1 Forced Output Compare 1.
                                                        This bit is set and cleared by software.
CONTROL REGISTER 1 (CR1)                                0: No effect on the OCMP1 pin.
                                                        1: Forces OLVL1 to be copied to the OCMP1 pin, if
Read/Write
                                                           the OC1E bit is set and even if there is no suc-
Reset Value: 0000 0000 (00h)                               cessful comparison.

7                             0                         Bit 2 = OLVL2 Output Level 2.
                                                        This bit is copied to the OCMP2 pin whenever a
ICIE OCIE TOIE FOLV2 FOLV1 OLVL2 IEDG1 OLVL1            successful comparison occurs with the OC2R reg-
                                                        ister and OCxE is set in the CR2 register. This val-
Bit 7 = ICIE Input Capture Interrupt Enable.            ue is copied to the OCMP1 pin in One Pulse Mode
0: Interrupt is inhibited.                              and Pulse Width Modulation mode.
1: A timer interrupt is generated whenever the
                                                        Bit 1 = IEDG1 Input Edge 1.
   ICF1 or ICF2 bit of the SR register is set.          This bit determines which type of level transition
                                                        on the ICAP1 pin will trigger the capture.
Bit 6 = OCIE Output Compare Interrupt Enable.           0: A falling edge triggers the capture.
0: Interrupt is inhibited.                              1: A rising edge triggers the capture.
1: A timer interrupt is generated whenever the
                                                        Bit 0 = OLVL1 Output Level 1.
   OCF1 or OCF2 bit of the SR register is set.          The OLVL1 bit is copied to the OCMP1 pin when-
                                                        ever a successful comparison occurs with the
Bit 5 = TOIE Timer Overflow Interrupt Enable.           OC1R register and the OC1E bit is set in the CR2
0: Interrupt is inhibited.                              register.
1: A timer interrupt is enabled whenever the TOF

   bit of the SR register is set.

66/151

1
                                                                              ST72F324L, ST72324BL

16-BIT TIMER (Cont'd)                                  Bit 4 = PWM Pulse Width Modulation.
CONTROL REGISTER 2 (CR2)                               0: PWM mode is not active.
Read/Write                                             1: PWM mode is active, the OCMP1 pin outputs a
Reset Value: 0000 0000 (00h)
                                                          programmable cyclic signal; the length of the
7                             0                           pulse depends on the value of OC1R register;
                                                          the period depends on the value of OC2R regis-
OC1E OC2E OPM PWM CC1 CC0 IEDG2 EXEDG                     ter.

Bit 7 = OC1E Output Compare 1 Pin Enable.              Bit 3, 2 = CC[1:0] Clock Control.
This bit is used only to output the signal from the    The timer clock mode depends on these bits:
timer on the OCMP1 pin (OLV1 in Output Com-
pare mode, both OLV1 and OLV2 in PWM and               Table 16. Clock Control Bits
one-pulse mode). Whatever the value of the OC1E
bit, the Output Compare 1 function of the timer re-          Timer Clock      CC1    CC0
mains active.                                                                   0      0
0: OCMP1 pin alternate function disabled (I/O pin              fCPU / 4         0      1
                                                               fCPU / 2         1      0
   free for general-purpose I/O).                              fCPU / 8
1: OCMP1 pin alternate function enabled.                                        1      1
                                                       External Clock (where
Bit 6 = OC2E Output Compare 2 Pin Enable.                      available)
This bit is used only to output the signal from the
timer on the OCMP2 pin (OLV2 in Output Com-            Note: If the external clock pin is not available, pro-
pare mode). Whatever the value of the OC2E bit,        gramming the external clock configuration stops
the Output Compare 2 function of the timer re-         the counter.
mains active.
0: OCMP2 pin alternate function disabled (I/O pin      Bit 1 = IEDG2 Input Edge 2.
                                                       This bit determines which type of level transition
   free for general-purpose I/O).                      on the ICAP2 pin will trigger the capture.
1: OCMP2 pin alternate function enabled.               0: A falling edge triggers the capture.
                                                       1: A rising edge triggers the capture.
Note: In Flash devices, this bit is not available for
Timer A. It must be kept at its reset value.           Bit 0 = EXEDG External Clock Edge.
                                                       This bit determines which type of level transition
Bit 5 = OPM One Pulse Mode.                            on the external clock pin EXTCLK will trigger the
0: One Pulse Mode is not active.                       counter register.
1: One Pulse Mode is active, the ICAP1 pin can be      0: A falling edge triggers the counter register.
                                                       1: A rising edge triggers the counter register.
   used to trigger one pulse on the OCMP1 pin; the
   active transition is given by the IEDG1 bit. The
   length of the generated pulse depends on the
   contents of the OC1R register.

                                                                                     67/151

                                                                                          1
ST72F324L, ST72324BL

16-BIT TIMER (Cont'd)

CONTROL/STATUS REGISTER (CSR)

Read Only (except bit 2 R/W)                              Bit 4 = ICF2 Input Capture Flag 2.
                                                          0: No input capture (reset value).
Reset Value: xxxx x0xx (xxh)                              1: An input capture has occurred on the ICAP2

7                              0                             pin. To clear this bit, first read the SR register,
                                                             then read or write the low byte of the IC2R
ICF1 OCF1 TOF ICF2 OCF2 TIMD 0 0                             (IC2LR) register.

Bit 7 = ICF1 Input Capture Flag 1.                        Note: In Flash devices, this bit is not available for
0: No input capture (reset value).                        Timer A and is forced by hardware to 0.
1: An input capture has occurred on the ICAP1 pin
                                                          Bit 3 = OCF2 Output Compare Flag 2.
   or the counter has reached the OC2R value in           0: No match (reset value).
   PWM mode. To clear this bit, first read the SR         1: The content of the free running counter has
   register, then read or write the low byte of the
   IC1R (IC1LR) register.                                    matched the content of the OC2R register. To
                                                             clear this bit, first read the SR register, then read
Bit 6 = OCF1 Output Compare Flag 1.                          or write the low byte of the OC2R (OC2LR) reg-
0: No match (reset value).                                   ister.
1: The content of the free running counter has
                                                          Note: In Flash devices, this bit is not available for
   matched the content of the OC1R register. To           Timer A and is forced by hardware to 0.
   clear this bit, first read the SR register, then read
   or write the low byte of the OC1R (OC1LR) reg-         Bit 2 = TIMD Timer disable.
   ister.                                                 This bit is set and cleared by software. When set, it
                                                          freezes the timer prescaler and counter and disa-
Bit 5 = TOF Timer Overflow Flag.                          bled the output functions (OCMP1 and OCMP2
0: No timer overflow (reset value).                       pins) to reduce power consumption. Access to the
1: The free running counter rolled over from FFFFh        timer registers is still available, allowing the timer
                                                          configuration to be changed, or the counter reset,
   to 0000h. To clear this bit, first read the SR reg-    while it is disabled.
   ister, then read or write the low byte of the CR       0: Timer enabled
   (CLR) register.                                        1: Timer prescaler, counter and outputs disabled

Note: Reading or writing the ACLR register does           Bits 1:0 = Reserved, must be kept cleared.
not clear TOF.

68/151

1
                                                            ST72F324L, ST72324BL

16-BIT TIMER (Cont'd)                                  OUTPUT COMPARE 1 HIGH REGISTER
                                                       (OC1HR)
INPUT CAPTURE 1 HIGH REGISTER (IC1HR)
                                                       Read/Write
Read Only                                              Reset Value: 1000 0000 (80h)
Reset Value: Undefined
                                                       This is an 8-bit register that contains the high part
This is an 8-bit read only register that contains the  of the value to be compared to the CHR register.
high part of the counter value (transferred by the
input capture 1 event).

7    0                                                 7    0

MSB  LSB                                               MSB  LSB

INPUT CAPTURE 1 LOW REGISTER (IC1LR)                   OUTPUT COMPARE 1 LOW REGISTER
                                                       (OC1LR)
Read Only
Reset Value: Undefined                                 Read/Write
                                                       Reset Value: 0000 0000 (00h)
This is an 8-bit read only register that contains the
low part of the counter value (transferred by the in-  This is an 8-bit register that contains the low part of
put capture 1 event).                                  the value to be compared to the CLR register.

7    0                                                 7    0

MSB  LSB                                               MSB  LSB

                                                            69/151

                                                                 1
ST72F324L, ST72324BL

16-BIT TIMER (Cont'd)                                    COUNTER HIGH REGISTER (CHR)

OUTPUT COMPARE 2 HIGH REGISTER                           Read Only
(OC2HR)                                                  Reset Value: 1111 1111 (FFh)

Read/Write                                               This is an 8-bit register that contains the high part
Reset Value: 1000 0000 (80h)                             of the counter value.

This is an 8-bit register that contains the high part
of the value to be compared to the CHR register.

7                     0                                  7    0

MSB                   LSB                                MSB  LSB

Note: In Flash devices, the Timer A OC2HR regis-         COUNTER LOW REGISTER (CLR)
ter is write-only.
                                                         Read Only
OUTPUT COMPARE 2 LOW REGISTER                            Reset Value: 1111 1100 (FCh)
(OC2LR)
                                                         This is an 8-bit register that contains the low part of
Read/Write                                               the counter value. A write to this register resets the
Reset Value: 0000 0000 (00h)                             counter. An access to this register after accessing
                                                         the CSR register clears the TOF bit.
This is an 8-bit register that contains the low part of
the value to be compared to the CLR register.            7    0

7                     0

                                                         MSB  LSB

MSB                   LSB

Note: In Flash devices, the Timer A OC2LR regis-
ter is write-only.

70/151

1
                                                              ST72F324L, ST72324BL

ALTERNATE COUNTER HIGH        REGISTER                   INPUT CAPTURE 2 HIGH REGISTER (IC2HR)
(ACHR)                                                   Read Only
Read Only                                                Reset Value: Undefined
Reset Value: 1111 1111 (FFh)
                                                         This is an 8-bit read only register that contains the
This is an 8-bit register that contains the high part    high part of the counter value (transferred by the
of the counter value.                                    Input Capture 2 event).

7                             0                          7    0

MSB                           LSB                        MSB  LSB

ALTERNATE COUNTER LOW         REGISTER                   Note: In Flash devices, this register is not imple-
(ACLR)                                                   mented for Timer A.
Read Only
Reset Value: 1111 1100 (FCh)                             INPUT CAPTURE 2 LOW REGISTER (IC2LR)
                                                         Read Only
This is an 8-bit register that contains the low part of  Reset Value: Undefined
the counter value. A write to this register resets the
counter. An access to this register after an access      This is an 8-bit read only register that contains the
to CSR register does not clear the TOF bit in the        low part of the counter value (transferred by the In-
CSR register.                                            put Capture 2 event).

7                             0                          7    0

MSB                           LSB                        MSB  LSB

                                                         Note: In Flash devices, this register is not imple-
                                                         mented for Timer A.

                                                              71/151

                                                                   1
ST72F324L, ST72324BL

16-BIT TIMER (Cont'd)

Table 17. 16-Bit Timer Register Map and Reset Values

Address  Register          7       6     5       4          3      2   1       0
(Hex.)    Label                 OCIE                    FOLV1  OLVL2
                          ICIE         TOIE  FOLV21
Timer A: 32 CR1             0      0     0       0          0      0   IEDG1   OLVL1
Timer B: 42 Reset Value         OC2E1                     CC1    CC0       0       0
                         OC1E          OPM    PWM
Timer A: 31 CR2             0      0     0       0          0      0   IEDG21  EXEDG
Timer B: 41 Reset Value         OCF1                     OCF22   TIMD      0       0
                         ICF1          TOF    ICF22                        -
Timer A: 33 CSR             x       x    x       x           x     0       x       -
Timer B: 43 Reset Value                                                            x
                         MSB        x  x              x      x     x       x
Timer A: 34 IC1HR           x                                                    LSB
Timer B: 44 Reset Value             x  x              x      x     x       x       x
                         MSB
Timer A: 35 IC1LR           x      0   0              0     0      0       0     LSB
Timer B: 45 Reset Value                                                            x
                         MSB       0   0              0     0      0       0
Timer A: 36 OC1HR           1                                                    LSB
Timer B: 46 Reset Value            0   0              0     0      0       0       0
                         MSB
Timer A: 37 OC1LR           0      0   0              0     0      0       0     LSB
Timer B: 47 Reset Value                                                            0
Timer A: 3E3 OC2HR       MSB       1   1              1     1      1       1
Timer B: 4E Reset Value     1                                                    LSB
Timer A: 3F3 OC2LR                 1   1              1     1      1       0       0
Timer B: 4F Reset Value  MSB
                            0      1   1              1      1      1      1     LSB
Timer A: 38 CHR                                                                    0
Timer B: 48 Reset Value  MSB       1   1              1      1      1      0
                            1                                                    LSB
Timer A: 39 CLR                     x  x              x      x     x       x       1
Timer B: 49 Reset Value  MSB
                            1       x  x              x      x     x       x     LSB
Timer A: 3A ACHR                                                                   0
Timer B: 4A Reset Value  MSB
                            1                                                    LSB
Timer A: 3B ACLR                                                                   1
Timer B: 4B Reset Value  MSB
Timer A: 3C4 IC2HR          1                                                    LSB
Timer B: 4C Reset Value                                                            0
Timer A: 3D4 IC2LR       MSB
Timer B: 4D Reset Value     x                                                    LSB
                                                                                   x
                         MSB
                            x                                                    LSB
                                                                                   x

1 In Flash devices, these bits are not used in Timer A and must be kept cleared.
2 In Flash devices, these bits are forced by hardware to 0 in Timer A
3 In Flash devices, the TAOC2HR and TAOC2LR Registers are write only, reading them will return unde-

  fined values

4 In Flash devices, the TAIC2HR and TAIC2LR registers are not present.

72/151

1
                                                           ST72F324L, ST72324BL

10.4 SERIAL PERIPHERAL INTERFACE (SPI)

10.4.1 Introduction                                     software overhead for clearing status flags and to
                                                        initiate the next transmission sequence.
The Serial Peripheral Interface (SPI) allows full-
duplex, synchronous, serial communication with          10.4.3 General Description
external devices. An SPI system may consist of a
master and one or more slaves however the SPI           Figure 42 shows the serial peripheral interface
interface can not be a master in a multi-master         (SPI) block diagram. There are 3 registers:
system.
                                                            SPI Control Register (SPICR)
10.4.2 Main Features
                                                            SPI Control/Status Register (SPICSR)
Full duplex synchronous transfers (on 3 lines)
                                                            SPI Data Register (SPIDR)
Simplex synchronous transfers (on 2 lines)
                                                        The SPI is connected to external devices through
Master or slave operation                              3 pins:

Six master mode frequencies (fCPU/4 max.)                  MISO: Master In / Slave Out data
fCPU/2 max. slave mode frequency (see note)
SS Management by software or hardware                      MOSI: Master Out / Slave In data

Programmable clock polarity and phase                      SCK: Serial Clock out by SPI masters and in-
                                                             put by SPI slaves
End of transfer interrupt flag
                                                            SS: Slave select:
Write collision, Master Mode Fault and Overrun              This input signal acts as a `chip select' to let
   flags                                                     the SPI master communicate with slaves indi-
                                                             vidually and to avoid contention on the data
Note: In slave mode, continuous transmission is              lines. Slave SS inputs can be driven by stand-
not possible at maximum frequency due to the                 ard I/O ports on the master MCU.

Figure 42. Serial Peripheral Interface Block Diagram

                          SPIDR  Data/Address Bus
                                   Read

                                 Read Buffer               Interrupt
                                                           request

MOSI                      8-Bit Shift Register          7                           SPICSR 0
MISO                                           Write     SPIF WCOL OVR MODF 0
                                                                               SOD SSM SSI
                    SOD
                     bit                                       SPI             SS 1
                                                             STATE
SCK                                                       CONTROL                     0

                                                        7                      SPICR 0

                                                        SPIE SPE SPR2 MSTR CPOL CPHA SPR1 SPR0

                                  MASTER
                                 CONTROL

                                          SERIAL CLOCK
                                            GENERATOR

SS

                                                                                          73/151

                                                                                               1
ST72F324L, ST72324BL

SERIAL PERIPHERAL INTERFACE (Cont'd)                sponds by sending data to the master device via
                                                    the MISO pin. This implies full duplex communica-
10.4.3.1 Functional Description                     tion with both data out and data in synchronized
                                                    with the same clock signal (which is provided by
A basic example of interconnections between a       the master device via the SCK pin).
single master and a single slave is illustrated in
Figure 43.                                          To use a single data line, the MISO and MOSI pins
                                                    must be connected at each node ( in this case only
The MOSI pins are connected together and the        simplex communication is possible).
MISO pins are connected together. In this way
data is transferred serially between master and     Four possible data/clock timing relationships may
slave (most significant bit first).                 be chosen (see Figure 46) but master and slave
                                                    must be programmed with the same timing mode.
The communication is always initiated by the mas-
ter. When the master device transmits data to a
slave device via MOSI pin, the slave device re-

Figure 43. Single Master/ Single Slave Application

                 MASTER                                          SLAVE
        MSBit
                         LSBit                            MSBit         LSBit

        8-BIT SHIFT REGISTER    MISO                MISO  8-BIT SHIFT REGISTER
                                MOSI                MOSI

               SPI              SCK                 SCK
            CLOCK               SS +5V                SS
        GENERATOR

                                                          Not used if SS is managed
                                                          by software

74/151

1
                                                                         ST72F324L, ST72324BL

SERIAL PERIPHERAL INTERFACE (Cont'd)                     In Slave Mode:
10.4.3.2 Slave Select Management
As an alternative to using the SS pin to control the     There are two cases depending on the data/clock
Slave Select signal, the application can choose to       timing relationship (see Figure 44):
manage the Slave Select signal by software. This
is configured by the SSM bit in the SPICSR regis-        If CPHA=1 (data latched on 2nd clock edge):
ter (see Figure 45)
In software management, the external SS pin is            SS internal must be held low during the entire
free for other application uses and the internal SS      transmission. This implies that in single slave
signal level is driven by writing to the SSI bit in the  applications the SS pin either can be tied to
SPICSR register.                                         VinSgSt,hoer  made free for standard I/O by manag-
In Master mode:                                                        SS function by software (SSM= 1 and
                                                         SSI=0 in the in the SPICSR register)
    SS internal must be held high continuously
                                                         If CPHA=0 (data latched on 1st clock edge):
Figure 44. Generic SS Timing Diagram
                                                          SS internal must be held low during byte
                                                           transmission and pulled high between each
                                                           byte to allow the slave to write to the shift reg-
                                                           ister. If SS is not pulled high, a Write Collision
                                                           error will occur when the slave writes to the
                                                           shift register (see Section 10.4.5.3).

MOSI/MISO    Byte 1                                      Byte 2          Byte 3

  Master SS

   Slave SS
(if CPHA=0)

   Slave SS
(if CPHA=1)

Figure 45. Hardware/Software Slave Select Management
                                                            SSM bit

                        SSI bit  1                       SS internal
             SS external pin
                                 0

                                                                                               75/151

                                                                                                    1
ST72F324L, ST72324BL

SERIAL PERIPHERAL INTERFACE (Cont'd)                   Note: While the SPIF bit is set, all writes to the
                                                       SPIDR register are inhibited until the SPICSR reg-
10.4.3.3 Master Mode Operation                         ister is read.

In master mode, the serial clock is output on the      10.4.3.5 Slave Mode Operation
SCK pin. The clock frequency, polarity and phase
are configured by software (refer to the description   In slave mode, the serial clock is received on the
of the SPICSR register).                               SCK pin from the master device.

Note: The idle state of SCK must correspond to         To operate the SPI in slave mode:
the polarity selected in the SPICSR register (by
pulling up SCK if CPOL=1 or pulling down SCK if        1. Write to the SPICSR register to perform the fol-
CPOL=0).                                                  lowing actions:

To operate the SPI in master mode, perform the             Select the clock polarity and clock phase by
following steps in order (if the SPICSR register is         configuring the CPOL and CPHA bits (see
not written first, the SPICR register setting (MSTR         Figure 46).
bit ) may be not taken into account):                       Note: The slave must have the same CPOL
                                                            and CPHA settings as the master.
1. Write to the SPICR register:
                                                          Manage the SS pin as described in Section
    Select the clock frequency by configuring the          10.4.3.2 and Figure 44. If CPHA=1 SS must
     SPR[2:0] bits.                                         be held low continuously. If CPHA=0 SS must
                                                            be held low during byte transmission and
    Select the clock polarity and clock phase by           pulled up between each byte to let the slave
     configuring the CPOL and CPHA bits. Figure             write in the shift register.
     46 shows the four possible configurations.
     Note: The slave must have the same CPOL           2. Write to the SPICR register to clear the MSTR
     and CPHA settings as the master.                     bit and set the SPE bit to enable the SPI I/O
                                                          functions.
2. Write to the SPICSR register:
                                                       10.4.3.6 Slave Mode Transmit Sequence
    Either set the SSM bit and set the SSI bit or
     clear the SSM bit and tie the SS pin high for     When software writes to the SPIDR register, the
     the complete byte transmit sequence.              data byte is loaded into the 8-bit shift register and
                                                       then shifted out serially to the MISO pin most sig-
3. Write to the SPICR register:                        nificant bit first.

    Set the MSTR and SPE bits                         The transmit sequence begins when the slave de-
     Note: MSTR and SPE bits remain set only if        vice receives the clock signal and the most signifi-
     SS is high).                                      cant bit of the data on its MOSI pin.

The transmit sequence begins when software             When data transfer is complete:
writes a byte in the SPIDR register.
                                                          The SPIF bit is set by hardware
10.4.3.4 Master Mode Transmit Sequence
                                                          An interrupt request is generated if SPIE bit is
When software writes to the SPIDR register, the             set and interrupt mask in the CCR register is
data byte is loaded into the 8-bit shift register and       cleared.
then shifted out serially to the MOSI pin most sig-
nificant bit first.                                    Clearing the SPIF bit is performed by the following
                                                       software sequence:
When data transfer is complete:
                                                       1. An access to the SPICSR register while the
    The SPIF bit is set by hardware                      SPIF bit is set.

    An interrupt request is generated if the SPIE     2. A write or a read to the SPIDR register.
     bit is set and the interrupt mask in the CCR
     register is cleared.                              Notes: While the SPIF bit is set, all writes to the
                                                       SPIDR register are inhibited until the SPICSR reg-
Clearing the SPIF bit is performed by the following    ister is read.
software sequence:
                                                       The SPIF bit can be cleared during a second
1. An access to the SPICSR register while the          transmission; however, it must be cleared before
   SPIF bit is set                                     the second SPIF bit in order to prevent an Overrun
                                                       condition (see Section 10.4.5.2).
2. A read to the SPIDR register.

76/151

1
                                                   ST72F324L, ST72324BL

SERIAL PERIPHERAL INTERFACE (Cont'd)               Figure 46, shows an SPI transfer with the four
                                                   combinations of the CPHA and CPOL bits. The di-
10.4.4 Clock Phase and Clock Polarity              agram may be interpreted as a master or slave
                                                   timing diagram where the SCK pin, the MISO pin,
Four possible timing relationships may be chosen   the MOSI pin are directly connected between the
by software, using the CPOL and CPHA bits (See     master and the slave device.
Figure 46).
                                                   Note: If CPOL is changed at the communication
Note: The idle state of SCK must correspond to     byte boundaries, the SPI must be disabled by re-
the polarity selected in the SPICSR register (by   setting the SPE bit.
pulling up SCK if CPOL=1 or pulling down SCK if
CPOL=0).

The combination of the CPOL clock polarity and
CPHA (clock phase) bits selects the data capture
clock edge

Figure 46. Data Clock Timing Diagram

                                      CPHA =1

SCK
(CPOL = 1)

SCK
(CPOL = 0)

MISO            MSBit Bit 6          Bit 5 Bit 4  Bit3 Bit 2 Bit 1 LSBit
(from master)                         Bit 5 Bit 4  Bit3 Bit 2 Bit 1 LSBit

  MOSI           MSBit Bit 6
(from slave)

SS
(to slave)

CAPTURE STROBE

                                      CPHA =0

SCK
(CPOL = 1)

SCK
(CPOL = 0)

MISO            MSBit Bit 6          Bit 5 Bit 4  Bit3 Bit 2 Bit 1 LSBit
(from master)                         Bit 5 Bit 4  Bit3 Bit 2 Bit 1 LSBit

  MOSI         MSBit Bit 6
(from slave)

SS
(to slave)

CAPTURE STROBE

  Note: This figure should not be used as a replacement for parametric information.
  Refer to the Electrical Characteristics chapter.

                                                                                     77/151

                                                                                          1
ST72F324L, ST72324BL

SERIAL PERIPHERAL INTERFACE (Cont'd)                 not cleared the SPIF bit issued from the previously
                                                     transmitted byte.
10.4.5 Error Flags
                                                     When an Overrun occurs:
10.4.5.1 Master Mode Fault (MODF)
                                                      The OVR bit is set and an interrupt request is
Master mode fault occurs when the master device        generated if the SPIE bit is set.
has its SS pin pulled low.
                                                     In this case, the receiver buffer contains the byte
When a Master mode fault occurs:                     sent after the SPIF bit was last cleared. A read to
                                                     the SPIDR register returns this byte. All other
    The MODF bit is set and an SPI interrupt re-    bytes are lost.
     quest is generated if the SPIE bit is set.
                                                     The OVR bit is cleared by reading the SPICSR
    The SPE bit is reset. This blocks all output    register.
     from the device and disables the SPI periph-
     eral.                                           10.4.5.3 Write Collision Error (WCOL)

    The MSTR bit is reset, thus forcing the device  A write collision occurs when the software tries to
     into slave mode.                                write to the SPIDR register while a data transfer is
                                                     taking place with an external device. When this
Clearing the MODF bit is done through a software     happens, the transfer continues uninterrupted;
sequence:                                            and the software write will be unsuccessful.

1. A read access to the SPICSR register while the    Write collisions can occur both in master and slave
      MODF bit is set.                               mode. See also Section 10.4.3.2 Slave Select
                                                     Management.
2. A write to the SPICR register.
                                                     Note: a "read collision" will never occur since the
Notes: To avoid any conflicts in an application      received data byte is placed in a buffer in which
with multiple slaves, the SS pin must be pulled      access is always synchronous with the MCU oper-
high during the MODF bit clearing sequence. The      ation.
SPE and MSTR bits may be restored to their orig-
inal state during or after this clearing sequence.   The WCOL bit in the SPICSR register is set if a
                                                     write collision occurs.
Hardware does not allow the user to set the SPE
and MSTR bits while the MODF bit is set except in    No SPI interrupt is generated when the WCOL bit
the MODF bit clearing sequence.                      is set (the WCOL bit is a status flag only).

10.4.5.2 Overrun Condition (OVR)                     Clearing the WCOL bit is done through a software
                                                     sequence (see Figure 47).
An overrun condition occurs, when the master de-
vice has sent a data byte and the slave device has

Figure 47. Clearing the WCOL bit (Write Collision Flag) Software Sequence
      Clearing sequence after SPIF = 1 (end of a data byte transfer)

               Read SPICSR
1st Step

                            RESULT

2nd Step  Read SPIDR        SPIF =0
                            WCOL=0

Clearing sequence before SPIF = 1 (during a data byte transfer)

        1st Step            Read SPICSR
        2nd Step
                            Read SPIDR               RESULT   Note: Writing to the SPIDR regis-
                                                              ter instead of reading it does not
                                                      WCOL=0  reset the WCOL bit

78/151

1
                                                                         ST72F324L, ST72324BL

SERIAL PERIPHERAL INTERFACE (Cont'd)                    Note: To prevent a bus conflict on the MISO line
                                                        the master allows only one active slave device
10.4.5.4 Single Master Systems                          during a transmission.

A typical single master system may be configured,       For more security, the slave device may respond
using an MCU as the master and four MCUs as             to the master with the received data byte. Then the
slaves (see Figure 48).                                 master will receive the previous byte back from the
                                                        slave device if all MISO and MOSI pins are con-
The master device selects the individual slave de-      nected and the slave has not written to its SPIDR
vices by using four pins of a parallel port to control  register.
the four SS pins of the slave devices.
                                                        Other transmission security methods can use
The SS pins are pulled high during reset since the      ports for handshake lines or data bytes with com-
master device ports will be forced to be inputs at      mand fields.
that time, thus disabling the slave devices.

Figure 48. Single Master / Multiple Slave Configuration

               SS               SS                                   SS              SS
    SCK             SCK                                  SCK             SCK

         Slave           Slave                               Slave           Slave
         MCU            MCU                                  MCU             MCU

    MOSI MISO       MOSI MISO                            MOSI MISO       MOSI MISO

    MOSI MISOPorts

    SCK
       Master
       MCU

5V  SS

                                                                                         79/151

                                                                                              1
ST72F324L, ST72324BL

SERIAL PERIPHERAL INTERFACE (Cont'd)                     Note: When waking up from Halt mode, if the SPI
10.4.6 Low Power Modes                                   remains in Slave mode, it is recommended to per-
                                                         form an extra communications cycle to bring the
  Mode                      Description                  SPI from Halt mode state to normal state. If the
WAIT                                                     SPI exits from Slave mode, it returns to normal
        No effect on SPI.                                state immediately.
HALT    SPI interrupt events cause the device to exit
        from WAIT mode.                                  Caution: The SPI can wake up the ST7 from Halt
                                                         mode only if the Slave Select signal (external SS
        SPI registers are frozen.                        pin or the SSI bit in the SPICSR register) is low
        In HALT mode, the SPI is inactive. SPI oper-     when the ST7 enters Halt mode. So if Slave selec-
        ation resumes when the MCU is woken up by        tion is configured as external (see Section
        an interrupt with "exit from HALT mode" ca-      10.4.3.2), make sure the master drives a low level
        pability. The data received is subsequently      on the SS pin when the slave enters Halt mode.
        read from the SPIDR register when the soft-
        ware is running (interrupt vector fetching). If  10.4.7 Interrupts
        several data are received before the wake-
        up event, then an overrun error is generated.                         Event  Enable   Exit  Exit
        This error can be detected after the fetch of                          Flag  Control  from  from
        the interrupt routine that woke up the device.                                        Wait  Halt
                                                                               SPIF     Bit
10.4.6.1 Using the SPI to wakeup the MCU from             Interrupt Event                     Yes   Yes
Halt mode                                                                     MODF    SPIE
                                                         SPI End of Transfer   OVR            Yes    No
In slave configuration, the SPI is able to wakeup        Event
the ST7 device from HALT mode through a SPIF             Master Mode Fault                    Yes    No
interrupt. The data received is subsequently read        Event
from the SPIDR register when the software is run-        Overrun Error
ning (interrupt vector fetch). If multiple data trans-
fers have been performed before software clears          Note: The SPI interrupt events are connected to
the SPIF bit, then the OVR bit is set by hardware.       the same interrupt vector (see Interrupts chapter).
                                                         They generate an interrupt if the corresponding
                                                         Enable Control Bit is set and the interrupt mask in

80/151

1
                                                                      ST72F324L, ST72324BL

SERIAL PERIPHERAL INTERFACE (Cont'd)

10.4.8 Register Description

CONTROL REGISTER (SPICR)

Read/Write                                              Bit 3 = CPOL Clock Polarity.
                                                        This bit is set and cleared by software. This bit de-
Reset Value: 0000 xxxx (0xh)                            termines the idle state of the serial Clock. The
                                                        CPOL bit affects both the master and slave
7                                     0                 modes.
                                                        0: SCK pin has a low level idle state
SPIE SPE SPR2 MSTR CPOL CPHA SPR1 SPR0                  1: SCK pin has a high level idle state

Bit 7 = SPIE Serial Peripheral Interrupt Enable.        Note: If CPOL is changed at the communication
This bit is set and cleared by software.                byte boundaries, the SPI must be disabled by re-
0: Interrupt is inhibited                               setting the SPE bit.
1: An SPI interrupt is generated whenever
                                                        Bit 2 = CPHA Clock Phase.
   SPIF=1, MODF=1 or OVR=1 in the SPICSR                This bit is set and cleared by software.
   register                                             0: The first clock transition is the first data capture

Bit 6 = SPE Serial Peripheral Output Enable.               edge.
This bit is set and cleared by software. It is also     1: The second clock transition is the first capture
cleared by hardware when, in master mode, SS=0
(see Section 10.4.5.1 Master Mode Fault                    edge.
(MODF)). The SPE bit is cleared by reset, so the
SPI peripheral is not initially connected to the ex-    Note: The slave must have the same CPOL and
ternal pins.                                            CPHA settings as the master.
0: I/O pins free for general purpose I/O
1: SPI I/O pin alternate functions enabled              Bits 1:0 = SPR[1:0] Serial Clock Frequency.
                                                        These bits are set and cleared by software. Used
Bit 5 = SPR2 Divider Enable.                            with the SPR2 bit, they select the baud rate of the
This bit is set and cleared by software and is          SPI serial clock SCK output by the SPI in master
cleared by reset. It is used with the SPR[1:0] bits to  mode.
set the baud rate. Refer to Table 18 SPI Master
mode SCK Frequency.                                     Note: These 2 bits have no effect in slave mode.
0: Divider by 2 enabled
1: Divider by 2 disabled                                Table 18. SPI Master mode SCK Frequency

Note: This bit has no effect in slave mode.             Serial Clock  SPR2  SPR1  SPR0
                                                                         1     0     0
Bit 4 = MSTR Master Mode.                                   fCPU/4       0     0     0
This bit is set and cleared by software. It is also         fCPU/8       0     0     1
cleared by hardware when, in master mode, SS=0             fCPU/16       1     1     0
(see Section 10.4.5.1 Master Mode Fault                    fCPU/32       0     1     0
(MODF)).                                                   fCPU/64       0     1     1
0: Slave mode                                             fCPU/128
1: Master mode. The function of the SCK pin

   changes from an input to an output and the func-
   tions of the MISO and MOSI pins are reversed.

                                                                                  81/151

                                                                                       1
ST72F324L, ST72324BL

SERIAL PERIPHERAL INTERFACE (Cont'd)                  Bit 3 = Reserved, must be kept cleared.

CONTROL/STATUS REGISTER (SPICSR)                      Bit 2 = SOD SPI Output Disable.
Read/Write (some bits Read Only)                      This bit is set and cleared by software. When set, it
Reset Value: 0000 0000 (00h)                          disables the alternate function of the SPI output
                                                      (MOSI in master mode / MISO in slave mode)
7                                     0               0: SPI output enabled (if SPE=1)
                                                      1: SPI output disabled
SPIF WCOL OVR MODF - SOD SSM SSI
                                                      Bit 1 = SSM SS Management.
Bit 7 = SPIF Serial Peripheral Data Transfer Flag     This bit is set and cleared by software. When set, it
   (Read only).                                       disables the alternate function of the SPI SS pin
   This bit is set by hardware when a transfer has    and uses the SSI bit value instead. See Section
   been completed. An interrupt is generated if       10.4.3.2 Slave Select Management.
   SPIE=1 in the SPICR register. It is cleared by a   0: Hardware management (SS managed by exter-
   software sequence (an access to the SPICSR
   register followed by a write or a read to the         nal pin)
   SPIDR register).                                   1: Software management (internal SS signal con-

0: Data transfer is in progress or the flag has been     trolled by SSI bit. External SS pin free for gener-
   cleared.                                              al-purpose I/O)

1: Data transfer between the device and an exter-     Bit 0 = SSI SS Internal Mode.
   nal device has been completed.                     This bit is set and cleared by software. It acts as a
                                                      `chip select' by controlling the level of the SS slave
Note: While the SPIF bit is set, all writes to the    select signal when the SSM bit is set.
SPIDR register are inhibited until the SPICSR reg-    0: Slave selected
ister is read.                                        1: Slave deselected

Bit 6 = WCOL Write Collision status (Read only).      DATA I/O REGISTER (SPIDR)
This bit is set by hardware when a write to the       Read/Write
SPIDR register is done during a transmit se-          Reset Value: Undefined
quence. It is cleared by a software sequence (see
Figure 47).                                           7                                        0
0: No write collision occurred
1: A write collision has been detected                D7 D6 D5 D4 D3 D2 D1 D0

Bit 5 = OVR SPI Overrun error (Read only).            The SPIDR register is used to transmit and receive
This bit is set by hardware when the byte currently   data on the serial bus. In a master device, a write
being received in the shift register is ready to be   to this register will initiate transmission/reception
transferred into the SPIDR register while SPIF = 1    of another byte.
(See Section 10.4.5.2). An interrupt is generated if
SPIE = 1 in SPICR register. The OVR bit is cleared    Notes: During the last clock cycle the SPIF bit is
by software reading the SPICSR register.              set, a copy of the received data byte in the shift
0: No overrun error                                   register is moved to a buffer. When the user reads
1: Overrun error detected                             the serial peripheral data I/O register, the buffer is
                                                      actually being read.
Bit 4 = MODF Mode Fault flag (Read only).
This bit is set by hardware when the SS pin is        While the SPIF bit is set, all writes to the SPIDR
pulled low in master mode (see Section 10.4.5.1       register are inhibited until the SPICSR register is
Master Mode Fault (MODF)). An SPI interrupt can       read.
be generated if SPIE=1 in the SPICR register. This
bit is cleared by a software sequence (An access      Warning: A write to the SPIDR register places
to the SPICSR register while MODF=1 followed by       data directly into the shift register for transmission.
a write to the SPICR register).
0: No master mode fault detected                      A read to the SPIDR register returns the value lo-
1: A fault in master mode has been detected           cated in the buffer and not the content of the shift
                                                      register (see Figure 42).

82/151

1
                                                         ST72F324L, ST72324BL

SERIAL PERIPHERAL INTERFACE (Cont'd)

Table 19. SPI Register Map and Reset Values

Address    Register     7      6        5       4     3     2     1     0
(Hex.)      Label
  0021h               MSB      x         x      x     x     x     x   LSB
         SPIDR          x    SPE      SPR2   MSTR  CPOL  CPHA  SPR1     x
  0022h  Reset Value
         SPICR        SPIE     0         0      0     x     x     x  SPR0
  0023h  Reset Value    0   WCOL       OR    MODF        SOD   SSM      x
         SPICSR                          0            0
         Reset Value  SPIF     0                0           0     0   SSI
                        0                                               0

                                                                     83/151

                                                                          1
ST72F324L, ST72324BL

10.5 SERIAL COMMUNICATIONS INTERFACE (SCI)

10.5.1 Introduction                                 10.5.3 General Description

The Serial Communications Interface (SCI) offers    The interface is externally connected to another
a flexible means of full-duplex data exchange with  device by two pins (see Figure 50):
external equipment requiring an industry standard
NRZ asynchronous serial data format. The SCI of-    TDO: Transmit Data Output. When the transmit-
fers a very wide range of baud rates using two        ter and the receiver are disabled, the output pin
baud rate generator systems.                          returns to its I/O port configuration. When the
                                                      transmitter and/or the receiver are enabled and
10.5.2 Main Features                                  nothing is to be transmitted, the TDO pin is at
Full duplex, asynchronous communications             high level.
NRZ standard format (Mark/Space)
Dual baud rate generator systems                   RDI: Receive Data Input is the serial data input.
Independently programmable transmit and              Oversampling techniques are used for data re-
                                                      covery by discriminating between valid incoming
   receive baud rates up to 500K baud.                data and noise.
Programmable data word length (8 or 9 bits)
Receive buffer full, Transmit buffer empty and     Through these pins, serial data is transmitted and
                                                    received as frames comprising:
   End of Transmission flags
Two receiver wake-up modes:                         An Idle Line prior to transmission or reception

    Address bit (MSB)                               A start bit

    Idle line                                       A data word (8 or 9 bits) least significant bit first
Muting function for multiprocessor configurations
Separate enable bits for Transmitter and            A Stop bit indicating that the frame is complete.

   Receiver                                         This interface uses two types of baud rate generator:
Four error detection flags:
                                                    A conventional type for commonly-used baud
    Overrun error                                    rates,

    Noise error                                     An extended type with a prescaler offering a very
                                                      wide range of baud rates even with non-standard
    Frame error                                      oscillator frequencies.

    Parity error
Five interrupt sources with flags:

    Transmit data register empty

    Transmission complete

    Receive data register full

    Idle line received

    Overrun error detected
Parity control:

    Transmits parity bit

    Checks parity of received data byte
Reduced power consumption mode

84/151

1
                                                          ST72F324L, ST72324BL

SERIAL COMMUNICATIONS INTERFACE (Cont'd)
Figure 49. SCI Block Diagram

               Write                      Read  (DATA REGISTER) DR
     Transmit Data Register (TDR)
                                          Received Data Register (RDR)

TDO        Transmit Shift Register        Received Shift Register
RDI

                                                                               CR1

                                    R8 T8 SCID M WAKE PCE PS PIE

     TRANSMIT           WAKE                    RECEIVER                                    RECEIVER
     CONTROL               UP                   CONTROL                                      CLOCK

                         UNIT

     CR2                                  TDRE TC RDRF IDLE OR          NF FE                  SR

     TIE TCIE RIE ILIE TE RE RWU SBK                                                        PE

              SCI
        INTERRUPT
         CONTROL

     TRANSMITTER
          CLOCK

     fCPU          /16  /PR                           TRANSMITTER RATE
                                                            CONTROL

                                                                                     BRR

                                          SCP1SCP0 SCT2 SCT1 SCT0 SCR2 SCR1SCR0

                                                                             RECEIVER RATE
                                                                              CONTROL

                                          CONVENTIONAL BAUD RATE GENERATOR

                                                                                                      85/151

                                                                                                           1
ST72F324L, ST72324BL

SERIAL COMMUNICATIONS INTERFACE (Cont'd)

10.5.4 Functional Description                        10.5.4.1 Serial Data Format

The block diagram of the Serial Control Interface,   Word length may be selected as being either 8 or 9
is shown in Figure 49. It contains 6 dedicated reg-  bits by programming the M bit in the SCICR1 reg-
isters:                                              ister (see Figure 49).

Two control registers (SCICR1 & SCICR2)            The TDO pin is in low state during the start bit.

A status register (SCISR)                          The TDO pin is in high state during the stop bit.

A baud rate register (SCIBRR)                      An Idle character is interpreted as an entire frame
                                                     of "1"s followed by the start bit of the next frame
An extended prescaler receiver register (SCIER-    which contains data.
  PR)
                                                     A Break character is interpreted on receiving "0"s
An extended prescaler transmitter register (SCI-   for some multiple of the frame period. At the end of
  ETPR)                                              the last break frame the transmitter inserts an ex-
                                                     tra "1" bit to acknowledge the start bit.
Refer to the register descriptions in Section
10.5.7for the definitions of each bit.               Transmission and reception are driven by their
                                                     own baud rate generator.

Figure 50. Word Length Programming

        9-bit Word length (M bit is set)

                             Data Frame                         Possible                 Next Data Frame
                                                                  Parity
                                                                                      Next
                                                                    Bit

        Start      Bit1 Bit2            Bit3   Bit4 Bit5  Bit6  Bit7 Bit8       Stop  Start
         Bit Bit0                                                               Bit   Bit

                             Idle Frame                                               Start
                                                                                       Bit

                             Break Frame                                              Extra Start
                                                                                       '1' Bit

        8-bit Word length (M bit is reset)                      Possible              Next Data Frame

                             Data Frame                         Parity

                                                                Bit             Next

        Start                Bit1 Bit2   Bit3  Bit4 Bit5  Bit6  Bit7      Stop  Start
         Bit Bit0                                                         Bit   Bit

                             Idle Frame                                         Start

                                                                                Bit

                             Break Frame                                        Extra  Start
                                                                                 '1'    Bit

86/151

1
                                                        ST72F324L, ST72324BL

SERIAL COMMUNICATIONS INTERFACE (Cont'd)

10.5.4.2 Transmitter                                    When a frame transmission is complete (after the
                                                        stop bit or after the break frame) the TC bit is set
The transmitter can send data words of either 8 or      and an interrupt is generated if the TCIE is set and
9 bits depending on the M bit status. When the M        the I bit is cleared in the CCR register.
bit is set, word length is 9 bits and the 9th bit (the
MSB) has to be stored in the T8 bit in the SCICR1       Clearing the TC bit is performed by the following
register.                                               software sequence:
                                                        1. An access to the SCISR register
Character Transmission                                  2. A write to the SCIDR register

During an SCI transmission, data shifts out least       Note: The TDRE and TC bits are cleared by the
significant bit first on the TDO pin. In this mode,     same software sequence.
the SCIDR register consists of a buffer (TDR) be-
tween the internal bus and the transmit shift regis-    Break Characters
ter (see Figure 49).
                                                        Setting the SBK bit loads the shift register with a
Procedure                                               break character. The break frame length depends
                                                        on the M bit (see Figure 50).
Select the M bit to define the word length.
                                                        As long as the SBK bit is set, the SCI send break
Select the desired baud rate using the SCIBRR         frames to the TDO pin. After clearing this bit by
  and the SCIETPR registers.                            software the SCI insert a logic 1 bit at the end of
                                                        the last break frame to guarantee the recognition
Set the TE bit to assign the TDO pin to the alter-    of the start bit of the next frame.
  nate function and to send a idle frame as first
  transmission.                                         Idle Characters

Access the SCISR register and write the data to       Setting the TE bit drives the SCI to send an idle
  send in the SCIDR register (this sequence clears      frame before the first data frame.
  the TDRE bit). Repeat this sequence for each
  data to be transmitted.                               Clearing and then setting the TE bit during a trans-
                                                        mission sends an idle frame after the current word.
Clearing the TDRE bit is always performed by the
following software sequence:                            Note: Resetting and setting the TE bit causes the
1. An access to the SCISR register                      data in the TDR register to be lost. Therefore the
2. A write to the SCIDR register                        best time to toggle the TE bit is when the TDRE bit
                                                        is set i.e. before writing the next byte in the SCIDR.
The TDRE bit is set by hardware and it indicates:

The TDR register is empty.

The data transfer is beginning.

The next data can be written in the SCIDR regis-
  ter without overwriting the previous data.

This flag generates an interrupt if the TIE bit is set
and the I bit is cleared in the CCR register.

When a transmission is taking place, a write in-
struction to the SCIDR register stores the data in
the TDR register and which is copied in the shift
register at the end of the current transmission.

When no transmission is taking place, a write in-
struction to the SCIDR register places the data di-
rectly in the shift register, the data transmission
starts, and the TDRE bit is immediately set.

                                                        87/151

                                                             1
ST72F324L, ST72324BL

SERIAL COMMUNICATIONS INTERFACE (Cont'd)

10.5.4.3 Receiver                                           RDR register as long as the RDRF bit is not
                                                            cleared.
The SCI can receive data words of either 8 or 9
bits. When the M bit is set, word length is 9 bits          When a overrun error occurs:
and the MSB is stored in the R8 bit in the SCICR1
register.                                                    The OR bit is set.

Character reception                                          The RDR content will not be lost.

During a SCI reception, data shifts in least signifi-       The shift register will be overwritten.
cant bit first through the RDI pin. In this mode, the
SCIDR register consists or a buffer (RDR) be-                An interrupt is generated if the RIE bit is set and
tween the internal bus and the received shift regis-          the I bit is cleared in the CCR register.
ter (see Figure 49).
                                                            The OR bit is reset by an access to the SCISR reg-
                                                            ister followed by a SCIDR register read operation.

Procedure                                                   Noise Error

Select the M bit to define the word length.               Oversampling techniques are used for data recov-
                                                            ery by discriminating between valid incoming data
Select the desired baud rate using the SCIBRR             and noise. Normal data bits are considered valid if
  and the SCIERPR registers.                                three consecutive samples (8th, 9th, 10th) have
                                                            the same bit value, otherwise the NF flag is set. In
Set the RE bit, this enables the receiver which           the case of start bit detection, the NF flag is set on
  begins searching for a start bit.                         the basis of an algorithm combining both valid
                                                            edge detection and three samples (8th, 9th, 10th).
When a character is received:                               Therefore, to prevent the NF flag getting set during
                                                            start bit reception, there should be a valid edge de-
The RDRF bit is set. It indicates that the content        tection as well as three valid samples.
  of the shift register is transferred to the RDR.
                                                            When noise is detected in a frame:
An interrupt is generated if the RIE bit is set and
  the I bit is cleared in the CCR register.                  The NF flag is set at the rising edge of the RDRF
                                                              bit.
The error flags can be set if a frame error, noise
  or an overrun error has been detected during re-          Data is transferred from the Shift register to the
  ception.                                                    SCIDR register.

Clearing the RDRF bit is performed by the following          No interrupt is generated. However this bit rises
software sequence done by:                                    at the same time as the RDRF bit which itself
                                                              generates an interrupt.
1. An access to the SCISR register
                                                            The NF flag is reset by a SCISR register read op-
2. A read to the SCIDR register.                            eration followed by a SCIDR register read opera-
                                                            tion.
The RDRF bit must be cleared before the end of the
reception of the next character to avoid an overrun         During reception, if a false start bit is detected (e.g.
error.                                                      8th, 9th, 10th samples are 011,101,110), the
                                                            frame is discarded and the receiving sequence is
Break Character                                             not started for this frame. There is no RDRF bit set
                                                            for this frame and the NF flag is set internally (not
When a break character is received, the SPI han-            accessible to the user). This NF flag is accessible
dles it as a framing error.                                 along with the RDRF bit when a next valid frame is
                                                            received.
Idle Character
                                                            Note: If the application Start Bit is not long enough
When a idle frame is detected, there is the same            to match the above requirements, then the NF
procedure as a data received character plus an in-          Flag may get set due to the short Start Bit. In this
terrupt if the ILIE bit is set and the I bit is cleared in  case, the NF flag may be ignored by the applica-
the CCR register.                                           tion software when the first valid byte is received.

Overrun Error                                               See also Section 10.5.4.10.

An overrun error occurs when a character is re-
ceived when RDRF has not been reset. Data can
not be transferred from the shift register to the

88/151

1
                                                                                       ST72F324L, ST72324BL

SERIAL COMMUNICATIONS INTERFACE (Cont'd)                                                TRANSMITTER
Figure 51. SCI Baud Rate and Extended Prescaler Block Diagram                                CLOCK

                                         EXTENDED PRESCALER TRANSMITTER RATE CONTROL   RECEIVER
                                                                                         CLOCK
                                                                              SCIETPR

                                     EXTENDED TRANSMITTER PRESCALER REGISTER

                                                                              SCIERPR

                                        EXTENDED RECEIVER PRESCALER REGISTER

                                         EXTENDED PRESCALER RECEIVER RATE CONTROL
                                                               EXTENDED PRESCALER

fCPU         /PR              TRANSMITTER RATE
        /16                      CONTROL

                                                        SCIBRR

                  SCP1SCP0 SCT2 SCT1 SCT0 SCR2 SCR1SCR0

                                                   RECEIVER RATE
                                                        CONTROL

                  CONVENTIONAL BAUD RATE GENERATOR

                                                                                       89/151

                                                                                            1
ST72F324L, ST72324BL

SERIAL COMMUNICATIONS INTERFACE (Cont'd)

Framing Error                                         Note: the extended prescaler is activated by set-
                                                      ting the SCIETPR or SCIERPR register to a value
A framing error is detected when:                     other than zero. The baud rates are calculated as
                                                      follows:
The stop bit is not recognized on reception at the
  expected time, following either a de-synchroni-     Tx =  fCPU       Rx =  fCPU
  zation or excessive noise.
                                                      16*ETPR*(PR*TR)  16*ERPR*(PR*RR)
A break is received.

When the framing error is detected:

the FE bit is set by hardware                       with:

Data is transferred from the Shift register to the  ETPR = 1,..,255 (see SCIETPR register)
  SCIDR register.
                                                      ERPR = 1,.. 255 (see SCIERPR register)
No interrupt is generated. However this bit rises
  at the same time as the RDRF bit which itself       10.5.4.6 Receiver Muting and Wake-up Feature
  generates an interrupt.
                                                      In multiprocessor configurations it is often desira-
The FE bit is reset by a SCISR register read oper-    ble that only the intended message recipient
ation followed by a SCIDR register read operation.    should actively receive the full message contents,
                                                      thus reducing redundant SCI service overhead for
10.5.4.4 Conventional Baud Rate Generation            all non addressed receivers.

The baud rate for the receiver and transmitter (Rx    The non addressed devices may be placed in
and Tx) are set independently and calculated as       sleep mode by means of the muting function.
follows:
                                                      Setting the RWU bit by software puts the SCI in
         fCPU        Rx = fCPU                        sleep mode:
Tx =                       (16*PR)*RR
                                                      All the reception status bits can not be set.
      (16*PR)*TR
                                                      All the receive interrupts are inhibited.
with:
                                                      A muted receiver may be awakened by one of the
PR = 1, 3, 4 or 13 (see SCP[1:0] bits)                following two ways:

TR = 1, 2, 4, 8, 16, 32, 64,128                        by Idle Line detection if the WAKE bit is reset,

(see SCT[2:0] bits)                                    by Address Mark detection if the WAKE bit is set.

RR = 1, 2, 4, 8, 16, 32, 64,128                       Receiver wakes-up by Idle Line detection when
                                                      the Receive line has recognised an Idle Frame.
(see SCR[2:0] bits)                                   Then the RWU bit is reset by hardware but the
                                                      IDLE bit is not set.
All these bits are in the SCIBRR register.
                                                      Receiver wakes-up by Address Mark detection
Example: If fCPU is 8 MHz (normal mode) and if        when it received a "1" as the most significant bit of
PR=13 and TR=RR=1, the transmit and receive           a word, thus indicating that the message is an ad-
baud rates are 38400 baud.                            dress. The reception of this particular word wakes
                                                      up the receiver, resets the RWU bit and sets the
Note: the baud rate registers MUST NOT be             RDRF bit, which allows the receiver to receive this
changed while the transmitter or the receiver is en-  word normally and to use it as an address word.
abled.

10.5.4.5 Extended Baud Rate Generation

The extended prescaler option gives a very fine       Caution: In Mute mode, do not write to the
tuning on the baud rate, using a 255 value prescal-   SCICR2 register. If the SCI is in Mute mode during
er, whereas the conventional Baud Rate Genera-        the read operation (RWU=1) and a address mark
tor retains industry standard software compatibili-   wake up event occurs (RWU is reset) before the
ty.                                                   write operation, the RWU bit will be set again by
                                                      this write operation. Consequently the address
The extended baud rate generator block diagram        byte is lost and the SCI is not woken up from Mute
is described in the Figure 51.                        mode.

The output clock rate sent to the transmitter or to
the receiver will be the output from the 16 divider
divided by a factor ranging from 1 to 255 set in the
SCIERPR or the SCIETPR register.

90/151

1
                                                       ST72F324L, ST72324BL

SERIAL COMMUNICATIONS INTERFACE (Cont'd)

10.5.4.7 Parity Control                                even number of "1s" if even parity is selected
                                                       (PS=0) or an odd number of "1s" if odd parity is se-
Parity control (generation of parity bit in transmis-  lected (PS=1). If the parity check fails, the PE flag
sion and parity checking in reception) can be ena-     is set in the SCISR register and an interrupt is gen-
bled by setting the PCE bit in the SCICR1 register.    erated if PIE is set in the SCICR1 register.
Depending on the frame length defined by the M
bit, the possible SCI frame formats are as listed in   10.5.4.8 SCI Clock Tolerance
Table 20.
                                                       During reception, each bit is sampled 16 times.
Table 20. Frame Formats                                The majority of the 8th, 9th and 10th samples is
                                                       considered as the bit value. For a valid bit detec-
M bit PCE bit            SCI frame                     tion, all the three samples should have the same
                                                       value otherwise the noise flag (NF) is set. For ex-
0                0  | SB | 8 bit data | STB |          ample: if the 8th, 9th and 10th samples are 0, 1
                                                       and 1 respectively, then the bit value will be "1",
0  1                | SB | 7-bit data | PB | STB |     but the Noise Flag bit is be set because the three
                                                       samples values are not the same.
1                0  | SB | 9-bit data | STB |
                                                       Consequently, the bit length must be long enough
1                1  | SB | 8-bit data PB | STB |       so that the 8th, 9th and 10th samples have the de-
                                                       sired bit value. This means the clock frequency
Legend: SB = Start Bit, STB = Stop Bit,                should not vary more than 6/16 (37.5%) within one
                                                       bit. The sampling clock is resynchronized at each
PB = Parity Bit                                        start bit, so that when receiving 10 bits (one start
                                                       bit, 1 data byte, 1 stop bit), the clock deviation
Note: In case of wake up by an address mark, the       must not exceed 3.75%.
MSB bit of the data is taken into account and not
the parity bit                                         Note: The internal sampling clock of the microcon-
                                                       troller samples the pin value on every falling edge.
Even parity: the parity bit is calculated to obtain    Therefore, the internal sampling clock and the time
an even number of "1s" inside the frame made of        the application expects the sampling to take place
the 7 or 8 LSB bits (depending on whether M is         may be out of sync. For example: If the baud rate
equal to 0 or 1) and the parity bit.                   is 15.625 kbaud (bit length is 64s), then the 8th,
                                                       9th and 10th samples will be at 28s, 32s & 36s
Ex: data=00110101; 4 bits set => parity bit will be    respectively (the first sample starting ideally at
0 if even parity is selected (PS bit = 0).             0s). But if the falling edge of the internal clock oc-
                                                       curs just before the pin value changes, the sam-
Odd parity: the parity bit is calculated to obtain an  ples would then be out of sync by ~4us. This
odd number of "1s" inside the frame made of the 7      means the entire bit length must be at least 40s
or 8 LSB bits (depending on whether M is equal to      (36s for the 10th sample + 4s for synchroniza-
0 or 1) and the parity bit.                            tion with the internal sampling clock).

Ex: data=00110101; 4 bits set => parity bit will be
1 if odd parity is selected (PS bit = 1).

Transmission mode: If the PCE bit is set then the
MSB bit of the data written in the data register is
not transmitted but is changed by the parity bit.

Reception mode: If the PCE bit is set then the in-
terface checks if the received data byte has an

                                                       91/151

                                                            1
ST72F324L, ST72324BL

SERIAL COMMUNICATIONS INTERFACE (Cont'd)

10.5.4.9 Clock Deviation Causes                      10.5.4.10 Noise Error Causes

The causes which contribute to the total deviation See also description of Noise error in Section

are:                                                 10.5.4.3.

DTRA: Deviation due to transmitter error (Local    Start bit
  oscillator error of the transmitter or the trans-
  mitter is transmitting at a different baud rate).  The noise flag (NF) is set during start bit reception
                                                     if one of the following conditions occurs:
DQUANT: Error due to the baud rate quantisa-
  tion of the receiver.                              1. A valid falling edge is not detected. A falling
                                                        edge is considered to be valid if the 3 consecu-
DREC: Deviation of the local oscillator of the        tive samples before the falling edge occurs are
  receiver: This deviation can occur during the         detected as '1' and, after the falling edge
  reception of one complete SCI message as-             occurs, during the sampling of the 16 samples,
  suming that the deviation has been compen-            if one of the samples numbered 3, 5 or 7 is
  sated at the beginning of the message.                detected as a "1".

    DTCL: Deviation due to the transmission line    2. During sampling of the 16 samples, if one of the
     (generally due to the transceivers)                samples numbered 8, 9 or 10 is detected as a
                                                        "1".
All the deviations of the system should be added
and compared to the SCI clock tolerance:             Therefore, a valid Start Bit must satisfy both the
                                                     above conditions to prevent the Noise Flag getting
DTRA + DQUANT + DREC + DTCL < 3.75%                  set.

                                                     Data Bits

                                                     The noise flag (NF) is set during normal data bit re-
                                                     ception if the following condition occurs:

                                                      During the sampling of 16 samples, if all three
                                                       samples numbered 8, 9 and10 are not the same.
                                                       The majority of the 8th, 9th and 10th samples is
                                                       considered as the bit value.

                                                     Therefore, a valid Data Bit must have samples 8, 9
                                                     and 10 at the same value to prevent the Noise
                                                     Flag getting set.

Figure 52. Bit Sampling in Reception Mode

RDI LINE                                               sampled values
          1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
Sample
  clock

                                                                6/16

                      7/16                                      7/16

                                 One bit time

92/151

1
                                                                           ST72F324L, ST72324BL

SERIAL COMMUNICATIONS INTERFACE (Cont'd)

10.5.5 Low Power Modes                                                     Event  Enable   Exit  Exit
                                                                            Flag  Control  from  from
Mode  Description                                  Interrupt Event                         Wait  Halt
WAIT  No effect on SCI.                                                              Bit
                                                                                                  No
      SCI interrupts cause the device to exit      Transmit Data Register  TDRE   TIE      Yes
      from Wait mode.                              Empty                                          No
      SCI registers are frozen.
                                                   Transmission Com-       TC TCIE Yes            No
                                                   plete                                          No
                                                                                                  No
HALT  In Halt mode, the SCI stops transmit-        Received Data Ready     RDRF   RIE      Yes
      ting/receiving until Halt mode is exit-      to be Read
      ed.
                                                   Overrun Error Detected OR               Yes

                                                   Idle Line Detected      IDLE ILIE Yes

10.5.6 Interrupts                                  Parity Error            PE PIE Yes No

The SCI interrupt events are connected to the      rupt mask in the CC register is reset (RIM instruc-
same interrupt vector.                             tion).

These events generate an interrupt if the corre-
sponding Enable Control Bit is set and the inter-

                                                                                                 93/151

                                                                                                      1
ST72F324L, ST72324BL

SERIAL COMMUNICATIONS INTERFACE (Cont'd)

10.5.7 Register Description                           Note: The IDLE bit will not be set again until the
                                                      RDRF bit has been set itself (i.e. a new idle line oc-
STATUS REGISTER (SCISR)                               curs).
Read Only
Reset Value: 1100 0000 (C0h)

7                             0                       Bit 3 = OR Overrun error.
                                                      This bit is set by hardware when the word currently
TDRE TC RDRF IDLE OR NF FE PE                         being received in the shift register is ready to be
                                                      transferred into the RDR register while RDRF=1.
Bit 7 = TDRE Transmit data register empty.            An interrupt is generated if RIE=1 in the SCICR2
This bit is set by hardware when the content of the   register. It is cleared by a software sequence (an
TDR register has been transferred into the shift      access to the SCISR register followed by a read to
register. An interrupt is generated if the TIE bit=1  the SCIDR register).
in the SCICR2 register. It is cleared by a software   0: No Overrun error
sequence (an access to the SCISR register fol-        1: Overrun error is detected
lowed by a write to the SCIDR register).
0: Data is not transferred to the shift register      Note: When this bit is set RDR register content will
1: Data is transferred to the shift register          not be lost but the shift register will be overwritten.

Note: Data will not be transferred to the shift reg-  Bit 2 = NF Noise flag.
ister unless the TDRE bit is cleared.                 This bit is set by hardware when noise is detected
                                                      on a received frame. It is cleared by a software se-
Bit 6 = TC Transmission complete.                     quence (an access to the SCISR register followed
This bit is set by hardware when transmission of a    by a read to the SCIDR register).
frame containing Data is complete. An interrupt is    0: No noise is detected
generated if TCIE=1 in the SCICR2 register. It is     1: Noise is detected
cleared by a software sequence (an access to the
SCISR register followed by a write to the SCIDR       Note: This bit does not generate interrupt as it ap-
register).                                            pears at the same time as the RDRF bit which it-
0: Transmission is not complete                       self generates an interrupt.
1: Transmission is complete
                                                      Bit 1 = FE Framing error.
Note: TC is not set after the transmission of a Pre-  This bit is set by hardware when a de-synchroniza-
amble or a Break.                                     tion, excessive noise or a break character is de-
                                                      tected. It is cleared by a software sequence (an
Bit 5 = RDRF Received data ready flag.                access to the SCISR register followed by a read to
This bit is set by hardware when the content of the   the SCIDR register).
RDR register has been transferred to the SCIDR        0: No Framing error is detected
register. An interrupt is generated if RIE=1 in the   1: Framing error or break character is detected
SCICR2 register. It is cleared by a software se-
quence (an access to the SCISR register followed      Note: This bit does not generate interrupt as it ap-
by a read to the SCIDR register).                     pears at the same time as the RDRF bit which it-
0: Data is not received                               self generates an interrupt. If the word currently
1: Received data is ready to be read                  being transferred causes both frame error and
                                                      overrun error, it will be transferred and only the OR
                                                      bit will be set.

Bit 4 = IDLE Idle line detect.                        Bit 0 = PE Parity error.
This bit is set by hardware when a Idle Line is de-   This bit is set by hardware when a parity error oc-
tected. An interrupt is generated if the ILIE=1 in    curs in receiver mode. It is cleared by a software
the SCICR2 register. It is cleared by a software se-  sequence (a read to the status register followed by
quence (an access to the SCISR register followed      an access to the SCIDR data register). An inter-
by a read to the SCIDR register).                     rupt is generated if PIE=1 in the SCICR1 register.
0: No Idle Line is detected                           0: No parity error
1: Idle Line is detected                              1: Parity error

94/151

1
                                                                         ST72F324L, ST72324BL

SERIAL COMMUNICATIONS INTERFACE (Cont'd)

CONTROL REGISTER 1 (SCICR1)

Read/Write                                              Bit 3 = WAKE Wake-Up method.
Reset Value: x000 0000 (x0h)
                                                        This bit determines the SCI Wake-Up method, it is
   7
                                                        set or cleared by software.

                              0                         0: Idle Line

                                                        1: Address Mark

R8 T8 SCID M WAKE PCE PS PIE

Bit 7 = R8 Receive data bit 8.                          Bit 2 = PCE Parity control enable.
This bit is used to store the 9th bit of the received   This bit selects the hardware parity control (gener-
word when M=1.                                          ation and detection). When the parity control is en-
                                                        abled, the computed parity is inserted at the MSB
Bit 6 = T8 Transmit data bit 8.                         position (9th bit if M=1; 8th bit if M=0) and parity is
This bit is used to store the 9th bit of the transmit-  checked on the received data. This bit is set and
ted word when M=1.                                      cleared by software. Once it is set, PCE is active
                                                        after the current byte (in reception and in transmis-
Bit 5 = SCID Disabled for low power consumption         sion).
When this bit is set the SCI prescalers and outputs     0: Parity control disabled
are stopped and the end of the current byte trans-      1: Parity control enabled
fer in order to reduce power consumption.This bit
is set and cleared by software.                         Bit 1 = PS Parity selection.
0: SCI enabled                                          This bit selects the odd or even parity when the
1: SCI prescaler and outputs disabled                   parity generation/detection is enabled (PCE bit
                                                        set). It is set and cleared by software. The parity
Bit 4 = M Word length.                                  will be selected after the current byte.
This bit determines the word length. It is set or       0: Even parity
cleared by software.                                    1: Odd parity
0: 1 Start bit, 8 Data bits, 1 Stop bit
1: 1 Start bit, 9 Data bits, 1 Stop bit                 Bit 0 = PIE Parity interrupt enable.
                                                        This bit enables the interrupt capability of the hard-
Note: The M bit must not be modified during a data      ware parity control when a parity error is detected
transfer (both transmission and reception).             (PE bit set). It is set and cleared by software.
                                                        0: Parity error interrupt disabled
                                                        1: Parity error interrupt enabled.

                                                                                      95/151

                                                                                           1
ST72F324L, ST72324BL

SERIAL COMMUNICATIONS INTERFACE (Cont'd)

CONTROL REGISTER 2 (SCICR2)                        Notes:

Read/Write                                          During transmission, a "0" pulse on the TE bit
Reset Value: 0000 0000 (00h)                         ("0" followed by "1") sends a preamble (idle line)
                                                     after the current word.
7                                          0
                                                    When TE is set there is a 1 bit-time delay before
TIE TCIE RIE ILIE TE RE RWU SBK                      the transmission starts.

Bit 7 = TIE Transmitter interrupt enable.          Caution: The TDO pin is free for general purpose
This bit is set and cleared by software.           I/O only when the TE and RE bits are both cleared
0: Interrupt is inhibited                          (or if TE is never set).
1: An SCI interrupt is generated whenever
                                                   Bit 2 = RE Receiver enable.
   TDRE=1 in the SCISR register                    This bit enables the receiver. It is set and cleared
                                                   by software.
Bit 6 = TCIE Transmission complete interrupt ena-  0: Receiver is disabled
ble                                                1: Receiver is enabled and begins searching for a
This bit is set and cleared by software.
0: Interrupt is inhibited                             start bit
1: An SCI interrupt is generated whenever TC=1 in
                                                   Bit 1 = RWU Receiver wake-up.
   the SCISR register                              This bit determines if the SCI is in mute mode or
                                                   not. It is set and cleared by software and can be
Bit 5 = RIE Receiver interrupt enable.             cleared by hardware when a wake-up sequence is
This bit is set and cleared by software.           recognized.
0: Interrupt is inhibited                          0: Receiver in Active mode
1: An SCI interrupt is generated whenever OR=1     1: Receiver in Mute mode

   or RDRF=1 in the SCISR register                 Note: Before selecting Mute mode (setting the
                                                   RWU bit), the SCI must receive some data first,
Bit 4 = ILIE Idle line interrupt enable.           otherwise it cannot function in Mute mode with
This bit is set and cleared by software.           wakeup by idle line detection.
0: Interrupt is inhibited
1: An SCI interrupt is generated whenever IDLE=1   Bit 0 = SBK Send break.
                                                   This bit set is used to send break characters. It is
   in the SCISR register.                          set and cleared by software.
                                                   0: No break character is transmitted
Bit 3 = TE Transmitter enable.                     1: Break characters are transmitted
This bit enables the transmitter. It is set and
cleared by software.                               Note: If the SBK bit is set to "1" and then to "0", the
0: Transmitter is disabled                         transmitter will send a BREAK word at the end of
1: Transmitter is enabled                          the current word.

96/151

1
                                                                          ST72F324L, ST72324BL

SERIAL COMMUNICATIONS INTERFACE (Cont'd)

DATA REGISTER (SCIDR)                                 Bits 5:3 = SCT[2:0] SCI Transmitter rate divisor
                                                      These 3 bits, in conjunction with the SCP1 & SCP0
Read/Write                                            bits define the total division applied to the bus
                                                      clock to yield the transmit rate clock in convention-
Reset Value: Undefined                                al Baud Rate Generator mode.

Contains the Received or Transmitted data char-       TR dividing factor  SCT2  SCT1  SCT0
acter, depending on whether it is read from or writ-              1          0     0     0
ten to.                                                           2          0     0     1

7                              0

DR7 DR6 DR5 DR4 DR3 DR2 DR1 DR0                       4                   0     1     0

                                                      8                   0     1     1

The Data register performs a double function (read    16                  1     0     0
and write) since it is composed of two registers,
one for transmission (TDR) and one for reception      32                  1     0     1
(RDR).
The TDR register provides the parallel interface      64                  1     1     0
between the internal bus and the output shift reg-
ister (see Figure 49).                                128                 1     1     1
The RDR register provides the parallel interface
between the input shift register and the internal     Bits 2:0 = SCR[2:0] SCI Receiver rate divisor.
bus (see Figure 49).                                  These 3 bits, in conjunction with the SCP[1:0] bits
                                                      define the total division applied to the bus clock to
                                                      yield the receive rate clock in conventional Baud
                                                      Rate Generator mode.

BAUD RATE REGISTER (SCIBRR)                           RR Dividing factor  SCR2  SCR1  SCR0
Read/Write                                                        1          0     0     0
Reset Value: 0000 0000 (00h)                                      2          0     0     1
                                                                  4          0     1     0
7                              0                                  8          0     1     1
                                                                 16          1     0     0
SCP1 SCP0 SCT2 SCT1 SCT0 SCR2 SCR1 SCR0                          32          1     0     1
                                                                 64          1     1     0
Bits 7:6= SCP[1:0] First SCI Prescaler                                       1     1     1
These 2 prescaling bits allow several standard                  128
clock division ranges:

   PR Prescaling factor  SCP1  SCP0
                 1          0     0
                 3          0     1
                 4          1     0
                13          1     1

                                                                                      97/151

                                                                                           1
ST72F324L, ST72324BL

SERIAL COMMUNICATIONS INTERFACE (Cont'd)

EXTENDED RECEIVE PRESCALER DIVISION EXTENDED TRANSMIT PRESCALER DIVISION

REGISTER (SCIERPR)                                              REGISTER (SCIETPR)

Read/Write                                                      Read/Write

Reset Value: 0000 0000 (00h)                                    Reset Value:0000 0000 (00h)

Allows setting of the Extended Prescaler rate divi- Allows setting of the External Prescaler rate divi-

sion factor for the receive circuit.                            sion factor for the transmit circuit.

7                                                 0             7                                               0

ERPR ERPR ERPR ERPR ERPR ERPR ERPR ERPR                         ETPR ETPR ETPR ETPR ETPR ETPR ETPR ETPR

7       6   5  4          3           2        1  0             7     6     5          4  3            2  1     0

Bits 7:0 = ERPR[7:0] 8-bit Extended Receive                     Bits 7:0 = ETPR[7:0] 8-bit Extended Transmit
Prescaler Register.                                             Prescaler Register.

The extended Baud Rate Generator is activated                   The extended Baud Rate Generator is activated
when a value different from 00h is stored in this               when a value different from 00h is stored in this
register. Therefore the clock frequency issued                  register. Therefore the clock frequency issued
from the 16 divider (see Figure 51) is divided by               from the 16 divider (see Figure 51) is divided by
the binary factor set in the SCIERPR register (in               the binary factor set in the SCIETPR register (in
the range 1 to 255).                                            the range 1 to 255).

The extended baud rate generator is not used af-                The extended baud rate generator is not used af-
ter a reset.                                                    ter a reset.

Table 21. Baudrate Selection

                                                          Conditions

Symbol         Parameter                            Accuracy          Prescaler           Standard        Baud  Unit
                                                  vs. Standard                                            Rate
                                         fCPU

                                                                Conventional Mode

                                                                TR (or RR)=128, PR=13        300 ~300.48
                                                                                           1200 ~1201.92
                                                                TR (or RR)= 32, PR=13      2400 ~2403.84
                                                                                           4800 ~4807.69
                                                                TR (or RR)= 16, PR=13      9600 ~9615.38
                                                                                          10400 ~10416.67 Hz
                                                  ~0.16%        TR (or RR)= 8, PR=13      19200 ~19230.77
                                                                                          38400 ~38461.54
fTx     Communication frequency 8MHz                            TR (or RR)= 4, PR=13
                                                                TR (or RR)= 16, PR= 3     14400 ~14285.71
fRx                                                             TR (or RR)= 2, PR=13

                                                                TR (or RR)= 1, PR=13

                                                  ~0.79%        Extended Mode
                                                                ETPR (or ERPR) = 35,
                                                                TR (or RR)= 1, PR=1

98/151

1
                                                          ST72F324L, ST72324BL

SERIAL COMMUNICATION INTERFACE (Cont'd)

Table 22. SCI Register Map and Reset Values

Address    Register     7     6     5           4      3    2      1     0
(Hex.)      Label
  0050h               TDRE   TC   RDRF       IDLE     OR   NF     FE    PE
  0051h  SCISR           1     1     0          0      0    0      0     0
  0052h  Reset Value                                                   LSB
  0053h  SCIDR        MSB      x     x          x      x    x      x     x
  0054h  Reset Value     x  SCP0  SCT2       SCT1   SCT0  SCR2  SCR1  SCR0
  0055h  SCIBRR                                                          0
  0057h  Reset Value  SCP1     0     0          0      0     0     0   PIE
                         0    T8  SCID         M    WAKE  PCE     PS     0
         SCICR1         R8     0                0                  0   SBK
         Reset Value     x  TCIE     0        ILIE     0    0   RWU      0
                       TIE     0   RIE          0     TE   RE      0   LSB
         SCICR2          0                             0    0            0
         Reset Value           0     0          0                  0   LSB
         SCIERPR      MSB                              0    0            0
         Reset Value     0     0     0          0                  0
         SCIPETPR                                      0    0
         Reset Value  MSB            0
                         0

                                                                      99/151

                                                                           1
ST72F324L, ST72324BL

10.6 10-BIT A/D CONVERTER (ADC)

10.6.1 Introduction                                   10.6.2 Main Features
                                                       10-bit conversion
The on-chip Analog to Digital Converter (ADC) pe-      Up to 16 channels with multiplexed input
ripheral is a 10-bit, successive approximation con-    Linear successive approximation
verter with internal sample and hold circuitry. This   Data register (DR) which contains the results
peripheral has up to 16 multiplexed analog input       Conversion complete status flag
channels (refer to device pin out description) that    On/off bit (to reduce consumption)
allow the peripheral to convert the analog voltage    The block diagram is shown in Figure 53.
levels from up to 16 different sources.

The result of the conversion is stored in a 10-bit
Data Register. The A/D converter is controlled
through a Control/Status Register.

Figure 53. ADC Block Diagram

fCPU     DIV 4            0 fADC
         DIV 2
                          1

                EOC SPEED ADON 0 CH3 CH2 CH1 CH0 ADCCSR

AIN0                   4                              ANALOG TO DIGITAL
AIN1                                                       CONVERTER
AINx     ANALOG
           MUX

                          ADCDRH  D9 D8 D7 D6 D5 D4 D3 D2

                                  ADCDRL              0 0 0 0 0 0 D1 D0

100/151

1
                                                                          ST72F324L, ST72324BL

10-BIT A/D CONVERTER (ADC) (Cont'd)                    To read the 10 bits, perform the following steps:

10.6.3 Functional Description                          1. Poll the EOC bit

The conversion is monotonic, meaning that the re-      2. Read the ADCDRL register
sult never decreases if the analog input does not
and never increases if the analog input does not.      3. Read the ADCDRH register. This clears EOC
                                                          automatically.
If the input voltage (VAIN) is greater than VAREF
(high-level voltage reference) then the conversion     Note: The data is not latched, so both the low and
result is FFh in the ADCDRH register and 03h in        the high data register must be read before the next
the ADCDRL register (without overflow indication).     conversion is complete, so it is recommended to
                                                       disable interrupts while reading the conversion re-
If the input voltage (VAIN) is lower than VSSA (low-   sult.
level voltage reference) then the conversion result
in the ADCDRH and ADCDRL registers is 00 00h.          To read only 8 bits, perform the following steps:

The A/D converter is linear and the digital result of  1. Poll the EOC bit
the conversion is stored in the ADCDRH and AD-
CDRL registers. The accuracy of the conversion is      2. Read the ADCDRH register. This clears EOC
described in the Electrical Characteristics Section.      automatically.

RAIN is the maximum recommended impedance              10.6.3.3 Changing the conversion channel
for an analog input signal. If the impedance is too
high, this will result in a loss of accuracy due to    The application can change channels during con-
leakage and sampling not being completed in the        version. When software modifies the CH[3:0] bits
alloted time.                                          in the ADCCSR register, the current conversion is
                                                       stopped, the EOC bit is cleared, and the A/D con-
10.6.3.1 A/D Converter Configuration                   verter starts converting the newly selected chan-
                                                       nel.
The analog input ports must be configured as in-
put, no pull-up, no interrupt. Refer to the I/O       10.6.4 Low Power Modes
ports chapter. Using these pins as analog inputs
does not affect the ability of the port to be read as  Note: The A/D converter may be disabled by re-
a logic input.                                         setting the ADON bit. This feature allows reduced
                                                       power consumption when no conversion is need-
In the ADCCSR register:                                ed.

    Select the CS[3:0] bits to assign the analog      Mode  Description
     channel to convert.                               WAIT  No effect on A/D Converter
                                                             A/D Converter disabled.
10.6.3.2 Starting the Conversion                       HALT
                                                             After wakeup from Halt mode, the A/D
In the ADCCSR register:                                      Converter requires a stabilization time
                                                             tSTAB (see Electrical Characteristics)
Set the ADON bit to enable the A/D converter               before accurate conversions can be
  and to start the conversion. From this time on,            performed.
  the ADC performs a continuous conversion of
  the selected channel.                                10.6.5 Interrupts
                                                       None.
When a conversion is complete:

    The EOC bit is set by hardware.
    The result is in the ADCDR registers.
A read to the ADCDRH resets the EOC bit.

                                                                          101/151

                                                                                1
ST72F324L, ST72324BL

10-BIT A/D CONVERTER (ADC) (Cont'd)                  Bit 3:0 = CH[3:0] Channel Selection
                                                     These bits are set and cleared by software. They
10.6.6 Register Description                          select the analog input to convert.

CONTROL/STATUS REGISTER (ADCCSR)
Read/Write (Except bit 7 read only)
Reset Value: 0000 0000 (00h)

                                                        Channel Pin*     CH3 CH2 CH1 CH0

7                                         0             AIN0             0         0  0            0
                                                        AIN1
                                                        AIN2             0         0  0            1
                                                        AIN3
EOC SPEED ADON 0 CH3 CH2 CH1 CH0                        AIN4             0         0  1            0
                                                        AIN5
                                                        AIN6             0         0  1            1
                                                        AIN7
Bit 7 = EOC End of Conversion                           AIN8             0         1  0            0
This bit is set by hardware. It is cleared by hard-     AIN9
ware when software reads the ADCDRH register            AIN10            0         1  0            1
or writes to any bit of the ADCCSR register.            AIN11
0: Conversion is not complete                           AIN12            0         1  1            0
1: Conversion complete                                  AIN13
                                                        AIN14            0         1  1            1
                                                        AIN15
                                                                         1         0  0            0

                                                                         1         0  0            1

                                                                         1         0  1            0

Bit 6 = SPEED ADC clock selection                                        1         0  1            1
This bit is set and cleared by software.
0: fADC = fCPU/4                                                         1         1  0            0
1: fADC = fCPU/2
                                                                         1         1  0            1
Bit 5 = ADON A/D Converter on
This bit is set and cleared by software.                                 1         1  1            0
0: Disable ADC and stop conversion
1: Enable ADC and start conversion                                       1         1  1            1

                                                     *The number of channels is device dependent. Refer to
                                                     the device pinout description.

Bit 4 = Reserved. Must be kept cleared.              DATA REGISTER (ADCDRH)
                                                     Read Only
                                                     Reset Value: 0000 0000 (00h)

                                                     7                                             0

                                                     D9 D8 D7 D6 D5 D4 D3 D2

                                                     Bit 7:0 = D[9:2] MSB of Converted Analog Value

                                                     DATA REGISTER (ADCDRL)
                                                     Read Only
                                                     Reset Value: 0000 0000 (00h)

                                                     7                                             0

                                                     0  0      0      0     0      0  D1 D0

                                                     Bit 7:2 = Reserved. Forced by hardware to 0.

                                                     Bit 1:0 = D[1:0] LSB of Converted Analog Value

102/151

1
                                                      ST72F324L, ST72324BL

10-BIT A/D CONVERTER (Cont'd)
Table 23. ADC Register Map and Reset Values

Address  Register     7    6   5             4     3    2    1    0
(Hex.)    Label
                                                 CH3  CH2  CH1  CH0
0070h    ADCCSR       EOC  SPEED ADON              0    0    0    0
                                                  D5   D4   D3   D2
         Reset Value  0    0   0             0     0    0    0    0
                                                            D1   D0
0071h    ADCDRH       D9   D8  D7            D6    0    0    0    0
         Reset Value   0    0   0             0

0072h    ADCDRL       0    0   0             0
         Reset Value

                                                                103/151

                                                                      1
ST72F324L, ST72324BL

11 INSTRUCTION SET

11.1 CPU ADDRESSING MODES                            so, most of the addressing modes may be subdi-
                                                     vided in two sub-modes called long and short:
The CPU features 17 different addressing modes
which can be classified in 7 main groups:             Long addressing mode is more powerful be-
                                                       cause it can use the full 64 Kbyte address space,
Addressing Mode      Example                           however it uses more bytes and more CPU cy-
Inherent             nop                               cles.
Immediate            ld A,#$55
Direct               ld A,$55                         Short addressing mode is less powerful because
Indexed              ld A,($55,X)                      it can generally only access page zero (0000h -
Indirect             ld A,([$55],X)                    00FFh range), but the instruction size is more
Relative             jrne loop                         compact, and faster. All memory to memory in-
Bit operation        bset byte,#5                      structions use short addressing modes only
                                                       (CLR, CPL, NEG, BSET, BRES, BTJT, BTJF,
The CPU Instruction set is designed to minimize        INC, DEC, RLC, RRC, SLL, SRL, SRA, SWAP)
the number of bytes required per instruction: To do
                                                     The ST7 Assembler optimizes the use of long and
                                                     short addressing modes.

Table 24. CPU Addressing Mode Overview

           Mode             Syntax                   Destination  Pointer  Pointer Size  Length
                      nop                                         Address      (Hex.)    (Bytes)

                                                                   (Hex.)

Inherent                                                                                 +0

Immediate             ld A,#$55                                                          +1

Short      Direct     ld A,$10                       00..FF                              +1

Long       Direct     ld A,$1000                     0000..FFFF                          +2

No Offset Direct Indexed ld A,(X)                    00..FF                              +0

Short      Direct Indexed ld A,($10,X)               00..1FE                             +1

Long       Direct Indexed ld A,($1000,X) 0000..FFFF                                      +2

Short      Indirect   ld A,[$10]                     00..FF       00..FF   byte          +2

Long       Indirect   ld A,[$10.w]                   0000..FFFF 00..FF     word          +2

Short      Indirect Indexed ld A,([$10],X)           00..1FE      00..FF   byte          +2

Long       Indirect Indexed ld A,([$10.w],X) 0000..FFFF 00..FF             word          +2

Relative   Direct     jrne loop                      PC+/-127                            +1

Relative   Indirect   jrne [$10]                     PC+/-127 00..FF       byte          +2

Bit        Direct     bset $10,#7                    00..FF                              +1

Bit        Indirect   bset [$10],#7                  00..FF       00..FF   byte          +2

Bit        Direct Relative btjt $10,#7,skip 00..FF                                       +2

Bit        Indirect Relative btjt [$10],#7,skip 00..FF            00..FF   byte          +3

104/151

1
                                                       ST72F324L, ST72324BL

INSTRUCTION SET OVERVIEW (Cont'd)                      11.1.3 Direct

11.1.1 Inherent                                        In Direct instructions, the operands are referenced
                                                       by their memory address.
All Inherent instructions consist of a single byte.
The opcode fully specifies all the required informa-   The direct addressing mode consists of two sub-
tion for the CPU to process the operation.             modes:

Inherent Instruction               Function            Direct (short)
NOP                    No operation
TRAP                   S/W Interrupt                   The address is a byte, thus requires only one byte
                       Wait For Interrupt (Low Pow-    after the opcode, but only allows 00 - FF address-
WFI                    er Mode)                        ing space.
                       Halt Oscillator (Lowest Power
HALT                   Mode)                           Direct (long)
                       Sub-routine Return
RET                    Interrupt Sub-routine Return    The address is a word, thus allowing 64 Kbyte ad-
IRET                   Set Interrupt Mask (level 3)    dressing space, but requires 2 bytes after the op-
SIM                    Reset Interrupt Mask (level 0)  code.
RIM                    Set Carry Flag
SCF                    Reset Carry Flag                11.1.4 Indexed (No Offset, Short, Long)
RCF                    Reset Stack Pointer
RSP                    Load                            In this mode, the operand is referenced by its
LD                     Clear                           memory address, which is defined by the unsigned
CLR                    Push/Pop to/from the stack      addition of an index register (X or Y) with an offset.
PUSH/POP               Increment/Decrement
INC/DEC                Test Negative or Zero           The indirect addressing mode consists of three
TNZ                    1 or 2 Complement               sub-modes:
CPL, NEG               Byte Multiplication
MUL                                                    Indexed (No Offset)
SLL, SRL, SRA, RLC,    Shift and Rotate Operations
RRC                                                    There is no offset, (no extra byte after the opcode),
SWAP                   Swap Nibbles                    and allows 00 - FF addressing space.

11.1.2 Immediate                                       Indexed (Short)

Immediate instructions have two bytes, the first       The offset is a byte, thus requires only one byte af-
byte contains the opcode, the second byte con-         ter the opcode and allows 00 - 1FE addressing
tains the operand value.                               space.

Immediate Instruction             Function             Indexed (long)
LD                     Load
CP                     Compare                         The offset is a word, thus allowing 64 Kbyte ad-
BCP                    Bit Compare                     dressing space and requires 2 bytes after the op-
AND, OR, XOR           Logical Operations              code.
ADC, ADD, SUB, SBC     Arithmetic Operations
                                                       11.1.5 Indirect (Short, Long)

                                                       The required data byte to do the operation is found
                                                       by its memory address, located in memory (point-
                                                       er).

                                                       The pointer address follows the opcode. The indi-
                                                       rect addressing mode consists of two sub-modes:

                                                       Indirect (short)

                                                       The pointer address is a byte, the pointer size is a
                                                       byte, thus allowing 00 - FF addressing space, and
                                                       requires 1 byte after the opcode.

                                                       Indirect (long)

                                                       The pointer address is a byte, the pointer size is a
                                                       word, thus allowing 64 Kbyte addressing space,
                                                       and requires 1 byte after the opcode.

                                                       105/151

                                                             1
ST72F324L, ST72324BL

INSTRUCTION SET OVERVIEW (Cont'd)                     11.1.7 Relative mode (Direct, Indirect)

11.1.6 Indirect Indexed (Short, Long)                 This addressing mode is used to modify the PC
                                                      register value, by adding an 8-bit signed offset to
This is a combination of indirect and short indexed   it.
addressing modes. The operand is referenced by
its memory address, which is defined by the un-          Available Relative            Function
signed addition of an index register value (X or Y)         Direct/Indirect
with a pointer value located in memory. The point-            Instructions   Conditional Jump
er address follows the opcode.                                               Call Relative
                                                      JRxx
The indirect indexed addressing mode consists of
two sub-modes:                                        CALLR

Indirect Indexed (Short)                              The relative addressing mode consists of two sub-
                                                      modes:
The pointer address is a byte, the pointer size is a
byte, thus allowing 00 - 1FE addressing space,        Relative (Direct)
and requires 1 byte after the opcode.
                                                      The offset is following the opcode.
Indirect Indexed (Long)
                                                      Relative (Indirect)
The pointer address is a byte, the pointer size is a
word, thus allowing 64 Kbyte addressing space,        The offset is defined in memory, which address
and requires 1 byte after the opcode.                 follows the opcode.

Table 25. Instructions Supporting Direct,
Indexed, Indirect and Indirect Indexed
Addressing Modes

    Long and Short               Function
       Instructions
                      Load
LD                    Compare
CP                    Logical Operations
AND, OR, XOR          Arithmetic Additions/Sub-
                      stractions operations
ADC, ADD, SUB, SBC    Bit Compare

BCP

  Short Instructions             Function
            Only
                      Clear
CLR                   Increment/Decrement
INC, DEC              Test Negative or Zero
TNZ                   1 or 2 Complement
CPL, NEG              Bit Operations
BSET, BRES            Bit Test and Jump Opera-
                      tions
BTJT, BTJF            Shift and Rotate Opera-
                      tions
SLL, SRL, SRA, RLC,   Swap Nibbles
RRC                   Call or Jump subroutine
SWAP
CALL, JP

106/151

1
                                                                       ST72F324L, ST72324BL

INSTRUCTION SET OVERVIEW (Cont'd)

11.2 INSTRUCTION GROUPS                              be subdivided into 13 main groups as illustrated in
                                                     the following table:
The ST7 family devices use an Instruction Set
consisting of 63 instructions. The instructions may

Load and Transfer                 LD          CLR    RSP     CPL NEG
Stack operation                   PUSH        POP
Increment/Decrement               INC         DEC    BCP     SBC       MUL   SWAP   SLA
Compare and Tests                 CP          TNZ    XOR     RLC       RRC   CALLR  NOP RET
Logical operations                AND         OR             JP        CALL
Bit Operation                     BSET        BRES   SUB
Conditional Bit Test and Branch   BTJT        BTJF   SRA     IRET
Arithmetic operations             ADC         ADD    JRF     RCF
Shift and Rotates                 SLL         SRL
Unconditional Jump or Call        JRA         JRT    HALT
Conditional Branch                JRxx               SCF
Interruption management           TRAP        WFI
Condition Code Flag modification  SIM         RIM

Using a pre-byte

The instructions are described with one to four op-  These prebytes enable instruction in Y as well as
codes.                                               indirect addressing modes to be implemented.
                                                     They precede the opcode of the instruction in X or
In order to extend the number of available op-       the instruction using direct addressing mode. The
codes for an 8-bit CPU (256 opcodes), three differ-  prebytes are:
ent prebyte opcodes are defined. These prebytes
modify the meaning of the instruction they pre-      PDY 90        Replace an X based instruction
cede.
                                                     using immediate, direct, indexed, or inherent ad-

The whole instruction becomes:                       dressing mode by a Y one.

PC-2             End of previous instruction         PIX 92        Replace an instruction using di-

PC-1             Prebyte                             rect, direct bit, or direct relative addressing mode

                                                     to an instruction using the corresponding indirect

PC               opcode                              addressing mode.

PC+1             Additional word (0 to 2) according  It also changes an instruction using X indexed ad-

to the number of bytes required to compute the ef-   dressing mode to an instruction using indirect X in-

fective address                                      dexed addressing mode.

                                                     PIY 91        Replace an instruction using X in-

                                                     direct indexed addressing mode by a Y one.

                                                                                    107/151

                                                                                          1
ST72F324L, ST72324BL

INSTRUCTION SET OVERVIEW (Cont'd)

Mnemo           Description         Function/Example       Dst     Src  I1 H I0 N Z C
ADC      Add with Carry             A=A+M+C              A       M
ADD      Addition                   A=A+M                A       M         H     NZC
AND      Logical And                A=A.M                A       M
BCP      Bit compare A, Memory      tst (A . M)          A       M         H     NZC
BRES     Bit Reset                  bres Byte, #3        M
BSET     Bit Set                    bset Byte, #3        M       M               NZ
BTJF     Jump if bit is false (0)   btjf Byte, #3, Jmp1  M
BTJT     Jump if bit is true (1)    btjt Byte, #3, Jmp1  M                       NZ
CALL     Call subroutine
CALLR    Call subroutine relative   tst(Reg - M)         reg, M                      C
CLR      Clear                      A = FFH-A            reg                         C
CP       Arithmetic Compare         dec Y                reg, M
CPL      One Complement                                  reg, M                  01
DEC      Decrement                  Pop CC, A, X, PC
HALT     Halt                       inc X                reg, M                  NZC
IRET     Interrupt routine return   jp [TBL.w]
INC      Increment                                                               NZ 1
JP       Absolute Jump              jrf *
JRA      Jump relative always       (ext. INT pin high)                          NZ
JRT      Jump relative              (ext. INT pin low)
JRF      Never jump                 H=1?                                1     0
JRIH     Jump if ext. INT pin = 1   H=0?
JRIL     Jump if ext. INT pin = 0   I1:0 = 11 ?                         I1 H I0 N Z C
JRH      Jump if H = 1              I1:0 <> 11 ?
JRNH     Jump if H = 0              N=1?                                         NZ
JRM      Jump if I1:0 = 11          N=0?
JRNM     Jump if I1:0 <> 11         Z=1?
JRMI     Jump if N = 1 (minus)      Z=0?
JRPL     Jump if N = 0 (plus)       C=1?
JREQ     Jump if Z = 1 (equal)      C=0?
JRNE     Jump if Z = 0 (not equal)  Unsigned <
JRC      Jump if C = 1              Jmp if unsigned >=
JRNC     Jump if C = 0              Unsigned >
JRULT    Jump if C = 1
JRUGE    Jump if C = 0
JRUGT    Jump if (C + Z = 0)

108/151

1
                                                                      ST72F324L, ST72324BL

INSTRUCTION SET OVERVIEW (Cont'd)

Mnemo         Description      Function/Example       Dst      Src    I1 H I0 N Z C
JRULE  Jump if (C + Z = 1)     Unsigned <=
LD     Load                    dst <= src           reg, M   M, reg            NZ
MUL    Multiply                X,A = X * A          A, X, Y  X, Y, A
NEG    Negate (2's compl)      neg $10              reg, M               0         0
NOP    No Operation
OR     OR operation                                                            NZC

                               A=A+M                A        M                 NZ
                               pop reg
POP    Pop from the Stack      pop CC               reg      M
                               push Y
                               C=0                  CC       M        I1 H I0 N Z C

PUSH   Push onto the Stack                          M        reg, CC
RCF    Reset carry flag
RET    Subroutine Return                                                           0
RIM    Enable Interrupts
RLC    Rotate left true C      I1:0 = 10 (level 0)                    1     0
RRC    Rotate right true C     C <= A <= C
RSP    Reset Stack Pointer     C => A => C          reg, M                     NZC
SBC    Substract with Carry    S = Max allowed      reg, M
SCF    Set carry flag          A=A-M-C                                         NZC
SIM    Disable Interrupts      C=1
SLA    Shift left Arithmetic   I1:0 = 11 (level 3)  A        M                 NZC
SLL    Shift left Logic        C <= A <= 0
SRL    Shift right Logic       C <= A <= 0                                         1
SRA    Shift right Arithmetic  0 => A => C
SUB    Substraction            A7 => A => C                           1     1
SWAP   SWAP nibbles            A=A-M
TNZ    Test for Neg & Zero     A7-A4 <=> A3-A0      reg, M                     NZC
TRAP   S/W trap                tnz lbl1
WFI    Wait for Interrupt      S/W interrupt        reg, M                     NZC
XOR    Exclusive OR
                                                    reg, M                     0 ZC

                                                    reg, M                     NZC

                                                    A        M                 NZC

                                                    reg, M                     NZ

                                                                               NZ

                                                                      1     1

                                                                      1     0

                               A = A XOR M          A        M                 NZ

                                                                               109/151

                                                                                     1
ST72F324L, ST72324BL

12 ELECTRICAL CHARACTERISTICS

12.1 PARAMETER CONDITIONS                            Figure 54. Pin loading conditions

Unless otherwise specified, all voltages are re-                                                          ST7 PIN
ferred to VSS.
By default, MCU characteristics are specified for
2.85 to 3.6V VDD.

12.1.1 Minimum and Maximum values                                       CL

Unless otherwise specified the minimum and max-      12.1.5 Pin input voltage
imum values are guaranteed in the worst condi-       The input voltage measurement on a pin of the de-
tions of ambient temperature, supply voltage and     vice is described in Figure 55.
frequencies by tests in production on 100% of the    Figure 55. Pin input voltage
devices with an ambient temperature at TA=25C
and TA=TAmax (given by the selected temperature                                                           ST7 PIN
range).                                                                           VIN

Data based on characterization results, design
simulation and/or technology characteristics are
indicated in the table footnotes and are not tested
in production. Based on characterization, the min-
imum and maximum values refer to sample tests
and represent the mean value plus or minus three
times the standard deviation (mean3).

12.1.2 Typical values

Unless otherwise specified, typical data are based
on TA=25C, VDD=3V. They are given only as de-
sign guidelines and are not tested.

Typical ADC accuracy values are determined by
characterization of a batch of samples from a
standard diffusion lot over the full temperature
range, where 95% of the devices have an error
less than or equal to the value indicated
(mean2).

12.1.3 Typical curves

Unless otherwise specified, all typical curves are
given only as design guidelines and are not tested.

12.1.4 Loading capacitor

The loading conditions used for pin parameter
measurement are shown in Figure 54.

110/151

1
                                                                                ST72F324L, ST72324BL

12.2 ABSOLUTE MAXIMUM RATINGS

Stresses above those listed as "absolute maxi-           tions is not implied. Exposure to maximum rating
mum ratings" may cause permanent damage to               conditions for extended periods may affect device
the device. This is a stress rating only and func-       reliability.
tional operation of the device under these condi-

12.2.1 Voltage Characteristics

Symbol                                   Ratings                                 Maximum value      Unit
                                                                                          6.5        V
VDD - VSS          Supply voltage                                                         13        mV
VPP - VSS          Programming Voltage
                   Input Voltage on true open drain pin                            VSS-0.3 to 5.5
VIN 1) & 2)        Input voltage on any other pin                               VSS-0.3 to VDD+0.3

|VDDx| and |VSSx| Variations between different digital power pins                         50
                                                                                          50
|VSSA - VSSx|      Variations between digital and analog ground pins

VESD(HBM)          Electro-static discharge voltage (Human Body Model)          see Section 12.7.3.1 on page 123

VESD(MM)           Electro-static discharge voltage (Machine Model)

12.2.2 Current Characteristics

Symbol                          Ratings                                         Maximum value       Unit

IVDD               Total current into VDD power lines         32-pin devices    75                  mA
                   (source) 3)                                44-pin devices    150

IVSS               Total current out of VSS ground lines      32-pin devices    75                  mA
                   (sink) for 3)                              44-pin devices    150

                   Output current sunk by any standard I/O and control pin      25

IIO                Output current sunk by any high sink I/O pin                 50

                   Output current source by any I/Os and control pin            - 25

                   Injected current on VPP pin                                  5

                   Injected current on RESET pin when not driven low in-        2                  mA
                   ternally
IINJ(PIN) 2) & 4)
                   Injected current on flash device pin PB0                     +5

                   Injected current on OSC1 and OSC2 pins                       5

                   Injected current on any other pin 5) & 6)                    5

IINJ(PIN) 2)       Total injected current (sum of all I/O and control pins) 5)   25

Notes:

1. Directly connecting the RESET and I/O pins to VDD or VSS could damage the device if an unintentional internal reset
is generated or an unexpected change of the I/O configuration occurs (for example, due to a corrupted program counter).
To guarantee safe operation, this connection has to be done through a pull-up or pull-down resistor (typical: 4.7k for
RESET, 10k for I/Os). For the same reason, unused I/O pins must not be directly tied to VDD or VSS.
2. IINJ(PIN) must never be exceeded. This is implicitly insured if VIN maximum is respected. If VIN maximum cannot be
respected, the injection current must be limited externally to the IINJ(PIN) value. A positive injection is induced by VIN>VDD
while a negative injection is induced by VIN corresponding VIN maximum must always be respected
3. All power (VDD) and ground (VSS) lines must always be connected to the external supply.
4. Negative injection disturbs the analog performance of the device. See note in "ADC Accuracy" on page 135.

5. When several inputs are submitted to a current injection, the maximum IINJ(PIN) is the absolute sum of the positive
and negative injected currents (instantaneous values). These results are based on characterisation with IINJ(PIN) maxi-
mum current injection on four I/O port pins of the device.

6. True open drain I/O port pins do not accept positive injection.

                                                                                                    111/151

                                                                                                          1
ST72F324L, ST72324BL

12.2.3 Thermal Characteristics

         Symbol                              Ratings                                    Value             Unit

         TSTG    Storage temperature range                                              -65 to +150          C
          TJ
                 Maximum junction temperature (see Section 13.2 THERMAL CHARACTERISTICS)

12.3 OPERATING CONDITIONS

Symbol           Parameter                                         Conditions           Min          Max Unit
                                                       ADC not used                       0
fCPU     Internal clock frequency                      fADC max = 1 MHz.                  0          8
VDD      Operating Voltage (ROM versions)                                                                       MHz
         Operating Voltage (Flash versions)            VPP = 11.4 to 12.6V (for Write/  2.85
                                                       Erase operation)                              4
                                                       1 Suffix Version                 2.85
                                                       5 Suffix Version                              3.6     V
                                                       6 Suffix Version                   0
                                                                                        -10          3.6     V
                                                                                        -40
                                                                                                     70

TA       Ambient temperature range                                                                   85      C

                                                                                                     85

Warning: Do not connect 12V to VPP before VDD is powered on, as this may damage the device.

Figure 56. fCPU Max Versus VDD

                                    fCPU [MHz]

                                          8                                             ADC NOT OPERATIONAL
                                                                                        IN THIS AREA
             FUNCTIONALITY
         NOT GUARANTEED 6

                 IN THIS AREA

                      4                                                                 FUNCTIONALITY
                                                                                        GUARANTEED
                      2                                                                 IN THESE AREAS

                      1
                      0

                                             2.85 3.0  3.3       3.6

                                             SUPPLY VOLTAGE [V]

112/151

1
                                                                  ST72F324L, ST72324BL

12.4 SUPPLY CURRENT CHARACTERISTICS

The following current consumption specified for the ST7 functional operating modes over temperature
range does not take into account the clock source current consumption. To get the total device consump-
tion, the two current values must be added (except for HALT mode for which the clock is stopped).

12.4.1 CURRENT CONSUMPTION

Symbol  Parameter                   Conditions               Flash Devices  ROM Devices  Unit
                                                              Typ Max 1)    Typ Max 1)

                                    fOSC=2MHz, fCPU=1MHz     0.9 1.35 0.23 0.5
                                    fOSC=4MHz, fCPU=2MHz
        Supply current in RUN mode  fOSC=8MHz, fCPU=4MHz     1.4  2.1 0.45 1.0           mA
                                    fOSC=16MHz, fCPU=8MHz    2.5  3.8 0.88 2.0
        2)

                                                             4.7  7.0       1.8  4.0

                                    fOSC=2MHz, fCPU=62.5kHz  350 500        15   45
                                    fOSC=4MHz, fCPU=125kHz
        Supply current in SLOW      fOSC=8MHz, fCPU=250kHz   400 600        40   90      A
        mode 2)                     fOSC=16MHz, fCPU=500kHz  500 750        80   180

                                                             700 1000 170 350

                                    fOSC=2MHz, fCPU=1MHz     0.7  1.0 0.12 0.25
                                    fOSC=4MHz, fCPU=2MHz
         Supply current in WAIT     fOSC=8MHz, fCPU=4MHz     1.0  1.5 0.22 0.5           mA
IDD mode 2)                         fOSC=16MHz, fCPU=8MHz    1.8
                                                                  2.7 0.42       1

                                                             3.2  4.8 0.83       2

                                    fOSC=2MHz, fCPU=62.5kHz  330 500        10   31
                                    fOSC=4MHz, fCPU=125kHz
        Supply current in SLOW      fOSC=8MHz, fCPU=250kHz   370 550        20   63      A
        WAIT mode 2)                fOSC=16MHz, fCPU=500kHz  440 650        50   125

                                                             570 900 100 250

        Supply current in HALT                               <1   10        <1   10      A
        mode 3)

        Supply current in ACTIVE-                                 Not
        HALT mode 4)
                                    fOSC = 16 MHz            350 guaran- 45      100     A

                                                                  teed

Notes:

1. Data based on characterization results, tested in production at VDD max. and fCPU max.
2. Measurements are done in the following conditions:

- Progam executed from RAM, CPU running with RAM access. The increase in consumption when executing from Flash
is 50%.

- All I/O pins in input mode with a static value at VDD or VSS (no load)
- All peripherals in reset state.

- Clock input (OSC1) driven by external square wave.

- In SLOW and SLOW WAIT mode, fCPU is based on fOSC divided by 32.
To obtain the total current consumption of the device, add the clock source (Section 12.5.3) and the peripheral power
consumption (Section 12.4.3).

3. All I/O pins in push-pull 0 mode (when applicable) with a static value at VDD or VSS (no load). Data based on charac-
   terization results, tested in production at VDD max. and fCPU max.

4. Data based on characterisation results, not tested in production. All I/O pins in push-pull 0 mode (when applicable) with
   a static value at VDD or VSS (no load); clock input (OSC1) driven by external square wave. To obtain the total current
   consumption of the device, add the clock source consumption (Section 12.5.3).

                                                                                         113/151

                                                                                               1
ST72F324L, ST72324BL

SUPPLY CURRENT CHARACTERISTICS (Cont'd)
12.4.1.1 Power Consumption vs fCPU: ROM Devices

Figure 57. Typical IDD in RUN mode                       Figure 59. Typical IDD WAIT mode

          3000       8MHz                                          1400         8MHz
          2500       4MHz                                          1200         4MHz
          2000       2MHz                                          1000         2MHz
                     1MHz                                                       1MHz

Idd (A)  1500                                           Idd (A)  800

                                                                   600

          1000

                                                                   400

          500                                                      200

          0                                                             0

                2.6  2.8      3           3.2  3.4  3.6                    2.6  2.8      3           3.2  3.4  3.6

                                 Vdd (V)                                                    Vdd (V)

Figure 58. Typical IDD SLOW mode                         Figure 60. Typical IDD SLOW-WAITmode

                                                                   140          500kHz

          250        500kHz                                        120          250kHz

                     250kHz                                                     125kHz

          200        125kHz                                        100          62.5kHz

                     62.5kHz

Idd (A)  150                                            Idd (A)  80

                                                                   60

          100

                                                                   40

          50

                                                                   20

          0                                                        0

                2.6  2.8      3  3.2           3.4  3.6                    2.6  2.8      3  3.2           3.4  3.6

                                 Vdd (V)                                                    Vdd (V)

114/151

1
                                                                      ST72F324L, ST72324BL

SUPPLY CURRENT CHARACTERISTICS (Cont'd)

12.4.2 Supply and Clock Managers

The previous current consumption specified for the ST7 functional operating modes over temperature
range does not take into account the clock source current consumption. To get the total device consump-
tion, the two current values must be added (except for HALT mode).

Symbol                Parameter                           Conditions       Typ Max 1) Unit

IDD(RCINT) Supply current of internal RC oscillator                        625
IDD(RES) Supply current of resonator oscillator 2) & 3)
IDD(PLL) PLL supply current                                               see Section     A

                                                                           12.5.3 on page

                                                                                117

                                                                           180             A

Notes:
1. Data based on characterization results, not tested in production.
2. Data based on characterization results done with the external components specified in Section 12.5.3 , not tested in
production.
3. As the oscillator is based on a current source, the consumption does not depend on the voltage.

12.4.3 On-Chip Peripherals

TA = 25C fCPU=4MHz.

Symbol                                    Parameter            Conditions       Typ        Unit
          16-bit Timer supply current 1)                  VDD=3.3V
IDD(TIM)  SPI supply current 2)                                                 20
IDD(SPI)  ADC supply current when converting 3)
IDD(ADC)                                                                        250        A

                                                                                300

Notes:
1. Data based on a differential IDD measurement between reset configuration (timer counter running at fCPU/4) and timer

   counter stopped (only TIMD bit set). Data valid for one timer.

2. Data based on a differential IDD measurement between reset configuration (SPI disabled) and a permanent SPI master
   communication at maximum speed (data sent equal to 55h). This measurement includes the pad toggling consump-
   tion.

3. Data based on a differential IDD measurement between reset configuration and continuous A/D conversions.

                                                                                           115/151

                                                                                                 1
ST72F324L, ST72324BL

12.5 CLOCK AND TIMING CHARACTERISTICS

Subject to general operating conditions for VDD, fCPU, and TA.
12.5.1 General Timings

Symbol             Parameter                          Conditions       Min        Typ 1)                   Max      Unit
                                                                                                                    tCPU
tc(INST)   Instruction cycle time                                      2          3                        12        ns
tv(IT)                                                                                                             tCPU
           Interrupt reaction time 2)            fCPU=8MHz             250        375                      1500      s
           tv(IT) = tc(INST) + 10                fCPU=8MHz
                                                                       10                                  22

                                                                       1.25                                2.75

12.5.2 External Clock Source

Symbol                     Parameter                       Conditions  Min        Typ                        Max    Unit
           OSC1 input pin high level voltage     see Figure 61                                                       V
VOSC1H    OSC1 input pin low level voltage      VSSVINVDD             0.9xVDD                               VDD
VOSC1L    OSC1 high or low time 3)                                       VSS                              0.1xVDD
tw(OSC1H)
tw(OSC1L)  OSC1 rise or fall time 3)                                       5
tr(OSC1)  OSC1 Input leakage current
tf(OSC1)                                                                                                               ns
                                                                                                           15
     IL
                                                                                                           1       A

Figure 61. Typical Application with an External Clock Source

           VOSC1H                             90%
           VOSC1L                                10%

                   tr(OSC1)            tf(OSC1)             tw(OSC1H)  tw(OSC1L)

           EXTERNAL                           OSC2          Not connected internally
           CLOCK SOURCE                       OSC1                                          fOSC

                                                                            IL
                                                                                                  ST72XXX

Notes:
1. Data based on typical application software.
2. Time measured between interrupt event and interrupt vector fetch. tc(INST) is the number of tCPU cycles needed to finish
the current instruction execution.
3. Data based on design simulation and/or technology characteristics, not tested in production.

116/151

1
                                                                                        ST72F324L, ST72324BL

CLOCK AND TIMING CHARACTERISTICS (Cont'd)

12.5.3 Crystal and Ceramic Resonator Oscillators

The ST7 internal clock can be supplied with four                 close as possible to the oscillator pins in order to
different Crystal/Ceramic resonator oscillators. All             minimize output distortion and start-up stabiliza-
the information given in this paragraph are based                tion time. Refer to the crystal/ceramic resonator
on characterization results with specified typical               manufacturer for more details (frequency, pack-
external components. In the application, the reso-               age, accuracy...).
nator and the load capacitors have to be placed as

Symbol       Parameter                                             Conditions           Min                      Max  Unit
                                                                                                                   2  MHz
                                                           LP: Low power oscillator     1                          4   k
                                                                                                                   8   pF
fOSC    Oscillator Frequency 1)                            MP: Medium power oscillator  >2                        16

                                                           MS: Medium speed oscillator  >4                        56
                                                                                                                  46
                                                           HS: High speed oscillator    >8                        33
                                                                                                                  33
RF      Feedback resistor                                                               20

CL1     Recommended load capacitance ver-                  RS=200  LP osc. (1-2 MHz)    22
CL2     sus equivalent serial resistance of the            RS=200  MP osc. (2-4 MHz)    22
        crystal or ceramic resonator (RS)                  RS=200  MS osc. (4-8 MHz)    18
                                                           RS=100  HS osc. (8-16 MHz)   15

Symbol       Parameter                                             Conditions           Typ                      Max  Unit
                                                                                                                       A
                                                           VIN=VSS LP osc. (1-2 MHz)    80                       150
                                                                                                                 250
i2      OSC2 driving current                                       MP osc. (2-4 MHz) 160                         460
                                                                                                                 910
                                                                   MS osc. (4-8 MHz) 310

                                                                   HS osc. (8-16 MHz) 610

Figure 62. Typical Application with a Crystal or Ceramic Resonator

    WHEN RESONATOR WITH                                                        i2
    INTEGRATED CAPACITORS
                                                                                                           fOSC
                                           CL1
                                                           OSC1

                                                RESONATOR          RF

        CL2                                                OSC2

                                                                                             ST72XXX

Notes:
1. The oscillator selection can be optimized in terms of supply current using an high quality resonator with small RS value.
Refer to crystal/ceramic resonator manufacturer for more details.

                                                                                                                      117/151

                                                                                                                            1
ST72F324L, ST72324BL

CLOCK CHARACTERISTICS (Cont'd)
12.5.4 RC Oscillators

Symbol   Parameter                                      Conditions  Min  Typ  Max Unit
                                               TA=25C, VDD=3V
fOSC (RCINT) Internal RC oscillator frequency                       2    3.5  5.6 MHz

Note 1: To reduce disturbance to the RC oscilla-   Note 2: fCPU = fOSC(RCINT)/2. The PLL must be dis-
tor, it is recommended to place decoupling capac-  abled if the internal RC clock source is used.
itors between VDD and VSS as shown in Figure 80

118/151

1
                                                                                       ST72F324L, ST72324BL

CLOCK CHARACTERISTICS (Cont'd)
12.5.5 PLL Characteristics

  Symbol                         Parameter                          Conditions      Min   Typ  Max  Unit
                                                        fOSC = 4 MHz. (fCPU=8MHz.)                    V
VDD(PLL)            PLL Operating Range                                             2.85       3.6
fOSC                PLL input frequency range                                                       MHz
fCPU/fCPU          Instantaneous PLL jitter 1)                                     2          4     %

                                                                                          3.5  5.5

Note:

1. Instantaneous PLL jitter is the absolute maximum deviation on a single clock period. Data characterized, not tested in
production.

Figure 63. PLL Clock Jitter vs. Application                  PLL clock jitter may cause application errors if high
Signal frequency1                                            frequency signals are input or output by the appli-
                                                             cation (e.g. high speed serial I/O or sampling of
               0.8                                           high frequency signals).

               0.7                               FLASH       Using the PLL increases clock jitter, however this
                                                             is a periodic effect which is absorbed over several
               0.6                               DEVICES     CPU cycles. The lower the frequency of the appli-
                                                             cation signal, the less the impact.
+/-Jitter (%)  0.5                               ROM
                                                             Figure 63 shows the effect of jitter (with and with-
               0.4                               DEVICES     out PLL) on application signals in the range
                                                             125kHz to 2MHz. At frequencies of less than
               0.3                                           125kHz, the jitter is negligible.

               0.2

               0.1

               0

                    2000 1000  500  250                 125

                    Application Signal Frequency (KHz)

Note 1: Measurement conditions: fCPU = 4MHz, TA= 25C

                                                                                                    119/151

                                                                                                          1
ST72F324L, ST72324BL

12.6 MEMORY CHARACTERISTICS
12.6.1 RAM and Hardware Registers

Symbol   Parameter                        Conditions                  Min     Typ       Max   Unit

VRM Data retention mode 1)                HALT mode (or RESET)        1.6                     V

12.6.2 FLASH Memory

DUAL VOLTAGE HDFLASH MEMORY

Symbol   Parameter                        Conditions                  Min 2)  Typ       Max 2) Unit

fCPU     Operating frequency              Read mode                   0                 8     MHz

VPP      Programming voltage 3)           Write / Erase mode          1                 8
IDD      Supply current4)
                                          2.85V  VDD  3.6V            11.4              12.6  V
IPP      VPP current4)
                                          Write / Erase                       <10             A

                                          Read (VPP=12V)                                200   A
                                          Write / Erase
                                                                                        30    mA

  tVPP   Internal VPP stabilization time  TA=55C                                   10          s
  tRET   Data retention                   TA=25C                     20                      years
NRW                                                                  100                     cycles
TPROG    Write erase cycles
TERASE                                                                -40     25        85    C
         Programming or erasing tempera-
         ture range

Notes:

1. Minimum VDD supply voltage without losing data stored in RAM (in HALT mode or under RESET) or in hardware reg-
isters (only in HALT mode). Not tested in production.

2. Data based on characterization results, not tested in production.

3. VPP must be applied only during the programming or erasing operation and not permanently for reliability reasons.
4. Data based on simulation results, not tested in production.

120/151

1
                                                                     ST72F324L, ST72324BL

12.7 EMC CHARACTERISTICS                                 tion environment and simplified MCU software. It
                                                         should be noted that good EMC performance is
Susceptibility tests are performed on a sample ba-       highly dependent on the user application and the
sis during product characterization.                     software in particular.

12.7.1 Functional EMS (Electro Magnetic                  Therefore it is recommended that the user applies
Susceptibility)                                          EMC software optimization and prequalification
                                                         tests in relation with the EMC level requested for
Based on a simple running application on the             his application.
product (toggling 2 LEDs through I/O ports), the
product is stressed by two electro magnetic events       Software recommendations:
until a failure occurs (indicated by the LEDs).
                                                         The software flowchart must include the manage-
ESD: Electro-Static Discharge (positive and             ment of runaway conditions such as:
   negative) is applied on all pins of the device until
   a functional disturbance occurs. This test             Corrupted program counter
   conforms with the IEC 1000-4-2 standard.
                                                          Unexpected reset
FTB: A Burst of Fast Transient voltage (positive
   and negative) is applied to VDD and VSS through       Critical Data corruption (control registers...)
   a 100pF capacitor, until a functional disturbance
   occurs. This test conforms with the IEC 1000-4-       Prequalification trials:
   4 standard.
                                                         Most of the common failures (unexpected reset
A device reset allows normal operations to be re-        and program counter corruption) can be repro-
sumed. The test results are given in the table be-       duced by manually forcing a low state on the RE-
low based on the EMS levels and classes defined          SET pin or the Oscillator pins for 1 second.
in application note AN1709.
                                                         To complete these trials, ESD stress can be ap-
12.7.1.1 Designing hardened software to avoid            plied directly on the device, over the range of
noise problems                                           specification values. When unexpected behaviour
                                                         is detected, the software can be hardened to pre-
EMC characterization and optimization are per-           vent unrecoverable errors occurring (see applica-
formed at component level with a typical applica-        tion note AN1015).

Symbol  Parameter                                        Conditions                Level/Class
                                                                                  Flash ROM

VFESD   Voltage limits to be applied on any I/O VDD=3.3V, TA=+25C, fOSC=8MHz     3B  4B
VFFTB   pin to induce a functional disturbance conforms to IEC 1000-4-2

        Fast transient voltage burst limits to be  VDD=3.3V, TA=+25C, fOSC=8MHz  4A  4A
                                                   conforms to IEC 1000-4-4
        applied through 100pF on VDD and VDD
        pins to induce a functional disturbance

                                                                                      121/151

                                                                                            1
ST72F324L, ST72324BL

12.7.2 Electro Magnetic Interference (EMI)

Based on a simple application running on the
product (toggling 2 LEDs through the I/O ports),
the product is monitored in terms of emission. This
emission test is in line with the norm SAE J 1752/
3 which specifies the board and the loading of
each pin.

Symbol   Parameter    Conditions                                          Monitored    Max vs. [fOSC/fCPU]  Unit
                                                                      Frequency Band   8/4MHz 16/8MHz
                                                                                                            dBV
                      Flash device: VDD=3.3V,                         0.1MHz to 30MHz  14   15                 -
                      TA=+25C,                                       30MHz to 130MHz
SEMI Peak level                                                                        18   23              dBV
SEMI Peak level                                                                                                -
                      TQFP44 package                                  130MHz to 1GHz   16   22

                      conforming to SAE J 1752/3 SAE EMI Level                         3.0  3.5

                      ROM device: VDD=3.3V,                           0.1MHz to 30MHz  8    4
                      TA=+25C,                                       30MHz to 130MHz
                                                                                       16   20

                      TQFP44 package                                  130MHz to 1GHz   8    14

                      conforming to SAE J 1752/3 SAE EMI Level                         2.5  3.0

Notes:
1. Data based on characterization results, not tested in production.

122/151

1
                                                                                  ST72F324L, ST72324BL

EMC CHARACTERISTICS (Cont'd)                            12.7.3.1 Electro-Static Discharge (ESD)

12.7.3 Absolute Maximum Ratings (Electrical             Electro-Static Discharges (a positive then a nega-
Sensitivity)                                            tive pulse separated by 1 second) are applied to
                                                        the pins of each sample according to each pin
Based on three different tests (ESD, LU and DLU)        combination. The sample size depends on the
using specific measurement methods, the product         number of supply pins in the device (3 parts*(n+1)
is stressed in order to determine its performance in    supply pin). Two models can be simulated: Human
terms of electrical sensitivity. For more details, re-  Body Model and Machine Model. This test con-
fer to the application note AN1181.                     forms to the JESD22-A114A/A115A standard.

Absolute Maximum Ratings

Symbol                        Ratings                                Conditions       Maximum value 1) Unit
VESD(HBM)                                               TA=+25C
VESD(MM)   Electro-static discharge voltage             TA=+25C                                2000
           (Human Body Model)                                                                                        V

           Electro-static discharge voltage                                                      200
           (Machine Model)

Notes:

1. Data based on characterization results, not tested in production.

12.7.3.2 Static and Dynamic Latch-Up                     DLU: Electro-Static Discharges (one positive
                                                           then one negative test) are applied to each pin
LU: 3 complementary static tests are required             of 3 samples when the micro is running to
   on 10 parts to assess the latch-up performance.         assess the latch-up performance in dynamic
   A supply overvoltage (applied to each power             mode. Power supplies are set to the typical
   supply pin) and a current injection (applied to         values, the oscillator is connected as near as
   each input, output and configurable I/O pin) are        possible to the pins of the micro and the
   performed on each sample. This test conforms            component is put in reset mode. This test
   to the EIA/JESD 78 IC latch-up standard. For            conforms to the IEC1000-4-2 and SAEJ1752/3
   more details, refer to the application note             standards. For more details, refer to the
   AN1181.                                                 application note AN1181.

Electrical Sensitivities

Symbol                    Parameter                                   Conditions       Class 1)

LU         Static latch-up class                        TA=+25C                           A
                                                        TA=+85C                           A
DLU        Dynamic latch-up class                       VDD=5.5V, fOSC=4MHz, TA=+25C      A

Notes:

1. Class description: A Class is an STMicroelectronics internal specification. All its limits are higher than the JEDEC spec-
ifications, that means when a device belongs to Class A it exceeds the JEDEC standard. B Class strictly covers all the
JEDEC criteria (international standard).

                                                                                                 123/151

                                                                                                       1
ST72F324L, ST72324BL

12.8 I/O PORT PIN CHARACTERISTICS

12.8.1 General Characteristics

Subject to general operating conditions for VDD, fOSC, and TA unless otherwise specified.

Symbol                       Parameter               Conditions                   Min         Typ         Max             Unit
    VIL      Input low level voltage 1)                                                                 0.3xVDD            V
   VIH       Input high level voltage 1)                                          0.7xVDD                                  V
   Vhys      Schmitt trigger voltage hysteresis 2)                                                 0.8     +4             mA
                                                                                                           4
IINJ(PIN)3)  Injected Current on flash device pin                                     0                                   mA
             PB0
                                                                                                                           A
             Injected Current on other I/O pins                                                                            k
                                                                                                                           pF
IINJ(PIN)3)  Total injected current (sum of all I/O  VDD=3V                                              25               ns
             and control pins)                                                                                            tCPU

Ilkg Input leakage current                           VSS  VIN  VDD                                      1

IS           Static current consumption              Floating input mode4)                              200

RPU Weak pull-up equivalent resistor 5) VIN=VSS              VDD=3V               110         180       250

CIO I/O pin capacitance                                                                       5

tf(IO)out Output high to low level fall time 1) CL=50pF                                       25

tr(IO)out Output low to high level rise time 1) Between 10% and 90%                           25

tw(IT)in External interrupt pulse time 6)                                         1

Notes:

1. Data based on characterization results, not tested in production.

2. Hysteresis voltage between Schmitt trigger switching levels. Based on characterization results, not tested.
3. IINJ(PIN) must never be exceeded. This is implicitly insured if VIN maximum is respected. If VIN maximum cannot be
respected, the injection current must be limited externally to the IINJ(PIN) value. A positive injection is induced by VIN>VDD
while a negative injection is induced by VIN corresponding VIN maximum must always be respected
4. Configuration not recommended, all unused pins must be kept at a fixed voltage: using the output mode of the I/O for
example or an external pull-up or pull-down resistor (see Figure 64). Data based on design simulation and/or technology
characteristics, not tested in production.

5. The RPU pull-up equivalent resistor is based on a resistive transistor (corresponding IPU current characteristics de-
scribed in Figure 65).

6. To generate an external interrupt, a minimum pulse width has to be applied on an I/O port pin configured as an external
interrupt source.

Figure 64. Connecting Unused I/O Pins                        Figure 65. Typical IPU vs. VDD with VIN=VSS

                                                                                   90

             VDD                      ST72XXX                                 80  Ta= 1 40C
                  10k
                            UNUSED I/O PORT                                       Ta= 9 5C

                                                                              70  Ta= 2 5C

                                                                              60  Ta= -45 C

                                                                    Ipu(uA )  50

                                                                              40

                                                                              30

             10k         UNUSED I/O PORT                                      20

                                  ST72XXX                                     10

                                                                              0

                                                                                 2 2.5 3 3.5 4 4.5 5 5.5 6
                                                                                                                  Vdd(V)

124/151

1
                                                                                                             ST72F324L, ST72324BL

I/O PORT PIN CHARACTERISTICS (Cont'd)

12.8.2 Output Driving Current

Subject to general operating conditions for VDD, fCPU, and TA unless otherwise specified.

Symbol&n