ST6232BQ1 [STMICROELECTRONICS]

8-BIT OTP/EPROM MCUs WITH A/D CONVERTER, 16-BIT AUTO-RELOAD TIMER, EEPROM, SPI AND UART; 8位OTP / EPROM微控制器与A / D转换器, 16位自动重加载定时器, EEPROM , SPI和UART
ST6232BQ1
型号: ST6232BQ1
厂家: ST    ST
描述:

8-BIT OTP/EPROM MCUs WITH A/D CONVERTER, 16-BIT AUTO-RELOAD TIMER, EEPROM, SPI AND UART
8位OTP / EPROM微控制器与A / D转换器, 16位自动重加载定时器, EEPROM , SPI和UART

转换器 微控制器 可编程只读存储器 电动程控只读存储器 电可擦编程只读存储器
文件: 总86页 (文件大小:582K)
中文:  中文翻译
下载:  下载PDF数据表文档文件
ST62T32B  
ST62E32B  
8-BIT OTP/EPROM MCUs WITH A/D CONVERTER,  
16-BIT AUTO-RELOAD TIMER, EEPROM, SPI AND UART  
3.0 to 6.0V Supply Operating Range  
8 MHz Maximum Clock Frequency  
-40 to +125°C Operating Temperature Range  
Run, Wait and Stop Modes  
5 Interrupt Vectors  
Look-up Table capability in Program Memory  
Data Storage in Program Memory:  
User selectable size  
Data RAM: 192 bytes  
Data EEPROM: 128 bytes  
PSDIP42  
User Programmable Options  
30 I/O pins, fully programmable as:  
– Input with pull-up resistor  
– Input without pull-up resistor  
– Input with interrupt generation  
– Open-drain or push-pull output  
– Analog Input  
9 I/O lines can sink up to 20mA to drive LEDs or  
TRIACs directly  
PQFP52  
8-bit Timer/Counter with 7-bit programmable  
prescaler  
16-bit  
Auto-reload  
Timer  
with  
7-bit  
programmable prescaler (AR Timer)  
Digital Watchdog  
8-bit A/D Converter with 21 analog inputs  
8-bit Synchronous Peripheral Interface (SPI)  
8-bit Asynchronous Peripheral Interface  
(UART)  
On-chip Clock oscillator can be driven by Quartz  
CDIP42W  
Crystal or Ceramic resonator  
Oscillator Safe Guard  
(See end of Datasheet for Ordering Information)  
One external Non-Maskable Interrupt  
ST623x-EMU2 Emulation and Development  
System (connects to an MS-DOS PC via a  
parallel port).  
DEVICE SUMMARY  
OTP  
(Bytes)  
EPROM  
(Bytes)  
DEVICE  
I/O Pins  
ST62T32B  
ST62E32B  
7948  
-
30  
30  
7948  
Rev. 2.5  
September 1998  
1/86  
105  
Table of Contents  
Document  
Page  
ST62T32B/ST62E32B . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1  
1 GENERAL DESCRIPTION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5  
1.1 INTRODUCTION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5  
1.2 PIN DESCRIPTIONS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7  
1.3 MEMORY MAP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8  
1.3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8  
1.3.2 Program Space . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8  
1.3.3 Data Space . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10  
1.3.4 Stack Space . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10  
1.3.5 Data Window Register (DWR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11  
1.3.6 Data RAM/EEPROM Bank Register (DRBR). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12  
1.3.7 EEPROM Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .13  
1.4 PROGRAMMING MODES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .15  
1.4.1 Option Byte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .15  
1.4.2 Program Memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .15  
1.4.3 EEPROM Data Memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .15  
1.4.4 EPROM Erasing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .15  
2 CENTRAL PROCESSING UNIT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .16  
2.1 INTRODUCTION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .16  
2.2 CPU REGISTERS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .16  
3 CLOCKS, RESET, INTERRUPTS AND POWER SAVING MODES . . . . . . . . . . . . . . . . . . . . . 18  
3.1 CLOCK SYSTEM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .18  
3.1.1 Main Oscillator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .18  
3.1.2 Low Frequency Auxiliary Oscillator (LFAO) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19  
3.1.3 Oscillator Safe Guard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .19  
3.2 RESETS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .22  
3.2.1 RESET Input . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .22  
3.2.2 Power-on Reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .22  
3.2.3 Watchdog Reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .23  
3.2.4 Application Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .23  
3.2.5 MCU Initialization Sequence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23  
3.3 DIGITAL WATCHDOG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .25  
3.3.1 Digital Watchdog Register (DWDR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27  
3.3.2 Application Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .27  
3.4 INTERRUPTS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .29  
3.4.1 Interrupt request . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .29  
3.4.2 Interrupt Procedure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .30  
3.4.3 Interrupt Option Register (IOR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31  
3.4.4 IInterrupt sources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .31  
3.5 POWER SAVING MODES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .34  
3.5.1 WAIT Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .34  
3.5.2 STOP Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .34  
3.5.3 Exit from WAIT and STOP Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35  
86  
2/86  
106  
Table of Contents  
Document  
Page  
4 ON-CHIP PERIPHERALS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .36  
4.1 I/O PORTS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .36  
4.1.1 Operating Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .37  
4.1.2 Safe I/O State Switching Sequence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38  
4.1.3 ARTimer alternate functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40  
4.1.4 SPI alternate functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .40  
4.1.5 UART alternate functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .40  
4.1.6 I/O Port Option Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .42  
4.1.7 I/O Port Data Direction Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42  
4.1.8 I/O Port Data Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .42  
4.2 TIMER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .43  
4.2.1 Timer Operating Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .44  
4.2.2 Timer Interrupt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .44  
4.2.3 Application Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .45  
4.2.4 Timer Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .45  
4.3 ARTIMER 16 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .46  
4.3.1 CENTRAL COUNTER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .47  
4.3.2 SIGNAL GENERATION MODES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48  
4.3.3 TIMINGS MEASUREMENT MODES. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50  
4.3.4 INTERRUPT CAPABILITIES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52  
4.3.5 CONTROL REGISTERS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .53  
4.3.6 16-BIT REGISTERS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .55  
4.4 A/D CONVERTER (ADC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .57  
4.4.1 Application Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .57  
4.5 U. A. R. T. (UNIVERSAL ASYNCHRONOUS RECEIVER/TRANSMITTER). . . . . . . . . . . 59  
4.5.1 PORTS INTERFACING . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .59  
4.5.2 CLOCK GENERATION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .60  
4.5.3 DATA TRANSMISSION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .60  
4.5.4 DATA RECEPTION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .61  
4.5.5 INTERRUPT CAPABILITIES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61  
4.5.6 REGISTERS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .61  
4.6 SERIAL PERIPHERAL INTERFACE (SPI) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63  
5 SOFTWARE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .65  
5.1 ST6 ARCHITECTURE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .65  
5.2 ADDRESSING MODES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .65  
5.3 INSTRUCTION SET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .66  
6 ELECTRICAL CHARACTERISTICS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .71  
6.1 ABSOLUTE MAXIMUM RATINGS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71  
6.2 RECOMMENDED OPERATING CONDITIONS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72  
6.3 DC ELECTRICAL CHARACTERISTICS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73  
6.4 AC ELECTRICAL CHARACTERISTICS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74  
6.5 A/D CONVERTER CHARACTERISTICS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74  
6.6 TIMER CHARACTERISTICS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .75  
6.7 .SPI CHARACTERISTICS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .75  
6.8 ARTIMER16 ELECTRICAL CHARACTERISTICS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75  
3/86  
107  
Table of Contents  
Document  
Page  
7 GENERAL INFORMATION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .76  
7.1 PACKAGE MECHANICAL DATA. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .76  
7.2 ORDERING INFORMATION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .78  
ST62P32B . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .79  
1 GENERAL DESCRIPTION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .80  
1.1 INTRODUCTION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .80  
1.2 ORDERING INFORMATION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .80  
1.2.1 Transfer of Customer Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80  
1.2.2 Listing Generation and Verification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80  
ST6232B . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .83  
1 GENERAL DESCRIPTION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .84  
1.1 INTRODUCTION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .84  
1.2 ROM READOUT PROTECTION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .84  
1.3 ORDERING INFORMATION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .86  
1.3.1 Transfer of Customer Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86  
1.3.2 Listing Generation and Verification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86  
86  
4/86  
108  
ST62T32B ST62E32B  
1 GENERAL DESCRIPTION  
1.1 INTRODUCTION  
The ST62T32B and ST62E32B devices are low  
cost members of the ST62xx 8-bit HCMOS family  
of microcontrollers, which is targeted at low to me-  
dium complexity applications. All ST62xx devices  
are based on a building block approach: a com-  
mon core is surrounded by a number of on-chip  
peripherals.  
The ST62E32B is the erasable EPROM version of  
the ST62T32B device, which may be used to em-  
ulate the ST62T32B device, as well as the respec-  
tive ST6232B ROM devices.  
Figure 1. Block Diagram  
PA0..PA1 / 20 mA Sink  
PA2/OVF/ 20 mA Sink  
PA3/PWM/20 mA Sink  
PA4/Ain/CP1  
PA5/Ain/CP2  
PA6...PA7/Ain  
PORT A  
8-BIT  
A/D CONVERTER  
TEST/V  
NMI  
PP  
TEST  
PB0/Ain  
PB3..PB7/Ain  
PORT B  
INTERRUPT  
DATA ROM  
USER  
SELECTABLE  
PC5..PC7/Ain  
PORT C  
PROGRAM  
Memory  
PD0,PD6,PD7/Ain  
PD1/Ain/Scl  
PD2/Ain/Sin  
PD3/Ain/Sout  
PD4/Ain/RXD1  
PD5/Ain/TXD1  
DATA RAM  
192 Bytes  
7948 bytes  
PORT D  
UART  
DATA EEPROM  
128 Bytes  
PORT E  
PE0...PE4  
TIMER  
AUTORELOAD  
TIMER  
PC  
STACK LEVEL 1  
STACK LEVEL 2  
STACK LEVEL 3  
STACK LEVEL 4  
STACK LEVEL 5  
STACK LEVEL 6  
TIMER  
8 BIT CORE  
SPI (SERIAL  
PERIPHERAL  
INTERFACE)  
DIGITAL  
WATCHDOG  
POWER  
RESET  
RESET  
OSCILLATOR  
SUPPLY  
V
V
OSCin OSCout  
DD SS  
VR01823E  
(VPP on EPROM/OTP versions only)  
5/86  
109  
ST62T32B ST62E32B  
INTRODUCTION(Cont’d)  
OTP and EPROM devices are functionally identi-  
cal. The ROM based versions offer the same func-  
tionality selecting as ROM options the options de-  
fined in the programmable option byte of the  
OTP/EPROM versions.OTP devices offer all the  
advantages of user programmability at low cost,  
which make them the ideal choice in a wide range  
of applications where frequent code changes, mul-  
tiple code versions or last minute programmability  
are required.  
These compact low-cost devices feature a Timer  
comprising an 8-bit counter and a 7-bit program-  
mable prescaler, an 16-bit Auto-Reload Timer,  
with 2 input capture channels, EEPROM data ca-  
pability, a serial synchronous port communication  
interface (SPI), a serial asynchronous port inter-  
face (UART), an 8-bit A/D Converter with 21 ana-  
log inputs and a Digital Watchdog timer, making  
them well suited for a wide range of automotive,  
appliance and industrial applications.  
Figure 2. ST62T32B/E32B Pin Configuration  
Figure 3. ST62T32B Pin Configuration  
PE4  
PE3  
1
42  
41  
40  
39  
38  
37  
36  
35  
34  
33  
32  
31  
30  
29  
28  
27  
26  
25  
24  
23  
22  
PA0  
2
PA1  
PE2  
3
PA2/OVF  
PA3/PWM  
PA4/Ain/CP1  
PA5/Ain/CP2  
PA6/Ain  
PA7/Ain  
TIMER  
PE1  
4
PE0  
5
OSCin  
OSCout  
Ain/CP7  
Ain/PC6  
Ain/PC5  
6
52515049484746454443424140  
1
2
3
4
5
6
7
8
NC  
OSCin  
OSCout  
Ain/PC7  
Ain/PC6  
Ain/PC5  
NC  
39  
38 PA5/Ain/CP2  
PA4/Ain/CP1  
7
8
37  
36  
35  
34  
33  
32  
31  
30  
29  
28  
27  
PA6/Ain  
PA7/Ain  
TIMER  
NMI  
9
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
NMI  
V
AV  
SSp  
AV  
AV  
DD  
SS  
SS  
V
V
SSP  
AV  
DDp  
DD  
V
9
PD0/Ain  
DDP  
V
PD0/Ain  
SS  
V
10  
11  
12  
13  
PD1/Ain/SCL  
PD2/Ain/Sin  
PD3/Ain/Sout  
NC  
SS  
V
V
DD  
PD1/Ain/SCL  
PD2/Ain/Sin  
PD3/Ain/Sout  
PD4/Ain/RXD1  
PD5/Ain/TXD1  
PD6/Ain  
DD  
(1)  
TEST/V  
PP  
TEST/V (1)  
PP  
RESET  
RESET  
Ain/PB7  
Ain/PB6  
Ain/PB5  
Ain/PB4  
Ain/PB3  
26  
141516171819202122232425  
PD7/Ain  
PB0/Ain  
1. V on EPROM/OTP only  
1. V on EPROM/OTP only  
PP  
VR01375G  
PP  
VR02008A  
6/86  
110  
ST62T32B ST62E32B  
1.2 PIN DESCRIPTIONS  
and V  
V
. Power is supplied to the MCU via  
SS  
In addition, PA4-PA5 can also be used as analog  
inputs for the A/D converter while PA0-PA3 can  
sink 20mA for direct LED or TRIAC drive.  
DD  
these two pins. V is the power connection and  
DD  
V
is the ground connection.  
SS  
V
and V  
.
Power is supplied to the MCU  
SSp  
PB0,PB3-PB7  
These 6 lines are organised as one  
DDp  
I/Os independently from the rest of the chip using  
these two pins. These pins have to be connected  
to the VDD and VSS pins. It is not allowed to leave  
any of these pins unconnected or to apply different  
I/O port (B). Each line may be configured under  
software control as inputs with or without internal  
pull-up resistors, interrupt generating inputs with  
pull-up resistors, open-drain or push-pull outputs,  
analog inputs for the A/D converter.  
potentials respectively to V /V  
and V /V  
.
DD DDp  
SS SSp  
AV  
and AV .  
PC5-PC7  
. These 3 lines are organised as one I/O  
Power is supplied to the  
DD  
SS  
MCUA/D converter independently from the rest of  
the chip using these two pins.  
port (C). Each line may be configured under soft-  
ware control as input with or without internal pull-  
up resistor, interrupt generating input with pull-up  
resistor, analog input for the A/D converter, open-  
drain or push-pull output.  
OSCin and OSCout. These pins are internally  
connected to the on-chip oscillator circuit. A quartz  
crystal, a ceramic resonator or an external clock  
signal can be connected between these two pins.  
The OSCin pin is the input pin, the OSCout pin is  
the output pin.  
PD0-PD7. These 8 lines are organised as one I/O  
port (portD). Each line may be configured under  
software control as input with or without internal  
pull-up resistor, interrupt generating input with  
pull-up resistor, analog input open-drain or push-  
pull output. In adition, the pins PD5/TXD1 and  
PD4/RXD1 can be used as UART output  
(PD5/TXD1) or UART input (PD4/RXD1). The pins  
PD3/Sout, PD2/Sin and PD1/SCL can also be  
used respectively as data out, data in and Clock  
pins for the on-chip SPI.  
RESET  
start the microcontroller.  
. The active-low RESET pin is used to re-  
TEST/VPP. The TEST must be held at V for nor-  
SS  
mal operation. If TEST pin is connected to a  
+12.5V level during the reset phase, the  
EPROM/OTP programming Mode is entered.  
NMI.  
The NMI pin provides the capability for asyn-  
chronous interruption, by applying an external non  
maskable interrupt to the MCU.The NMI input is  
falling edge sensitive with Schmitt trigger charac-  
teristics. The user can select as option the availa-  
bility of an on-chip pull-up at this pin.  
PE0-PE4. These 5 lines are organised as one I/O  
port (PE). Each line may be configured under soft-  
ware control as input with or without internal pull-  
up resistor, interrupt generation input with pull-up  
resistor, open-drain or push-pull output. In output  
mode, these lines can also sink 20mA for direct  
LED and TRIAC driving.  
PA0-PA7. These 8 lines are organised as one I/O  
port (A). Each line may be configured under soft-  
ware control as inputs with or without internal pull-  
up resistors, interrupt generating inputs with pull-  
up resistors, open-drain or push-pull outputs.  
PA2/OVF, PA3/PWM, PA4/CP1 and PA5/CP2 can  
be used respectively as overflow output pin, output  
compare pin, and as two input capture pins for the  
embedded 16-bit Auto-Reload Timer.  
TIMER. This is the TIMER 1 I/O pin. In input mode,  
it is connected to the prescaler and acts as ex-  
ternal timer clock or as control gate for the internal  
timer clock. In output mode, the TIMER pin outputs  
the data bit when a time-out occurs.The user can  
select as option the availability of an on-chip pull-  
up at this pin.  
7/86  
111  
ST62T32B ST62E32B  
1.3 MEMORY MAP  
1.3.1 Introduction  
common (STATIC) 2K page is available all the  
time for interrupt vectors and common subrou-  
tines, independently of the PRPR register content.  
This “STATIC” page is directly addressed in the  
0800h-0FFFh by the MSB of the Program Counter  
register PC 11. Note this page can also be ad-  
dressed in the 000-7FFh range. It is two different  
ways of addressing the same physical memory.  
The MCU operates in three separate memory  
spaces: Program space, Data space, and Stack  
space. Operation in these three memory spaces is  
described in the following paragraphs.  
Briefly, Program space contains user program  
code in Program memory and user vectors; Data  
space contains user data in RAM and in Program  
memory, and Stack space accommodates six lev-  
els of stack for subroutine and interrupt service  
routine nesting.  
Jump from a dynamic page to another dynamic  
page is achieved by jumping back to the static  
page, changing contents of PRPR and then jump-  
ing to the new dynamic page.  
1.3.2 Program Space  
Figure 4. 8Kbytes Program Space Addressing  
Program Space comprises the instructions to be  
executed, the data required for immediate ad-  
dressing mode instructions, the reserved factory  
test area and the user vectors. Program Space is  
addressed via the 12-bit Program Counter register  
(PC register).  
ROM SPACE  
PC  
1FFFh  
Page 3  
SPACE  
000h  
0000h  
Page 1  
Static  
Page  
Page 0  
Page 2  
7FFh  
800h  
Program Space is organised in four 2K pages.  
Three of them are addressed in the 000h-7FFh lo-  
cations of the Program Space by the Program  
Counter and by writing the appropriate code in the  
Program ROM Page Register (PRPR register). A  
Page 1  
Static  
Page  
FFFh  
Figure 5. Memory Addressing Diagram  
PROGRAM SPACE  
DATA SPACE  
0000h  
000h  
RAM / EEPROM  
BANKING AREA  
0-63  
03Fh  
040h  
DATA READ-ONLY  
WINDOW  
MEMORY  
PROGRAM  
MEMORY  
07Fh  
080h  
081h  
082h  
083h  
084h  
X REGISTER  
Y REGISTER  
V REGISTER  
W REGISTER  
RAM  
DATA READ-ONLY  
MEMORY  
WINDOW SELECT  
0C0h  
0FF0h  
DATA RAM  
INTERRUPT &  
RESET VECTORS  
0FFFh  
BANK SELECT  
ACCUMULATOR  
0FFh  
VR01568  
8/86  
112  
ST62T32B ST62E32B  
MEMORY MAP (Cont’d)  
Table 1. ST62E32B/T32B Program Memory Map  
Program ROM Page Register (PRPR)  
Address: CAh  
7
— Write Only  
ROM Page Device Address  
Description  
0000h-007Fh  
Page 0  
Reserved  
User ROM  
0
0080h-07FFh  
-
-
-
-
-
-
PRPR0 PRPR1  
0800h-0F9Fh  
0FA0h-0FEFh  
User ROM  
Reserved  
Page 1  
“STATIC”  
0FF0h-0FF7h  
0FF8h-0FFBh  
0FFCh-0FFDh  
0FFEh-0FFFh  
Interrupt Vectors  
Reserved  
NMI Vector  
Reset Vector  
Bits 2-7= Not used.  
Bit 5-0 = PRPR1-PRPR0: Program ROM Select.  
These two bits select the corresponding page to  
be addressed in the lower part of the 4K program  
address space as specified inTable 2.  
0000h-000Fh  
0010h-07FFh  
Reserved  
User ROM  
Page 2  
Page 3  
0000h-000Fh  
0010h-07FFh  
Reserved  
User ROM  
This register is undefined on Reset. Neither read  
nor single bit instructions may be used to address  
this register.  
Note: OTP/EPROM devices can be programmed  
with the development tools available from STMicro-  
electronics (ST62E3X-EPB or ST623X-KIT).  
Table 2. 8Kbytes Program ROM Page Register  
Coding  
PRPR1  
PRPR0 PC bit 11  
Memory Page  
Static Page (Page 1)  
Page 0  
X
0
0
1
1
X
0
1
0
1
1
0
0
0
0
1.3.2.1 Program ROM Page Register (PRPR)  
The PRPR register can be addressed like a RAM  
location in the Data Space at the address CAh ;  
nevertheless it is a write only register that cannot  
be accessed with single-bit operations. This regis-  
ter is used to select the 2-Kbyte ROM bank of the  
Program Space that will be addressed. The  
number of the page has to be loaded in the PRPR  
register. Refer to the Program Space description  
for additional information concerning the use of  
this register. The PRPR register is not modified  
when an interrupt or a subroutine occurs.  
Page 1 (Static Page  
Page 2  
Page 3  
1.3.2.2 Program Memory Protection  
The Program Memory in OTP or EPROM devices  
can be protected against external readout of mem-  
ory by selecting the READOUT PROTECTION op-  
tion in the option byte.  
In the EPROM parts, READOUT PROTECTION  
option can be disactivated only by U.V. erasure  
that also results into the whole EPROM context  
erasure.  
Care is required when handling the PRPR register  
as it is write only. For this reason, it is not allowed  
to change the PRPR contents while executing in-  
terrupt service routine, as the service routine  
cannot save and then restore its previous content.  
This operation may be necessary if common rou-  
tines and interrupt service routines take more than  
2K bytes ; in this case it could be necessary to di-  
vide the interrupt service routine into a (minor) part  
in the static page (start and end) and to a second  
(major) part in one of the dynamic pages. If it is im-  
possible to avoid the writing of this register in inter-  
rupt service routines, an image of this register  
must be saved in a RAM location, and each time  
the program writes to the PRPR it must write also  
to the image register. The image register must be  
written before PRPR, so if an interrpt occurs  
between the two instructions the PRPR is not af-  
fected.  
Note: Once the Readout Protection is activated, it  
is no longer possible, even for STMicroelectronics,  
to gain access to the Program memory contents.  
Returned parts with a protection set can therefore  
not be accepted.  
9/86  
113  
ST62T32B ST62E32B  
MEMORY MAP (Cont’d)  
1.3.3 Data Space  
Table 4. ST62T32B/E32B Data Memory Space  
000h  
DATA and EEPROM  
03Fh  
Data Space accommodates all the data necessary  
for processing the user program. This space com-  
prises the RAM resource, the processor core and  
peripheral registers, as well as read-only data  
such as constants and look-up tables in Program  
memory.  
040h  
DATAROM WINDOW AREA  
07Fh  
X REGISTER  
Y REGISTER  
V REGISTER  
W REGISTER  
080h  
081h  
082h  
083h  
1.3.3.1 Data ROM  
084h  
DATA RAM  
0BFh  
0C0h  
0C1h  
0C2h  
0C3h  
0C4h  
0C5h  
0C6h  
0C7h  
0C8h*  
0C9h*  
0CAh*  
0CBh*  
0CCh  
0CDh  
0CEh  
0CFh  
0D0h  
0D1h  
0D2h  
0D3h  
0D4h  
0D5h  
0D6h  
0D7h  
0D8h  
0D9h  
0DAh  
0DBh  
0DCh*  
0DDh  
0DEh  
0DFh  
0E0h  
0E1h  
0E2h  
0E3h  
0E8h  
All read-only data is physically stored in program  
memory, which also accommodates the Program  
Space. The program memory consequently con-  
tains the program code to be executed, as well as  
the constants and look-up tables required by the  
application.  
PORT A DATAREGISTER  
PORT B DATAREGISTER  
PORT C DATAREGISTER  
PORT D DATAREGISTER  
PORT A DIRECTION REGISTER  
PORT B DIRECTION REGISTER  
PORT C DIRECTION REGISTER  
PORT D DIRECTION REGISTER  
INTERRUPT OPTION REGISTER  
DATAROM WINDOW REGISTER  
ROM BANK SELECT REGISTER  
RAM/EEPROM BANK SELECT REGISTER  
PORT A OPTION REGISTER  
The Data Space locations in which the different  
constants and look-up tables are addressed by the  
processor core may be thought of as a 64-byte  
window through which it is possible to access the  
read-only data stored in Program memory.  
1.3.3.2 Data RAM/EEPROM  
PORT B OPTION REGISTER  
PORT C OPTION REGISTER  
PORT D OPTION REGISTER  
A/D DATAREGISTER  
A/D CONTROL REGISTER  
In ST6232B and ST62E32B devices, the data  
space includes 60 bytes of RAM, the accumulator  
(A), the indirect registers (X), (Y), the short direct  
registers (V), (W), the I/O port registers, the pe-  
ripheral data and control registers, the interrupt  
option register and the Data ROM Window register  
(DRW register).  
TIMER 1 PRESCALER REGISTER  
TIMER 1 COUNTER REGISTER  
TIMER 1 STATUS/CONTROL REGISTER  
RESERVED  
UART DATASHIFT REGISTER  
UART STATUSCONTROL REGISTER  
WATCHDOG REGISTER  
Additional RAM and EEPROM pages can also be  
addressed using banks of 64 bytes located  
between addresses 00h and 3Fh.  
RESERVED  
1.3.4 Stack Space  
I/O INTERRUPT POLARITY REGISTER  
OSCILLATOR CONTROL REGISTER  
SPI INTERRUPT DISABLE REGISTER  
SPI DATAREGISTER  
Stack space consists of six 12-bit registers which  
are used to stack subroutine and interrupt return  
addresses, as well as the current program counter  
contents.  
RESERVED  
EEPROM CONTROL REGISTER  
ARTIM16 COMPARE MASK REG. LOW BYTE MASK  
ARTIM16 2ND STATUSCONTROL REGISTERSCR2  
ARTIM16 3RD STATUSCONTROL REGISTERSCR3  
ARTIM16 4TH STATUS CONTROL REGISTER SCR4  
ARTIM16 1ST STATUSCONTROL REGISTER SCR1  
Table 3. Additional RAM/EEPROM Banks.  
Device  
RAM  
EEPROM  
ST62T32B/E32B  
2 x 64 bytes  
2 x 64 bytes  
ARTIM16 RELOAD CAPTURE REG. HIGH BYTE RLCP 0E9h  
ARTIM16 RELOAD CAPTURE REG. LOW BYTE RLCP 0EAh  
ARTIM16 CAPTURE REGISTER HIGH BYTE CP  
ARTIM16 CAPTURE REGISTER LOW BYTE CP  
0EBh  
0ECh  
ARTIM16 COMPAREVALUEREGISTERHIGHBYTECMP 0EDh  
ARTIM16COMPAREVALUEREGISTERLOWBYTE CMP 0EEh  
ARTIM 16 COMPARE MASK REG. HIGH BYTE MASK 0EFh  
RESERVED  
0F0h  
0FBh  
OFCh  
0FDh  
0FEh  
OFFh  
PORT E DATA REGISTER  
PORT E DIRECTION REGISTER  
PORT E OPTION REGISTER  
ACCUMULATOR  
* WRITE ONLY REGISTER  
10/86  
114  
ST62T32B ST62E32B  
MEMORY MAP (Cont’d)  
1.3.5 Data Window Register (DWR)  
Data Window Register (DWR)  
Address: 0C9h  
Write Only  
The Data read-only memory window is located from  
address 0040h to address 007Fh in Data space. It  
allows direct reading of 64 consecutive bytes locat-  
ed anywhere in program memory, between ad-  
dress 0000h and 1FFFh (top memory address de-  
pends on the specific device). All the program  
memory can therefore be used to store either in-  
structions or read-only data. Indeed, the window  
can be moved in steps of 64 bytes along the pro-  
gram memory by writing the appropriate code in the  
Data Window Register (DWR).  
7
0
-
DWR6 DWR5 DWR4 DWR3 DWR2 DWR1 DWR0  
Bits 7 = Not used.  
DWR5-DWR0:  
Bit 6-0 =  
Data read-only memory  
Window Register Bits. These are the Data read-  
only memory Window bits that correspond to the  
upper bits of the data read-only memory space.  
The DWR can be addressed like any RAM location  
in the Data Space, it is however a write-only regis-  
ter and therefore cannot be accessed using single-  
bit operations. This register is used to position the  
64-byte read-only data window (from address 40h  
to address 7Fh of the Data space) in program  
memory in 64-byte steps. The effective address of  
the byte to be read as data in program memory is  
obtained by concatenating the 6 least significant  
bits of the register address given in the instruction  
(as least significant bits) and the content of the  
DWR register (as most significant bits), as illustrat-  
ed in Figure 6below. For instance, when address-  
ing location 0040h of the Data Space, with 0 load-  
ed in the DWR register, the physical location ad-  
dressed in program memory is 00h. The DWR reg-  
ister is not cleared on reset, therefore it must be  
written to prior to the first access to the Data read-  
only memory window area.  
Caution: This register is undefined on reset. Nei-  
ther read nor single bit instructions may be used to  
address this register.  
Note:  
Care is required when handling the DWR  
register as it is write only. For this reason, the  
DWR contents should not be changed while exe-  
cuting an interrupt service routine, as the service  
routine cannot save and then restore the register’s  
previous contents. If it is impossible to avoid writ-  
ing to the DWR during the interrupt service routine,  
an image of the register must be saved in a RAM  
location, and each time the program writes to the  
DWR, it must also write to the image register. The  
image register must be written first so that, if an in-  
terrupt occurs between the two instructions, the  
DWR is not affected.  
Figure 6. Data read-only memory Window Memory Addressing  
13 12 11 10  
9
3
8
2
7
1
6
0
5
4
3
2
1
1
0
0
PROGRAM SPACE ADDRESS  
READ  
DATA ROM  
WINDOW REGISTER  
CONTENTS  
7
6
5
4
5
4
3
2
DATA SPACE ADDRESS  
40h-7Fh  
(DWR)  
0
1
IN INSTRUCTION  
Example:  
DWR=28h  
0
0
0
0
0
0
0
0
0
1
1
1
1
DATA SPACE ADDRESS  
59h  
1
1
1
1
1
0
0
0
0
0
0
ROM  
ADDRESS:A19h  
1
0
0
1
VR0A1573  
11/86  
115  
ST62T32B ST62E32B  
MEMORY MAP (Cont’d)  
1.3.6 Data RAM/EEPROM Bank Register  
(DRBR)  
point to the selected location as if it was in bank 0  
(from 00h address to 3Fh address).  
This register is not cleared during the MCU initiali-  
zation, therefore it must be written before the first  
access to the Data Space bank region. Refer to  
the Data Space description for additional informa-  
tion. The DRBR register is not modified when an  
interrupt or a subroutine occurs.  
Address: CBh  
Write only  
7
0
-
-
-
DRBR4 DRBR3  
-
DRBR1 DRBR0  
Notes :  
Bit 7-5 = These bits are not used  
Care is required when handling the DRBR register  
as it is write only. For this reason, it is not allowed  
to change the DRBR contents while executing in-  
terrupt service routine, as the service routine can-  
not save and then restore its previous content. If it  
is impossible to avoid the writing of this register in  
interrupt service routine, an image of this register  
must be saved in a RAM location, and each time  
the program writes to DRBR it must write also to  
the image register. The image register must be  
written first, so if an interrupt occurs between the  
two instructions the DRBR is not affected.  
Bit 4 - DRBR4. This bit, when set, selects RAM  
Page 2.  
Bit 3 - DRBR3. This bit, when set, selects RAM  
Page 1.  
Bit2. This bit is not used.  
Bit 1 - DRBR1. This bit, when set, selects  
EEPROM Page 1.  
Bit 0 - DRBR0. This bit, when set, selects  
EEPROM Page 0.  
In DRBR Register, only 1 bit must be set. Other-  
wise two or more pages are enabled in parallel,  
producing errors.  
The selection of the bank is made by programming  
the Data RAM Bank Switch register (DRBR regis-  
ter) located at address CBh of the Data Space ac-  
cording to Table 1. No more than one bank should  
be set at a time.  
Table 5. Data RAM Bank Register Set-up  
DRBR  
00  
ST62T32B/E32B  
None  
The DRBR register can be addressed like a RAM  
Data Space at the address CBh; nevertheless it is  
a write only register that cannot be accessed with  
single-bit operations. This register is used to select  
the desired 64-byte RAM/EEPROM bank of the  
Data Space. The number of banks has to be load-  
ed in the DRBR register and the instruction has to  
01  
EEPROM Page 0  
EEPROM Page 1  
RAM Page 1  
RAM Page 2  
Reserved  
02  
08  
10h  
other  
12/86  
116  
ST62T32B ST62E32B  
MEMORY MAP (Cont’d)  
1.3.7 EEPROM Description  
(PMODE). In BMODE, one byte is accessed at a  
time, while in PMODE up to 8 bytes in the same  
row are programmed simultaneously (with conse-  
quent speed and power consumption advantages,  
the latter being particularly important in battery  
powered circuits).  
EEPROM memory is located in 64-byte pages in  
data space. This memory may be used by the user  
program for non-volatile data storage.  
Data space from 00h to 3Fh is paged as described  
in Table 6. EEPROM locations are accessed di-  
rectly by addressing these paged sections of data  
space.  
General Notes:  
Data should be written directly to the intended ad-  
dress in EEPROM space. There is no buffer mem-  
ory between data RAM and the EEPROM space.  
The EEPROM does not require dedicated instruc-  
tions for read or write access. Onceselected via the  
Data RAM Bank Register, the active EEPROM  
page is controlled by the EEPROM Control Regis-  
ter (EECTL), which is described below.  
When the EEPROM is busy (E2BUSY = “1”)  
EECTL cannot be accessed in write mode, it is  
only possible to read the status of E2BUSY. This  
implies that as long as the EEPROM is busy, it is  
not possible to change the status of the EEPROM  
Control Register. EECTL bits 4 and 5 are reserved  
and must never be set.  
Bit E20FF of the EECTL register must be reset prior  
to any write or read access to the EEPROM. If no  
bank has been selected, or if E2OFF is set, any ac-  
cess is meaningless.  
Care is required when dealing with the EECTL reg-  
ister, as some bits are write only. For this reason,  
the EECTL contents must not be altered while ex-  
ecuting an interrupt service routine.  
Programming must be enabled by setting the  
E2ENA bit of the EECTL register.  
The E2BUSY bit of the EECTL register is set when  
the EEPROM is performing a programming cycle.  
Any access to the EEPROM when E2BUSY is set  
is meaningless.  
If it is impossible to avoid writing to this register  
within an interrupt service routine, an image of the  
register must be saved in a RAM location, and  
each time the program writes to EECTL it must  
also write to the image register. The image register  
must be written to first so that, if an interrupt oc-  
curs between the two instructions, the EECTL will  
not be affected.  
Provided E2OFF and E2BUSY are reset, an EEP-  
ROM location is read just like any other data loca-  
tion, also in terms of access time.  
Writing to the EEPROM may be carried out in two  
modes: Byte Mode (BMODE) and Parallel Mode  
Table 6. Row Arrangement for Parallel Writing of EEPROM Locations  
Dataspace  
addresses.  
Banks 0 and 1.  
Byte  
0
1
2
3
4
5
6
7
ROW7  
ROW6  
ROW5  
ROW4  
ROW3  
ROW2  
ROW1  
ROW0  
38h-3Fh  
30h-37h  
28h-2Fh  
20h-27h  
18h-1Fh  
10h-17h  
08h-0Fh  
00h-07h  
Up to 8 bytes in each row may be programmed simultaneously in Parallel Write mode.  
The number of available 64-byte banks (1 or 2) is device dependent.  
13/86  
117  
ST62T32B ST62E32B  
MEMORY MAP (Cont’d)  
Additional Notes on Parallel Mode:  
EEPROM Control Register (EECTL)  
Address: DFh — Read/Write  
Reset status: 00h  
If the user wishes to perform parallel program-  
ming, the first step should be to set the E2PAR2  
bit. From this time on, the EEPROM will be ad-  
dressed in write mode, the ROW address will be  
latched and it will be possible to change it only at  
the end of the programming cycle, or by resetting  
E2PAR2 without programming the EEPROM. Af-  
ter the ROW address is latched, the MCU can only  
“see” the selected EEPROM row and any attempt  
to write or read other rows will produce errors.  
7
0
D7 E2OFF D5  
D4 E2PAR1 E2PAR2 E2BUSY E2ENA  
Bit 7 = D7: Unused.  
Bit 6 =E2OFF: Stand-by Enable Bit.WRITE ONLY.  
If this bitis settheEEPROM is disabled (any access  
will be meaningless) and the power consumption of  
the EEPROM is reduced to its lowest value.  
The EEPROM should not be read while E2PAR2  
is set.  
As soon as the E2PAR2 bit is set, the 8 volatile  
ROW latches are cleared. From this moment on,  
the user can load data in all or in part of the ROW.  
Setting E2PAR1 will modify the EEPROM regis-  
ters corresponding to the ROW latches accessed  
after E2PAR2. For example, if the software sets  
E2PAR2 and accesses the EEPROM by writing to  
addresses 18h, 1Ah and 1Bh, and then sets  
E2PAR1, these three registers will be modified si-  
multaneously; the remaining bytes in the row will  
be unaffected.  
Bit 5-4 = D5-D4: Reserved. MUST be kept reset.  
E2PAR1  
Bit 3 =  
: Parallel Start Bit. WRITE ONLY.  
Once inParallel Mode, as soonasthe usersoftware  
sets the E2PAR1 bit, parallel writing of the 8 adja-  
cent registers will start. This bit is internally reset at  
the end of the programming procedure. Note that  
less than 8 bytes can be written if required, the un-  
defined bytes being unaffected by the parallel pro-  
gramming cycle; this is explained in greater detail in  
the Additional Notes on Parallel Mode overleaf.  
Note that E2PAR2 is internally reset at the end of  
the programming cycle. This implies that the user  
must set the E2PAR2 bit between two parallel pro-  
gramming cycles. Note that if the user tries to set  
E2PAR1 while E2PAR2 is not set, there will be no  
programming cycle and the E2PAR1 bit will be un-  
affected. Consequently, the E2PAR1 bit cannot be  
set if E2ENA is low. The E2PAR1 bit can be set by  
the user, only if the E2ENA and E2PAR2 bits are  
also set.  
Bit 2 = E2PAR2: Parallel Mode En. Bit. WRITE  
ONLY. This bit must be set by the user program in  
order to perform parallel programming. If E2PAR2  
is set and the parallel start bit (E2PAR1) is reset,  
up to 8 adjacent bytes can be written simultane-  
ously. These 8 adjacent bytes are considered as a  
row, whose address lines A7, A6, A5, A4, A3 are  
fixed while A2, A1 and A0 are the changing bits, as  
illustrated in Table 6. E2PAR2 is automatically re-  
set at the end of any parallel programming proce-  
dure. It can be reset by the user software before  
starting the programming procedure, thus leaving  
the EEPROM registers unchanged.  
Bit 1 = E2BUSY: EEPROM Busy Bit. READ ON-  
LY. This bit is automatically set by the EEPROM  
control logic when the EEPROM is in program-  
ming mode. The user program should test it before  
any EEPROM read or write operation; any attempt  
to access the EEPROM while the busy bit is set  
will be aborted and the writing procedure in  
progress will be completed.  
E2ENA  
: EEPROM Enable Bit.WRITE ON-  
Bit 0 =  
LY. This bit enables programming of the EEPROM  
cells. It must be set before any write to the EEP-  
ROM register. Any attempt to write to the EEP-  
ROM when E2ENA is low is meaningless and will  
not trigger a write cycle.  
14/86  
118  
ST62T32B ST62E32B  
1.4 PROGRAMMING MODES  
1.4.1 Option Byte  
Bit 0 = OSGEN.This bit must be set high to enable  
the oscillator Safe Guard. When this bit is low, the  
OSG is disabled.  
The Option Byte allows configuration capability to  
the MCUs. Option byte’s content is automatically  
read, and the selected options enabled, when the  
chip reset is activated.  
The Option byte is written during programming ei-  
ther by using the PC menu (PC driven Mode) or  
automatically (stand-alone mode)  
It can only be accessed during the programming  
mode. This access is made either automatically  
(copy from a master device) or by selecting the  
OPTION BYTE PROGRAMMING mode of the pro-  
grammer.  
1.4.2 Program Memory  
EPROM/OTP programming mode is set by a  
+12.5V voltage applied to the TEST/V pin. The  
PP  
programming flow of the ST62T32B/E32B is de-  
scribed in the User Manual of the EPROM Pro-  
gramming Board.  
The option byte is located in a non-user map. No  
address has to be specified.  
The MCUs can be programmed with the  
ST62E3xB EPROM programming tools available  
from STMicroelectronics.  
EPROM Code Option Byte  
7
-
0
1.4.3 EEPROM Data Memory  
PORT  
PULL  
TIM NMI  
PULL PULL  
EXTCNTL PROTECT  
WDACT OSGEN  
EEPROM data pages are supplied in the virgin  
state FFh. Partial or total programming of EEP-  
ROM data memory can be performed either  
through the application software, or through an ex-  
ternal programmer. Any STMicroelectronics tool  
used for the program memory (OTP/EPROM) can  
also be used to program the EEPROM data mem-  
ory.  
Bit 7. Reserved.  
PORT PULL  
have pull-up input state at reset on the I/O port.  
When this bit is low, I/O ports are in input without  
pull-up (high impedance) state at reset  
Bit 6 =  
. This bit must be set high to  
1.4.4 EPROM Erasing  
EXTCNTL  
. This bit selects the External  
Bit 5 =  
STOP Mode capability. When EXTCNTL is high,  
pin NMI controls if the STOP mode can be ac-  
cessed when the watchdog is active. When EXTC-  
NTL is low, the STOP instruction is processed as a  
WAIT as soon as the watchdog is active.  
The EPROM of the windowed package of the  
MCUs may be erased by exposure to Ultra Violet  
light. The erasure characteristic of the MCUs is  
such that erasure begins when the memory is ex-  
posed to light with a wave lengths shorter than ap-  
proximately 4000Å. It should be noted that sun-  
lights and some types of fluorescent lamps have  
wavelengths in the range 3000-4000Å.  
Bit 4 = PROTECT. This bit allows the protection of  
the software contents against piracy. When the bit  
PROTECT is set high, readout of the OTP con-  
tents is prevented by hardware. No programming  
equipment is able to gain access to the user pro-  
gram. When this bit is low, the user program can  
be read.  
It is thus recommended that the window of the  
MCUs packages be covered by an opaque label to  
prevent unintentional erasure problems when test-  
ing the application in such an environment.  
Bit 3 = TIM PULL. This bit must be set high to con-  
figure the TIMER pin with a pull up resistor. When  
it is low, no pull up is provided.  
The recommended erasure procedure of the  
MCUs EPROM is the exposure to short wave ul-  
traviolet light which have a wave-length 2537A.  
The integrated dose (i.e. U.V. intensity x exposure  
time) for erasure should be a minimum of 15W-  
Bit 2 = NMI PULL. This bit must be set high to con-  
figure the NMI pin with a pull up resistor when it is  
low, no pull up is provided.  
2
sec/cm . The erasure time with this dosage is ap-  
proximately 15 to 20 minutes using an ultraviolet  
2
Bit 1 = WDACT. This bit controls the watchdog ac-  
tivation. When it is high, hardware activation is se-  
lected. The software activation is selected when  
WDACT is low.  
lamp with 12000µW/cm power rating. The  
ST62E32B should be placed within 2.5cm (1Inch)  
of the lamp tubes during erasure.  
15/86  
119  
ST62T32B ST62E32B  
2 CENTRAL PROCESSING UNIT  
2.1 INTRODUCTION  
The CPUCore of ST6 devices is independent of the  
I/O or Memory configuration. As such, it may be  
thought of as an independent central processor  
communicating with on-chip I/O, Memory and Pe-  
ripherals via internal address, data, and control  
buses. In-core communication is arranged as  
shown in Figure 7; the controller being externally  
linked to both the Reset and Oscillator circuits,  
while the core is linked to the dedicated on-chip pe-  
ripherals via the serial data bus and indirectly, for  
interrupt purposes, through the control registers.  
Indirect Registers (X, Y).These two indirect reg-  
isters are used as pointers to memory locations in  
Data space. They are used in the register-indirect  
addressing mode. These registers can be ad-  
dressed in the data space as RAM locations at ad-  
dresses 80h (X) and 81h (Y). They can also be ac-  
cessed with the direct, short direct, or bit direct ad-  
dressing modes. Accordingly, the ST6 instruction  
set can use the indirect registers as any other reg-  
ister of the data space.  
Short Direct Registers (V, W). These two regis-  
ters are used to save a byte in short direct ad-  
dressing mode. They can be addressed in Data  
space as RAM locations at addresses 82h (V) and  
83h (W). They can also be accessed using the di-  
rect and bit direct addressing modes. Thus, the  
ST6 instruction set can use the short direct regis-  
ters as any other register of the data space.  
2.2 CPU REGISTERS  
The ST6Family CPUcore featuressixregisters and  
three pairs of flags available to the programmer.  
These are described in the following paragraphs.  
Accumulator (A). The accumulator is an 8-bit  
general purpose register used in all arithmetic cal-  
culations, logical operations, and data manipula-  
tions. The accumulator can be addressed in Data  
space as a RAM location at address FFh. Thus the  
ST6 can manipulate the accumulator just like any  
other register in Data space.  
Program Counter (PC). The program counter is a  
12-bit register which contains the address of the  
next ROM location to be processed by the core.  
This ROM location may be an opcode, an oper-  
and, or the address of an operand. The 12-bit  
length allows the direct addressing of 4096 bytes  
in Program space.  
Figure 7. ST6 Core Block Diagram  
0,01 TO 8MHz  
RESET  
OSCin  
OSCout  
INTERRUPTS  
CONTROLLER  
DATA SPACE  
DATA  
CONTROL  
SIGNALS  
FLAG  
VALUES  
OPCODE  
ADDRESS/READ LINE  
ADDRESS  
2
RAM/EEPROM  
PROGRAM  
DATA  
ROM/EPROM  
256  
ROM/EPROM  
DECODER  
B-DATA  
A-DATA  
DEDICATIONS  
ACCUMULATOR  
Program Counter  
and  
12  
FLAGS  
6 LAYER STACK  
ALU  
RESULTS TO DATA SPACE (WRITE LINE)  
VR01811  
16/86  
120  
ST62T32B ST62E32B  
CPU REGISTERS (Cont’d)  
However, if the program space contains more than  
4096 bytes, the additional memory in program  
space can be addressed by using the Program  
Bank Switch register.  
automatically selected after the reset of the MCU,  
the ST6 core uses at first the NMI flags.  
Stack. The ST6 CPU includes a true LIFO hard-  
ware stack which eliminates the need for a stack  
pointer. The stack consists of six separate 12-bit  
RAM locations that do not belong to the data  
space RAM area. When a subroutine call (or inter-  
rupt request) occurs, the contents of each level are  
shifted into the next higher level, while the content  
of the PC is shifted into the first level (the original  
contents of the sixth stack level are lost). When a  
subroutine or interrupt return occurs (RET or RETI  
instructions), the first level register is shifted back  
into the PC and the value of each level is popped  
back into the previous level. Since the accumula-  
tor, in common with all other data space registers,  
is not stored in this stack, management of these  
registers should be performed within the subrou-  
tine. The stack will remain in its “deepest” position  
if more than 6 nested calls or interrupts are execut-  
ed, and consequently the last return address will  
be lost. It will also remain in its highest position if  
the stack is empty and a RET or RETI is executed.  
In this case the next instruction will be executed.  
The PC value is incremented after reading the ad-  
dress of the current instruction. To execute relative  
jumps, the PC and the offset are shifted through  
the ALU, where they are added; the result is then  
shifted back into the PC. The program counter can  
be changed in the following ways:  
- JP (Jump) instructionPC=Jump address  
- CALL instructionPC= Call address  
- Relative Branch Instruction.PC= PC +/- offset  
- Interrupt  
- Reset  
PC=Interrupt vector  
PC= Reset vector  
- RET & RETI instructionsPC= Pop (stack)  
- Normal instructionPC= PC + 1  
Flags (C, Z). The ST6 CPU includes three pairs of  
flags (Carry and Zero), each pair being associated  
with one of the three normal modes of operation:  
Normal mode, Interrupt mode and Non Maskable  
Interrupt mode. Each pair consists of a CARRY  
flag and a ZERO flag. One pair (CN, ZN) is used  
during Normal operation, another pair is used dur-  
ing Interrupt mode (CI, ZI), and a third pair is used  
in the Non Maskable Interrupt mode (CNMI, ZN-  
MI).  
Figure 8. ST6 CPU Programming Mode  
l
b7 X REG. POINTER b0  
INDEX  
REGISTER  
SHORT  
DIRECT  
ADDRESSING  
b7 Y REG. POINTER b0  
The ST6 CPU uses the pair of flags associated  
with the current mode: as soon as an interrupt (or  
a Non Maskable Interrupt) is generated, the ST6  
CPU uses the Interrupt flags (resp. the NMI flags)  
instead of the Normal flags. When the RETI in-  
struction is executed, the previously used set of  
flags is restored. It should be noted that each flag  
set can only be addressed in its own context (Non  
Maskable Interrupt, Normal Interrupt or Main rou-  
tine). The flags are not cleared during context  
switching and thus retain their status.  
MODE  
b7  
b7  
V REGISTER  
W REGISTER  
b0  
b0  
b7 ACCUMULATOR  
PROGRAM COUNTER  
b0  
b0  
b11  
SIX LEVELS  
STACK REGISTER  
The Carry flag is set when a carry or a borrow oc-  
curs during arithmetic operations; otherwise it is  
cleared. The Carry flag is also set to the value of  
the bit tested in a bit test instruction; it also partici-  
pates in the rotate left instruction.  
NORMAL FLAGS  
INTERRUPT FLAGS  
NMI FLAGS  
C
C
C
Z
Z
Z
The Zero flag is set if the result of the last arithme-  
tic or logical operation was equal to zero; other-  
wise it is cleared.  
Switching between the three sets of flags is per-  
formed automatically when an NMI, an interrupt or  
a RETI instructions occurs. As the NMI mode is  
VA000423  
17/86  
121  
ST62T32B ST62E32B  
3 CLOCKS, RESET, INTERRUPTS AND POWER SAVING MODES  
3.1 CLOCK SYSTEM  
The MCU features a Main Oscillator which can be  
driven by an external clock, or used in conjunction  
with an AT-cut parallel resonant crystal or a suita-  
ble ceramic resonator. In addition, a Low Frequen-  
cy Auxiliary Oscillator (LFAO) can be switched in  
for security reasons, to reduce power consump-  
tion, or to offer the benefits of a back-up clock sys-  
tem.  
Figure 9. Oscillator Configurations  
CRYSTAL/RESONATOR CLOCK  
ST6xxx  
The Oscillator Safeguard (OSG) option filters  
spikes from the oscillator lines, provides access to  
the LFAO to provide a backup oscillator in the  
event of main oscillator failure and also automati-  
OSC  
OSC  
out  
in  
cally limits the internal clock frequency (f ) as a  
INT  
function of V , in order to guarantee correct oper-  
DD  
C
C
L1n  
ation. These functions are illustrated in Figure 10,  
Figure 11, Figure 12 and Figure 13.  
L2  
VA0016  
Figure 9illustrates various possible oscillator con-  
figurations using an external crystal or ceramic res-  
onator, an external clock input or thelowestcost so-  
EXTERNAL CLOCK  
ST6xxx  
lution using only theLFAO. C an C should have  
L1  
L2  
acapacitanceintherange12to22pFforanoscillator  
frequency in the 4-8 MHz range.  
The internal MCU clock frequency (f ) is divided  
INT  
OSC  
OSC  
NC  
out  
in  
by 12 to drive the Timer and the Watchdog timer,  
and by 13 to drive the CPU core, while the A/D  
converter is driven by f divided either by 6 or by  
INT  
VA0015A  
12 as may be seen in Figure 12.  
With an 8MHz oscillator frequency, the fastest ma-  
chine cycle is therefore 1.625µs.  
INTEGRATEDCLOCK  
A machine cycleis the smallest unit of time needed  
to execute any operation (for instance, to increment  
the Program Counter). An instruction may require  
two, four, or five machine cycles for execution.  
OSG ENABLED option  
ST6xxx  
3.1.1 Main Oscillator  
OSC  
OSC  
out  
in  
The main oscillator can be turned off (when the  
OSG ENABLED option is selected) by setting the  
OSCOFF bit of the OSCR Control Register. The  
Low Frequency Auxiliary Oscillator is automatical-  
ly started.  
NC  
18/86  
122  
ST62T32B ST62E32B  
CLOCK SYSTEM (Cont’d)  
Turning on the main oscillator is achieved by re-  
setting the OSCOFF bit of the OSCR Register or  
by resetting the MCU. Restarting the main oscilla-  
tor implies a delay comprising the oscillator start  
up delay period plus the duration of the software  
3.1.3 Oscillator Safe Guard  
The Oscillator Safe Guard (OSG) affords drastical-  
ly increased operational integrity in ST62xx devic-  
es. The OSG circuit provides three basic func-  
tions: it filters spikes from the oscillator lines which  
would result in over frequency to the ST62 CPU; it  
gives access to the Low Frequency Auxiliary Os-  
cillator (LFAO), used to ensure minimum process-  
ing in case of main oscillator failure, to offer re-  
duced power consumption or to provide a fixed fre-  
quency low cost oscillator; finally, it automatically  
limits the internal clock frequency as a function of  
supply voltage, in order to ensure correct opera-  
tion even if the power supply should drop.  
instruction at f  
clock frequency.  
LFAO  
3.1.2 Low Frequency Auxiliary Oscillator  
(LFAO)  
The Low Frequency Auxiliary Oscillator has three  
main purposes. Firstly, it can be used to reduce  
power consumption in non timing critical routines.  
Secondly, it offers a fully integrated system clock,  
without any external components. Lastly, it acts as  
a safety oscillator in case of main oscillator failure.  
The OSG is enabled or disabled by choosing the  
relevant OSG option. It may be viewed as a filter  
whose cross-over frequency is device dependent.  
This oscillator is available when the OSG ENA-  
BLED option is selected. In this case, it automati-  
cally starts one of its periods after the first missing  
edge from the main oscillator, whatever the reason  
(main oscillator defective, no clock circuitry provid-  
ed, main oscillator switched off...).  
Spikes on the oscillator lines result in an effectively  
increased internal clock frequency. In the absence  
of an OSG circuit, this may lead to an over fre-  
quency for a given power supply voltage. The  
OSG filters out such spikes (as illustrated in Fig-  
ure 10). In all cases, when the OSG is active, the  
User code, normal interrupts, WAIT and STOP in-  
structions, are processed as normal, at the re-  
duced f  
frequency. The A/D converter accura-  
LFAO  
maximum internal clock frequency, f , is limited  
INT  
cy is decreased, since the internal frequency is be-  
low 1MHz.  
to f  
, which is supply voltage dependent. This  
OSG  
relationship is illustrated in Figure 13.  
At power on, the Low Frequency Auxiliary Oscilla-  
tor starts faster than the Main Oscillator. It there-  
fore feeds the on-chip counter generating the POR  
delay until the Main Oscillator runs.  
When the OSG is enabled, the Low Frequency  
Auxiliary Oscillator may be accessed. This oscilla-  
tor starts operating after the first missing edge of  
the main oscillator (see Figure 11).  
The Low Frequency Auxiliary Oscillator is auto-  
matically switched off as soon as the main oscilla-  
tor starts.  
Over-frequency, at a given power supply level, is  
seen by the OSG as spikes; it therefore filters out  
some cycles in order that the internal clock fre-  
quency of the device is kept within the range the  
OSCR  
particular device can stand (depending on V ),  
Address: 0DBh  
Read/Write  
DD  
and below f  
: the maximum authorised frequen-  
OSG  
7
0
cy with OSG enabled.  
OSC  
OFF  
Note. The OSG should be used wherever possible  
as it provides maximum safety. Care must be tak-  
en, however, as it can increase power consump-  
tion and reduce the maximum operating frequency  
-
-
-
-
-
-
-
Bit 7-1= These bits are not used and must be kept  
cleared after reset.  
to f  
.
OSG  
OSCOFF  
. Main oscillator turn-off. When  
Bit 0 =  
low, this bit enables main oscillator to run. The  
main oscillator is switched off when OSCOFF is  
high.  
19/86  
123  
ST62T32B ST62E32B  
CLOCK SYSTEM (Cont’d)  
Figure 10. OSG Filtering Principle  
(1)  
(2)  
(3)  
(4)  
(1) Maximum Frequency for the device to work correctly  
(2)  
Actual Quartz Crystal Frequency at OSCin pin  
(3)  
(4)  
Noise from OSCin  
Resulting Internal Frequency  
VR001932  
Figure 11. OSG Emergency Oscillator Principle  
Main  
Oscillator  
Emergency  
Oscillator  
Internal  
Frequency  
VR001933  
20/86  
124  
ST62T32B ST62E32B  
CLOCK SYSTEM (Cont’d)  
Figure 12. Clock Circuit Block Diagram  
POR  
Core  
: 13  
OSG  
TIMER 1  
M
U
X
f
MAIN  
OSCILLATOR  
INT  
Watchdog  
M
: 12  
: 6  
U
X
ADC  
LFAO  
: 1  
ARTIMER 16  
Main Oscillator off  
Figure 13. Maximum Operating Frequency (f  
) versus Supply Voltage (V )  
MAX  
DD  
Maximum FREQUENCY (MHz)  
8
7
6
5
4
3
2
1
3
4
f
OSG  
2
1
f
Min  
OSG  
2.5  
3
3.5  
4
4.5  
5
5.5  
6
SUPPLY VOLTAGE (V  
)
DD  
VR01807  
Notes  
:
1. In this area, operation is guaranteed at the quartz crystal frequency.  
2. When the OSG is disabled, operation in this area is guaranteed at the crystal frequency. When the OSG  
is enabled, operation in this area is guaranteed at a frequency of at least f  
OSG Min.  
3. When the OSG is disabled, operation in this area is guaranteed at the quartz crystal frequency. When  
the OSG is enabled, access to this area is prevented. The internal frequency is kept a f  
OSG.  
4. When the OSG is disabled, operation in this area is not guaranteed  
When the OSG is enabled, access to this area is prevented. The internal frequency is kept at f  
OSG.  
21/86  
125  
ST62T32B ST62E32B  
3.2 RESETS  
The MCU can be reset in three ways:  
– by the external Reset input being pulled low;  
– by Power-on Reset;  
The internal delay is generated by an on-chip coun-  
ter. The internal reset line is released 2048 internal  
clock cycles after release of the external reset.  
Notes:  
– by the digital Watchdog peripheral timing out.  
3.2.1 RESET Input  
To ensure correct start-up, the user should take  
care that the reset signal is not released before the  
The RESET pin may be connected to a device of  
the application board in order to reset the MCU if  
required. The RESET pin may be pulled low in  
RUN, WAIT or STOP mode. This input can be  
used to reset the MCU internal state and ensure a  
correct start-up procedure. The pin is active low  
and features a Schmitt trigger input. The internal  
Reset signal is generated by adding a delay to the  
external signal. Therefore even short pulses on  
V
level is sufficient to allow MCU operation at  
DD  
the chosen frequency (see Recommended Oper-  
ating Conditions).  
A proper reset signal for a slow rising V supply  
can generally be provided by an external RC net-  
work connected to theRESET pin.  
DD  
Figure 14. Reset and Interrupt Processing  
the RESET pin are acceptable, provided V has  
DD  
RESET  
completed its rising phase and that the oscillator is  
running correctly (normal RUN or WAIT modes).  
The MCU is kept in the Reset state as long as the  
RESET pin is held low.  
NMI MASK SET  
INT LATCH CLEARED  
( IF PRESENT )  
If RESET activation occurs in the RUN or WAIT  
modes, processing of the user program is stopped  
(RUN mode only), the Inputs and Outputs are con-  
figured as inputs with pull-up resistors and the  
main Oscillator is restarted. When the level on the  
RESET pin then goes high, the initialization se-  
quence is executed following expiry of the internal  
delay period.  
SELECT  
NMI MODE FLAGS  
PUT FFEH  
If RESET pin activation occurs in the STOP mode,  
the oscillator starts up and all Inputs and Outputs  
are configured as inputs with pull-up resistors.  
When the level of theRESET pin then goes high,  
the initialization sequence is executed following  
expiry of the internal delay period.  
ON ADDRESS BUS  
YES  
IS RESET STILL  
PRESENT?  
3.2.2 Power-on Reset  
The function of the POR circuit consists in waking  
up the MCU at an appropriate stage during the  
power-on sequence. At the beginning of this se-  
quence, the MCU is configured in the Reset state:  
all I/O ports are configured as inputs with pull-up  
resistors and no instruction is executed. When the  
power supply voltage rises to a sufficient level, the  
oscillator starts to operate, whereupon an internal  
delay is initiated, in order to allow the oscillator to  
fully stabilize before executing the first instruction.  
The initialization sequence is executed immediate-  
ly following the internal delay.  
NO  
LOAD PC  
FROM RESET LOCATIONS  
FFE/FFF  
FETCH INSTRUCTION  
VA000427  
22/86  
126  
ST62T32B ST62E32B  
RESETS (Cont’d)  
3.2.3 Watchdog Reset  
initialisation routine from being interrupted. The in-  
itialisation routine should therefore be terminated  
by a RETI instruction, in order to revert to normal  
mode and enable interrupts. If no pending interrupt  
is present at the end of the initialisation routine, the  
MCU will continue by processing the instruction  
immediately following the RETI instruction. If, how-  
ever, a pending interrupt is present, it will be serv-  
iced.  
The MCU provides a Watchdog timer function in  
order to ensure graceful recovery from software  
upsets. If the Watchdog register is not refreshed  
before an end-of-count condition is reached, the  
internal reset will be activated. This, amongst oth-  
er things, resets the watchdog counter.  
The MCU restarts just as though the Reset had  
been generated by the RESET pin, including the  
built-in stabilisation delay period.  
Figure 15. Reset and Interrupt Processing  
3.2.4 Application Notes  
RESET  
No external resistor is required between V and  
DD  
the Reset pin, thanks to the built-in pull-up device.  
The POR circuit operates dynamically, in that it  
triggers MCU initialization on detecting the rising  
JP:2 BYTES/4 CYCLES  
JP  
RESET  
VECTOR  
edge of V . The typical threshold is in the region  
DD  
of 2 volts, but the actual value of the detected  
threshold depends on the way in which V rises.  
DD  
The POR circuit is NOT designed to supervise  
static, or slowly rising or falling V .  
DD  
INITIALIZATION  
ROUTINE  
3.2.5 MCU Initialization Sequence  
RETI: 1 BYTE/2 CYCLES  
When a reset occurs the stack is reset, the PC is  
loaded with the address of the Reset Vector (locat-  
ed in program ROM starting at address 0FFEh). A  
jump to the beginning of the user program must be  
coded at this address. Following a Reset, the In-  
terrupt flag is automatically set, so that the CPU is  
in Non Maskable Interrupt mode; this prevents the  
RETI  
VA00181  
Figure 16. Reset Block Diagram  
V
DD  
ST6  
INTERNAL  
RESET  
f
CK  
OSC  
300kΩ  
COUNTER  
RESET  
RESET  
RESET  
2.8kΩ  
POWER ON RESET  
WATCHDOG RESET  
VA0200B  
23/86  
127  
ST62T32B ST62E32B  
RESETS (Cont’d)  
Table 7. Register Reset Status  
Register  
Address(es)  
0DBh  
Status  
Comment  
Main oscillator on  
Oscillator Control Register  
EEPROM Control Register  
Port Data Registers  
0DFh  
EEPROM enabled  
0C0h to 0C2h  
0C4h to 0C6h  
0CCh to 0CEh  
0C8h  
Port Direction Register  
Port Option Register  
I/O are Input with or without pull-up  
depending on PORT PULL option  
Interrupt Option Register  
TIMER Status/Control  
Interrupt disabled  
TIMER disabled  
0D4h  
00h  
AR TIMER Status/Control 1 Register 0E8h  
AR TIMER Status/Control 2 Register 0E1h  
AR TIMER Status/Control 3 Register 0E2h  
AR TIMER Status/Control 4 Register OE3h  
AR TIMER stopped  
SPI disabled  
SPI Registers  
0DCh to 0DDh  
X, Y,V, W, Register  
Accumulator  
080H TO083H  
0FFh  
Data RAM  
084h to 0BFh  
0CBh  
Data RAM Page REgister  
Data ROM Window Register  
EEPROM  
0C9h  
00h to 03Fh  
0D0h  
Undefined  
As written if programmed  
A/D Result Register  
AR TIMER Capture Register  
0DBh  
AR TIMER Reload/Capture Register 0D9h  
ARTIMER Mask Registers  
OE0h-OEFh  
ARTIMER Compare Registers  
OEDh-OEEh  
TIMER Counter Register  
TIMER Prescaler Register  
Watchdog Counter Register  
A/D Control Register  
0D3h  
0D2h  
0D8h  
0D1h  
FFh  
7Fh  
FEh  
40h  
Max count loaded  
A/D in Standby  
UART disabled  
UART Control  
OD7h  
OD6h  
UART Data Register  
24/86  
128  
ST62T32B ST62E32B  
3.3 DIGITAL WATCHDOG  
The digital Watchdog consists of a reloadable  
downcounter timer which can be used to provide  
controlled recovery from software upsets.  
When the Watchdog is disabled, low power Stop  
mode is available. Once activated, the Watchdog  
cannot be disabled, except by resetting the MCU.  
The Watchdog circuit generates a Reset when the  
downcounter reaches zero. User software can  
prevent this reset by reloading the counter, and  
should therefore be written so that the counter is  
regularly reloaded while the user program runs  
correctly. In the event of a software mishap (usual-  
ly caused by externally generated interference),  
the user program will no longer behave in its usual  
fashion and the timer register will thus not be re-  
loaded periodically. Consequently the timer will  
decrement down to 00h and reset the MCU. In or-  
der to maximise the effectiveness of the Watchdog  
function, user software must be written with this  
concept in mind.  
In the HARDWARE option, the Watchdog is per-  
manently enabled. Since the oscillator will run con-  
tinuously, low power mode is not available. The  
STOP instruction is interpreted as a WAIT instruc-  
tion, and the Watchdog continues to countdown.  
However, when the EXTERNAL STOP MODE  
CONTROL option has been selected low power  
consumption may be achieved in Stop Mode.  
Execution of the STOP instruction is then gov-  
erned by a secondary function associated with the  
NMI pin. If a STOP instruction is encountered  
when the NMI pin is low, it is interpreted as WAIT,  
as described above. If, however, the STOP in-  
struction is encountered when the NMI pin is high,  
the Watchdog counter is frozen and the CPU en-  
ters STOP mode.  
Watchdog behaviour is governed by two options,  
known as “WATCHDOG ACTIVATION” (i.e.  
HARDWARE or SOFTWARE) and “EXTERNAL  
STOP MODE CONTROL” (seeTable 8).  
When the MCU exits STOP mode (i.e. when an in-  
terrupt is generated), the Watchdog resumes its  
activity.  
In the SOFTWARE option, the Watchdog is disa-  
bled until bit C of the DWDR register has been set.  
Table 8. Recommended Option Choices  
Functions Required  
Stop Mode & Watchdog  
Stop Mode  
Recommended Options  
“EXTERNAL STOP MODE” & “HARDWARE WATCHDOG”  
“SOFTWARE WATCHDOG”  
Watchdog  
“HARDWARE WATCHDOG”  
25/86  
129  
ST62T32B ST62E32B  
DIGITAL WATCHDOG (Cont’d)  
The Watchdog is associated with a Data space  
register (Digital WatchDog Register, DWDR, loca-  
tion 0D8h) which is described in greater detail in  
Section 3.3.1 Digital Watchdog Register (DWDR).  
This register is set to 0FEh on Reset: bit C is  
cleared to “0”, which disables the Watchdog; the  
timer downcounter bits, T0 to T5, and the SR bit  
are all set to “1”, thus selecting the longest Watch-  
dog timer period. This time period can be set to the  
user’s requirements by setting the appropriate val-  
ue for bits T0 to T5 in the DWDR register. The SR  
bit must be set to “1”, since it is this bit which gen-  
erates the Reset signal when it changes to “0”;  
clearing this bit would generate an immediate Re-  
set.  
Figure 17. Watchdog Counter Control  
D0  
C
D1  
SR  
RESET  
D2  
D3  
D4  
D5  
D6  
D7  
T5  
T4  
T3  
T2  
T1  
T0  
It should be noted that the order of the bits in the  
DWDR register is inverted with respect to the as-  
sociated bits in the down counter: bit 7 of the  
DWDR register corresponds, in fact, to T0 and bit  
2 to T5. The user should bear in mind the fact that  
these bits are inverted and shifted with respect to  
the physical counter bits when writing to this regis-  
ter. The relationship between the DWDR register  
bits and the physical implementation of the Watch-  
dog timer downcounter is illustrated in Figure 17.  
Only the 6 most significant bits may be used to de-  
fine the time period, since it is bit 6 which triggers  
the Reset when it changes to “0”. This offers the  
user a choice of 64 timed periods ranging from  
3,072 to 196,608 clock cycles (with an oscillator  
frequency of 8MHz, this is equivalent to timer peri-  
ods ranging from 384µs to 24.576ms).  
8
÷
2
÷
OSC 12  
VR02068A  
26/86  
130  
ST62T32B ST62E32B  
DIGITAL WATCHDOG (Cont’d)  
3.3.1 Digital Watchdog Register (DWDR)  
3.3.2 Application Notes  
Address: 0D8h  
Read/Write  
The Watchdog plays an important supporting role  
in the high noise immunity of ST62xx devices, and  
should be used wherever possible. Watchdog re-  
lated options should be selected on the basis of a  
trade-off between application security and STOP  
mode availability.  
Reset status: 1111 1110b  
7
0
T0  
T1  
T2  
T3  
T4  
T5  
SR  
C
When STOP mode is not required, hardware acti-  
vation without EXTERNAL STOP MODE CON-  
TROL should be preferred, as it provides maxi-  
mum security, especially during power-on.  
Bit 0 = C: Watchdog Control bit  
If the hardware option is selected, this bit is forced  
high and the user cannot change it (the Watchdog  
is always active). When the software option is se-  
lected, the Watchdog function is activated by set-  
ting bit C to 1, and cannot then be disabled (save  
by resetting the MCU).  
When STOP mode is required, hardware activa-  
tion and EXTERNAL STOP MODE CONTROL  
should be chosen. NMI should be high by default,  
to allow STOP mode to be entered when the MCU  
is idle.  
When C is kept low the counter can be used as a  
7-bit timer.  
The NMI pin can be connected to an I/O line (see  
Figure 18) to allow its state to be controlled by soft-  
ware. The I/O line can then be used to keep NMI  
low while Watchdog protection is required, or to  
avoid noise or key bounce. When no more  
processing is required, the I/O line is released and  
the device placed in STOP mode for lowest power  
consumption.  
This bit is cleared to “0” on Reset.  
SR  
: Software Reset bit  
Bit 1 =  
This bit triggers a Reset when cleared.  
When C = “0” (Watchdog disabled) it is the MSB of  
the 7-bit timer.  
This bit is set to “1” on Reset.  
When software activation is selected and the  
Watchdog is not activated, the downcounter may  
be used as a simple 7-bit timer (remember that the  
bits are in reverse order).  
Bits 2-7 = T5-T0: Downcounter bits  
It should be noted that the register bits are re-  
versed and shifted with respect to the physical  
counter: bit-7 (T0) is the LSB of the Watchdog  
downcounter and bit-2 (T5) is the MSB.  
The software activation option should be chosen  
only when the Watchdog counter is to be used as  
a timer. To ensure the Watchdog has not been un-  
expectedly activated, the following instructions  
should be executed within the first 27 instructions:  
These bits are set to “1” on Reset.  
jrr 0, WD, #+3  
ldi WD, 0FDH  
27/86  
131  
ST62T32B ST62E32B  
DIGITAL WATCHDOG (Cont’d)  
These instructions test the C bit and Reset the  
MCU (i.e. disable the Watchdog) if the bit is set  
(i.e. if the Watchdog is active), thus disabling the  
Watchdog.  
Figure 18. A typical circuit making use of the  
EXERNAL STOP MODE CONTROL feature  
In all modes, a minimum of 28 instructions are ex-  
ecuted after activation, before the Watchdog can  
generate a Reset. Consequently, user software  
should load the watchdog counter within the first  
27 instructions following Watchdog activation  
(software mode), or within the first 27 instructions  
executed following a Reset (hardware activation).  
SWITCH  
NMI  
I/O  
It should be noted that when the GEN bit is low (in-  
terrupts disabled), the NMI interrupt is active but  
cannot cause a wake up from STOP/WAIT modes.  
VR02002  
Figure 19. Digital Watchdog Block Diagram  
RESET  
Q
RSFF  
7
8
-2  
-2  
-12  
R
SET  
S
DB1.7 LOAD SET  
OSCILLATOR  
CLOCK  
8
DB0  
WRITE  
RESET  
DATA BUS  
VA00010  
I
28/86  
132  
ST62T32B ST62E32B  
3.4 INTERRUPTS  
The CPU can manage four Maskable Interrupt  
sources, in addition to a Non Maskable Interrupt  
source (top priority interrupt). Each source is asso-  
ciated with a specific Interrupt Vector which con-  
tains a Jump instruction to the associated interrupt  
service routine. These vectors are located in Pro-  
gram space (seeTable 9).  
ically reset by the core at the beginning of the non-  
maskable interrupt service routine.  
Interrupt request from source #1 can be configu-  
red either as edge or level sensitive by setting ac-  
cordingly the LES bit of the Interrupt Option Regis-  
ter (IOR).  
Interrupt request from source #2 are always edge  
sensitive. The edge polarity can be configured by  
setting accordingly the ESB bit of the Interrupt Op-  
tion Register (IOR).  
When an interrupt source generates an interrupt  
request, and interrupt processing is enabled, the  
PC register is loaded with the address of the inter-  
rupt vector (i.e. of the Jump instruction), which  
then causes a Jump to the relevant interrupt serv-  
ice routine, thus servicing the interrupt.  
Interrupt request from sources #3 & #4 are level  
sensitive.  
In edge sensitive mode, a latch is set when a edge  
occurs on the interrupt source line and is cleared  
when the associated interrupt routine is started.  
So, the occurrence of an interrupt can be stored,  
until completion of the running interrupt routine be-  
fore being processed. If several interrupt requests  
occurs before completion of the running interrupt  
routine, only the first request is stored.  
Interrupt sources are linked to events either on ex-  
ternal pins, or on chip peripherals. Several events  
can be ORed on the same interrupt source, and  
relevant flags are available to determine which  
event triggered the interrupt.  
The Non Maskable Interrupt request has the high-  
est priority and can interrupt any interrupt routine  
at any time; the other four interrupts cannot inter-  
rupt each other. If more than one interrupt request  
is pending, these are processed by the processor  
core according to their priority level: source #1 has  
the higher priority while source #4 the lower. The  
priority of each interrupt source is fixed.  
Storage of interrupt requests is not available in lev-  
el sensitive mode. To be taken into account, the  
low level must be present on the interrupt pin when  
the MCU samples the line after instruction execu-  
tion.  
At the end of every instruction, the MCU tests the  
interrupt lines: if there is an interrupt request the  
next instruction is not executed and the appropri-  
ate interrupt service routine is executed instead.  
Table 9. Interrupt Vector Map  
Interrupt Source  
Interrupt source #0  
Interrupt source #1  
Interrupt source #2  
Interrupt source #3  
Interrupt source #4  
Priority  
Vector Address  
(FFCh-FFDh)  
(FF6h-FF7h)  
(FF4h-FF5h)  
(FF2h-FF3h)  
(FF0h-FF1h)  
1
2
3
4
5
Table 10. Interrupt Option Register Description  
SET  
Enable all interrupts  
Disable all interrupts  
GEN  
CLEARED  
Rising edge mode on inter-  
rupt source #2  
SET  
ESB  
3.4.1 Interrupt request  
Falling edge mode on inter-  
rupt source #2  
CLEARED  
SET  
All interrupt sources but the Non Maskable Inter-  
rupt source can be disabled by setting accordingly  
the GEN bit of the Interrupt Option Register (IOR).  
This GEN bit also defines if an interrupt source, in-  
cluding the Non Maskable Interrupt source, can re-  
start the MCU from STOP/WAIT modes.  
Level-sensitive mode on in-  
terrupt source #1  
LES  
Falling edge mode on inter-  
rupt source #1  
CLEARED  
NOT USED  
OTHERS  
Interrupt request from the Non Maskable Interrupt  
source #0 is latched by a flip flop which is automat-  
29/86  
133  
ST62T32B ST62E32B  
INTERRUPTS (Cont’d)  
3.4.2 Interrupt Procedure  
MCU  
– Automatically the MCU switches back to the nor-  
mal flag set (or the interrupt flag set) and pops  
the previous PC value from the stack.  
The interrupt procedure is very similar to a call pro-  
cedure, indeed the user can consider the interrupt  
as an asynchronous call procedure. As this is an  
asynchronous event, the user cannot know the  
context and the time at which it occurred. As a re-  
sult, the user should save all Data space registers  
which may be used within the interrupt routines.  
There are separate sets of processor flags for nor-  
mal, interrupt and non-maskable interrupt modes,  
which are automatically switched and so do not  
need to be saved.  
The interrupt routine usually begins by the identify-  
ing the device which generated the interrupt re-  
quest (by polling). The user should save the regis-  
ters which are used within the interrupt routine in a  
software stack. After the RETI instruction is exe-  
cuted, the MCU returns to the main routine.  
Figure 20. Interrupt Processing Flow Chart  
The following list summarizes the interrupt proce-  
dure:  
INSTRUCTION  
MCU  
FETCH  
– The interrupt is detected.  
INSTRUCTION  
– The C and Z flags are replaced by the interrupt  
flags (or by the NMI flags).  
EXECUTE  
– The PC contents are stored in the first level of  
the stack.  
INSTRUCTION  
– The normal interrupt lines are inhibited (NMI still  
active).  
– The first internal latch is cleared.  
LOAD PC FROM  
INTERRUPT VECTOR  
NO  
WAS  
(FFC/FFD)  
THE INSTRUCTION  
A RETI ?  
–The associatedinterrupt vectorisloaded inthePC.  
YES  
IS THE CORE  
ALREADY IN  
NORMAL MODE?  
SET  
WARNING: In some circumstances, when a  
maskable interrupt occurs while the ST6 core is in  
NORMAL mode and especially during the execu-  
tion of an ”ldi IOR, 00h” instruction (disabling all  
maskable interrupts): if the interrupt arrives during  
the first 3 cycles of the ”ldi” instruction (which is a  
4-cycle instruction) the core will switch to interrupt  
mode BUT the flags CN and ZN will NOT switch to  
the interrupt pair CI and ZI.  
YES  
INTERRUPT MASK  
?
NO  
CLEAR  
INTERRUPT MASK  
PUSH THE  
PC INTO THE STACK  
SELECT  
PROGRAM FLAGS  
SELECT  
INTERNAL MODE FLAG  
User  
”POP”  
– User selected registers are saved within the in-  
terrupt service routine (normally on a software  
stack).  
THE STACKED PC  
CHECK IF THERE IS  
AN INTERRUPT REQUEST  
AND INTERRUPT MASK  
NO  
– The source of the interrupt is found by polling the  
interrupt flags (if more than one source is associ-  
ated with the same vector).  
?
YES  
VA000014  
– The interrupt is serviced.  
– Return from interrupt (RETI)  
30/86  
134  
ST62T32B ST62E32B  
INTERRUPTS (Cont’d)  
3.4.3 Interrupt Option Register (IOR)  
Bit 5 = ESB: Edge Selection bit.  
The Interrupt Option Register (IOR) is used to en-  
able/disable the individual interrupt sources and to  
select the operating mode of the external interrupt  
inputs. This register is write-only and cannot be  
accessed by single-bit operations.  
The bit ESB selects the polarity of the interrupt  
source #2.  
Bit 4 = GEN: Global Enable Interrupt. When this bit  
is set to one, all interrupts are enabled. When this  
bit is cleared to zero all the interrupts (excluding  
NMI) are disabled.  
Address: 0C8h — Write Only  
Reset status: 00h  
When the GEN bit is low, the NMI interrupt is ac-  
tive but cannot cause a wake up from STOP/WAIT  
modes.  
7
-
0
-
This register is cleared on reset.  
LES ESB GEN  
-
-
-
3.4.4 IInterrupt sources  
Bit 7, Bits 3-0 = Unused.  
LES Level/Edge Selection bit.  
Bit 6 =  
:
Interrupt  
sources  
available  
on  
the  
ST62E32B/T32B are summarized in theTable 11  
with associated mask bit to enable/disable the in-  
terrupt request.  
When this bit is set to one, the interrupt source #1  
is level sensitive. When cleared to zero the edge  
sensitive mode for interrupt request is selected.  
Table 11. Interrupt Requests and Mask Bits  
Address  
Interrupt  
source  
Peripheral  
Register  
Mask bit  
Masked Interrupt Source  
Register  
GENERAL  
TIMER  
A/D CONVERTER ADCR  
IOR  
C8h  
GEN  
ETI  
I
All  
All Interrupts, excluding NM  
TMZ: TIMER Overflow  
TSCR1  
D4h  
D1h  
source 4  
source 4  
EAI  
EOC: End of Conversion  
RXIEN  
TXIEN  
RXRDY : Byte received  
TXMT : Byte sent  
UART  
UARTCR  
D7h  
source 4  
SCR1  
SCR2  
SCR3  
SCR3  
SCR3  
E8h  
E1h  
E2h  
E2h  
E2h  
OVFIEN  
CP1IEN  
CP2IEN  
ZEROIEN  
CMPIEN  
OVFFLG: ARTIMER Overflow  
CP1FLG  
ARTIMER  
CP2FLG  
source 3  
ZEROFLG: Compare to zero flag  
CMPFLG: Compare flag  
SPI  
SPI  
DCh  
ALL  
End of Transmission  
source 1  
source 1  
source 2  
source 0  
source 2  
source 1  
Port PAn  
Port PBn  
Port PCn  
Port PDn  
Port PEn  
ORPA-DRPA  
C0h-C4h  
ORPAn-DRPAn PAn pin  
ORPBn-DRPBn PBn pin  
ORPCn-DRPCn PCn pin  
ORPDn-DRPDn PDn pin  
ORPEn-DRPEn PEn pin  
ORPB-DRPB C1h-C5h  
ORPC-DRPC C2h-C6h  
ORPD-DRPD C3h-C7h  
ORPE-DRPE FCh-FDh  
31/86  
135  
ST62T32B ST62E32B  
IINTERRUPTS (Cont’d)  
Interrupt Polarity Register (IPR)  
set, IPR is cleared and all port interrupts are not in-  
verted (e.g. Port C generates interrupts on falling  
edges).  
Address: DAh  
7
Read/Write  
0
Bit 7 - Bits 5 = Unused.  
-
-
-
PortE PortD PortC PortA PortB  
Bit 4 = Port E Interrupt Polarity.  
Bit 3 = Port D Interrupt Polarity.  
Bit 2 = Port C Interrupt Polarity.  
Bit 1= Port A Interrupt Polarity.  
Bit 0 = Port B Interrupt Polarity.  
In conjunction with IOR register ESB bit, the polar-  
ity of I/O pins triggered interrupts can be selected  
by setting accordingly the Interrupt Polarity Regis-  
ter (IPR). If a bit in IPR is set to one the corre-  
sponding port interrupt is inverted (e.g. IPR bit 2 =  
1 ; port C generates interrupt on rising edge. At re-  
Table 12. I/O Interrupts selections according to IPR, IOR programming  
Interrupt  
source  
GEN  
IPR3  
IPR0  
IOR5  
Port B occurence  
Port D occurence  
1
1
1
1
1
1
1
1
0
0
0
0
0
1
1
1
1
X
0
0
1
1
0
0
1
1
X
0
1
0
1
0
1
0
1
X
falling edge  
rising edge  
rising edge  
falling edge  
falling edge  
rising edge  
rising edge  
falling edge  
Disabled  
falling edge  
rising edge  
falling edge  
rising edge  
rising edge  
falling edge  
rising edge  
falling edge  
Disabled  
2
Interrupt  
source  
GEN  
IPR4  
IPR1  
IOR6  
Port A occurence  
Port E occurence  
1
1
1
1
1
1
1
1
0
0
0
0
0
1
1
1
1
X
0
0
1
1
0
0
1
1
X
0
1
0
1
0
1
0
1
X
falling edge  
low level  
falling edge  
low level  
rising edge  
high level  
falling edge  
low level  
falling edge  
low level  
rising edge  
high level  
rising edge  
high level  
Disabled  
1
rising edge  
high level  
Disabled  
IPR2  
Port C occurence  
Interrupt source  
0
1
falling edge  
rising edge  
0
32/86  
136  
ST62T32B ST62E32B  
INTERRUPTS (Cont’d)  
Figure 21. Interrupt Block Diagram  
FROM REGISTER PORT A,B,C,D,E  
SINGLE BIT ENABLE  
PBE  
IPR Bit 2  
V
DD  
FF  
CLK  
CLR  
INT #0 NMI (FFC,D))  
Q
PORT C  
Bits  
NMI  
I
Start  
0
IPR Bit 0  
FF  
CLK  
CLR  
0
Q
I
PORT A  
Bits  
PBE  
PBE  
MUX  
INT #1 (FF6,7)  
Start  
1
IPR Bit 4  
1
PORT E  
Bits  
IOR bit 6 (LES)  
SPI  
RESTART  
FROM  
STOP/WAIT  
IPR Bit 1  
FF  
CLK  
CLR  
INT #2 (FF4,5)  
PBE  
Q
PORT B  
Bits  
I
Start  
2
IOR bit 5 (ESB)  
IPR Bit 3  
PORT D  
Bits  
PBE  
CP1FLG  
CP1IEN  
CP2FLG  
CP2IEN  
OVFLG  
OVFIEN  
INT #3 (FF2,3)  
CMPFLG  
CMPIEN  
ZEROFLG  
ZEROIEN  
TMZ  
ETI  
EAI  
EOC  
INT #4 (FF0,1)  
RXRDY  
RXIEN  
IOR bit 4(GEN)  
TXMT  
TXIEN  
33/86  
137  
ST62T32B ST62E32B  
3.5 POWER SAVING MODES  
The WAIT and STOP modes have been imple-  
mented in the ST62xx family of MCUs in order to  
reduce the product’s electrical consumption during  
idle periods. These two power saving modes are  
described in the following paragraphs.  
of the processor core prior to the WAIT instruction,  
but also on the kind of interrupt request which is  
generated. This is described in the following para-  
graphs. The processor core does not generate a  
delay following the occurrence of the interrupt, be-  
cause the oscillator clock is still available and no  
stabilisation period is necessary.  
3.5.1 WAIT Mode  
The MCU goes into WAIT mode as soon as the  
WAIT instruction is executed. The microcontroller  
can be considered as being in a “software frozen”  
state where the core stops processing the pro-  
gram instructions, the RAM contents and peripher-  
al registers are preserved as long as the power  
supply voltage is higher than the RAM retention  
voltage. In this mode the peripherals are still ac-  
tive.  
3.5.2 STOP Mode  
If the Watchdog is disabled, STOP mode is availa-  
ble. When in STOP mode, the MCU is placed in  
the lowest power consumption mode. In this oper-  
ating mode, the microcontroller can be considered  
as being “frozen”, no instruction is executed, the  
oscillator is stopped, the RAM contents and pe-  
ripheral registers are preserved as long as the  
power supply voltage is higher than the RAM re-  
tention voltage, and the ST62xx core waits for the  
occurrence of an external interrupt request or a  
Reset to exit the STOP state.  
WAIT mode can be used when the user wants to  
reduce the MCU power consumption during idle  
periods, while not losing track of time or the capa-  
bility of monitoring external events. The active os-  
cillator is not stopped in order to provide a clock  
signal to the peripherals. Timer counting may be  
enabled as well as the Timer interrupt, before en-  
tering the WAIT mode: this allows the WAIT mode  
to be exited when a Timer interrupt occurs. The  
same applies to other peripherals which use the  
clock signal.  
If the STOP state is exited due to a Reset (by acti-  
vating the external pin) the MCU will enter a nor-  
mal reset procedure. Behaviour in response to in-  
terrupts depends on the state of the processor  
core prior to issuing the STOP instruction, and  
also on the kind of interrupt request that is gener-  
ated.  
If the WAIT mode is exited due to a Reset (either  
by activating the external pin or generated by the  
Watchdog), the MCU enters a normal reset proce-  
dure. If an interrupt is generated during WAIT  
mode, the MCU’s behaviour depends on the state  
This case will be described in the following para-  
graphs. The processor core generates a delay af-  
ter occurrence of the interrupt request, in order to  
wait for complete stabilisation of the oscillator, be-  
fore executing the first instruction.  
34/86  
138  
ST62T32B ST62E32B  
POWER SAVING MODE(Cont’d)  
3.5.3 Exit from WAIT and STOP Modes  
tered will be completed, starting with the  
execution of the instruction which follows the  
STOP or the WAIT instruction, and the MCU is  
still in the interrupt mode. At the end of this rou-  
tine pending interrupts will be serviced in accord-  
ance with their priority.  
The following paragraphs describe how the MCU  
exits from WAIT and STOP modes, when an inter-  
rupt occurs (not a Reset). It should be noted that  
the restart sequence depends on the original state  
of the MCU (normal, interrupt or non-maskable in-  
terrupt mode) prior to entering WAIT or STOP  
mode, as well as on the interrupt type.  
– In the event of a non-maskable interrupt, the  
non-maskable interrupt service routine is proc-  
essed first, then the routine in which the WAIT or  
STOP mode was entered will be completed by  
executing the instruction following the STOP or  
WAIT instruction. The MCU remains in normal  
interrupt mode.  
Interrupts do not affect the oscillator selection.  
3.5.3.1 Normal Mode  
If the MCU was in the main routine when the WAIT  
or STOP instruction was executed, exit from Stop  
or Wait mode will occur as soon as an interrupt oc-  
curs; the related interrupt routine is executed and,  
on completion, the instruction which follows the  
STOP or WAIT instruction is then executed, pro-  
viding no other interrupts are pending.  
Notes:  
To achieve the lowest power consumption during  
RUN or WAIT modes, the user program must take  
care of:  
– configuring unused I/Os as inputs without pull-up  
(these should be externally tied to well defined  
logic levels);  
3.5.3.2 Non Maskable Interrupt Mode  
If the STOP or WAIT instruction has been execut-  
ed during execution of the non-maskable interrupt  
routine, the MCU exits from the Stop or Wait mode  
as soon as an interrupt occurs: the instruction  
which follows the STOP or WAIT instruction is ex-  
ecuted, and the MCU remains in non-maskable in-  
terrupt mode, even if another interrupt has been  
generated.  
– placing all peripherals in their power down  
modes before entering STOP mode;  
When the hardware activated Watchdog is select-  
ed, or when the software Watchdog is enabled, the  
STOP instruction is disabled and a WAIT instruc-  
tion will be executed in its place.  
3.5.3.3 Normal Interrupt Mode  
If all interrupt sources are disabled (GEN low), the  
MCU can only be restarted by a Reset. Although  
setting GEN low does not mask the NMI as an in-  
terrupt, it will stop it generating a wake-up signal.  
If the MCU was in interrupt mode before the STOP  
or WAIT instruction was executed, it exits from  
STOP or WAIT mode as soon as an interrupt oc-  
curs. Nevertheless, two cases must be consid-  
ered:  
The WAIT and STOP instructions are not execut-  
ed if an enabled interrupt request is pending.  
– If the interrupt is a normal one, the interrupt rou-  
tine in which the WAIT or STOP mode was en-  
35/86  
139  
ST62T32B ST62E32B  
4 ON-CHIP PERIPHERALS  
4.1 I/O PORTS  
The MCU features Input/Output lines which may  
be individually programmed as any of the following  
input or output configurations:  
be also written by user software, in conjunction  
with the related option registers, to select the dif-  
ferent input mode options.  
– Input without pull-up or interrupt  
– Input with pull-up and interrupt  
– Input with pull-up, but without interrupt  
– Analog input  
Single-bit operations on I/O registers are possible  
but care is necessary because reading in input  
mode is done from I/O pins while writing will direct-  
ly affect the Port data register causing an unde-  
sired change of the input configuration.  
The Data Direction registers (DDRx) allow the  
data direction (input or output) of each pin to be  
set.  
– Push-pull output  
– Open drain output  
The lines are organised as bytewise Ports.  
The Option registers (ORx) are used to select the  
different port options available both in input and in  
output mode.  
Each port is associated with 3 registers in Data  
space. Each bit of these registers is associated  
with a particular line (for instance, bits 0 of Port A  
Data, Direction and Option registers are associat-  
ed with the PA0 line of Port A).  
All I/O registers can be read or written to just as  
any other RAM location in Data space, so no extra  
RAM cells are needed for port data storage and  
manipulation. During MCU initialization, all I/O reg-  
isters are cleared and the input mode with pull-ups  
and no interrupt generation is selected for all the  
pins, thus avoiding pin conflicts.  
The DATA registers (DRx), are used to read the  
voltage level values of the lines which have been  
configured as inputs, or to write the logic value of  
the signal to be output on the lines configured as  
outputs. The port data registers can be read to get  
the effective logic levels of the pins, but they can  
Figure 22. I/O Port Block Diagram  
RESET  
V
DD  
S
CONTROLS  
IN  
DATA  
DIRECTION  
REGISTER  
V
DD  
INPUT/OUTP UT  
DATA  
REGISTER  
SHIFT  
REGISTER  
OPTION  
REGISTER  
S
OUT  
TO INTERRUPT  
TO ADC  
VA00413  
36/86  
140  
ST62T32B ST62E32B  
I/O PORTS (Cont’d)  
4.1.1 Operating Modes  
4.1.1.2 Interrupt Options  
Each pin may be individually programmed as input  
or output with various configurations.  
All input lines can be individually connected by  
software to the interrupt system by programming  
the OR and DR registers accordingly. The inter-  
rupt trigger modes (falling edge, rising edge and  
low level) can be configured by software as de-  
scribed in the Interrupt Chapter for each port.  
This is achieved by writing the relevant bit in the  
Data (DR), Data Direction (DDR) and Option reg-  
isters (OR). Table 13 illustrates the various port  
configurations which can be selected by user soft-  
ware.  
4.1.1.3 Analog Input Options  
4.1.1.1 Input Options  
Some pins can be configured as analog inputs by  
programming the OR and DR registers according-  
ly. These analog inputs are connected to the on-  
chip 8-bit Analog to Digital Converter.ONLY ONE  
pin should be programmed as an analog input at  
any time, since by selecting more than one input  
simultaneously their pins will be effectively short-  
ed.  
Pull-up, High Impedance Option. All input lines  
can be individually programmed with or without an  
internal pull-up by programming the OR and DR  
registers accordingly. If the pull-up option is not  
selected, the input pin will be in the high-imped-  
ance state.  
Table 13. I/O Port Option Selection  
DDR  
OR  
0
DR  
0
Mode  
Input  
Option  
0
0
0
0
1
1
With pull-up, no interrupt  
0
1
Input  
No pull-up, no interrupt  
1
0
Input  
With pull-up and with interrupt  
1
1
Input  
Analog input (when available)  
0
X
X
Output  
Output  
Open-drain output (20mA sink when available)  
Push-pull output (20mA sink when available)  
1
Note: X = Don’t care  
37/86  
141  
ST62T32B ST62E32B  
I/O PORTS (Cont’d)  
4.1.2 Safe I/O State Switching Sequence  
outputs, it is advisable to keep a copy of the data  
register in RAM. Single bit instructions may then  
be used on the RAM copy, after which the whole  
copy register can be written to the port data regis-  
ter:  
Switching the I/O ports from one state to another  
should be done in a sequence which ensures that  
no unwanted side effects can occur. The recom-  
mended safe transitions are illustrated in Figure  
23. All other transitions are potentially risky and  
should be avoided when changing the I/O operat-  
ing mode, as it is most likely that undesirable side-  
effects will be experienced, such as spurious inter-  
rupt generation or two pins shorted together by the  
analog multiplexer.  
SET bit, datacopy  
LD a, datacopy  
LD DRA, a  
Warning: Care must also be taken to not use in-  
structions that act on a whole port register (INC,  
DEC, or read operations) when all 8 bits are not  
available on the device. Unavailable bits must be  
masked by software (AND instruction).  
Single bit instructions (SET, RES, INC and DEC)  
should be used with great caution on Ports Data  
registers, since these instructions make an implicit  
read and write back of the entire register. In port  
input mode, however, the data register reads from  
the input pins directly, and not from the data regis-  
ter latches. Since data register information in input  
mode is used to set the characteristics of the input  
pin (interrupt, pull-up, analog input), these may be  
unintentionally reprogrammed depending on the  
state of the input pins. As a general rule, it is better  
to limit the use of single bit instructions on data  
registers to when the whole (8-bit) port is in output  
mode. In the case of inputs or of mixed inputs and  
The WAIT and STOP instructions allow the  
ST62xx to be used in situations where low power  
consumption is needed. The lowest power con-  
sumption is achieved by configuring I/Os in input  
mode with well-defined logic levels.  
The user must take care not to switch outputs with  
heavy loads during the conversion of one of the  
analog inputs in order to avoid any disturbance to  
the conversion.  
Figure 23. Diagram showing Safe I/O State Transitions  
Interrupt  
pull-up  
Input  
Analog  
010*  
011  
001  
Input  
pull-up (Reset  
state)  
000  
100  
Input  
Output  
Open Drain  
Output  
Open Drain  
101  
111  
Output  
Push-pull  
Output  
Push-pull  
110  
Note *. xxx = DDR, OR, DR Bits respectively  
38/86  
142  
ST62T32B ST62E32B  
I/O PORTS (Cont’d)  
Table 14. I/O Port configuration for the ST62T32B/E32B  
MODE  
AVAILABLE ON(1)  
SCHEMATIC  
PA0-PA7  
PB0, PB3-PB7  
PC5-PC7  
Input  
(Reset state if PORT  
PULL option disabled)  
Data in  
PD0-PD7  
PE0-PE4  
Interrupt  
PA0-PA7  
Input  
PB0, PB3-PB7  
PC5-PC7  
PD0-PD7  
PE0-PE4  
with pull up  
Data in  
(Reset state if PORT  
PULL option enabled)  
Interrupt  
PA0-PA7  
Input  
PB0, PB3-PB7  
PC5-PC7  
PD0-PD7  
PE0-PE4  
with pull up  
with interrupt  
Data in  
Interrupt  
PA4-PA7  
PB0, PB3-PB7  
PC5-PC7  
Analog Input  
ADC  
PD0-PD7  
Open drain output  
5mA  
PA4-PA7  
PB0, PB3-PB7  
PC5-PC7  
PD0-PD7  
Data out  
Open drain output  
20mA  
PA0-PA3  
PE0-PE4  
Push-pull output  
5mA  
PA4-PA7  
PB0, PB3-PB7  
PC5-PC7  
PD0-PD7  
Data out  
Push-pull output  
20mA  
PA0-PA3  
PE0-PE4  
VR01992A  
Note 1. Provided the correct configuration has been selected.  
39/86  
143  
ST62T32B ST62E32B  
I/O PORTS (Cont’d)  
4.1.3 ARTimer alternate functions  
used as data in and data clock (Slave mode) for  
the SPI. All input modes are available and I/O’s  
can be read independantly of the SPI at any time.  
As long as PWMEN (resp. OVFEN) bit is kept low,  
the PA3/PWM (resp. PA2/OVF) pin is used as  
standard I/O pin and therefore can be configured in  
any mode through the DDR and OR registers.  
PD3/Sout must be configured in open drain output  
mode to be used as data out for the SPI. In output  
mode, the value present on the pin is the port data  
register content only if PD3 is defined as push pull  
output, while serial transmission is possible only in  
open drain mode.  
If PWMEN (resp. OVFEN) bit is set, PA3/PWM (re-  
sp. PA2/OVF) pin must be configured as output  
through the DDR and OR registers to be used as  
PWM (OVF) output of the ARTimer16. All output  
modes are available.  
4.1.5 UART alternate functions  
PD4/RXD1 pin must be configured as input  
through the DDR and OR registers to be used as  
reception line for the UART. All input modes are  
available and PD4 can be read independantly of  
the UART at any time.  
PA4/CP1 or PA5/CP2 pins must be configured as  
input through DDR register to allow CP1 or CP2  
triggered input capture of the ARTimer16. All input  
modes are available and I/O’s can be read inde-  
pendantly of the ARTimer at any time. As long as  
RLDSEL2, RLDSEL1 bits do not enable CP1 or  
CP2 triggered capture, PA4/CP1 and PA5/CP2 are  
standard I/O’s configurable through DDR and OR  
registers.  
PD5/TXD1 pin must be configured as output  
through the DDR and OR registers to be used as  
transmission line for the UART. Value present on  
the pin in output mode is the Data register content  
as long as no transmission is active.  
4.1.4 SPI alternate functions  
PD2/Sin and PD1/Scl pins must be configured as  
input through the DDR and OR registers to be  
40/86  
144  
ST62T32B ST62E32B  
I/O PORTS (Cont’d)  
Figure 24. Peripheral Interface Configuration of SPI, UART and AR Timer16  
V
DD  
PID  
RXD  
PD4/RXD1  
PD5/TXD1  
PD3/Sout  
PD2/Sin  
DR  
UART  
IARTOE  
PID  
PID  
DR  
0
1
MUX  
TXD  
PP/OD  
OPR  
DR  
1
0
MUX  
OUT  
IN  
PID  
PID  
DR  
SYNCHRONOUS  
SERIAL I/O  
CLOCK  
DR  
PD1/Scl  
PWMEN  
PWM  
PID  
1
0
MUX  
PA3/PWM  
PA4/CP1  
PA5/CP2  
PA2/OVF  
DR  
PID  
CP1  
DR  
ARTIMER 16  
PID  
CP2  
DR  
OVFEN  
OVF  
PID  
1
0
MUX  
DR  
VR01661D  
41/86  
145  
ST62T32B ST62E32B  
I/O PORTS (Cont’d)  
4.1.6 I/O Port Option Registers  
4.1.8 I/O Port Data Registers  
ORA/B/C/D/E (CCh PA, CDh PB, CEh PC, CFh  
DRA/B/C/D/E (C0h PA, C1h PB, C2h PC, C3h  
PD, FEh PE)  
PD, FCh PE)  
Read/Write  
Read/Write  
7
0
7
0
Px7 Px6 Px5 Px4 Px3 Px2 Px1 Px0  
Px7 Px6 Px5 Px4 Px3 Px2 Px1 Px0  
Bit 7-0 = Px7 - Px0: Port A, B, C, D and E Option  
Register bits.  
Bit 7-0 = Px7 - Px0: Port A, B, C, D and E Data  
Registers bits.  
4.1.7 I/O Port Data Direction Registers  
DDRA/B/C/D/E (C4h PA, C5h PB, C6h PC, C7h  
PD, FDh PE)  
Read/Write  
7
0
Px7 Px6 Px5 Px4 Px3 Px2 Px1 Px0  
Bit 7-0 = Px7 - Px0: Port A, B, C, D and E Data Di-  
rection Registers bits.  
42/86  
146  
ST62T32B ST62E32B  
4.2 TIMER  
The MCU features an on-chip Timer peripheral,  
consisting of an 8-bit counter with a 7-bit program-  
mable prescaler, giving a maximum count of 2 .  
The peripheral may be configured in three different  
operating modes.  
The prescaler input can be the internal frequency  
INT  
f
divided by 12 or an external clock applied to  
15  
the TIMER pin. The prescaler decrements on the  
rising edge. Depending on the division factor pro-  
grammed by PS2, PS1 and PS0 bits in the TSCR.  
The clock input of the timer/counter register is mul-  
tiplexed to different sources. For division factor 1,  
the clock input of the prescaler is also that of tim-  
er/counter; for factor 2, bit 0 of the prescaler regis-  
ter is connected to the clock input of TCR. This bit  
changes its state at half the frequency of the pres-  
caler input clock. For factor 4, bit 1 of the PSC is  
connected to the clock input of TCR, and so forth.  
The prescaler initialize bit, PSI, in the TSCR regis-  
ter must be set to “1” to allow the prescaler (and  
hence the counter) to start. If it is cleared to “0”, all  
the prescaler bits are set to “1” and the counter is  
inhibited from counting. The prescaler can be  
loaded with any value between 0 and 7Fh, if bit  
PSI is set to “1”. The prescaler tap is selected by  
means of the PS2/PS1/PS0 bits in the control reg-  
ister.  
Figure 25 shows the Timer Block Diagram. The  
external TIMER pin is available to the user. The  
content of the 8-bit counter can be read/written in  
the Timer/Counter register, TCR, while the state of  
the 7-bit prescaler can be read in the PSC register.  
The control logic device is managed in the TSCR  
register as described in the following paragraphs.  
The 8-bit counter is decremented by the output  
(rising edge) coming from the 7-bit prescaler and  
can be loaded and read under program control.  
When it decrements to zero then the TMZ (Timer  
Zero) bit in the TSCR is set to “1”. If the ETI (Ena-  
ble Timer Interrupt) bit in the TSCR is also set to  
“1”, an interrupt request is generated as described  
in the Interrupt Chapter. The Timer interrupt can  
be used to exit the MCU from WAIT mode.  
Figure 26 illustrates the Timer’s working principle.  
Figure 25. Timer Block Diagram  
DATABUS 8  
8
8
8
6
5
4
3
2
b7  
b6  
b5  
b4  
b3  
b2  
b1  
b0  
8-BIT  
COUNTER  
STATUS/CONTROL  
REGISTER  
SELECT  
PSC  
1
OF 7  
TMZ ETI TOUT  
PSI  
PS1  
PS0  
DOUT  
PS2  
1
0
3
TIMER  
INTERRUPT  
LINE  
LATCH  
SYNCHRONIZATION  
LOGIC  
:12  
fOSC  
VA00009  
43/86  
147  
ST62T32B ST62E32B  
TIMER (Cont’d)  
4.2.1 Timer Operating Modes  
The user can select the desired prescaler division  
ratio through the PS2, PS1, PS0 bits. When the  
TCR count reaches 0, it sets the TMZ bit in the  
TSCR. The TMZ bit can be tested under program  
control to perform a timer function whenever it  
goes high. The low-to-high TMZ bit transition is  
used to latch the DOUT bit of the TSCR and trans-  
fer it to the TIMER pin. This operating mode allows  
external signal generation on the TIMER pin.  
There are three operating modes, which are se-  
lected by the TOUT and DOUT bits (see TSCR  
register). These three modes correspond to the  
two clocks which can be connected to the 7-bit  
prescaler (f  
÷ 12 or TIMER pin signal), and to  
INT  
the output mode.  
4.2.1.1 Gated Mode  
(TOUT = “0”, DOUT = “1”)  
In this mode the prescaler is decremented by the  
Table 15. Timer Operating Modes  
TOUT  
DOUT  
Timer Pin  
Input  
Timer Function  
Event Counter  
Gated Input  
Output “0”  
Timer clock input (f ÷ 12), but ONLY when the  
INT  
signal on the TIMER pin is held high (allowing  
pulse width measurement). This mode is selected  
by clearing the TOUT bit in the TSCR register to  
“0” (i.e. as input) and setting the DOUT bit to “1”.  
0
0
1
1
0
1
0
1
Input  
Output  
Output  
Output “1”  
4.2.1.2 Event Counter Mode  
(TOUT = “0”, DOUT = “0”)  
4.2.2 Timer Interrupt  
In this mode, the TIMER pin is the input clock of  
the prescaler which is decremented on the rising  
edge.  
When the counter register decrements to zero with  
the ETI (Enable Timer Interrupt) bit set to one, an  
interrupt request is generated as described in the  
Interrupt Chapter. When the counter decrements  
to zero, the TMZ bit in the TSCR register is set to  
one.  
4.2.1.3 Output Mode  
(TOUT = “1”, DOUT = data out)  
The TIMER pin is connected to the DOUT latch,  
hence the Timer prescaler is clocked by the pres-  
caler clock input (f ÷ 12).  
INT  
Figure 26. Timer Working Principle  
7-BIT PRESCALER  
BIT3  
BIT0  
BIT1  
BIT2  
BIT4  
BIT5  
BIT6  
CLOCK  
PS0  
PS1  
PS2  
2
0
1
3
4
5
6
7
8-1 MULTIPLEXER  
BIT7  
BIT0  
BIT1  
BIT2  
BIT3  
BIT4  
BIT5  
BIT6  
8-BIT COUNTER  
VA00186  
44/86  
148  
ST62T32B ST62E32B  
TIMER (Cont’d)  
4.2.3 Application Notes  
Bit 4 = DOUT: Data Output  
The user can select the presence of an on-chip  
pull-up on the TIMER pin as option.  
Data sent to the timer output when TMZ is set high  
(output mode only). Input mode selection (input  
mode only).  
TMZ is set when the counter reaches zero; howev-  
er, it may also be set by writing 00h in the TCR  
register or by setting bit 7 of the TSCR register.  
The TMZ bit must be cleared by user software  
when servicing the timer interrupt to avoid unde-  
sired interrupts when leaving the interrupt service  
routine. After reset, the 8-bit counter register is  
loaded with 0FFh, while the 7-bit prescaler is load-  
ed with 07Fh, and the TSCR register is cleared.  
This means that the Timer is stopped (PSI=“0”)  
and the timer interrupt is disabled.  
Bit 3 = PSI: Prescaler Initialize Bit  
Used to initialize the prescaler and inhibit its count-  
ing. When PSI=“0” the prescaler is set to 7Fh and  
the counter is inhibited. When PSI=“1” the prescal-  
er is enabled to count downwards. As long as  
PSI=“0” both counter and prescaler are not run-  
ning.  
PS2, PS1, PS0  
Bit 2, 1, 0 =  
: Prescaler Mux. Se-  
lect. These bits select the division ratio of the pres-  
caler register.  
If the Timer is programmed in output mode, the  
DOUT bit is transferred to the TIMER pin when  
TMZ is set to one (by software or due to counter  
decrement). When TMZ is high, the latch is trans-  
parent and DOUT is copied to the timer pin. When  
TMZ goes low, DOUT is latched.  
Table 16. Prescaler Division Factors  
PS2  
0
PS1  
0
PS0  
0
Divided by  
1
2
0
0
1
A write to the TCR register will predominate over  
the 8-bit counter decrement to 00h function, i.e. if a  
write and a TCR register decrement to 00h occur  
simultaneously, the write will take precedence,  
and the TMZ bit is not set until the 8-bit counter  
reaches 00h again. The values of the TCR and the  
PSC registers can be read accurately at any time.  
0
1
0
4
0
1
1
8
1
0
0
16  
32  
64  
128  
1
0
1
1
1
0
1
1
1
4.2.4 Timer Registers  
Timer Status Control Register (TSCR)  
Address: 0D4h — Read/Write  
Timer Counter Register TCR  
Address: 0D3h  
Read/Write  
7
0
7
0
TMZ  
ETI  
TOUT DOUT PSI  
PS2  
PS1  
PS0  
D7  
D6  
D5  
D4  
D3  
D2  
D1  
D0  
Bit 7 = TMZ: Timer Zero bit  
Bit 7-0 = D7-D0: Counter Bits.  
A low-to-high transition indicates that the timer  
count register has decrement to zero. This bit must  
be cleared by user software before starting a new  
count.  
Prescaler Register PSC  
Bit 6 = ETI: Enable Timer Interrupt  
Address: 0D2h  
Read/Write  
When set, enables the timer interrupt request. If  
ETI=0 the timer interrupt is disabled. If ETI=1 and  
TMZ=1 an interrupt request is generated.  
7
0
D7  
D6  
D5  
D4  
D3  
D2  
D1  
D0  
TOUT  
: Timers  
Output Control  
Bit 5 =  
Bit 7 = D7: Always read as ”0”.  
D6-D0  
When low, this bit selects the input mode for the  
TIMER pin. When high the output mode is select-  
ed.  
Bit 6-0 =  
: Prescaler Bits.  
45/86  
149  
ST62T32B ST62E32B  
4.3 ARTIMER 16  
The ARTIMER16 is a timer module based on a 16  
bit downcounter with Reload, Capture and Com-  
pare features to manage timing requirements. Two  
outputs provide PWM and Overflow (OVF) output  
signals each with programmable polarity, and two  
inputs CP1 and CP2 control start-up, capture  
and/or reload operations on the central counter.  
time as the write to the low byte. This high byte will  
remain constant if further writes are made to the  
low bytes, until the high byte is changed. Full  
Read/Write access is available to all registers ex-  
cept where mentioned.  
The ARTIMER16 may be placed into the reset  
mode by resetting RUNRES to 0 in order to  
achieve lower consumption. The contents of  
RLCP, CP, MASK and CMP are not affected, nor  
is the previous run mode of the timer changed. If  
RUNRES is subsequently set to 1, the timer re-  
starts in the same RUN mode as previously set if  
no changes are made to the timer status registers.  
The ARTIMER16 includes four 16-bit registers  
CMP,RLCP,MASK and CP for the Reload, Cap-  
ture and compare functions, four 8-bit status/con-  
trol registers and the associated control logic.The  
16-bit registers are accessed from the 8-bit inter-  
nal bus. The full 16-bit word is written in two bytes,  
the high byte first and then the low byte. The high  
byte is stored in an intermediate register and is  
written to the target 16-bit register at the same  
Finally, interrupt capabilities are associated to the  
Reload, Capture and Compare features.  
Figure 27. ARTIMER16 Block Diagram  
fINT  
PSC  
16-Bit  
8
16  
SCR1  
CMP  
8
SCR2  
Compare  
PWM  
16  
8
16-Bit  
SCR3  
SCR4  
MASK  
RLCP  
4
OVF  
Compare-to-0  
16-Bit  
16  
16  
16  
8
COUNTER  
16-Bit  
CP  
CP1  
INT  
CONTROL LOGIC  
CP2  
VR02014  
46/86  
150  
ST62T32B ST62E32B  
4.3.1 CENTRAL COUNTER  
4.3.1.2 Compare functions  
The core of the 16 bit Auto-Reload Timer is a 16-  
bit synchronous downcounter which accepts the  
MCU internal clock through a prescaler with a pro-  
grammable ratio (1/1, 1/4, 1/16).  
The value in the counter CT is continuously com-  
pared to 0000h and to the value programmed into  
the Compare Register CMP. The comparison  
range to 0000h and CMP is defined by using the  
MASK register to select which bits are used, there-  
fore the comparisons performed are:  
The maximum time for downcounting is therefore  
16  
2
x Psc x Tclk where Psc is the prescaler ratio,  
?
and Tclk the period of the main oscillator.  
– MASK&CT = MASK&CMP.  
?
This down counter is stopped and its content kept  
cleared as long as RUNRES bit is cleared.  
– MASK&CT = 0000h.  
When a matched comparison to 0000h or  
MASK&CMP occurs, the flags ZEROFLG and  
COMPFLG are respectively set.  
4.3.1.1 Reload functions  
The 16-bit down counter can be reloaded 3 differ-  
ent ways:  
By using MASK values reported inTable 17, the  
MASK register works as counter frequency multi-  
plier for the compare functions. In that case posi-  
At a zero overflow occurrence with the bit RELOAD  
cleared: The counter is reloaded to FFFFh.  
tive masked comparison occur with a period of  
(n+1)  
At a zero overflow occurrence with the bit  
RELOAD set: The counter is reloaded with the val-  
ue programmed in the RLCP register. For each  
overflow, the transition between 0000h and the re-  
load value (RLCP or FFFFh) is flagged through the  
OVFFLG bit.  
2
x Psc x Tclk where n is the position of the  
most significant bit of MASK value.  
Table 17. Recommended Mask Values  
MSbit at 1  
position,n  
Hexadecimal  
Binary  
FFFFh  
7FFFh  
3FFFh  
1FFFh  
0FFFh  
...  
0007h  
0003h  
0001h  
1111 1111 1111 1111  
0111 1111 1111 1111  
0011 1111 1111 1111  
0001 1111 1111 1111  
0000 1111 1111 1111  
...  
0000 0000 0000 0111  
0000 0000 0000 0011  
0000 0000 0000 0001  
15  
14  
13  
12  
11  
At an external event on pin CP1 or CP2 with the bit  
RELOAD set: The counter is reloaded with the val-  
ue programmed in the RLCP register.  
As a consequence, the time between a timer re-  
load and a zero overflow occurrence depends on  
the value in RLCP when RELOAD bit is set. This  
time is equal to (RLCP+1) x Psc x Tclk when  
2
1
0
16  
RELOAD bit is set, while it is 2 x Psc x Tclk when  
RELOAD bit is cleared.  
Note: Writing 0000h in MASK gives a period equal  
to two times the prescaled period Psc x Tclk.  
Figure 28. Flags Setting in Compare and Reload Functions  
FFFFh  
or  
RLCP  
Counter  
Value CT  
CMP  
0
ZEROFLG  
Software Reset  
OVFFLG  
Software Reset  
COMPFLG  
Software Reset  
47/86  
151  
ST62T32B ST62E32B  
CENTRAL COUNTER(Cont’d)  
4.3.1.3 Capture functions  
OVF pin output modes  
Content of the counter CT can always be down-  
loaded (captured) into the CP register at selecta-  
ble event occurrence on pins CP1 and CP2, while  
capture in RLCP is possible only when the bit  
RELOAD is cleared.  
Zero overflow (OVFFLG)  
OVFMD  
1
0
1
1
OVF pin  
Set* Toggle  
* The OVF pin is reset by clearing the flag OVF-  
FLG.  
Capture functions with RELOAD cleared are used  
for period or pulse width measurements with input  
CP2, or for phase measurements between two  
signals on CP1 and CP2, with the counter in free  
running mode. In these modes, counter values by  
the two events occurence are stored into RLCP  
and CP and the counter remains in free running  
mode.  
4.3.2.2 Frequency and duty cycles on PWM  
pins  
In Set/Reset mode (PWMMD=0), the period on the  
PWM pin is the time between two matched  
masked comparison to 0000h, at which PWM pin  
is set (PWMPOL=1) or reset (PWMPOL=0). As  
long as no reload function from RLCP is performed  
(RELOAD bit cleared) and no mask is used, this  
Capture functions with RELOAD set, are used for  
same application purpose, but in that case, the  
first event reloads the counter from RLCP while  
the second event captures the counter content  
into the CP register. Therefore, the counter is not  
in free running mode for other functions since the  
down counting start is initiated by either CP1, CP2  
or RUNRES event according to RLDSEL1 and  
RLDSEL2 bit.  
16  
value is 2 x Psc x Tclk. If, on the contrary, reload  
function or a mask are used, the frequency is con-  
trolled through the RLCP and MASK values (Fig-  
ure 29). The condition to reset (PWMPOL=1) or  
set back (PWMPOL=0) PWM pin is a matched  
masked comparison to CMP. Given a RLCP and  
MASK values within the Table 17, CMP defines  
the duty cycle.  
4.3.2 SIGNAL GENERATION MODES  
4.3.2.1 Output modes  
In Toggle mode (PWMMD=1), PWM pin changes  
of state at each positive masked comparison to  
CMP value. The frequency is half the frequency in  
Set/Reset mode and the duty-cycle is always 50%.  
Any positive  
comparison  
to 0000h  
or  
MASK&CMP, and any overflow occurence can be  
used to control the OVF or PWM output pins in  
various modes defined by bits OVFMD, PWMPOL,  
PWMEN and PWMMD.  
4.3.2.3 Frequency and duty cycles on OVF pin  
OVF pin activation is directed by the timer overflow  
occurence and therefore its frequency depends  
only of the downcounting time from the reload val-  
ue to 0000h. This means its period is equal to T=  
(RLCP+1) x Psc x Tclk in Set/Reset mode and 2 x  
(RLCP+1) x Psc x Tclk in Toggle mode.  
PWM pin output modes  
MASK & CNT  
= 0000h  
x
x
x
x
no yes no yes  
yes no yes no  
X
MASK&CT=  
MASK&CMP  
yes  
Duty cycle is controlled in Set/Reset mode  
(OVFMD cleared) by software, since OVF pin can  
be reset only by clearing the OVFFLG bit. In toggle  
mode (OVFMD set), the duty cycle is always 50%.  
PWMEN  
PWMMD  
PWMPOL  
PWM pin  
0
X
0
0
0
X
1
1
1
0
0
1
0
0
1
0
1
1
0
1
1
1
X
Reset Set Set Reset Toggle  
Table 18. Achievable periods on PWM pin  
Mask value  
FFFFh  
xxxxh  
(n+1)  
Period in Set/Reset mode (PWMMD=0) (RLCP+1) x Psc x Tclk  
2
x Psc x Tclk  
(n+1)  
Period in Toggle mode (PWMMD=1)  
2 x (RLCP+1) x Psc x Tclk  
2 x 2  
x Psc x Tclk  
Note  
: n is the position of the most significant bit of MASK value.  
48/86  
152  
ST62T32B ST62E32B  
Figure 29. Mask Impact on the Compare Functions in PWM mode (PWMD=0, PWMPOL=1)  
Counter  
Bit 0...3  
F
E
D
C
B
A
9
8
7
6
5
4
3
2
1
0
F
4
MASK  
000Fh  
2 /fCLK  
most  
significant  
“1” is bit 3  
3
2 /fCLK  
most  
significant  
“1” is bit 2  
0007h  
0003&000C = 0000h  
0003&0007 = 0003&000F  
2
2 /fCLK  
most  
significant  
“1” is bit 1  
0003h  
0001h  
1
2 /fCLK  
most  
significant  
“1” is bit 0  
CMP = 000Fh  
49/86  
153  
ST62T32B ST62E32B  
4.3.3 TIMINGS MEASUREMENT MODES  
– CP1 triggered restart mode with CP2 event de-  
tection.  
These modes are based on the capture of the  
down counter content into either CP or RLCP reg-  
isters. Some are used in conjunction with a syn-  
chronisation of the down counter by reload func-  
tions on external event on CPi pins or software  
RUNRES setting, while other modes do not affect  
the downcounting. As long as RELOAD bit is  
cleared, the down counter remains in free running  
mode.  
– CP2 triggered restart mode with second CP2  
event detection.  
– Software triggered restart mode with CP2 event  
detection.  
CP1 triggered restart mode with CP2 event de-  
tection.  
This mode is enabled for RLDSEL2=0 and  
RLDSEL1=1.  
RELOAD  
External events on CPi pins are enabled as soon as  
RUNRES bit is set, which letsthe prescaler and the  
down counter running. Thenext activeedge on CP1  
causes the counter to be loaded from RLCP, the  
CP1FLG to beset and thedowncounting startsfrom  
RLCP value. Each following active edge on CP1will  
causeareload ofthecounter. If CP1FLG isnotreset  
before thenext reload, theCP1ERR flag isset atthe  
same time as the counter is reloaded. Both flags  
should then be cleared by software.  
1
0
Reload on CP1,CP2, RUNRES / Capture CP2  
Capture CP1 / Capture CP2  
4.3.3.1 Timing measurement with startup  
control  
Three startup conditions, selected by RLDSELi bit  
can reload the counter from RLCP and initiate the  
down counting when RELOAD bit is set. The first  
mode is software controlled through the RUNRES  
bit, while thetwo others are based on external event  
on pins CP1 and CP2 with configurable polarities.  
While the counter is counting, any active edge on  
CP2 will capture the value of the counter at that in-  
stant into the CP Register and set the CP2FLG bit.  
If CP2FLG is not cleared before the following CP2  
event, the CP2ERR flag bit is set, and no new cap-  
ture can be performed  
External event on CP2 pin (with configurable po-  
larities) is used as strobe to launch the capture of  
the CT counter into CP. When RELOAD bit is set,  
RLCP cannot be used for capture, since it contains  
the reload value..  
Capturing is re-enabled by clearing both CP2FLG  
and CP2ERR.  
Finally, 3 different Reload/Capture sequences are  
available:  
Ifacaptureon CP2and areload onCP1occurat the  
same time, the capture ofthe counter to CP is made  
first, and then the counter is reloaded from RLCP.  
Figure 30. CP1 Triggered Restart Mode with CP2 Event Detection  
COUNTER  
0000h  
0000h  
CT  
RUNRES  
Enable the Inputs  
CP1  
Software Reset  
Disabled Reload and Start  
Set CP1FLG  
Reload  
Set CP1ERR  
Reload  
Set CP1FLG  
Disabled  
CP2  
Disabled Capture CT into CP  
Set CP2FLG  
Set CP2ERR  
Clear all Flags  
First Capture in CP  
Then Reload  
Set CP1ERR, CP2FLG  
Disabled  
VR02007  
50/86  
154  
ST62T32B ST62E32B  
TIMINGS MEASUREMENT MODES(Cont’d)  
CP2 triggered restart mode with CP2 event de-  
tection.  
Note: After Reset, the first CP2 event will capture  
the 0000h state of the counter into CP and then  
will restart the counter after loading it from RLCP.  
CP2FLG flag must always be cleared to execute  
another capture into CP.  
This mode is enabled for RLDSEL2=1 and  
RLDSEL1=0.  
As long as RUNRES bit is set, an external event  
on CP2 pin generates both, at first the capture into  
CP, and then the reload from RLCP. Capture into  
CP on CP2 event is enabled only if CP2FLG and  
CP2ERR are cleared, otherwise only reload func-  
tions from RLCP are performed.  
Software triggered restart mode with CP2  
event detection.  
This mode is enabled for RLDSEL2=0 and  
RLDSEL1=0.  
RUNRES bit setting initiates the reload and startup  
of the downcounting, while CP2 is used as strobe  
source for the CT capture into CP register.  
An external event on CP1 activates CP1FLG or  
CP1ERR flags without any impact on the reload or  
capture functions.  
Figure 31. CP2 Triggered Restart Mode with CP2 Event Detection  
CP1  
Set CP1FLG  
Set CP1ERR  
No action  
CP2  
First Capture CT into CP  
Then Reload CT from RLCP  
Set CP2FLG  
Reload CT from RLCP Reload CT from RLCP  
Set CP2ERR  
VR02007C  
Figure 32. Software Triggered Restart Mode with CP2 Event Detection  
COUNTER  
0000h  
0000h  
CT  
RUNRES  
Load Counter from RLCP and Startup  
CP1  
Software Reset  
CP1 disabled  
Set CP1FLG  
CP1 disabled  
Set CP1ERR  
CP2  
Capture CT into CP  
Set CP2FLG  
CP2 disabled  
Set CP2ERR  
VR02007D  
51/86  
155  
ST62T32B ST62E32B  
TIMINGS MEASUREMENT MODES(Cont’d)  
4.3.3.2 Timing measurement without startup  
control  
ond following active edge will trig CP2ERR without  
any capture into neither RLCP or CP.  
The down counter is in free running mode with  
RUNRES bit set and RELOAD bit cleared. This  
means counter automatically restarts from FFFFh  
on zero overflow and signal generation on PWM  
and OVF pins is not affected.  
4.3.4 INTERRUPT CAPABILITIES  
The interrupt source latches of the ARTIMER16  
are always enabled and set any time the interrupt  
condition occurs.  
The interrupt output is a logical OR of five logical  
ANDs:  
Two independent capture paths exist to CP and  
RLCP, which are both Read only registers. CP1 is  
the source (Configurable polarity) for a capture  
into RLCP while CP2 is the source (Configurable  
polarity) of a capture into CP.  
– INT = [(CP1FLG & CP1IEN)  
– OR (CP2FLG & CP2IEN)  
– OR(OVFFLG & OVFIEN)  
– OR(COMPFLG & CMPIEN)  
– OR (ZEROFLG & ZEROIEN)]  
Thus, if any enable bit is 1, the interrupt output of  
the ARTIMER16 goes high when the respective  
flag is set. If no enable bit is 1, and one of the in-  
terrupt flags is set, the interrupt output remains 0,  
but if the respective enable bit is set to 1 through a  
write operation, the interrupt output will go high,  
signalling the interrupt to the Core.  
Independently of CP2 signal, if CP1FLG and  
CP1ERR are cleared, the first active edge on CP1  
will trigger a capture into RLCP, triggering  
CP1FLG. As long as CP1FLG has not been  
cleared, a second following active edge will trig  
CP1ERR without any capture into neither RLCP  
nor CP.  
Independently of CP1 signal, if CP2FLG and  
CP2ERR are cleared, the first active edge on CP2  
will trigger a capture into CP, triggering CP2FLG.  
As long as CP2FLG has not been cleared, a sec-  
Figure 33. Positive CP1 - to negative CP2-Edge Measurement C( P1POL = 1, CP2POL = 0)  
COUNTER  
CP1  
Capture into RLCP  
Set CP1FLG  
Set CP1ERR  
CP2  
Capture into CP  
Set CP2FLG  
Set CP2ERR  
VR02006F  
Application Note:  
CP1FLG or CP2FLG is set at first following a reset  
of these flags.  
Depending on polarity setting for CP1/CP2, and of  
CP1/CP2 connections, phase, period and pulse  
width measurements can be achieved. The total  
independence between CP1 and CP2 captures al-  
lows phase detection by measuring which of  
CP1=CP2  
Yes  
CP1POL=CP2POL  
Measurement  
Period  
Yes  
No  
X
Yes  
Pulse width  
Phase  
No  
52/86  
156  
ST62T32B ST62E32B  
4.3.5 CONTROL REGISTERS  
Bit 0 = This bit is reserved and must be set to 0.  
Status Control Register 2 (SCR2)  
Status Control Register 1 (SCR1)  
Address: E8h - Read/Write/Clear only  
Address: E1h - Read/Write/Clear only  
7
0
-
7
0
PSC2 PSC1 RELOAD RUNRES OVFIEN OVFFLG OVFMD  
-
CP1ERR CP2ERR CP1IEN CP1FLG CP1POL RLDSEL2 RLDSEL1  
PSC2..PSC1  
Bits 7 & 6 =  
. Clock Prescaler. These  
Bit 7 = Reserved. Must be kept cleared.  
CP1ERR  
1 if a new CP1 event has taken place since  
CP1FLG was set to signal an error condition, it is 0  
if there has been no event.  
bits define the prescaler options for the prescaler  
to the Counter Register according to the following  
table.  
Bit 6 =  
. CP1 Error Flag. This bit is set to  
PSC2 PSC1  
Function  
Clock Disabled (prescaler and counter  
stopped  
It is recommended to clear CP1ERR at any time  
that CP1FLG is cleared, as further CP1 events  
cannot be recognised if CP1ERR is set. This bit  
cannot bet set by write, only cleared.  
0
0
0
1
1
1
0
1
Prescale by 1  
Prescale by 4  
Prescale by 16  
CP2ERR  
. CP1 Error Flag. This bit is set to  
Bit 5 =  
1 if a new CP2 event has taken place since  
CP2FLG was set to signal an error condition, it is 0  
if there has been no event.  
It is recommended to clear CP2ERR at any time  
that CP2FLG is cleared, as further CP2 events  
cannot be recognised if CP2ERR is set. This bit  
cannot bet set by write, only cleared.  
The Prescaler must be disabled (PSC2 = 0, PSC1  
= 0) before a new prescaler factor is set if the  
counter is running (after a hardware reset the  
prescaler is automatically disabled).  
To avoid inconsistencies in timing, the prescaler  
factor should be set first, and then the counter  
started.  
Bit 4 = CP1IEN. CP1 Interrupt Enable. CP1 The  
Capture 1 Interrupt is masked when this bit is 0.  
Setting the bit to 1 enables the CP1 event flag  
CP1FLG to set the ARTIMER interrupt.  
Bit 5 = RELOAD. Reload enabled. When set this  
bit enables reload from RLCP register into CT reg-  
ister. On the contrary, if RELOAD is cleared,  
RLCP is used as target for capture from the coun-  
ter CT register.  
Bit 3 = CP1FLG. CP1 Interrupt Flag. When this bit  
is 0, no CP1 event has occurred since the last  
clear of this bit. If the bit is at 1, a CP1 event has  
occurred.  
RUNRES  
. Run/Reset. This bit enables the  
Bit 4 =  
RUN or RESET operation of the ARTIMER.  
If 0, the counter CT is cleared to zero, and is  
stopped. Setting this bit to 1 permits the startup of  
the counter, and enables the synchronisation cir-  
cuits for the timer inputs CP1 and CP2.  
This bit cannot be set by program, only cleared.  
Bit 2 = CP1POL. CP1 Edge Polarity Select.  
CP1POL defines the polarity for triggering the CP1  
event.  
A 0 defines the action on a falling edge on the CP1  
input, a 1 on a rising edge.  
OVFIEN  
. Overflow Int. Enable. The Over-  
Bit 3 =  
flow Interrupt is masked when this bit is 0.  
Setting the bit to 1 enables the overflow flag to set  
the ARTIMER interrupt.  
RLDSEL2..RLDSEL1  
. Reload Source  
Bit 1 & 0 =  
Select. These bits define the source for the reload  
events; they do not affect the operation of the cap-  
ture modes.  
Bit 2 = OVFFLG. When this bit is 0, no overflow  
has occurred since the last clear of this bit. If the  
bit is at 1, an overflow has occurred.  
This bit cannot be set by program, only cleared.  
RLDSEL2 RLDSEL1  
Function  
Reload and startup triggered by  
RUNRES  
Bit 1 = OVFMD. The Overflow Output mode is set  
by this bit; when 0, the overflow output is run in set  
mode (OVF will be set on the first overflow event,  
and will be reset when OVFFLG is cleared). When  
1 the overflow output is in toggle mode; OVF tog-  
gles its state on every overflow event (independ-  
ent to the state of OVFFLG).  
0
0
0
1
Reload triggered by every CP1  
event  
Reload triggered by every CP2  
event  
1
1
0
1
Reload disabled  
53/86  
157  
ST62T32B ST62E32B  
CONTROL REGISTERS(Cont’d)  
Status Control Register 3 (SCR3)  
Address: E2h - Read/Write/Clear only  
Masked-Compare event has occurred.  
This bit cannot be set by program, only cleared.  
Bit 2 = ZEROIEN. Compare to Zero Int Enable.  
The Masked-Counter Zero Interrupt is masked  
when this bit is 0. Setting the bit to 1 enables the  
ZEROFLG flag to set the ARTIMER interrupt.  
7
0
CP2POL CP2IEN CP2FLG CMPIEN CMFLG ZEROIEN ZEROFLG PWMMD  
ZEROFLG  
. Compare to Zero Flag. When  
Bit 1 =  
Bit 7 = CP2POL. CP2 Edge Polarity Select.  
CP2POL defines the polarity for triggering the CP2  
event.  
A 0 defines the action on a falling edge on the CP2  
input, a 1 on a rising edge.  
this bit is 0, no Masked-Counter Zero event has  
occurred since the last clear of this flag. If the bit is  
at 1, a Masked-Counter Zero event has occurred  
as the Masked Counter state equals 0 when run-  
ning or on hold (not on Reset).  
Bit 6 = CP2IEN. CP2 Interrupt Enable. The Cap-  
ture 2 Interrupt is masked when this bit is 0. Set-  
ting the bit to 1 enables the CP2 event flag  
CP2FLG to set the ARTIMER interrupt.  
PWMMD  
. PWM Output Mode Control. The  
Bit 0 =  
PWM Output mode is set by this bit; when 0, the  
PWM output is run in set/reset mode (the PWM  
output is set on a Masked-Counter Zero event and  
is reset when on a Masked-Compare event).  
CP2FLG  
. CP2 Interrupt Flag. When this bit  
Bit 5 =  
When 1 the PWM output is in toggle mode; PWM  
toggles its state on every Masked-Compare event.  
is 0, no CP2 event has occurred since the last  
clear of this flag. If the bit is at 1, the first CP2  
event and capture into CP has occurred.  
Notes:  
This bit cannot be set by program, only cleared.  
A Masked-Compare is the logical AND of the Mask  
Register MASK with the Counter Register CT,  
compared with the logical AND of the compare  
Register CMP: [(MASK & CT) = (MASK&CMP)].  
Bit 4 = CMPIEN. Compare Int. Enable. The Com-  
pare Interrupt is masked when this bit is 0.  
Setting the bit to 1 enables the Compare flag  
CMPFLG to set the ARTIMER interrupt.  
A Masked-Counter Zero is the logical AND of the  
Mask Register MASK with the Counter Register  
CT, compared with zero: [(MASK & CT) = 0000h]  
CMPFLG  
. Compare Flag. When this bit is  
Bit 3 =  
0, no Masked-Compare True event has occurred  
since the last clear of this flag. If the bit is at 1, a  
54/86  
158  
ST62T32B ST62E32B  
CONTROL REGISTERS(Cont’d)  
Status Control Register 4 (SCR4)  
4.3.6 16-BIT REGISTERS  
Address: E3h - Read/Write/Clear only  
Note: Care must be taken when using single-bit  
instructions (RES/SET/INC/DEC) 16-bit registers  
(RLCP, CP, CMP, MSK) since these instructions  
imply a READ-MODIFY-WRITE operation on the  
register. As the ST6 is based on a 8-bit architec-  
ture, to write a 16-bit register, the high byte must  
be written first to an intermediate register (latch  
register) and the whole 16-bit register is loaded at  
the same time as the low byte is written. A WRITE  
operation of the HIGH byte is performed on the in-  
termediate register (latch register) but a READ op-  
eration of the HIGH byte is directly performed on  
the 16-bit register (last loaded value). As a conse-  
quence, it is always mandatory to write the LOW  
byte before any single-bit instruction on the HIGH  
byte in order to load the value set in the intermedi-  
ate register to the 16-bit register (refresh the 16-bit  
register).  
7
0
OVFPO  
PWME  
N
Res. Res. Res. Res.  
OVFEN PMPOL  
L
Bit7- Bit4 = Reserved, set to 0.  
Bit 3 = OVFPOL. Overflow Output Polarity. This bit  
defines the polarity for the Overflow Output OVF.  
When 0, OVF is set on every overflow event if en-  
abled in Set mode (OVFEN = 1, OVFMD = 0). The  
reset state of OVF is 0.  
When 1, OVF is reset on every overflow event if  
enabled in Set mode.  
The reset state of OVF is 1.  
Bit 2 = OVFEN. Overflow Output Enable. This bit  
enables the Overflow output OVF. When 0 the  
Overflow output is disabled: if OVFPOL = 0, the  
state of OVF is 0, if OVFPOL = 1, the state of  
OVF = 1.The Overflow Output is enabled when  
this bit = 1, it must be set to use the OVF output.  
Example:  
The following sequence is NOT GOOD:  
ldi t16cmph, 055h  
Bit 1 = PWMPOL. PWM Output Polarity. This bit  
defines the polarity for the PWM Output PWM.  
When 0, PWM is set on every Masked-Counter  
Zero event and is reset on a Masked-Compare if  
enabled in Set/Reset mode (PWMEN = 1, PWM-  
MD = 0).  
ldi t16cmpl, 000h  
; t16cmp (16-bit register)=5500h  
ldi t16cmph, 0AAh  
; t16cmp (16-bit register)=5500h  
inc t16cmph  
The reset state of PWM pin is 0 When 1, OVF is  
set on every Masked-Compare event and is reset  
on a Masked-Counter Zero event if enabled in  
Set/Reset mode (PWMEN = 1, PWMMD = 0).  
The reset state of PWM is 1.  
; t16cmp (16-bit register)=5500h  
ldi t16cmpl, 000h  
; t16cmp (16-bit register)=5600h  
; and NOT AB00h  
Bit 0 = PWMEN. PWM Output Enable. This bit en-  
ables the PWM output PWM. When 0 the PWM  
output is disabled: if PWMPOL = 0, the state of  
PWM is 0, if PWMPOL = 1, the state of PWM = 1.  
The CORRECT sequence is:  
ldi t16cmph, 055h  
ldi t16cmpl, 000h  
The PWM Output is enabled when this bit = 1, it  
must be set to use the PWM output.  
; t16cmp (16-bit register)=5500h  
ldi t16cmph, 0AAh  
Notes:  
A Masked-Compare is the logical AND of the Mask  
Register MASK with the Counter Register CT,  
compared with the logical AND of the compare  
Register CMP: [(MASK & CT) = (MASK&CMP)].  
A Masked-Counter Zero is the logical AND of the  
Mask Register MASK with the Counter Register  
CT, compared with zero: [(MASK & CT) = 0000h].  
; t16cmp (16-bit register)=5500h  
ldi t16cmpl, 000h  
; t16cmp (16-bit register)=AA00h  
inc t16cmph  
; t16cmp (16-bit register)=AA00h  
ldi t16cmpl, 000h  
;t16cmp (16-bit register)=AB00h  
55/86  
159  
ST62T32B ST62E32B  
Reload/Capture Register High Byte (RLCP)  
Compare Register High Byte (CMP)  
Address: E9h - Read/ (Write if RELOAD bit set)  
Address: EDh - Read/Write  
D7-D0. These bits are the High byte (D15-D8) of  
the 16-bit Reload/Capture Register.  
D7-D0. These bits are the High byte (D15-D8) of  
the 16-bit Compare Register.  
Reload/Capture Register Low Byte (RLCP)  
Compare Register Low Byte (CMP)  
Address: EAh - Read/ (Write if RELOAD bit set)  
Address: EEh - Read/Write  
D7-D0. These bits are the Low byte (D7-D0) of the  
16-bit Reload/Capture Register.  
D7-D0. These bits are the Low byte (D7-D0) of the  
16-bit Compare Register.  
Capture Register High Byte (CP)  
Mask Register High Byte (MASK)  
Address: EBh - Read Only  
Address: EFh - Read/Write  
D7-D0. These bits are the High byte (D15-D8) of  
the 16-bit Capture Register.  
D7-D0. These bits are the High byte (D15-D8) of  
the 16-bit Mask Register.  
Capture Register Low Byte (CP)  
Mask Register Low Byte (MASK)  
Address: ECh - Read Only  
Address: E0h - Read/Write  
D7-D0. These bits are the Low byte (D7-D0) of the  
16-bit Capture Register.  
D7-D0. These bits are the Low byte (D7-D0) of the  
16-bit Mask Register.  
56/86  
160  
ST62T32B ST62E32B  
4.4 A/D CONVERTER (ADC)  
The A/D converter peripheral is an 8-bit analog to  
digital converter with analog inputs as alternate I/O  
functions (the number of which is device depend-  
ent), offering 8-bit resolution with a selectable con-  
version time of 70us or 35µs (at an oscillator clock  
frequency of 8MHz).  
one instruction before the beginning of the conver-  
sion to allow stabilisation of the A/D converter.  
This action is also needed before entering WAIT  
mode, since the A/D comparator is not automati-  
cally disabled in WAIT mode.  
During Reset, any conversion in progress is  
stopped, the control register is reset to 40h and the  
ADC interrupt is masked (EAI=0).  
The ADC converts the input voltage by a process  
of successive approximations, using a clock fre-  
quency derived from the oscillator with a division  
factor of 12 or 6. After Reset, division by 12 is used  
by default to insure compatibility with other mem-  
bers of the ST62 MCU family. With an oscillator  
clock frequency less than 1.2MHz, conversion ac-  
curacy is decreased.  
Figure 34. ADC Block Diagram  
INTERRUPT  
CLOCK  
Ain  
CONVERTER  
RESET  
Selection of the input pin is done by configuring  
the related I/O line as an analog input via the Op-  
tion and Data registers (refer to I/O ports descrip-  
tion for additional information). Only one I/O line  
must be configured as an analog input at any time.  
The user must avoid any situation in which more  
than one I/O pin is selected as an analog input si-  
multaneously, to avoid device malfunction.  
AV  
SS  
AV  
DD  
CONTROL REGISTER  
8
RESULT REGISTER  
8
The ADC uses two registers in the data space: the  
ADC data conversion register, ADR, which stores  
the conversion result, and the ADC control regis-  
ter, ADCR, used to program the ADC functions.  
CORE  
CONTROL SIGNALS  
CORE  
VA00418  
A conversion is started by writing a “1” to the Start  
bit (STA) in the ADC control register. This auto-  
matically clears (resets to “0”) the End Of Conver-  
sion Bit (EOC). When a conversion is complete,  
the EOC bit is automatically set to “1”, in order to  
flag that conversion is complete and that the data  
in the ADC data conversion register is valid. Each  
conversion has to be separately initiated by writing  
to the STA bit.  
4.4.1 Application Notes  
The A/D converter does not feature a sample and  
hold circuit. The analog voltage to be measured  
should therefore be stable during the entire con-  
version cycle. Voltage variation should not exceed  
±1/2 LSB for the optimum conversion accuracy. A  
low pass filter may be used at the analog input  
pins to reduce input voltage variation during con-  
version.  
The STA bit is continuously scanned so that, if the  
user sets it to “1” while a previous conversion is in  
progress, a new conversion is started before com-  
pleting the previous one. The start bit (STA) is a  
write only bit, any attempt to read it will show a log-  
ical “0”.  
When selected as an analog channel, the input pin  
is internally connected to a capacitor C of typi-  
ad  
cally 12pF. For maximum accuracy, this capacitor  
must be fully charged at the beginning of conver-  
sion. In the worst case, conversion starts one in-  
struction (6.5 µs) after the channel has been se-  
lected. In worst case conditions, the impedance,  
ASI, of the analog voltage source is calculated us-  
ing the following formula:  
The A/D converter features a maskable interrupt  
associated with the end of conversion. The inter-  
rupt request occurs when the EOC bit is set (i.e.  
when a conversion is completed). The interrupt is  
masked using the EAI (interrupt mask) bit in the  
control register.  
6.5µs = 9 x C x ASI  
ad  
(capacitor charged to over 99.9%), i.e. 30 k in-  
cluding a 50% guardband. ASI can be higher if C  
has been charged for a longer period by adding in-  
structions before the start of conversion (adding  
more than 26 CPU cycles is pointless).  
The power consumption of the device can be re-  
duced by turning off the ADC peripheral. This is  
done by setting the PDS bit in the ADC control reg-  
ister to “0”. If PDS=“1”, the A/D is powered and en-  
abled for conversion. This bit must be set at least  
ad  
57/86  
161  
ST62T32B ST62E32B  
A/D CONVERTER (Cont’d)  
Since the ADC is on the same chip as the micro-  
processor, the user should not switch heavily load-  
ed output signals during conversion, if high preci-  
sion is required. Such switching will affect the sup-  
ply voltages used as analog references.  
A/D Converter Control Register (ADCR)  
Address: 0D1h  
Read/Write  
7
0
EAI  
EOC  
STA  
PDS  
D3 CLSEL D1  
D0  
The accuracy of the conversion depends on the  
quality of the power supplies (V and V ). The  
DD  
SS  
user must take special care to ensure a well regu-  
Bit 7 = EAI: Enable A/D Interrupt.If this bit is set to  
“1” the A/D interrupt is enabled, when EAI=0 the  
interrupt is disabled.  
lated reference voltage is present on the V and  
DD  
V
pins (power supply voltage variations must be  
SS  
less than 5V/ms). This implies, in particular, that a  
suitable decoupling capacitor is used at the V  
EOC  
Bit 6 =  
: End of conversion. Read Only. This  
DD  
read only bit indicates when a conversion has  
been completed. This bit is automatically reset to  
“0” when the STA bit is written. If the user is using  
the interrupt option then this bit can be used as an  
interrupt pending bit. Data in the data conversion  
register are valid only when this bit is set to “1”.  
pin.  
The converter resolution is given by:  
V
DD VSS  
----------------------------  
256  
STA: Start of Conversion. Write Only. Writ-  
Bit 5 =  
ing a “1” to this bit will start a conversion on the se-  
lected channel and automatically reset to “0” the  
EOC bit. If the bit is set again when a conversion is  
in progress, the present conversion is stopped and  
a new one will take place. This bit is write only, any  
attempt to read it will show a logical zero.  
The Input voltage (Ain) which is to be converted  
must be constant for 1µs before conversion and  
remain constant during conversion.  
Conversion resolution can be improved if the pow-  
er supply voltage (V ) to the microcontroller is  
DD  
Bit 4 = PDS: Power Down Selection. This bit acti-  
vates the A/D converter if set to “1”. Writing a “0” to  
this bit will put the ADC in power down mode (idle  
mode).  
lowered.  
In order to optimise conversion resolution, the user  
can configure the microcontroller in WAIT mode,  
because this mode minimises noise disturbances  
and power supply variations due to output switch-  
ing. Nevertheless, the WAIT instruction should be  
executed as soon as possible after the beginning  
of the conversion, because execution of the WAIT  
Bit 3 = Reserved. Must be kept cleared  
Bit 2= CLSEL: Clock Selection. When set, the  
ADC is driven by the MCU internal clock divided by  
6, and typical conversion time at 8MHz is 35µs.  
When cleared (Reset state), MCU clock divided by  
12 is used with a typical 70µs conversion time at  
8MHz.  
instruction may cause a small variation of the V  
DD  
voltage. The negative effect of this variation is min-  
imized at the beginning of the conversion when the  
converter is less sensitive, rather than at the end  
of conversion, when the less significant bits are  
determined.  
Bit 1-0: Reserved. Must be kept cleared.  
A/D Converter Data Register (ADR)  
The best configuration, from an accuracy stand-  
point, is WAIT mode with the Timer stopped. In-  
deed, only the ADC peripheral and the oscillator  
are then still working. The MCU must be woken up  
from WAIT mode by the ADC interrupt at the end  
of the conversion. It should be noted that waking  
up the microcontroller could also be done using  
the Timer interrupt, but in this case the Timer will  
be working and the resulting noise could affect  
conversion accuracy.  
Address: 0D0h  
Read only  
7
0
D7  
D6  
D5  
D4  
D3  
D2  
D1  
D0  
D7-D0: 8 Bit A/D Conversion Result.  
Bit 7-0 =  
58/86  
162  
ST62T32B ST62E32B  
4.5 U. A. R. T. (Universal Asynchronous Receiver/Transmitter)  
The UART provides the basic hardware for asyn-  
chronous serial communication which, combined  
with an appropriate software routine, gives a serial  
interface providing communication with common  
baud rates (up to 38,400 Baud with an 8MHz ex-  
ternal oscillator) and flexible character formats.  
4.5.1 PORTS INTERFACING  
RXD reception line and TXD emission line are  
sharing the same external pins as two I/O lines.  
Therefore, UART configuration requires to set  
these two I/O lines through the relevant ports reg-  
isters. The I/O line common with RXD line must be  
defined as input mode (with or without pull-up)  
while the I/O line common with TXD line must be  
defined as output mode (Push-pull or open drain).  
The transmitted data is inverted and can therefore  
use a single transistor buffering stage. Defined as  
input, the RXD line can be read at any time as an  
I/O line during the UART operation. The TXD pin  
follows I/O port registers value when UARTOE bit  
is cleared, which means when no serial transmis-  
sion is in progress. As a consequence, a perma-  
nent high level has to be written onto the I/O port in  
order to achieve a proper stop condition on the  
TXD line when no transmission is active.  
Operating in Half-Duplex mode only, the UART  
uses 11-bit characters comprising 1 start bit, 9 data  
bits and 1 Stop bit. Parity is supported by software  
only for transmit and for checking the received par-  
ity bit (bit 9). Transmitted data is sent directly, while  
received data is buffered allowing further data  
characters to be received while the data is being  
read out of the receive buffer register. Data trans-  
mit has priority over data being received.  
The UART is supplied with an MCU internal clock  
that is alsoavailable inWAITmodeoftheprocessor.  
Figure 35. UART Block Diagram  
START  
DETECTOR  
RXD1  
UARTOE  
TXD  
1
DIN  
DOUT  
DATA SHIFT  
REGISTER  
MUX  
TXD1  
DR  
0
D8 D7 D6 D5 D4 D3 D2 D1 D0  
WRITE  
READ  
RECEIVE BUFFER  
REGISTER  
D9  
CONTROL REGISTER  
BAUD RATE  
RX and TX  
INTERRUPTS  
PROGRAMMABLE  
DIVIDER  
f
OSC  
BAUD RATE x 8  
VR02009  
59/86  
163  
ST62T32B ST62E32B  
4.5.2 CLOCK GENERATION  
The character options are summarised in the fol-  
lowing table.  
The UART contains a built-in divider of the MCU  
internal clock for most common Baud Rates as  
shown in Table 20. Other baud rate values can be  
calculated from the chosen oscillator frequency di-  
vided by the Divisor value shown.  
Table 19. Character Options  
Start Bit  
Start Bit  
Start Bit  
Start Bit  
8 Data  
9 Data  
8 Data  
7 Data  
1 Software Parity  
No Parity  
1 Stop  
1 Stop  
2 Stop  
2 Stop  
No Parity  
The divided clock provides a frequency that is 8  
times the desired baud rate. This allows the Data  
reception mechanism to provide a 2 to 1 majority  
voting system to determine the logic state of the  
asynchronous incoming serial logic bit by taking 3  
timed samples within the 8 time states.  
1 Software Parity  
Bit 9 remains in the state programmed for consec-  
utive transmissions until changed by the user or  
until a character is received when the state of this  
bit is changed to that of the incoming bit 9. The  
recommended procedure is thus to set the value of  
this bit before transmission is started.  
The bits not sampled provide a buffer to compen-  
sate for frequency offsets between sender and re-  
ceiver.  
Transmission is started by writing to the Data Reg-  
ister (the Baud Rate and Bit 9 should be set before  
this action). The UARTOE signal switches the out-  
put multiplexer to the UART output and a start bit  
is sent (a 0 for one bit time) followed by the 8 data  
values (lsb first) and the value of the Bit9 bit. The  
output is then set to 1 for a period of one bit time to  
generate a Stop bit, and then the UARTOE signal  
returns the TXD1 line to its alternate I/O function.  
The end of transmission is flagged by setting  
TXMT to 1 and an interrupt is generated if ena-  
bled. The TXMT flag is reset by writing a 0 to the  
bit position, it is also cleared automatically when a  
new character is written to the Data Register.  
TXMT can be set to 1 by software to generate a  
software interrupt so care must be taken in manip-  
ulating the Control Register.  
4.5.3 DATA TRANSMISSION  
Transmission is fixed to a format of one start bit,  
nine data bits and one stop bit. The start and stop  
bits are automatically generated by the UART. The  
nine databits are under control of the user and are  
flexible in use. Bits 0..7 are typically used as data  
bits while bit 9 is typically used as parity, but can  
also be a 9th data bit or an additional Stop bit. As  
parity is not generated by the UART, it should be  
calculated by program and inserted in the appro-  
priate position of the data (i.e as bit 7 for 7-bit data,  
with Bit 9 set to 1 giving two effective stop bits or  
as the independent bit 9).  
Figure 36. Data Sampling Points  
Figure 37. Character Format  
START  
BIT  
STOP  
BIT  
1 BIT  
D0 D1  
D7 D8  
BIT  
POSITION  
2
8
9
1
10  
POSSIBLE  
NEXT  
0
1
2
3
4
5
6
7
8
CHARACTER  
START  
START OF DATA  
SAMPLES  
VR02010  
VR02012  
60/86  
164  
ST62T32B ST62E32B  
4.5.4 DATA RECEPTION  
4.5.5 INTERRUPT CAPABILITIES  
The UART continuously looks for a falling edge on  
the input pin whenever a transmission is not ac-  
tive. Once an edge is detected it waits 1 bit time (8  
states) to accommodate the Start bit, and then as-  
sembles the following serial data stream into the  
data register. The data in the ninth bit position is  
copied into Bit 9, replacing any previous value set  
for transmission. After all 9 bits have been re-  
ceived, the Receiver waits for the duration of one  
bit (for the Stop bit) and then transfers the received  
data into the buffer register, allowing a following  
character to be received. The interrupt flag  
RXRDY is set to 1 as the data is transferred to the  
buffer register and, if enabled, will generate an in-  
terrupt.  
Both reception and transmission processes can in-  
duce interrupt to the core as defined in the inter-  
rupt section. These interrupts are enabled by set-  
ting TXIEN and RXIEN bit in the UARTCR register,  
and TXMT and RXRDY flags are set accordingly  
to the interrupt source.  
4.5.6 REGISTERS  
UART Data Register (UARTDR)  
Address: D6h, Read/Write  
7
0
D7  
D6  
D5  
D4  
D3  
D2  
D1  
D0  
Bit7-Bit0. UART data bits. A write to this register  
loads the data into the transmit shift register and  
triggers the start of transmission. In addition this  
resets the transmit interrupt flag TXMT. A read of  
this register returns the data from the Receive  
buffer.  
If a transmission is started during the course of a  
reception, the transmission takes priority and the  
reception is stopped to free the resources for the  
transmission. This implies that a handshaking sys-  
tem must be implemented, as polling of the UART  
to detect reception is not available.  
Warning. No Read/Write Instructions may be  
used with this register as both transmit and receive  
share the same address  
Figure 38. UART Data Output  
UARTOE  
TXD  
1
MUX  
0
TXD1  
PORT DATA  
OUTPUT  
VR02011  
Table 20. Baud Rate Selection  
Baud Rate  
BR2  
BR2  
BR0  
f
Division  
INT  
f
= 8MHz  
1200  
f
= 4MHz  
600  
INT  
INT  
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
6.656  
3.328  
1.664  
832  
2400  
1200  
2400  
4800  
9600  
4800  
9600  
416  
19200  
31200  
256  
15600  
19200  
208  
38400  
Reserved  
61/86  
165  
ST62T32B ST62E32B  
REGISTERS (Cont’d)  
UART Control Register (UARTCR)  
Writing to RXIEN does not affect the status of the  
interrupt flag RXRDY.  
Address: D7h, Read/Write  
Bit 4 = TXIEN. Transmit Interrupt Enable. When  
this bit is set to 1, the transmit interrupt is enabled.  
Writing to TXIEN does not affect the status of the  
interrupt flag TXRDY.  
7
0
RXRDY TXMT RXIEN TXIEN BR2  
BR1  
BR0 DAT9  
Bit 7 = RXRDY. Receiver Ready. This flag be-  
comes active as soon as a complete byte has  
been received and copied into the receive buffer. It  
may be cleared by writing a zero to it. Writing a  
one is possible. If the interrupt enable bit RXIEN is  
set to one, a software interrupt will be generated.  
BR2..BR0  
. Baudrate select. These bits  
Bit 3-1=  
select the operating baud rate of the UART, de-  
pending on the frequency of fOSC. Care should be  
taken not to change these bits during communica-  
tion as writing to these bits has an immediate ef-  
fect.  
Bit 6 = TXMT. Transmitter Empty. This flag be-  
comes active as soon as a complete byte has  
been sent. It may be cleared by writing a zero to it.  
It is automatically cleared by the action of writing a  
data value into the UART data register.  
DAT9  
. Parity/Data Bit 9. This bit represents  
Bit 0 =  
the 9th bit of the data character that is received or  
transmitted. A write to this bit sets the level for the  
bit 9 to be transmitted, so it must always be set to  
the correct level before transmission. If used as  
parity, the value has first to be calculated by soft-  
ware. Reading this bit will return the 9th bit of the  
received character.  
Bit 5 = RXIEN. Receive Interrupt Enable. When  
this bit is set to 1, the receive interrupt is enabled.  
62/86  
166  
ST62T32B ST62E32B  
4.6 SERIAL PERIPHERAL INTERFACE (SPI)  
The on-chip SPI is an optimized serial synchro-  
nous interface that supports a wide range of indus-  
try standard SPI specifications. The on-chip SPI is  
controlled by small and simple user software to  
perform serial data exchange. The serial shift  
clock can be implemented either by software (us-  
ing the bit-set and bit-reset instructions), with the  
on-chip Timer 1 by externally connecting the SPI  
clock pin to the timer pin or by directly applying an  
external clock to the Scl line.  
operation Sout has to be programmed as open-  
drain output.  
The SCL, Sin and Sout SPI clock and data signals  
are connected to 3 I/O lines on the same external  
pins. With these 3 lines, the SPI can operate in the  
following operating modes: Software SPI, S-BUS,  
I C-bus and as a standard serial I/O (clock, data,  
enable). An interrupt request can be generated af-  
ter eight clock pulses. Figure 39 shows the SPI  
block diagram.  
The peripheral is composed by an 8-bit Data/shift  
Register and a 4-bit binary counter while the Sin  
pin is the serial shift input and Sout is the serial  
shift output. These two lines can be tied together  
to implement two wires protocols (I C-bus, etc).  
When data is serialized, the MSB is the first bit. Sin  
has to be programmed as input. For serial output  
The SCL line clocks, on the falling edge, the shift  
register and the counter. To allow SPI operation in  
slave mode, the SCL pin must be programmed as  
input and an external clock must be supplied to  
this pin to drive the SPI peripheral.  
In master mode, SCL is programmed as output, a  
clock signal must be generated by software to set  
and reset the port line.  
Figure 39. SPI Block Diagram  
SPI Interrupt Disable Register  
Write  
SPI Data Register  
Read  
CLK  
RESET  
SCL  
I/O Port  
Data Reg  
Direction  
Set Res  
DIN  
Q4  
Q4  
RESET  
4-Bit Counter  
CP  
(Q4=High after Clock8)  
Sin  
I/O Port  
Data Reg  
Direction  
Interrupt  
Reset  
Load  
8-Bit Data  
Shift Register  
CP  
DIN  
DOUT  
Output  
Enable  
8-Bit Tristate Data I/O  
OPR Reg.  
Sout  
I/O Port  
0
1
DOUT  
D0............................D 7  
to Processor Data Bus  
Data Reg  
Direction  
VR01504  
63/86  
167  
ST62T32B ST62E32B  
SERIAL PERIPHERAL INTERFACE(Cont’d)  
After 8 clock pulses (D7..D0) the output Q4 of the  
4-bit binary counter becomes low, disabling the  
clock from the counter and the data/shift register.  
Q4 enables the clock to generate an interrupt on  
the 8th clock falling edge as long as no reset of the  
counter (processor write into the 8-bit data/shift  
register) takes place. After a processor reset the  
interrupt is disabled. The interrupt is active when  
writing data in the shift register and desactivated  
when writing any data in the SPI Interrupt Disable  
register.  
As it is possible to directly read the Sin pin directly  
through the port register, the software can detect a  
difference between internal data and external data  
(master mode). Similar condition can be applied to  
the clock.  
Three (Four) Wire Serial Bus  
It is possible to use a single general purpose I/O  
pin (with the corresponding interrupt enabled) as a  
chip enable pin. SCL acts as active or passive  
clock pin, Sin as data in and Sout as data out (four  
wire bus). Sin and Sout can be connected together  
externally to implement three wire bus.  
The generation of an interrupt to the Core provides  
information that new data is available (input mode)  
or that transmission is completed (output mode),  
allowing the Core to generate an acknowledge on  
the 9th clock pulse (I C-bus).  
Note  
:
When the SPI is not used, the three I/O lines (Sin,  
SCL, Sout) can be used as normal I/O, with the fol-  
lowing limitation: bit Sout cannot be used in open  
drain mode as this enables the shift register output  
to the port.  
The interrupt is initiated by a high to low transition,  
and therefore interrupt options must be set accord-  
ingly as defined in the interrupt section.  
It is recommended, in order to avoid spurious in-  
terrupts from the SPI, to disable the SPI interrupt  
(the default state after reset) i.e. no write must be  
made to the 8-bit shift register. An explicit interrupt  
disable may be made in software by a dummy  
write to the SPI interrupt disable register.  
After power on reset, or after writing the data/shift  
register, the counter is reset to zero and the clock  
is enabled. In this condition the data shift register  
is ready for reception. No start condition has to be  
detected. Through the user software the Core may  
pull down the Sin line (Acknowledge) and slow  
down the SCL, as long as it is needed to carry out  
data from the shift register.  
SPI Data/Shift Register  
Address: DDh - Read/Write (SDSR)  
I C-bus Master-Slave, Receiver-Transmitter  
When pins Sin and Sout are externally connected  
together it is possible to use the SPI as a receiver  
as well as a transmitter. Through software routine  
(by using bit-set and bit-reset on I/O line) a clock  
can be generated allowing I C-bus to work in mas-  
ter mode.  
7
0
D7  
D6  
D5  
D4  
D3  
D2  
D1  
D0  
A write into this register enables SPI Interrupt after  
8 clock pulses.  
When implementing an I C-bus protocol, the start  
condition can be detected by setting the processor  
into a wait for start condition by enabling the inter-  
rupt of the I/O port used for the Sin line. This frees  
the processor from polling the Sin and SCL lines.  
After the transmission/reception the processor has  
to poll for the STOP condition.  
SPI Interrupt Disable Register  
Address: DCh - Read/Write (SIDR)  
7
0
In slave mode the user software can slow down  
the SCL clock frequency by simply putting the SCL  
I/O line in output open-drain mode and writing a  
zero into the corresponding data register bit.  
D7  
D6  
D5  
D4  
D3  
D2  
D1  
D0  
A dummy write to this register disables SPI Inter-  
rupt.  
64/86  
168  
ST62T32B ST62E32B  
5 SOFTWARE  
5.1 ST6 ARCHITECTURE  
The ST6 software has been designed to fully use  
the hardware in the most efficient way possible  
while keeping byte usage to a minimum; in short,  
to provide byte efficient programming capability.  
The ST6 core has the ability to set or clear any  
register or RAM location bit of the Data space with  
a single instruction. Furthermore, the program  
may branch to a selected address depending on  
the status of any bit of the Data space. The carry  
bit is stored with the value of the bit when the SET  
or RES instruction is processed.  
bits of the opcode with the byte following the op-  
code. The instructions (JP, CALL) which use the  
extended addressing mode are able to branch to  
any address of the 4K bytes Program space.  
An extended addressing mode instruction is two-  
byte long.  
Program Counter Relative. The relative address-  
ing mode is only used in conditional branch in-  
structions. The instruction is used to perform a test  
and, if the condition is true, a branch with a span of  
-15 to +16 locations around the address of the rel-  
ative instruction. If the condition is not true, the in-  
struction which follows the relative instruction is  
executed. The relative addressing mode instruc-  
tion is one-byte long. The opcode is obtained in  
adding the three most significant bits which char-  
acterize the kind of the test, one bit which deter-  
mines whether the branch is a forward (when it is  
0) or backward (when it is 1) branch and the four  
less significant bits which give the span of the  
branch (0h to Fh) which must be added or sub-  
tracted to the address of the relative instruction to  
obtain the address of the branch.  
5.2 ADDRESSING MODES  
The ST6 core offers nine addressing modes,  
which are described in the following paragraphs.  
Three different address spaces are available: Pro-  
gram space, Data space, and Stack space. Pro-  
gram space contains the instructions which are to  
be executed, plus the data for immediate mode in-  
structions. Data space contains the Accumulator,  
the X,Y,V and W registers, peripheral and In-  
put/Output registers, the RAM locations and Data  
ROM locations (for storage of tables and con-  
stants). Stack space contains six 12-bit RAM cells  
used to stack the return addresses for subroutines  
and interrupts.  
Bit Direct  
. In the bit direct addressing mode, the  
bit to be set or cleared is part of the opcode, and  
the byte following the opcode points to the ad-  
dress of the byte in which the specified bit must be  
set or cleared. Thus, any bit in the 256 locations of  
Data space memory can be set or cleared.  
Immediate. In the immediate addressing mode,  
the operand of the instruction follows the opcode  
location. As the operand is a ROM byte, the imme-  
diate addressing mode is used to access con-  
stants which do not change during program execu-  
tion (e.g., a constant used to initialize a loop coun-  
ter).  
Bit Test & Branch. The bit test and branch ad-  
dressing mode is a combination of direct address-  
ing and relative addressing. The bit test and  
branch instruction is three-byte long. The bit iden-  
tification and the tested condition are included in  
the opcode byte. The address of the byte to be  
tested follows immediately the opcode in the Pro-  
gram space. The third byte is the jump displace-  
ment, which is in the range of -127 to +128. This  
displacement can be determined using a label,  
which is converted by the assembler.  
Direct. In the direct addressing mode, the address  
of the byte which is processed by the instruction is  
stored in the location which follows the opcode. Di-  
rect addressing allows the user to directly address  
the 256 bytes in Data Space memory with a single  
two-byte instruction.  
Short Direct  
. The core can address the four RAM  
Indirect  
. In the indirect addressing mode, the byte  
registers X,Y,V,W (locations 80h, 81h, 82h, 83h) in  
the short-direct addressing mode. In this case, the  
instruction is only one byte and the selection of the  
location to be processed is contained in the op-  
code. Short direct addressing is a subset of the di-  
rect addressing mode. (Note that 80h and 81h are  
also indirect registers).  
processed by the register-indirect instruction is at  
the address pointed by the content of one of the in-  
direct registers, X or Y (80h,81h). The indirect reg-  
ister is selected by the bit 4 of the opcode. A regis-  
ter indirect instruction is one byte long.  
Inherent. In the inherent addressing mode, all the  
information necessary to execute the instruction is  
contained in the opcode. These instructions are  
one byte long.  
Extended. In the extended addressing mode, the  
12-bit address needed to define the instruction is  
obtained by concatenating the four less significant  
65/86  
169  
ST62T32B ST62E32B  
5.3 INSTRUCTION SET  
Load & Store  
. These instructions use one, two or  
The ST6 core offers a set of 40 basic instructions  
which, when combined with nine addressing  
modes, yield 244 usable opcodes. They can be di-  
vided into six different types: load/store, arithme-  
tic/logic, conditional branch, control instructions,  
jump/call, and bit manipulation. The following par-  
agraphs describe the different types.  
three bytes in relation with the addressing mode.  
One operand is the Accumulator for LOAD and the  
other operand is obtained from data memory using  
one of the addressing modes.  
For Load Immediate one operand can be any of  
the 256 data space bytes while the other is always  
immediate data.  
All the instructions belonging to a given type are  
presented in individual tables.  
Table 21. Load & Store Instructions  
Flags  
Instruction  
LD A, X  
Addressing Mode  
Short Direct  
Bytes  
Cycles  
Z
C
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
1
1
1
1
1
1
1
1
2
2
1
1
1
1
2
3
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
LD A, Y  
LD A, V  
LD A, W  
LD X, A  
LD Y, A  
Short Direct  
Short Direct  
Short Direct  
Short Direct  
Short Direct  
Short Direct  
Short Direct  
Direct  
LD V, A  
LD W, A  
LD A, rr  
LD rr, A  
Direct  
LD A, (X)  
LD A, (Y)  
LD (X), A  
LD (Y), A  
LDI A, #N  
LDI rr, #N  
Indirect  
Indirect  
Indirect  
Indirect  
Immediate  
Immediate  
*
Notes:  
X,Y. Indirect Register Pointers, V & W Short Direct Registers  
# . Immediate data (stored in ROM memory)  
rr. Data space register  
. Affected  
* . Not Affected  
66/86  
170  
ST62T32B ST62E32B  
INSTRUCTION SET (Cont’d)  
Arithmetic and Logic. These instructions are  
used to perform the arithmetic calculations and  
logic operations. In AND, ADD, CP, SUB instruc-  
tions one operand is always the accumulator while  
the other can be either a data space memory con-  
tent or an immediate value in relation with the ad-  
dressing mode. In CLR, DEC, INC instructions the  
operand can be any of the 256 data space ad-  
dresses. In COM, RLC, SLA the operand is always  
the accumulator.  
Table 22. Arithmetic & Logic Instructions  
Flags  
Instruction  
ADD A, (X)  
Addressing Mode  
Indirect  
Bytes  
Cycles  
Z
*
C
*
1
1
2
2
1
1
2
2
2
3
1
1
1
2
2
1
1
1
1
2
2
1
1
1
1
1
1
2
2
1
1
1
2
1
1
2
2
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
ADD A, (Y)  
ADD A, rr  
ADDI A, #N  
AND A, (X)  
AND A, (Y)  
AND A, rr  
ANDI A, #N  
CLR A  
Indirect  
Direct  
Immediate  
Indirect  
Indirect  
Direct  
Immediate  
Short Direct  
Direct  
CLR r  
COM A  
Inherent  
Indirect  
*
CP A, (X)  
CP A, (Y)  
CP A, rr  
CPI A, #N  
DEC X  
Indirect  
Direct  
Immediate  
Short Direct  
Short Direct  
Short Direct  
Short Direct  
Direct  
DEC Y  
*
DEC V  
*
DEC W  
*
DEC A  
*
DEC rr  
Direct  
*
DEC (X)  
DEC (Y)  
INC X  
Indirect  
*
Indirect  
*
Short Direct  
Short Direct  
Short Direct  
Short Direct  
Direct  
*
INC Y  
*
INC V  
*
INC W  
*
INC A  
*
INC rr  
Direct  
*
INC (X)  
Indirect  
*
INC (Y)  
Indirect  
*
RLC A  
Inherent  
Inherent  
Indirect  
SLA A  
SUB A, (X)  
SUB A, (Y)  
SUB A, rr  
SUBI A, #N  
Indirect  
Direct  
Immediate  
Notes:  
X,Y.Indirect Register Pointers, V & W Short Direct RegistersD. Affected  
# . Immediate data (stored in ROM memory)* . Not Affected  
rr. Data space register  
67/86  
171  
ST62T32B ST62E32B  
INSTRUCTION SET (Cont’d)  
Conditional Branch. The branch instructions  
achieve a branch in the program when the select-  
ed condition is met.  
Control Instructions. The control instructions  
control the MCU operations during program exe-  
cution.  
Bit Manipulation Instructions. These instruc-  
tions can handle any bit in data space memory.  
One group either sets or clears. The other group  
(see Conditional Branch) performs the bit test  
branch operations.  
Jump and Call. These two instructions are used  
to perform long (12-bit) jumps or subroutines call  
inside the whole program space.  
Table 23. Conditional Branch Instructions  
Flags  
Instruction  
Branch If  
Bytes  
Cycles  
Z
*
*
*
*
*
*
C
*
JRC e  
C = 1  
1
1
1
1
3
3
2
2
2
2
5
5
JRNC e  
C = 0  
Z = 1  
Z = 0  
Bit = 0  
Bit = 1  
*
JRZ e  
*
JRNZ e  
*
JRR b, rr, ee  
JRS b, rr, ee  
Notes  
:
b.  
e.  
3-bit address  
rr. Data space register  
. Affected. The tested bit is shifted into carry.  
5 bit signed displacement in the range -15 to +16<F128M>  
ee. 8 bit signed displacement in the range -126 to +129  
* . Not Affected  
Table 24. Bit Manipulation Instructions  
Flags  
Instruction  
Addressing Mode  
Bytes  
Cycles  
Z
C
*
SET b,rr  
Bit Direct  
Bit Direct  
2
2
4
4
*
*
RES b,rr  
*
Notes:  
b.  
3-bit address;  
* . Not<M> Affected  
rr. Data space register;  
Table 25. Control Instructions  
Flags  
Instruction  
Addressing Mode  
Bytes  
Cycles  
Z
*
C
*
NOP  
Inherent  
Inherent  
Inherent  
Inherent  
Inherent  
1
1
1
1
1
2
2
2
2
2
RET  
*
*
RETI  
*
*
STOP (1)  
WAIT  
*
*
Notes:  
1.  
This instruction is deactivated<N>and a WAIT is automatically executed instead of a STOP if the watchdog function is selected.  
. Affected  
*.  
Not Affected  
Table 26. Jump & Call Instructions  
Instruction  
Flags  
Addressing Mode  
Bytes  
Cycles  
Z
*
C
*
CALL abc  
JP abc  
Extended  
Extended  
2
2
4
4
*
*
Notes:  
abc. 12-bit address;  
* . Not Affected  
68/86  
172  
ST62T32B ST62E32B  
Opcode Map Summary.The following table contains an opcode map for the instructions used by the ST6  
LOW  
LOW  
0
0000  
1
0001  
2
0010  
3
0011  
4
0100  
5
6
7
0101  
0110  
0111  
HI  
HI  
2
JRNZ 4  
CALL 2  
abc  
ext 1  
CALL 2  
abc  
ext 1  
CALL 2  
abc  
ext 1  
CALL 2  
abc  
ext 1  
CALL 2  
abc  
ext 1  
CALL 2  
abc  
ext 1  
CALL 2  
abc  
ext 1  
CALL 2  
abc  
ext 1  
CALL 2  
abc  
ext 1  
CALL 2  
abc  
ext 1  
CALL 2  
abc  
ext 1  
CALL 2  
abc  
ext 1  
CALL 2  
abc  
ext 1  
CALL 2  
abc  
ext 1  
CALL 2  
abc  
ext 1  
CALL 2  
abc  
JRNC 5  
e
JRR  
b0,rr,ee  
2
1
JRZ  
2
JRC 4  
LD  
0
0
e
e
e
e
e
e
e
e
e
e
e
#
x
e
e
e
e
e
e
e
e
e
e
e
e
e
e
e
e
a,(x)  
0000  
0000  
1
2
pcr 2  
JRNZ 4  
pcr  
3
bt  
pcr  
JRZ 4  
1
prc  
1
ind  
LDI  
JRNC 5  
e
JRS 2  
b0,rr,ee  
bt  
JRR  
b4,rr,ee  
bt  
JRS 2  
b4,rr,ee  
INC 2  
JRC 4  
1
0001  
1
a,nn  
0001  
1
2
pcr 2  
JRNZ 4  
pcr  
3
1
2
pcr  
JRZ  
1
sd 1  
2
prc  
2
imm  
CP  
JRNC 5  
e
JRC 4  
2
0010  
2
#
a,(x)  
0010  
1
2
pcr 2  
JRNZ 4  
pcr  
3
1
pcr  
JRZ 4  
1
prc  
1
ind  
CPI  
JRNC 5  
e
LD 2  
JRC 4  
3
0011  
3
e
1
2
a,x  
#
a,nn  
0011  
1
2
pcr 2  
JRNZ 4  
pcr  
3
bt  
JRR  
b2,rr,ee  
pcr  
JRZ  
1
sd 1  
2
prc  
2
imm  
ADD  
a,(x)  
JRNC 5  
e
JRC 4  
4
0100  
4
e
e
e
e
e
e
e
e
e
e
e
e
0100  
1
2
pcr 2  
JRNZ 4  
pcr  
3
bt  
1
pcr  
JRZ 4  
1
prc  
1
ind  
ADDI  
JRNC 5  
e
JRS 2  
b2,rr,ee  
bt  
JRR  
b6,rr,ee  
INC 2  
JRC 4  
5
0101  
5
y
a,nn  
0101  
1
2
pcr 2  
JRNZ 4  
pcr  
3
1
2
pcr  
JRZ  
1
sd 1  
2
prc  
2
imm  
INC  
JRNC 5  
e
JRC 4  
6
0110  
6
#
(x)  
#
0110  
1
2
pcr 2  
JRNZ 4  
pcr  
3
bt  
1
pcr  
JRZ 4  
1
prc  
1
ind  
JRNC 5  
e
JRS 2  
b6,rr,ee  
bt  
JRR  
b1,rr,ee  
LD 2  
JRC  
7
0111  
7
a,y  
#
0111  
1
2
pcr 2  
JRNZ 4  
e
pcr  
3
1
2
pcr  
JRZ  
1
sd 1  
2
prc  
JRC 4  
JRNC 5  
e
LD  
ind  
8
1000  
8
(x),a  
#
1000  
1
2
pcr 2  
pcr  
3
bt  
1
pcr  
JRZ 4  
1
prc 1  
JRC  
RNZ  
e
4
JRNC 5  
e
JRS 2  
b1,rr,ee  
bt  
JRR  
b5,rr,ee  
INC 2  
9
1001  
9
v
1001  
1
2
pcr 2  
JRNZ 4  
pcr  
3
1
2
pcr  
JRZ  
1
sd 1  
2
prc  
JRC 4  
JRNC 5  
e
AND  
a,(x)  
A
1010  
A
1010  
e
e
e
e
e
e
#
1
2
pcr 2  
JRNZ 4  
pcr  
3
bt  
1
pcr  
JRZ 4  
1
prc  
1
ind  
ANDI  
JRNC 5  
e
JRS 2  
b5,rr,ee  
bt  
JRR  
b3,rr,ee  
LD 2  
JRC 4  
B
1011  
B
1011  
a,v  
#
a,nn  
1
2
pcr 2  
JRNZ 4  
pcr  
3
1
2
pcr  
JRZ  
1
sd 1  
2
prc  
2
imm  
SUB  
JRNC 5  
e
JRC 4  
C
1100  
C
1100  
a,(x)  
1
2
pcr 2  
JRNZ 4  
pcr  
3
bt  
1
pcr  
JRZ 4  
1
prc  
1
ind  
SUBI  
JRNC 5  
e
JRS 2  
b3,rr,ee  
bt  
JRR  
b7,rr,ee  
INC 2  
JRC 4  
D
1101  
D
1101  
w
a,nn  
1
2
pcr 2  
JRNZ 4  
pcr  
3
1
2
pcr  
JRZ  
1
sd 1  
2
prc  
2
imm  
DEC  
JRNC 5  
e
JRC 4  
E
1110  
E
1110  
#
(x)  
#
1
2
pcr 2  
JRNZ 4  
pcr  
3
bt  
1
pcr  
JRZ 4  
1
prc  
1
ind  
JRNC 5  
e
JRS 2  
b7,rr,ee  
LD 2  
JRC  
F
1111  
F
1111  
a,w  
1
pcr 2  
ext 1  
pcr  
3
bt  
1
pcr  
1
sd 1  
prc  
Abbreviations for Addressing Modes: Legend:  
dir  
sd  
Direct  
Short Direct  
#
e
b
rr  
nn  
abc  
ee  
Indicates Illegal Instructions  
5 Bit Displacement  
3 Bit Address  
1byte dataspace address  
1 byte immediate data  
12 bit address  
Cycle  
Mnemonic  
2
1
JRC  
prc  
Operand  
imm Immediate  
e
inh  
ext  
b.d  
bt  
Inherent  
Extended  
Bit Direct  
Bit Test  
Bytes  
Addressing Mode  
8 bit Displacement  
pcr  
ind  
Program Counter Relative  
Indirect  
69/86  
173  
ST62T32B ST62E32B  
Opcode Map Summary(Continued)  
LOW  
LOW  
8
1000  
9
1001  
A
1010  
B
1011  
C
1100  
D
1101  
E
1110  
F
1111  
HI  
HI  
2
JRNZ 4  
JP  
2
JRNC 4  
e
RES 2  
b0,rr  
b.d 1  
SET 2  
b0,rr  
b.d 1  
RES 2  
b4,rr  
JRZ 4  
LDI  
2
JRC 4  
LD  
0
0
e
e
e
e
e
e
e
e
abc  
abc  
abc  
abc  
abc  
abc  
abc  
abc  
abc  
abc  
abc  
abc  
abc  
abc  
abc  
abc  
e
e
e
rr,nn  
e
e
e
e
e
e
e
e
e
e
e
e
e
e
e
e
a,(y)  
a,rr  
0000  
0000  
1
2
pcr 2  
JRNZ 4  
ext 1  
JP  
pcr  
2
pcr  
3
imm 1  
DEC 2  
prc  
1
ind  
LD  
2
JRNC 4  
e
JRZ 4  
JRC 4  
1
0001  
1
x
0001  
1
2
pcr 2  
JRNZ 4  
ext 1  
JP  
pcr  
2
pcr  
1
sd 1  
COM 2  
prc  
2
dir  
CP  
2
JRNC 4  
e
JRZ 4  
JRC 4  
2
0010  
2
a
a,(y)  
a,rr  
0010  
1
2
pcr 2  
JRNZ 4  
ext 1  
JP  
pcr  
2
b.d 1  
SET 2  
pcr  
JRZ 4  
1
prc  
1
ind  
CP  
2
JRNC 4  
e
LD 2  
JRC 4  
3
0011  
3
b4,rr  
e
b.d 1  
x,a  
0011  
1
2
pcr 2  
JRNZ 4  
ext 1  
JP  
pcr  
2
pcr  
1
sd 1  
RETI 2  
prc  
2
dir  
ADD  
a,(y)  
2
JRNC 4  
e
RES 2  
b2,rr  
b.d 1  
SET 2  
b2,rr  
b.d 1  
RES 2  
b6,rr  
b.d 1  
SET 2  
b6,rr  
b.d 1  
RES 2  
b1,rr  
b.d 1  
SET 2  
b1,rr  
b.d 1  
RES 2  
b5,rr  
b.d 1  
SET 2  
b5,rr  
b.d 1  
RES 2  
b3,rr  
b.d 1  
SET 2  
b3,rr  
b.d 1  
RES 2  
b7,rr  
b.d 1  
SET 2  
b7,rr  
JRZ 2  
JRC 4  
4
0100  
4
e
e
e
e
e
e
e
e
e
e
e
e
0100  
1
2
pcr 2  
JRNZ 4  
ext 1  
JP  
pcr  
2
pcr  
1
inh 1  
DEC 2  
prc  
1
ind  
ADD  
2
JRNC 4  
e
JRZ 4  
JRC 4  
5
0101  
5
y
a,rr  
(y)  
rr  
0101  
1
2
pcr 2  
JRNZ 4  
ext 1  
JP  
pcr  
2
pcr  
1
sd 1  
STOP 2  
prc  
2
dir  
INC  
2
JRNC 4  
e
JRZ 2  
JRC 4  
6
0110  
6
0110  
1
2
pcr 2  
JRNZ 4  
ext 1  
JP  
pcr  
2
pcr  
1
inh 1  
LD 2  
prc  
1
ind  
INC  
2
JRNC 4  
e
JRZ 4  
JRC 4  
7
0111  
7
y,a  
0111  
1
2
pcr 2  
JRNZ 4  
e
ext 1  
JP  
pcr  
2
pcr  
1
sd 1  
2
prc  
2
dir  
LD  
2
JRNC 4  
e
JRZ  
JRC 4  
8
1000  
8
#
v
(y),a  
rr,a  
1000  
1
2
pcr 2  
ext 1  
JP  
pcr  
2
pcr  
JRZ 4  
1
prc  
1
ind  
LD  
RNZ  
e
4
2
JRNC 4  
e
DEC 2  
JRC 4  
9
1001  
9
1001  
1
2
pcr 2  
JRNZ 4  
ext 1  
JP  
pcr  
2
pcr  
1
sd 1  
RCL  
prc  
2
dir  
AND  
a,(y)  
2
JRNC 4  
e
JRZ 4  
2
JRC 4  
A
1010  
A
1010  
e
e
e
e
e
e
a
1
2
pcr 2  
JRNZ 4  
ext 1  
JP  
pcr  
2
pcr  
1
inh 1  
LD 2  
prc  
1
ind  
AND  
2
JRNC 4  
e
JRZ 4  
JRC 4  
B
1011  
B
1011  
v,a  
a,rr  
1
2
pcr 2  
JRNZ 4  
ext 1  
JP  
pcr  
2
pcr  
1
sd 1  
RET  
prc  
2
dir  
SUB  
2
JRNC 4  
e
JRZ 2  
2
JRC 4  
C
1100  
C
1100  
a,(y)  
1
2
pcr 2  
JRNZ 4  
ext 1  
JP  
pcr  
2
pcr  
1
inh 1  
DEC 2  
prc  
1
ind  
SUB  
2
JRNC 4  
e
JRZ 4  
JRC 4  
D
1101  
D
1101  
w
a,rr  
(y)  
rr  
1
2
pcr 2  
JRNZ 4  
ext 1  
JP  
pcr  
2
pcr  
1
sd 1  
WAIT 2  
prc  
2
dir  
DEC  
2
JRNC 4  
e
JRZ 2  
JRC 4  
E
1110  
E
1110  
1
2
pcr 2  
JRNZ 4  
ext 1  
JP  
pcr  
2
pcr  
1
inh 1  
LD 2  
prc  
1
ind  
DEC  
2
JRNC 4  
e
JRZ 4  
JRC 4  
F
1111  
F
1111  
w,a  
1
pcr 2  
ext 1  
pcr  
2
b.d 1  
pcr  
1
sd 1  
prc  
2
e
dir  
Abbreviations for Addressing Modes: Legend:  
dir  
sd  
Direct  
#
e
b
rr  
nn  
abc  
ee  
Indicates Illegal Instructions  
5 Bit Displacement  
3 Bit Address  
1byte dataspace address  
1 byte immediate data  
12 bit address  
Cycle  
Mnemonic  
2
Short Direct  
imm Immediate  
JRC  
prc  
Operand  
inh  
ext  
b.d  
bt  
Inherent  
Extended  
Bit Direct  
1
Bytes  
Addressing Mode  
Bit Test  
8 bit Displacement  
pcr  
ind  
Program Counter Relative  
Indirect  
70/86  
174  
ST62T32B ST62E32B  
6 ELECTRICAL CHARACTERISTICS  
6.1 ABSOLUTE MAXIMUM RATINGS  
This product contains devices to protect the inputs  
against damage due to high static voltages, how-  
ever it is advisable to take normal precaution to  
avoid application of any voltage higher than the  
specified maximum rated voltages.  
Power Considerations.The average chip-junc-  
tion temperature, Tj, in Celsius can be obtained  
from:  
Tj=TA + PD x RthJA  
Where:TA = Ambient Temperature.  
For proper operation it is recommended that V  
I
RthJA =Package thermal resistance(junc-  
tion-to ambient).  
and V be higher than V and lower than V .  
O
SS  
DD  
Reliability is enhanced if unused inputs are con-  
nected to an appropriate logic voltage level (V  
PD = Pint + Pport.  
DD  
or V ).  
SS  
Pint =I x V (chip internal power).  
DD  
DD  
Pport =Port power dissipation (determined  
by the user).  
Symbol  
Parameter  
Value  
Unit  
V
V
Supply Voltage  
Input Voltage  
Output Voltage  
-0.3 to 7.0  
DD  
(1)  
(1)  
V
V
V
- 0.3 to V  
+ 0.3  
+ 0.3  
V
I
SS  
SS  
DD  
DD  
V
- 0.3 to V  
V
O
I
IV  
IV  
Current Drain per Pin Excluding V , V  
10  
mA  
mA  
mA  
°C  
°C  
±
O
DD SS  
Total Current into V (source)  
50  
50  
DD  
SS  
DD  
Total Current out of V (sink)  
SS  
Tj  
Junction Temperature  
Storage Temperature  
150  
T
-60 to 150  
STG  
Notes:  
-
Stresses above those listed as “absolute maximum ratings” may cause permanent damage to the device. This is a stress ratingonly and  
functional operation of the device at these conditions is not implied. Exposure to maximum rating conditions for extended periods may  
affect device reliability.  
- (1) Withinthese limits,clamping diodes are guarantee to be not conductive. Voltages outside these limits are authorised as long as injection  
current is kept within the specification.  
71/86  
175  
ST62T32B ST62E32B  
6.2 RECOMMENDED OPERATING CONDITIONS  
Value  
Typ.  
Symbol  
Parameter  
Test Conditions  
6 Suffix Version  
1 Suffix Version  
3 Suffix Version  
Unit  
Min.  
Max.  
-40  
0
-40  
85  
70  
125  
TA  
Operating Temperature  
°C  
V
f
= 2MHz  
3.0  
4.5  
6.0  
6.0  
OSC  
VDD  
Operating Supply Voltage  
fosc= 8MHz  
V
V
V
= 3V  
= 4.5V, 1 & 6 Suffix  
= 4.5V, 3 Suffix  
0
0
0
4.0  
8.0  
4.0  
DD  
DD  
DD  
2)  
f
Oscillator Frequency  
MHz  
OSC  
Internal Frequency with OSG  
enable  
V
V
= 3V  
= 4.5V  
2
4
f
DD  
DD  
OSC  
f
MHz  
2)  
OSG  
f
OSC  
IINJ+  
IINJ-  
Pin Injection Current (positive) VDD = 4.5 to 5.5V  
Pin Injection Current (negative) VDD = 4.5 to 5.5V  
+5  
-5  
mA  
mA  
Notes:  
1. Care must be taken in case of negative current injection, where adapted impedance must be respected on analog sources to not affect the  
A/D conversion. For a -1mA injection, a maximum 10 Kis recommended.  
2. An oscillator frequency above 1MHz is recommended for reliable A/D results.  
Figure 40. Maximum Operating Frequency (F ) versus Supply Voltage (V )  
DD  
max  
Maximum FREQUENCY (MHz)  
8
7
6
5
4
3
2
1
FUNCTIONALITY IS NOT  
GUARANTEED IN  
THIS AREA  
1 & 6 Suffix Version  
3 Suffix Version  
f
Min  
OSG  
2.5  
3
3.5  
4
4.5  
5
5.5  
6
SUPPLY VOLTAGE (V )  
DD  
The shaded area is outside the recommended operating range; device functionality is not guaranteed under these conditions.  
72/86  
176  
ST62T32B ST62E32B  
6.3 DC ELECTRICAL CHARACTERISTICS  
(T = -40 to +125°C unless otherwise specified)  
A
Value  
Unit  
Symbol  
Parameter  
Test Conditions  
Min.  
Typ.  
Max.  
V
Input Low Level Voltage  
All Input pins  
IL  
V
x 0.3  
V
V
DD  
V
Input High Level Voltage  
All Input pins  
IH  
V
x 0.7  
DD  
(1)  
Hysteresis Voltage  
All Input pins  
V
V
= 5V  
= 3V  
0.2  
0.2  
DD  
DD  
V
V
V
Hys  
Low Level Output Voltage  
All Output pins  
V
V
= 5.0V; I = +10µA  
0.1  
0.8  
DD  
DD  
OL  
= 5.0V; I = + 3mA  
OL  
V
V
V
V
= 5.0V; I = +10µA  
0.1  
0.8  
1.3  
OL  
DD  
DD  
DD  
OL  
Low Level Output Voltage  
20 mA Sink I/O pins  
= 5.0V; I = +7mA  
OL  
= 5.0V; I = +15mA  
OL  
V
High Level Output Voltage  
All Output pins  
V
V
= 5.0V; I = -10µA  
4.9  
3.5  
OH  
DD  
DD  
OL  
V
= 5.0V; I = -3.0mA  
OL  
All Input pins  
RESET pin  
40  
100  
350  
200  
900  
R
Pull-up Resistance  
ΚΩ  
PU  
150  
Input Leakage Current  
All Input pins but RESET  
V
V
= V (No Pull-Up configured)  
SS  
IN  
IN  
0.1  
-16  
1.0  
= V  
I
I
DD  
IL  
A
µ
Input Leakage Current  
RESET pin  
V
V
= V  
= V  
-8  
-30  
10  
IH  
IN  
IN  
SS  
DD  
Supply Current in RESET  
Mode  
V
=V  
RESET SS  
7
7
mA  
mA  
mA  
µA  
f
=8MHz  
OSC  
Supply Current in  
V
V
=5.0V f =8MHz, T < 85°C  
(2)  
DD  
INT  
A
RUN Mode  
I
DD  
Supply Current in WAIT  
=5.0V  
f
=8MHz, T < 85°C  
2
(3)  
DD  
INT  
A
Mode  
Supply Current in STOP  
I
V
= 0mA  
= 5.0V  
LOAD  
20  
(3)  
Mode  
DD  
Notes:  
(1) Hysteresis voltage between switching levels  
(2) All peripherals running  
(3) All peripherals in stand-by  
(T = -40 to +85°C unless otherwise specified)  
A
Value  
Typ.  
Symbol  
Parameter  
Test Conditions  
Unit  
V
Min.  
Max.  
0.1  
0.8  
Low Level Output Voltage  
All Output pins  
V
V
= 5.0V; I = +10µA  
DD  
DD  
OL  
= 5.0V; I = + 5mA  
OL  
V
V
V
V
= 5.0V; I = +10µA  
0.1  
0.8  
1.3  
OL  
DD  
DD  
DD  
OL  
Low Level Output Voltage  
20 mA Sink I/O pins  
= 5.0V; I = +10mA  
OL  
= 5.0V; I = +20mA  
OL  
V
I
High Level Output Voltage  
All Output pins  
V
V
= 5.0V; I = -10µA  
4.9  
3.5  
OH  
DD  
DD  
OL  
V
= 5.0V; I = -5.0mA  
OL  
Supply Current in STOP  
Mode  
I
= 0mA  
= 5.0V  
LOAD  
10  
A
µ
DD  
V
DD  
73/86  
177  
ST62T32B ST62E32B  
6.4 AC ELECTRICAL CHARACTERISTICS  
(T = -40 to +125°C unless otherwise specified)  
A
Value  
Typ.  
Symbol  
Parameter  
Test Conditions  
Unit  
ms  
Min.  
100  
Max.  
(1)  
t
Supply Recovery Time  
REC  
Minimum Pulse Width (V = 5V)  
RESET pin  
NMI pin  
DD  
T
100  
100  
ns  
WR  
TA = 25°C  
TA = 85°C  
TA = 125°C  
5
10  
20  
10  
20  
30  
T
EEPROM Write Time  
ms  
WEE  
Endurance EEPROM WRITE/ERASE Cycle  
Retention EEPROM Data Retention  
QA LOT Acceptance  
TA = 55°C  
300,000 1 million  
10  
cycles  
years  
pF  
C
Input Capacitance  
Output Capacitance  
All Inputs Pins  
All Outputs Pins  
10  
10  
IN  
C
pF  
OUT  
Note:  
1. Period for which V has to be connected at 0V to allow internal Reset function at next power-up.  
DD  
6.5 A/D CONVERTER CHARACTERISTICS  
(T = -40 to +125°C unless otherwise specified)  
A
Value  
Typ.  
8
Symbol  
Parameter  
Test Conditions  
Unit  
Min.  
Max.  
Res  
Resolution  
Total Accuracy  
Bit  
f
> 1.2MHz  
> 32kHz  
±2  
±4  
(1) (2)  
OSC  
A
LSB  
TOT  
f
OSC  
f
= 8MHz, T < 85°C  
= 4MHz  
70  
140  
OSC  
A
t
Conversion Time  
Zero Input Reading  
Full Scale Reading  
µs  
C
f
OSC  
Conversion result when  
= V  
ZIR  
00  
Hex  
Hex  
V
IN  
SS  
Conversion result when  
V
FSR  
FF  
= V  
IN  
DD  
Analog Input Current During  
Conversion  
AD  
V
= 4.5V  
1.0  
5
A
µ
I
DD  
AC  
Analog Input Capacitance  
2
pF  
IN  
Notes:  
1. Noise at AV , AV <10mV  
DD  
SS  
2. With oscillator frequencies less than 1MHz, the A/D Converter accuracy is decreased.  
74/86  
178  
ST62T32B ST62E32B  
6.6 TIMER CHARACTERISTICS  
(T = -40 to +125°C unless otherwise specified)  
A
Value  
Unit  
Symbol  
Parameter  
Test Conditions  
Min.  
Typ.  
Max.  
f
Input Frequency on TIMER Pin  
Pulse Width at TIMER Pin  
MHz  
IN  
V
V
= 3.0V  
1
125  
µs  
ns  
DD  
DD  
t
W
>
4.5V  
6.7 SPI CHARACTERISTICS  
(T = -40 to +125°C unless otherwise specified)  
A
Value  
Symbol  
Parameter  
Test Conditions  
Unit  
Min.  
Typ.  
Max.  
F
Clock Frequency  
Set-up Time  
Hold Time  
Applied on Scl  
Applied on Sin  
Applied on Sin  
1
MHz  
ns  
CL  
t
50  
SU  
t
100  
ns  
h
6.8 ARTIMER16 ELECTRICAL CHARACTERISTICS  
(T = -40 to +125°C unless otherwise specified)  
A
Value  
Typ  
Symbol  
Parameter  
Test Conditions  
Unit  
Min  
Max  
f
Input Frequency on CP1, CP2 Pins  
Pulse Width at CP1, CP2 Pins  
MHz  
IN  
V
V
= 3.0V  
1
125  
s
µ
ns  
DD  
DD  
t
W
>
4.5V  
75/86  
179  
ST62T32B ST62E32B  
7 GENERAL INFORMATION  
7.1 PACKAGE MECHANICAL DATA  
Figure 41. 42-Pin Plastic Shrink Dual-In-Line Package  
mm  
Min Typ Max Min Typ Max  
5.08 0.200  
inches  
Dim.  
A
A1  
0.51  
0.020  
A2 3.05 3.81 4.57 0.120 0.150 0.180  
b
b2  
C
0.46 0.56  
1.02 1.14  
0.018 0.022  
0.040 0.045  
0.23 0.25 0.38 0.009 0.010 0.015  
36.58 36.83 37.08 1.440 1.450 1.460  
D
E
15.24  
16.00 0.600  
0.630  
E1 12.70 13.72 14.48 0.500 0.540 0.570  
e
1.78  
0.070  
0.600  
eA  
eB  
eC  
L
15.24  
18.54  
0.730  
0.060  
1.52 0.000  
PDIP42S  
2.54 3.30 3.56 0.100 0.130 0.140  
Number of Pins  
N
42  
Figure 42. 52-Pin Plastic Quad Flat Package  
mm  
Min Typ Max Min Typ Max  
3.40 0.134  
inches  
Dim  
A
A1 0.25  
0.010  
A2 2.55 2.80 3.05 0.100 0.110 0.120  
B
C
0.35  
0.13  
0.50 0.014  
0.23 0.005  
0.020  
0.009  
D
16.95 17.20 17.45 0.667 0.677 0.687  
13.90 14.00 14.10 0.547 0.551 0.555  
D1  
D3  
E
12.00  
0.472  
16.95 17.20 17.45 0.667 0.677 0.687  
13.90 14.00 14.10 0.547 0.551 0.555  
E1  
E3  
e
12.00  
1.00  
0.472  
0.039  
K
0°  
0.65 0.80 0.95 0.026 0.031 0.037  
1.60 0.063  
7°  
0°  
7°  
L
L1  
M
PQFP52  
Number of Pins  
52  
N
76/86  
180  
ST62T32B ST62E32B  
PACKAGE MECHANICAL DATA(Cont’d)  
Figure 43. 42-Pin Ceramic Shrink Dual-In-Line Package  
mm  
Min Typ Max Min Typ Max  
4.01 0.158  
inches  
Dim.  
A
A1 0.76  
0.030  
B
0.38 0.46 0.56 0.015 0.018 0.022  
B1 0.76 0.89 1.02 0.030 0.035 0.040  
C
D
0.23 0.25 0.38 0.009 0.010 0.015  
36.68 37.34 38.00 1.444 1.470 1.496  
D1  
E1  
e
35.56  
14.48 14.99 15.49 0.570 0.590 0.610  
1.78 0.070  
1.400  
G
14.12 14.38 14.63 0.556 0.566 0.576  
18.69 18.95 19.20 0.736 0.746 0.756  
G1  
G2  
1.14  
0.045  
G3 11.05 11.30 11.56 0.435 0.445 0.455  
G4  
L
15.11 15.37 15.62 0.595 0.605 0.615  
2.92  
5.08 0.115  
0.200  
CDIP42SW  
S
0.89  
0.035  
Number of Pins  
N
42  
THERMAL CHARACTERISTIC  
Value  
Typ.  
Symbol  
Parameter  
Test Conditions  
Unit  
Min.  
Max.  
70  
SDIP42  
QFP52  
RthJA  
Thermal Resistance  
°C/W  
70  
77/86  
181  
ST62T32B ST62E32B  
7.2 ORDERING INFORMATION  
Table 27. OTP/EPROM VERSION ORDERING INFORMATION  
Program  
Sales Type  
I/O  
Temperature Range  
Package  
SDIP42W  
SDIP42W  
Memory (Bytes)  
ST62E32BF1  
7948 (EPROM)  
0 to 70°C  
ST62T32BB6  
ST62T32BB3  
-40 to 85°C  
30  
-40 to 125°C  
7948 (OTP)  
ST62T32BQ6  
ST62T32BQ3  
-40 to 85°C  
PQFP52  
-40 to 125°C  
78/86  
182  
ST62P32B  
8-BIT FASTROM MCUs WITH A/D CONVERTER,  
16 bit AUTO-RELOAD TIMER, EEPROM, SPI AND UART  
3.0 to 6.0V Supply Operating Range  
8 MHz Maximum Clock Frequency  
-40 to +125°C Operating Temperature Range  
Run, Wait and Stop Modes  
5 Interrupt Vectors  
Look-up Table capability in Program Memory  
Data Storage in Program Memory:  
User selectable size  
Data RAM: 192 bytes  
Data EEPROM: 128 bytes  
PSDIP42  
30 I/O pins, fully programmable as:  
– Input with pull-up resistor  
– Input without pull-up resistor  
– Input with interrupt generation  
– Open-drain or push-pull output  
– Analog Input  
9 I/O lines can sink up to 20mA to drive LEDs or  
TRIACs directly  
8-bit Timer/Counter with 7-bit programmable  
prescaler  
16-bit  
Auto-reload  
Timer  
with  
7-bit  
programmable prescaler (AR Timer)  
Digital Watchdog  
PQFP52  
8-bit A/D Converter with 21 analog inputs  
8-bit Synchronous Peripheral Interface (SPI)  
8-bit Asynchronous Peripheral Interface  
(UART)  
(See end of Datasheet for Ordering Information)  
On-chip Clock oscillator can be driven by Quartz  
Crystal or Ceramic resonator  
Oscillator Safe Guard  
One external Non-Maskable Interrupt  
ST623x-EMU2 Emulation and Development  
System (connects to an MS-DOS PC via a  
parallel port).  
DEVICE SUMMARY  
ROM  
DEVICE  
I/O Pins  
(Bytes)  
ST62P32B  
7948  
30  
Rev. 2.5  
September 1998  
79/86  
183  
ST62P32B  
from it. This listing refers exactly to the ROM con-  
tents and options which will be used to produce  
the specified MCU. The listing is then returned to  
the customer who must thoroughly check, com-  
plete, sign and return it to STMicroelectronics. The  
signed listing forms a part of the contractual agree-  
ment for the production of the specific customer  
MCU.  
1 GENERAL DESCRIPTION  
1.1 INTRODUCTION  
The ST62P32B is the Factory Advanced Service  
T
echnique ROM (FASTROM) versions of  
ST62T32B OTP devices.  
They offer the same functionality as OTP devices,  
selecting as FASTROM options the options de-  
fined in the programmable option byte of the OTP  
version.  
The STMicroelectronics Sales Organization will be  
pleased to provide detailed information on con-  
tractual points.  
Table 1. ROM Memory Map for ST62P32B  
1.2 ORDERING INFORMATION  
ROM Page Device Address  
Description  
The following section deals with the procedure for  
transfer of customer codes to STMicroelectronics.  
0000h-007Fh  
Page 0  
Reserved  
User ROM  
0080h-07FFh  
1.2.1 Transfer of Customer Code  
0800h-0F9Fh  
0FA0h-0FEFh  
0FF0h-0FF7h  
0FF8h-0FFBh  
0FFCh-0FFDh  
0FFEh-0FFFh  
User ROM  
Reserved  
Interrupt Vectors  
Reserved  
NMI Vector  
Reset Vector  
Customer code is made up of the ROM contents  
and the list of the selected FASTROM options.  
The ROM contents are to be sent on diskette, or  
by electronic means, with the hexadecimal file  
generated by the development tool. All unused  
bytes must be set to FFh.  
Page 1  
“STATIC”  
0000h-000Fh  
0010h-07FFh  
Reserved  
User ROM  
Page 2  
Page 3  
The selected options are communicated to STMi-  
croelectronics using the correctly filled OPTION  
LIST appended.  
0000h-000Fh  
0010h-07FFh  
Reserved  
User ROM  
1.2.2 Listing Generation and Verification  
When STMicroelectronics receives the user’s  
ROM contents, a computer listing is generated  
Table 2. FASTROM version Ordering Information  
Sales Type  
ROM  
I/O  
Temperature Range  
Package  
ST62P32BB1/XXX  
ST62P32BB6/XXX  
ST62P32BB3/XXX (*)  
0 to +70°C  
-40 to 85°C  
-40 to 125°C  
SDIP42  
7948  
30  
ST62P32BQ1/XXX  
ST62P32BQ6/XXX  
ST62P32BQ3/XXX (*)  
0 to +70°C  
-40 to 85°C  
-40 to 125°C  
PQFP52  
(*) Advanced information  
80/86  
184  
ST62P32B  
ST62P32B FASTROMMICROCONTROLLER OPTION LIST  
Customer  
Address  
Contact  
Phone No  
Reference  
STMicroelectronics references  
Device:  
[ ] ST62P32B  
Package:  
[ ] Dual in Line Plastic[ ] Plastic Quad Flat (Tape & Reel)  
[ ] 0°C to + 70°C[ ] - 40°C to + 85°C  
[ ] Software Activation  
Temperature Range:  
Watchdog Selection:  
[ ] Hardware Activation  
Ports Pull-Up Selection: [ ] Yes [ ] No  
NMI Pull-Up Selection: [ ] Yes [ ] No  
Timer Pull-Up Selection: [ ] Yes [ ] No  
External STOP Mode Control:[ ] Enabled  
[ ] Disabled  
OSG:  
[ ] Enabled  
[ ] Disabled  
Readout Protection:  
Comments :  
[ ] Standard  
[ ] Enabled  
Supply Operating Range in the application:  
Oscillator Fequency in the application:  
Notes  
. . . . . . . . . . . . . . . . . .  
Signature  
Date  
81/86  
185  
ST62P32B  
Notes:  
82/86  
186  
ST6232B  
8-BIT MCUs WITH A/D CONVERTER,  
16 bit AUTO-RELOAD TIMER, EEPROM, SPI AND UART  
3.0 to 6.0V Supply Operating Range  
8 MHz Maximum Clock Frequency  
-40 to +125°C Operating Temperature Range  
Run, Wait and Stop Modes  
5 Interrupt Vectors  
Look-up Table capability in Program Memory  
Data Storage in Program Memory:  
User selectable size  
Data RAM: 192 bytes  
Data EEPROM: 128 bytes  
PSDIP42  
30 I/O pins, fully programmable as:  
– Input with pull-up resistor  
– Input without pull-up resistor  
– Input with interrupt generation  
– Open-drain or push-pull output  
– Analog Input  
9 I/O lines can sink up to 20mA to drive LEDs or  
TRIACs directly  
8-bit Timer/Counter with 7-bit programmable  
prescaler  
16-bit  
Auto-reload  
Timer  
with  
7-bit  
programmable prescaler (AR Timer)  
Digital Watchdog  
PQFP52  
8-bit A/D Converter with 21 analog inputs  
8-bit Synchronous Peripheral Interface (SPI)  
8-bit Asynchronous Peripheral Interface  
(UART)  
(See end of Datasheet for Ordering Information)  
On-chip Clock oscillator can be driven by Quartz  
Crystal or Ceramic resonator  
Oscillator Safe Guard  
One external Non-Maskable Interrupt  
ST623x-EMU2 Emulation and Development  
System (connects to an MS-DOS PC via a  
parallel port).  
DEVICE SUMMARY  
ROM  
DEVICE  
I/O Pins  
(Bytes)  
ST6232B  
7948  
30  
Rev. 2.5  
September 1998  
83/86  
187  
ST6232B  
1 GENERAL DESCRIPTION  
1.1 INTRODUCTION  
1.2 ROM READOUT PROTECTION  
The ST6232B is mask programmed ROM version  
of ST62T32B OTP devices.  
If the ROM READOUT PROTECTION option is  
selected, a protection fuse can be blown to pre-  
vent any access to the program memory content.  
They offer the same functionality as OTP devices,  
selecting as ROM options the options defined in  
the programmable option byte of the OTP version.  
In case the user wants to blow this fuse, high volt-  
age must be applied on the TEST pin.  
Figure 1. Programming wave form  
Figure 2. Programming Circuit  
0.5s min  
TEST  
5V  
47mF  
15  
14V typ  
10  
100nF  
5
V
SS  
V
DD  
TEST  
150 µs typ  
PROTECT  
100mA  
max  
14V  
TEST  
100nF  
ZPD15  
15V  
VR02003  
4mA typ  
t
VR02001  
Note: ZPD15is used for overvoltage protection  
84/86  
188  
ST6232B  
ST6232B MICROCONTROLLER OPTION LIST  
Customer  
Address  
Contact  
Phone No  
Reference  
STMicroelectronics references  
Device:  
[ ] ST6232B  
Package:  
[ ] Dual in Line Plastic[ ] Plastic Quad Flat (Tape & Reel)  
Temperature Range:  
Special Marking:  
[ ] 0°C to + 70°C[ ] - 40°C to + 85°C  
[ ] No  
[ ] Yes ”_ _ _ _ _ _ _ _ _ _ _ ”  
Authorized characters are letters, digits, ’.’, ’-’, ’/’ and spaces only.  
Maximum character count:SDIP42: 10  
PQFP52: 10  
Watchdog Selection:  
[ ] Software Activation  
[ ] Hardware Activation  
Ports Pull-Up Selection: [ ] Yes [ ] No  
NMI Pull-Up Selection: [ ] Yes [ ] No  
Timer Pull-Up Selection: [ ] Yes [ ] No  
External STOP Mode Control:[ ] Enabled  
[ ] Disabled  
OSG:  
[ ] Enabled  
[ ] Disabled  
ROM Readout Protection:[ ] Standard (Fuse cannot be blown)  
[ ] Enabled (Fuse can be blown by the customer)  
Note: No part is delivered with protected ROM.  
The fuse must be blown for protection to be effective.  
Comments :  
Supply Operating Range in the application:  
Oscillator Fequency in the application:  
Notes  
. . . . . . . . . . . . . . . . . .  
Signature  
Date  
85/86  
189  
ST6232B  
1.3 ORDERING INFORMATION  
The following section deals with the procedure for  
transfer of customer codes to STMicroelectronics.  
The STMicroelectronics Sales Organization will be  
pleased to provide detailed information on con-  
tractual points.  
1.3.1 Transfer of Customer Code  
Customer code is made up of the ROM contents  
and the list of the selected mask options. The  
ROM contents are to be sent on diskette, or by  
electronic means, with the hexadecimal file gener-  
ated by the development tool. All unused bytes  
must be set to FFh.  
Table 1. ROM Memory Map for ST6232B  
ROM Page Device Address  
Description  
0000h-007Fh  
Page 0  
Reserved  
User ROM  
0080h-07FFh  
The selected mask options are communicated to  
STMicroelectronics using the correctly filled OP-  
TION LIST appended.  
0800h-0F9Fh  
0FA0h-0FEFh  
0FF0h-0FF7h  
0FF8h-0FFBh  
0FFCh-0FFDh  
0FFEh-0FFFh  
User ROM  
Reserved  
Interrupt Vectors  
Reserved  
NMI Vector  
Reset Vector  
Page 1  
“STATIC”  
1.3.2 Listing Generation and Verification  
When STMicroelectronics receives the user’s  
ROM contents, a computer listing is generated  
from it. This listing refers exactly to the mask which  
will be used to produce the specified MCU. The  
listing is then returned to the customer who must  
thoroughly check, complete, sign and return it to  
STMicroelectronics. The signed listing forms a  
part of the contractual agreement for the creation  
of the specific customer mask.  
0000h-000Fh  
0010h-07FFh  
Reserved  
User ROM  
Page 2  
Page 3  
0000h-000Fh  
0010h-07FFh  
Reserved  
User ROM  
Table 2. ROM version Ordering Information  
Sales Type  
ROM  
I/O  
Temperature Range  
Package  
ST6232BB1/XXX  
ST6232BB6/XXX  
ST6232BB3/XXX  
0 to +70°C  
-40 to 85°C  
-40 to 125°C  
SDIP42  
7948  
30  
ST6232BQ1/XXX  
ST6232BQ6/XXX  
ST6232BQ3/XXX  
0 to +70°C  
-40 to 85°C  
-40 to 125°C  
PQFP52  
Information furnished is believed to be accurate and reliable. However, STMicroelectronics assumes no responsibility for the consequences  
of use of such information nor for any infringement of patents or other rights of third parties which may result from its use. No license is granted  
by implication or otherwise under any patent or patent rights of STMicroelectronics. Specifications mentioned in this publication are subject  
to change without notice. This publication supersedes and replaces all information previously supplied. STMicroelectronics products are not  
authorized for use as critical components in life support devices or systems without the express written approval of STMicroelectronics.  
The ST logo is a registered trademark of STMicroelectronics  
1998 STMicroelectronics - All Rights Reserved.  
Purchase of I2C Components by STMicroelectronics conveys a license under the Philips I2C Patent. Rights to use these components in an  
I2C system is granted provided that the system conforms to the I2C Standard Specification as defined by Philips.  
STMicroelectronics Group of Companies  
Australia - Brazil - Canada - China - France - Germany - Italy - Japan - Korea - Malaysia - Malta - Mexico - Morocco - The Netherlands -  
Singapore - Spain - Sweden - Switzerland - Taiwan - Thailand - United Kingdom - U.S.A.  
http://www.st.com  
86/86  
190  

相关型号:

ST6232BQ1/XXX

8-Bit Microcontroller
ETC

ST6232BQ3

8-BIT OTP/EPROM MCUs WITH A/D CONVERTER, 16-BIT AUTO-RELOAD TIMER, EEPROM, SPI AND UART
STMICROELECTR

ST6232BQ3/XXX

8-Bit Microcontroller
ETC

ST6232BQ6

8-BIT OTP/EPROM MCUs WITH A/D CONVERTER, 16-BIT AUTO-RELOAD TIMER, EEPROM, SPI AND UART
STMICROELECTR

ST6232BQ6/XXX

8-Bit Microcontroller
ETC

ST6235BQ1

8-BIT OTP/EPROM MCUs WITH A/D CONVERTER, 16-BIT AUTO-RELOAD TIMER, EEPROM, SPI AND UART
STMICROELECTR

ST6235BQ1/XXX

8-Bit Microcontroller
ETC

ST6235BQ3

8-BIT OTP/EPROM MCUs WITH A/D CONVERTER, 16-BIT AUTO-RELOAD TIMER, EEPROM, SPI AND UART
STMICROELECTR

ST6235BQ3/XXX

8-Bit Microcontroller
ETC

ST6235BQ6

8-BIT OTP/EPROM MCUs WITH A/D CONVERTER, 16-BIT AUTO-RELOAD TIMER, EEPROM, SPI AND UART
STMICROELECTR

ST6235BQ6/XXX

8-Bit Microcontroller
ETC

ST6235Q6

8-BIT, MROM, 8MHz, MICROCONTROLLER, PQFP52, PLASTIC, QFP-52
STMICROELECTR