P6.0 - P6.71 - 8I/O 8-bit bidirectional I/O port, bit-wise programmable for input or output viadirection bit.
Programming an I/O pin as input forces the corresponding output driver to high
impedance state. Port 6 outputs can be configured as push-pull or open drain
drivers. The following Port 6 pins have alternate functions:
39IP5.10T6EUDGPT2 TimerT6 External Up / Down Control Input
40IP5.11T5EUDGPT2 TimerT5 External Up / Down Control Input
41IP5.12T6INGPT2 Timer T6 Count Input
42IP5.13T5INGPT2 Timer T5 Count Input
43IP5.14T4EUDGPT1 TimerT4 External Up / Down Control Input
44IP5.15T2EUDGPT1 TimerT2 External Up / Down Control Input
Programming an I/O pin as input forces the corresponding output driver to high
impedance state. Port 8 outputs can be configured as push-pull or open drain
drivers. The input threshold of Port 8 is selectable (TTL or special).
The following Port 8 pins have alternate functions:
Programming an I/O pin as input forces the corresponding output driver to high
impedance state. Port 7 outputs can be configured as push-pull or open drain
drivers. The input threshold of Port 7 is selectable (TTL or special).
The following Port 7 pins have alternate functions:
II16-bit input-only port with Schmitt-Trigger characteristics. The pins of Port 5 can be
the analog input channels (up to 16) for the A/D converter, where P5.x equals ANx
(Analog input channel x), or they are timer inputs:
I/O 16-bit bidirectional I/O port, bit-wise programmable for input or output via direction
bit. Programming an I/O pin as input forces the corresponding output driver to high
impedance state. Port 2 outputs can be configured as push-pull or open drain
drivers. The input threshold of Port 2 is selectable (TTL or special).
The following Port 2 pins have alternate functions:
15-bit (P3.14 is missing) bidirectional I/O port, bit-wise programmable for input or
I/O
output via direction bit. Programming an I/O pin as input forces the corresponding
I/O
output driver to high impedance state. Port 3 outputs can be configured as push-pull
or open drain drivers. The input threshold of Port 3 is selectable (TTL or special).
The following Port 3 pins have alternate functions:
WRHExternal Memory High Byte Write Strobe
7/76
Page 8
ST10F168
Table 1 : Pin Description (continued)
SymbolPinTypeFunction
P4.0 - P4.785-92I/O 8-bit bidirectional I/O port, bit-wise programmable for input or output via direction bit.
Programming an I/O pin as input forces the corresponding output driver to high
impedance state. For external bus configuration, Port 4 can be used to output the
segment address lines:
85-89OP4.0-P4.4 A16-A20Segment Address Line
90OP4.5A21Segment Address Line
ICAN_RxDCAN Receiver Data Input
91OP4.6A22Segment Address Line
OCAN_TxDCAN Transmitter Data Output
92OP4.7A23Most Significant Segment Addrress Line
RD95OExternal Memory Read Strobe. RD is activated for every external instruction or data
WR/WRL96OExternal Memory Write Strobe. In WR-mode this pin is activated for every external
READY/
READY
ALE98OAddress Latch Enable Output. In case of use of external addressing or of multi-
EA99IExternal Access Enable pin. A low level at this pin during and after Reset forces the
P0L.0 - P0L.7
P0H.0
P0H.1 - P0H.7
97IReady Input. The active level is programmable. When the Ready function is
100 - 107,
108,
111 - 117
read access.
data write access. In WRL mode this pin is activated for low Byte data write
accesses on a 16-bit bus, and for every data write access on an 8-bit bus. See
WRCFG in the SYSCON register for mode selection.
enabled, the selected inactive level at this pin, during an external memory access,
will force the insertion of wait state cycles until the pin returns to the selected active
level.
plexed mode, this signal is the latch command of the address lines.
ST10F168 to start the program in internal memory space. A high level forces the
ST10F168 to start in the external memory space.
I/O Two 8-bit bidirectional I/O ports P0L and P0H, bit-wise programmable for input or
output via direction bit. Programming an I/O pin as input forces the corresponding
output driver to high impedance state.
In case of an external bus configuration, Port0 serves as the address (A) and as the
address / data (AD)bus in multiplexed bus modes and as the data (D) bus in demultiplexed bus modes.
I/O Two 8-bit bidirectional I/O ports P1L and P1H, bit-wise programmable for input or
output via direction bit. Programming an I/O pin as input forces the corresponding
output driver to high impedance state. Port1 is used as the 16-bit address bus (A) in
demultiplexed bus modes and also after switching from a demultiplexed bus mode
to a multiplexed bus mode.
The following Port1 pins have alternate functions:
132IP1H.4CC24IOCAPCOM2: CC24 Capture Input
133IP1H.5CC25IOCAPCOM2: CC25 Capture Input
134IP1H.6CC26IOCAPCOM2: CC26 Capture Input
135IP1H.7CC27IOCAPCOM2: CC27 Capture Input
It is used also as the timing pin for the return from interruptible powerdown mode.
V
DD
17,46,
56,72,
82,93,
109, 126,
Digital Supply Voltage:
= + 5V during normal operation and idle mode.
> 2.5V during power down mode.
136, 144
V
SS
18,45,
55,71,
83,94,
Digital Ground.
110, 127,
139, 143
9/76
Page 10
ST10F168
3 - FUNCTIONAL DESCRIPTION
The architecture of the ST10F168 combines
advantages of both RISC and CISC processors
and an advanced peripheral subsystem.
Figure 3 : Block Diagram
256KByte
Flash
memory
32
The block diagram gives an overview of the
different on-chip components and the high
bandwidth internal bus structure of the ST10F168.
16
CPU-Core
16
Internal
RAM
CAN_RxD P4.5
CAN_TxDP4.6
6K Byte
XRAM
CAN
16
16
8
Port0Port1Port4
Port 6
8
Controller
ExternalBus
16
10-BitADC
Port 5
16
16
Interrupt Controller
GPT1
GPT2
BRG
Port 3
PEC
16
ASCusart
1588
SSC
BRG
PWM
CAPCOM2
Port7
Watchdog
OSC.
+PLL
CAPCOM1
Port 8
Port2
XTAL1
XTAL2
16
10/76
Page 11
4 - MEMORY ORGANIZATION
The memory space of the ST10F168 is configured
in a Von Neumann architecture. Code memory,
data memory, registers and I/O ports are organized within the same linear address space of
16M Byte. The entire memory space can be
accessed bytewise or wordwise. Particular portions of the on-chip memory have additionally
been made directly bit addressable.
FLASH: 256K Byte of on-chip Flash memory. See
Flash Memory
on page13
IRAM:2K Byteofon-chip internal RAM
(dual-port) is provided as a storage for data, system stack, general purpose register banks and
code. A register bank is 16 wordwide (R0 to R15)
and / or bytewide (RL0, RH0, …, RL7, RH7) general purpose registers.
XRAM: 6K Byte of on-chip extension RAM (single
port XRAM) is provided asa storage for data, user
stack and code. The XRAM is connected to the
internal XBUS and is accessed like an external
memory in16-bit demultiplexed bus-mode without
wait state or read / write delay (80ns access at
25MHz CPU clock). Byte and Word access are
allowed.
The XRAMaddress range is 00’D000h 00’E7FFh if the XRAM is enabled (XPEN bit 2 of
SYSCON register). As the XRAM appears like
external memory, it cannot be used for the
ST10F168’s system stack or register banks. The
XRAM is not provided for single bit storage and
ST10F168
therefore is not bit addressable. If bit XPEN is
cleared, then any access in the address range
00’D000h - 00’E7FFh will be directed to external
memory interface, using the BUSCONx register
corresponding to address matching ADDRSELx
register.
SFR/ESFR: 1024 Byte (2 x 512 Byte) of address
space is reserved for the Special Function Register areas. SFRs are wordwide registers which are
used for controlling and monitoring functions of
the different on-chip units.
CAN: Address range 00’EF00h - 00’EFFFh is
reserved for the CAN Module access. The CAN is
enabled by setting XPEN bit 2 of the SYSCON
register. Accesses to the CANModule use demultiplexed addresses and a 16-bit data bus (Byte
accesses are possible). Two wait states give an
access time of 160ns at 25MHz CPU clock. No
tristate wait state is used.
Note If the CAN module is used, Port 4 can not
be programmed to output all 8 segment
address lines. Therefore, only 4 segment
address lines can be used, reducing the
external memory space to 5M Byte (1M
Byte per CS line)
To meet the needs of designs where more memory is requiredthan is provided on chip, up to 16M
Byte of external RAM and / or ROM can be connected to the microcontroller.
RAM, SFR and X-pheripherals are
mapped into the address space.
SYSCON.XPEN=1enables CAN
and XRAM (before EINIT)
0x0’FFFF
SFR Area
0x0’FE00
0x0’FDFF
IRAM : 2K Byte
0x0’F600
0x0’EFFF
CAN Module
0x0’EF00
0x020x0’8000
0x0’7FFF
0x0’40000x01
0x0’3FFF
0x00
Data
Page
Number
0x0’0000
Absolut
Memory
Address
Bank 1L : 16K Byte
Bank 0 : 16K Byte
0x0’E7FF
XRAM : 6K Byte
0x0’D000
* Bank 0 and Bank 1 L may be remapped from segment 0
to segment 1 by setting SYSCON.ROMS1 (before EINIT)
12/76
Page 13
5 - FLASH MEMORY
The ST10F168 provides 256K Byte of an
electrically erasable and reprogrammable Flash
Memory on-chip.
The Flash Memory can be used both forcode and
data storage. It is organized into four 32-bit wide
blocks allowing even double Word instructions to
be fetched in one machine cycle. The four blocks
of size16K, 48K,96K and 96KByte can be erased
and reprogrammed individually (see Table 2 and
Table 3).
The Flash Memory can be programmed in a programming board or in the target system which
provides high system flexibility. The algorithms to
program or erase the flash memory are embedded in the Flash Memory itself (ST Embedded
Algorithm Kernel, or STEAKTM).
To start a program / erase operation, the user’s
software has just to load GPRs with the address
and data to be programmed, or sector to be
erased. STEAK uses embedded routines, which
ST10F168
check the validity of the programmed parameters,
decode and then execute the programming or
erase command. During operation, the STEAK
routines carry out checks and retries to verify
proper cell programming or erasing. When an
error occurs, STEAK returns an error-code which
identifies the cause of the error.
A Flash Memory protection option prevents the
read-back of the Flash Memory contents from
external memory, or from on-chip RAM. Code
operation from within the Flash continues as normal.
The first bank (16K Byte) and part of the second
bank (16K Byte out of 48K Byte) of the on-chip
Flash Memory of the ST10F168 can be mapped
to either segment 0 (addresses 00000h to
07FFFh) or to segment 1 (addresses 10000h to
17FFFh) during the initialization phase. External
memory can be used for additional system
flexibility.
VDD=5V±10%, VPP=12V ± 5%, VSS=0V,f
= 25MHz, for Q6 version : TA=-40, +85°C and for Q2
CPU
version TA = -40, +125°C.
Table 2 : Flash Memory Characteristics
SymbolParameterTest ConditionsMin.Typ.Max.Unit
CPU Frequency during
CPU
erasing / programming operation
= 25MHz
Erasing /Programming Cycles
Single Word Programming Time
Double Word Programming Time
Sector Erasing Time
Data Retention TimeDefectivity below 1ppm / year
RET
1. Typical value for a non cycled flash. Maximum value is a software limit put inside STEAK. Can be changed after flash
characterization by STMicroelectronics.
010000h to 013FFFh
014000h to 01FFFFh
020000h to 03FFFFh
038000h to 04FFFFh
16K
48K
96K
96K
µs
µs
s
13/76
Page 14
ST10F168
5.1 - Programming / Erasing with ST
Embedded Algorithm Kernel
There are three stages to run STEAK :
– To load the registers R0 to R4 with the STEAK
command, the address and the data to be programed, or sector to be erased. Table 4 gives
the STEAK parameters for each type of Flash
programming / erasing operation. Table 5 defines the codes used in Table 4.
– To initiatethe Unlock Sequence.The Unlock Se-
quence is composed of two consecutive writes
to an even address in the Flash active address
space - the first write has direct addressing
mode (MOV mem, Rwn) - the second write has
– To read the return values in R0. When the em-
bedded programming / erasing algorithm returns to trigger point, return values are given in
R0. Table 6 gives the error-code definitions,
Table 7 gives the return values in each register
for each type of Flash programming / erasing
command.
Note The Flash Embedded STEAK Algorithms
require at least 50 words on the Internal
System Stack. STEAK verifies that there is
enough free space on the System Stack,
before performing a programming or erasing operation.The MDH, MDL and MDC
register content are modified.
indirect addressing mode (MOV [Rwm], Rwn).
Rwn can be any unused Word-GPR (R6to R15)
loaded with a value resulting in the same even
address as “mem”.
Code examples for programming and erasing the
Flash Memory using STEAK are given in
Section 5.2.
Table 4 : STEAK parameters
CommandR0R1R2R3R4
Single Word programming55AshAddOffWnu2TCL
Double Word programmingDD4shAddOffDWLDWH2TCL
Multiple (block) programmingAA5shBegAddOffEndAddOffSourceAddr2TCL
Sector ErasingEEEEh5555hBnkBnk2TCL
Read Status7777hnununu2TCL
Table 5 : Programming / erasing code definition
sSegment of the Target Flash Memory cell,
AddOffSegment Offset of the Target Flash Memory cell. Must be even value (Word-aligned address).
WData (Word) to be written in Flash.
DWL,DWH Data (double Word, DHL = low Word, DWH = high Word) to be written in Flash.
BegAddOff
EndAddOff
SourceAdd
BnkNumber of the Bank to be erased. For security, R2 and R3 must hold the same value.
2TCLCPU clock period innano-seconds (eg. R4 = 50d means CPU frequency is 20MHz).
Segment Offset of the FIRST Target Flash Memory Word to be written in a Multiple programming
command. Must be even value (Word-aligned address).
Segment Offset of the LAST Target Flash Memory Word to be written in a Multiple programming
command.
Must be even value (Word-aligned address). The value D = (EndAddOff - BegAddOff) must be: 0 <= D <
16384 (ie. up to one page (16K Byte) can be written in the flash with one multi-Word programming
command).
Start address for the block to be programmed.
This address is using implicitly the data paging mechanism of the CPU. SourceAdd value must respect
the following rules :
- SourceAdd + (EndAddOff - BegAddOff) < 16384.
- Page 0 and 1can NOT be used for source data if bit ROMS1 = ‘1’ (in SYSCON register).
Note that source data can be located in Flash (In pages 0, 1, 6 to 19 if bit ROMS1 = ‘0’, or in pages 4 to19
00hOperation was successful
01hFlash Protection is active
02hVpp voltage not present
03hProgramming operation failed
04hAddress value (R1) incorrect: not in Flash address area or odd
05hCPU period out of range (must be between 30 ns to 500 ns)
06hNot enough free space on system stack for proper operation
07hIncorrect bank number (R2,R3) specified
08hErase operation failed (phase 1)
09hBad source address for Multiple Word programming command
0AhBad number of words to be copied in Multiple Word programming command: one destination will be
out of flash.
0BhPLL Unlocked or Oscillator watchdog overflow occured during programming or erasing the flash.
0ChErase operation failed (phase 2)
FFhUnknown or bad command
ST10F168
Table 7 : Return values for each programming / erase command
Programming
Command
Single or
double Word
programming
Block
programming
ErasingError
After status
read
Note The Flash Embedded STEAK Algorithms
require at least 50 words on the Internal
System Stack for proper operation. The
program itself verifies that there is enough
free space on the System Stack before
performing a programming or erasing
operation, by computing the Word number
between Stack Pointer (SP) and Stack
Overflow register (STKOV ).
The MDH, MDL and MDC register content
are modified.
Registers R0 to R4 are used as Input Data
for STEAK, and are modified as explained
R0R1R2R3R4-R15
Error
code
Error
The last segment offset address of the
code
last written Word in Flash (failing Flash
address if R0 is not equal to zero)
code
Error
Flash embedded rev
code
MSByte = major release
LSByte = minor revision
UnchangedData in Flash for
location Segment +
SegmentOffset
(R0.[3:0] with R1)
UndefinedUnchanged
UndefinedUnchanged
Circuit identifiers :
R2 = #0787h
R3 = #0101h for this device
above (Return Values).
Registers R5 to R15 are used internally by
STEAK, but preserved on entry and
restore on exit of STEAK.
IT IS VERY IMPORTANT TO TAKE INTO
ACCOUNT THE FACT THAT STEAK
USES UP TO 50 WORDS ON THE SYSTEMSTACK.TOPREVENTANY
ABNORMAL SITUATION, IT IS VERY
IMPORTANTTOINITIALIZECORRECTLY THE STACKSIZE TO AT LEAST
64 WORDS, AND TO CORRECTLY INITIALIZE REGISTER STKOV.
Data in Flash for
location Segment +
Segment Offset + 2
(R0[3:0] with R1+2)
Unchanged
Unchanged
15/76
Page 16
ST10F168
5.2 - Programming Examples
Programming a double Word
; code shown below assumes that Flash is mapped in segment 1
; ie. bit ROMS1 = ‘1’ in SYSCON register
; Flash must be enabled, ie. bit ROMEN = ‘1’ in SYSCON.
MOVR0, #0DD40h; DD4xh : Double Word programming command
ORR0, #01h; Selects segment 1 in flash memory
MOVR1, #00224h; Address to be programmed is 01’0224h
MOVR2, #03456h; Data to be programmed at 01’0224h
MOVR3, #04567h; Data to be programmed at 01’0226h
MOVR4, #050d; 50ns is 20MHz CPU clock frequency
MOVR7, #08000h; R7 used for Flash trigger sequence
#define FCR 08000h
; Flash Unlock Sequence consists in two consecutive writes, with the direct
addressing mode and then the indirect addressing mode. FCR must represent an
even address in the active address space of the Flash memory, and Rwn can be
any unused Word GPR (R6 to R15)loaded with a value resulting in the same even
address than FCR
EXTS#1, #2; Flash can be mapped in segment 0 or 1
MOVFCR, R7; first part
MOV[R7], R7; second part
NOP; WARNING: place 2 NOP operations after
NOP; the Unlock sequence to avoid all possible
; pipeline conflicts in STEAK programs
Note For easier coding, the standard data paging addressing scheme is overriden for the two MOV
instructions of the Flash Trigger Sequence (EXTS instruction). However this coding also locks
both standard and PEC interrupts and class A hardware traps. This override can be replaced by
an ATOMIC instruction if thestandard DPP addressing scheme must be preserved.
16/76
Page 17
ST10F168
Programming a block of data
The following code is provided as an example to program ablock of data. Flash to be programmed is from
address 01’9000h to 01’9FFEh (included). Source data (data to be copied into flash)is located in external
RAM from address 05’1000h (to 05’1FFEh, implicitly) :
; code shown below assumes that flash is mapped in segment 1
; ie. bit ROMS1 = ‘1’ in SYSCON register
; Flash must be enabled, ie. bit ROMEN = ‘1’ in SYSCON.
MOVR0, #0AA50h; AA5xh : Multi Word programming command
ORR0, #01h; Selects segment 1 in Flash memory
MOVR1, #09000h; First Flash Segment Offset Address
MOVR2, #09FFEh; Last Flash Segment Offset Address
MOVR3, #09000h; Source data address: use DPP2 as
; data page pointer
SCXTDPP2,#20d; Source is in page 20 (first page of
; segment 5): save previous DPP2 value
; and load it with source page number
MOVR4, #050d; 50ns is 20MHz CPU clock frequency
MOVR7, #08000h; R7 used for Flash trigger sequence
#define FCR 08000h
EXTS#1, #2; Flash can be mapped in segment 0 or 1
MOVFCR, R7; first part
MOV[R7], R7; second part
NOP; WARNING: place 2 NOP operations after
NOP; the Unlock sequence to avoid all possible
; pipeline conflicts in STEAK programs
POPDPP2; restore DPP2
17/76
Page 18
ST10F168
5.3 - Flash Memory Configuration
Thedefaultmemoryconfigurationofthe
ST10F168 Memory is determined by the state of
the EA pin at reset. This value is stored in the
Internal ROM Enable bit : ROMEN of the
SYSCON Register.
When ROMEN = 0, the internal FLASH is disabled
and external ROM is used for startup control.
Flash memory can be enabled later by setting the
ROMEN bit of SYSCON to 1. Ensure that the
code which performs this setting is NOT running
from external ROM in a segment that will be
replaced by FLASH memory, otherwise unexpected behaviour may occur.
For example, if the external ROM code is located
in the first 32K Byte of segment 0, the first
32K Byte of the FLASH must then be enabled in
segment 1. This is done by setting the ROMS1 bit
of SYSCON to 0, before or simultaneously with
setting the ROMEN bit. This must be done in the
externally supplied program, before the execution
of the EINIT instruction. If program execution
starts from external memory, but the Flash memory mapped in segment 0 is accessed later, then
the code that sets the ROMEN bit must be executed either in segment 0 but above address
00’8000h, or from the internal RAM.
Bit ROMS1 only affects the mapping of the first
32K Byte of the Flash memory. All other parts of
theFlash memory(addresses01’8000h 04’FFFFh) remain unaffected.
Note: TheSGTDIS Segmentation Disable / Enable
must also be set to 0 to enable the use of the full
256K Byte of on-chip memory in addition to the
external boot memory. The correct procedure for
changing the segmentation registers must be
observed to prevent an unwanted trap condition :
– Instructions that configure the internal memory
must onlybe executed from external memoryor
from the internal RAM.
– AnAbsoluteInter-SegmentJump(JMPS)
instructionmust beexecuted after Flash enabling,
before the next instruction, even if the next
instruction is locatedin the consecutive address.
– Whenever the internalmemory is disabled, ena-
bled or remapped, the DPPs must be explicitly
(re)loaded to enable correct data accesses to
the internal memory and / or external memory.
5.4 - Flash Protection
If Flash Protection is active, data operands in the
on-chip Flash Memory area can only be read by a
program executed from the Flash Memory itself.
Program branches from or into the on-chip Flash
memory are possible in the Flash protection mode.
Erasing and programming of the Flash memory is
not possible as long as protection is active.
Flash protection is controlled by the Protection
UPROM Programming Bit (UPROG). UPROG is a
’hidden’ one-time programmable bit only accessible in a special mode which can be entered via a
Flash EPROM programming board for example. If
UPROG is set to ”1”, Flash protection is active
after reset. By default Flash Protection is disabled
(UPROG=0).
When flash protection is active (the default after
reset if UPROG bit is set), then any read accessin
the flash by a code executed from external or
internal RAM (IRAM or XRAM) will return the
value 0B88Bh. Any call of STEAK will return the
error code ‘01’ (Protected flash).
Normally Flash protection should never be deactivated, once activated. If this has to be done, for
example because the Flash memory has to be
reprogrammed with updated program / variables,
a zero value has to be written at any even address
in the active address space of the Flash memory.
This write can be done only by an instruction executed from the internal Flash Memory itself.
For example:
MOV FLASH,ZEROS ; Deactivate Flash
Protection.
; Flash is any even address in Flash
memory space. This instruction MUST
be executed from Flash memory itself.
After this instruction, the flash is temporarily
de-protected, thus any read access of the flash
from code executed from external memory or
internal RAMs will be correctly executed, and calls
of STEAK can be correctly performed (programming, erasing or status reading).
Notes 1. That all STEAK commands re-activate
the flash protection if bit UPROG is set
when completed.
2. Currently the only way to program the
UPROG one-time programmable bit is by
using an external ST10F167 / ST10F168
EPB kit.
5.5 - Bootstrap Leader Mode
Pin P0L.4 (BSL) activates the on-chip bootstrap
loader, when low during hardware reset. The
bootstrap loader allows moving the start code into
the internal RAM of the ST10F168 via the serial
interface ASC0. The ST10F168 will remain in
bootstrap loader mode until a hardware reset with
P0L.4 high or a software reset. The bootstraps
loader acknowledge byte is D5h.
18/76
Page 19
6 - CENTRAL PROCESSING UNIT (CPU)
The CPU includes a4-stage instruction pipeline, a
16-bit arithmetic and logic unit (ALU) and dedicated SFRs. Additional hardware has been added
for a separate multiply and divide unit, a bit-mask
generator and a barrel shifter.
Most of the ST10F168’s instructions can be executed in one instruction cycle which requires 80ns
at 25MHz CPU clock. For example, shift and
rotate instructions are processed in one instruction cycle independent of the number of bit to be
shifted. Multiple-cycle instructionshave been optimized: branches are carried out in 2 cycles, 16 x
16-bit multiplication in 5 cycles and a 32/16 bit
division in 10 cycles.The jump cache reduces the
execution timeof repeatedly performed jumps in a
loop, from 2 cycles to 1 cycle.
Figure 5 : CPU Block Diagram
ST10F168
The CPU uses a bank of 16 word registers to run
the current context. This bank of General Purpose
Registers (GPR) is physically stored within the
on-chip RAM area. A Context Pointer (CP) register determines the base address of the active register bank to be accessed by the CPU. The
number of register banks is only restricted by the
available internal RAM space. Foreasy parameter
passing, one register bank may overlap others.
A system stack of up to 2048 Byte stores temporary data. The system stack is allocated in the
on-chip RAM area, and it is accessed by the CPU
via the stack pointer (SP) register. Two separate
SFRs, STKOV and STKUN, are implicitly compared against the stack pointer value on each
stack access, for the detection of a stack overflow
or underflow.
256K Byte
Flash
memory
32
SP
STKOV
STKUN
Exec. Unit
Instr. Ptr
Instr. Reg
4-Stage
Pipeline
PSW
SYSCON
BUSCON 0
BUSCON 1
BUSCON 2
BUSCON 3
BUSCON 4
Data Pg. Ptrs
CPU
MDH
MLD
Mul./Div.-HW
Bit-Mask Gen.
ALU
16-Bit
Barrel-Shift
CP
ADDRSEL 1
ADDRSEL 2
ADDRSEL 3
ADDRSEL 4
Code Seg. Ptr.
R15
General
Purpose
Registers
R0
16
16
Internal
RAM
2K Byte
Bank
n
Bank
i
Bank
0
19/76
Page 20
ST10F168
6.1 - Instruction Set Summary
The Table8 liststhe instructions of the ST10F168.
The various addressing modes, instruction operation, parameters for conditional execution of
Table 8 : Instruction set summary
MnemonicDescriptionBytes
ADD(B)Add Word (Byte) operands2 / 4
ADDC(B)Add Word (Byte) operands with Carry2 / 4
SUB(B)Subtract Word (Byte) operands2 / 4
SUBC(B)Subtract Word (Byte) operands with Carry2 / 4
MUL(U)(Un)Signed multiply direct GPRby direct GPR (16 x 16-bit)2
DIV(U)(Un)Signed divide register MDL by direct GPR (16 / 16-bit)2
DIVL(U)(Un)Signed long divide register MD by direct GPR (32 / 16-bit)2
CPL(B)Complement direct Word (Byte) GPR2
NEG(B)Negate direct Word (Byte) GPR2
AND(B)Bitwise AND, (Word / Byte operands)2 / 4
OR(B)Bitwise OR, (Word / Byte operands)2 / 4
XOR(B)Bitwise XOR, (Word / Byte operands)2 / 4
BCLRClear direct bit2
BSETSet direct bit2
BMOV(N)Move (negated) direct bit to direct bit4
BAND, BOR, BXORAND / OR / XOR direct bit with direct bit4
BCMPCompare direct bit to direct bit4
BFLDH/LBitwise modify masked high / low Byte of bit-addressable direct Word memory with
immediate data
CMP(B)Compare Word (Byte) operands2 / 4
CMPD1/2Compare Word data to GPR and decrement GPR by 1/22 / 4
CMPI1/2Compare Word data to GPR and increment GPR by 1/22 / 4
PRIORDetermine number of shift cycles to normalize direct Word GPR and store result in
direct Word GPR
SHL/SHRShift left / right direct Word GPR2
ROL/RORRotate left / right direct Word GPR2
ASHRArithmetic (sign bit) shift right direct Word GPR2
MOV(B)Move Word (Byte) data2 / 4
MOVBSMove Byte operand to Word operand with sign extension2 / 4
MOVBZMove Byte operand to Word operand. with zero extension2 / 4
JMPSJump absolute to a code segment4
J(N)BJump relative if direct bit is (not) set4
JBCJump relative and clear bit if direct bit is set4
instructions, opcodes and a detailed description of
each instructioncan be found in the“ST10 Family
Programming Manual”.
4
2
20/76
Page 21
ST10F168
Table 8 : Instruction set summary
MnemonicDescriptionBytes
JNBSJump relative and set bit if direct bit is not set4
CALLA, CALLI, CALLR Call absolute / indirect / relative subroutine if condition is met4
CALLSCall absolute subroutine in any code segment4
PCALLPush direct Word register onto system stack and call absolute subroutine4
TRAPCall interrupt service routine via immediate trap number2
PUSH, POPPush / pop direct Word register onto / from system stack2
SCXT
RETReturn from intra-segment subroutine2
RETSReturn from inter-segment subroutine2
RETPReturn from intra-segment subroutine and pop direct Word register from system
RETIReturn from interrupt service subroutine2
SRSTSoftware Reset4
IDLEEnter Idle Mode4
PWRDNEnter Power Down Mode (supposes NMI-pin being low)4
Push direct Word register onto system stack and update register with Word operand4
stack
Signify End-of-Initialization on
RSTOUT-pin
2
4
21/76
Page 22
ST10F168
7 - EXTERNAL BUS CONTROLLER
All external memory accesses are performed by
the on-chip external bus controller. The EBC can
be programmed to single chip mode when no
external memory is required, or to one of four different external memory access modes :
In demultiplexed busmodes addresses areoutput
on Port1 and data are input / output on Port0 or
P0L, respectively. In the multiplexed bus modes
both addresses and data use Port0 for input/ output.
Timing characteristics of the external bus interface (memory cycle time, memory tri-state time,
length of ALE and read / write delay) areprogrammable giving the choice of a wide range of memories and external peripherals.Up to 4 independent
address windows may be defined (using register
pairs ADDRSELx / BUSCONx) to access different
resources and bus characteristics. These address
windowsarearranged hierarchicallywhere
BUSCON4 overrides BUSCON3 and BUSCON2
overrides BUSCON1. All accesses to locations
not covered by these 4 address windows are controlled by BUSCON0. Up to 5 external CS signals
(4 windows plus default) can be generated in
order to save external glue logic. Access to very
slow memories is supported by a ‘Ready’ function.
A HOLD/HLDA protocol is available for bus arbitration which shares external resources with other
bus masters. The bus arbitration is enabled by
setting bit HLDEN in register SYSCON. After setting HLDEN once, pins P6.7...P6.5 (BREQ,
HLDA, HOLD) are automatically controlled by the
EBC. In master mode (default after reset) the
HLDA pin is an output. By setting bit DP6.7 to’1’
the slave mode is selected where pin HLDA is
switched to input. This directly connects the slave
controller to another master controller without
glue logic.
For applications which require less external
memory space, the address space can be
restricted to 1M Byte, 256K Byte or to 64K Byte.
Port4 outputs all 8 address lines if an address
space of 16M Byte is used, otherwise four, two or
no address lines.
Chip select timingcan be programmed. By default
(after reset), the CSx lines change half a CPU
clock cycle after the rising edge of ALE. With the
CSCFG bit set in the SYSCON register the CSx
lines can change with the rising edge of ALE.
The active level of the READY pin can be set by
bit RDYPOLx in the BUSCONx registers. When
the READY function is enabled for a specific
address window, each bus cycle within the window must be terminated with the active level
defined by bit RDYPOLx in the associated BUSCONx register.
22/76
Page 23
8 - INTERRUPT SYSTEM
The interrupt response time for internal program
execution is from 200ns to 480ns at 25MHz CPU
clock.
The ST10F168 architecture supports several
mechanisms for fast and flexible response to service requests that can be generated from various
sources (internal or external) to the microcontroller. Any of these interrupt requests can be serviced by the Interrupt Controller or by the
Peripheral Event Controller (PEC).
In contrast to a standard interrupt service where
the current program execution is suspended and
a branch to theinterrupt vector table is performed,
just one cycle is ‘stolen’ from the current CPU
activity to perform a PEC service. A PEC service
implies a single Byte or Word data transfer
between any two memory locations with an
additional increment of either the PEC source or
the destination pointer. An individual PEC transfer
counter is implicitly decremented for each PEC
service except when performing in the continuous
transfer mode. When this counter reaches zero, a
standardinterruptisperformedtothe
corresponding source related vector location.
PEC services are very well suited to perform the
transmission or the reception of blocks of data.
ST10F168
The ST10F168 has 8 PEC channels, each of
them offers such fast interrupt-driven data transfer
capabilities.
A interrupt control register which contains an
interrupt request flag, an interrupt enable flag and
an interrupt priority bitfield is dedicated to each
existing interrupt source. Thanks to its related
register, each source can be programmed to one
of sixteen interrupt priority levels. Once starting to
be processed by the CPU, an interrupt service
can only be interrupted by a higher prioritized
service request. For the standard interrupt
processing, each of the possible interrupt sources
has a dedicated vector location.
Fast external interrupt inputs are provided to service external interrupts with high precision
requirements. These fast interrupt inputs feature
programmable edge detection (rising edge, falling
edge or both edges). Software interrupts are supported by means of the ‘TRAP’ instruction in combination with an individual trap (interrupt) number.
Table 9 shows all the available ST10F168 interrupt sourcesand thecorresponding hardware-relatedinterrupt flags,vectors, vector
locations and trap (interrupt) numbers:
Hardware traps are exceptions or error conditions
that arise during run-time. They cause immediate
non-maskable system reaction similar to a standard interrupt service (branching to a dedicated
vector table location).
The occurrence of ahardware trapis
additionallysignified by an individualbit in the
24/76
trap flag register (TFR). Except when another
higher prioritized trap service is in progress, a
hardwaretrap will interrupt any other program
execution.
Hardware trap services cannot not be interrupted
by standard interrupt or by PEC interrupts.
Page 25
ST10F168
Table 10 shows all of the possible exceptions or error conditions that can arise during run-time :
Table 10 : Exceptions or error conditions that can arise during run-time
Exception ConditionTrapFlag Trap VectorVector LocationTrap Number Trap Priority
The ST10F168 has two 16 channel CAPCOM
units which support generation and control of
timing sequences on up to 32 channels with a
maximum resolution of 320ns at 25MHz CPU
clock.
The CAPCOM units are typically used to handle
high speed I/O tasks such as pulse and waveform
generation, pulse width modulation (PMW), Digital
to Analog (D/A) conversion, software timing, or
time recording relative to external events.
Four 16-bit timers (T0/T1, T7/T8) with reload
registers provide two independent time bases for
the capture / compare register array.
The input clock for the timers is programmable to
several prescaled values of the internal system
clock, or maybe derived from an overflow/ underflow of timer T6 in module GPT2.
This provides a wide range of variation for the
timer period and resolution and allows precise
adjustments to application specific requirements.
In addition, external count inputs for CAPCOM
timers T0 and T7 allow event scheduling for the
capture / compare registers relative to external
events.
Each of the two capture / compare register arrays
contain 16 dual purpose capture / compare registers, each of which may be individually allocated
to either CAPCOM timer T0 or T1 (T7or T8,
respectively),andprogrammedforcapture
or compare functions. Each register has one
associated port pin which serves as an input pin
for triggering the capture function, or as an output
pin (except for CC24...CC27) to indicate the
occurrence of a compare event.
When a capture / compare register has been
selected for capture mode, the current contentsof
the allocated timer will be latched (captured) into
the dedicated capture / compare register in
responsetoanexternaleventatthe
corresponding port pin which is associated with
this register. In addition, a specific interrupt
request for this capture / compare register is
generated.
Either a positive, a negative, or both a positive
and a negative external signal transition at the pin
can be selected as the triggering event.
The contents of all the registers which have been
selected for one of the five compare modes are
continuously compared with the contents of the
allocated timers.
When a match occurs between the timer value
and the value in a capture / compare register, specific actions will be taken based on the selected
compare mode.
The input frequencies fTx, for the timer input
selector Txl, are determined as a function of the
CPU clock. The timer input frequencies, the resolution and the periods which result from the
selected pre-scaler option in TxI when using a
25MHz CPU clock are listed in the Table12.
The numbers of the timer periods are based on a
reload value of 0000H. Note that some numbers
are roundedto 3 significant figures.
Table 11 : Compare Modes
Compare ModesFunction
Mode 0Interrupt-only compare mode ; several compare interrupts per timer period are possible.
Mode 1Pin toggles on each compare match ; several compare events per timer period are possible.
Mode 2Interrupt-only compare mode ; only one compare interrupt per timer period is generated.
Mode 3Pin set ‘1’ on match; pin reset ‘0’ on compare time overflow ; only one compare event per
timer period is generated.
Double Register Mode Two registers operate on one pin; pin toggles on each compare match ; several compare
events per timer period are possible.
26/76
Page 27
ST10F168
Table 12 : CAPCOM timer input frequencies, resolution and periods
The GPT unit is a flexible multifunctional timer /
counter structure which is used for time related
tasks such as event timing and counting, pulse
width and duty cycle measurements, pulse
generation, or pulse multiplication. The GPT unit
contains five 16-bit timers organized into two
separate modules GPT1 and GPT2. Each timer
in each module may operate independently in
several different modes, or may be concatenated
with another timer of the same module.
10.1 - GPT1
Each of the three timers T2, T3, T4 of the GPT1
module can be configured individually for one of
four basic modes of operation: timer, gated
timer, counter mode and incremental interface
mode. In timer mode, the inputclock for a timer is
derived from the CPU clock, divided by a programmable prescaler. In countermode, the timer is
clocked in referenceto externalevents. Pulse width
or duty cycle measurement is supported in gated
timer mode where the operation of a timer is controlled by the ‘gate’ level on an external input pin.
For these purposes, each timer has one associated
port pin (TxIN) which serves as gateor clock input.
Table 14 lists the timer input frequencies, resolution and periods for each pre-scaler option at
25MHz CPU clock. This also applies tothe Gated
Timer Mode of T3 and to the auxiliary timers T2
and T4 in Timer and Gated Timer Mode.
The count direction (up / down) for each timer is
programmable by software or may be altered
dynamically by an external signal on a port pin
(TxEUD).
In Incremental Interface Mode, the GPT1 timers
(T2, T3, T4) can be connected directly to the
incremental position sensor signals A and B by
their respective inputs TxIN and TxEUD. Direction
and count signals are internally derived from
these two input signals so that the contents of the
respective timer Tx corresponds to the sensor
position. The third position sensor signal TOP0
can be connected to an interrupt input.
TimerT3 hasoutput toggle latches (TxOTL)which
changes state on each timer over-flow / underflow. The state of this latch may be output on port
pins (TxOUT) e. g. for time out monitoring of
external hardware components, or may be used
internally to clock timers T2 and T4 for high resolution oflong duration measurements.
In addition to their basic operating modes, timers
T2 and T4 may be configured as reload or capture
registers for timer T3. When used as capture or
reload registers, timers T2 and T4 are stopped.
The contents of timer T3 is captured into T2 or T4
in response to a signal at their associated input
pins (TxIN). Timer T3 is reloaded with the
contents of T2 or T4 triggered either by an
external signal or by a selectable state transition
of its toggle latch T3OTL. When both T2 and T4
are configured to alternately reload T3 on
opposite state transitions of T3OTL with the low
and high times of a PWM signal, this signal
can be constantly generated without software
intervention.
10.2 - GPT2
The GPT2 module provides precise event control
and time measurement. It includes two timers(T5,
T6) and a capture / reload register (CAPREL).
Both timers can be clocked with an input clock
which is derived from the CPU clock via a programmable prescaler or with external signals. The
count direction (up / down) for each timer is programmable by software or may additionally be
altered dynamically by an external signal on a port
pin (TxEUD). Concatenation of the timers is supported via the output togglelatch (T6OTL) of timer
T6 which changes its state on each timer
overflow / underflow.
Table 14 : GPT1 timerinput frequencies, resolution and periods
The state of this latch may be used to clock timer
T5, or it may be output on a port pin (T6OUT).
The overflows / underflows oftimer T6can also be
used to clock the CAPCOM timers T0 or T1, and
to cause a reload from the CAPREL register.
The CAPREL register can capture the contents of
T5 from an external signal transition on the
corresponding port pin (CAPIN), and T5 may be
optionally cleared after the capture procedure.
This allows absolute time differences to be
measured or pulse multiplication to be performed
without software overhead.
The capture trigger (timer T5 to CAPREL) may
also be generated on transitionsof GPT1timer T3
inputs T3IN and / or T3EUD. This is useful when
T3 operatesin Incremental Interface Mode.
Table 15 lists the timer input frequencies, resolution and periods for each pre-scaler option at
25MHz CPU clock. This also applies to the Gated
Timer Mode of T6 and to the auxiliary timer T5 in
Timer and Gated Timer Mode.
Table 15 : GPT2 timerinput frequencies, resolution and periods
The pulse width modulation module can generate
up to four PWM output signals using edge-aligned
or centre-aligned PWM. In addition, the PWM
module can generate PWM burst signals and sin-
Table 16 : PWM unit frequencies and resolution at 25MHz CPU clock
Mode 0Resolution8-bit10-bit12-bit14-bit16-bit
CPU Clock / 140ns97.66KHz24.41KHz6.104KHz1.526KHz0.381KHz
CPU Clock / 642.56µs1.526KHz381.5Hz95.37Hz23.84Hz5.96Hz
Mode 1Resolution8-bit10-bit12-bit14-bit16-bit
CPU Clock / 140ns48.82KHz12.20KHz3.05KHz762.9Hz190.7Hz
CPU Clock / 642.56µs762.9Hz190.7Hz47.68Hz11.92Hz2.98Hz
Figure 8 : PWM Module Block Diagram
gle shot outputs. The Table 16 shows the PWM
frequencies for different resolutions. The level of
the output signals is selectable and the PWM
module can generate interrupt requests.
Clock1
Clock2
*User readable& writeableregister
Input
Control
Run
PPxPeriodRegister
Comparator
PTx
16-BitUp/DownCounter
Comparator
ShadowRegister
PWxPulseWidthRegister
*
*
*
Match
Match
ClearControl
OutputControl
WriteControl
Up/Down/
POUTx
Enable
31/76
Page 32
ST10F168
12 - PARALLEL PORTS
The ST10F168 provides up to 111 I/O lines
organized into eight input / output ports and one
input port. All port lines are bit-addressable, and
all input / output lines are individually (bit-wise)
programmable as input or output via direction
registers. TheI/O ports are true bidirectional ports
which areswitched to high impedance state when
configured as inputs.The outputdrivers of fiveI/O
ports can be configured (pin by pin) for push-pull
operation or open-drain operation via control
registers. During the internal reset, all port pins
are configured as inputs.
The input threshold of Port 2, Port 3, Port 7 and
Port 8 is selectable (TTL or CMOS-like), where
the special CMOS-like input threshold reduces
noise sensitivity to the input hysteresis. The input
thresholds are selected with bit of PICON register
dedicated to blocks of 8 input pins (2-bit for Port2,
2-bit for Port3, 1-bit for Port7, 1-bit for Port8).
All pins of I/O ports also support an alternate programmable function:
– Port0 and Port1 may be used as address and
data lines when accessing external memory.
– Port 2, Port 7 and Port 8 are associated with the
capture inputs or with the compare outputs of
the CAPCOM units and / or with the outputs of
the PWM module.
– Port 3 includes the alternate functions of timers,
serial interfaces, the optional bus control signal
BHE and the system clock output (CLKOUT).
– Port 4 outputs the additional segment address
bit A16 to A23 in systems where segmentation
is enabled to access more than 64K Byte of
memory.
– Port 5 is used as analog input channels of the
A/Dconverter or as timer control signals.
– Port 6 provides optional bus arbitration signals
(BREQ, HLDA, HOLD) and chip select signals.
All port lines that are not used for alternate functions may be used as general purpose I/O lines.
32/76
Page 33
13 - A/D CONVERTER
A10-bit A/D converter with 16 multiplexed input
channels and a sample and hold circuit is
integrated on-chip. The sample time (for loading
the capacitors) and the conversion time is
programmable and can be adjusted to the
external circuitry.
Overrun error detection / protection is controlled
by the ADDAT register. Either an interrupt request
is generated whenthe result of aprevious conversion has not been read from the result register at
the time the next conversion is complete, or the
next conversion is suspended until the previous
result has been read. For applications which
require less than 16 analog input channels, the
remaining channel inputs can be used as digital
input port pins.
The AD converter of the ST10F168 supports different conversion modes :
– Single channel single conversion : the analog
level of the selected channel is sampled once
and converted. The result of the conversion is
stored in the ADDAT register.
– Single channel continuous conversion : the
analog levelof the selected channelis repeatedly
sampled and converted. The result of the conversion is stored in the ADDAT register.
– Auto scan single conversion : the analog level
of the selected channels are sampled once and
converted. After each conversion the result is
stored in the ADDAT register. The data can be
transfered to the RAM by interrupt software
management or using the powerfull Peripheral
Event Controller data transfert.
– Auto scan continuous conversion : the ana-
log level of the selected channels arerepeatedly
sampled and converted. The result of the conversion is stored in the ADDAT register. The
data can be transfered to the RAM by interrupt
software management or using the powerfull
Peripheral Event Controller data transfert.
Table 17 : ADC sample clock and conversion clock
ST10F168
– Wait for ADDAT read mode : when using con-
tinuous modes, in order to avoid to overwrite
the result of the current conversion by the next
one, the ADWR bit of ADCON control register
must be activated. Then,until the ADDATregister is read, the new result is stored in a temporary buffer and the conversion is on hold.
– Channelinjectionmode :when using
continuous modes, a selected channel can be
converted in betweenwithout changing the
current operating mode. The 10 bit data of the
conversion are stored in ADRES field of
ADDAT2.The current continuous mode remains
active after the single conversion is completed.
The Table17 shows conversion clock and sample
clock of the ADC unit. A complete conversion will
take 14tCC+2tSC+ 4TCL. This time includes the
conversion it self, the sampling time and the time
required to transfer the digital value to the result
register. For example at25MHz of CPU clock, the
minimum complete conversion time is 7.76µs.
The A/D converter provides automatic offset and
linearity self calibration. The calibration operation
is performed in two ways :
– A full calibration sequence is performed after a
reset and lasts 1.6ms minimum (at 25MHz CPU
clock). During this time, the ADBSY flag is set to
indicate the operation. Normal conversion can
be performed during this time. The duration of
the calibration sequence isthen extended by the
time consumed bythe conversions.
Note : After a power-on reset, the total
unadjusted error (TUE) of the ADC might be
worse than±2LSB (max.±4LSB). During the full
calibration sequence, the TUE is constantly
improved until at the end of the cycle, TUE is
within the specified limits of ±2LSB.
– One calibration cycle is performed after each
conversion : each calibration cycle takes 4 ADC
clock cycles. These operation cycles ensure
constant updating of the ADC accuracy, compensating changing operating conditions.
Conversion Clock t
ADCTC
00TCL x 240.48µs00 t
01Reserved, do not use-01tCCx2
10TCL x 961.92µs10t
11TCL x 480.96µs11t
Notes 1. See chapter XX.
2. t
CC
TCL1= 1/2 x f
= TCL x 24.
XTAL
At f
CC
CPU
= 25MHz
ADSTC
Sample Clock t
-
CC0.48µs
x4
CC
x8
CC
At f
SC
CPU
0.96µs
1.92µs
3.84µs
= 25MHz
2
2
2
2
33/76
Page 34
ST10F168
14 - SERIAL CHANNELS
Serial communication with other microcontrollers,
processors, terminals or external peripheral components is provided by two serial interfaces: the
asynchronous / synchronous serialchannel
(ASC0) and the high-speed synchronous serial
channel (SSC).
Two dedicated Baud rate generators set up all
standard Baud rates without the requirement of
oscillator tuning. For transmission, reception and
erroneous reception, 3 separate interrupt vectors
are provided for each serial channel.
ASCO
ASCO supports full-duplex asynchronous communication atup to 781.25K Baud and half-duplex
Table 18 : Commonly used Baud rates byreload value and deviation errors
synchronous communication up to 5M Baud at
25MHz system clock.
For asynchronous operation, the Baud rate generator provides a clock with 16 times the rate of the
established Baud rate.
Table 18 lists various commonly used Baud rates
together with the required reload values and the
deviation errors compared to the intended
Baud rate.
For synchronous operation, the Baud rate generator provides a clock with 4 times the rate of the
established Baud rate.
The High-Speed Synchronous Serial Interface
SSCprovidesflexiblehigh-speedserial
communication between the ST10F168 and other
microcontrollers, microprocessors or external
peripherals.
The SSC supports full-duplex and half-duplex
synchronous communication; The serial clock
signal can be generated by the SSC itself (master
mode) or be received from an external master
(slave mode). Data width, shift direction, clock
polarity and phase are programmable.
This allows communication with SPI-compatible
devices. Transmission and reception of data is
double-buffered. A 16-bit Baud rate generatorprovides the SSC with a separate serial clock signal.
The serial channel SSC has its own dedicated
16-bit Baud rate generator with 16-bit reload
capability, allowing Baud rate generation independent from the timers.
SSCBR is the dual-functionBaud rate Generator /
Reload register. Table19 lists some possible
Baud rates against the required reload values and
the resulting bit times fora 25MHz CPU clock.
Note The deviation errors given in the Table 18
are rounded. To avoid deviation errors use
a Baud rate crystal (providing a multiple of
the ASC0/SSC sampling frequency).
Table 19 : Synchronous Baud rate and reload values
The integrated CAN module completely handles
the autonomous transmissionand the reception of
CAN frames according to the CAN specification
V2.0 part B (active). The on-chip CAN module can
receive and transmit standard frames with 11-bit
identifiers as well as extended frames with 29-bit
identifiers.
The CAN Module Provides full CAN functionality
on up to 15 message objects. Message object 15
can be configured for basic CAN functionality.
Both modes provide separate masks for acceptance filtering, allowing a number of identifiers in
full CAN mode to be accepted and disregarding a
number ofidentifiers in basic CAN mode. Allmessage objects can be updated independently from
other objects and are equipped for the maximum
message length of 8 Byte.
The bit timing is derived from the XCLK andis programmable up to a data rate of 1M Baud. The
CAN module uses two pins to interface to a bus
transceiver.
16 - WATCHDOG TIMER
The Watchdog Timer is a fail-safe mechanism
which prevents the microcontroller from malfunctioning for long periods of time.
The Watchdog Timer is always enabled after a
reset of the chip and can only be disabled in the
time interval until the EINIT (end of initialization)
instruction has been executed.
Therefore, the chip start-up procedure is always
monitored. The software must be designed to service the watchdog timer before it overflows. If, due
to hardware or software related failures, the software fails to do so, the watchdog timer overflows
and generates an internal hardware reset. It pulls
the RSTOUT pin low in order to allow external
hardware components to be reset.
The Watchdog Timer is 16-bit, clocked with the
system clock divided by 2 or 128. The high Byte of
the watchdog timer register can be set to a
pre-specified reload value (stored in WDTREL).
Each time it is serviced by the application software, the high Byte of the watchdog timer is
reloaded.
For security, rewrite WDTCON each
time before the watchdog timer is serviced.
Table 20 shows the watchdog time range for
25MHz CPU clock.
Table 20 : Watchdog time range (25MHz clock)
Reload value
in WDTREL
FF
h
00
h
Prescaler for f
2 (WDTIN = ‘0’)128 (WDTIN = ‘1’)
20.48µs1.31ms
5.24ms336ms
CPU
36/76
Page 37
17 - SYSTEM RESET
Table 21 : Reset event definition
Reset SourceShort-cutConditions
Power-on resetPONRPower-on
Long Hardware reset (asynchronous reset)
System reset initializes the MCU in a predefined
state. There are five ways to activate a reset state.
The system start-up configuration is different for
each case as shown in Table 21.
17.1 - Asynchronous Reset (Long Hardware
Reset)
An asynchronous reset is triggered when RSTIN
pin is pulled low while V
pin is at low level. Then
PP
the MCU is immediately forced in reset default
state. It pulls low RSTOUT pin, it cancels pending
internal hold states if any, it waits for any internal
access cycles to finish, it aborts externalbus cycle,
it switches buses (data, address and control signals) and I/O pin drivers to high-impedance, it pulls
high Port0 pins and the reset sequencestarts.
Power-on Reset
The asynchronous reset must be used during the
power-on of the MCU. Depending on crystal frequency, the on-chip oscillator needs about 10ms
to 50ms to stabilize. The logic of the MCU does
not need a stabilized clock signal to detect an
Figure 9 : Asynchronous Reset Timing
3or 4CPUClock
asynchronous reset, so it is suitable for power-on
conditions. To ensure a proper reset sequence,
the RSTIN pin and the VPPpinmust be held atlow
level until the MCU clock signal is stabilized and
the system configuration value on Port0 is settled.
Hardware Reset
The asynchronous reset must be used to recover
from catastrophic situations of the application. It
may be triggerred by the hardware of the application. Internal hardware logic and application circuitry aredescribed in Reset circuitry chapter and
Figures 12, 13 and 14.
Exit of Asynchrounous Reset State
When the RSTIN pin is pulled high, the MCU
restarts. The system configuration is latched from
Port0 and ALE, RDand R/W pinsare driven to their
inactive level. The MCU starts program execution
from memory location 00’0000h in code segment 0.
This starting location will typically point to the general initialization routine. Timing of asynchronous
reset sequence aresummarized in Figure 9.
1
CPUClock
RSTIN
Asynchronous
Reset Condition
V
PP
RSTOUT
ALE
Port0ResetConfiguration
Latchingpointof Port0
Internal
Reset
Signal
Note 1. RSTIN rising edge to internal latch of Port0 is 3CPU clock cycles if the PLL is bypassed and the prescaler ison (f
else it is4 CPU clock cycles.
forsystemstart-up
configuration
INST#1
CPU=fXTAL
/2),
37/76
Page 38
ST10F168
17.2 - Synchronous Reset (WarmReset)
A synchronous reset is triggered when RSTINpin
is pulled low while VPPpin isat high level. In order
to properly activate the internal reset logic of the
MCU, the RSTIN pin must be held low, at least,
during 4 TCL (2 periods of CPU clock). The I/O
pins are set to high impedance andRSTOUTpin is
driven low. After RSTIN level is detected, a short
duration of 12 TCL (approximately 6 periods of
CPU clock) elapes, during which pending internal
hold states are cancelled and the current internal
access cycle if any is completed. External bus
cycle is aborted. The internal pulldown of RSTIN
pin is activated if bit BDRSTEN of SYSCON register was previously set by software. This bit is
always cleared on power-on or after a reset
sequence.
Exit of Synchrounous Reset State
The internal reset sequence starts for 1024 TCL
(512 periods of CPU clock) and RSTINpin level is
sampled. The reset sequence is extended until
RSTIN level becomes high. Then, the MCU
restarts. The system configuration is latched from
Port0 and ALE, RD and R/W pins are driven to
their inactive level. The MCU starts program execution from memory location 00’0000h in code
segment 0. This starting location will typically
point to the general initialization routine. Timing of
synchronous reset sequence are summarized in
Figure 10 and 11.
Figure 10 : Synchronous Warm Reset: Short low pulse on RSTIN
6 or 8 TCL
CPUClock
RSTIN
V
PP
4TCL 12TCL
min.max.
1Internallypulledlow
1024TCL
4
3
200µADischarge
RSTOUT
ALE
Port0
Internal
Reset
Signal
Notes 1. RSTIN assertion can be released there.
2. If during the reset condition (RSTIN low), Vpp voltage drops below the threshold voltage (about 2.5V for 5V operation), the
asynchronous reset is then immediately entered.
3. RSTINrising edge to internal latch of Port0 is3CPU clock cycles if the PLL isbypassed and the prescaler is on (f
it is 4 CPU clock cycles.
4) RSTIN pin ispulled low if bit BDRSTEN (bit 5 of SUSCON register) was previously set by software. Bit BDRSTENis cleared after
reset. If a synchronous reset is used as a power-up reset in place of an asynchronous reset, note that the behaviour of RSTIN (ie.
pulled low or not during 1024 TCL) isundetermined. This should be not a problem, because in such power-up reset, the pin RSTIN
must be maintained to ‘0’ at least during two reset sequences (2*1024 TCL, 40.96
Figure 11 : Synchronous Warm Reset: Long low pulse on RSTIN
ST10F168
4 TCL12TCL1024TCL
CPUClock
RSTIN
V
PP
200µADischarge
RSTOUT
ALE
Port0
Internal
Reset
Signal
Notes 1. RSTIN rising edge to internal latch of Port0 is 3CPU clock cycles if the PLL is bypassed and the prescaler ison (f
else it is4 CPU clock cycles.
2. If during the reset condition (RSTIN low), Vpp voltage drops below the threshold voltage (about 2.5V for 5V operation), the
asynchronous reset is then immediately entered.
3. RSTINpin is pulled low if bit BDRSTEN (bit 5 of SYSCON register) was previously set by soft-ware. Bit BDRSTENis cleared after
reset. If a synchronous reset is used as a power-up reset in place of an asynchronous reset, note that the behaviour of RSTIN (ie.
pulled low or not during 1024 TCL) isundetermined. This should be not a problem, because in such power-up reset, the pin RSTIN
must be maintained to ‘0’ at least during two reset sequences (2*1024 TCL, 40.96
A software reset sequence can be triggered at
any time by the protected SRST (software reset)
instruction. This instruction can be deliberately
executed within aprogram, e.g. toleave bootstrap
loader mode, or on a hardware trap that reveals
system failure.
On execution of the SRST instruction, the internal
reset sequence is started. The microcontroller
behaviour is the same as for a synchronous reset,
except that only bitP0.12...P0.8 are latched at the
end of the reset sequence, while previously
latched, bit P0.7...P0.2 are cleared.
17.4 - Watchdog Timer Reset
When the watchdog timer is not disabled during
the initialization, or serviced regularly during program execution, it will overflow and trigger the
reset sequence.
Unlike hardware and software resets, the watchdog reset completes a running external bus cycle
if this bus cycle either does not use READY, or if
READY is sampled active (low) after the programmed wait states.
When READY is sampled inactive (high) after the
programmed wait states the running external bus
cycle is aborted. Then the internal reset sequence
is started.
Bit P0.12...P0.8 arelatched at the end of the reset
sequence and bit P0.7...P0.2 are cleared.
17.5 - Reset Circuitry
Internal reset circuitry is described in Figure 13.
The RSTINpin provides an internal pullup resistor
of 50KΩ to 250KΩ (The minimum reset time must
be calculated using the lowest value).
It also provides a programmable (BDRSTEN bitof
SYSCON register) pulldown to output internal
reset state signal (synchronous reset, watchdog
timer reset or software reset).
This bidirectional reset function is useful in applications where external devices require a reset
signal but cannot be connected toRSTOUTpin.
This is the case of an external memory running
codes before EINIT ( end of initialization) instruction is executed. RSTOUT pin is pulled high only
when EINIT is executed.
39/76
Page 40
ST10F168
The VPPpin provides an internal weak pulldown
resistor which discharges external capacitor at a
typical rate of 200µA. If bit PWDCFG of SYSCON
register is set, an internal pullup resistor is
activated at the end of the reset sequence. This
pullup willcharge any capacitor connected on V
PP
pin.
The simplest way to reset the ST10F168 is to
insert a capacitor C1 betweenRSTINpin and VSS,
and a capacitor between VPPpin and VSS(C0)
with a pullup resistor R0 between VPPpin and
VCC. The input RSTIN provides an internal pullup
device equalling a resistor of 50kΩ to 150kΩ (the
minimum reset time must be determined by the
lowest value). Select C1 that produce a sufficient
discharge time to permit the internal or external
oscillator and / or internal PLL to stabilize.
To insure correct power-up reset with controlled
supply current consumption, specially if clock signal requires a long period of time to stabilized, an
asynchronous hardware reset is required during
power-up. It is recommended to connect the
external R0C0 circuit shown in Figure 12 to the
VPPpin.On power-up, the logicallow level on V
PP
pin forces an asynchronous harware reset when
RSTINis asserted.
The external pullup R0 will then charge the capacitor C0. Note that an internal pulldown device on
VPPpin is turned on when RSTIN pin is low, and
causes the external capacitor (C0) to begin dis-
charging at a typical rate of 100µA to 200µA. With
this mechanism, after power-up reset, short low
pulses applied on RSTIN produce synchronous
hardware reset. If RSTINis asserted longer than
the time needed for C0 to be discharged by the
internal pulldown device, then the device is forced
in an asynchronous reset. This mechanism
insures recovery from verycatastrophic failure.
Figure 12 : Minimum External Reset Circuitry
RSTOUT
RSTIN
ST10F168
+
C1
V
CC
R0
V
PP
+
C0
External Hardware
a) Hardware
Reset
b) For Power-up
Reset
(and Interruptible
Power-down
mode)
40/76
Page 41
Figure 13 : Internal (simplified) Reset Circuitry
EINITInstruction
Clr
Q
Set
Reset State
Machine
Clock
V
ST10F168
RSTOUT
CC
Trigger
Clr
Reset Sequence
(512 CPU Clock Cycles)
Asynchronous
Reset
VPP(Flashdevice)
From/toExit
Powerdown
Circuit
SRST instruction
watchdog overflow
The minimum reset circuit of Figure 14 is not adequate when the RSTIN pin is driven from the
ST10F168 itself during software or watchdog triggered resets, because of thecapacitor C1that will
keep the voltage on RSTIN pin above VILafter the
end of the internal reset sequence, and thus will
triggered an asynchronous reset sequence.
RSTIN
BDRSTEN
V
CC
V
PP
Weak Pulldown
(~200µA)
generate power-up or manual reset, and R0C0
circuit on VPPis used for power-up reset and to
exit from powerdown mode. Diode D1 creates a
wired-OR gate connection to the reset pin and
may be replaced by open-collector schmitt trigger
buffer. Diode D2 provides a faster cycle time for
repetitive power-on resets.
Figure 14 shows an example of a reset circuit. In
this example, R1C1external circuit is only used to
R2 is an optional pullup for faster recovery and
correct biasing of TTL Open Collectordrivers.
41/76
Page 42
ST10F168
Figure 14 : System Reset Circuit
V
CC
R2
V
CC
RSTOUT
RSTIN
ST10F168
External Hardware
D2
R1
+
V
CC
D1
o.d.
C1
External
Reset Source
R0
OpenDrain Inverter
V
PP
+
C0
42/76
Page 43
18 - POWER REDUCTION MODES
ST10F168
Two different power reduction modeswith
different levels of powerreduction can be entered
under software control.
In Idle mode the CPU is stopped, while the
peripherals continue their operation. Idle mode
can be terminated by any reset or interrupt
request.
In Power Down mode both the CPU and the
peripherals are stopped. Power Down mode can
be configured by software in order to be terminated only by a hardware reset or by an external
interrupt source on fast external interrupt pins.
There are two different operating Power Down
modes:
– Protected power down mode: selected by set-
ting bit PWDCFGin the SYSCONregister to ‘0’.
This mode can be used in conjunction with an
external power failure signal which pulls the NMI
pin low when a power failure is imminent. The
microcontroller enters the NMI trap routine and
saves the internal state into RAM. The trap routine then sets a flag or writes a bit pattern into
specific RAM locations, and executes the
PWRDN instruction. If the NMI pin is still low at
this time, Power Down mode will be entered, if
not program execution continues. During power
downthe voltage at the VCCpins can belowered
to2.5 V and the contents of theinternal RAM will
still be preserved.
– Interruptiblepowerdownmode:this
mode is selected by setting bit PWDCFG in the
SYSCON register. The CPU and peripheral
clocks are frozen, and the oscillator and PLL are
stopped. To exit power down mode with an external interrupt, an EXxIN (x = 7...0) pin has to
be asserted for at least 40ns. This signal enables the internal oscillator and PLL circuitry, and
turns on the weak pulldown. If the Interrupt was
enabled before entering power down mode, the
device executes the interrupt service routine,
and then resumes execution after the PWRDN
instruction. If the interrupt was disabled,the device executes the instruction following PWRDN
instruction, and the Interrupt Request Flag remains set until it is cleared by software.
All external bus actions are completed before Idle
or Power Down mode is entered. However, Idle or
Power Down mode is not entered if READY is
enabled, but has not been activated (driven low
for negative polarity, or driven high for positive
polarity) during the last bus access.
43/76
Page 44
ST10F168
19 - SPECIAL FUNCTION REGISTER OVERVIEW
Table 22 lists all SFRs which are implemented
in the ST10F168 in alphabetical order.
Bit-addressable SFRs are marked with the letter
“b” in column “Name”. SFRs within the Extended
SFR-Space (ESFRs) are marked with the letter
“E” in column “Physical Address”.
Table 22 : Special Function Registers listed by name
An SFRcan be specified by its individual mnemonic
name. Depending on the selected addressing
mode, an SFR can be accessed via its physical
address (using the Data Page Pointers), or via its
short 8-bit address (without using the Data Page
Pointers).
Table 22 : Special Function Registers listed by name
ST10F168
Name
CC9ICbFF8AhC5hCAPCOM Register 9 Interrupt Control Register0000h
CC10FE94h4AhCAPCOM Register 100000h
CC10ICbFF8ChC6hCAPCOM Register 10 Interrupt Control Register0000h
CC11FE96h4BhCAPCOM Register 110000h
CC11ICbFF8EhC7hCAPCOM Register 11 Interrupt Control Register0000h
CC12FE98h4ChCAPCOM Register 120000h
CC12ICbFF90hC8hCAPCOM Register 12 Interrupt Control Register0000h
CC13FE9Ah4DhCAPCOM Register 130000h
CC13ICbFF92hC9hCAPCOM Register 13 Interrupt Control Register0000h
CC14FE9Ch4EhCAPCOM Register 140000h
CC14ICbFF94hCAhCAPCOM Register 14 Interrupt Control Register0000h
CC15FE9Eh4FhCAPCOM Register 150000h
CC15ICbFF96hCBhCAPCOM Register 15 Interrupt Control Register0000h
CC16FE60h30hCAPCOM Register 160000h
CC16ICbF160hEB0hCAPCOM Register 16 Interrupt Control Register0000h
CC17FE62h31hCAPCOM Register 170000h
CC17ICbF162hEB1hCAPCOM Register 17 Interrupt Control Register0000h
CC18FE64h32hCAPCOM Register 180000h
CC18ICbF164hEB2hCAPCOM Register 18 Interrupt Control Register0000h
CC19FE66h33hCAPCOM Register 190000h
CC19ICbF166hEB3hCAPCOM Register 19 Interrupt Control Register0000h
CC20FE68h34hCAPCOM Register 200000h
CC20ICbF168hEB4hCAPCOM Register 20 Interrupt Control Register0000h
CC21FE6Ah35hCAPCOM Register 210000h
CC21ICbF16AhEB5hCAPCOM Register 21 Interrupt Control Register0000h
CC22FE6Ch36hCAPCOM Register 220000h
CC22ICbF16ChEB6hCAPCOM Register 22 Interrupt Control Register0000h
CC23FE6Eh37hCAPCOM Register 230000h
CC23ICbF16EhEB7hCAPCOM Register 23 Interrupt Control Register0000h
CC24FE70h38hCAPCOM Register 240000h
CC24ICbF170hEB8hCAPCOM Register 24 Interrupt Control Register0000h
CC25FE72h39hCAPCOM Register 250000h
CC25ICbF172hEB9hCAPCOM Register 25 Interrupt Control Register0000h
CC26FE74h3AhCAPCOM Register 260000h
CC26ICbF174hEBAhCAPCOM Register 26 Interrupt Control Register0000h
CC27FE76h3BhCAPCOM Register 270000h
CC27ICbF176hEBBhCAPCOM Register 27 Interrupt Control Register0000h
CC28FE78h3ChCAPCOM Register 280000h
CC28ICbF178hEBChCAPCOM Register 28 Interrupt Control Register0000h
CC29FE7Ah3DhCAPCOM Register 290000h
Physical
address
8-bit
address
Description
Reset
value
45/76
Page 46
ST10F168
Table 22 : Special Function Registers listed by name
Name
CC29ICbF184hEC2hCAPCOM Register 29 Interrupt Control Register0000h
CC30FE7Ch3EhCAPCOM Register 300000h
CC30ICbF18ChEC6hCAPCOM Register 30 Interrupt Control Register0000h
CC31FE7Eh3FhCAPCOM Register 310000h
CC31ICbF194hECAhCAPCOM Register 31 Interrupt Control Register0000h
CCM0bFF52hA9hCAPCOM Mode Control Register 00000h
CCM1bFF54hAAhCAPCOM Mode Control Register 10000h
CCM2bFF56hABhCAPCOM Mode Control Register 20000h
CCM3bFF58hAChCAPCOM Mode Control Register 30000h
CCM4bFF22h91hCAPCOM Mode Control Register 40000h
CCM5bFF24h92hCAPCOM Mode Control Register 50000h
CCM6bFF26h93hCAPCOM Mode Control Register 60000h
CCM7bFF28h94hCAPCOM Mode Control Register 70000h
CPFE10h08hCPU Context Pointer RegisterFC00h
CRICbFF6AhB5hGPT2 CAPREL Interrupt Control Register0000h
CSPFE08h04hCPU Code Segment Pointer Register (read only)0000h
DP0LbF100hE80hP0L Direction Control Register00h
DP0HbF102hE81hP0h Direction Control Register00h
DP1LbF104hE82hP1L Direction Control Register00h
DP1HbF106hE83hP1h Direction Control Register00h
DP2bFFC2hE1hPort 2 Direction Control Register0000h
DP3bFFC6hE3hPort 3 Direction Control Register0000h
DP4bFFCAhE5hPort 4 Direction Control Register00h
DP6bFFCEhE7hPort 6 Direction Control Register00h
DP7bFFD2hE9hPort 7 Direction Control Register00h
DP8bFFD6hEBhPort 8 Direction Control Register00h
DPP0FE00h00hCPU Data Page Pointer 0 Register (10-bit)0000h
DPP1FE02h01hCPU Data Page Pointer 1 Register (10-bit)0001h
DPP2FE04h02hCPU Data Page Pointer 2 Register (10-bit)0002h
DPP3FE06h03hCPU Data Page Pointer 3 Register (10-bit)0003h
EXICONbF1C0hEE0hExternal Interrupt Control Register0000h
Watchdog Timer Control Register
CAN Module Interrupt Control Register
X-Peripheral 1 Interrupt Control Register
X-Peripheral 2 Interrupt Control Register
PLL unlock Interrupt Control Register
Notes 1. The value depends on the silicon revision and is described in the chapter XIX.1.
2. The system configuration is selected during reset.
3. Bit WDTR indicates a watchdog timer triggered reset.
4. The XPnIC Interrupt Control Registers control the interrupt requests from integrated X-Bus peripherals. Nodes where no
X-Peripherals are connected may be used to generate software controlled interrupt requests by setting the respective XPnIRbit.
49/76
Page 50
ST10F168
19.1 - Identification Registers
The ST10F168 has four Identification registers, mapped in ESFR space. These register contain:
– A manufacturer identifier,
– A chipidentifier, with its revision,
– A internalmemory and size identifier,
– Programming voltage description.
REVID :Device Revision Identifier - 1h for the first step, 2h for the second step,...
CHIPID:Device Identifier- 0A8h is the identifier of ST10F168.
IDMEM (F07Ah / 3Dh)ESFR
15 14131211109876543210
MEMTYPMEMSIZE
RR
Description
MEMSIZE :Internal Memory Size - 040h for ST10F168 (256K Bytes).
Internal Memory size is 4 * <MEMSIZE> (in K Byte).
MEMTYP:Internal Memory Type - 3h for ST10F168 (Flash memory).
IDPROG (F078h / 3Ch)ESFR
1514131211109876543210
PROGVPPPROGVDD
RR
Description
PROGVDD :Programming VDDVoltage
VDDvoltage when programming EPROM or Flash devices is calculated using the following formula: VDD= 20 * <PROGVDD> / 256 [V] - 40h for ST10F168 (5V).
PROGVPP :Programming VPPVoltage
VPPvoltage when programming EPROM or Flash devices is calculated using the following formula: VPP= 20 * <PROGVDD> / 256 [V] - 9Ah for ST10F168 (12V).
50/76
Page 51
ST10F168
20 - ELECTRICAL CHARACTERISTICS
20.1 - Absolute Maximum Ratings
SymbolParameterValueUnit
V
DD
V
IOVoltage on any pin with respect to ground
I
OV
I
TOVAbsolute Sum of all input currents during overload condition
P
tot
T
A
T
stgStorage Temperature
Note 1. Stresses above those listed under “Absolute Maximum Ratings” may cause permanent damage to the device. This is a stress
rating only and functional operation of the device at these or any other conditions above those indicated in the operational sections
of thisspecification is not implied. Exposure to absolute maximum rating conditions for extended periods may affect device reliability.
During overload conditions (V
defined by the Absolute Maximum Ratings.
Voltage on VDDpins with respect to ground
Input Current on any pin during overload condition
Power Dissipation
1
Ambient Temperature under bias for- Q6
Ambient Temperature under bias for- Q2
1
or VIN<VSS) the voltage on pins with respect to ground (VSS) must not exceed the values
IN>VDD
1
1
1
1
-0.5, +6.5V
-0.5, (VDD+0.5)
-10, +10mA
|100 mA|mA
V
1.5W
1
1
-40, +85
-40, +125
°C
°C
-65, +150°C
20.2 - Parameter Interpretation
The parameters listed in the following tables represent the characteristics of the ST10F168 and its
demands on the system.
Where the ST10F168 logic provides signals with their respective timing characteristics, the symbol “CC”
for Controller Characteristics is included in the “Symbol” column.
Where the external system must provide signals with their respective timing characteristics to the
ST10F168, the symbol “SR” for System Requirement is included in the “Symbol” column.
20.3 - DC Characteristics
VDD=5V±10%, VSS= 0V, Reset active, for Q6 version : TA= -40, +85°C and for Q2 version TA = -40,
+125°C, unless otherwise specified.
SymbolParameterTest ConditionsMin.Max.Unit
V
SR Input low voltage–– 0.5
IL
V
SR Input low voltage (special threshold)–– 0.52.0V
ILS
V
IH
V
IH1
V
IH2
V
IHS
Input high voltage
SR
(all except RSTIN and XTAL1)
SR Input high voltage RSTIN–
SR Input high voltage XTAL1–
SR Input high voltage (special threshold)–
–
0.2 V
0.6 V
0.7 V
0.8 V
DD
DD
0.2 V
+ 0.9VDD+ 0.5
DD
DD
- 0.2VDD+ 0.5
HYSInput Hysteresis (special threshold)–300-mV
1
V
CC
OL
V
OL1
CC
Output low voltage
RD, WR, BHE, CLKOUT, RSTOUT)
Output low voltage
(Port0, Port1, Port4, ALE,
1
(all other outputs)
I
I
OL
OL1
= 2.4mA
= 1.6mA
–0.45V
–0.45V
– 0.1
DD
VDD+ 0.5
VDD+ 0.5
V
V
V
V
V
51/76
Page 52
ST10F168
SymbolParameterTest ConditionsMin.Max.Unit
V
CC
OH
V
R
I
RWH
I
RWL
I
ALEL
I
ALEH
I
I
I
I
CC
OH1
I
CC Input leakage current (Port 5)
OZ1
I
CC Input leakage current (all other)
OZ2
I
SR Overload current
OV
CC
RST
5
7
6
6
6
P6H
7
P6L
6
P0H
7
P0L
1
Output high voltage
(Port0, Port1, Port4, ALE,
RD, WR, BHE, CLKOUT, RSTOUT)
12
Output high voltage
RSTIN pull-up resistor
Read / Write inactive current
Read / Write active current
ALE inactive current
ALE active current
Port 6 inactive current
Port 6 active current
Port 0 configuration current
(all other outputs)
3
6
6
6
6
6
6
6
= – 500µA
I
OH
= –2.4mA
I
OH
I
= – 250µA
OH
I
= – 1.6mA
OH
0V < V
IN<VDD
0V < V
IN<VDD
34
0V < VIN<V
V
= 2.4V
OUT
V
OUT=VOLmax
V
OUT=VOLmax
V
= 2.4V
OUT
V
= 2.4V
OUT
V
OUT=VOL1max
VIN=V
IHmin
VIN=V
ILmax
ILmax
0.9 V
2.4
0.9 V
2.4
DD
DD
–
–
–
–
V
V
V
–±0.5µA
–±1µA
–±5mA
50250kΩ
–-40µA
-500–µA
40–µA
–600µA
–-40µA
-500–µA
–-10µA
-100–µA
I
CC XTAL1 input current
IL
C
CC
IO
I
CC
I
ID
I
PD
I
PPR
I
PPW
11
V
PP
52/76
0V < V
Pin capacitance
6
(digital inputs / outputs)
Power supply current
Idle mode supply current
Power-down mode supply current
f = 1MHz, T
25°C
RSTIN = V
f
in [MHz]
CPU
RSTIN = V
f
in [MHz]
CPU
= 5.5V
V
DD
VPPRead CurrentVPP<V
VPPProgramming / Erasing Current
3
VPP= 12V,
= 25MHz
f
CPU
VPPduring Programming / Erasing Operations
IN<VDD
A
IH1
IH1
10
DD
–±20µA
=
8
9
–10pF
–
–
20 + 6 x f
20 + 3 x f
CPU
CPU
mA
mA
–100µA
–200µA
–20mA
11,412,6V
Page 53
ST10F168
Notes 1. ST10F168 pins are equipped with low-noise output drivers which significantly improve the device’s EMI performance. These
low-noise drivers deliver their maximum current only until the respective target output level is reached. After this, the output current
is reduced. This results in increased impedance ofthe driver, which attenuates electrical noise from the connected PCB tracks. The
current specified in column “Test Conditions” is delivered in all cases.
This specification is not valid foroutputs which are switched to open drain mode. In this case the respective output will float and the
2.
voltage results from the external circuitry.
3. Partially tested
4.
Overload conditions occur if the standard operating conditions are exceeded, i.e. the voltage on any pin exceeds the specified
range (i.e. V
supply voltage must remain within the specified limits.
5.
The maximum current may be drawn while the respective signal line remains inactive.
6.
This specification is only valid during Reset, or during Hold-mode or Adapt-mode. Port 6 pins are only affected if they are used for
CS output and the open drain function is not enabled.
7.
The minimum current must be drawn in order to drive the respective signal lineactive.
8.
The power supply current is a function of the operating frequency. This dependency is illustrated in the Figure 15. These
parameters are tested at V
configured with a demultiplexed 16-bit bus, direct clock drive, 5 chip select lines and 2 segment address lines, EA pin is low during
reset. After reset, Port 0 is driven with the value ‘00CCh’ that produces infinite execution of NOP instruction with 15 wait-state, R/W
delay, memory tristate wait state, normal ALE. Peripherals are not activated.
9.
Idle mode supply current is a function of the operating frequency. This dependency is illustrated in the Figure 15. These
parameters are tested at V
10.
This parameter value includes leakage currents. With all inputs (including pins configured as inputs) at 0 V to 0.1V or at
– 0.1V to VDD,V
V
DD
11.
Apply 12V on VPP10ms after VDDis stable at power up. VPPpin must be switched to 0V before to switch off VDD(5V).
, guaranteed by design characterization.
OV>VDD
+0.5V or VOV<-0.5V). Theabsolute sumof input overload currents on all port pins may not exceed 50mA. The
max and 25MHz CPU clock with all outputs disconnected and all inputs at VIL or VIH. The chip is
DD
max and 25MHz CPU clock with all outputs disconnected and all inputs at VILor VIH.
DD
= 0V, all outputs (including pins configured as outputs) disconnected.
REF
Figure 15 : Supply / idle current as a function of operation frequency
I [mA]
200
100
95
10
I
CCmax
I
IDmax
[MHz]
f
5
10
1520
25
CPU
53/76
Page 54
ST10F168
20.4 - A/D Converter Characteristics
VDD=5V±10%, VSS= 0V, 4.0V ≤ V
≤ VDD+ 0.1V, VSS- 0.1V ≤ V
AREF
≤ VSS+ 0.2V, Q6 version :
AGND
TA= -40, +85°C and for Q2 version TA = -40°C, +125°C, unless otherwise specified
SymbolParameterTest ConditionsMin.Max.Unit
V
SR Analog input voltage range1
AIN
t
CC
S
t
C
Sample time
CC
Conversion time
2
2
34–
54–
V
AGND
TUE CC Total unadjusted error6–± 2LSB
R
R
Notes 1. V
SR Internal resistance of reference voltage sourcetCCin [ns]
AREF
SR Internal resistance of analog sourcetSin [ns]
ASRC
C
CC ADC input capacitance8–33pF
AIN
may exceed V
AIN
X000
or X3FFH, respectively.
H
2. Sample and conversion time are programmable, use table below to calculate values.
3. During the sample time the input capacitance
analog source must allow thecapacitance toreach itsfinal voltage level within
analog input voltage have noeffect on the conversion result.
Values for the sample clock t
AGND
or V
SC
up to the absolute maximum ratings. However, the conversion result in these cases will be
AREF
C
can be charged / discharged by the external source. The internal resistance of the
I
depend on programming and can be taken from the table below.
78
38
t
. After the end of the sample time tS, changes ofthe
S
–
–
14 t
t
CC
t
V
AREF
2t
SC
CC+tCS
/ 165 - 0.25
/ 330 - 0.25
S
+ 4TCL
V
kΩ
kΩ
4. This parameter is fixed by ADC control logic.
5. This parameter includes the sample time t
the conversion result.
Values for the conversion clock t
6. TUE is tested at V
defined voltage range.
The specified TUE is guaranteed only if an overload condition (see IOV specification) occurs on maximum of 2 not selected analog
input pins and the absolute sum of input overload currents on all analog input pins does not exceed 10mA.
During the reset calibration sequence the maximum TUE may be
7. During the conversion the ADC’s capacitance must be repeatedly charged or discharged. The internal resistance of the reference
voltage source must allow the capacitance to reach its respective voltage level within t
from the programmed conversion timing.
8. Partially tested, guaranteed by design characterization.
AREF
=5.0V, V
depend on programming and can be taken from the table below.
CC
AGND
, the time for determining the digital result and the time to load the result register with
S
=0V, VCC= 4.9V. It is guaranteed by design characterization for all other voltages within the
±
4 LSB.
. The maximum internal resistance results
CC
ADC Sample time and conversion time are programmable. The table below should be used to calculate
the above timings.
Conversion TimeSample Time
ADCON.15|14 (ADCTC)
00TCL x 2400
01Reserved, do not use01
10TCL x 9610
11TCL x 4811
AC inputs during testing are driven at 2.4V for a logic ‘1’ and 0.4V for a logic ‘0’.
Timing measurements are made at VIHmin for a logic ‘1’ and VILmax for a logic ‘0’.
Figure 17 : Float waveforms
V
OH
-0.1V
V
V
+0.1V
V
Load
V
Load
Load
-0.1V
Timing
Reference
Points
V
OL
For timing purposes a port pin is no longer floating when V
changes of ±100mV.
LOAD
OH
+0.1V
V
OL
It begins to float when a 100mV change from the loaded VOH/VOLlevel occurs (IOH/IOL= 20mA).
20.5.2 - Definition of Internal Timing
The internal operation of the ST10F168 is
controlled by the internal CPU clock f
CPU
. Both
edges of the CPU clock can trigger internal (e.g.
pipeline) orexternal (e.g. bus cycles) operations.
The specification of the external timing (AC
Characteristics) therefore depends on the time
between two consecutive edgesof the CPU clock,
called “TCL” (see Figure 18).
The CPU clock signal can be generated by
different mechanisms. The duration of TCL and its
variation (and also the derived external timing)
depends on the mechanism used to generate
f
.
CPU
This influence must be regarded when calculating
the timings for the ST10F168.
The example for PLL operation shown in the
Figure 18 refers to a PLL factor of 4.
The mechanism used to generate the CPU clock
is selected during reset by the logic levels on pins
P0.15-13 (P0H.7-5).
55/76
Page 56
ST10F168
Figure 18 : Generation Mechanisms for the CPU Clock
Phase locked loop operation
f
XTAL
f
CPU
Direct Clock Drive
f
XTAL
f
CPU
Prescaler Operation
f
XTAL
f
CPU
TCL TCL
TCL TCL
TCLTCL
20.5.3 - Clock Generation Modes
The Table 23 associates the combinations of these three bit with the respective clock generation mode.
Table 23 : CPU FrequencyGeneration
P0H.7 P0H.6 P0H.5
111
110
101
100
011
010
001
000
Notes 1. The external clock input range refers to a CPU clock range of 1...25MHz.
2. The maximum depends on the duty cycleof the external clock signal.
3. The maximum input frequency is 25MHz when using an external crystal with the internal oscillator; providing that internal serial
resistance of the crystal is less than 40Ω. However, higher frequencies can be applied with an external clock source, but in this case,
the input clock signal must reach the defined levels V
CPU Frequency f
F
XTAL
F
XTAL
F
XTAL
F
XTAL
F
XTAL
F
XTAL
F
XTAL
F
XTAL
CPU=fXTAL
x4
x3
x2
x5
x1
x 1.5
/2
x 2.5
IL
xF
External Clock InputRange
2.5 to 6.25MHzDefault configuration
3.33 to 8.33MHz
5 to 12.5MHz
2 to 5MHz
1 to 25MHz
6.66 to 16.6MHz
2 to 50MHz
4 to 10MHz
and V
IH2.
1
Direct drive
Notes
2
CPU clock via prescaler
3
56/76
Page 57
ST10F168
20.5.4 - Prescaler Operation
When pins P0.15-13 (P0H.7-5) equal ’001’ during
reset, the CPU clock is derived from the internal
oscillator (input clock signal) by a 2:1 prescaler.
The frequency of f
f
and the high and low time of f
XTAL
is half the frequency of
CPU
CPU
(i.e. the
duration of an individual TCL) is defined by the
period of the input clock f
XTAL
.
The timings listed in the AC Characteristics that
refer to TCL therefore can be calculated using the
period of f
for any TCL.
XTAL
Note that if the bit OWDDIS in SYSCON register
is cleared, the PLL runs on its free-running
frequency and delivers the clock signal for the
Oscillator Watchdog. If bit OWDDIS is set, then
the PLL is switched off.
20.5.5 - Direct Drive
When pins P0.15-13 (P0H.7-5) equal ’011’ during
reset the on-chip phase locked loop is disabled and
the CPU clock is directly driven from the internal
oscillatorwith the input clock signal.
The frequency of f
frequency of f
f
(i.e. the duration of an individual TCL) is
CPU
so the high and low time of
XTAL
defined by the duty cycle of the input clock f
directly follows the
CPU
XTAL
.
Therefore, the timings given in this chapter refer
to the minimum TCL. This minimum value can be
calculated by the following formula:
TC L
min
1f⁄
XTAL
DC
×=
min
DCduty cycle=
For two consecutive TCLs, the deviation caused
by the duty cycle of f
duration of 2TCL is always 1/f
value TCL
has to beused only once for timings
min
is compensated, so the
XTAL
. The minimum
XTAL
that require an odd number of TCLs (1,3,...).
Timings that require an even number of TCLs
(2,4,...) may use the formula:
2TCL1 f
⁄=
XTAL
NoteThe address float timings in Multiplexed
bus mode (t11and t45) use the maximum
duration of TCL (TCL
DC
) insteadof TCL
max
min
max
.
=1/f
XTAL
If bit OWDDIS in the SYSCON register is cleared,
the PLL runs on its free-running frequency and
delivers the clock signal for the Oscillator
Watchdog. If bit OWDDIS is set, then the PLL is
switched off.
20.5.6 - Oscillator Watchdog (OWD)
When the clock option selected is direct drive or
direct drive with prescaler, in order to provide afail
safe mechanism in case of a loss of the external
clock, an oscillator watchdog is implemented as
an additional functionality of the PLLcircuitry. This
oscillator watchdog operates as follows :
After a reset, the Oscillator Watchdog is enabled
by default. To disable the OWD, the bit OWDDIS
(bit 4 of SYSCON register) must be set.
When the OWD is enabled, the PLL runs on its
free-running frequency, andincrements the
Oscillator Watchdog counter. On each transition
of XTAL1 pin, the Oscillator Watchdog is cleared.
If an external clock failure occurs, then the
Oscillator Watchdog counter overflows (after 16
PLL clock cycles). The CPU clock signal will be
switched to the PLL free-running clock signal, and
theOscillatorWatchdogInterruptRequest
(XP3INT) is flagged. The CPU clock will not
switch back to the external clock even if a valid
external clock exits on XTAL1 pin. Only a
hardware reset can switch the CPU clock source
back to direct clock input.
When the OWD is disabled, the CPU clock is
always fed from the oscillator input and the PLL is
switched off to decrease power supply current.
20.5.7 - Phase Locked Loop
For all other combinations of pins P0.15-13
(P0H.7-5) during reset the on-chip phase locked
loop is enabled and provides the CPU clock (see
Table 23).
The PLL multiplies the input frequency by the
factor F which is selected via the combination of
pins P0.15-13 (i.e. f
CPU=fXTAL
F’thtransitionoff
XTAL
x F). With every
thePLLcircuit
synchronizes the CPU clock to the input clock.
This synchronization is done smoothly, i.e. the
CPU clock frequency does not change abruptly.
Due to this adaptation to the input clock the
frequency of f
locked to f
x
of f
XTAL
which also effects the duration of
CPU
is constantly adjusted so it is
CPU
. Theslight variation causes a jitter
individual TCL.
The timings listed in the AC Characteristics that
refer to TCL therefore must be calculated using
the minimum TCL that is possible under the
respective circumstances.
57/76
Page 58
ST10F168
The real minimum value for TCL depends on the
jitter of the PLL. The PLL tunes f
locked on f
. The relative deviation of TCL is
XTAL
CPU
to keep it
the maximum when it is refered to one TCL
period. It decreases according to the formula and
to the Figure 19 given below. ForNperiods of
TCL the minimum value is computed using the
corresponding deviation DN:
D
N
-------------–
TCL
MIN
D
N
TCL
4N15)%[]⁄–(±=
NOM
×=
1
100
Figure 19 : Approximated maximum PLL jitter
Max.jitter[%]
±4
±3
±2
±1
42
8
where N = number of consecutive TCL periods
and 1 ≤ N ≤ 40. So for a period of 3 TCL periods
(N = 3):
D
3
3TCL
3TCL
= 4 - 3/15 = 3.8%
= 3TCL
min
= 3TCL
= (57.72ns at f
min
x (1 -3.8/100)
NOM
x 0.962
NOM
CPU
= 25MHz)
Thisis especiallyimportant for bus cyclesusing wait
states and e.g. for the operation of timers, serial
interfaces, etc. For all slower operationsand longer
periods (e.g.pulsetraingeneration or measurement,
lower Baud rates, etc.) the deviation caused by the
PLLjitter is negligible (see Figure19).
Thisapproximated formulais valid for
1 < N < 40and10MHz < f
CPU
< 25MHz.
3216
N
20.5.8 - External Clock Drive XTAL1
VDD=5V±10%, VSS= 0V, for Q6 version : TA= -40, +85°C and for Q2 version TA = -40, +125°C, unless
otherwise specified.
f
CPU=fXTAL
N=1.5/2/2.5/3/4/5
SymbolParameter
f
CPU=fXTALfCPU=fXTAL
/2
Min.Max.Min.Max.Min.Max.
t
Notes 1. Theoretical minimum. The real minimum value depends on the duty cycle of the input clock signal.
SR Oscillator period
OSC
t
SR High time
1
t
SR Low time
2
t
SR Rise time–
3
t
SR Fall time–
4
2. The input clock signal must reach the defined levels V
40
18
18
1
10002050040 x N100 x Nns
2
2
IL
10
10
and V
–
–
2
2
IH2
2
6
2
6
–
–
.
–
–
2
6
2
6
10
10
–
–
2
2
xN
Unit
–ns
–ns
10
10
2
2
ns
ns
Figure 20 : External clock drive XTAL1
IH2
t
3
V
IL
t
2
t
OSC
t
1
V
t
4
58/76
Page 59
ST10F168
20.5.9 - Memory Cycle Variables
The tables below use three variables which are derived from the BUSCONx registers and which
represent the special characteristics of the programmed memory cycle. The following table describes
how these variables are computed.
SymbolDescriptionValues
t
A
t
C
t
20.5.10 - Multiplexed Bus
VDD=5V±10%, VSS=0V, for Q6 version: TA=-40,+85°C and for Q2version TA= -40, +125°C, CL= 100pF,
ALE cycle time = 6 TCL+ 2t
unlessotherwise specified.
Table 24 : Multiplexed bus characteristics
ALE ExtensionTCL x <ALECTL>
Memory Cycle Time wait states2TCL x (15 - <MCTC>)
Memory Tristate Time2TCL x (1 - <MTTC>)
F
A+tC+tF
(120nsat 25MHz CPU clock withoutwait states),
Max. CPU Clock
SymbolParameter
Min.Max.Min.Max.
CC ALE high time10 + t
t
5
t
CC Address setup to ALE4 + t
6
t
CC Address hold after ALE10 + t
7
t
CC ALE falling edge to RD, WR
8
t
9
t
10
(with RW-delay)
CC ALE falling edge to RD, WR
(no RW-delay)
CC
Address float after RD, WR
1
10 + t
-10 + t
–6–6ns
(with RW-delay)
t
CC
11
Address float after RD, WR
1
–26–TCL + 6ns
(no RW-delay)
CC RD, WR low time (with RW-delay)30 + t
t
12
t
CC RD, WR low time (no RW-delay)50 + t
13
t
SR RD to valid data in (with RW-delay)–20 + t
14
t
SR RD to valid data in (no RW-delay)–40 + t
15
25MHz
A
A
A
A
A
C
C
Variable CPU Clock
1/2 TCL = 1 to 25MHz
–TCL-10+t
–TCL -16+ t
–TCL-10+t
–TCL-10+t
–-10 + t
–2TCL - 10 + t
–3TCL - 10 + t
C
C
A
A
A
A
A
C
C
–2TCL - 20+ tCns
–3TCL - 20+ tCns
Unit
–ns
–ns
–ns
–ns
–ns
–ns
–ns
t
SR ALE low to valid data in–40 + tA+t
16
SR Address / Unlatched CS to valid data in–50 + 2tA+t
t
17
t
SR Data hold after RD rising edge0–0–ns
18
t
SR
19
Data float after RD
1
–26+t
C
C
F
–3TCL - 20
+t
A+tC
–4TCL - 30
+2t
A+tC
–2TCL - 14 + tFns
ns
ns
59/76
Page 60
ST10F168
Table 24 : Multiplexed bus characteristics (continued)
Max. CPU Clock
SymbolParameter
25MHz
Min.Max.Min.Max.
t22CC Data valid to WR20 + t
t
CC Data hold after WR26 + t
23
t
CC ALE rising edge after RD,WR26 + t
25
t
CC Address / Unlatched CS hold
27
t
38
t
39
t
40
t
42
t
43
t
44
after RD, WR
CC ALE falling edge to Latched CS-4 -t
SR Latched CS low to Valid Data In–40 + tC+2t
CC Latched CS hold after RD, WR46 + t
CC ALE fall. edge to RdCS, WrCS
(with RW delay)
CC ALE fall. edge to RdCS, WrCS
(no RW delay)
CC
Address float after RdCS, WrCS
1
C
F
F
26 + t
F
A
F
16 + t
A
-4 + t
A
–0–0ns
(with RW delay)
CC
t
45
Address float after RdCS, WrCS
1
–20–TCLns
(no RW delay)
Variable CPU Clock
1/2 TCL = 1 to 25MHz
–2TCL - 20 + t
–2TCL - 14 + t
–2TCL - 14 + t
–2TCL - 14 + t
10 - t
A
-4 - t
A
–3TCL - 14 + t
–TCL-4+t
–-4+t
C
F
F
F
A
–3TCL - 20
F
A
A
Unit
–ns
–ns
–ns
–ns
10 - t
A
ns
ns
+t
+2t
C
A
–ns
–ns
–ns
t
SR RdCS to Valid Data In (with RW delay)–16 +t
46
t
SR RdCS to Valid Data In (no RW delay)–36 +t
47
t
CC RdCS, WrCS Low Time (with RW delay)30 + t
48
t
CC RdCS, WrCS Low Time (no RW delay)50 + t
49
t
CC Data valid to WrCS26 + t
50
t
SR Data hold after RdCS0–0–ns
51
t
SR
52
t
54
t
56
Note 1. Partially tested, guaranteed by design characterization.
Data float after RdCS
CC Address hold after RdCS, WrCS20 + t
CC Data hold after WrCS20 + t
1
C
C
C
–20+t
F
F
C
C
–2TCL - 10 + t
–3TCL - 10 + t
–2TCL-14+t
F
–2TCL - 20 + t
–2TCL - 20 + t
–2TCL-24+t
–3TCL-24+t
C
C
C
–2TCL - 20 + tFns
F
F
ns
C
ns
C
–ns
–ns
–ns
–ns
–ns
60/76
Page 61
ST10F168
Figure 21 : External Memory Cycle : multiplexed bus, with / without read/write delay, normalALE
CLKOUT
ALE
CSx
A23-A16
(A15-A8)
BHE
Read Cycle
BUS (P0)
RD
t
t
5
6
t
6
t
6m
t
38
Address
t
9
t
16
t
17
t
39
t
17
t
25
t
40
t
27
t
27
Address
t
16
t
7
t
t
8
10
t
14
t
12
t
13
t
11
Data In
t
18
Address
t
19
Write Cycle
BUS (P0)
WR
WRL
WRH
t
15
t
23
Data OutAddress
t
8
t
9
t
t
22
t
12
13
61/76
Page 62
ST10F168
Figure 22 : External Memory Cycle: multiplexed bus, with / without read/write delay, extended ALE
CLKOUT
ALE
CSx
A23-A16
(A15-A8)
BHE
Read Cycle
BUS (P0)
RD
t
t
6
t
6
t
6
5
Address
t
16
t
38
t
17
t
39
t
17
t
25
t
40
t
27
Address
t
27
t
7
Data In
t
t
8
t
9
t
10
t
11
t
14
18
t
19
Write Cycle
BUS (P0)
WR
WRL
WRH
62/76
Address
t
9
t
15
t
12
t
13
Data Out
t
23
t
8
t
10
t
11
t
13
t
22
t
12
Page 63
ST10F168
Figure 23 : External Memory Cycle: multiplexed bus, with / without read/write delay, normal ALE,
read/write chip select
CLKOUT
ALE
A23-A16
(A15-A8)
BHE
Read Cycle
BUS (P0)
RdCSx
t
5
t
6
t
6
Address
t
42
t
43
t
16
t
17
t
25
t
27
Address
t
16
t
7
t
44
t
46
t
48
t
49
t
45
Data In
t
51
Address
t
52
Write Cycle
BUS (P0)
WrCSx
t
47
t
56
Data OutAddress
t
42
t
43
t
t
50
t
48
49
63/76
Page 64
ST10F168
Figure 24 : External Memory Cycle: multiplexed bus, with / without read/write delay, extended ALE,
read/write chip select
CLKOUT
ALE
A23-A16
(A15-A8)
BHE
Read Cycle
BUS (P0)
RdCSx
t
6
t
6
t
5
Address
t
t
43
17
t
t
Address
7
t
42
16
t
25
t
54
Data In
t
t
44
t
45
t
t
46
t
48
47
t
49
18
t
19
Write Cycle
BUS (P0)
WrCSx
64/76
Address
Data Out
t
42
t
43
t
44
t
45
t
49
t
50
t
48
t
56
Page 65
ST10F168
20.5.11 - Demultiplexed Bus
VDD=5V±10%, VSS= 0V, for Q6 version : TA= -40, +85°C and for Q2 version TA= -40, +125°C, CL=
100pF, ALE cycle time = 4 TCL + 2tA+tC+tF(80ns at 25MHz CPU clock without wait states), unless
otherwise specified.
Table 25 : Demultiplexed bus characteristics
SymbolParameter
Max. CPU Clock
25MHz
Variable CPU Clock
1/2 TCL = 1 to 25MHz
Min.Max.Min.Max.
t
CC ALE high time10 + t
5
t
CC Address setup to ALE4 + t
6
t
CC Address /Unlatched CS setup to RD, WR
80
t
81
t
12
t
13
t
14
t
15
t
16
t
17
t
18
(with RW-delay)
CC Address / Unlatched CS setup to RD, WR
(no RW-delay)
CC RD, WR low time (with RW-delay)30 + t
CC RD, WR low time (no RW-delay)50 + t
SR RD to valid data in (with RW-delay)–20 + t
SR RD to valid data in (no RW-delay)–40 + t
SR ALE low to valid data in–40 + tA+t
SR Address / Unlatched CS to valid data in–50 + 2tA+t
SR Data hold after RD rising edge0–0–ns
30 + 2t
10 + 2t
A
A
A
A
C
C
–TCL -10+ t
–TCL -16+ t
–2TCL - 10 + 2t
–TCL -10 +2t
–2TCL - 10 + t
–3TCL - 10 + t
C
C
C
C
–2TCL-20+t
–3TCL-20+t
–3TCL - 20
–4TCL - 30
A
A
A
A
C
C
–ns
–ns
–ns
–ns
–ns
–ns
+t
A+tC
+2t
A+tC
Unit
ns
C
ns
C
ns
ns
t
SR Data float after RD rising edge
20
(with RW-delay)
SR Data float after RD rising edge
t
21
(no RW-delay)
CC Data valid to WR20 + t
t
22
t
CC Data hold after WR10 + t
24
t
CC ALE rising edge after RD,WR-10 + t
26
t
CC
28
t
28h
t
38
Address / UnlatchedCShold after RD,WR
CC Address / Unlatched CS hold after WRH-5 + t
CC ALE falling edge to Latched CS-4 -t
12
12
–26+t
–10+t
C
F
F
3
0 (no tF)
-5 + t
F
(tF>0)
F
A
F
F
–2TCL- 20 +t
–TCL-10+t
–-10+t
–2TCL - 14
–TCL-10
C
F
F
–0 (no tF)
-5 + tF(tF>0)
–-5+t
10 - t
A
F
-4 - t
A
ns
F
+2t
A
1
+t
ns
F
+2t
A
1
+t
–ns
–ns
–ns
–ns
–ns
10 - t
A
ns
65/76
Page 66
ST10F168
Table 25 : Demultiplexed bus characteristics (continued)
SymbolParameter
Max. CPU Clock
25MHz
Variable CPU Clock
1/2 TCL = 1 to 25MHz
Min.Max.Min.Max.
t39SR Latched CS low to Valid Data In–40 + tC+2t
CC Latched CS hold after RD, WR6 + t
t
41
t
CC Address setup to RdCS, WrCS
82
t
83
t
46
t
47
t
48
t
49
t
50
t
51
t
53
t
68
(with RW-delay)
CC Address setup to RdCS, WrCS
(no RW-delay)
SR RdCS to Valid Data In (with RW-delay)–16 + t
SR RdCS to Valid Data In (no RW-delay)–36 + t
CC RdCS, WrCS Low Time (with RW-delay)30 + t
CC RdCS, WrCS Low Time (no RW-delay)50 + t
CC Data valid to WrCS26 + t
SR Data hold after RdCS0–0–ns
SR
Data float after RdCS (with RW-delay)
SR
Data float after RdCS (no RW-delay)
2
2
F
26 + 2t
A
6+2t
A
C
C
C
–20+t
–0+t
A
–TCL - 14 + t
–2TCL - 14 + 2t
–TCL -14 +2t
C
C
–2TCL - 10 + t
–3TCL - 10 + t
–2TCL - 14 + t
F
F
–3TCL - 20
+t
+2t
C
F
A
A
–ns
–ns
–ns
–2TCL-24+t
–3TCL-24+t
C
C
C
–ns
–ns
–ns
–2TCL - 20 + tFns
–TCL-20+t
Unit
A
C
C
F
ns
ns
ns
ns
t
CC Address hold after RdCS, WrCS-10 + t
55
t
CC Data hold after WrCS6 + t
57
Notes 1. RW-delay and tArefer to the following bus cycle.
2. Partially tested, guaranteed by design characterization.
3. Read data is latched with the same clock edge that triggers the address change and the rising RD edge. Therefore address
changes before the end of RD have no impact on read cycles.
F
F
–-10+t
–TCL - 14 + t
F
F
–ns
–ns
66/76
Page 67
ST10F168
Figure 25 : External Memory Cycle: demultiplexed bus, with / without read/write delay, normal ALE
CLKOUT
ALE
CSx
A23-A16
(A15-A8)
BHE
Read Cycle
Data Bus (P0)
RD
t
5
t
6
t
38
t
6
t
16
t
17
t
39
t
17
t
26
t
41
t
41u
t
28
Address
t
18
Data In
t
80
t
81
t
14
t
15
t
20
t
21
Write Cycle
Data Bus (P0)
WR
WRL
WRH
t
12
t
13
Data Out
t
80
t
81
t
13
t
t
12
t
22
24
67/76
Page 68
ST10F168
Figure 26 : External Memory Cycle: demultiplexed bus, with / without read/write delay, extended ALE
CLKOUT
ALE
CSx
A23-A16
(A15-A8)
BHE
Read Cycle
t
5
t
6
t
38
t
6
t
17
t
16
t
17
t
39
Address
t
26
t
41
t
28
t
28
t
18
Data Bus
(P0)
RD
Write Cycle
Data Bus
(P0)
WR
WRL
WRH
Data In
t
80
t
81
t
14
t
15
t
12
t
13
t
20
t
21
Data Out
t
80
t
81
t
13
t
22
t
12
t
24
68/76
Page 69
ST10F168
Figure 27 : External Memory Cycle: demultiplexed bus, with / without read/write delay, normal ALE,
VDD=5V±10%, VSS= 0V, for Q6 version : TA= -40, +85°C and for Q2 version TA= -40, +125°C, CL=
100pF, unless otherwise specified
Table 26 : CLKOUT and READY characteristics
SymbolParameter
Max. CPU Clock
25MHz
Variable CPU Clock
1/2 TCL = 1 to 25MHz
Min.Max.Min.Max.
CC CLKOUT cycle time40402TCL2TCLns
t
29
CC CLKOUT high time14–TCL – 6–ns
t
30
CC CLKOUT low time10–TCL – 10–ns
t
31
CC CLKOUT rise time–4–4ns
t
32
CC CLKOUT fall time–4–4ns
t
33
CC CLKOUT rising edge to ALE falling edge-3 + t
t
34
SR Synchronous READY setup time to CLKOUT14–14–ns
t
35
SR Synchronous READY hold time after CLKOUT4–4–ns
t
36
SR Asynchronous READY low time54–2TCL + 14–ns
t
37
SR
t
58
t
59
t
60
Asynchronous READY setup time
SR
Asynchronous READY hold time
SR Async. READY hold time after RD, WR high
(Demultiplexed Bus)
2
1
1
14–14–ns
4– 4–ns
00+2t
A
+7 + t
+tC+t
A
A
2
F
-3 + t
A
+7 + t
0TCL-20
+2t
+tC+t
A
Unit
A
ns
ns
2
F
Notes 1. These timings aregiven for test purposes only, in orderto assure recognition at a specific clock edge.
2. Demultiplexed bus is the worst case. For multiplexed bus 2TCL are to be added to the maximum values. This adds even more time
for deactivating READY.
and tCrefer to the next following bus cycle, tFrefers to the current bus cycle.
The 2t
A
71/76
Page 72
ST10F168
Figure 29 : CLKOUT and READY
CLKOUT
ALE
RD, WR
Synchronous
READY
Asynchronous
READY
29
t
35
READY
wait state
t
36
3)
Running cycle 1)
t
32
t
30
t
34
t
58
t
59
3)
t
33
t
t
31
2)
t
t
35
58
t
36
3)
t
59
3)
t
37
5)
MUX / Tristate 6)
t
4)
60
6)
7)
Notes 1. Cycle as programmed, including MCTC waitstates (Example shows 0 MCTC WS).
2. The leading edge of the respective command depends on RW-delay.
3. READY sampled HIGH at this sampling point generates a READY controlled wait state, READY sampled LOW at this sampling
point terminates the currently running bus cycle.
4. READY may be deactivated in response to the trailing (rising) edge of the corresponding command (RD or WR).
5. If the Asynchronous READY signal does not fulfill the indicated setup and hold times with respect to CLKOUT (e.g. because
CLKOUT is not enabled), it must fulfill t
to the command (see Note 4)).
6. Multiplexed bus modes have a MUX wait state added after a bus cycle, and an additional MTTC wait state may be inserted here.
For a multiplexed bus with MTTC wait state this delay is 2 CLKOUT cycles, for a demultiplexed bus without MTTC wait state this
delay is zero.
7. The next external bus cycle may start here.
37
in order to be safely synchronized. This is guaranteed, if READY is removed in response
72/76
Page 73
ST10F168
20.5.13 - External Bus Arbitration
VDD=5V±10%, VSS= 0V, for Q6 version : TA= -40, +85°C and for Q2 version TA = -40, +125°C, CL=
100pF, unless otherwise specified.
Max. CPU Clock
SymbolParameter
SR HOLD input setup time to CLKOUT20–20–ns
t
61
t
CC CLKOUT to HLDA high or BREQ low delay–20–20ns
62
t
CC CLKOUT to HLDA low or BREQ high delay–20–20ns
63
t
CC
64
t
65
t
66
t
67
Note 1. Partially tested, guaranted by design characterization.
CSx release
CC CSx drive-424-424ns
CC
Other signals release
CC Other signals drive-424-424ns
1
1
25MHz
Min.Max.Min.Max.
–20 – 20ns
–20 – 20ns
Variable CPU Clock
1/2 TCL = 1 to 25MHz
Figure 30 : External bus arbitration,releasing the bus
CLKOUT
t
61
HOLD
t
63
Unit
HLDA
BREQ
CSx
(P6.x)
Others
Notes 1. The ST10F168 will complete the currently running bus cycle before granting bus access.
2. This is the firstpossibility for BREQ to become active.
3. The CS outputs will be resistive high (pullup) after
1)
t
62
2)
t
64
3)
t
1)
t
.
64
66
73/76
Page 74
ST10F168
Figure 31 : External bus arbitration,(regaining the bus)
CLKOUT
HOLD
HLDA
BREQ
CSx
(P6.x)
Others
2)
t
61
t
62
t
62
t
62
1)
t
63
t
65
t
67
Notes 1. This is the last opportunity for BREQ to trigger the indicated regain-sequence.
Even if BREQ is activated earlier, the regain-sequence is initiated by HOLD going high.
Please note that HOLD may also be deactivated without the ST10F168 requesting the bus.
2. The next ST10F168 driven bus cycle may start here.
74/76
Page 75
21 - PACKAGE MECHANICAL DATA
Figure 32 : Package Outline PQFP144 (28 x 28mm)
1. Package dimensions are in mm. The dimensions quoted in inches are rounded.
c
L1
L
K
Inches (approx)
22 - ORDERING INFORMATION
Sales typeTemperature rangePackage
ST10F168-Q6-40°Cto85°CPQFP144 (28 x 28mm)
ST10F168-Q2-40°Cto125°CPQFP144 (28 x 28mm)
75/76
Page 76
ST10F168
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 ofthird parties which may resultfrom
its use. No license is granted by implication or otherwise under any patent or patent rights of STMicroelectronics. Specifications
mentioned in this publication are subject to change without notice. This publication supersedes and replaces all information
previously supplied. STMicroelectronics products are not authorized for use as critical components in life support devices or
systems without express written approval of STMicroelectronics.
The ST logo is a registered trademark of STMicroelectronics
2000 STMicroelectronics - All Rights Reserved
STMicroelectronics GROUP OF COMPANIES
Australia - Brazil - China - Finland - France - Germany - Hong Kong - India - Italy - Japan - Malaysia - Malta - Morocco
Singapore - Spain - Sweden - Switzerland - United Kingdom - U.S.A.
http://www.st.com
76/76
Loading...
+ hidden pages
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.