MC68HC708XL36 [FREESCALE]

HCMOS Microcontroller Unit; HCMOS微控制器单元
MC68HC708XL36
型号: MC68HC708XL36
厂家: Freescale    Freescale
描述:

HCMOS Microcontroller Unit
HCMOS微控制器单元

微控制器
文件: 总376页 (文件大小:2207K)
中文:  中文翻译
下载:  下载PDF数据表文档文件
Freescale Semiconductor, Inc.  
MC68HC708XL36/D  
HC 8  
MC68HC708XL36  
HCMOS Mic roc ontrolle r Unit  
TECHNICAL DATA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
\
List of Se c tions  
List of Se c tions  
Ta b le of Conte nts. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5  
Introd uc tion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11  
Me m ory Ma p . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21  
Ra nd om Ac c e ss Me m ory (RAM) . . . . . . . . . . . . . . . . . . 33  
Nonvola tile Me m ory (EPROM) . . . . . . . . . . . . . . . . . . . . 35  
Config ura tion Re g iste r (CONFIG). . . . . . . . . . . . . . . . . . 39  
Ce ntra l Proc e ssor Unit (CPU) . . . . . . . . . . . . . . . . . . . . . 41  
Re se ts a nd Inte rrup ts . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57  
Low-Powe r Mod e s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73  
Cloc k Ge ne ra tor Mod ule (CGM). . . . . . . . . . . . . . . . . . 83  
Dire c t Me m ory Ac c e ss Mod ule (DMA) . . . . . . . . . . . . 111  
Bre a k Mod ule (BRK) . . . . . . . . . . . . . . . . . . . . . . . . . . . 149  
Monitor ROM (MON) . . . . . . . . . . . . . . . . . . . . . . . . . . . 157  
Tim e r Inte rfa c e Mod ule (TIM) . . . . . . . . . . . . . . . . . . . . 171  
Se ria l Pe rip he ra l Inte rfa c e Mod ule (SPI) . . . . . . . . . . . 201  
Se ria l Com m unic a tions Inte rfa c e Mod ule (SCI). . . . . 235  
Inp ut/ Outp ut Ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283  
© Motorola, Inc., 1996  
MOTOROLA  
MC68HC708XL36  
List of Sections  
3
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
List of Se c tions  
Com p ute r Op e ra ting Prop e rly Mod ule (COP) . . . . . . 305  
Exte rna l Inte rrup t Mod ule (IRQ) . . . . . . . . . . . . . . . . . . 311  
Ke yb oa rd Inte rrup t Mod ule (KB) . . . . . . . . . . . . . . . . . 321  
Low-Volta g e Inhib it Mod ule (LVI) . . . . . . . . . . . . . . . . 329  
Sp e c ific a tions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333  
Glossa ry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351  
Ind e x. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363  
Lite ra ture Up d a te s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 371  
MC68HC708XL36  
4
List of Sections  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Ta b le of Conte nts  
Ta b le of Conte nts  
Introduction  
Memory Map  
Contents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11  
Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .12  
MCU Block Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .13  
Pin Assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .15  
Pin Functions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .17  
Contents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .21  
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .22  
Unimplemented Memory Locations . . . . . . . . . . . . . . . . . . . . . . . . . . . .22  
Reserved Memory Locations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .22  
Input/Output (I/O) Section . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .24  
RAM  
Contents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .33  
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .33  
Functional Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .33  
EPROM  
Contents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .35  
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .35  
Functional Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .36  
EPROM Control Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .37  
EPROM Programming Sequence . . . . . . . . . . . . . . . . . . . . . . . . . . . .38  
CONFIG Register  
Contents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .39  
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .39  
Functional Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .39  
MC68HC708XL36  
MOTOROLA  
Table of Contents  
5
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Ta b le of Conte nts  
CPU  
Contents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .41  
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .41  
Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .42  
CPU Registers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .42  
Arithmetic/Logic Unit (ALU) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .48  
Low-Power Modes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .48  
CPU During Break Interrupts. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .49  
Instruction Set Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .49  
Opcode Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .55  
Resets  
and Interrupts  
Contents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .57  
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .58  
Resets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .58  
Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .62  
Low-Power Modes  
Contents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .73  
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .74  
Central Processor Unit (CPU) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .74  
Clock Generator Module (CGM) . . . . . . . . . . . . . . . . . . . . . . . . . . . . .75  
Break Module (BRK) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .75  
Computer Operating Properly Module (COP) . . . . . . . . . . . . . . . . . . .76  
Direct Memory Access Module (DMA) . . . . . . . . . . . . . . . . . . . . . . . .76  
External Interrupt Module (IRQ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . .77  
Keyboard Interrupt Module (KB) . . . . . . . . . . . . . . . . . . . . . . . . . . . . .77  
Low-Voltage Inhibit Module (LVI) . . . . . . . . . . . . . . . . . . . . . . . . . . . .78  
Serial Communications Interface Module (SCI) . . . . . . . . . . . . . . . . .78  
Serial Peripheral Interface Module (SPI). . . . . . . . . . . . . . . . . . . . . . .79  
Timer Interface Module (TIM) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .79  
Exiting Wait Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .80  
Exiting Stop Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .82  
CGM  
Contents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .83  
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .84  
Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .85  
Functional Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .86  
I/O Signals. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .96  
CGM Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .98  
MC68HC708XL36  
6
Table of Contents  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Table of Contents  
Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .104  
Low-Power Modes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .105  
CGM During Break Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .106  
Acquisition/Lock Time Specifications . . . . . . . . . . . . . . . . . . . . . . . .106  
DMA  
Contents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .111  
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .112  
Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .112  
Functional Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .113  
Low-Power Modes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .130  
DMA During Break Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .131  
DMA Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .132  
BRK  
Contents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .149  
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .149  
Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .150  
Functional Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .150  
Low-Power Modes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .153  
Break Module Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .153  
MON  
TIM  
Contents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .157  
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .157  
Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .158  
Functional Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .158  
Security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .169  
Contents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .171  
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .172  
Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .172  
Pin Name Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .173  
Functional Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .173  
Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .183  
Low-Power Modes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .184  
TIM During Break Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .185  
I/O Signals. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .186  
I/O Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .187  
MC68HC708XL36  
MOTOROLA  
Table of Contents  
7
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Ta b le of Conte nts  
SPI  
Contents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .201  
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .202  
Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .202  
Pin Name Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .203  
Functional Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .204  
Transmission Formats. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .208  
Queuing Transmission Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .213  
Error Conditions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .214  
Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .221  
Resetting the SPI. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .222  
Low-Power Modes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .223  
SPI During Break Interrupts. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .224  
I/O Signals. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .225  
I/O Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .228  
SCI  
Contents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .235  
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .236  
Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .237  
Pin Name Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .238  
Functional Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .238  
Low-Power Modes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .261  
SCI During Break Module Interrupts . . . . . . . . . . . . . . . . . . . . . . . . .262  
I/O Signals. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .263  
I/O Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .263  
I/O Ports  
Contents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .283  
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .284  
Port A. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .286  
Port B. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .288  
Port C . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .290  
Port D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .292  
Port E. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .294  
Port F. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .297  
Port G . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .300  
Port H . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .303  
MC68HC708XL36  
8
Table of Contents  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Table of Contents  
COP  
Contents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .305  
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .305  
Functional Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .306  
I/O Signals. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .307  
COP Control Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .308  
Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .309  
Monitor Mode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .309  
Low-Power Modes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .309  
COP Module During Break Interrupts . . . . . . . . . . . . . . . . . . . . . . . .310  
IRQ  
Contents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .311  
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .311  
Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .312  
Functional Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .312  
Low-Power Modes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .317  
IRQ Module During Break Interrupts . . . . . . . . . . . . . . . . . . . . . . . . .318  
IRQ Status and Control Register. . . . . . . . . . . . . . . . . . . . . . . . . . . .318  
KBI  
Contents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .321  
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .321  
Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .321  
Functional Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .323  
Keyboard Initialization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .325  
Low-Power Modes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .326  
Keyboard Module During Break Interrupts . . . . . . . . . . . . . . . . . . . .326  
I/O Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .327  
LVI  
Contents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .329  
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .329  
Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .329  
Functional Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .330  
LVI Status Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .331  
LVI Interrupts. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .332  
Low-Power Modes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .332  
MC68HC708XL36  
MOTOROLA  
Table of Contents  
9
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Ta b le of Conte nts  
Specifications  
Contents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .333  
Preliminary Electrical Specifications . . . . . . . . . . . . . . . . . . . . . . . . .333  
Mechanical Specifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .347  
Glossary  
Glossary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .351  
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .363  
Index  
Literature Updates  
Literature Distribution Centers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .371  
Mfax. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .372  
Motorola SPS World Marketing World Wide Web Server . . . . . . . . .372  
CSIC Microcontroller Division’s Web Site . . . . . . . . . . . . . . . . . . . . .372  
MC68HC708XL36  
10  
Table of Contents  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Introd uc tion  
Introd uc tion  
Conte nts  
Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .12  
MCU Block Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .13  
Pin Assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .15  
Pin Functions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .17  
Power Supply Pins (VDD and VSS) . . . . . . . . . . . . . . . . . . . . . . . .17  
Oscillator Pins (OSC1 and OSC2) . . . . . . . . . . . . . . . . . . . . . . . . .18  
External Reset Pin (RST) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .18  
External Interrupt Pins (IRQ1/VPP and IRQ2) . . . . . . . . . . . . . . . .18  
Clock Ground Pin (CGND/EVSS) . . . . . . . . . . . . . . . . . . . . . . . . . .18  
CGM Power Supply Pin (VDDA). . . . . . . . . . . . . . . . . . . . . . . . . . .18  
External Filter Capacitor Pin (CGMXFC) . . . . . . . . . . . . . . . . . . . .18  
Port A Input/Output (I/O) Pins (PA7–PA0) . . . . . . . . . . . . . . . . . . .19  
Port B I/O Pins (PB7–PB0) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .19  
Port C I/O Pins (PC7–PC0). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .19  
Port D I/O Pins (PD7/KBD7–PD0/KBD0) . . . . . . . . . . . . . . . . . . . .19  
Port E I/O Pins (PE7/TCH3–PE0). . . . . . . . . . . . . . . . . . . . . . . . . .19  
Port F I/O Pins (PF5–PF0/SS) . . . . . . . . . . . . . . . . . . . . . . . . . . . .19  
Port G I/O Pins (PG3–PG0) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .20  
Port H I/O Pins (PH3–PH0). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .20  
1-intro_a  
MC68HC708XL36  
MOTOROLA  
Introduction  
11  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Introd uc tion  
Fe a ture s  
Features of the MC68HC708XL36 include the following:  
High-Performance M68HC08 Architecture  
Fully Upward-Compatible Object Code with M6805, M146805,  
and M68HC05 Families  
8-MHz Internal Bus Frequency  
36 Kbytes of On-Chip Erasable Programmable Read-Only  
Memory (EPROM) or One-Time Programmable Read-Only  
Memory (OTPROM)  
On-Chip Programming Firmware for Use with Host Personal  
Computer  
EPROM/OTPROM Data Security  
One Kbyte of On-Chip Random-Access Memory (RAM)  
Serial Peripheral Interface Module (SPI)  
Serial Communications Interface Module (SCI)  
16-Bit, 4-Channel Timer Interface Module (TIM)  
Three-Channel Direct Memory Access Module (DMA)  
Clock Generator Module (CGM)  
System Protection Features  
– Optional Computer Operating Properly (COP) Reset  
– Low-Voltage Detection with Optional Reset  
– Illegal Opcode Detection with Optional Reset  
– Illegal Address Detection with Optional Reset  
56-Pin Plastic Shrink Dual-In-Line Package (SDIP) or 64-Pin  
Plastic Quad Flat Pack (QFP)  
Low-Power Design (Fully Static with Stop and Wait Modes)  
Master Reset Pin and Power-On Reset  
8-Bit Keyboard Wakeup Port  
2-intro_a  
MC68HC708XL36  
12  
Introduction  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Introduction  
MCU Block Diagram  
Features of the CPU08 include the following:  
Enhanced HC05 Programming Model  
Extensive Loop Control Functions  
16 Addressing Modes (Eight More Than the HC05)  
16-Bit Index Register and Stack Pointer  
Memory-to-Memory Data Transfers  
Fast 8 × 8 Multiply Instruction  
Fast 16/8 Divide Instruction  
Binary-Coded Decimal (BCD) Instructions  
Optimization for Controller Applications  
Third Party C Language Support  
MCU Bloc k Dia g ra m  
Figure 1 shows the structure of the MC68HC708XL36.  
3-intro_a  
MC68HC708XL36  
13  
MOTOROLA  
Introduction  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Introd uc tion  
P O R T A  
D D R A  
P O R T B  
D D R B  
P O R T C  
D D R C  
P O R T D  
D D R D  
P O R T G  
D D R G  
P O R T H  
D D R H  
P O R T E  
D D R E  
P O R T F  
D D R F  
4-intro_a  
MC68HC708XL36  
14  
Introduction  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Introduction  
Pin Assignments  
Pin Assig nm e nts  
RST  
PF5  
PF4  
1
56  
55  
54  
53  
52  
51  
50  
49  
48  
47  
46  
45  
44  
43  
42  
41  
40  
39  
38  
37  
36  
35  
34  
33  
32  
31  
30  
29  
IRQ1/V  
2
PP  
IRQ2  
PF3/MISO  
PF2/MOSI  
CGND/EV  
3
V
4
DDA  
CGMXFC  
OSC1  
5
SS  
PF1/SPSCK  
PF0/SS  
6
OSC2  
7
V
PE7/TCH3  
PE6/TCH2  
PE5/TCH1  
PE4/TCH0  
PE3/TCLK  
PE2/TxD  
PE1/RxD  
PE0  
8
SS  
V
9
DD  
PA0  
PA1  
PA2  
PA3  
PA4  
PA5  
PA6  
PA7  
PB0  
PB1  
PB2  
PB3  
PB4  
PB5  
PB6  
PB7  
PC0  
PC1  
PC2  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
PD7/KBD7  
PD6/KBD6  
PD5/KBD5  
PD4/KBD4  
PD3/KBD3  
PD2/KBD2  
PD1/KBD1  
PD0/KBD0  
PC7  
PC6  
PC5  
PC4  
PC3  
Figure 2. SDIP Pin Assignments  
5-intro_a  
MC68HC708XL36  
15  
MOTOROLA  
Introduction  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Introd uc tion  
OSC1  
OSC2  
PE7/TCH3  
PE6/TCH2  
PE5/TCH1  
PE4/TCH0  
PE3/TCLK  
PE2/TxD  
1
48  
2
47  
46  
45  
44  
43  
42  
41  
40  
39  
38  
37  
36  
35  
34  
V
3
SS  
V
4
DD  
PA0  
PA1  
PA2  
PA3  
PA4  
PA5  
PA6  
PA7  
PB0  
PB1  
PB2  
PB3  
5
6
PE1/RxD  
PE0  
7
8
PD7/KBD7  
PD6/KBD6  
PD5/KBD5  
PD4/KBD4  
PD3/KBD3  
PD2/KBD2  
PD1/KBD1  
PD0/KBD0  
9
10  
11  
12  
13  
14  
15  
16  
33  
NOTE: Ports G and H are available only with the QFP.  
Figure 3. QFP Pin Assignments  
6-intro_a  
MC68HC708XL36  
16  
Introduction  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Introduction  
Pin Functions  
Pin Func tions  
Powe r Sup p ly Pins  
V
and V are the power supply and ground pins. The MCU operates  
DD SS  
(V a nd V )  
from a single power supply.  
DD  
SS  
Fast signal transitions on MCU pins place high, short-duration current  
demands on the power supply. To prevent noise problems, take special  
care to provide power supply bypassing at the MCU as Figure 4 shows.  
Place the C1 bypass capacitor as close to the MCU as possible. Use a  
high-frequency-response ceramic capacitor for C1. C2 is an optional  
bulk current bypass capacitor for use in applications that require the port  
pins to source high current levels.  
MCU  
V
V
SS  
DD  
C1  
0.1 µF  
+
C2  
V
DD  
NOTE: Component values shown  
represent typical applications.  
Figure 4. Power Supply Bypassing  
7-intro_a  
MC68HC708XL36  
17  
MOTOROLA  
Introduction  
For More Information On This Product,  
Go to: www.freescale.com  
 
Freescale Semiconductor, Inc.  
Introd uc tion  
Osc illa tor Pins  
(OSC1 a nd OSC2)  
The OSC1 and OSC2 pins are the connections for the on-chip oscillator  
circuit. (See Clock Generator Module on page 83.)  
Exte rna l Re se t Pin  
(RST)  
A logic 0 on the RST pin forces the MCU to a known startup state. RST  
is bidirectional, allowing a reset of the entire system. It is driven low when  
any internal reset source is asserted.  
Exte rna l Inte rrup t  
IRQ1/V and IRQ2 are asynchronous external interrupt pins. (See  
PP  
Pins (IRQ1/ V  
a nd IRQ2)  
External Interrupt Module on page 311.) IRQ1/V is also the  
EPROM/OTPROM programming power pin. (See Memory Map on page  
21.)  
PP  
PP  
Cloc k Ground Pin  
(CGND/ EV )  
CGND/EV is the ground for the port output buffers and the ground  
return for the serial clock in the serial peripheral interface module (SPI).  
(See Serial Peripheral Interface Module on page 201.)  
SS  
SS  
NOTE: CGND/EV must be grounded for proper MCU operation.  
SS  
CGM Powe r  
Sup p ly Pin (V  
V
is the power supply pin for the analog portion of the clock  
DDA  
)
generator module (CGM). (See Clock Generator Module on page 83.)  
DDA  
Exte rna l Filte r  
Ca p a c itor Pin  
(CGMXFC)  
CGMXFC is an external filter capacitor connection for the CGM. (See  
Clock Generator Module on page 83.)  
8-intro_a  
MC68HC708XL36  
18  
Introduction  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Introduction  
Pin Functions  
Port A  
Inp ut/ Outp ut (I/ O)  
Pins (PA7–PA0)  
PA7–PA0 are general-purpose bidirectional I/O port pins. (See  
Input/Output Ports on page 283.)  
Port B I/ O Pins  
(PB7–PB0)  
PB7–PB0 are general-purpose bidirectional I/O port pins. (See  
Input/Output Ports on page 283.)  
Port C I/ O Pins  
(PC7–PC0)  
PC7–PC0 are general-purpose bidirectional I/O port pins. (See  
Input/Output Ports on page 283.)  
Port D I/ O Pins  
(PD7/ KBD7–  
PD0/ KBD0)  
PD7/KBD7–PD0/KBD0 are general-purpose bidirectional I/O port pins.  
Any or all of the port D pins can be programmed to serve as external  
interrupt pins. (See Input/Output Ports on page 283.)  
Port E I/ O Pins  
(PE7/ TCH3–PE0)  
Port E is an 8-bit special function port that shares five of its pins with the  
timer interface module (TIM) and two of its pins with the serial  
communications interface (SCI) module. (See Timer Interface Module,  
Serial Communications Interface Module, and Input/Output Ports.)  
Port F I/ O Pins  
(PF5–PF0/ SS)  
Port F is a 6-bit special function port that shares four of its pins with the  
serial peripheral interface module (SPI). (See Serial Peripheral Interface  
Module and Input/Output Ports.)  
9-intro_a  
MC68HC708XL36  
MOTOROLA  
Introduction  
19  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Introd uc tion  
Port G I/ O Pins  
(PG3–PG0)  
PG3–PG0 are general-purpose bidirectional I/O pins. (See Input/Output  
Ports on page 283.) Port G is available only with the 64-pin package.  
Port H I/ O Pins  
(PH3–PH0)  
PH3–PH0 are general-purpose bidirectional I/O pins. (See Input/Output  
Ports on page 283.) Port H is available only with the 64-pin package.  
10-intro_a  
MC68HC708XL36  
20  
Introduction  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Me m ory Ma p  
Me m ory Ma p  
Conte nts  
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .22  
Unimplemented Memory Locations. . . . . . . . . . . . . . . . . . . . . . . . . . .22  
Reserved Memory Locations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .22  
Input/Output (I/O) Section . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .24  
1-mem_a  
MC68HC708XL36  
MOTOROLA  
Memory Map  
21  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Me m ory Ma p  
Introd uc tion  
The CPU08 can address 64 Kbytes of memory space. The memory  
map, shown in Figure 1, includes:  
36 Kbytes of erasable programmable read-only memory  
(EPROM)  
One Kbyte of random-access memory (RAM)  
34 bytes of user-defined vectors  
240 bytes of monitor ROM  
Unimplemented Me m ory Loc a tions  
Accessing an unimplemented location can cause an illegal address  
reset if illegal address resets are enabled. In the memory map figure and  
in register figures in this document, unimplemented locations are  
shaded.  
Re se rve d Me m ory Loc a tions  
Accessing a reserved location can have unpredictable effects on MCU  
operation. In the memory map figure and in register figures in this  
document, reserved locations are marked with the word Reserved or  
with the letter R.  
2-mem_a  
MC68HC708XL36  
22  
Memory Map  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Memory Map  
Reserved Memory Locations  
$0000  
I/O Registers  
80 Bytes  
$004F  
$0050  
RAM  
1024 Bytes  
$044F  
$0450  
Unimplemented  
27,056 Bytes  
$6DFF  
$6E00  
EPROM  
36,864 BYTES  
$FDFF  
$FE00  
$FE01  
$FE02  
$FE03  
$FE04  
$FE05  
$FE06  
$FE07  
$FE08  
Break Status Register (BSR)  
Reset Status Register (RSR)  
Reserved  
Break Flag Control Register (BFCR)  
Interrupt Status Register 1 (INT1)  
Interrupt Status Register 2 (INT2)  
Interrupt Status Register 3 (INT3)  
EPROM Control Register (EPMCR)  
Unimplemented  
4 Bytes  
$FE0B  
$FE0C  
$FE0D  
$FE0E  
$FE0F  
$FE10  
Break Address Register High (BRKH)  
Break Address Register Low (BRKL)  
Break Status and Control Register (BSCR)  
LVI Status Register (LVISR)  
Monitor ROM  
240 Bytes  
$FEFF  
$FF00  
Unimplemented  
222 Bytes  
$FFDD  
$FFDE  
Vectors  
34 Bytes  
$FFFF  
Figure 1. Memory Map  
3-mem_a  
MC68HC708XL36  
23  
MOTOROLA  
Memory Map  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Me m ory Ma p  
Inp ut/ Outp ut (I/ O) Se c tion  
Addresses $0000–$004F contain most of the control, status, and data  
registers. Additional I/O registers have the following addresses:  
$FE00 (break status register, BSR)  
$FE01 (reset status register, RSR)  
$FE03 (break flag control register, BFCR)  
$FE04 (interrupt status register 1, INT1)  
$FE05 (interrupt status register 2, INT2)  
$FE06 (interrupt status register 3, INT3)  
$FE07 (EPROM control register, EPMCR)  
$FE0C and $FE0D (break address registers, BRKH and BRKL)  
$FE0E (break status and control register, BSCR)  
$FE0F (LVI status register, LVISR)  
$FFFF (COP control register, COPCTL)  
4-mem_a  
MC68HC708XL36  
24  
Memory Map  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Memory Map  
Input/Output (I/O) Section  
Register Name  
Addr.  
Bit 7  
6
5
4
3
2
1
Bit 0  
Read:  
Write:  
Reset:  
Read:  
Write:  
Reset:  
Read:  
Write:  
Reset:  
Read:  
Write:  
Reset:  
Read:  
Write:  
Reset:  
Read:  
Write:  
Reset:  
Read:  
Port A Data Register  
(PORTA)  
PA7  
PA6  
PA5  
PA4  
PA3  
PA2  
PA1  
PA0  
$0000  
Unaffected by Reset  
PB4 PB3  
Unaffected by Reset  
PC4 PC3  
Unaffected by Reset  
PD4 PD3  
Unaffected by Reset  
DDRA7 DDRA6 DDRA5 DDRA4 DDRA3 DDRA2 DDRA1 DDRA0  
Port B Data Register  
(PORTB)  
PB7  
PC7  
PD7  
PB6  
PC6  
PD6  
PB5  
PC5  
PD5  
PB2  
PC2  
PD2  
PB1  
PC1  
PD1  
PB0  
PC0  
PD0  
$0001  
$0002  
$0003  
$0004  
$0005  
Port C Data Register  
(PORTC)  
Port D Data Register  
(PORTD)  
Data Direction Register A  
(DDRA)  
0
0
0
0
0
0
0
0
Data Direction Register B  
(DDRB)  
DDRB7 DDRB6 DDRB5 DDRB4 DDRB3 DDRB2 DDRB1 DDRB0  
0
0
0
0
0
0
0
0
DDRC7 DDRC6 DDRC5 DDRC4 DDRC3 DDRC2 DDRC1 DDRC0  
Data Direction Register C  
(DDRC)  
$0006 Write:  
Reset:  
0
0
0
0
0
0
0
0
Read:  
Data Direction Register D  
(DDRD)  
DDRD7 DDRD6 DDRD5 DDRD4 DDRD3 DDRD2 DDRD1 DDRD0  
$0007  
$0008  
$0009  
$000A  
$000B  
$000C  
$000D  
Write:  
Reset:  
Read:  
Write:  
Reset:  
Read:  
Write:  
Reset:  
Read:  
Write:  
Reset:  
Read:  
Write:  
Reset:  
Read:  
Write:  
Reset:  
Read:  
Write:  
Reset:  
0
0
0
0
0
0
0
0
Port E Data Register  
(PORTE)  
PE7  
PE6  
PE5  
PE4  
PE3  
PE2  
PE1  
PE0  
Unaffected by Reset  
PF4 PF3  
0
0
0
0
0
0
Port F Data Register  
(PORTF)  
PF5  
0
PF2  
PG2  
PH2  
PF1  
PG1  
PH1  
PF0  
PG0  
PH0  
Unaffected by Reset  
0
Port G Data Register  
(PORTG)  
PG3  
Unaffected by Reset  
0
0
Port H Data Register  
(PORTH)  
PH3  
Unaffected by Reset  
Data Direction Register E  
(DDRE)  
DDRE7 DDRE6 DDRE5 DDRE4 DDRE3 DDRE2 DDRE1 DDRE0  
0
0
0
0
0
DDRF5  
0
0
DDRF4  
0
0
DDRF3  
0
0
DDRF2  
0
0
DDRF1  
0
0
DDRF0  
0
Data Direction Register F  
(DDRF)  
0
0
= Unimplemented  
R = Reserved  
Figure 2. I/O Register Summary  
5-mem_a  
MC68HC708XL36  
25  
MOTOROLA  
Memory Map  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Me m ory Ma p  
Register Name  
Addr.  
Bit 7  
6
5
4
3
2
1
Bit 0  
Read:  
Write:  
Reset:  
Read:  
Write:  
Reset:  
Read:  
Write:  
Reset:  
0
0
0
0
Data Direction Register G  
(DDRG)  
DDRG3 DDRG2 DDRG1 DDRG0  
$000E  
0
0
0
0
0
0
0
0
0
0
0
0
Data Direction Register H  
(DDRH)  
DDRH3 DDRH2 DDRH1 DDRH0  
$000F  
$0010  
$0011  
0
SPRIE  
0
0
0
0
0
0
0
SPE  
0
0
SPI Control Register  
(SPCR)  
DMAS SPMSTR CPOL  
CPHA SPWOM  
SPTIE  
0
0
1
0
0
0
Read: SPRF  
Write:  
OVRF  
MODF  
SPTE  
SPI Status and Control  
Register (SPSCR)  
ERRIE  
MODFEN SPR1  
SPR0  
Reset:  
Read:  
Write:  
Reset:  
Read:  
Write:  
Reset:  
Read:  
Write:  
Reset:  
Read:  
Write:  
Reset:  
0
R7  
T7  
0
R6  
T6  
0
R5  
T5  
0
R4  
T4  
1
0
0
0
R3  
T3  
R2  
T2  
R1  
T1  
R0  
T0  
SPI Data Register (SPDR) $0012  
Unaffected by Reset  
SCI Control Register 1  
$0013  
LOOPS  
0
ENSCI  
0
TXINV  
M
0
WAKE  
0
ILTY  
0
PEN  
0
PTY  
0
(SCC1)  
0
SCRIE  
0
SCI Control Register 2  
$0014  
SCTIE  
TCIE  
0
ILIE  
0
TE  
RE  
0
RWU  
0
SBK  
0
(SCC2)  
0
R8  
0
SCI Control Register 3  
$0015  
T8  
DMARE DMATE  
ORIE  
NEIE  
FEIE  
PEIE  
(SCC3)  
U
U
0
0
0
0
0
0
Read: SCTE  
Write:  
TC  
SCRF  
IDLE  
OR  
NF  
FE  
PE  
SCI Status Register 1  
$0016  
(SCS1)  
Reset:  
Read:  
Write:  
Reset:  
Read:  
Write:  
Reset:  
Read:  
1
1
0
0
0
0
0
BKF  
0
RPF  
SCI Status Register 2  
$0017  
(SCS2)  
0
R7  
T7  
0
R6  
T6  
0
R5  
T5  
0
R4  
T4  
0
R3  
T3  
0
R2  
T2  
0
R1  
T1  
0
R0  
T0  
SCI Data Register  
$0018  
(SCDR)  
Unaffected by Reset  
SCP1  
SCP0  
R
SCR2  
SCR1  
0
SCR0  
0
SCI Baud Rate Register  
$0019 Write:  
Reset:  
(SCBR)  
0
0
0
0
0
0
0
0
0
0
Read:  
KEYF  
0
ACKK  
0
Keyboard Status and  
Control Register (KBSCR)  
IMASKK MODEK  
$001A  
$001B  
Write:  
Reset:  
Read:  
Write:  
Reset:  
0
KBIE7  
0
0
KBIE6  
0
0
KBIE5  
0
0
KBIE4  
0
0
KBIE3  
0
0
KBIE1  
0
0
KBIE0  
0
Keyboard Interrupt  
Enable Register (KBIER)  
KBIE2  
0
= Unimplemented  
R = Reserved  
Figure 2. I/O Register Summary (Continued)  
6-mem_a  
MC68HC708XL36  
26  
Memory Map  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Memory Map  
Input/Output (I/O) Section  
Register Name  
Addr.  
Bit 7  
PLLIE  
0
6
PLLF  
5
PLLON  
1
4
BCS  
0
3
1
2
1
1
1
Bit 0  
1
Read:  
Write:  
Reset:  
Read:  
Write:  
Reset:  
Read:  
Write:  
Reset:  
Read:  
Write:  
Reset:  
Read:  
Write:  
Reset:  
Read:  
Write:  
Reset:  
PLL Control Register  
(PCTL)  
$001C  
0
1
0
1
0
1
0
1
0
LOCK  
PLL Bandwidth Control  
Register (PBWC)  
AUTO  
0
ACQ  
0
XLD  
0
$001D  
$001E  
$001F  
$0020  
$0021  
$0022  
$0023  
$0024  
$0025  
$0026  
$0027  
$0028  
$0029  
0
MUL6  
1
0
VRS7  
0
0
0
VRS5  
1
0
VRS4  
0
PLL Programming  
Register (PPG)  
MUL7  
0
MUL5  
1
MUL4  
0
VRS6  
1
0
Conguration Register  
(CONFIG)  
COPRS LVISTOP LVIRSTD LVIPWRD SSREC  
STOP  
0
COPD  
0
0
TOF  
0
0
0
0
0
0
0
0
0
PS2  
0
0
TRST  
0
TIM Status and Control  
Register (TSC)  
TOIE  
TSTOP  
PS1  
0
PS0  
0
0
0
1
0
0
0
TIM DMA Select Register  
(TDMA)  
DMA3S DMA2S DMA1S DMA0S  
0
0
14  
0
13  
0
12  
0
11  
0
10  
0
9
0
Bit 8  
Read: Bit 15  
Write:  
TIM Counter Register  
High (TCNTH)  
Reset:  
0
0
6
0
5
0
4
0
3
0
2
0
1
0
Bit 0  
Read: Bit 7  
Write:  
TIM Counter Register Low  
(TCNTL  
Reset:  
Read:  
Write:  
Reset:  
Read:  
Write:  
Reset:  
0
Bit 15  
1
0
0
13  
1
0
12  
1
0
0
0
0
Bit 8  
1
TIM Counter Modulo Reg.  
High (TMODH)  
14  
11  
10  
9
1
1
1
1
TIM Counter Modulo Reg.  
Low (TMODL)  
Bit 7  
1
6
1
5
4
3
2
1
Bit 0  
1
1
1
1
ELS0B  
0
1
ELS0A  
0
1
TOV0  
0
Read: CH0F  
TIM Channel 0 Status and  
Control Register (TSC0)  
CH0IE  
0
MS0B  
0
MS0A  
0
CH0MAX  
0
Write:  
Reset:  
Read:  
Write:  
Reset:  
Read:  
Write:  
Reset:  
0
0
TIM Channel 0 Register  
High (TCH0H)  
Bit 15  
14  
13  
12  
11  
10  
9
Bit 8  
Indeterminate after Reset  
TIM Channel 0 Register  
Low (TCH0L)  
Bit 7  
6
5
4
3
2
1
Bit 0  
Indeterminate after Reset  
Read: CH1F  
0
0
TIM Channel 1 Status and  
Control Register (TSC1)  
CH1IE  
0
MS1A  
0
ELS1B  
0
ELS1A  
0
TOV1  
0
CH1MAX  
0
Write:  
Reset:  
0
0
= Unimplemented  
R = Reserved  
Figure 2. I/O Register Summary (Continued)  
7-mem_a  
MC68HC708XL36  
27  
MOTOROLA  
Memory Map  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Me m ory Ma p  
Register Name  
Addr.  
Bit 7  
6
5
4
3
2
1
Bit 0  
Read:  
Write:  
Reset:  
Read:  
Write:  
Reset:  
TIM Channel 1 Register  
High (TCH1H)  
Bit 15  
14  
13  
12  
11  
10  
9
Bit 8  
$002A  
Indeterminate after Reset  
TIM Channel 1 Register  
Low (TCH1L)  
Bit 7  
6
5
4
3
2
1
Bit 0  
$002B  
$002C  
$002D  
$002E  
$002F  
$0030  
$0031  
Indeterminate after Reset  
Read: CH2F  
TIM Channel 2 Status and  
Control Register (TSC2)  
CH2IE  
0
MS2B  
0
MS2A  
0
ELS2B  
ELS2A  
TOV2  
CH2MAX  
Write:  
Reset:  
Read:  
Write:  
Reset:  
Read:  
Write:  
Reset:  
0
0
0
0
0
9
0
TIM Channel 2 Register  
High (TCH2H)  
Bit 15  
14  
13  
12  
11  
10  
Bit 8  
Indeterminate after Reset  
TIM Channel 2 Register  
Low (TCH2L)  
Bit 7  
6
5
0
4
3
2
1
Bit 0  
Indeterminate after Reset  
Read: CH3F  
TIM Channel 3 Status and  
Control Register (TSC3)  
CH3IE  
0
MS3A  
0
ELS3B  
ELS3A  
TOV3  
CH3MAX  
Write:  
Reset:  
Read:  
Write:  
Reset:  
Read:  
Write:  
Reset:  
0
0
0
0
0
0
9
0
TIM Channel 3 Register  
High (TCH3H)  
Bit 15  
14  
13  
12  
11  
10  
Bit 8  
Indeterminate after Reset  
TIM Channel 3 Register  
Low (TCH3L)  
Bit 7  
6
5
4
3
2
1
Bit 0  
Indeterminate after Reset  
IRQF1  
Read: IRQF2  
Write:  
Reset:  
0
ACK2  
0
0
ACK1  
0
IRQ Status and Control  
Register (ISCR)  
IMASK2 MODE2  
IMASK1 MODE1  
$0032  
$0033  
0
0
0
0
0
0
Reserved  
Read:  
Write:  
Reset:  
Read:  
Write:  
Reset:  
Read:  
Write:  
Reset:  
Read:  
Write:  
Reset:  
DMA Channel 0 Source  
Address Register High) $0034  
(D0SH)  
AD15  
AD7  
AD14  
AD6  
AD13  
AD5  
AD12  
AD11  
AD10  
AD2  
AD9  
AD1  
AD9  
AD1  
AD8  
AD0  
AD8  
AD0  
Indeterminate after Reset  
AD4 AD3  
Indeterminate after Reset  
AD12 AD11  
Indeterminate after Reset  
AD4 AD3  
DMA Channel 0 Source  
Address Register Low $0035  
(D0SL)  
DMA Channel 0  
Destination Address $0036  
Register High (D0DH)  
AD15  
AD7  
AD14  
AD6  
AD13  
AD5  
AD10  
AD2  
DMA Channel 0  
Destination Address $0037  
Register Low (D0DL)  
Indeterminate after Reset  
R = Reserved  
= Unimplemented  
Figure 2. I/O Register Summary (Continued)  
8-mem_a  
MC68HC708XL36  
28  
Memory Map  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Memory Map  
Input/Output (I/O) Section  
Register Name  
Addr.  
Bit 7  
6
5
4
3
2
1
Bit 0  
Read:  
Write:  
Reset:  
Read:  
Write:  
Reset:  
DMA Channel 0 Control  
Register (D0C)  
SDC3  
SDC2  
SDC1  
SDC0  
BWC  
DTS2  
DTS1  
DTS0  
$0038  
Indeterminate after Reset  
BL4 BL3  
DMA Channel 0 Block  
Length Register (D0BL)  
BL7  
BL6  
BL5  
BL2  
BL1  
BL0  
$0039  
$003A  
Indeterminate after Reset  
Reserved  
Read:  
Write:  
Reset:  
Read:  
Write:  
Reset:  
Read:  
Write:  
Reset:  
Read:  
Write:  
Reset:  
Read:  
Write:  
Reset:  
Read:  
Write:  
Reset:  
Read:  
Write:  
Reset:  
DMA Channel 0 Byte  
Count Register (D0BC)  
BC7  
0
BC6  
0
BC5  
0
BC4  
0
BC3  
0
BC2  
0
BC1  
0
BC0  
0
$003B  
DMA Channel 1 Source  
Address Register High) $003C  
(D1SH)  
AD15  
AD14  
AD13  
AD12  
AD11  
AD10  
AD9  
AD8  
Indeterminate after Reset  
AD4 AD3  
Indeterminate after Reset  
AD12 AD11  
Indeterminate after Reset  
AD4 AD3  
Indeterminate after Reset  
SDC0 BWC  
Indeterminate after Reset  
BL4 BL3  
DMA Channel 1 Source  
Address Register Low $003D  
(D1SL)  
AD7  
AD15  
AD7  
AD6  
AD14  
AD6  
AD5  
AD13  
AD5  
AD2  
AD10  
AD2  
AD1  
AD9  
AD1  
DTS1  
BL1  
AD0  
AD8  
AD0  
DTS0  
BL0  
DMA Channel 1  
Destination Address $003E  
Register High (D1DH)  
DMA Channel 1  
Destination Address $003F  
Register Low (D1DL)  
DMA Channel 1 Control  
$0040  
SDC3  
BL7  
SDC2  
BL6  
SDC1  
BL5  
DTS2  
BL2  
Register (D1C)  
DMA Channel 1 Block  
$0041  
Length Register (D1BL)  
Indeterminate after Reset  
Reserved  
$0042  
Read:  
Write:  
Reset:  
Read:  
Write:  
Reset:  
Read:  
Write:  
Reset:  
DMA Channel 1 Byte  
$0043  
BC7  
0
BC6  
0
BC5  
0
BC4  
0
BC3  
0
BC2  
0
BC1  
0
BC0  
0
Count Register (D1BC)  
DMA Channel 2 Source  
Address Register High) $0044  
(D2SH)  
AD15  
AD14  
AD13  
AD12  
AD11  
AD10  
AD9  
AD8  
Indeterminate after Reset  
AD4 AD3  
DMA Channel 2 Source  
Address Register Low $0045  
(D2SL)  
AD7  
AD6  
AD5  
AD2  
AD1  
AD0  
Indeterminate after Reset  
R = Reserved  
= Unimplemented  
Figure 2. I/O Register Summary (Continued)  
9-mem_a  
MC68HC708XL36  
29  
MOTOROLA  
Memory Map  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Me m ory Ma p  
Register Name  
Addr.  
Bit 7  
6
5
4
3
2
1
Bit 0  
Read:  
Write:  
Reset:  
Read:  
Write:  
Reset:  
Read:  
Write:  
Reset:  
Read:  
Write:  
Reset:  
DMA Channel 2  
Destination Address $0046  
Register High (D2DH)  
AD15  
AD14  
AD13  
AD12  
AD11  
AD10  
AD9  
AD8  
Indeterminate after Reset  
AD4 AD3  
Indeterminate after Reset  
SDC0 BWC  
Indeterminate after Reset  
BL4 BL3  
DMA Channel 2  
Destination Address $0047  
Register Low (D2DL)  
AD7  
SDC3  
BL7  
AD6  
SDC2  
BL6  
AD5  
SDC1  
BL5  
AD2  
DTS2  
BL2  
AD1  
DTS1  
BL1  
AD0  
DTS0  
BL0  
DMA Channel 2 Control  
$0048  
Register (D2C)  
DMA Channel 2 Block  
$0049  
Length Register (D2BL)  
Indeterminate after Reset  
Reserved  
$004A  
Read:  
Write:  
Reset:  
Read:  
Write:  
Reset:  
Read:  
Write:  
Reset:  
Read:  
DMA Channel 2 Byte  
$004B  
BC7  
0
BC6  
0
BC5  
0
BC4  
0
BC3  
BC2  
0
BC1  
0
BC0  
0
Count Register (D2BC)  
0
TEC1  
0
DMA Control Register 1  
BB1  
0
BB0  
0
TEC2  
0
IEC2  
0
IEC1  
0
TEC0  
0
IEC0  
0
$004C  
(DC1)  
DMAP  
0
L2  
L1  
L0  
DMAWE  
0
IFC2  
0
IFC1  
0
IFC0  
0
DMA Status and Control  
$004D  
Register (DSC)  
0
0
0
DMA Control Register 2  
SWI7  
0
SWI6  
0
SWI5  
0
SWI4  
0
SWI3  
0
SWI2  
0
SWI1  
0
SWI0  
0
$004E Write:  
Reset:  
(DC2)  
$004F  
Reserved  
Read:  
Write:  
Reset:  
Read: POR  
Write:  
Reset:  
Read:  
Write:  
Reset:  
Read:  
Write:  
Reset:  
BW  
Clear BW  
0
Break Status Register  
(BSR)  
R
R
R
R
R
R
0
R
0
$FE00  
$FE01  
$FE03  
$FE04  
PIN  
COP  
ILOP  
ILAD  
LVI  
Reset Status Register  
(RSR)  
1
0
0
0
0
0
0
0
Break Flag Control  
Register (BFCR)  
BCFE  
R
R
R
R
R
R
R
0
IF6  
R
IF5  
R
0
IF4  
R
0
IF3  
R
0
IF2  
R
0
IF1  
R
0
0
R
0
0
R
0
Interrupt Status Register 1  
(INT1)  
0
= Unimplemented  
R = Reserved  
Figure 2. I/O Register Summary (Continued)  
10-mem_a  
MC68HC708XL36  
30  
Memory Map  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Memory Map  
Input/Output (I/O) Section  
Register Name  
Addr.  
Bit 7  
Read: IF14  
6
IF13  
R
0
0
R
0
0
5
IF12  
R
0
0
R
0
0
4
IF11  
R
0
0
R
0
0
3
IF10  
R
0
0
R
0
0
2
IF9  
R
0
0
R
0
1
IF8  
R
0
0
R
0
Bit 0  
IF7  
R
0
IF15  
R
Interrupt Status Register 2  
(INT2)  
$FE05  
Write:  
Reset:  
Read:  
Write:  
Reset:  
Read:  
Write:  
Reset:  
Read:  
Write:  
Reset:  
Read:  
Write:  
Reset:  
Read:  
Write:  
Reset:  
R
0
0
R
0
Interrupt Status Register 3  
(INT3)  
$FE06  
$FE07  
$FE0C  
$FE0D  
$FE0E  
$FE0F  
0
0
EPROM Control Register  
(EPMCR)  
R
0
ELAT  
EPGM  
0
0
0
13  
0
0
12  
0
0
11  
0
0
10  
0
0
9
0
1
Break Address Register  
High (BRKH)  
Bit 15  
0
14  
Bit 8  
0
0
Break Address Register  
Low (BRKL)  
Bit 7  
0
6
0
5
4
3
2
Bit 0  
0
0
0
0
0
0
0
0
0
0
0
0
Break Status and Control  
Register (BSCR)  
BRKE  
0
Read: LVIOUT  
Write:  
BRKA  
0
0
0
0
0
0
0
0
0
0
0
0
0
0
LVI Status Register  
(LVISR)  
Reset:  
0
0
0
0
0
0
0
0
Read:  
$FFFF Write:  
Reset:  
Low byte of reset vector  
Writing clears COP counter  
Unaffected by Reset  
COP Control Register  
(COPCTL)  
= Unimplemented  
R = Reserved  
Figure 2. I/O Register Summary (Continued)  
11-mem_a  
MC68HC708XL36  
31  
MOTOROLA  
Memory Map  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Me m ory Ma p  
Table 1 is a list of vector locations.  
Table 1. Vector Addresses  
Address  
$FFDE  
$FFDF  
$FFE0  
$FFE1  
$FFE2  
$FFE3  
$FFE4  
$FFE5  
$FFE6  
$FFE7  
$FFE8  
$FFE9  
$FFEA  
$FFEB  
$FFEC  
$FFED  
$FFEE  
$FFEF  
$FFF0  
$FFF1  
$FFF2  
$FFF3  
$FFF4  
$FFF5  
$FFF6  
$FFF7  
$FFF8  
$FFF9  
$FFFA  
$FFFB  
$FFFC  
$FFFD  
$FFFE  
$FFFF  
Vector  
Keyboard Vector (High)  
Keyboard Vector (Low)  
IRQ2 Vector (High)  
IRQ2 Vector (Low)  
SCI Transmit Vector (High)  
SCI Transmit Vector (Low)  
SCI Receive Vector (High)  
SCI Receive Vector (Low)  
SCI Error Vector (High)  
SCI Error Vector (Low)  
SPI Transmit Vector (High)  
SPI Transmit Vector (Low)  
SPI Receive Vector (High)  
SPI Receive Vector (Low)  
TIM Overflow Vector (High)  
TIM Overflow Vector (Low)  
TIM Channel 3 Vector (High)  
TIM Channel 3 Vector (Low)  
TIM Channel 2 Vector (High)  
TIM Channel 2 Vector (Low)  
TIM Channel 1 Vector (High)  
TIM Channel 1 Vector (Low)  
TIM Channel 0 Vector (High)  
TIM Channel 0 Vector (Low)  
DMA Vector (High)  
DMA Vector (Low)  
PLL Vector (High)  
PLL Vector (Low)  
IRQ1 Vector (High)  
IRQ1 Vector (Low)  
SWI Vector (High)  
SWI Vector (Low)  
Reset Vector (High)  
Reset Vector (Low)  
12-mem_a  
MC68HC708XL36  
32  
Memory Map  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
 
Freescale Semiconductor, Inc.  
Ra nd om Ac c e ss Me m ory  
RAM  
Conte nts  
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .33  
Functional Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .33  
Introd uc tion  
This section describes the 1024 bytes of RAM.  
Func tiona l De sc rip tion  
Addresses $0050 through $044F are RAM locations. The location of the  
stack RAM is programmable. The 16-bit stack pointer allows the stack to  
be anywhere in the 64-Kbyte memory space.  
NOTE: For correct operation, the stack pointer must point only to RAM  
locations.  
Within page 0 are 176 bytes of RAM. Because the location of the stack  
RAM is programmable, all page 0 RAM locations can be used for I/O  
control and user data or code. When the stack pointer is moved from its  
reset location at $00FF, direct addressing mode instructions can access  
efficiently all page 0 RAM locations. Page 0 RAM, therefore, provides  
ideal locations for frequently accessed global variables.  
Before processing an interrupt, the CPU uses five bytes of the stack to  
save the contents of the CPU registers.  
1-ram02_a  
MC68HC708XL36  
MOTOROLA  
RAM  
33  
For More Information On This Product,  
Go to: www.freescale.com  
 
 
Freescale Semiconductor, Inc.  
RAM  
NOTE: For M6805 compatibility, the H register is not stacked.  
During a subroutine call, the CPU uses two bytes of the stack to store  
the return address. The stack pointer decrements during pushes and  
increments during pulls.  
NOTE: Be careful when using nested subroutines. The CPU may overwrite data  
in the RAM during a subroutine or during the interrupt stacking  
operation.  
2-ram02_a  
MC68HC708XL36  
34  
RAM  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Nonvola tile Me m ory  
EPROM  
Conte nts  
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .35  
Functional Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .36  
EPROM Control Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .37  
EPROM Programming Sequence . . . . . . . . . . . . . . . . . . . . . . . . . . . .38  
Introd uc tion  
This section describes the 36 Kbytes of nonvolatile memory.  
1-epm36k_b  
MC68HC708XL36  
MOTOROLA  
EPROM  
35  
For More Information On This Product,  
Go to: www.freescale.com  
 
Freescale Semiconductor, Inc.  
EPROM  
Func tiona l De sc rip tion  
An MCU with a quartz window has 36 Kbytes of erasable, programmable  
ROM (EPROM). The quartz window allows EPROM erasure by using  
ultraviolet light. An unprogrammed or erased location reads as $00. The  
following addresses are user EPROM locations:  
$6E00–$FDFF  
$FFE0–$FFFF — These locations are reserved for user-defined  
interrupt and reset vectors.  
Programming tools are available from Motorola. Contact your local  
Motorola representative for more information.  
1
NOTE: A security feature discourages viewing of the EPROM.  
1. No security feature is absolutely secure. However, Motorola’s strategy is to make reading or  
copying the EPROM difficult for unauthorized users.  
2-epm36k_b  
MC68HC708XL36  
36  
EPROM  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
EPROM  
EPROM Control Register  
EPROM Control Re g iste r  
The EPROM control register controls EPROM programming.  
Address: $FE07  
Bit 7  
6
0
5
0
4
0
3
0
2
ELAT  
0
1
0
Bit 0  
EPGM  
0
Read:  
Write:  
Reset:  
R
0
0
0
0
0
0
= Unimplemented  
R = Reserved  
Figure 1. EPROM Control Register (EPMCR)  
ELAT — EPROM Latch Control Bit  
This read/write bit latches the address and data buses for  
programming the EPROM. Clearing ELAT also clears the EPGM bit.  
EPROM data cannot be read when ELAT is set.  
1 = Buses configured for EPROM programming  
0 = Buses configured for normal operation  
EPGM — EPROM Program Control Bit  
This read/write bit applies the programming voltage from the  
IRQ1/V pin to the EPROM. To write to the EPGM bit, the ELAT bit  
PP  
must be set already. The STOP instruction clears the EPGM bit.  
Reset also clears EPGM.  
1 = EPROM programming power switched on  
0 = EPROM programming power switched off  
3-epm36k_b  
MC68HC708XL36  
MOTOROLA  
EPROM  
37  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
EPROM  
EPROM Prog ra m m ing Se q ue nc e  
Use the following procedure to program a byte of EPROM:  
1. Apply V to the IRQ1/V pin.  
PP  
PP  
2. Set the ELAT bit.  
NOTE: Writing logic 1s to both the ELAT and EPGM bits with a single instruction  
sets only the ELAT bit. EPGM must be set by a separate instruction in  
the programming sequence.  
3. Write to any user EPROM address.  
NOTE: Writing to an invalid address prevents the programming voltage from  
being applied.  
4. Set the EPGM bit.  
5. Wait for a time, t  
.
epgm  
6. Clear the ELAT and EPGM bits.  
4-epm36k_b  
MC68HC708XL36  
38  
EPROM  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Config ura tion Re g iste r  
CONFIG  
Conte nts  
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .39  
Functional Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .39  
Introd uc tion  
The configuration register controls the following options:  
Operation of low-voltage inhibit module (LVI) during stop mode  
Resets caused by the LVI  
Power to the LVI  
Stop mode recovery time (32 or 4096 CGMXCLK cycles)  
18  
4
13  
4
COP timeout period (2 – 2 or 2 – 2 CGMXCLK cycles)  
STOP instruction  
Operation of the computer operating properly module (COP)  
Func tiona l De sc rip tion  
The configuration register initializes certain MCU options and can be  
written only once after each reset.  
Address: $001F  
Bit 7  
6
5
4
3
2
0
1
STOP  
0
Bit 0  
COPD  
0
Read:  
Write:  
Reset:  
COPRS LVISTOP LVIRSTD LVIPWRD SSREC  
0
0
0
0
0
0
= Unimplemented  
Figure 1. Configuration Register (CONFIG)  
1-mor_a  
MC68HC708XL36  
39  
MOTOROLA  
CONFIG  
For More Information On This Product,  
Go to: www.freescale.com  
 
 
Freescale Semiconductor, Inc.  
CONFIG  
COPRS — COP Rate Select Bit  
COPRS selects the COP timeout period. Reset clears COPRS.  
13  
4
1 = COP timeout period = 2 – 2 CGMXCLK cycles  
18  
4
0 = COP timeout period = 2 – 2 CGMXCLK cycles  
LVISTOP — LVI Enable in Stop Mode Bit  
When the LVIPWRD bit is clear, setting the LVISTOP bit enables the  
LVI to operate during stop mode. Reset clears LVISTOP.  
1 = LVI enabled during stop mode  
0 = LVI disabled during stop mode  
NOTE: If the LVIPWRD bit is at logic 0, the LVISTOP bit must be at logic 0 to  
meet the minimum stop mode I specification.  
DD  
LVIRSTD — LVI Reset Disable Bit  
When the LVIPWRD bit is clear, setting the LVIRSTD bit disables the  
reset signal from the LVI module. Reset clears LVRSTD.  
1 = LVI module reset disabled  
0 = LVI module reset enabled  
LVIPWRD — LVI Power Disable Bit  
LVIPWRD disables LVI. Reset clears LVIPWRD.  
1 = LVI power disabled  
0 = LVI power enabled  
SSREC — Short Stop Recovery Bit  
SSREC shortens stop mode recovery time from 4096 CGMXCLK  
cycles to 32 CGMXCLK cycles. Reset clears SSREC.  
1 = Stop mode recovery after 32 CGMXCLK cycles  
0 = Stop mode recovery after 4096 CGMXCLK cycles  
NOTE: Do not set the SSREC bit if using an external crystal oscillator.  
STOP — STOP Instruction Enable Bit  
STOP enables the STOP instruction. Reset clears STOP.  
1 = STOP instruction enabled  
0 = STOP instruction treated as illegal opcode  
COPD — COP Disable Bit  
COPD disables the COP module. Reset clears COPD.  
1 = COP module disabled  
0 = COP module enabled  
2-mor_a  
MC68HC708XL36  
40  
CONFIG  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Ce ntra l Proc e ssor Unit  
CPU  
Conte nts  
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .41  
Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .42  
CPU Registers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .42  
Accumulator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .43  
Index Register. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .44  
Stack Pointer. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .44  
Program Counter. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .45  
Condition Code Register. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .46  
Arithmetic/Logic Unit (ALU) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .48  
Low-Power Modes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .48  
Wait Mode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .48  
Stop Mode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .48  
CPU During Break Interrupts. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .49  
Instruction Set Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .49  
Opcode Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .55  
Introd uc tion  
The M68HC08 CPU is an enhanced and fully object-code-compatible  
version of the M68HC05 CPU. The CPU08 Reference Manual (Motorola  
document number CPU08RM/AD) contains a description of the CPU  
instruction set, addressing modes, and architecture.  
1-cpu8_a  
MC68HC708XL36  
MOTOROLA  
CPU  
41  
For More Information On This Product,  
Go to: www.freescale.com  
 
Freescale Semiconductor, Inc.  
CPU  
Fe a ture s  
Features of the CPU include the following:  
Object Code Fully Upward-Compatible with M68HC05 Family  
16-Bit Stack Pointer with Stack Manipulation Instructions  
16-Bit Index Register with X-Register Manipulation Instructions  
8-MHz CPU Internal Bus Frequency  
64-Kbyte Program/Data Memory Space  
16 Addressing Modes  
Memory-to-Memory Data Moves without Using Accumulator  
Fast 8-Bit by 8-Bit Multiply and 16-Bit by 8-Bit Divide Instructions  
Enhanced Binary-Coded Decimal (BCD) Data Handling  
Modular Architecture with Expandable Internal Bus Definition for  
Extension of Addressing Range beyond 64 Kbytes  
Low-Power Stop and Wait Modes  
CPU Re g iste rs  
Figure 1 shows the five CPU registers. CPU registers are not part of the  
memory map.  
2-cpu8_a  
MC68HC708XL36  
42  
CPU  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
CPU  
CPU Registers  
7
0
0
0
0
0
ACCUMULATOR (A)  
15  
15  
15  
H
X
INDEX REGISTER (H:X)  
STACK POINTER (SP)  
PROGRAM COUNTER (PC)  
7
V 1  
1
H
I
N Z C CONDITION CODE REGISTER (CCR)  
CARRY/BORROW FLAG  
ZERO FLAG  
NEGATIVE FLAG  
INTERRUPT MASK  
HALF-CARRY FLAG  
TWO’S COMPLEMENT OVERFLOW FLAG  
Figure 1. CPU Registers  
Ac c um ula tor  
The accumulator is a general-purpose 8-bit register. The CPU uses the  
accumulator to hold operands and the results of arithmetic/logic  
operations.  
Bit 7  
6
5
4
3
2
1
Bit 0  
Read:  
Write:  
Reset:  
Unaffected by Reset  
Figure 2. Accumulator (A)  
3-cpu8_a  
MC68HC708XL36  
43  
MOTOROLA  
CPU  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
CPU  
Ind e x Re g iste r  
The 16-bit index register allows indexed addressing of a 64-Kbyte  
memory space. H is the upper byte of the index register, and X is the  
lower byte. H:X is the concatenated 16-bit index register.  
In the indexed addressing modes, the CPU uses the contents of the  
index register to determine the conditional address of the operand.  
Bit  
15  
Bit  
0
14 13 12 11 10  
9
8
7
6
5
4
3
2
1
Read:  
Write:  
Reset:  
0
0
0
0
0
0
0
0
X
X
X
X
X
X
X
X
X = Indeterminate  
Figure 3. Index Register (H:X)  
The index register can serve also as a temporary data storage location.  
Sta c k Pointe r  
The stack pointer is a 16-bit register that contains the address of the next  
location on the stack. During a reset, the stack pointer is preset to  
$00FF. The reset stack pointer (RSP) instruction sets the least  
significant byte to $FF and does not affect the most significant byte. The  
stack pointer decrements as data is pushed onto the stack and  
increments as data is pulled from the stack.  
In the stack pointer 8-bit offset and 16-bit offset addressing modes, the  
stack pointer can function as an index register to access data on the  
stack. The CPU uses the contents of the stack pointer to determine the  
conditional address of the operand.  
Bit  
15  
Bit  
0
14 13 12 11 10  
9
8
7
6
5
4
3
2
1
Read:  
Write:  
Reset:  
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
Figure 4. Stack Pointer (SP)  
4-cpu8_a  
MC68HC708XL36  
44  
CPU  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
CPU  
CPU Registers  
NOTE: The location of the stack is arbitrary and may be relocated anywhere in  
RAM. Moving the SP out of page 0 ($0000 to $00FF) frees direct  
address (page 0) space. For correct operation, the stack pointer must  
point only to RAM locations.  
Prog ra m Counte r  
The program counter is a 16-bit register that contains the address of the  
next instruction or operand to be fetched.  
Normally, the program counter automatically increments to the next  
sequential memory location every time an instruction or operand is  
fetched. Jump, branch, and interrupt operations load the program  
counter with an address other than that of the next sequential location.  
During reset, the program counter is loaded with the reset vector  
address located at $FFFE and $FFFF. The vector address is the  
address of the first instruction to be executed after exiting the reset state.  
Bit  
15  
Bit  
0
14 13 12 11 10  
9
8
7
6
5
4
3
2
1
Read:  
Write:  
Reset:  
Loaded with vector from $FFFE and $FFFF  
Figure 5. Program Counter (PC)  
5-cpu8_a  
MC68HC708XL36  
45  
MOTOROLA  
CPU  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
CPU  
Cond ition Cod e  
Re g iste r  
The 8-bit condition code register contains the interrupt mask and five  
flags that indicate the results of the instruction just executed. Bits 6 and  
5 are set permanently to logic 1. The following paragraphs describe the  
functions of the condition code register.  
Bit 7  
V
6
1
1
5
1
1
4
3
I
2
1
Bit 0  
C
Read:  
Write:  
Reset:  
H
X
N
X
Z
X
X
1
X
X = Indeterminate  
Figure 6. Condition Code Register (CCR)  
V — Overflow Flag  
The CPU sets the overflow flag when a two's complement overflow  
occurs. The signed branch instructions BGT, BGE, BLE, and BLT use  
the overflow flag.  
1 = Overflow  
0 = No overflow  
H — Half-Carry Flag  
The CPU sets the half-carry flag when a carry occurs between  
accumulator bits 3 and 4 during an add-without-carry (ADD) or  
add-with-carry (ADC) operation. The half-carry flag is required for  
binary-coded decimal (BCD) arithmetic operations. The DAA  
instruction uses the states of the H and C flags to determine the  
appropriate correction factor.  
1 = Carry between bits 3 and 4  
0 = No carry between bits 3 and 4  
I — Interrupt Mask  
When the interrupt mask is set, all maskable CPU interrupts are  
disabled. CPU interrupts are enabled when the interrupt mask is  
cleared. When a CPU interrupt occurs, the interrupt mask is set  
automatically after the CPU registers are saved on the stack, but  
before the interrupt vector is fetched.  
1 = Interrupts disabled  
0 = Interrupts enabled  
6-cpu8_a  
MC68HC708XL36  
46  
CPU  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
CPU  
CPU Registers  
NOTE: To maintain M6805 compatibility, the upper byte of the index register (H)  
is not stacked automatically. If the interrupt service routine modifies H,  
then the user must stack and unstack H using the PSHH and PULH  
instructions.  
After the I bit is cleared, the highest-priority interrupt request is  
serviced first.  
A return from interrupt (RTI) instruction pulls the CPU registers from  
the stack and restores the interrupt mask from the stack. After any  
reset, the interrupt mask is set and can only be cleared by the clear  
interrupt mask software instruction (CLI).  
N — Negative flag  
The CPU sets the negative flag when an arithmetic operation, logic  
operation, or data manipulation produces a negative result, setting bit  
7 of the result.  
1 = Negative result  
0 = Non-negative result  
Z — Zero flag  
The CPU sets the zero flag when an arithmetic operation, logic  
operation, or data manipulation produces a result of $00.  
1 = Zero result  
0 = Nonzero result  
C — Carry/Borrow Flag  
The CPU sets the carry/borrow flag when an addition operation  
produces a carry out of bit 7 of the accumulator or when a subtraction  
operation requires a borrow. Some instructions — such as bit test and  
branch, shift, and rotate — also clear or set the carry/borrow flag.  
1 = Carry out of bit 7  
0 = No carry out of bit 7  
7-cpu8_a  
MC68HC708XL36  
MOTOROLA  
CPU  
47  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
CPU  
Arithm e tic / Log ic Unit (ALU)  
The ALU performs the arithmetic and logic operations defined by the  
instruction set.  
Refer to the CPU08 Reference Manual (Motorola document number  
CPU08RM/AD) for a description of the instructions and addressing  
modes and more detail about the architecture of the CPU.  
Low-Powe r Mod e s  
The WAIT and STOP instructions put the MCU in low power-consumption  
standby modes.  
Wa it Mod e  
The WAIT instruction:  
Clears the interrupt mask (I bit) in the condition code register,  
enabling interrupts. After exit from wait mode by interrupt, the I bit  
remains clear. After exit by reset, the I bit is set.  
Disables the CPU clock.  
Stop Mod e  
The STOP instruction:  
Clears the interrupt mask (I bit) in the condition code register,  
enabling external interrupts. After exit from stop mode by external  
interrupt, the I bit remains clear. After exit by reset, the I bit is set.  
Disables the CPU clock.  
After exiting stop mode, the CPU clock begins running after the oscillator  
stabilization delay.  
8-cpu8_a  
MC68HC708XL36  
48  
CPU  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
CPU  
CPU During Break Interrupts  
CPU During Bre a k Inte rrup ts  
If the break module is enabled, a break interrupt causes the CPU to  
execute the software interrupt instruction (SWI) at the completion of the  
current CPU instruction. (See Break Module on page 149.) The  
program counter vectors to $FFFC–$FFFD ($FEFC–$FEFD in monitor  
mode).  
If the break interrupt has been deasserted, a return-from-interrupt  
instruction (RTI) in the break routine ends the break interrupt and returns  
the MCU to normal operation.  
Instruc tion Se t Sum m a ry  
Table 1. Instruction Set Summary  
Effect on  
CCR  
Source  
Form  
Operation  
Description  
V H I N Z C  
ADC #opr  
IMM  
DIR  
EXT  
IX2  
A9 ii  
B9 dd  
C9 hh ll  
D9 ee ff  
E9 ff  
2
3
4
4
3
2
4
5
ADC opr  
ADC opr  
ADC opr,X  
ADC opr,X  
ADC ,X  
Add with Carry  
A (A) + (M) + (C)  
↕ ↕ ↕ ↕ ↕  
IX1  
IX  
SP1  
SP2  
F9  
ADC opr,SP  
ADC opr,SP  
9EE9 ff  
9ED9 ee ff  
ADD #opr  
ADD opr  
IMM  
DIR  
EXT  
IX2  
AB ii  
BB dd  
CB hh ll  
DB ee ff  
EB ff  
2
3
4
4
3
2
4
5
ADD opr  
ADD opr,X  
ADD opr,X  
ADD ,X  
ADD opr,SP  
ADD opr,SP  
Add without Carry  
A (A) + (M)  
↕ ↕ ↕ ↕ ↕  
IX1  
IX  
SP1  
SP2  
FB  
9EEB ff  
9EDB ee ff  
AIS #opr  
AIX #opr  
Add Immediate Value (Signed) to SP  
Add Immediate Value (Signed) to H:X  
SP (SP) + (16 « M)  
H:X (H:X) + (16 « M)  
– IMM  
– IMM  
A7 ii  
AF ii  
2
2
AND #opr  
AND opr  
IMM  
DIR  
EXT  
IX2  
A4 ii  
B4 dd  
C4 hh ll  
D4 ee ff  
E4 ff  
2
3
4
4
3
2
4
5
AND opr  
AND opr,X  
AND opr,X  
AND ,X  
AND opr,SP  
AND opr,SP  
Logical AND  
A (A) & (M)  
0
↕ ↕ –  
IX1  
IX  
F4  
SP1  
SP2  
9EE4 ff  
9ED4 ee ff  
9-cpu8_a  
MC68HC708XL36  
49  
MOTOROLA  
CPU  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
CPU  
Table 1. Instruction Set Summary (Continued)  
Effect on  
CCR  
Source  
Form  
Operation  
Description  
V H I N Z C  
ASL opr  
DIR  
INH  
INH  
IX1  
IX  
38 dd  
48  
4
1
1
4
3
5
ASLA  
ASLX  
Arithmetic Shift Left  
58  
–  
–  
↕ ↕ ↕  
↕ ↕ ↕  
C
0
ASL opr,X  
ASL ,X  
(Same as LSL)  
68 ff  
78  
9E68 ff  
b7  
b0  
ASL opr,SP  
SP1  
ASR opr  
ASRA  
ASRX  
ASR opr,X  
ASR opr,X  
ASR opr,SP  
DIR  
INH  
INH  
IX1  
IX  
37 dd  
47  
4
1
1
4
3
5
57  
C
Arithmetic Shift Right  
67 ff  
77  
b7  
b0  
SP1  
9E67 ff  
BCC rel  
Branch if Carry Bit Clear  
PC (PC) + 2 + rel ? (C) = 0  
– REL  
24 rr  
3
DIR (b0) 11 dd  
DIR (b1) 13 dd  
DIR (b2) 15 dd  
DIR (b3) 17 dd  
DIR (b4) 19 dd  
DIR (b5) 1B dd  
DIR (b6) 1D dd  
DIR (b7) 1F dd  
4
4
4
4
4
4
4
4
BCLR n, opr  
Clear Bit n in M  
Mn 0  
BCS rel  
BEQ rel  
Branch if Carry Bit Set (Same as BLO)  
Branch if Equal  
PC (PC) + 2 + rel ? (C) = 1  
PC (PC) + 2 + rel ? (Z) = 1  
– REL  
– REL  
25 rr  
27 rr  
3
3
Branch if Greater Than or Equal To  
(Signed Operands)  
BGE opr  
BGT opr  
PC (PC) + 2 + rel ? (N V) = 0  
– REL  
– REL  
90 rr  
92 rr  
3
Branch if Greater Than (Signed  
Operands)  
PC (PC) + 2 + rel ? (Z) | (N V) = 0  
3
3
BHCC rel  
BHCS rel  
BHI rel  
Branch if Half Carry Bit Clear  
Branch if Half Carry Bit Set  
Branch if Higher  
PC (PC) + 2 + rel ? (H) = 0  
PC (PC) + 2 + rel ? (H) = 1  
PC (PC) + 2 + rel ? (C) | (Z) = 0  
– REL  
– REL  
– REL  
28 rr  
29 rr  
22 rr  
3
3
3
Branch if Higher or Same  
(Same as BCC)  
BHS rel  
PC (PC) + 2 + rel ? (C) = 0  
– REL  
24 rr  
BIH rel  
BIL rel  
Branch if IRQ Pin High  
Branch if IRQ Pin Low  
PC (PC) + 2 + rel ? IRQ = 1  
PC (PC) + 2 + rel ? IRQ = 0  
– REL  
– REL  
2F rr  
2E rr  
3
3
BIT #opr  
BIT opr  
IMM  
DIR  
EXT  
IX2  
A5 ii  
B5 dd  
C5 hh ll  
D5 ee ff  
E5 ff  
2
3
4
4
3
2
4
5
BIT opr  
BIT opr,X  
BIT opr,X  
BIT ,X  
BIT opr,SP  
BIT opr,SP  
Bit Test  
(A) & (M)  
0
↕ ↕ –  
IX1  
IX  
F5  
SP1  
SP2  
9EE5 ff  
9ED5 ee ff  
Branch if Less Than or Equal To  
(Signed Operands)  
BLE opr  
PC (PC) + 2 + rel ? (Z) | (N V) = 1  
– REL  
93 rr  
3
BLO rel  
BLS rel  
BLT opr  
BMC rel  
BMI rel  
BMS rel  
BNE rel  
BPL rel  
Branch if Lower (Same as BCS)  
Branch if Lower or Same  
Branch if Less Than (Signed Operands)  
Branch if Interrupt Mask Clear  
Branch if Minus  
PC (PC) + 2 + rel ? (C) = 1  
PC (PC) + 2 + rel ? (C) | (Z) = 1  
PC (PC) + 2 + rel ? (N V) =1  
PC (PC) + 2 + rel ? (I) = 0  
PC (PC) + 2 + rel ? (N) = 1  
PC (PC) + 2 + rel ? (I) = 1  
PC (PC) + 2 + rel ? (Z) = 0  
PC (PC) + 2 + rel ? (N) = 0  
– REL  
– REL  
– REL  
– REL  
– REL  
– REL  
– REL  
– REL  
25 rr  
23 rr  
91 rr  
2C rr  
2B rr  
2D rr  
26 rr  
2A rr  
3
3
3
3
3
3
3
3
Branch if Interrupt Mask Set  
Branch if Not Equal  
Branch if Plus  
10-cpu8_a  
MC68HC708XL36  
50  
CPU  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
CPU  
Instruction Set Summary  
Table 1. Instruction Set Summary (Continued)  
Effect on  
CCR  
Source  
Form  
Operation  
Description  
V H I N Z C  
BRA rel  
Branch Always  
PC (PC) + 2 + rel  
– REL  
20 rr  
3
DIR (b0) 01 dd rr  
DIR (b1) 03 dd rr  
DIR (b2) 05 dd rr  
DIR (b3) 07 dd rr  
DIR (b4) 09 dd rr  
DIR (b5) 0B dd rr  
DIR (b6) 0D dd rr  
DIR (b7) 0F dd rr  
5
5
5
5
5
5
5
5
BRCLR n,opr,rel Branch if Bit n in M Clear  
PC (PC) + 3 + rel ? (Mn) = 0  
PC (PC) + 2  
BRN rel  
Branch Never  
– REL  
21 rr  
3
DIR (b0) 00 dd rr  
DIR (b1) 02 dd rr  
DIR (b2) 04 dd rr  
DIR (b3) 06 dd rr  
DIR (b4) 08 dd rr  
DIR (b5) 0A dd rr  
DIR (b6) 0C dd rr  
DIR (b7) 0E dd rr  
5
5
5
5
5
5
5
5
BRSET n,opr,rel Branch if Bit n in M Set  
PC (PC) + 3 + rel ? (Mn) = 1  
DIR (b0) 10 dd  
DIR (b1) 12 dd  
DIR (b2) 14 dd  
DIR (b3) 16 dd  
DIR (b4) 18 dd  
DIR (b5) 1A dd  
DIR (b6) 1C dd  
DIR (b7) 1E dd  
4
4
4
4
4
4
4
4
BSET n,opr  
BSR rel  
Set Bit n in M  
Mn 1  
PC (PC) + 2; push (PCL)  
SP (SP) – 1; push (PCH)  
SP (SP) – 1  
Branch to Subroutine  
– REL  
AD rr  
4
PC (PC) + rel  
CBEQ opr,rel  
PC (PC) + 3 + rel ? (A) – (M) = $00  
PC (PC) + 3 + rel ? (A) – (M) = $00  
PC (PC) + 3 + rel ? (X) – (M) = $00  
PC (PC) + 3 + rel ? (A) – (M) = $00  
PC (PC) + 2 + rel ? (A) – (M) = $00  
PC (PC) + 4 + rel ? (A) – (M) = $00  
DIR  
31 dd rr  
41 ii rr  
51 ii rr  
61 ff rr  
71 rr  
5
4
4
5
4
6
CBEQA #opr,rel  
CBEQX #opr,rel  
CBEQ opr,X+,rel  
CBEQ X+,rel  
IMM  
IMM  
Compare and Branch if Equal  
IX1+  
IX+  
CBEQ opr,SP,rel  
SP1  
9E61 ff rr  
CLC  
CLI  
Clear Carry Bit  
C 0  
I 0  
0
0 INH  
– INH  
98  
9A  
1
2
Clear Interrupt Mask  
CLR opr  
CLRA  
M $00  
A $00  
X $00  
H $00  
M $00  
M $00  
M $00  
DIR  
INH  
3F dd  
4F  
3
1
1
1
3
2
4
CLRX  
INH  
5F  
CLRH  
Clear  
0
0
1
– INH  
IX1  
IX  
SP1  
8C  
CLR opr,X  
CLR ,X  
6F ff  
7F  
CLR opr,SP  
9E6F ff  
CMP #opr  
CMP opr  
IMM  
DIR  
EXT  
IX2  
A1 ii  
B1 dd  
C1 hh ll  
D1 ee ff  
E1 ff  
2
3
4
4
3
2
4
5
CMP opr  
CMP opr,X  
CMP opr,X  
CMP ,X  
CMP opr,SP  
CMP opr,SP  
Compare A with M  
(A) – (M)  
–  
↕ ↕ ↕  
IX1  
IX  
F1  
SP1  
SP2  
9EE1 ff  
9ED1 ee ff  
COM opr  
COMA  
COMX  
COM opr,X  
COM ,X  
COM opr,SP  
M (M) = $FF – (M)  
A (A) = $FF – (M)  
X (X) = $FF – (M)  
M (M) = $FF – (M)  
M (M) = $FF – (M)  
M (M) = $FF – (M)  
DIR  
INH  
INH  
IX1  
IX  
33 dd  
43  
4
1
1
4
3
5
53  
Complement (One’s Complement)  
0
↕ ↕ 1  
63 ff  
73  
SP1  
9E63 ff  
11-cpu8_a  
MC68HC708XL36  
51  
MOTOROLA  
CPU  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
CPU  
Table 1. Instruction Set Summary (Continued)  
Effect on  
CCR  
Source  
Form  
Operation  
Description  
V H I N Z C  
CPHX #opr  
CPHX opr  
IMM  
DIR  
65 ii ii+1  
75 dd  
3
4
Compare H:X with M  
(H:X) – (M:M + 1)  
–  
–  
↕ ↕ ↕  
↕ ↕ ↕  
CPX #opr  
CPX opr  
CPX opr  
CPX ,X  
CPX opr,X  
CPX opr,X  
CPX opr,SP  
CPX opr,SP  
IMM  
DIR  
EXT  
IX2  
IX1  
IX  
SP1  
SP2  
A3 ii  
B3 dd  
C3 hh ll  
D3 ee ff  
E3 ff  
2
3
4
4
3
2
4
5
Compare X with M  
(X) – (M)  
F3  
9EE3 ff  
9ED3 ee ff  
DAA  
Decimal Adjust A  
(A)  
U
↕ ↕ ↕ INH  
72  
2
10  
A (A) – 1 or M (M) – 1 or X (X) – 1  
PC (PC) + 3 + rel ? (result) 0  
PC (PC) + 2 + rel ? (result) 0  
PC (PC) + 2 + rel ? (result) 0  
PC (PC) + 3 + rel ? (result) 0  
PC (PC) + 2 + rel ? (result) 0  
PC (PC) + 4 + rel ? (result) 0  
5
3
3
5
4
6
DBNZ opr,rel  
DBNZA rel  
DBNZX rel  
DBNZ opr,X,rel  
DBNZ X,rel  
DBNZ opr,SP,rel  
DIR  
INH  
3B dd rr  
4B rr  
Decrement and Branch if Not Zero  
– INH  
IX1  
5B rr  
6B ff rr  
7B rr  
IX  
SP1  
9E6B ff rr  
DEC opr  
DECA  
M (M) – 1  
A (A) – 1  
X (X) – 1  
M (M) – 1  
M (M) – 1  
M (M) – 1  
DIR  
INH  
INH  
3A dd  
4A  
4
1
1
4
3
5
DECX  
5A  
Decrement  
Divide  
–  
↕ ↕ –  
DEC opr,X  
DEC ,X  
DEC opr,SP  
IX1  
IX  
6A ff  
7A  
9E6A ff  
SP1  
A (H:A)/(X)  
H Remainder  
DIV  
0
↕ ↕ INH  
52  
7
EOR #opr  
EOR opr  
EOR opr  
EOR opr,X  
EOR opr,X  
EOR ,X  
EOR opr,SP  
EOR opr,SP  
IMM  
DIR  
EXT  
IX2  
IX1  
IX  
SP1  
SP2  
A8 ii  
B8 dd  
C8 hh ll  
D8 ee ff  
E8 ff  
2
3
4
4
3
2
4
5
Exclusive OR M with A  
A (A  
M)  
↕ ↕ –  
F8  
9EE8 ff  
9ED8 ee ff  
INC opr  
INCA  
INCX  
INC opr,X  
INC ,X  
INC opr,SP  
M (M) + 1  
A (A) + 1  
X (X) + 1  
M (M) + 1  
M (M) + 1  
M (M) + 1  
DIR  
INH  
INH  
IX1  
IX  
3C dd  
4C  
4
1
1
4
3
5
5C  
Increment  
–  
↕ ↕ –  
6C ff  
7C  
SP1  
9E6C ff  
JMP opr  
JMP opr  
JMP opr,X  
JMP opr,X  
JMP ,X  
DIR  
BC dd  
CC hh ll  
DC ee ff  
EC ff  
2
3
4
3
2
EXT  
Jump  
PC Jump Address  
– IX2  
IX1  
IX  
FC  
JSR opr  
JSR opr  
JSR opr,X  
JSR opr,X  
JSR ,X  
DIR  
EXT  
– IX2  
IX1  
BD dd  
CD hh ll  
DD ee ff  
ED ff  
4
5
6
5
4
PC (PC) + n (n = 1, 2, or 3)  
Push (PCL); SP (SP) – 1  
Push (PCH); SP (SP) – 1  
PC Unconditional Address  
Jump to Subroutine  
IX  
FD  
LDA #opr  
LDA opr  
IMM  
DIR  
EXT  
IX2  
A6 ii  
B6 dd  
C6 hh ll  
D6 ee ff  
E6 ff  
2
3
4
4
3
2
4
5
LDA opr  
LDA opr,X  
LDA opr,X  
LDA ,X  
LDA opr,SP  
LDA opr,SP  
Load A from M  
A (M)  
0
0
↕ ↕ –  
↕ ↕ –  
IX1  
IX  
F6  
SP1  
SP2  
9EE6 ff  
9ED6 ee ff  
LDHX #opr  
LDHX opr  
IMM  
DIR  
45 ii jj  
55 dd  
3
4
Load H:X from M  
H:X ← (M:M + 1)  
12-cpu8_a  
MC68HC708XL36  
52  
CPU  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
CPU  
Instruction Set Summary  
Table 1. Instruction Set Summary (Continued)  
Effect on  
CCR  
Source  
Form  
Operation  
Description  
V H I N Z C  
LDX #opr  
IMM  
DIR  
EXT  
IX2  
AE ii  
BE dd  
CE hh ll  
DE ee ff  
EE ff  
2
3
4
4
3
2
4
5
LDX opr  
LDX opr  
LDX opr,X  
LDX opr,X  
LDX ,X  
Load X from M  
X (M)  
0
↕ ↕ –  
IX1  
IX  
SP1  
SP2  
FE  
LDX opr,SP  
LDX opr,SP  
9EEE ff  
9EDE ee ff  
LSL opr  
LSLA  
DIR  
INH  
INH  
IX1  
IX  
38 dd  
48  
4
1
1
4
3
5
LSLX  
Logical Shift Left  
(Same as ASL)  
58  
C
0
–  
–  
↕ ↕ ↕  
LSL opr,X  
LSL ,X  
LSL opr,SP  
68 ff  
78  
9E68 ff  
b7  
b0  
b0  
SP1  
LSR opr  
LSRA  
LSRX  
LSR opr,X  
LSR ,X  
LSR opr,SP  
DIR  
INH  
INH  
IX1  
IX  
34 dd  
44  
4
1
1
4
3
5
54  
0
C
Logical Shift Right  
0 ↕ ↕  
64 ff  
74  
b7  
SP1  
9E64 ff  
MOV opr,opr  
MOV opr,X+  
MOV #opr,opr  
MOV X+,opr  
DD  
4E dd dd  
5E dd  
5
4
4
4
(M)  
(M)  
Source  
Destination  
DIX+  
IMD  
IX+D  
Move  
0
0
↕ ↕ –  
6E ii dd  
7E dd  
H:X (H:X) + 1 (IX+D, DIX+)  
X:A (X) × (A)  
MUL  
Unsigned multiply  
0 INH  
42  
5
NEG opr  
NEGA  
DIR  
INH  
INH  
30 dd  
40  
4
1
1
4
3
5
M –(M) = $00 – (M)  
A –(A) = $00 – (A)  
X –(X) = $00 – (X)  
M –(M) = $00 – (M)  
M –(M) = $00 – (M)  
NEGX  
50  
Negate (Two’s Complement)  
–  
↕ ↕ ↕  
NEG opr,X  
NEG ,X  
NEG opr,SP  
IX1  
IX  
60 ff  
70  
9E60 ff  
SP1  
NOP  
NSA  
No Operation  
Nibble Swap A  
None  
– INH  
– INH  
9D  
62  
1
3
A (A[3:0]:A[7:4])  
ORA #opr  
ORA opr  
IMM  
DIR  
EXT  
IX2  
AA ii  
BA dd  
CA hh ll  
DA ee ff  
EA ff  
2
3
4
4
3
2
4
5
ORA opr  
ORA opr,X  
ORA opr,X  
ORA ,X  
ORA opr,SP  
ORA opr,SP  
Inclusive OR A and M  
A (A) | (M)  
0
↕ ↕ –  
IX1  
IX  
FA  
SP1  
SP2  
9EEA ff  
9EDA ee ff  
PSHA  
PSHH  
PSHX  
PULA  
PULH  
PULX  
Push A onto Stack  
Push H onto Stack  
Push X onto Stack  
Pull A from Stack  
Pull H from Stack  
Pull X from Stack  
Push (A); SP (SP) – 1  
Push (H); SP (SP) – 1  
Push (X); SP (SP) – 1  
SP (SP + 1); Pull (A)  
SP (SP + 1); Pull (H)  
SP (SP + 1); Pull (X)  
– INH  
– INH  
– INH  
– INH  
– INH  
– INH  
87  
8B  
89  
86  
8A  
88  
2
2
2
2
2
2
ROL opr  
ROLA  
DIR  
INH  
INH  
39 dd  
49  
4
1
1
4
3
5
ROLX  
59  
C
Rotate Left through Carry  
–  
↕ ↕ ↕  
ROL opr,X  
ROL ,X  
ROL opr,SP  
IX1  
IX  
69 ff  
79  
9E69 ff  
b7  
b0  
SP1  
13-cpu8_a  
MC68HC708XL36  
53  
MOTOROLA  
CPU  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
CPU  
Table 1. Instruction Set Summary (Continued)  
Effect on  
CCR  
Source  
Form  
Operation  
Description  
V H I N Z C  
ROR opr  
DIR  
INH  
INH  
IX1  
IX  
36 dd  
46  
4
1
1
4
3
5
RORA  
RORX  
56  
C
Rotate Right through Carry  
–  
↕ ↕ ↕  
ROR opr,X  
ROR ,X  
66 ff  
76  
9E66 ff  
b7  
b0  
ROR opr,SP  
SP1  
RSP  
Reset Stack Pointer  
Return from Interrupt  
SP $FF  
– INH  
9C  
1
SP (SP) + 1; Pull (CCR)  
SP (SP) + 1; Pull (A)  
SP (SP) + 1; Pull (X)  
SP (SP) + 1; Pull (PCH)  
SP (SP) + 1; Pull (PCL)  
RTI  
↕ ↕ ↕ ↕ ↕ ↕ INH  
80  
7
SP SP + 1; Pull (PCH)  
SP SP + 1; Pull (PCL)  
RTS  
Return from Subroutine  
Subtract with Carry  
– INH  
81  
4
SBC #opr  
SBC opr  
SBC opr  
SBC opr,X  
SBC opr,X  
SBC ,X  
SBC opr,SP  
SBC opr,SP  
IMM  
DIR  
EXT  
IX2  
IX1  
IX  
SP1  
SP2  
A2 ii  
B2 dd  
C2 hh ll  
D2 ee ff  
E2 ff  
2
3
4
4
3
2
4
5
A (A) – (M) – (C)  
–  
↕ ↕ ↕  
F2  
9EE2 ff  
9ED2 ee ff  
SEC  
SEI  
Set Carry Bit  
C 1  
I 1  
1
1 INH  
– INH  
99  
9B  
1
2
Set Interrupt Mask  
STA opr  
DIR  
EXT  
IX2  
B7 dd  
C7 hh ll  
D7 ee ff  
E7 ff  
3
4
4
3
2
4
5
STA opr  
STA opr,X  
STA opr,X  
STA ,X  
STA opr,SP  
STA opr,SP  
Store A in M  
M (A)  
0
↕ ↕ – IX1  
IX  
SP1  
SP2  
F7  
9EE7 ff  
9ED7 ee ff  
STHX opr  
STOP  
Store H:X in M  
(M:M + 1) (H:X)  
0
0
↕ ↕ – DIR  
35 dd  
8E  
4
1
Enable IRQ Pin; Stop Oscillator  
I 0; Stop Oscillator  
– INH  
STX opr  
DIR  
EXT  
IX2  
BF dd  
CF hh ll  
DF ee ff  
EF ff  
3
4
4
3
2
4
5
STX opr  
STX opr,X  
STX opr,X  
STX ,X  
STX opr,SP  
STX opr,SP  
Store X in M  
M (X)  
0
↕ ↕ – IX1  
IX  
SP1  
SP2  
FF  
9EEF ff  
9EDF ee ff  
SUB #opr  
SUB opr  
SUB opr  
SUB opr,X  
SUB opr,X  
SUB ,X  
SUB opr,SP  
SUB opr,SP  
IMM  
DIR  
EXT  
A0 ii  
B0 dd  
C0 hh ll  
D0 ee ff  
E0 ff  
2
3
4
4
3
2
4
5
IX2  
↕ ↕ ↕  
IX1  
Subtract  
A (A) (M)  
–  
IX  
SP1  
SP2  
F0  
9EE0 ff  
9ED0 ee ff  
PC (PC) + 1; Push (PCL)  
SP (SP) – 1; Push (PCH)  
SP (SP) – 1; Push (X)  
SP (SP) – 1; Push (A)  
SWI  
Software Interrupt  
1
– INH  
83  
9
SP (SP) – 1; Push (CCR)  
SP (SP) – 1; I 1  
PCH Interrupt Vector High Byte  
PCL Interrupt Vector Low Byte  
TAP  
TAX  
Transfer A to CCR  
Transfer A to X  
CCR (A)  
X (A)  
↕ ↕ ↕ ↕ ↕ ↕ INH  
– INH  
84  
97  
2
1
– – – –  
14-cpu8_a  
MC68HC708XL36  
54  
CPU  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
CPU  
Opcode Map  
Table 1. Instruction Set Summary (Continued)  
Effect on  
CCR  
Source  
Form  
Operation  
Description  
V H I N Z C  
TPA  
Transfer CCR to A  
A (CCR)  
– INH  
85  
1
TST opr  
TSTA  
TSTX  
TST opr,X  
TST ,X  
TST opr,SP  
DIR  
INH  
INH  
IX1  
IX  
SP1  
3D dd  
4D  
3
1
1
3
2
4
5D  
Test for Negative or Zero  
(A) – $00 or (X) – $00 or (M) – $00  
0
↕ ↕ –  
6D ff  
7D  
9E6D ff  
TSX  
TXA  
TXS  
Transfer SP to H:X  
Transfer X to A  
H:X (SP) + 1  
A (X)  
– INH  
– INH  
– INH  
95  
9F  
94  
2
1
2
Transfer H:X to SP  
(SP) (H:X) – 1  
A
C
Accumulator  
Carry/borrow bit  
n
Any bit  
opr Operand (one or two bytes)  
PC Program counter  
PCH Program counter high byte  
PCL Program counter low byte  
REL Relative addressing mode  
CCR Condition code register  
dd Direct address of operand  
dd rr Direct address of operand and relative offset of branch instruction  
DD Direct to direct addressing mode  
DIR Direct addressing mode  
rel  
rr  
Relative program counter offset byte  
Relative program counter offset byte  
DIX+ Direct to indexed with post increment addressing mode  
ee ff High and low bytes of offset in indexed, 16-bit offset addressing  
EXT Extended addressing mode  
SP1 Stack pointer, 8-bit offset addressing mode  
SP2 Stack pointer 16-bit offset addressing mode  
SP Stack pointer  
U
V
X
Z
&
|
ff  
H
H
Offset byte in indexed, 8-bit offset addressing  
Half-carry bit  
Index register high byte  
Undefined  
Overflow bit  
Index register low byte  
Zero bit  
Logical AND  
Logical OR  
Logical EXCLUSIVE OR  
Contents of  
hh ll High and low bytes of operand address in extended addressing  
I
Interrupt mask  
ii  
Immediate operand byte  
IMD Immediate source to direct destination addressing mode  
IMM Immediate addressing mode  
INH Inherent addressing mode  
( )  
IX  
Indexed, no offset addressing mode  
–( ) Negation (two’s complement)  
IX+  
Indexed, no offset, post increment addressing mode  
#
Immediate value  
Sign extend  
Loaded with  
If  
IX+D Indexed with post increment to direct addressing mode  
IX1 Indexed, 8-bit offset addressing mode  
IX1+ Indexed, 8-bit offset, post increment addressing mode  
«
?
IX2  
M
N
Indexed, 16-bit offset addressing mode  
Memory location  
Negative bit  
:
Concatenated with  
Set or cleared  
Not affected  
Op c od e Ma p  
Table 2 on page 56 is the opcode map for the MC68HC708XL36.  
15-cpu8_a  
MC68HC708XL36  
55  
MOTOROLA  
CPU  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
CPU  
16-cpu8_a  
MC68HC708XL36  
56  
CPU  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Re se ts a nd Inte rrup ts  
Re se ts a nd Inte rrup ts  
Conte nts  
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .58  
Resets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .58  
Effects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .58  
External Reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .58  
Internal Reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .58  
Power-On Reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .59  
COP Reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .60  
Low-Voltage Inhibit Reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . .60  
Illegal Opcode Reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .60  
Illegal Address Reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .60  
Reset Status Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .61  
Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .62  
Effects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .62  
Sources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .65  
SWI Instruction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .66  
Break Interrupt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .66  
IRQ1 Pin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .66  
CGM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .66  
DMA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .66  
TIM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .67  
SPI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .67  
SCI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .68  
IRQ2 Pin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .69  
KB0–KB7 Pins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .69  
Interrupt Status Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .70  
Interrupt Status Register 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .71  
Interrupt Status Register 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .71  
Interrupt Status Register 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .72  
1-ri24_e  
MC68HC708XL36  
MOTOROLA  
Resets and Interrupts  
57  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Re se ts a nd Inte rrup ts  
Introd uc tion  
Resets and interrupts are responses to exceptional events during  
program execution. A reset reinitializes the MCU to its startup condition.  
An interrupt vectors the program counter to a service routine.  
Re se ts  
A reset returns the MCU to a known startup condition and begins  
program execution from a user-defined memory location.  
Effe c ts  
A reset:  
Immediately stops the operation of the instruction being executed.  
Initializes certain control and status bits.  
Loads the program counter with a user-defined reset vector  
address from locations $FFFE and $FFFF.  
Selects CGMXCLK divided by four as the bus clock.  
Exte rna l Re se t  
Inte rna l Re se t  
A logic 0 applied to the RST pin for a time, t , generates an external  
reset. An external reset sets the PIN bit in the reset status register.  
IRL  
Sources:  
Power-on reset  
COP  
Low-voltage inhibit  
Illegal opcode  
Illegal address  
All internal reset sources pull the RST pin low for 32 CGMXCLK cycles  
to allow resetting of external devices. The MCU is held in reset for an  
additional 32 CGMXCLK cycles after releasing the RST pin.  
2-ri24_e  
MC68HC708XL36  
58  
Resets and Interrupts  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Resets and Interrupts  
Resets  
PULLED LOW BY MCU  
RST PIN  
32 CYCLES  
32 CYCLES  
CGMXCLK  
INTERNAL  
RESET  
Figure 1. Internal Reset Timing  
Po we r-On Re se t  
A power-on reset (POR) is an internal reset caused by a positive  
transition on the V pin. A power-on reset:  
DD  
Holds the clocks to the CPU and modules inactive for an oscillator  
stabilization delay of 4096 CGMXCLK cycles.  
Drives the RST pin low during the oscillator stabilization delay.  
Releases the RST pin 32 CGMXCLK cycles after the oscillator  
stabilization delay.  
Releases the CPU to begin the reset vector sequence 64  
CGMXCLK cycles after the oscillator stabilization delay.  
Sets the POR bit in the reset status register and clears all other  
bits in the register.  
OSC1  
(1)  
PORRST  
4096  
CYCLES  
32  
CYCLES  
32  
CYCLES  
CGMXCLK  
CGMOUT  
RST PIN  
INTERNAL  
RESET  
1. PORRST is an internally generated power-on reset pulse.  
Figure 2. Power-On Reset Recovery  
3-ri24_e  
MC68HC708XL36  
59  
MOTOROLA  
Resets and Interrupts  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Re se ts a nd Inte rrup ts  
COP Re se t  
A COP reset is an internal reset caused by an overflow of the COP  
counter. A COP reset sets the COP bit in the reset status register.  
To clear the COP counter and prevent a COP reset, write any value to  
the COP control register at location $FFFF.  
Lo w-Vo lta g e  
Inhib it Re se t  
A low-voltage inhibit (LVI) reset is an internal reset caused by a drop in  
the power supply voltage to the LVI  
voltage. An LVI reset:  
tripf  
Holds the clocks to the CPU and modules inactive for an oscillator  
stabilization delay of 4096 CGMXCLK cycles after the power  
supply voltage rises to the LVI voltage.  
tripr  
Drives the RST pin low for as long as V is below the LVI  
voltage and during the oscillator stabilization delay.  
DD  
tripr  
Releases the RST pin 32 CGMXCLK cycles after the oscillator  
stabilization delay.  
Releases the CPU to begin the reset vector sequence 64  
CGMXCLK cycles after the oscillator stabilization delay.  
Sets the LVI bit in the reset status register.  
Ille g a l Op c o d e  
Re se t  
An illegal opcode reset is an internal reset caused by an opcode that is  
not in the instruction set. An illegal opcode reset sets the ILOP bit in the  
reset status register.  
If the stop enable bit, STOP, in the configuration register is logic 0, the  
STOP instruction causes an illegal opcode reset.  
Ille g a l Ad d re ss  
Re se t  
An illegal address reset is an internal reset caused by an opcode fetch  
from an unmapped address. An illegal address reset sets the ILAD bit in  
the reset status register.  
A data fetch from an unmapped address does not generate a reset.  
4-ri24_e  
MC68HC708XL36  
60  
Resets and Interrupts  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Resets and Interrupts  
Resets  
Re se t Sta tus  
Re g iste r  
This read-only register contains six flags that show the source of the last  
reset. Clear the reset status register by reading it. A power-on reset sets  
the POR bit and clears all other bits in the register.  
NOTE: A reset source that becomes active before recovery from a previous  
reset can prevent the previous reset from setting its reset status bit.  
Address: $FE01  
Bit 7  
POR  
6
5
4
3
2
0
1
Bit 0  
0
Read:  
Write:  
POR:  
PIN  
COP  
ILOP  
ILAD  
LVI  
1
0
0
0
0
0
0
0
= Unimplemented  
Figure 3. Reset Status Register (RSR)  
POR — Power-On Reset Bit  
1 = Last reset caused by power-on  
0 = Read of RSR  
PIN — External Reset Bit  
1 = Last reset caused by external reset pin (RST)  
0 = POR or read of RSR  
COP — Computer Operating Properly Reset Bit  
1 = Last reset caused by timeout of COP counter  
0 = POR or read of RSR  
ILOP — Illegal Opcode Reset Bit  
1 = Last reset caused by an illegal opcode  
0 = POR or read of RSR  
ILAD — Illegal Address Reset Bit  
1 = Last reset caused by an opcode fetch from an illegal address  
0 = POR or read of RSR  
LVI — Low-Voltage Inhibit Reset Bit  
1 = Last reset caused by low power supply voltage  
0 = POR or read of RSR  
5-ri24_e  
MC68HC708XL36  
MOTOROLA  
Resets and Interrupts  
61  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Re se ts a nd Inte rrup ts  
Inte rrup ts  
An interrupt temporarily changes the sequence of program execution to  
respond to a particular event. An interrupt does not stop the operation of  
the instruction being executed, but begins when the current instruction  
completes its operation.  
Effe c ts  
An interrupt:  
Saves the CPU registers on the stack. At the end of the interrupt,  
the RTI instruction recovers the CPU registers from the stack so  
that normal processing can resume.  
CONDITION CODE REGISTER  
ACCUMULATOR  
5
4
3
2
1
1
2
3
4
5
STACKING  
ORDER  
INDEX REGISTER (LOW BYTE)*  
PROGRAM COUNTER (HIGH BYTE)  
PROGRAM COUNTER (LOW BYTE)  
UNSTACKING  
ORDER  
$00FF DEFAULT ADDRESS ON RESET  
*High byte of index register is not stacked.  
Figure 4. Interrupt Stacking Order  
6-ri24_e  
MC68HC708XL36  
62  
Resets and Interrupts  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Resets and Interrupts  
Interrupts  
Sets the interrupt mask (I bit) to prevent additional interrupts.  
Once an interrupt is latched, no other interrupt can take  
precedence, regardless of its priority.  
Loads the program counter with a user-defined vector address.  
After every instruction, the CPU checks all pending interrupts if the I bit  
is not set. If more than one interrupt is pending when an instruction is  
done, the highest priority interrupt is serviced first. If an interrupt is  
pending upon exit from the interrupt service routine, the pending  
interrupt is serviced before the LDA instruction is executed.  
CLI  
LDA #$FF  
BACKGROUND  
ROUTINE  
INT1  
PSHH  
INT1 INTERRUPT SERVICE ROUTINE  
PULH  
RTI  
INT2  
PSHH  
INT2 INTERRUPT SERVICE ROUTINE  
PULH  
RTI  
Figure 5. Interrupt Recognition Example  
The LDA opcode is prefetched by both the INT1 and INT2 RTI  
instructions. However, in the case of the INT1 RTI prefetch, this is a  
redundant operation.  
NOTE: To maintain compatibility with the M6805 Family, the H register is not  
pushed on the stack during interrupt entry. If the interrupt service routine  
modifies the H register or uses the indexed addressing mode, save the  
H register and then restore it prior to exiting the routine.  
7-ri24_e  
MC68HC708XL36  
MOTOROLA  
Resets and Interrupts  
63  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Re se ts a nd Inte rrup ts  
FROM RESET  
YES  
BREAK INTERRUPT?  
NO  
YES  
I BIT SET?  
NO  
IRQ1  
YES  
YES  
INTERRUPT?  
NO  
CGM  
INTERRUPT?  
NO  
STACK CPU REGISTERS.  
SET I BIT.  
LOAD PC WITH INTERRUPT VECTOR.  
ALL OTHER HARDWARE  
INTERRUPTS ON CHIP  
FETCH NEXT  
INSTRUCTION.  
SWI  
YES  
YES  
INSTRUCTION?  
NO  
RTI  
UNSTACK CPU REGISTERS.  
EXECUTE INSTRUCTION.  
INSTRUCTION?  
NO  
Figure 6. Interrupt Processing  
8-ri24_e  
MC68HC708XL36  
64  
Resets and Interrupts  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Resets and Interrupts  
Interrupts  
Sourc e s  
The following sources can generate CPU interrupt requests:  
Table 1. Interrupt Sources  
SWI Instruction  
IRQ1 Pin  
None  
None  
None  
IF1  
0
1
2
$FFFC$FFFD  
$FFFA$FFFB  
$FFF8–$FFF9  
IRQ1F IMASK1  
CGM  
PLLF  
IFC0  
IFC1  
IFC2  
CH0F  
CH1F  
CH2F  
CH3F  
TOF  
PLLIE  
IEC0  
IF2  
DMA Channel 0  
DMA Channel 1  
DMA Channel 2  
TIM Channel 0  
TIM Channel 1  
TIM Channel 2  
TIM Channel 3  
TIM Overflow  
IEC1  
IF3  
3
$FFF6–$FFF7  
IEC2  
CH0IE  
CH1IE  
CH2IE  
CH3IE  
TOIE  
IF4  
IF5  
IF6  
IF7  
IF8  
4
5
6
7
8
$FFF4–$FFF5  
$FFF2–$FFF3  
$FFF0–$FFF1  
$FFEE–$FFEF  
$FFEC–$FFED  
SPI Receiver Full  
SPI Overflow  
SPRF  
OVRF  
MODF  
SPTE  
OR  
SPRIE  
ERRIE  
ERRIE  
SPTIE  
ORIE  
NEIE  
IF9  
9
$FFEA–$FFEB  
$FFE8–$FFE9  
SPI Mode Fault  
SPI Transmitter Empty  
SCI Receiver Overrun  
SCI Noise Flag  
SCI Framing Error  
SCI Parity Error  
SCI Receiver Full  
SCI Input Idle  
IF10  
10  
NF  
IF11  
11  
$FFE6–$FFE7  
FE  
FEIE  
PE  
PEIE  
SCRF  
IDLE  
SCTE  
TC  
SCRIE  
ILIE  
IF12  
IF13  
12  
13  
$FFE4–$FFE5  
$FFE2–$FFE3  
SCI Transmitter Empty  
SCI Transmission Complete  
IRQ2 Pin  
SCTIE  
TCIE  
IRQ2F IMASK2 IF14  
KEYF IMASKK IF15  
14  
15  
$FFE0–$FFE1  
$FFDE–$FFDF  
Keyboard Pin  
1. The I bit in the condition code register is a global mask for all interrupt sources except the  
SWI instruction.  
2. 0 = highest priority  
9-ri24_e  
MC68HC708XL36  
65  
MOTOROLA  
Resets and Interrupts  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Re se ts a nd Inte rrup ts  
SWI Instruc tio n  
The software interrupt instruction (SWI) causes a nonmaskable  
interrupt.  
NOTE: A software interrupt pushes PC onto the stack. An SWI does not push  
PC – 1, as a hardware interrupt does.  
Bre a k Inte rrup t  
The break module causes the CPU to execute an SWI instruction at a  
software-programmable break point.  
IRQ1 Pin  
CGM  
A logic 0 on the IRQ1 pin latches an external interrupt request.  
The CGM can generate a CPU interrupt request every time the  
phase-locked loop circuit (PLL) enters or leaves the locked state. When  
the LOCK bit changes state, the PLL flag (PLLF) is set. The PLL interrupt  
enable bit (PLLIE) enables PLLF CPU interrupt requests. LOCK is in the  
PLL bandwidth control register. PLLF is in the PLL control register.  
DMA  
The DMA module can generate a CPU interrupt request when a channel  
x CPU interrupt flag (IFCx) becomes set.  
IFCx is set at the end of a DMA block transfer. The channel x CPU  
interrupt enable bit, IECx, enables DMA channel x CPU interrupt  
requests.  
IFCx is set at the end of a DMA transfer loop. The channel x CPU  
interrupt enable bit, IECx, enables DMA channel x CPU interrupt  
requests.  
The IFCx bit is the DMA status and control register. The IECx bit is in  
DMA control register 1.  
10-ri24_e  
MC68HC708XL36  
66  
Resets and Interrupts  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Resets and Interrupts  
Interrupts  
TIM  
TIM CPU interrupt sources:  
TIM overflow flag (TOF) — The TOF bit is set when the TIM  
counter value rolls over to $0000 after matching the value in the  
TIM counter modulo registers. The TIM overflow interrupt enable  
bit, TOIE, enables TIM overflow CPU interrupt requests. TOF and  
TOIE are in the TIM status and control register.  
TIM channel flags (CH3F–CH0F) — The CHxF bit is set when an  
input capture or output compare occurs on channel x. The channel  
x interrupt enable bit, CHxIE, enables channel x TIM CPU  
interrupt requests. CHxF and CHxIE are in the TIM channel x  
status and control register.  
SPI  
SPI CPU interrupt sources:  
SPI receiver full bit (SPRF) — The SPRF bit is set every time a  
byte transfers from the shift register to the receive data register.  
The SPI receiver interrupt enable bit, SPRIE, enables SPRF CPU  
interrupt requests. SPRF is in the SPI status and control register  
and SPRIE is in the SPI control register.  
SPI transmitter empty (SPTE) — The SPTE bit is set every time a  
byte transfers from the transmit data register to the shift register.  
The SPI transmit interrupt enable bit, SPTIE, enables SPTE CPU  
interrupt requests. SPTE is in the SPI status and control register  
and SPTIE is in the SPI control register.  
Mode fault bit (MODF) — The MODF bit is set in a slave SPI if the  
SS pin goes high during a transmission with the mode fault enable  
bit (MODFEN) set. In a master SPI, the MODF bit is set if the SS  
pin goes low at any time with the MODFEN bit set. The error  
interrupt enable bit, ERRIE, enables MODF CPU interrupt  
requests. MODF, MODFEN, and ERRIE are in the SPI status and  
control register.  
Overflow bit (OVRF) — The OVRF bit is set if software does not  
read the byte in the receive data register before the next full byte  
enters the shift register. The error interrupt enable bit, ERRIE,  
enables OVRF CPU interrupt requests. OVRF and ERRIE are in  
the SPI status and control register.  
11-ri24_e  
MC68HC708XL36  
MOTOROLA  
Resets and Interrupts  
67  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Re se ts a nd Inte rrup ts  
SCI  
SCI CPU interrupt sources:  
SCI transmitter empty bit (SCTE) — SCTE is set when the SCI  
data register transfers a character to the transmit shift register.  
The SCI transmit interrupt enable bit, SCTIE, enables transmitter  
CPU interrupt requests. SCTE is in SCI status register 1. SCTIE is  
in SCI control register 2.  
Transmission complete bit (TC) — TC is set when the transmit  
shift register and the SCI data register are empty and no break or  
idle character has been generated. The transmission complete  
interrupt enable bit, TCIE, enables transmitter CPU interrupt  
requests. TC is in SCI status register 1. TCIE is in SCI control  
register 2.  
SCI receiver full bit (SCRF) — SCRF is set when the receive shift  
register transfers a character to the SCI data register. The SCI  
receive interrupt enable bit, SCRIE, enables receiver CPU  
interrupts. SCRF is in SCI status register 1. SCRIE is in SCI  
control register 2.  
Idle input bit (IDLE) — IDLE is set when 10 or 11 consecutive logic  
1s shift in from the RxD pin. The idle line interrupt enable bit, ILIE,  
enables IDLE CPU interrupt requests. IDLE is in SCI status  
register 1. ILIE is in SCI control register 2.  
Receiver overrun bit (OR) — OR is set when the receive shift  
register shifts in a new character before the previous character  
was read from the SCI data register. The overrun interrupt enable  
bit, ORIE, enables OR to generate SCI error CPU interrupt  
requests. OR is in SCI status register 1. ORIE is in SCI control  
register 3.  
Noise flag (NF) — NF is set when the SCI detects noise on  
incoming data or break characters, including start, data, and stop  
bits. The noise error interrupt enable bit, NEIE, enables NF to  
generate SCI error CPU interrupt requests. NF is in SCI status  
register 1. NEIE is in SCI control register 3.  
12-ri24_e  
MC68HC708XL36  
68  
Resets and Interrupts  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Resets and Interrupts  
Interrupts  
Framing error bit (FE) — FE is set when a logic 0 occurs where the  
receiver expects a stop bit. The framing error interrupt enable bit,  
FEIE, enables FE to generate SCI error CPU interrupt requests.  
FE is in SCI status register 1. FEIE is in SCI control register 3.  
Parity error bit (PE) — PE is set when the SCI detects a parity  
error in incoming data. The parity error interrupt enable bit, PEIE,  
enables PE to generate SCI error CPU interrupt requests. PE is in  
SCI status register 1. PEIE is in SCI control register 3.  
IRQ2 Pin  
A logic 0 on the IRQ2 pin latches an external interrupt request.  
KB0KB7 Pins  
A logic 0 on a keyboard interrupt pin latches an external interrupt  
request.  
13-ri24_e  
MC68HC708XL36  
69  
MOTOROLA  
Resets and Interrupts  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Re se ts a nd Inte rrup ts  
Inte rrup t Sta tus  
Re g iste rs  
The flags in the interrupt status registers identify maskable interrupt  
sources. Table 2 summarizes the interrupt sources and the interrupt  
status register flags that they set. The interrupt status registers can be  
useful for debugging.  
Table 2. Interrupt Source Flags  
Interrupt Status  
Interrupt Source  
Register Flag  
Reset  
SWI Instruction  
IRQ1 Pin  
IF1  
CGM  
IF2  
DMA  
IF3  
TIM Channel 0  
TIM Channel 1  
TIM Channel 2  
TIM Channel 3  
TIM Overflow  
SPI Receiver  
SPI Transmitter  
SCI Error  
IF4  
IF5  
IF6  
IF7  
IF8  
IF9  
IF10  
IF11  
IF12  
IF13  
IF14  
IF15  
SCI Receiver  
SCI Transmitter  
IRQ2 Pin  
Keyboard Pin  
14-ri24_e  
MC68HC708XL36  
70  
Resets and Interrupts  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
 
Freescale Semiconductor, Inc.  
Resets and Interrupts  
Interrupts  
Inte rrup t Sta tus  
Re g iste r 1  
Address: $FE04  
Bit 7  
IF6  
6
IF5  
R
5
IF4  
R
4
IF3  
R
3
IF2  
R
2
IF1  
R
1
0
Bit 0  
0
Read:  
Write:  
Reset:  
R
R
0
R
0
0
0
0
0
0
0
R = Reserved  
Figure 7. Interrupt Status Register 1 (INT1)  
IF6–IF1 — Interrupt Flags 6–1  
These flags indicate the presence of interrupt requests from the  
sources shown in Table 2.  
1 = Interrupt request present  
0 = No interrupt request present  
Bits 0–1 — Always read 0  
Inte rrup t Sta tus  
Re g iste r 2  
Address: $FE05  
Bit 7  
6
IF13  
R
5
IF12  
R
4
IF11  
R
3
IF10  
R
2
IF9  
R
1
IF8  
R
Bit 0  
IF7  
R
Read:  
Write:  
Reset:  
IF14  
R
0
0
0
0
0
0
0
0
R = Reserved  
Figure 8. Interrupt Status Register 2 (INT2)  
IF14–IF7 — Interrupt Flags 14–7  
These flags indicate the presence of interrupt requests from the  
sources shown in Table 2.  
1 = Interrupt request present  
0 = No interrupt request present  
15-ri24_e  
MC68HC708XL36  
71  
MOTOROLA  
Resets and Interrupts  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Re se ts a nd Inte rrup ts  
Inte rrup t Sta tus  
Re g iste r 3  
Address: $FE06  
Bit 7  
6
0
5
0
4
0
3
0
2
0
1
0
Bit 0  
IF15  
R
Read:  
0
Write:  
Reset:  
R
R
0
R
0
R
0
R
0
R
0
R
0
0
0
R = Reserved  
Figure 9. Interrupt Status Register 3 (INT3)  
Bits 7–1 — Always read 0  
IF15 — Interrupt Flag 15  
This flag indicates the presence of an interrupt request from the  
source shown in Table 2.  
1 = Interrupt request present  
0 = No interrupt request present  
16-ri24_e  
MC68HC708XL36  
72  
Resets and Interrupts  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Low-Powe r Mod e s  
Low-Powe r Mod e s  
Conte nts  
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .74  
Central Processor Unit (CPU) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .74  
Clock Generator Module (CGM) . . . . . . . . . . . . . . . . . . . . . . . . . . . . .75  
Break Module (BRK) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .75  
Computer Operating Properly Module (COP) . . . . . . . . . . . . . . . . . . .76  
Direct Memory Access Module (DMA) . . . . . . . . . . . . . . . . . . . . . . . .76  
External Interrupt Module (IRQ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . .77  
Keyboard Interrupt Module (KB) . . . . . . . . . . . . . . . . . . . . . . . . . . . . .77  
Low-Voltage Inhibit Module (LVI) . . . . . . . . . . . . . . . . . . . . . . . . . . . .78  
Serial Communications Interface Module (SCI) . . . . . . . . . . . . . . . . .78  
Serial Peripheral Interface Module (SPI). . . . . . . . . . . . . . . . . . . . . . .79  
Timer Interface Module (TIM) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .79  
Exiting Wait Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .80  
Exiting Stop Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .82  
1-lp24_e  
MC68HC708XL36  
MOTOROLA  
Low-Power Modes  
73  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Low-Powe r Mod e s  
Introd uc tion  
The WAIT instruction puts the MCU in a low-power standby mode in  
which the CPU clock is disabled but the bus clock continues to run. The  
STOP instruction disables both the CPU clock and the bus clock.  
Ce ntra l Proc e ssor Unit (CPU)  
Wa it Mod e  
The WAIT instruction:  
Clears the interrupt mask (I bit) in the condition code register,  
enabling interrupts. After exit from wait mode by interrupt, the I bit  
remains clear. After exit by reset, the I bit is set.  
Disables the CPU clock.  
Stop Mod e  
The STOP instruction:  
Clears the interrupt mask (I bit) in the condition code register,  
enabling external interrupts. After exit from stop mode by external  
interrupt, the I bit remains clear. After exit by reset, the I bit is set.  
Disables the CPU clock.  
After exiting stop mode, the CPU clock begins running after the oscillator  
stabilization delay.  
2-lp24_e  
MC68HC708XL36  
74  
Low-Power Modes  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Low-Power Modes  
Clock Generator Module (CGM)  
Cloc k Ge ne ra tor Mod ule (CGM)  
Wa it Mod e  
The CGM remains active in wait mode. Before entering wait mode,  
software can disengage and turn off the PLL by clearing the BCS and  
PLLON bits in the PLL control register (PCTL). Less power-sensitive  
applications can disengage the PLL without turning it off. Applications  
that require the PLL to wake the MCU from wait mode also can deselect  
the PLL output without turning off the PLL.  
Stop Mod e  
The STOP instruction disables the CGM and holds low all CGM outputs  
(CGMXCLK, CGMOUT, and CGMINT).  
If the STOP instruction is executed with the VCO clock, CGMVCLK,  
divided by two driving CGMOUT, the PLL automatically clears the BCS  
bit in the PLL control register (PCTL), thereby selecting the crystal clock,  
CGMXCLK, divided by two as the source of CGMOUT. When the MCU  
recovers from STOP, the crystal clock divided by two drives CGMOUT  
and BCS remains clear.  
Bre a k Mod ule (BRK)  
Wa it Mod e  
If enabled, the break module is active in wait mode. A DMA-generated  
address that matches the break address registers in wait mode sets the  
BSW in the break status register.  
The DMA can also use the break status and control register as its  
destination address in order to write to the BRKA and BRKE bits during  
wait mode. A DMA write to the break status and control register sets the  
BSW bit.  
Stop Mod e  
The break module is inactive in stop mode. The STOP instruction does  
not affect break module register states.  
3-lp24_e  
MC68HC708XL36  
MOTOROLA  
Low-Power Modes  
75  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Low-Powe r Mod e s  
Com p ute r Op e ra ting Prop e rly Mod ule (COP)  
Wa it Mod e  
The COP remains active in wait mode. To prevent a COP reset during  
wait mode, periodically clear the COP counter in a CPU interrupt routine  
or a DMA service routine.  
Stop Mod e  
Stop mode turns off the CGMXCLK input to the COP and clears the COP  
prescaler. Service the COP immediately before entering or after exiting  
stop mode to ensure a full COP timeout period after entering or exiting  
stop mode.  
The STOP bit in the configuration register (CONFIG) enables the STOP  
instruction. To prevent inadvertently turning off the COP with a STOP  
instruction, disable the STOP instruction by clearing the STOP bit.  
Dire c t Me m ory Ac c e ss Mod ule (DMA)  
Wa it Mod e  
If enabled by the DMAWE bit in the DMA status and control register, the  
DMA remains active in wait mode. The DMA can transfer data to and  
from peripherals while the MCU remains in wait mode.  
If the WAIT instruction occurs during a DMA transfer while DMAWE is  
set, the DMA transfer continues to completion. If the DMAWE bit is clear,  
a WAIT instruction suspends the current DMA transfer. If the DMA  
priority bit (DMAP) is set, the suspended transfer resumes when the  
MCU exits wait mode.  
Stop Mod e  
The DMA is inactive during stop mode. A STOP instruction suspends  
any DMA transfer in progress. If an external interrupt brings the MCU out  
of stop mode and the DMA priority bit (DMAP) is set, the suspended  
DMA transfer resumes. If a reset brings the MCU out of stop mode, the  
transfer is aborted.  
4-lp24_e  
MC68HC708XL36  
76  
Low-Power Modes  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Low-Power Modes  
External Interrupt Module (IRQ)  
Entering stop mode when a DMA channel is enabled may fail to clear the  
interrupt mask (I bit) in the condition code register. To make sure the I  
bit is cleared when entering stop mode:  
Before executing the STOP instruction, wait until any current DMA  
transfer is complete. Then disable DMA transfers by clearing bits  
TEC[2:0] in DMA control register 1.  
Or,  
Execute the clear-interrupt-mask instruction (CLI) before entering  
stop mode.  
Exte rna l Inte rrup t Mod ule (IRQ)  
Wa it Mod e  
The IRQ module remains active in wait mode. Clearing the IMASK1 or  
IMASK2 bit in the IRQ status and control register enables IRQ1 or IRQ2  
CPU interrupt requests to bring the MCU out of wait mode.  
Stop Mod e  
The IRQ module remains active in stop mode. Clearing the IMASK1 or  
IMASK2 bit in the IRQ status and control register enables IRQ1 or IRQ2  
CPU interrupt requests to bring the MCU out of stop mode.  
Ke yb oa rd Inte rrup t Mod ule (KB)  
Wa it Mod e  
The keyboard module remains active in wait mode. Clearing the  
IMASKK bit in the keyboard status and control register enables keyboard  
interrupt requests to bring the MCU out of wait mode.  
Stop Mod e  
The keyboard module remains active in stop mode. Clearing the  
IMASKK bit in the keyboard status and control register enables keyboard  
interrupt requests to bring the MCU out of stop mode.  
5-lp24_e  
MC68HC708XL36  
MOTOROLA  
Low-Power Modes  
77  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Low-Powe r Mod e s  
Low-Volta g e Inhib it Mod ule (LVI)  
Wa it Mod e  
If enabled, the LVI module remains active in wait mode. If enabled to  
generate resets, the LVI module can generate a reset and bring the  
MCU out of wait mode.  
Stop Mod e  
If enabled, the LVI module remains active in stop mode. If enabled to  
generate resets, the LVI module can generate a reset and bring the  
MCU out of stop mode.  
Se ria l Com m unic a tions Inte rfa c e Mod ule (SCI)  
Wa it Mod e  
The SCI module remains active in wait mode. Any enabled CPU  
interrupt request from the SCI module can bring the MCU out of wait  
mode.  
If SCI module functions are not required during wait mode, reduce power  
consumption by disabling the module before executing the WAIT  
instruction.  
The DMA can service the SCI without exiting wait mode.  
Stop Mod e  
The SCI module is inactive in stop mode. The STOP instruction does not  
affect SCI register states. SCI module operation resumes after the MCU  
exits stop mode.  
Because the internal clock is inactive during stop mode, entering stop  
mode during an SCI transmission or reception results in invalid data.  
6-lp24_e  
MC68HC708XL36  
78  
Low-Power Modes  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Low-Power Modes  
Serial Peripheral Interface Module (SPI)  
Se ria l Pe rip he ra l Inte rfa c e Mod ule (SPI)  
Wa it Mod e  
The SPI module remains active in wait mode. Any enabled CPU interrupt  
request from the SPI module can bring the MCU out of wait mode.  
If SPI module functions are not required during wait mode, reduce power  
consumption by disabling the SPI module before executing the WAIT  
instruction.  
The DMA can service the SPI without exiting wait mode.  
Stop Mod e  
The SPI module is inactive in stop mode. The STOP instruction does not  
affect SPI register states. SPI operation resumes after an external  
interrupt. If stop mode is exited by reset, any transfer in progress is  
aborted, and the SPI is reset.  
Tim e r Inte rfa c e Mod ule (TIM)  
Wa it Mod e  
The TIM remains active in wait mode. Any enabled CPU interrupt  
request from the TIM can bring the MCU out of wait mode.  
If TIM functions are not required during wait mode, reduce power  
consumption by stopping the TIM before executing the WAIT instruction.  
The DMA can service the TIM without exiting wait mode.  
Stop Mod e  
The TIM is inactive in stop mode. The STOP instruction does not affect  
register states or the state of the TIM counter. TIM operation resumes  
when the MCU exits stop mode after an external interrupt.  
7-lp24_e  
MC68HC708XL36  
MOTOROLA  
Low-Power Modes  
79  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Low-Powe r Mod e s  
Exiting Wa it Mod e  
The following events restart the CPU clock and load the program counter  
with the reset vector or with an interrupt vector:  
External reset — A logic 0 on the RST pin resets the MCU and  
loads the program counter with the contents of locations $FFFE  
and $FFFF.  
External interrupt — A high-to-low transition on an external  
interrupt pin loads the program counter with the contents of  
locations:  
– $FFFA and $FFFB (IRQ1 pin)  
– $FFE0 and $FFE1 (IRQ2 pin)  
Break interrupt — A break interrupt loads the program counter  
with the contents of $FFFC and $FFFD.  
Computer operating properly module (COP) reset — A timeout of  
the COP counter resets the MCU and loads the program counter  
with the contents of $FFFE and $FFFF.  
Low-voltage inhibit module (LVI) reset — A power supply voltage  
below the LVI  
voltage resets the MCU and loads the program  
tripf  
counter with the contents of locations $FFFE and $FFFF.  
Clock generator module (CGM) interrupt — A CPU interrupt  
request from the phase-locked loop (PLL) loads the program  
counter with the contents of $FFF8 and $FFF9.  
Direct memory access module (DMA) interrupt — A CPU interrupt  
request from the DMA loads the program counter with the  
contents of $FFF6 and $FFF7.  
8-lp24_e  
MC68HC708XL36  
80  
Low-Power Modes  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Low-Power Modes  
Exiting Wait Mode  
Timer interface module (TIM) interrupt — A CPU interrupt request  
from the TIM loads the program counter with the contents of:  
– $FFEC and $FFED (TIM overflow)  
– $FFEE and $FFEF (TIM channel 3)  
– $FFF0 and $FFF1 (TIM channel 2)  
– $FFF2 and $FFF3 (TIM channel 1)  
– $FFF4 and $FFF5 (TIM channel 0)  
Serial peripheral interface module (SPI) interrupt — A CPU  
interrupt request from the SPI loads the program counter with the  
contents of:  
– $FFE8 and $FFE9 (SPI transmitter)  
– $FFEA and $FFEB (SPI receiver)  
Serial communications interface module (SCI) interrupt — A CPU  
interrupt request from the SCI loads the program counter with the  
contents of:  
– $FFE2 and $FFE3 (SCI transmitter)  
– $FFE4 and $FFE5 (SCI receiver)  
– $FFE6 and $FFE7 (SCI receiver error)  
9-lp24_e  
MC68HC708XL36  
MOTOROLA  
Low-Power Modes  
81  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Low-Powe r Mod e s  
Exiting Stop Mod e  
The following events restart the system clocks and load the program  
counter with the reset vector or with an interrupt vector:  
External reset — A logic 0 on the RST pin resets the MCU and  
loads the program counter with the contents of locations $FFFE  
and $FFFF.  
External interrupt — A high-to-low transition on an external  
interrupt pin loads the program counter with the contents of  
locations:  
– $FFFA and $FFFB (IRQ1 pin)  
– $FFE0 and $FFE1 (IRQ2 pin)  
– $FFDE and $FFDF (keyboard interrupt pins)  
Low-voltage inhibit (LVI) reset — A power supply voltage below  
the LVI  
voltage resets the MCU and loads the program counter  
tripf  
with the contents of locations $FFFE and $FFFF.  
Break interrupt — A break interrupt loads the program counter  
with the contents of locations $FFFC and $FFFD.  
Upon exit from stop mode, the system clocks begin running after an  
oscillator stabilization delay. A 12-bit stop recovery counter inhibits the  
system clocks for 4096 CGMXCLK cycles after the reset or external  
interrupt.  
The short stop recovery bit, SSREC, in the configuration register  
controls the oscillator stabilization delay during stop recovery. Setting  
SSREC reduces stop recovery time from 4096 CGMXCLK cycles to 32  
CGMXCLK cycles.  
NOTE: Use the full stop recovery time (SSREC = 0) in applications that use an  
external crystal.  
10-lp24_e  
MC68HC708XL36  
82  
Low-Power Modes  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Cloc k Ge ne ra tor Mod ule  
CGM  
Conte nts  
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .84  
Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .85  
Functional Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .86  
Crystal Oscillator Circuit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .86  
Phase-Locked Loop Circuit (PLL) . . . . . . . . . . . . . . . . . . . . . . . . . .88  
Circuits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .88  
Acquisition and Tracking Modes. . . . . . . . . . . . . . . . . . . . . . . . .90  
Manual and Automatic PLL Bandwidth Modes . . . . . . . . . . . . . .90  
Programming the PLL. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .92  
Special Programming Exceptions. . . . . . . . . . . . . . . . . . . . . . . .93  
Base Clock Selector Circuit. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .94  
CGM External Connections. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .94  
I/O Signals. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .96  
Crystal Amplifier Input Pin (OSC1) . . . . . . . . . . . . . . . . . . . . . . . . .96  
Crystal Amplifier Output Pin (OSC2). . . . . . . . . . . . . . . . . . . . . . . .96  
External Filter Capacitor Pin (CGMXFC) . . . . . . . . . . . . . . . . . . . .96  
Analog Power Pin (VDDA) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .96  
Oscillator Enable Signal (SIMOSCEN) . . . . . . . . . . . . . . . . . . . . . .96  
Crystal Output Frequency Signal (CGMXCLK). . . . . . . . . . . . . . . .97  
CGM Base Clock Output (CGMOUT) . . . . . . . . . . . . . . . . . . . . . . .97  
CGM CPU Interrupt (CGMINT) . . . . . . . . . . . . . . . . . . . . . . . . . . . .97  
CGM Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .98  
PLL Control Register. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .98  
PLL Bandwidth Control Register (PBWC). . . . . . . . . . . . . . . . . . .100  
PLL Programming Register (PPG) . . . . . . . . . . . . . . . . . . . . . . . .102  
Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .104  
1-cgm1m_a  
MC68HC708XL36  
MOTOROLA  
CGM  
83  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
CGM  
Low-Power Modes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .105  
Wait Mode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .105  
Stop Mode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .105  
CGM During Break Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .106  
Acquisition/Lock Time Specifications . . . . . . . . . . . . . . . . . . . . . . . .106  
Acquisition/Lock Time Definitions . . . . . . . . . . . . . . . . . . . . . . . . .106  
Parametric Influences on Reaction Time . . . . . . . . . . . . . . . . . . .108  
Choosing a Filter Capacitor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .109  
Reaction Time Calculation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .109  
Introd uc tion  
The CGM generates the crystal clock signal, CGMXCLK, which operates  
at the frequency of the crystal. The CGM also generates the base clock  
signal, CGMOUT, from which the system clocks are derived. CGMOUT  
is based on either the crystal clock divided by two or the phase-locked  
loop (PLL) clock, CGMVCLK, divided by two. The PLL is a frequency  
generator designed for use with 1-MHz to 16-MHz crystals or ceramic  
resonators. The PLL can generate an 8-MHz bus frequency without  
using a 32-MHz crystal.  
2-cgm1m_a  
MC68HC708XL36  
84  
CGM  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
CGM  
Features  
Fe a ture s  
Features of the CGM include the following:  
Phase-Locked Loop with Output Frequency in Integer Multiples of  
the Crystal Reference  
Programmable Hardware Voltage-Controlled Oscillator (VCO) for  
Low-Jitter Operation  
Automatic Bandwidth Control Mode for Low-Jitter Operation  
Automatic Frequency Lock Detector  
CPU Interrupt on Entry or Exit from Locked Condition  
3-cgm1m_a  
MC68HC708XL36  
MOTOROLA  
CGM  
85  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
CGM  
Func tiona l De sc rip tion  
The CGM consists of three major submodules:  
Crystal oscillator circuit — The crystal oscillator circuit generates  
the constant crystal frequency clock, CGMXCLK.  
Phase-locked loop (PLL) — The PLL generates the  
programmable VCO frequency clock CGMVCLK.  
Base clock selector circuit — This software-controlled circuit  
selects either CGMXCLK divided by two or the VCO clock,  
CGMVCLK, divided by two as the base clock, CGMOUT. The  
system clocks are derived from CGMOUT.  
Figure 1 shows the structure of the CGM.  
Crysta l Osc illa tor  
Circ uit  
The crystal oscillator circuit consists of an inverting amplifier and an  
external crystal. The OSC1 pin is the input to the amplifier and the OSC2  
pin is the output. The SIMOSCEN signal enables the crystal oscillator  
circuit.  
The CGMXCLK signal is the output of the crystal oscillator circuit and  
runs at a rate equal to the crystal frequency. CGMXCLK is then buffered  
to produce CGMRCLK, the PLL reference clock.  
CGMXCLK can be used by other modules which require precise timing  
for operation. The duty cycle of CGMXCLK is not guaranteed to be 50%  
and depends on external factors, including the crystal and related  
external components.  
An externally generated clock also can feed the OSC1 pin of the crystal  
oscillator circuit. Connect the external clock to the OSC1 pin and let the  
OSC2 pin float.  
4-cgm1m_a  
MC68HC708XL36  
86  
CGM  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
CGM  
Functional Description  
CRYSTAL OSCILLATOR  
OSC2  
STOP RECOVERY COUNTER,  
COP PRESCALER,  
CGMXCLK  
RESET COUNTER,  
SCI BAUD RATE GENERATOR  
OSC1  
SIMOSCEN  
A
B
÷ 2  
CGMOUT  
CPU CLOCK,  
BUS CLOCK  
CLOCK  
SELECT  
CIRCUIT  
÷ 2  
S
WHEN S = 0, CGMOUT = B  
CGMRDV  
CGMRCLK  
BCS  
USER MODE  
PC3 PIN  
V
CGMXFC  
V
SS  
DDA  
VRS[7:4]  
MONITOR MODE  
VOLTAGE  
CONTROLLED  
OSCILLATOR  
PHASE  
DETECTOR  
LOOP  
FILTER  
PLL ANALOG  
CGMINT  
LOCK  
DETECTOR  
BANDWIDTH  
CONTROL  
INTERRUPT  
CONTROL  
LOCK  
AUTO  
ACQ  
PLLIE  
PLLF  
MUL[7:4]  
CGMVDV  
CGMVCLK  
FREQUENCY  
DIVIDER  
Figure 1. CGM Block Diagram  
5-cgm1m_a  
MC68HC708XL36  
87  
MOTOROLA  
CGM  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
CGM  
Register Name  
Bit 7  
PLLIE  
0
6
5
PLLON  
1
4
3
2
1
Bit 0  
Read:  
PLLF  
1
1
1
1
BCS  
0
PLL Control Register (PCTL) Write:  
Reset:  
Read:  
0
1
0
1
0
1
0
1
0
LOCK  
AUTO  
ACQ  
XLD  
PLL Bandwidth Control Register  
Write:  
(PBWC)  
Reset:  
Read:  
PLL Programming Register (PPG) Write:  
Reset:  
MUL7  
0
MUL6  
1
MUL5  
1
MUL4  
0
VRS7  
0
VRS6  
1
VRS5  
1
VRS4  
0
= Unimplemented  
Figure 2. I/O Register Summary  
Table 1. I/O Register Address Summary  
Register:  
Address:  
PCTL  
PBWC  
$001D  
PPG  
$001C  
$001E  
Pha se -Loc ke d  
Loop Circ uit (PLL)  
The PLL is a frequency generator that can operate in either acquisition  
mode or tracking mode, depending on the accuracy of the output  
frequency. The PLL can change between acquisition and tracking  
modes either automatically or manually.  
Circ uits  
The PLL consists of the following circuits:  
Voltage-controlled oscillator (VCO)  
Modulo VCO frequency divider  
Phase detector  
Loop filter  
Lock detector  
6-cgm1m_a  
MC68HC708XL36  
88  
CGM  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
 
Freescale Semiconductor, Inc.  
CGM  
Functional Description  
The operating range of the VCO is programmable for a wide range of  
frequencies and for maximum immunity to external noise, including  
supply and CGMXFC noise. The VCO frequency is bound to a range  
from roughly one-half to twice the center-of-range frequency, f .  
vrs  
Modulating the voltage on the CGMXFC pin changes the frequency  
within this range. By design, f is equal to the nominal center-of-range  
vrs  
frequency, f  
, (4.9152 MHz) times a linear factor L, or (L)f  
.
nom  
nom  
CGMRCLK is the PLL reference clock, a buffered version of CGMXCLK.  
CGMRCLK runs at a frequency, f , and is fed to the PLL through a  
rclk  
buffer. The buffer output is the final reference clock, CGMRDV, running  
at a frequency f = f  
.
rclk  
rdv  
The VCO’s output clock, CGMVCLK, running at a frequency f , is fed  
vclk  
back through a programmable modulo divider. The modulo divider  
reduces the VCO clock by a factor, N. The divider’s output is the VCO  
feedback clock, CGMVDV, running at a frequency f  
= f /N. (See  
vclk  
vdv  
Programming the PLL on page 92 for more information.)  
The phase detector then compares the VCO feedback clock, CGMVDV,  
with the final reference clock, CGMRDV. A correction pulse is generated  
based on the phase difference between the two signals. The loop filter  
then slightly alters the dc voltage on the external capacitor connected to  
CGMXFC based on the width and direction of the correction pulse. The  
filter can make fast or slow corrections depending on its mode,  
described in Acquisition and Tracking Modes on page 90. The value  
of the external capacitor and the reference frequency determines the  
speed of the corrections and the stability of the PLL.  
The lock detector compares the frequencies of the VCO feedback clock,  
CGMVDV, and the final reference clock, CGMRDV. Therefore, the  
speed of the lock detector is directly proportional to the final reference  
frequency f . The circuit determines the mode of the PLL and the lock  
rdv  
condition based on this comparison.  
7-cgm1m_a  
MC68HC708XL36  
MOTOROLA  
CGM  
89  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
CGM  
Ac q uisitio n a nd  
Tra c king Mo d e s  
The PLL filter is manually or automatically configurable into one of two  
operating modes:  
Acquisition mode — In acquisition mode, the filter can make large  
frequency corrections to the VCO. This mode is used at PLL  
startup or when the PLL has suffered a severe noise hit and the  
VCO frequency is far off the desired frequency. When in  
acquisition mode, the ACQ bit is clear in the PLL bandwidth  
control register. (See PLL Bandwidth Control Register (PBWC)  
on page 100.)  
Tracking mode — In tracking mode, the filter makes only small  
corrections to the frequency of the VCO. PLL jitter is much lower  
in tracking mode, but the response to noise is also slower. The  
PLL enters tracking mode when the VCO frequency is nearly  
correct, such as when the PLL is selected as the base clock  
source. (See Base Clock Selector Circuit on page 94.) The PLL  
is automatically in tracking mode when not in acquisition mode or  
when the ACQ bit is set.  
Ma nua l a nd  
Auto m a tic PLL  
Ba nd wid th Mo d e s  
The PLL can change the bandwidth or operational mode of the loop filter  
manually or automatically.  
In automatic bandwidth control mode (AUTO = 1), the lock detector  
automatically switches between acquisition and tracking modes.  
Automatic bandwidth control mode also is used to determine when the  
VCO clock, CGMVCLK, is safe to use as the source for the base clock,  
CGMOUT. (See PLL Bandwidth Control Register (PBWC) on page  
100.) If PLL CPU interrupt requests are enabled, the software can wait  
for a PLL CPU interrupt request and then check the LOCK bit. If CPU  
interrupts are disabled, software can poll the LOCK bit continuously  
(during PLL startup, usually) or at periodic intervals. In either case, when  
the LOCK bit is set, the VCO clock is safe to use as the source for the  
base clock. (See Base Clock Selector Circuit on page 94.) If the VCO  
is selected as the source for the base clock and the LOCK bit is clear,  
the PLL has suffered a severe noise hit and the software must take  
appropriate action, depending on the application. (See Interrupts on  
page 104.)  
8-cgm1m_a  
MC68HC708XL36  
90  
CGM  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
 
 
Freescale Semiconductor, Inc.  
CGM  
Functional Description  
The following conditions apply when the PLL is in automatic bandwidth  
control mode:  
The ACQ bit (see PLL Bandwidth Control Register (PBWC) on  
page 100) is a read-only indicator of the mode of the filter. (See  
Acquisition and Tracking Modes on page 90.)  
The ACQ bit is set when the VCO frequency is within a certain  
tolerance, , and is cleared when the VCO frequency is out of a  
trk  
certain tolerance, . (See Specifications on page 333.)  
unt  
The LOCK bit is a read-only indicator of the locked state of the  
PLL.  
The LOCK bit is set when the VCO frequency is within a certain  
tolerance, ∆  
, and is cleared when the VCO frequency is out of  
Lock  
a certain tolerance, . (See Specifications on page 333.)  
unl  
CPU interrupts can occur if enabled (PLLIE = 1) when the PLL’s  
lock condition changes, toggling the LOCK bit. (See PLL Control  
Register on page 98.)  
The PLL also can operate in manual mode (AUTO = 0). Manual mode is  
used by systems that do not require an indicator of the lock condition for  
proper operation. Such systems typically operate well below f  
and  
busmax  
require fast startup. The following conditions apply when in manual  
mode:  
ACQ is a writable control bit that controls the mode of the filter.  
Before turning on the PLL in manual mode, the ACQ bit must be  
clear.  
Before entering tracking mode (ACQ = 1), software must wait a  
given time, t (see Specifications on page 333), after turning on  
acq  
the PLL by setting PLLON in the PLL control register (PCTL).  
Software must wait a given time, t , after entering tracking mode  
al  
before selecting the PLL as the clock source to CGMOUT  
(BCS = 1).  
The LOCK bit is disabled.  
CPU interrupts from the CGM are disabled.  
9-cgm1m_a  
MC68HC708XL36  
MOTOROLA  
CGM  
91  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
CGM  
Pro g ra m m ing the  
PLL  
Use the following procedure to program the PLL.  
1. Choose the desired bus frequency, f  
.
busdes  
Example: f  
= 8 MHz  
busdes  
2. Calculate the desired VCO frequency, f  
.
vclkdes  
= 4 × f  
busdes  
f
vclkdes  
Example: f  
= 4 × 8 MHz = 32 MHz  
vclkdes  
3. Using a reference frequency, f , equal to the crystal frequency,  
rclk  
calculate the VCO frequency multiplier, N.  
NOTE: The round function means that the result is rounded to the nearest  
integer.  
fvclkdes  
N = round  
----------------  
frclk  
32 MHz  
Example: N = -------------------- = 8  
4 MHz  
4. Calculate the VCO frequency, f  
.
vclk  
fvclk = N × frclk  
= 8 × 4 MHz = 32 MHz  
Example: f  
vclk  
5. Calculate the bus frequency, f , and compare f  
with f  
.
bus  
bus  
busdes  
fvclk  
fbus = ---------  
4
32 MHz  
Example: f bus= -------------------- = 8 MHz  
4
If the calculated f  
is not within the tolerance limits of your  
bus  
application, select another f  
or another f  
.
busdes  
rclk  
10-cgm1m_a  
MC68HC708XL36  
92  
CGM  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
 
Freescale Semiconductor, Inc.  
CGM  
Functional Description  
6. Using the value 4.9152 MHz for f  
, calculate the VCO linear  
nom  
range multiplier, L. The linear range multiplier controls the  
frequency range of the PLL.  
fvclk  
L = round  
----------  
fnom  
32 MHz  
Example: L =  
= 7  
-------------------------------  
4.9152 MHz  
7. Calculate the VCO center-of-range frequency, f . The  
vrs  
center-of-range frequency is the midpoint between the minimum  
and maximum frequencies attainable by the PLL.  
f
= L × f  
nom  
vrs  
Example: f = 7 × 4.9152 MHz = 34.4 MHz  
vrs  
NOTE: For proper operation,  
fnom  
-------------  
2
f vrs fvclk  
Exceeding the recommended maximum bus frequency or VCO  
frequency can crash the MCU.  
8. Program the PLL registers accordingly:  
a. In the upper four bits of the PLL programming register (PPG),  
program the binary equivalent of N.  
b. In the lower four bits of the PLL programming register (PPG),  
program the binary equivalent of L.  
Sp e c ia l  
Pro g ra m m ing  
Exc e p tio ns  
The programming method described in Programming the PLL on  
page 92 does not account for two possible exceptions. A value of 0  
for N or L is meaningless when used in the equations given. To  
account for these exceptions:  
A 0 value for N is interpreted the same as a value of 1.  
A 0 value for L disables the PLL and prevents its selection as the  
source for the base clock. (See Base Clock Selector Circuit on  
page 94.)  
11-cgm1m_a  
MC68HC708XL36  
MOTOROLA  
CGM  
93  
For More Information On This Product,  
Go to: www.freescale.com  
 
Freescale Semiconductor, Inc.  
CGM  
Ba se Cloc k  
Se le c tor Circ uit  
This circuit is used to select either the crystal clock, CGMXCLK, or the  
VCO clock, CGMVCLK, as the source of the base clock, CGMOUT. The  
two input clocks go through a transition control circuit that waits up to  
three CGMXCLK cycles and three CGMVCLK cycles to change from  
one clock source to the other. During this time, CGMOUT is held in  
stasis. The output of the transition control circuit is then divided by two  
to correct the duty cycle. Therefore, the bus clock frequency, which is  
one-half of the base clock frequency, is one-fourth the frequency of the  
selected clock (CGMXCLK or CGMVCLK).  
The BCS bit in the PLL control register (PCTL) selects which clock drives  
CGMOUT. The VCO clock cannot be selected as the base clock source  
if the PLL is not turned on. The PLL cannot be turned off if the VCO clock  
is selected. The PLL cannot be turned on or off simultaneously with the  
selection or deselection of the VCO clock. The VCO clock also cannot  
be selected as the base clock source if the factor L is programmed to a  
0. This value would set up a condition inconsistent with the operation of  
the PLL, so that the PLL would be disabled and the crystal clock would  
be forced as the source of the base clock.  
CGM Exte rna l  
Conne c tions  
In its typical configuration, the CGM requires seven external  
components. Five of these are for the crystal oscillator and two are for  
the PLL.  
The crystal oscillator is normally connected in a Pierce oscillator  
configuration, as shown in Figure 3. Figure 3 shows only the logical  
representation of the internal components and may not represent actual  
circuitry. The oscillator configuration uses five components:  
Crystal, X  
1
Fixed capacitor, C  
1
Tuning capacitor, C (can also be a fixed capacitor)  
2
Feedback resistor, R  
B
Series resistor, R (optional)  
S
12-cgm1m_a  
MC68HC708XL36  
94  
CGM  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
 
Freescale Semiconductor, Inc.  
CGM  
Functional Description  
The series resistor (R ) may not be required for all ranges of operation,  
S
especially with high frequency crystals. Refer to the crystal  
manufacturer’s data for more information.  
Figure 3 also shows the external components for the PLL:  
Bypass capacitor, C  
byp  
Filter capacitor, C  
F
Routing should be done with great care to minimize signal cross talk and  
noise. (See Acquisition/Lock Time Specifications on page 106 for  
routing information and more information on the filter capacitor’s value  
and its effects on PLL performance.)  
SIMOSCEN  
CGMXCLK  
V
DD  
*
R
C
S
F
C
R
BYP  
B
X
1
C
C
2
1
*R can be 0 (shorted) when used with higher-frequency crystals. Refer to manufacturer’s data.  
S
Figure 3. CGM External Connections  
13-cgm1m_a  
MC68HC708XL36  
95  
MOTOROLA  
CGM  
For More Information On This Product,  
Go to: www.freescale.com  
 
Freescale Semiconductor, Inc.  
CGM  
I/ O Sig na ls  
The following paragraphs describe the CGM I/O signals.  
The OSC1 pin is an input to the crystal oscillator amplifier.  
Crysta l Am p lifie r  
Inp ut Pin (OSC1)  
Crysta l Am p lifie r  
Outp ut Pin (OSC2)  
The OSC2 pin is the output of the crystal oscillator inverting amplifier.  
Exte rna l Filte r  
Ca p a c itor Pin  
(CGMXFC)  
The CGMXFC pin is required by the loop filter to filter out phase  
corrections. A small external capacitor is connected to this pin.  
NOTE: To prevent noise problems, C should be placed as close to the  
F
CGMXFC pin as possible, with minimum routing distances and no  
routing of other signals across the C connection.  
F
Ana log Powe r Pin  
(V  
V
V
is a power pin used by the analog portions of the PLL. Connect the  
pin to the same voltage potential as the V pin.  
DD  
DDA  
DDA  
)
DDA  
NOTE: Route V  
carefully for maximum noise immunity and place bypass  
DDA  
capacitors as close as possible to the package.  
Osc illa tor Ena b le  
The SIMOSCEN signal enables the oscillator and PLL.  
Sig na l (SIMOSCEN)  
14-cgm1m_a  
MC68HC708XL36  
96  
CGM  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
CGM  
I/O Signals  
Crysta l Outp ut  
Fre q ue nc y Sig na l  
(CGMXCLK)  
CGMXCLK is the crystal oscillator output signal. It runs at the full speed  
of the crystal (f ) and comes directly from the crystal oscillator circuit.  
xclk  
Figure 3 shows only the logical relation of CGMXCLK to OSC1 and  
OSC2 and may not represent the actual circuitry. The duty cycle of  
CGMXCLK is unknown and may depend on the crystal and other  
external factors. Also, the frequency and amplitude of CGMXCLK can be  
unstable at startup.  
CGM Ba se Cloc k  
Outp ut (CGMOUT)  
CGMOUT is the clock output of the CGM. This signal is used to generate  
the MCU clocks. CGMOUT is a 50% duty cycle clock running at twice  
the bus frequency. CGMOUT is software programmable to be either the  
oscillator output, CGMXCLK, divided by two or the VCO clock,  
CGMVCLK, divided by two.  
CGM CPU Inte rrup t  
(CGMINT)  
CGMINT is the CPU interrupt signal generated by the PLL lock detector.  
15-cgm1m_a  
MC68HC708XL36  
MOTOROLA  
CGM  
97  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
CGM  
CGM Re g iste rs  
The following registers control and monitor operation of the CGM:  
PLL control register (PCTL) (See PLL Control Register on page  
98.)  
PLL bandwidth control register (PBWC) (See PLL Bandwidth  
Control Register (PBWC) on page 100.)  
PLL programming register (PPG) (See PLL Programming  
Register (PPG) on page 102.)  
PLL Control  
Re g iste r  
The PLL control register contains the interrupt enable and flag bits, the  
on/off switch, and the base clock selector bit.  
Address: $001C  
Bit 7  
PLLIE  
0
6
5
PLLON  
1
4
BCS  
0
3
1
2
1
1
1
Bit 0  
1
Read:  
Write:  
Reset:  
PLLF  
0
1
1
1
1
= Unimplemented  
Figure 4. PLL Control Register (PCTL)  
PLLIE — PLL Interrupt Enable Bit  
This read/write bit enables the PLL to generate a CPU interrupt  
request when the LOCK bit toggles, setting the PLL flag, PLLF. When  
the AUTO bit in the PLL bandwidth control register (PBWC) is clear,  
PLLIE cannot be written and reads as logic 0. Reset clears the PLLIE  
bit.  
1 = PLL CPU interrupt requests enabled  
0 = PLL CPU interrupt requests disabled  
PLLF — PLL Flag Bit  
This read-only bit is set whenever the LOCK bit toggles. PLLF  
generates a CPU interrupt request if the PLLIE bit also is set. PLLF  
always reads as logic 0 when the AUTO bit in the PLL bandwidth  
control register (PBWC) is clear. Clear the PLLF bit by reading the  
PLL control register. Reset clears the PLLF bit.  
1 = Change in lock condition  
0 = No change in lock condition  
16-cgm1m_a  
MC68HC708XL36  
98  
CGM  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
 
Freescale Semiconductor, Inc.  
CGM  
CGM Registers  
NOTE: Do not inadvertently clear the PLLF bit. Any read or read-modify-write  
operation on the PLL control register clears the PLLF bit.  
PLLON — PLL On Bit  
This read/write bit activates the PLL and enables the VCO clock,  
CGMVCLK. PLLON cannot be cleared if the VCO clock is driving the  
base clock, CGMOUT (BCS = 1). (See Base Clock Selector Circuit  
on page 94.) Reset sets this bit so that the loop can stabilize as the  
MCU is powering up.  
1 = PLL on  
0 = PLL off  
BCS — Base Clock Select Bit  
This read/write bit selects either the crystal oscillator output,  
CGMXCLK, or the VCO clock, CGMVCLK, as the source of the CGM  
output, CGMOUT. CGMOUT frequency is one-half the frequency of  
the selected clock. BCS cannot be set while the PLLON bit is clear.  
After toggling BCS, it may take up to three CGMXCLK and three  
CGMVCLK cycles to complete the transition from one source clock to  
the other. During the transition, CGMOUT is held in stasis. (See Base  
Clock Selector Circuit on page 94.) Reset and the STOP instruction  
clear the BCS bit.  
1 = CGMVCLK divided by two drives CGMOUT  
0 = CGMXCLK divided by two drives CGMOUT  
NOTE: PLLON and BCS have built-in protection that prevents the base clock  
selector circuit from selecting the VCO clock as the source of the base  
clock if the PLL is off. Therefore, PLLON cannot be cleared when BCS  
is set, and BCS cannot be set when PLLON is clear. If the PLL is off  
(PLLON = 0), selecting CGMVCLK requires two writes to the PLL control  
register. (See Base Clock Selector Circuit on page 94.)  
PCTL[3:0] — Unimplemented bits  
These bits provide no function and always read as logic 1s.  
17-cgm1m_a  
MC68HC708XL36  
MOTOROLA  
CGM  
99  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
CGM  
PLL Ba nd wid th  
Control Re g iste r  
(PBWC)  
The PLL bandwidth control register does the following:  
Selects automatic or manual (software-controlled) bandwidth  
control mode  
Indicates when the PLL is locked  
In automatic bandwidth control mode, indicates when the PLL is in  
acquisition or tracking mode  
In manual operation, forces the PLL into acquisition or tracking  
mode  
Address: $001D  
Bit 7  
6
5
ACQ  
0
4
XLD  
0
3
0
2
0
1
0
Bit 0  
0
Read:  
AUTO  
Write:  
LOCK  
Reset:  
0
0
0
0
0
0
= Unimplemented  
Figure 5. PLL Bandwidth Control Register (PBWC)  
AUTO — Automatic Bandwidth Control Bit  
This read/write bit selects automatic or manual bandwidth control.  
When initializing the PLL for manual operation (AUTO = 0), clear the  
ACQ bit before turning on the PLL. Reset clears the AUTO bit.  
1 = Automatic bandwidth control  
0 = Manual bandwidth control  
LOCK — Lock Indicator Bit  
When the AUTO bit is set, LOCK is a read-only bit that becomes set  
when the VCO clock, CGMVCLK, is locked (running at the  
programmed frequency). When the AUTO bit is clear, LOCK reads as  
logic 0 and has no meaning. Reset clears the LOCK bit.  
1 = VCO frequency correct or locked  
0 = VCO frequency incorrect or unlocked  
18-cgm1m_a  
MC68HC708XL36  
100  
CGM  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
CGM  
CGM Registers  
ACQ — Acquisition Mode Bit  
When the AUTO bit is set, ACQ is a read-only bit that indicates  
whether the PLL is in acquisition mode or tracking mode. When the  
AUTO bit is clear, ACQ is a read/write bit that controls whether the  
PLL is in acquisition or tracking mode.  
In automatic bandwidth control mode (AUTO = 1), the last-written  
value from manual operation is stored in a temporary location and is  
recovered when manual operation resumes. Reset clears this bit,  
enabling acquisition mode.  
1 = Tracking mode  
0 = Acquisition mode  
XLD — Crystal Loss Detect Bit  
When the VCO output, CGMVCLK, is driving CGMOUT, this  
read/write bit can indicate whether the crystal reference frequency is  
active or not.  
1 = Crystal reference not active  
0 = Crystal reference active  
To check the status of the crystal reference, do the following:  
1.  
2.  
3.  
Write a logic 1 to XLD.  
Wait N × 4 cycles. (N is the VCO frequency multiplier.)  
Read XLD.  
The crystal loss detect function works only when the BCS bit is set,  
selecting CGMVCLK to drive CGMOUT. When BCS is clear, XLD  
always reads as logic 0.  
PBWC[3:0] — Reserved for Test  
These bits enable test functions not available in user mode. To  
ensure software portability from development systems to user  
applications, software should write 0s to PBWC[3:0] whenever writing  
to PBWC.  
19-cgm1m_a  
MC68HC708XL36  
MOTOROLA  
CGM  
101  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
CGM  
PLL Prog ra m m ing  
Re g iste r (PPG)  
The PLL programming register contains the programming information  
for the modulo feedback divider and the programming information for the  
hardware configuration of the VCO.  
Address: $001E  
Bit 7  
MUL7  
0
6
MUL6  
1
5
MUL5  
1
4
MUL4  
0
3
VRS7  
0
2
VRS6  
1
1
VRS5  
1
Bit 0  
VRS4  
0
Read:  
Write:  
Reset:  
Figure 6. PLL Programming Register (PPG)  
MUL[7:4] — Multiplier Select Bits  
These read/write bits control the modulo feedback divider that selects  
the VCO frequency multiplier, N. (See Circuits on page 88 and  
Programming the PLL on page 92.) A value of $0 in the multiplier  
select bits configures the modulo feedback divider the same as a  
value of $1. Reset initializes these bits to $6 to give a default multiply  
value of 6.  
Table 2. VCO Frequency Multiplier (N) Selection  
MUL7:MUL6:MUL5:MUL4  
VCO Frequency Multiplier (N)  
0000  
0001  
0010  
0011  
1
1
2
3
1101  
1110  
1111  
13  
14  
15  
20-cgm1m_a  
MC68HC708XL36  
102  
CGM  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
CGM  
CGM Registers  
NOTE: The multiplier select bits have built-in protection that prevents them from  
being written when the PLL is on (PLLON = 1).  
VRS[7:4] — VCO Range Select Bits  
These read/write bits control the hardware center-of-range linear  
multiplier L, which controls the hardware center-of-range frequency  
f . (See Circuits on page 88, Programming the PLL on page 92,  
vrs  
and PLL Control Register on page 98.) VRS[7:4] cannot be written  
when the PLLON bit in the PLL control register (PCTL) is set. (See  
Special Programming Exceptions on page 93.) A value of $0 in the  
VCO range select bits disables the PLL and clears the BCS bit in the  
PCTL. (See Base Clock Selector Circuit on page 94 and Special  
Programming Exceptions on page 93 for more information.) Reset  
initializes the bits to $6 to give a default range multiply value of 6.  
NOTE: The VCO range select bits have built-in protection that prevents them  
from being written when the PLL is on (PLLON = 1) and prevents  
selection of the VCO clock as the source of the base clock (BCS = 1) if  
the VCO range select bits are all clear.  
The VCO range select bits must be programmed correctly. Incorrect  
programming can result in failure of the PLL to achieve lock.  
21-cgm1m_a  
MC68HC708XL36  
MOTOROLA  
CGM  
103  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
CGM  
Inte rrup ts  
When the AUTO bit is set in the PLL bandwidth control register (PBWC),  
the PLL can generate a CPU interrupt request every time the LOCK bit  
changes state. The PLLIE bit in the PLL control register (PCTL) enables  
CPU interrupt requests from the PLL. PLLF, the interrupt flag in the  
PCTL, becomes set whether CPU interrupt requests are enabled or not.  
When the AUTO bit is clear, CPU interrupt requests from the PLL are  
disabled and PLLF reads as logic 0.  
Software should read the LOCK bit after a PLL CPU interrupt request to  
see if the request was due to an entry into lock or an exit from lock. When  
the PLL enters lock, the VCO clock, CGMVCLK, divided by two can be  
selected as the CGMOUT source by setting BCS in the PCTL. When the  
PLL exits lock, the VCO clock frequency is corrupt, and appropriate  
precautions should be taken. If the application is not  
frequency-sensitive, CPU interrupt requests should be disabled to  
prevent PLL interrupt service routines from impeding software  
performance or from exceeding stack limitations.  
NOTE: Software can select the CGMVCLK divided by two as the CGMOUT  
source even if the PLL is not locked (LOCK = 0). Therefore, software  
should make sure the PLL is locked before setting the BCS bit.  
22-cgm1m_a  
MC68HC708XL36  
104  
CGM  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
CGM  
Low-Power Modes  
Low-Powe r Mod e s  
The WAIT and STOP instructions put the MCU in low-power-consump-  
tion standby modes.  
Wa it Mod e  
The CGM remains active in wait mode. Before entering wait mode,  
software can disengage and turn off the PLL by clearing the BCS and  
PLLON bits in the PLL control register (PCTL). Less power-sensitive  
applications can disengage the PLL without turning it off. Applications  
that require the PLL to wake the MCU from wait mode also can deselect  
the PLL output without turning off the PLL.  
Stop Mod e  
The STOP instruction disables the CGM and holds low all CGM outputs  
(CGMXCLK, CGMOUT, and CGMINT).  
If the STOP instruction is executed with the VCO clock, CGMVCLK,  
divided by two driving CGMOUT, the PLL automatically clears the BCS  
bit in the PLL control register (PCTL), thereby selecting the crystal clock,  
CGMXCLK, divided by two as the source of CGMOUT. When the MCU  
recovers from STOP, the crystal clock divided by two drives CGMOUT  
and BCS remains clear.  
23-cgm1m_a  
MC68HC708XL36  
MOTOROLA  
CGM  
105  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
CGM  
CGM During Bre a k Inte rrup ts  
The BCFE bit in the break flag control register (BFCR) enables software  
to clear status bits during the break state. (See Break Module on page  
149.)  
To allow software to clear status bits during a break interrupt, write a  
logic 1 to the BCFE bit. If a status bit is cleared during the break state, it  
remains cleared when the MCU exits the break state.  
To protect the PLLF bit during the break state, write a logic 0 to the BCFE  
bit. With BCFE at logic 0 (its default state), software can read and write  
the PLL control register during the break state without affecting the PLLF  
bit.  
Ac q uisition/ Loc k Tim e Sp e c ific a tions  
The acquisition and lock times of the PLL are, in many applications, the  
most critical PLL design parameters. Proper design and use of the PLL  
ensures the highest stability and lowest acquisition/lock times.  
Ac q uisition/ Loc k  
Tim e De finitions  
Typical control systems refer to the acquisition time or lock time as the  
reaction time, within specified tolerances, of the system to a step input.  
In a PLL, the step input occurs when the PLL is turned on or when it  
suffers a noise hit. The tolerance is usually specified as a percent of the  
step input or when the output settles to the desired value plus or minus  
a percent of the frequency change. Therefore, the reaction time is  
constant in this definition, regardless of the size of the step input. For  
example, consider a system with a 5% acquisition time tolerance. If a  
command instructs the system to change from 0 Hz to 1 MHz, the  
acquisition time is the time taken for the frequency to reach  
1 MHz ±50 kHz. Fifty kHz = 5% of the 1-MHz step input. If the system is  
operating at 1 MHz and suffers a –100 kHz noise hit, the acquisition time  
is the time taken to return from 900 kHz to 1 MHz ±5 kHz. Five kHz = 5%  
of the 100-kHz step input.  
24-cgm1m_a  
MC68HC708XL36  
106  
CGM  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
CGM  
Acquisition/Lock Time Specifications  
Other systems refer to acquisition and lock times as the time the system  
takes to reduce the error between the actual output and the desired  
output to within specified tolerances. Therefore, the acquisition or lock  
time varies according to the original error in the output. Minor errors may  
not even be registered. Typical PLL applications prefer to use this  
definition because the system requires the output frequency to be within  
a certain tolerance of the desired frequency regardless of the size of the  
initial error.  
The discrepancy in these definitions makes it difficult to specify an  
acquisition or lock time for a typical PLL. Therefore, the definitions for  
acquisition and lock times for this module are as follows:  
Acquisition time, t , is the time the PLL takes to reduce the error  
acq  
between the actual output frequency and the desired output  
frequency to less than the tracking mode entry tolerance, .  
trk  
Acquisition time is based on an initial frequency error,  
(f  
– f )/f , of not more than ±100%. In automatic bandwidth  
orig des  
des  
control mode (see Manual and Automatic PLL Bandwidth  
Modes on page 90), acquisition time expires when the ACQ bit  
becomes set in the PLL bandwidth control register (PBWC).  
Lock time, t  
, is the time the PLL takes to reduce the error  
Lock  
between the actual output frequency and the desired output  
frequency to less than the lock mode entry tolerance, . Lock  
Lock  
time is based on an initial frequency error, (f – f )/f , of not  
des  
orig des  
more than ±100%. In automatic bandwidth control mode, lock time  
expires when the LOCK bit becomes set in the PLL bandwidth  
control register (PBWC). (See Manual and Automatic PLL  
Bandwidth Modes on page 90.)  
Obviously, the acquisition and lock times can vary according to how  
large the frequency error is and may be shorter or longer in many cases.  
25-cgm1m_a  
MC68HC708XL36  
MOTOROLA  
CGM  
107  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
CGM  
Pa ra m e tric  
Influe nc e s on  
Re a c tion Tim e  
Acquisition and lock times are designed to be as short as possible while  
still providing the highest possible stability. These reaction times are not  
constant, however. Many factors directly and indirectly affect the  
acquisition time.  
The most critical parameter which affects the reaction times of the PLL  
is the reference frequency, f . This frequency is the input to the phase  
rdv  
detector and controls how often the PLL makes corrections. For stability,  
the corrections must be small compared to the desired frequency, so  
several corrections are required to reduce the frequency error.  
Therefore, the slower the reference the longer it takes to make these  
corrections. This parameter is also under user control via the choice of  
crystal frequency f  
.
xclk  
Another critical parameter is the external filter capacitor. The PLL  
modifies the voltage on the VCO by adding or subtracting charge from  
this capacitor. Therefore, the rate at which the voltage changes for a  
given frequency error (thus change in charge) is proportional to the  
capacitor size. The size of the capacitor also is related to the stability of  
the PLL. If the capacitor is too small, the PLL cannot make small enough  
adjustments to the voltage and the system cannot lock. If the capacitor  
is too large, the PLL may not be able to adjust the voltage in a  
reasonable time. (See Choosing a Filter Capacitor on page 109.)  
Also important is the operating voltage potential applied to V  
. The  
DDA  
power supply potential alters the characteristics of the PLL. A fixed value  
is best. Variable supplies, such as batteries, are acceptable if they vary  
within a known range at very slow speeds. Noise on the power supply is  
not acceptable, because it causes small frequency errors which  
continually change the acquisition time of the PLL.  
Temperature and processing also can affect acquisition time because  
the electrical characteristics of the PLL change. The part operates as  
specified as long as these influences stay within the specified limits.  
External factors, however, can cause drastic changes in the operation of  
the PLL. These factors include noise injected into the PLL through the  
filter capacitor, filter capacitor leakage, stray impedances on the circuit  
board, and even humidity or circuit board contamination.  
26-cgm1m_a  
MC68HC708XL36  
108  
CGM  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
 
Freescale Semiconductor, Inc.  
CGM  
Acquisition/Lock Time Specifications  
Choosing a Filte r  
Ca p a c itor  
As described in Parametric Influences on Reaction Time on page  
108, the external filter capacitor, C , is critical to the stability and reaction  
F
time of the PLL. The PLL is also dependent on reference frequency and  
supply voltage. The value of the capacitor must, therefore, be chosen  
with supply potential and reference frequency in mind. For proper  
operation, the external filter capacitor must be chosen according to the  
following equation:  
VDDA  
CF = Cfact  
------------  
frdv  
For acceptable values of C , (see Specifications on page 333). For  
fact  
the value of V  
, choose the voltage potential at which the MCU is  
DDA  
operating. If the power supply is variable, choose a value near the  
middle of the range of possible supply values.  
This equation does not always yield a commonly available capacitor  
size, so round to the nearest available size. If the value is between two  
different sizes, choose the higher value for better stability. Choosing the  
lower size may seem attractive for acquisition time improvement, but the  
PLL may become unstable. Also, always choose a capacitor with a tight  
tolerance (±20% or better) and low dissipation.  
Re a c tion Tim e  
Ca lc ula tion  
The actual acquisition and lock times can be calculated using the  
equations below. These equations yield nominal values under the  
following conditions:  
Correct selection of filter capacitor, C (See Choosing a Filter  
F
Capacitor on page 109.)  
Room temperature operation  
Negligible external leakage on CGMXFC  
Negligible noise  
The K factor in the equations is derived from internal PLL parameters.  
K
is the K factor when the PLL is configured in acquisition mode, and  
acq  
27-cgm1m_a  
MC68HC708XL36  
MOTOROLA  
CGM  
109  
For More Information On This Product,  
Go to: www.freescale.com  
 
Freescale Semiconductor, Inc.  
CGM  
K
is the K factor when the PLL is configured in tracking mode. (See  
trk  
Acquisition and Tracking Modes on page 90.)  
VDDA  
8
tACQ  
=
----------- ----------  
frdv Kacq  
VDDA  
4
tal =  
----------- --------  
frdv Ktrk  
tLock = tacq + tal  
Note the inverse proportionality between the lock time and the reference  
frequency.  
In automatic bandwidth control mode, the acquisition and lock times are  
quantized into units based on the reference frequency. (See Manual  
and Automatic PLL Bandwidth Modes on page 90.) A certain number  
of clock cycles, n , is required to ascertain that the PLL is within the  
acq  
tracking mode entry tolerance, , before exiting acquisition mode. A  
trk  
certain number of clock cycles, n , is required to ascertain that the PLL  
trk  
is within the lock mode entry tolerance, ∆  
. Therefore, the acquisition  
Lock  
time, t , is an integer multiple of n /f , and the acquisition to lock  
acq  
acq rdv  
time, t , is an integer multiple of n /f . Also, since the average  
al  
trk rdv  
frequency over the entire measurement period must be within the  
specified tolerance, the total time usually is longer than t  
calculated above.  
as  
Lock  
In manual mode, it is usually necessary to wait considerably longer than  
before selecting the PLL clock (see Base Clock Selector Circuit  
t
Lock  
on page 94) because the factors described in Parametric Influences on  
Reaction Time on page 108 may slow the lock time considerably.  
28-cgm1m_a  
MC68HC708XL36  
110  
CGM  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Dire c t Me m ory Ac c e ss Mod ule  
DMA  
Conte nts  
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .112  
Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .112  
Functional Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .113  
DMA/CPU Timing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .117  
Hardware-Initiated DMA Service Requests. . . . . . . . . . . . . . . . . .121  
Software-Initiated DMA Service Requests . . . . . . . . . . . . . . . . . .122  
DMA Latency. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .122  
DMA Source/Destination Address Calculation . . . . . . . . . . . . . . .123  
Low-Power Modes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .130  
Wait Mode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .130  
Stop Mode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .130  
DMA During Break Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .131  
DMA Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .132  
DMA Control Register 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .133  
DMA Status and Control Register. . . . . . . . . . . . . . . . . . . . . . . . .136  
DMA Control Register 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .139  
DMA Channel Control Registers. . . . . . . . . . . . . . . . . . . . . . . . . .140  
DMA Source Address Registers . . . . . . . . . . . . . . . . . . . . . . . . . .143  
DMA Destination Address Registers. . . . . . . . . . . . . . . . . . . . . . .145  
DMA Block Length Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . .146  
DMA Byte Count Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .148  
1-dma_b  
MC68HC708XL36  
MOTOROLA  
DMA  
111  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
DMA  
Introd uc tion  
The DMA can perform data transfers to and from any two CPU-addres-  
sable locations without CPU intervention.  
Fe a ture s  
Features of the DMA include the following:  
Modular Architecture  
Service Request-Driven Operation without CPU Intervention  
Three Independent Channels  
Byte or Word Transfer Capability  
Block Transfers and Loop Transfers  
CPU Interrupt Capability on Completion of Block Transfer or on  
Loop Restart  
Programmable DMA Bus Bandwidth (25%, 50%, 67%, or 100% of  
Total Bus Bandwidth)  
Programmable DMA Service Request/CPU Interrupt Request  
Priority  
Programmable DMA Enable during Wait Mode  
Block Transfers Up to 256 Bytes  
Expandable Architecture Up to Seven Channels and Eight  
Transfer Source Inputs  
2-dma_b  
MC68HC708XL36  
112  
DMA  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
DMA  
Functional Description  
Func tiona l De sc rip tion  
The DMA is a coprocessor for servicing peripheral devices that require  
data block transfers. For transmitting or receiving blocks of data to or  
from peripherals, DMA transfers are faster and more code-efficient than  
CPU interrupts. The following tasks that contribute to CPU interrupt  
overhead are not part of a DMA transfer:  
Stacking and unstacking CPU registers  
Loading interrupt vectors  
Loading address pointers  
Incrementing address pointers  
Storing address pointers  
Clearing interrupt flags  
Returning from interrupt  
Once the DMA is initialized to transfer a block of data, a DMA service  
request usually requires only two bus cycles per 8-bit byte or four cycles  
per 16-bit word to transfer the source data to a destination.  
Figure 1 shows the structure of the DMA. Each DMA channel can  
transfer data independently between any addresses in the memory map.  
3-dma_b  
MC68HC708XL36  
MOTOROLA  
DMA  
113  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
DMA  
INTERNAL BUS  
7
0
CHANNEL 0  
CHANNEL 1  
CHANNEL 2  
CHANNEL CONTROL  
REGISTERS  
7
0
CHANNEL 0  
CHANNEL 1  
CHANNEL 2  
BLOCK LENGTH  
REGISTERS  
CPU  
SYSTEM  
CONTROL  
LOGIC  
INTERRUPT  
7
0
REQUEST  
CHANNEL 0  
CHANNEL 1  
CHANNEL 2  
BYTE COUNT  
REGISTERS  
ALU  
15  
15  
0
CHANNEL 0  
CHANNEL 1  
CHANNEL 2  
DESTINATION ADDRESS  
REGISTERS  
0
CHANNEL 0  
CHANNEL 1  
CHANNEL 2  
SOURCE ADDRESS  
REGISTERS  
= BUS SWITCH  
Figure 1. DMA Module Block Diagram  
Register Name  
Bit 7  
6
5
4
3
2
1
Bit 0  
Read:  
Write:  
Reset:  
Read:  
Write:  
Reset:  
Read:  
Write:  
Reset:  
Read:  
Write:  
Reset:  
AD15  
AD14  
AD13  
AD12  
AD11  
AD10  
AD9  
AD8  
DMA Channel 0 Source Address  
Register High (D0SH)  
Indeterminate after Reset  
AD4 AD3  
Indeterminate after Reset  
AD12 AD11  
Indeterminate after Reset  
AD4 AD3  
Indeterminate after Reset  
AD7  
AD15  
AD7  
AD6  
AD14  
AD6  
AD5  
AD13  
AD5  
AD2  
AD10  
AD2  
AD1  
AD9  
AD1  
AD0  
AD8  
AD0  
DMA Channel 0 Source Address  
Register Low (D0SL)  
DMA Channel 0 Destination  
Address Register High (D0DH)  
DMA Channel 0 Destination  
Address Register Low (D0DL)  
Figure 2. I/O Register Summary  
4-dma_b  
MC68HC708XL36  
114  
DMA  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
DMA  
Functional Description  
Register Name  
Bit 7  
6
5
4
3
2
1
Bit 0  
Read:  
Write:  
Reset:  
Read:  
Write:  
Reset:  
Read:  
Write:  
Reset:  
Read:  
Write:  
Reset:  
Read:  
Write:  
Reset:  
Read:  
Write:  
Reset:  
Read:  
Write:  
Reset:  
Read:  
Write:  
Reset:  
Read:  
Write:  
Reset:  
Read:  
Write:  
Reset:  
Read:  
Write:  
Reset:  
Read:  
Write:  
Reset:  
Read:  
Write:  
Reset:  
Read:  
Write:  
Reset:  
SDC3  
SDC2  
SDC1  
SDC0  
BWC  
DTS2  
DTS1  
DTS0  
DMA Channel 0 Control Register  
(D0C)  
Indeterminate after Reset  
BL4 BL3  
Indeterminate after Reset  
BL7  
BL6  
BL5  
BL2  
BL1  
BL0  
DMA Channel 0 Block Length  
Register (D0BL)  
BC7  
0
BC6  
0
BC5  
0
BC4  
0
BC3  
0
BC2  
0
BC1  
0
BC0  
0
DMA Channel 0 Byte Count  
Register (D0BC)  
AD15  
AD14  
AD13  
AD12  
AD11  
AD10  
AD9  
AD8  
DMA Channel 1 Source Address  
Register High (D1SH)  
Indeterminate after Reset  
AD4 AD3  
Indeterminate after Reset  
AD12 AD11  
Indeterminate after Reset  
AD4 AD3  
Indeterminate after Reset  
SDC0 BWC  
Indeterminate after Reset  
BL4 BL3  
Indeterminate after Reset  
AD7  
AD15  
AD7  
AD6  
AD14  
AD6  
AD5  
AD13  
AD5  
AD2  
AD10  
AD2  
AD1  
AD9  
AD1  
DTS1  
BL1  
AD0  
AD8  
AD0  
DTS0  
BL0  
DMA Channel 1 Source Address  
Register Low (D1SL)  
DMA Channel 1 Destination  
Address Register High (D1DH)  
DMA Channel 1 Destination  
Address Register Low (D1DL)  
SDC3  
BL7  
SDC2  
BL6  
SDC1  
BL5  
DTS2  
BL2  
DMA Channel 1 Control Register  
(D1C)  
DMA Channel 1 Block Length  
Register (D1BL)  
BC7  
0
BC6  
0
BC5  
0
BC4  
0
BC3  
0
BC2  
0
BC1  
0
BC0  
0
DMA Channel 1 Byte Count  
Register (D1BC)  
AD15  
AD14  
AD13  
AD12  
AD11  
AD10  
AD9  
AD8  
DMA Channel 2 Source Address  
Register High (D2SH)  
Indeterminate after Reset  
AD4 AD3  
Indeterminate after Reset  
AD12 AD11  
Indeterminate after Reset  
AD4 AD3  
Indeterminate after Reset  
AD7  
AD15  
AD7  
AD6  
AD14  
AD6  
AD5  
AD13  
AD5  
AD2  
AD10  
AD2  
AD1  
AD9  
AD1  
AD0  
AD8  
AD0  
DMA Channel 2 Source Address  
Register Low (D2SL)  
DMA Channel 2 Destination  
Address Register High (D2DH)  
DMA Channel 2 Destination  
Address Register Low (D2DL)  
Figure 2. I/O Register Summary  
5-dma_b  
MC68HC708XL36  
115  
MOTOROLA  
DMA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
DMA  
Register Name  
Bit 7  
6
5
4
3
2
1
Bit 0  
Read:  
Write:  
Reset:  
Read:  
Write:  
Reset:  
Read:  
Write:  
Reset:  
Read:  
SDC3  
SDC2  
SDC1  
SDC0  
BWC  
DTS2  
DTS1  
DTS0  
DMA Channel 2 Control Register  
(D2C)  
Indeterminate after Reset  
BL4 BL3  
Indeterminate after Reset  
BL7  
BL6  
BL5  
BLL2  
BL1  
BL0  
DMA Channel 2 Block Length  
Register (D2BL)  
BC7  
0
BC6  
0
BC5  
0
BC4  
0
BC3  
BC2  
0
BC1  
0
BC0  
0
DMA Channel 2 Byte Count  
Register (D2BC)  
0
TEC1  
0
BB1  
0
BB0  
0
TEC2  
0
IEC2  
0
IEC1  
0
TEC0  
0
IEC0  
0
DMA Control Register 1 (DC1) Write:  
Reset:  
Read:  
DMAP  
0
L2  
L1  
L0  
DMAWE  
0
IFC2  
0
IFC1  
0
IFC0  
0
DMA Status and Control Register  
Write:  
(DSC)  
Reset:  
0
0
0
Read:  
DMA Control Register 2 (DC2) Write:  
Reset:  
SWI7  
0
SWI6  
0
SWI5  
0
SWI4  
0
SWI33  
0
SWI2  
0
SWI1  
0
SWI0  
0
Figure 2. I/O Register Summary  
Table 1. I/O Register Address Summary  
Register D0SH  
Address $0034  
D0SL  
D0DH  
$0036  
D0DL  
$0037  
D0C  
D0BL  
D0BC  
D1SH  
D1SL  
D1DH  
$0035  
$0038  
$0039 $003B $003C $003D $003E  
Register D1DL  
Address $003F  
D1C  
D1BL  
D1BC  
$0043  
D2SH  
$0044  
D2SL  
D2DH  
$0046  
D2DL  
$0047  
D2C  
D2BL  
$0040  
$0041  
$0045  
$0048  
$0049  
Register D2BC  
DC1  
DSC  
DC2  
Address $004B $004C $004D $004E  
6-dma_b  
MC68HC708XL36  
116  
DMA  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
DMA  
Functional Description  
DMA/ CPU Tim ing  
When the DMA transfers data, it takes control of the address bus, data  
bus, and R/W line. During DMA transfers, the CPU clock is suspended.  
The state of the CPU remains unchanged until the end of the DMA  
transfer when the DMA relinquishes control of the buses and R/W line.  
Then the CPU resumes operation as though nothing had happened.  
Figure 3 and Figure 4 show the timing of DMA transfers.  
1
2
3
4
5
6
7
8
9
10  
STATE  
CGMOUT  
ADDRESS  
BUS  
DATA  
BUS  
R/W  
CPU-CONTROLLED BUS CYCLE  
DMA-CONTROLLED BUS CYCLE  
Figure 3. Single Byte Transfer Timing (Any DMA Bus Bandwidth)  
7-dma_b  
MC68HC708XL36  
117  
MOTOROLA  
DMA  
For More Information On This Product,  
Go to: www.freescale.com  
 
Freescale Semiconductor, Inc.  
DMA  
Table 2. DMA Byte Transfer Activity  
State  
Activity  
1
2
3
DMA service request occurs.  
DMA arbitrates channel priority.  
DMA generates internal control signals.  
DMA calculates source address.  
DMA latches source address in temporary register.  
4
5
6
DMA drives source address onto address bus.  
DMA drives R/W line high.  
DMA calculates destination address.  
DMA latches destination address into temporary register.  
DMA latches source data into temporary register.  
DMA increments byte count register.  
DMA drives destination address onto address bus.  
DMA drives R/W line low.  
7
DMA subtracts byte count register from block length register.  
If difference = 0, DMA disables channel by clearing TECx bit.  
If difference = 0 and IECx = 1, DMA generates CPU interrupt request.  
8
9
DMA drives source data onto data bus.  
DMA releases address bus and R/W line to CPU.  
DMA releases data bus to CPU.  
10  
1
2
3
4
5
6
7
8
9
10  
11  
12  
13  
14  
15  
16  
STATE  
CGMOUT  
ADDRESS  
BUS  
DATA  
BUS  
R/W  
CPU-CONTROLLED BUS CYCLE  
DMA-CONTROLLED BUS CYCLE  
Figure 4. Single Word Transfer Timing (100% DMA Bus Bandwidth)  
8-dma_b  
MC68HC708XL36  
118  
DMA  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
DMA  
Functional Description  
Table 3. DMA Word Transfer Activity  
State  
Activity  
1
2
3
DMA service request occurs.  
DMA arbitrates channel priority.  
DMA generates internal control signals.  
DMA calculates low byte of source address.  
DMA latches low byte of source address in temporary register.  
4
5
6
DMA drives low byte of source address onto address bus.  
DMA drives R/W line high.  
DMA calculates low byte of destination address.  
DMA latches low byte of destination address into temporary register.  
DMA latches low byte of source data into temporary register.  
DMA increments byte count register.  
DMA drives low byte of destination address onto address bus.  
DMA drives R/W line low.  
7
8
DMA subtracts byte count register from block length register.  
If difference = 0, DMA disables channel by clearing TECx bit.  
If difference = 0 and IECx = 1, DMA generates CPU interrupt request.  
DMA drives low byte of source data onto data bus.  
DMA calculates high byte of source address.  
DMA latches high byte of source address into temporary register.  
DMA drives the high byte of source address onto address bus.  
DMA drives R/W line high.  
DMA calculates high byte of destination address.  
DMA latches high byte of destination address in temporary register.  
9
DMA latches high byte of source data into temporary register.  
DMA increments the byte count register.  
10  
DMA drives high byte of destination address onto address bus.  
DMA drives R/W line low.  
11  
DMA subtracts byte count register from block length register.  
If difference = 0, DMA disables channel by clearing TECx bit.  
If difference = 0 and IECx bit set, CPU receives interrupt request.  
12  
13  
14  
DMA drives high byte of destination address onto address bus.  
DMA releases the address bus and R/W line to CPU.  
DMA releases data bus to CPU.  
9-dma_b  
MC68HC708XL36  
MOTOROLA  
DMA  
119  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
DMA  
The following procedure shows how to program a DMA transfer on a  
selected channel:  
1. In DMA control register 1 (DC1), disable the channel by clearing  
the TECx bit. (See DMA Control Register 1 on page 133.)  
2. In the source address registers (DxSH and DxSL), write the  
source base address. (See DMA Source Address Registers on  
page 143.)  
3. In the destination address registers (DxDH and DxDL), write the  
destination base address. (See DMA Destination Address  
Registers on page 145.)  
4. In the DMA channel x control register (DxC), make the following  
selections (see DMA Channel Control Registers on page 140):  
a. Select increment, decrement, or remain static for the source  
and destination addresses by writing to the source/destination  
address control bits, SDC[3:0].  
b. Select 8-bit or 16-bit data by writing to the byte/word control  
bit, BWC.  
c. Assign a DMA channel to the DMA transfer source input by  
writing to the DMA transfer source bits, DTS[2:0].  
5. In the channel x DMA block length register (DxBL), write the  
number of bytes to transfer. (See DMA Block Length Registers  
on page 146.) For word transfers, the block length number is two  
times the number of words.  
6. In the DMA status and control register (DSC), make the following  
selections (see DMA Status and Control Register on page 136):  
a. Enable or disable looping of the source and destination  
addresses by writing to the loop enable bit, Lx.  
b. Select DMA service request/CPU interrupt request priority by  
writing to the DMA priority bit, DMAP.  
c. Enable or disable DMA transfers during wait mode by writing  
to the DMA wait enable bit, DMAWE.  
7. In DMA control register 1 (DC1), make the following selections  
(see DMA Control Register 1 on page 133):  
10-dma_b  
MC68HC708XL36  
120  
DMA  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
DMA  
Functional Description  
a. Enable the DMA channel x by writing to the transfer enable bit,  
TECx.  
b. Enable or disable DMA channel x to generate CPU interrupts  
on transfer completion by writing to the CPU interrupt enable  
bit, IECx.  
c. Select the DMA bus bandwidth by writing to the bus bandwidth  
control bits, BB0 and BB1.  
8. To initiate the DMA transfer with software, set the software initiate  
bit, SWIx, in DMA control register 2 (DC2). (See DMA Control  
Register 2 on page 139.)  
Ha rdwa re -Initia te d  
DMA Se rvic e  
Re q ue sts  
The following sources can generate DMA service requests:  
Timer interface module (TIM) — The TIM can generate the  
following DMA service requests:  
– TIM channel 0 input capture/output compare  
– TIM channel 1 input capture/output compare  
– TIM channel 2 input capture/output compare  
– TIM channel 3 input capture/output compare  
Serial peripheral interface module (SPI) — The SPI can generate  
the following DMA service requests:  
– SPI receiver full  
– SPI transmitter empty  
Serial communications interface module (SCI) — The SCI can  
generate the following DMA service requests:  
– SCI receiver full  
– SCI transmitter empty  
11-dma_b  
MC68HC708XL36  
MOTOROLA  
DMA  
121  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
DMA  
The DMA has eight inputs for transfer sources. Each DMA transfer  
source input corresponds to one of the above DMA service requests. To  
enable a transfer on one of the three DMA channels, software must first  
assign the channel to one of the transfer source inputs. The channel  
control register of each channel determines its transfer source  
assignment. (See Table 10. DMA Transfer Source Selection.)  
Softwa re -Initia te d  
DMA Se rvic e  
Re q ue sts  
Software can initiate a DMA service request by writing to DMA control  
register 2 (DC2). A software-initiated transfer begins when the following  
conditions are met:  
The channel is enabled by the channel x transfer enable bit, TECx,  
in DMA control register 1 (DC1).  
The channel is assigned to a DMA transfer source input by the  
DMA transfer source bits, DTS[2:0], in the channel x control  
register (DxC).  
The corresponding software initiate bit, SWIx, in DMA control  
register 2 (DC2) is set, enabling a transfer on the transfer source  
input to which the channel is assigned.  
During a DMA transfer on channel x, the channel x byte count register  
increments with every byte transferred. When the value in the channel x  
byte count register matches the value in the channel x block length  
register, the channel x CPU interrupt flag, IFCx, becomes set. If the  
channel x CPU interrupt enable bit, IECx, is also set, the DMA issues a  
CPU interrupt request.  
DMA La te nc y  
When one DMA channel is active, the normal DMA latency is two cycles.  
Writing to the destination/source address registers, the channel control  
registers, or the block length registers of another DMA channel during a  
transfer adds three cycles to DMA latency.  
If more than one DMA channel is active, the latency of lower-priority  
channels increases.  
If two or more DMA channels have pending service requests, at least  
one CPU cycle executes between each channel transfer.  
12-dma_b  
MC68HC708XL36  
122  
DMA  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
DMA  
Functional Description  
DMA  
Sourc e / De stina tion  
Ad d re ss  
Three 16-bit buses connect the 16-bit DMA arithmetic/logic unit (ALU) to  
the DMA channel registers. During a DMA transfer, the DMA ALU:  
Calculates the transfer source and transfer destination addresses.  
Increments the DMA byte count register for each byte transferred.  
Ca lc ula tion  
Determines when a block or loop transfer is complete by  
comparing the DMA byte count register with the value  
programmed in the DMA block length register.  
The DMA source address register and destination address register  
contain the base addresses for a DMA transfer. The DMA ALU uses  
these address registers as base pointers when it starts the transfer. The  
DMA byte count register contains the number of bytes transferred in the  
current DMA operation. The DMA ALU uses the source/destination  
address registers and the byte count register to calculate the actual  
source and destination addresses in the following manner:  
When an address is configured to increment, the DMA ALU adds  
the byte count register to the base address.  
When an address is configured to decrement, the DMA ALU  
subtracts the byte counter register from the base address.  
When an address is configured to remain static, the DMA ALU  
uses the base address as is.  
The DMA can be programmed to:  
Stop the transfer after a number of bytes is transferred or  
After a number of bytes is transferred, loop back to the base  
addresses and continue the transfer.  
Figure 5 through Figure 13 show how the DMA calculates source and  
destination addresses.  
13-dma_b  
MC68HC708XL36  
MOTOROLA  
DMA  
123  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
DMA  
15  
15  
0
0
0
CHANNEL x SOURCE BASE ADDRESS  
SOURCE ADDRESS  
CHANNEL x DESTINATION BASE ADDRESS  
DESTINATION ADDRESS  
7
CHANNEL x BYTE COUNT  
+ 1  
= ?  
NOTE:  
7
0
0
When byte count = block length, the CPU  
interrupt flag (IFCx) is set and the byte count  
is reset.  
If in loop mode (Lx = 1), leave TECx set.  
If in finite transfer mode (Lx = 0), clear TECx.  
CHANNEL x CONTROL  
7
CHANNEL x BLOCK LENGTH  
Figure 5. Decremented Source and Decremented Destination  
15  
0
0
0
CHANNEL x SOURCE BASE ADDRESS  
+
SOURCE ADDRESS  
15  
CHANNEL x DESTINATION BASE ADDRESS  
+
DESTINATION ADDRESS  
7
CHANNEL x BYTE COUNT  
+ 1  
= ?  
NOTE:  
7
0
0
When byte count = block length, the CPU  
interrupt flag (IFCx) is set and the byte count  
is reset.  
If in loop mode (Lx = 1), leave TECx set.  
If in finite transfer mode (Lx = 0), clear TECx.  
CHANNEL x CONTROL  
7
CHANNEL x BLOCK LENGTH  
Figure 6. Incremented Source and Incremented Destination  
14-dma_b  
MC68HC708XL36  
124  
DMA  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
DMA  
Functional Description  
15  
0
0
0
CHANNEL x SOURCE BASE ADDRESS  
SOURCE ADDRESS  
DESTINATION ADDRESS  
NOTE:  
15  
CHANNEL x DESTINATION BASE ADDRESS  
7
CHANNEL x BYTE COUNT  
+ 1  
= ?  
7
0
0
When byte count = block length, the CPU  
interrupt flag (IFCx) is set and the byte count  
is reset.  
If in loop mode (Lx = 1), leave TECx set.  
If in finite transfer mode (Lx = 0), clear TECx.  
CHANNEL x CONTROL  
7
CHANNEL x BLOCK LENGTH  
Figure 7. Static Source and Decremented Destination  
15  
15  
0
CHANNEL x SOURCE BASE ADDRESS  
SOURCE ADDRESS  
0
0
CHANNEL x DESTINATION BASE ADDRESS  
DESTINATION ADDRESS  
7
CHANNEL x BYTE COUNT  
+ 1  
= ?  
NOTE:  
7
0
0
When byte count = block length, the CPU  
interrupt flag (IFCx) is set and the byte count  
is reset.  
If in loop mode (Lx = 1), leave TECx set.  
If in finite transfer mode (Lx = 0), clear TECx.  
CHANNEL x CONTROL  
7
CHANNEL x BLOCK LENGTH  
Figure 8. Decremented Source and Static Destination  
15-dma_b  
MC68HC708XL36  
125  
MOTOROLA  
DMA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
DMA  
15  
0
0
0
SOURCE ADDRESS  
CHANNEL x SOURCE BASE ADDRESS  
15  
CHANNEL x DESTINATION BASE ADDRESS  
+
DESTINATION ADDRESS  
7
CHANNEL x BYTE COUNT  
+ 1  
= ?  
NOTE:  
7
0
0
When byte count = block length, the CPU  
interrupt flag (IFCx) is set and the byte count  
is reset.  
If in loop mode (Lx = 1), leave TECx set.  
If in finite transfer mode (Lx = 0), clear TECx.  
CHANNEL x CONTROL  
7
CHANNEL x BLOCK LENGTH  
Figure 9. Static Source and Incremented Destination  
15  
0
CHANNEL x SOURCE BASE ADDRESS  
+
SOURCE ADDRESS  
15  
0
0
CHANNEL x DESTINATION BASE ADDRESS  
DESTINATION ADDRESS  
7
CHANNEL x BYTE COUNT  
+ 1  
= ?  
NOTE:  
7
0
0
When byte count = block length, the CPU  
interrupt flag (IFCx) is set and the byte count  
is reset.  
If in loop mode (Lx = 1), leave TECx set.  
If in finite transfer mode (Lx = 0), clear TECx.  
CHANNEL x CONTROL  
7
CHANNEL x BLOCK LENGTH  
Figure 10. Incremented Source and Static Destination  
16-dma_b  
MC68HC708XL36  
126  
DMA  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
DMA  
Functional Description  
15  
0
0
0
CHANNEL x SOURCE BASE ADDRESS  
SOURCE ADDRESS  
15  
CHANNEL x DESTINATION BASE ADDRESS  
+
DESTINATION ADDRESS  
7
CHANNEL x BYTE COUNT  
+ 1  
= ?  
NOTE:  
7
0
0
When byte count = block length, the CPU  
interrupt flag (IFCx) is set and the byte count  
is reset.  
If in loop mode (Lx = 1), leave TECx set.  
If in finite transfer mode (Lx = 0), clear TECx.  
CHANNEL x CONTROL  
7
CHANNEL x BLOCK LENGTH  
Figure 11. Decremented Source and Incremented Destination  
15  
0
0
0
CHANNEL x SOURCE BASE ADDRESS  
+
SOURCE ADDRESS  
15  
CHANNEL x DESTINATION BASE ADDRESS  
DESTINATION ADDRESS  
7
CHANNEL x BYTE COUNT  
+ 1  
= ?  
NOTE:  
7
0
0
When byte count = block length, the CPU  
interrupt flag (IFCx) is set and the byte count  
is reset.  
If in loop mode (Lx = 1), leave TECx set.  
If in finite transfer mode (Lx = 0), clear TECx.  
CHANNEL x CONTROL  
7
CHANNEL x BLOCK LENGTH  
Figure 12. Incremented Source and Decremented Destination  
17-dma_b  
MC68HC708XL36  
MOTOROLA  
DMA  
127  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
DMA  
15  
0
0
0
CHANNEL x SOURCE BASE ADDRESS  
SOURCE ADDRESS  
15  
DESTINATION ADDRESS  
CHANNEL x DESTINATION BASE ADDRESS  
7
CHANNEL x BYTE COUNT  
+ 1  
= ?  
NOTE:  
7
0
0
When byte count = block length, the CPU  
interrupt flag (IFCx) is set and the byte count  
is reset.  
If in loop mode (Lx = 1), leave TECx set.  
If in finite transfer mode (Lx = 0), clear TECx.  
CHANNEL x CONTROL  
7
CHANNEL x BLOCK LENGTH  
Figure 13. Static Source and Static Destination  
Table 4. DMA Address Calculation (Byte Mode)  
From To  
From To From  
To  
From  
To From  
To  
(1)  
(2)  
1
2
3
4
S
D
S
D
D
D
D
S
S
S
S
D
S
D
D
D
D
S
S
S
S
D
S
D
S +1  
S +2  
S +3  
D +1  
D +2  
D +3  
S –1  
S –2  
S –3  
D –1  
D –2  
D –3  
S
S
D
D
n
S
D
S +n –1  
D
S
D +n –1 S –(n –1)  
D
S
D –(n –1)  
1. S = Source base address  
2. D = Destination base address  
18-dma_b  
MC68HC708XL36  
128  
DMA  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
DMA  
Functional Description  
Table 5. DMA Address Calculation (Word Mode)  
From To  
From  
To From  
To  
From  
To From  
To  
(1)  
(2)  
1
2
3
4
5
6
S
D
S
D
S
D
S
D
S
D
1
2
3
S +1 D +1  
S +1  
S +2  
S +3  
S +4  
S +5  
D +1 S +1  
D +1  
D +2  
D +3  
D +4  
D +5  
S –1  
S –2  
S –3  
S –4  
S –5  
D +1 S +1  
D –1  
D –2  
D –3  
D –4  
D –5  
S
D
D
S
D
S
S +1 D +1  
D +1 S +1  
D +1 S +1  
S
D
D
S
D
S
S +1 D +1  
D +1 S +1  
D +1 S +1  
2n –1  
S
D
S +2n –2  
D
S
D +2n –2 S –(2n –2)  
D
S
D –(2n –2)  
n
2n S +1 D +1 S +2n –1 D +1 S +1 D +2n –1 S –(2n –1) D +1 S +1 D –(2n –1)  
1. S = Source base address  
2. D = Destination base address  
19-dma_b  
MC68HC708XL36  
129  
MOTOROLA  
DMA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
DMA  
Low-Powe r Mod e s  
The WAIT and STOP instructions put the MCU in low-power-consump-  
tion standby modes.  
Wa it Mod e  
If enabled by the DMAWE bit in the DMA status and control register, the  
DMA remains active in wait mode. The DMA can transfer data to and  
from peripherals while the MCU remains in wait mode.  
If the WAIT instruction occurs during a DMA transfer while DMAWE is  
set, the DMA transfer continues to completion. If the DMAWE bit is clear,  
a WAIT instruction suspends the current DMA transfer. If the DMA  
priority bit (DMAP) is set, the suspended transfer resumes when the  
MCU exits wait mode.  
Stop Mod e  
The DMA is inactive during stop mode. A STOP instruction suspends  
any DMA transfer in progress. If an external interrupt brings the MCU out  
of stop mode and the DMA priority bit (DMAP) is set, the suspended  
DMA transfer resumes. If a reset brings the MCU out of stop mode, the  
transfer is aborted.  
Entering stop mode when a DMA channel is enabled may fail to clear the  
the interrupt mask (I bit) in the condition code register. To make sure the  
I bit is cleared when entering stop mode:  
Before executing the STOP instruction, wait until any current DMA  
transfer is complete. Then disable DMA transfers by clearing bits  
TEC[2:0] in DMA control register 1.  
Or,  
Execute the clear-interrupt-mask instruction (CLI) before entering  
stop mode.  
20-dma_b  
MC68HC708XL36  
130  
DMA  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
DMA  
DMA During Break Interrupts  
DMA During Bre a k Inte rrup ts  
If the DMA is enabled, clear the DMAP bit in the DMA status and control  
register before executing a break interrupt.  
If a DMA-generated address matches the contents of the break address  
registers, a break interrupt begins at the end of the current CPU  
instruction.  
If a break interrupt is asserted during the current address cycle and the  
DMA is active, the DMA releases the internal address and data buses at  
the next address boundary to preserve the current MCU state. During  
the break interrupt, the DMA continues to arbitrate DMA channel  
priorities. After the break interrupt, the DMA becomes active again and  
resumes transferring data according to its highest priority service  
request.  
The BCFE bit in the break flag control register (BFCR) enables software  
to clear status bits during the break state. (See Break Module on page  
149.)  
To allow software to clear status bits during a break interrupt, write a  
logic 1 to the BCFE bit. If a status bit is cleared during the break state, it  
remains cleared when the MCU exits the break state.  
To protect status bits during the break state, write a logic 0 to the BCFE  
bit. With BCFE at logic 0 (its default state), software can read and write  
I/O registers during the break state without affecting status bits. Some  
status bits have a two-step read/write clearing procedure. If software  
does the first step on such a bit before the break, the bit cannot change  
during the break state as long as BCFE is at logic 0. After the break,  
doing the second step clears the status bit.  
21-dma_b  
MC68HC708XL36  
MOTOROLA  
DMA  
131  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
DMA  
DMA Re g iste rs  
The following registers control and monitor operation of the DMA:  
DMA control register 1 (DC1)  
DMA status and control register (DSC)  
DMA control register 2 (DC2)  
DC1, DSC, and DC2 can be written during a DMA transfer without  
affecting DMA latency.  
The following registers control operation of each of the DMA channels:  
DMA source address registers, high and low (D0SH:D0SL,  
D1SH:D1SL, and D2SH:D2SL)  
DMA destination address registers, high and low (D0DH:D0DL,  
D1DH:D1DL, and D2DH:D2DL)  
DMA channel x control registers (D0C–D2C)  
DMA channel x byte count registers (D0BC–D2BC)  
DMA channel x block length registers (D0BL–D2BL)  
Writing to DxSH:DxSL, DxDH:DxDL, DxC, and DxBL during a transfer  
affects DMA latency. A write to a channel x control register during a  
transfer has a two-bus cycle latency if the transfer is first suspended by  
disabling the channel. Disable the channel by writing a 0 to the TECx bit  
in DMA control register 1. Without first suspending the transfer, a write  
to a channel x control register during a transfer has a three-bus cycle  
latency.  
22-dma_b  
MC68HC708XL36  
132  
DMA  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
DMA  
DMA Registers  
DMA Control  
Re g iste r 1  
DMA control register 1:  
Enables channels to transfer data when DMA service requests  
occur.  
Enables channels to generate CPU interrupt requests.  
Controls how much of the bus bandwidth the DMA uses.  
Address: $004C  
Bit 7  
6
BB0  
0
5
TEC2  
0
4
IEC2  
0
3
TEC1  
0
2
IEC1  
0
1
TEC0  
0
Bit 0  
IEC0  
0
Read:  
BB1  
Write:  
Reset:  
0
Figure 14. DMA Control Register 1 (DC1)  
BB1 and BB0 — Bus Bandwidth Control Bits  
These read/write bits control the ratio of DMA/CPU bus activity during  
a DMA transfer. As Table 6 shows, the DMA can use 25%, 50%, 67%,  
or 100% of the bus bandwidth. Reset clears bits BB1 and BB0.  
Table 6. DMA/CPU Bus Control Selection  
DMA Transfer  
BB1:BB0  
DMA Bus Cycles  
2 (25%)  
CPU Bus Cycles  
6 (75%)  
00  
01  
10  
11  
2 (50%)  
2 (50%)  
2 (67%)  
1 (33%)  
All (100%)  
0 (0%)  
Figure 15, Figure 16, and Figure 17 show the timing of DMA  
transfers with DMA bus bandwidths of 25%, 50%, and 67%.  
23-dma_b  
MC68HC708XL36  
133  
MOTOROLA  
DMA  
For More Information On This Product,  
Go to: www.freescale.com  
 
 
Freescale Semiconductor, Inc.  
DMA  
CGMOUT  
ADDRESS  
BUS  
DATA  
BUS  
R/W  
CPU-CONTROLLED BUS CYCLE  
DMA-CONTROLLED BUS CYCLE  
Figure 15. Multiple Byte/Word Transfer Timing: 25% DMA Bus Bandwidth  
CGMOUT  
ADDRESS  
BUS  
DATA  
BUS  
R/W  
CPU-CONTROLLED BUS CYCLE  
DMA-CONTROLLED BUS CYCLE  
Figure 16. Multiple Byte/Word Transfer Timing: 50% DMA Bus Bandwidth  
CGMOUT  
ADDRESS  
BUS  
DATA  
BUS  
R/W  
CPU-CONTROLLED BUS CYCLE  
DMA-CONTROLLED BUS CYCLE  
Figure 17. Multiple Byte/Word Transfer Timing: 67% DMA Bus Bandwidth  
NOTE: When two or more DMA channels have transfers pending, the CPU  
executes at least one cycle between each DMA block length, even if the  
DMA channels have 100% of the bus bandwidth.  
24-dma_b  
MC68HC708XL36  
134  
DMA  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
DMA  
DMA Registers  
For DMA transfers of one byte or one word, giving the DMA 100% of  
the bus bandwidth is appropriate. However, for large,  
software-initiated transfers, limiting the bus bandwidth of the DMA  
may be useful to keep from slowing CPU activity.  
TEC[2:0] — Transfer Enable Bits  
These read/write bits enable the corresponding channels to perform  
transfers when DMA service requests occur. When two or more  
channels are enabled, a transfer on one channel cannot begin while  
another channel is transferring a byte or word. Reset clears the  
TEC[2:0] bits.  
1 = Corresponding DMA channel enabled  
0 = Corresponding DMA channel disabled  
IEC[2:0] — CPU Interrupt Enable Bits  
These read/write bits enable the corresponding channels to generate  
CPU interrupt requests upon completion of DMA block transfers or at  
the restart of DMA transfer loops. Reset clears the IEC[2:0] bits.  
1 = CPU interrupts from corresponding channel enabled  
0 = CPU interrupts from corresponding channel disabled  
25-dma_b  
MC68HC708XL36  
MOTOROLA  
DMA  
135  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
DMA  
DMA Sta tus a nd  
Control Re g iste r  
The DMA status and control register:  
Flags completion of DMA transfers.  
Controls looping of source and destination address counts.  
Controls priority of DMA service requests and CPU interrupt  
requests.  
Address: $004D  
Bit 7  
6
L2  
0
5
L1  
0
4
L0  
0
3
DMAWE  
0
2
IFC2  
0
1
IFC1  
0
Bit 0  
IFC0  
0
Read:  
DMAP  
Write:  
Reset:  
0
Figure 18. DMA Status and Control Register (DSC)  
DMAP — DMA Priority Bit  
This read/write bit controls the priority of CPU interrupt requests  
during DMA transfers. Reset clears the DMAP bit.  
1 = CPU interrupt requests inhibited during DMA transfers — When  
DMAP is set, a CPU interrupt request is not recognized until  
the end of the current DMA transfer. During a block transfer,  
the increase in CPU interrupt latency depends on the block  
size and on the bus bandwidth bits, BB[1:0]. (See DMA  
Control Register 1 on page 133.)  
0 = CPU interrupt requests recognized during DMA transfers —  
When DMAP is clear, a CPU interrupt request is recognized  
after the transfer of the current byte or word in the current DMA  
transfer. The CPU interrupt disables the DMA by clearing the  
transfer enable bits, TEC[2:0]. (See DMA Control Register 1  
on page 133.) The DMA can increase CPU interrupt latency by  
up to three cycles in a byte transfer or five cycles in a word  
transfer.  
NOTE: When DMAP = 0, a CPU interrupt clears the TECx bit if the channel has  
a pending DMA transfer. Software must re-enable channel x after each  
CPU interrupt by setting the TECx bit.  
26-dma_b  
MC68HC708XL36  
136  
DMA  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
DMA  
DMA Registers  
Table 7 shows the effect of the DMAP bit when the DMA has 100%  
of the bus bandwidth (BB[1:0] = 1:1).  
Table 7. DMA Transfer/CPU Interrupt Request Priority Selection  
DMAP = 0  
DMAP = 1  
Highest Priority  
Lowest Priority  
CPU Interrupt Requests  
DMA Channel 0 Transfer  
DMA Channel 1 Transfer  
DMA Channel 2 Transfer  
DMA Channel 0 Transfer  
DMA Channel 1 Transfer  
DMA Channel 2 Transfer  
CPU Interrupt Requests  
L[2:0] — Loop Enable Bits  
These read/write bits enable looping of the DMA back to the base  
addresses in the source address and destination address registers  
during block transfers. Reset clears the L[2:0] bits.  
1 = Looping enabled — After transferring the number of bytes  
equal to the number programmed in the DMA block length  
register, the DMA:  
Sets the CPU interrupt flag (IFCx) for that channel.  
Generates a CPU interrupt request if enabled (IECx = 1).  
Clears the byte count register.  
Continues the transfer from the base address.  
0 = Looping disabled — After transferring the number of bytes  
equal to the number programmed in the DMA block length  
register, the DMA:  
Sets the CPU interrupt flag (IFCx) for that channel.  
Generates a CPU interrupt request if enabled (IECx = 1).  
Clears the byte count register.  
Disables the channel by clearing the TECx bit.  
NOTE: The CPU executes a minimum of one cycle before the next DMA loop  
begins, even if the DMA has 100% of the bus bandwidth.  
27-dma_b  
MC68HC708XL36  
MOTOROLA  
DMA  
137  
For More Information On This Product,  
Go to: www.freescale.com  
 
Freescale Semiconductor, Inc.  
DMA  
DMAWE — DMA Wait Enable Bit  
This read/write bit enables the DMA to operate while in wait mode.  
Reset clears the DMAWE bit.  
1 = DMA transfer enabled after WAIT instruction  
0 = DMA transfer suspended after WAIT instruction  
IFC[2:0] — CPU Interrupt Flag Bits  
These read/write bits become set when a DMA transfer is complete  
or at the end of each transfer loop. IFC2, IFC1, or IFC0 can generate  
a CPU interrupt request if the corresponding IECx bit is set in DMA  
control register 1. Clear IFC[2:0] by reading them and then writing 0s  
to them. Reset clears the IFC[2:0] bits.  
1 = DMA transfer complete  
0 = DMA transfer not complete  
28-dma_b  
MC68HC708XL36  
138  
DMA  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
DMA  
DMA Registers  
DMA Control  
Re g iste r 2  
DMA control register 2 can perform two functions:  
Initiate DMA transfers through software  
Simulate DMA service requests for test purposes  
Address: $004E  
Bit 7  
6
SWI6  
0
5
SWI5  
0
4
SWI4  
0
3
SWI3  
0
2
SWI2  
0
1
SWI1  
0
Bit 0  
SWI0  
0
Read:  
SWI7  
Write:  
Reset:  
0
Figure 19. DMA Control Register 2 (DC2)  
SWI[7:0] — Software Initiate Bits  
Each of these read/write bits corresponds to one of the eight DMA  
transfer sources. (See Table 10 on page 142.) Setting an SWIx bit  
can initiate a DMA service request from the selected transfer source.  
1 = DMA software transfer initiated  
0 = DMA software transfer halted or not initiated  
Use the following steps to generate a software-initiated DMA service  
request:  
1. Enable a channel to perform a transfer by setting its TECx bit.  
(See DMA Control Register 1 on page 133.)  
2. Assign the channel to a DMA transfer source by writing a binary  
value from 000 to 111 to its DTS[2:0] bits. (See DMA Channel  
Control Registers on page 140.)  
3. Set the SWIx bit that corresponds to the selected transfer source.  
The bit positions (0–7) of the SWIx bits correspond to the binary  
values (000–111) that select the DMA transfer source. For  
example, after selecting transfer source 100 (binary), set bit SWI4  
to initiate the DMA service request.  
29-dma_b  
MC68HC708XL36  
MOTOROLA  
DMA  
139  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
DMA  
DMA Cha nne l  
Each DMA channel control register:  
Control Re g iste rs  
Controls calculation of source and destination addresses.  
Selects transfer of 8-bit bytes or 16-bit words on the channel.  
Assigns the channel to one of eight DMA transfer sources.  
The state of the DMA channel control registers after reset is  
indeterminate.  
Bit 7  
6
5
4
3
2
1
Bit 0  
Read:  
Write:  
Reset:  
SDC3  
SDC2  
SDC1  
SDC0  
BWC  
DTS2  
DTS1  
DTS0  
Indeterminate after Reset  
Figure 20. DMA Channel Control Registers (D0C–D2C)  
Table 8. DMA Channel Control Register Address Summary  
Register  
Address  
D0C  
D1C  
D2C  
$0038  
$0040  
$0048  
SDC[3:0] — Source/Destination Address Control Bits  
These read/write bits control calculation of the source and destination  
addresses as shown in Table 9.  
Table 9. Source/Destination Address Register Control  
SDC[3:0]  
1010  
1001  
1000  
0110  
0101  
0100  
0010  
0001  
0000  
Source Address  
Increment  
Increment  
Increment  
Decrement  
Decrement  
Decrement  
Static  
Destination Address  
Increment  
Decrement  
Static  
Increment  
Decrement  
Static  
Increment  
Decrement  
Static  
Static  
Static  
30-dma_b  
MC68HC708XL36  
140  
DMA  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
 
Freescale Semiconductor, Inc.  
DMA  
DMA Registers  
The DMA calculates an incremented address by adding the byte  
count register to the base address. To calculate a decremented  
address, the DMA subtracts the byte count register from the base  
address. To determine a static address, the DMA reads the base  
address.  
BWC — Byte/Word Control Bit  
This read/write bit determines whether the DMA channel transfers  
8-bit bytes or 16-bit words. The BWC bit has no effect unless either  
the source or destination address is static or both are static.  
1 = 16-bit words  
0 = 8-bit bytes  
NOTE: To transfer a block of 16-bit words (BWC = 1), set the block length to the  
number of words times two. (See DMA Block Length Registers on  
page 146.)  
When both the source and destination addresses are static, the first byte  
of the word transfers from the source base address to the destination  
base address. The second byte transfers from the source base address  
plus one to the destination address plus one. When either the source or  
destination address increments or decrements, the DMA transfers bytes  
from or to incrementing or decrementing addresses.  
The CPU interrupt flag (IFCx) becomes set when the byte count register  
equals the block length register.  
DTS[2:0] — DMA Transfer Source Bits  
These read/write bits assign the DMA channels to the eight transfer  
source inputs as shown in Table 10.  
31-dma_b  
MC68HC708XL36  
MOTOROLA  
DMA  
141  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
DMA  
Table 10. DMA Transfer Source Selection  
Transfer Source  
DTS2:DTS1:DTS0  
TIM Channel 0 Interrupt Request  
TIM Channel 1 Interrupt Request  
TIM Channel 2 Interrupt Request  
TIM Channel 3 Interrupt Request  
SPI Receive Interrupt Request  
SPI Transmit Interrupt Request  
SCI Receive Interrupt Request  
SCI Transmit Interrupt Request  
000  
001  
010  
011  
100  
101  
110  
111  
32-dma_b  
MC68HC708XL36  
142  
DMA  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
DMA  
DMA Registers  
DMA Sourc e  
Ad d re ss Re g iste rs  
Each DMA channel takes its data from a source base address contained  
in a 16-bit source address register. During a block transfer, the DMA  
determines successive source addresses by adding to (to increment) or  
subtracting from (to decrement) the base address. In static address  
transfers, the DMA finds the source address by merely reading the  
source address registers. Figure 21 shows the DMA source address  
registers. The state of the source address registers after reset is  
indeterminate.  
33-dma_b  
MC68HC708XL36  
MOTOROLA  
DMA  
143  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
DMA  
Bit 7  
6
5
4
3
2
1
Bit 0  
AD8  
Read:  
Write:  
Reset:  
AD15  
AD14  
AD13  
AD12  
AD11  
AD10  
AD9  
Indeterminate after Reset  
Bit 7  
AD7  
6
5
4
3
2
1
Bit 0  
AD0  
Read:  
Write:  
Reset:  
AD6  
AD5  
AD4  
AD3  
AD2  
AD1  
Indeterminate after Reset  
Figure 21. DMA Source Address Registers (D0SH/L–D2SH/L)  
Table 11. DMA Source Address Register Address Summary  
Register  
Address  
D0SH  
$0034  
D0SL  
D1SH  
D1SL  
D2SH  
$0044  
D2SL  
$0035  
$003C  
$003D  
$0045  
34-dma_b  
MC68HC708XL36  
144  
DMA  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
DMA  
DMA Registers  
DMA De stina tion  
Ad d re ss Re g iste rs  
Each DMA channel transfers data to the destination base address  
contained in a 16-bit destination address register. During a block  
transfer, the DMA determines successive destination addresses by  
adding to (to increment) or subtracting from (to decrement) the base  
address. In static address transfers, the DMA finds the destination  
address by merely reading the destination address registers. Figure 22  
shows the DMA destination address registers. The state of the  
destination address registers after reset is indeterminate.  
Bit 7  
6
5
4
3
2
1
Bit 0  
AD8  
Read:  
Write:  
Reset:  
AD15  
AD14  
AD13  
AD12  
AD11  
AD10  
AD9  
Indeterminate after Reset  
Bit 7  
AD7  
6
5
4
3
2
1
Bit 0  
AD0  
Read:  
Write:  
Reset:  
AD6  
AD5  
AD4  
AD3  
AD2  
AD1  
Indeterminate after Reset  
Figure 22. DMA Destination Address Registers (D0DH/L–D2DH/L)  
Table 12. Destination Address Register Address Summary  
Register  
Address  
D0DH  
$0036  
D0DL  
$0037  
D1DH  
$003E  
D1DL  
D2DH  
$0046  
D2DL  
$0047  
$003F  
MC68HC708XL36  
145  
MOTOROLA  
DMA  
For More Information On This Product,  
Go to: www.freescale.com  
 
Freescale Semiconductor, Inc.  
DMA  
DMA Bloc k Le ng th  
Re g iste rs  
The read/write block length registers control the number of bytes  
transferred. During a block transfer, the DMA compares the number  
programmed into the channel’s DMA block length register to the number  
in its DMA byte count register. When the byte count reaches the value in  
the block length register, the DMA:  
Sets the CPU interrupt flag (IFCx) for that channel in the DMA  
status and control register.  
Generates a CPU interrupt request if enabled.  
Resets the byte count register.  
If looping is disabled (Lx bit in DMA status and control register = 0), the  
DMA then stops the transfer by clearing the TECx bit in DMA control  
register 1, disabling the channel. If looping is enabled (Lx bit = 1), the  
DMA continues the transfer from the base address.  
The block length of a word transfer is twice the number of words. The  
state of the DMA block length registers after reset is indeterminate.  
MC68HC708XL36  
146  
DMA  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
DMA  
DMA Registers  
Bit 7  
BL7  
6
5
4
3
2
1
Bit 0  
BL0  
Read:  
Write:  
Reset:  
BL6  
BL5  
BL4  
BL3  
BL2  
BL1  
Indeterminate after Reset  
Figure 23. DMA Block Length Registers (D0BL–D2BL)  
Table 13. DMA Block Length Register Address Summary  
Register  
Address  
D0BL  
D1BL  
D2BL  
$0039  
$0041  
$0049  
MC68HC708XL36  
147  
MOTOROLA  
DMA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
DMA  
DMA Byte Count  
Re g iste rs  
Each read/write DMA byte count register contains the number of bytes  
transferred on that channel in the current DMA transfer.  
Bit 7  
BC7  
0
6
BC6  
0
5
BC5  
0
4
BC4  
0
3
BC3  
0
2
BC2  
0
1
BC1  
0
Bit 0  
BC0  
0
Read:  
Write:  
Reset:  
Figure 24. DMA Byte Count Registers (D0BC–D2BC)  
Table 14. DMA Byte Count Register Address Summary  
Register  
Address  
D0BC  
$003B  
D1BC  
$0043  
D2BC  
$004B  
Writing to the channel x source address or destination address register  
clears the channel x byte count register. The channel x byte count  
register also is cleared when its count reaches the value in the channel  
x block length register. Reset clears the byte count registers.  
MC68HC708XL36  
148  
DMA  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Bre a k Mod ule  
BRK  
Conte nts  
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .149  
Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .150  
Functional Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .150  
Flag Protection During Break Interrupts . . . . . . . . . . . . . . . . . . . .152  
CPU During Break Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . .152  
DMA During Break Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . .152  
TIM During Break Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . .152  
COP During Break Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . .152  
Low-Power Modes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .153  
Wait Mode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .153  
Stop Mode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .153  
Break Module Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .153  
Break Status and Control Register . . . . . . . . . . . . . . . . . . . . . . . .154  
Break Address Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .155  
Break Status Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .155  
Break Flag Control Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . .156  
Introd uc tion  
The break module can generate a break interrupt that stops normal  
program flow at a defined address to enter a background program.  
1-brk_a  
MC68HC708XL36  
MOTOROLA  
BRK  
149  
For More Information On This Product,  
Go to: www.freescale.com  
 
Freescale Semiconductor, Inc.  
BRK  
Fe a ture s  
Accessible I/O Registers during Break Interrupts  
CPU-Generated and DMA-Generated Break Interrupts  
Software-Generated Break Interrupts  
COP Disabling during Break Interrupts  
Func tiona l De sc rip tion  
When the internal address bus matches the value written in the break  
address registers, the break module issues a breakpoint signal to the  
CPU. The CPU then loads the instruction register with a software  
interrupt instruction (SWI) after completion of the current CPU  
instruction. The program counter vectors to $FFFC and $FFFD ($FEFC  
and $FEFD in monitor mode).  
The following events can cause a break interrupt to occur:  
A CPU-generated address (the address in the program counter)  
matches the contents of the break address registers.  
During a DMA transfer, a DMA-generated address matches the  
contents of the break address registers.  
Software writes a logic 1 to the BRKA bit in the break status and  
control register.  
When a CPU- or DMA-generated address matches the contents of the  
break address registers, the break interrupt begins after the CPU  
completes its current instruction. A return-from-interrupt instruction (RTI)  
in the break routine ends the break interrupt and returns the MCU to  
normal operation. Figure 1 shows the structure of the break module.  
2-brk_a  
MC68HC708XL36  
150  
BRK  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
BRK  
Functional Description  
IAB[15:8]  
BREAK ADDRESS REGISTER HIGH  
8-BIT COMPARATOR  
CONTROL  
IAB[15:0]  
BREAK  
8-BIT COMPARATOR  
BREAK ADDRESS REGISTER LOW  
IAB[7:0]  
Figure 1. Break Module Block Diagram  
Register Name  
Bit 7  
6
0
R
0
5
0
R
0
4
1
R
1
3
0
R
0
2
0
R
0
1
BW  
0
Bit 0  
Read:  
0
R
0
0
R
0
Break Status Register (BSR) Write:  
Reset:  
0
Read:  
Write:  
Reset:  
BFCE  
0
R
R
R
R
R
R
R
Break Flag Control Register  
(BFCR)  
Read:  
Write:  
Reset:  
Read:  
Write:  
Reset:  
Read:  
Write:  
Bit 15  
0
14  
13  
0
12  
0
11  
0
10  
0
9
0
1
Bit 8  
0
Break Address Register High  
(BRKH)  
0
Bit 7  
0
6
5
4
3
2
Bit 0  
Break Address Register Low  
(BRKL)  
0
BRKA  
0
0
0
0
0
0
0
0
0
0
0
0
0
BRKE  
0
Break Status and Control Register  
(BSCR)  
Reset:  
0
0
0
0
0
0
= Unimplemented  
R = Reserved  
Figure 2. I/O Register Summary  
Table 1. I/O Register Address Summary  
Register  
Address  
BSR  
BFCR  
$FE03  
BRKH  
$FE0C  
BRKL  
BSCR  
$FE0E  
$FE00  
$FE0D  
3-brk_a  
MC68HC708XL36  
151  
MOTOROLA  
BRK  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
BRK  
Fla g Prote c tion  
During Bre a k  
Inte rrup ts  
The BCFE bit in the break flag control register (BFCR) enables software  
to clear status bits during the break state.  
CPU During Bre a k  
Inte rrup ts  
The CPU starts a break interrupt by:  
Loading the instruction register with the SWI instruction.  
Loading the program counter with $FFFC:$FFFD ($FEFC:$FEFD  
in monitor mode).  
The break interrupt begins after completion of the CPU instruction in  
progress. If the break address register match occurs on the last cycle of  
a CPU instruction, the break interrupt begins immediately.  
DMA During Bre a k  
Inte rrup ts  
If the DMA is enabled, clear the DMAP bit in the DMA status and control  
register before executing a break interrupt.  
If a break interrupt is asserted during the current address cycle and the  
DMA is active, the DMA releases the internal address and data buses at  
the next address boundary to preserve the current MCU state. During  
the break interrupt, the DMA continues to arbitrate DMA channel  
priorities. After the break interrupt, the DMA becomes active again and  
resumes transferring data according to its highest priority service  
request.  
TIM During Bre a k  
Inte rrup ts  
A break interrupt stops the timer counter.  
COP During Bre a k  
Inte rrup ts  
The COP is disabled during a break interrupt when V + V is present  
DD Hi  
on the RST pin.  
4-brk_a  
MC68HC708XL36  
152  
BRK  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
BRK  
Low-Power Modes  
Low-Powe r Mod e s  
The WAIT and STOP instructions put the MCU in low-power-consump-  
tion standby modes.  
Wa it Mod e  
If enabled, the break module is active in wait mode. A DMA-generated  
address that matches the break address registers in wait mode sets the  
BW in the break status register.  
The DMA can also use the break status and control register as its  
destination address in order to write to the BRKA and BRKE bits during  
wait mode. A DMA write to the break status and control register sets the  
BW bit.  
Stop Mod e  
The break module is inactive in stop mode. The STOP instruction does  
not affect break module register states.  
Bre a k Mod ule Re g iste rs  
These registers control and monitor operation of the break module:  
Break status and control register (BSCR)  
Break address register high (BRKH)  
Break address register low (BRKL)  
Break status register (BSR)  
Break flag control register (BFCR)  
5-brk_a  
MC68HC708XL36  
153  
MOTOROLA  
BRK  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
BRK  
Bre a k Sta tus a nd  
Control Re g iste r  
The break status and control register contains break module enable and  
status bits.  
Address: $FE0E  
Bit 7  
BRKE  
0
6
BRKA  
0
5
0
4
0
3
0
2
0
1
0
Bit 0  
0
Read:  
Write:  
Reset:  
0
0
0
0
0
0
= Unimplemented  
Figure 3. Break Status and Control Register (BSCR)  
BRKE — Break Enable Bit  
This read/write bit enables breaks on break address register matches.  
Clear BRKE by writing a logic 0 to bit 7. Reset clears the BRKE bit.  
1 = Breaks enabled on 16-bit address match  
0 = Breaks disabled on 16-bit address match  
BRKA — Break Active Bit  
This read/write status and control bit is set when a break address  
match occurs. Writing a logic 1 to BRKA generates a break interrupt.  
Clear BRKA by writing a logic 0 to it before exiting the break routine.  
Reset clears the BRKA bit.  
1 = (When read) Break address match  
0 = (When read) No break address match  
6-brk_a  
MC68HC708XL36  
154  
BRK  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
BRK  
Break Module Registers  
Bre a k Ad d re ss  
Re g iste rs  
The break address registers contain the high and low bytes of the  
desired breakpoint address. Reset clears the break address registers.  
Register: BRKH  
Address: $FE0C  
Bit 7  
BRKL  
$FE0D  
6
5
13  
0
4
12  
0
3
11  
0
2
10  
0
1
9
0
1
0
Bit 0  
Bit 8  
0
Read:  
Bit 15  
Write:  
14  
0
Reset:  
Read:  
Write:  
Reset:  
0
Bit 7  
0
6
5
4
3
2
Bit 0  
0
0
0
0
0
0
Figure 4. Break Address Registers (BRKH and BRKL)  
Bre a k Sta tus  
Re g iste r  
The break status register contains a flag to indicate that a break caused  
an exit from wait mode. The flag is useful in applications requiring a  
return to wait mode after exiting from a break interrupt.  
Address: $FE00  
Bit 7  
6
0
5
0
4
1
3
0
2
0
1
BW  
NOTE  
0
Bit 0  
0
Read:  
Write:  
Reset:  
0
R
R
0
R
0
R
1
R
0
R
0
R
0
0
R = Reserved  
NOTE: Writing a logic 0 clears BW.  
Figure 5. Break Status Register (BSR)  
BW — Break Wait Bit  
This read/write bit is set when a break interrupt causes an exit from  
wait mode. Clear BW by writing a logic 0 to it. Reset clears BW.  
1 = Break interrupt during wait mode  
0 = No break interrupt during wait mode  
7-brk_a  
MC68HC708XL36  
MOTOROLA  
BRK  
155  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
BRK  
BW is for applications that require a return to wait mode after exiting wait  
mode for a DMA-generated break interrupt. BW can be read within the  
break interrupt routine. The user can modify the return address on the  
stack by subtracting 1 from it. The following code is an example.  
;This code works if the H register was stacked in the break  
;interrupt routine. Execute this code at the end of the break  
;interrupt routine.  
HIBYTEEQU  
LOBYTEEQU  
5
6
;
If not BW, do RTI  
BRCLRBW,BSR, RETURN  
;See if wait mode or stop mode  
;was exited by break.  
TST LOBYTE,SP  
BNE DOLO  
;If RETURNLO is not 0,  
;then just decrement low byte.  
;Else deal with high byte also.  
;Point to WAIT/STOP opcode.  
;Restore H register.  
DEC HIBYTE,SP  
DOLO DEC LOBYTE,SP  
RETURNPULH  
RTI  
Bre a k Fla g Control  
Re g iste r  
The break flag control register contains a bit that enables software to  
clear status bits while the MCU is in a break state.  
Address: $FE03  
Bit 7  
6
5
4
3
2
1
Bit 0  
R
Read:  
Write:  
Reset:  
BCFE  
R
R
R
R
R
R
0
R = Reserved  
Figure 6. Break Flag Control Register (BFCR)  
BCFE — Break Clear Flag Enable Bit  
This read/write bit enables software to clear status bits by accessing  
status registers while the MCU is in a break state. To clear status bits  
during the break state, the BCFE bit must be set.  
1 = Status bits clearable during break  
0 = Status bits not clearable during break  
8-brk_a  
MC68HC708XL36  
156  
BRK  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Monitor ROM  
MON  
Conte nts  
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .157  
Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .158  
Functional Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .158  
Entering Monitor Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .160  
Data Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .162  
Break Signal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .162  
Baud Rate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .162  
Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .163  
Security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .169  
Introd uc tion  
Execution of code in the monitor ROM in monitor mode allows complete  
testing of the MCU through a single-wire interface with a host computer.  
1-mon08sp_1p  
MC68HC708XL36  
MOTOROLA  
MON  
157  
For More Information On This Product,  
Go to: www.freescale.com  
 
Freescale Semiconductor, Inc.  
MON  
Fe a ture s  
Features of monitor mode include the following:  
Normal User-Mode Pin Functionality  
One Pin Dedicated to Serial Communication between Monitor  
ROM and Host Computer  
Standard Mark/Space Non-Return-to-Zero (NRZ) Communication  
with Host Computer  
Execution of Code in Either RAM or EPROM  
EPROM Programming  
EPROM Security  
Func tiona l De sc rip tion  
The monitor ROM receives and executes commands from a host.  
Figure 1 shows an example circuit used to enter monitor mode and  
communicate with a host via a standard RS-232 interface.  
Simple monitor commands can access any memory address. In monitor  
mode, the MCU can execute the code in RAM loaded by the host while  
all MCU pins retain normal operating mode functions. All communication  
between the host and the MCU is through the PA0 pin at a chosen baud  
rate. A level-shifting and multiplexing interface is required between PA0  
and the host. PA0 is used in a wired-OR configuration and requires a  
pullup resistor.  
2-mon08sp_1p  
MC68HC708XL36  
158  
MON  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
MON  
Functional Description  
V
DD  
10 kΩ  
0.1 µF  
RST  
V
+ V  
Hi  
DD  
10 Ω  
IRQ1  
IRQ2  
V
DD  
10 kΩ  
V
DDA  
V
DDA  
0.1 µF  
CGMXFC  
OSC1  
1
20  
MC145407  
0.1 µF  
10 MΩ  
+
+
+
+
10 µF  
10 µF  
10 µF  
3
4
18  
17  
20 pF  
V
DD  
X1  
4.9152 MHz  
10 µF  
2
19  
OSC2  
20 pF  
CGND  
DB-25  
2
V
5
6
16  
15  
SS  
V
DD  
3
7
V
V
DD  
DD  
V
DD  
0.1 µF  
1
2
6
4
7
14  
3
MC74HC125  
10 kΩ  
PA0  
PA7  
5
10 kΩ  
V
DD  
PC3  
V
DD  
10 kΩ  
10 kΩ  
PC0  
PC1  
A
See  
NOTE.  
B
10 kΩ  
10 kΩ  
NOTE: Position A — Bus clock = CGMXCLK ÷ 4 or CGMVCLK ÷ 4  
Position B — Bus clock = CGMXCLK ÷ 2  
Figure 1. Monitor Mode Circuit  
3-mon08sp_1p  
MC68HC708XL36  
159  
MOTOROLA  
MON  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
MON  
Ente ring Monitor  
Mod e  
Table 1 shows the pin conditions for entering monitor mode.  
Table 1. Monitor Mode Entry  
Bus Clock Frequency  
CGMXCLK  
CGMVCLK  
1
0
----------------------------- or -----------------------------  
4
4
V
+ V  
Hi  
0
1
0
1
DD  
CGMXCLK  
-----------------------------  
2
If the PC3 pin is low upon monitor mode entry, the bus frequency is equal  
to the frequency of CGMXCLK divided by two. CGMXCLK is a buffered  
version of the clock on the OSC1 pin. If PC3 is high upon monitor mode  
entry, the bus frequency is equal to the frequency of CGMXCLK divided  
by four. The PLL can be engaged after monitor mode entry to multiply  
the bus frequency by programming the CGM. For information on how to  
program the PLL, see Clock Generator Module on page 83. To use the  
PLL, PC3 must be high during monitor mode entry. With the PLL  
engaged, the bus frequency is equal to the PLL output, CGMVCLK,  
divided by four.  
NOTE: If CGMXCLK divided by two is selected as the bus frequency (PC3 = 0),  
the OSC1 signal must have a 50% duty cycle at maximum bus  
frequency.  
Enter monitor mode with one of the pin configurations shown in Table 1  
by pulling RST low and then high. The rising edge of RST latches  
monitor mode. Once monitor mode is latched, the values on the PC0,  
PC1, PA0, and PC3 pins can be changed.  
NOTE: The PA7 pin must remain at logic 0 for 24 bus cycles after the RST pin  
goes high.  
4-mon08sp_1p  
MC68HC708XL36  
160  
MON  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
 
 
Freescale Semiconductor, Inc.  
MON  
Functional Description  
Once out of reset, the MCU waits for the host to send eight security  
bytes. (See Security on page 169.) After the security bytes, the MCU  
sends a break signal (10 consecutive logic 0s) to the host, indicating that  
it is ready to receive a command.  
In monitor mode, the MCU uses different vectors for reset, SWI, and  
break interrupt than those for user mode. The alternate vectors are in the  
$FE page instead of the $FF page and allow code execution from the  
internal monitor firmware instead of user code.  
The COP module is disabled in monitor mode as long as V + V is  
DD  
Hi  
applied to either the IRQ pin or the RST pin.  
Table 2 summarizes the differences between user mode and monitor  
mode.  
Table 2. Mode Differences  
Functions  
Reset  
Vector Vector Vector Vector Vector Vector  
High Low High Low High Low  
Reset  
Break  
Break  
SWI  
SWI  
Modes  
COP  
User  
Enabled  
$FFFE $FFFF $FFFC $FFFD $FFFC $FFFD  
$FEFE $FEFF $FEFC $FEFD $FEFC $FEFD  
(1)  
Monitor Disabled  
1. If the high voltage (VDD + VHi) is removed from the IRQ pin or the RST pin, the COP is  
enabled. The COP is a mask option enabled or disabled by the COPD bit in the config-  
uration register.  
5-mon08sp_1p  
MC68HC708XL36  
MOTOROLA  
MON  
161  
For More Information On This Product,  
Go to: www.freescale.com  
 
Freescale Semiconductor, Inc.  
MON  
Da ta Form a t  
Communication with the monitor ROM is in standard non-return-to-zero  
(NRZ) mark/space data format. Transmit and receive baud rates must  
be identical.  
START  
BIT  
STOP  
BIT  
BIT 0  
BIT 1  
BIT 2  
BIT 3  
BIT 4  
BIT 5  
BIT 6  
BIT 7  
Figure 2. Monitor Data Format  
Bre a k Sig na l  
A start bit (logic 0) followed by nine logic 0 bits is a break signal. When  
the monitor receives a break signal, it drives the PA0 pin high for the  
duration of two bits and then echos back the break signal.  
NO STOP BIT  
2-BIT DELAY TIME BEFORE 0 ECHO  
PA0  
START  
BIT TIME  
1
2
3
4
5
6
7
0
1
2
3
4
5
6
7
0
Figure 3. Break Transaction  
Ba ud Ra te  
The bus clock frequency of the MCU in monitor mode is determined by:  
The external clock frequency  
The value on the PC3 pin  
Whether the phase-locked loop (PLL) is engaged  
The internal monitor firmware performs a division by 256 (for sampling  
data); therefore, the bus frequency divided by 256 is the baud rate of the  
monitor mode data transfer.  
For example, with a 4.9152-MHz external clock and the PC3 pin at logic  
1 during reset, data is transferred between the monitor and host at 4800  
baud. If the PC3 pin is at logic 0 during reset, the monitor baud rate is  
9600.  
6-mon08sp_1p  
MC68HC708XL36  
162  
MON  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
MON  
Functional Description  
The PLL can be engaged to increase the baud rate of instruction transfer  
between the host and the MCU and to increase the speed of program  
execution. Monitor mode must be entered with PTC high to use the PLL.  
See Entering Monitor Mode on page 160. Initially, the bus frequency is  
a divide-by-four of the input clock.  
After the PLL is programmed and selected as the base clock,  
communication between the host and MCU must be re-established at  
the new baud rate. One way to accomplish this is with a program  
downloaded from the host into the MCU RAM. The downloaded routine  
can program the PLL and send a new baud rate flag to the host just  
before engaging the PLL onto the bus. Then an SWI instruction can be  
used to return program control to the monitor firmware.  
Com m a nd s  
The monitor ROM firmware uses the following commands:  
READ (read memory)  
WRITE (write memory)  
IREAD (indexed read)  
IWRITE (indexed write)  
READSP (read stack pointer + 1)  
RUN (run user program)  
The monitor ROM firmware echoes each received byte back to the PA0  
pin for error checking. An 11-bit delay at the end of each command  
allows the host to send a break character to cancel the command. A  
delay of two bit times occurs before each echo and before READ,  
IREAD, or READSP data is returned. The data returned by a read  
command appears after the echo of the last byte of the command.  
NOTE: Wait one bit time after each echo before sending the next byte.  
7-mon08sp_1p  
MC68HC708XL36  
MOTOROLA  
MON  
163  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
MON  
FROM  
HOST  
Address  
High  
Address  
High  
Address  
Low  
Address  
Low  
READ  
READ  
Data  
4
4
1
1
4
1
3, 2  
4
ECHO  
NOTE: 1 = Echo delay (2 bit times)  
RETURN  
2 = Data return delay (2 bit times)  
3 = Cancel command delay (11 bit times)  
4 = Wait 1 bit time before sending next byte.  
Figure 4. Read Transaction  
FROM  
HOST  
Address  
High  
Address  
High  
Address  
Low  
Address  
Low  
Data  
Data  
WRITE  
WRITE  
4
4
1
1
4
1
4
1
3, 4  
ECHO  
NOTE: 1 = Echo delay (2 bit times)  
3 = Cancel command delay (11 bit times)  
4 = Wait 1 bit time before sending next byte.  
Figure 5. Write Transaction  
8-mon08sp_1p  
MC68HC708XL36  
164  
MON  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
MON  
Functional Description  
A brief description of each monitor mode command follows:  
Table 3. READ (Read Memory) Command  
Description Read byte from memory  
Operand 2-byte address in high byte:low byte order  
Data  
Returned  
Returns contents of specified address  
Opcode $4A  
Command Sequence  
SENT TO  
MONITOR  
Address  
High  
Address  
High  
Address  
Low  
Address  
Low  
READ  
READ  
Data  
ECHO  
RETURN  
Table 4. WRITE (Write Memory) Command  
Description Write byte to memory  
2-byte address in high byte:low byte order; low byte followed by  
data byte  
Operand  
Data  
Returned  
None  
Opcode $49  
Command Sequence  
FROM  
HOST  
Address  
High  
Address  
High  
Address  
Low  
Address  
Low  
Data  
Data  
WRITE  
WRITE  
ECHO  
9-mon08sp_1p  
MC68HC708XL36  
165  
MOTOROLA  
MON  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
MON  
Table 5. IREAD (Indexed Read) Command  
Description Read next 2 bytes in memory from last address accessed  
Operand 2-byte address in high byte:low byte order  
Data  
Returned  
Returns contents of next two addresses  
Opcode $1A  
Command Sequence  
FROM  
HOST  
IREAD  
IREAD  
Data  
Data  
ECHO  
RETURN  
Table 6. IWRITE (Indexed Write) Command  
Description Write to last address accessed + 1  
Operand Single data byte  
Data  
None  
Returned  
Opcode $19  
Command Sequence  
FROM  
HOST  
Data  
Data  
IWRITE  
ECHO  
IWRITE  
10-mon08sp_1p  
MC68HC708XL36  
166  
MON  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
MON  
Functional Description  
A sequence of IREAD or IWRITE commands can access a block of  
memory sequentially over the full 64-Kbyte memory map.  
Table 7. READSP (Read Stack Pointer) Command  
Description Reads stack pointer  
Operand None  
Returns incremented stack pointer value (SP + 1) in high byte:low  
byte order.  
Data  
Returned  
Opcode $0C  
Command Sequence  
FROM  
HOST  
SP  
High  
SP  
Low  
READSP  
READSP  
ECHO  
RETURN  
Table 8. RUN (Run User Program) Command  
Description Executes PULH and RTI instructions  
Operand None  
Data  
None  
Returned  
Opcode $28  
Command Sequence  
FROM  
HOST  
RUN  
RUN  
ECHO  
11-mon08sp_1p  
MC68HC708XL36  
167  
MOTOROLA  
MON  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
MON  
The MCU executes the SWI and PSHH instructions when it enters  
monitor mode. The RUN command tells the MCU to execute the PULH  
and RTI instructions. Before sending the RUN command, the host can  
modify the stacked CPU registers to prepare to run the host program.  
The READSP command returns the incremented stack pointer value,  
SP + 1. The high and low bytes of the program counter are at addresses  
SP + 5 and SP + 6.  
SP  
HIGH BYTE OF INDEX REGISTER  
CONDITION CODE REGISTER  
ACCUMULATOR  
SP + 1  
SP + 2  
SP + 3  
SP + 4  
SP + 5  
SP + 6  
SP + 7  
LOW BYTE OF INDEX REGISTER  
HIGH BYTE OF PROGRAM COUNTER  
LOW BYTE OF PROGRAM COUNTER  
Figure 6. Stack Pointer at Monitor Mode Entry  
12-mon08sp_1p  
MC68HC708XL36  
168  
MON  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
MON  
Security  
Se c urity  
A security feature discourages unauthorized reading of EPROM  
locations while in monitor mode. The host can bypass the security  
feature at monitor mode entry by sending eight security bytes that match  
the bytes at locations $FFF6–$FFFD. Locations $FFF6–$FFFD contain  
user-defined data.  
NOTE: Do not leave locations $FFF6–$FFFD blank. For security reasons,  
program locations $FFF6–$FFFD even if they are not used for vectors.  
During monitor mode entry, the MCU waits after the power-on reset for  
the host to send the eight security bytes on pin PA0.  
V
DD  
4096 + 32 CGMXCLK CYCLES  
24 CGMXCLK CYCLES  
RST  
PA7  
256 CGMXCLK CYCLES (ONE BIT TIME)  
FROM HOST  
FROM MCU  
PA0  
1
1
4
1
4
2
1
NOTE: 1 = Echo delay (2 bit times)  
2 = Data return delay (2 bit times)  
4 = Wait 1 bit time before sending next byte.  
Figure 7. Monitor Mode Entry Timing  
13-mon08sp_1p  
MC68HC708XL36  
169  
MOTOROLA  
MON  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
MON  
If the received bytes match those at locations $FFF6–$FFFD, the host  
bypasses the security feature and can read all EPROM locations and  
execute code from EPROM. Security remains bypassed until a power-on  
reset occurs. After the host bypasses security, any reset other than a  
power-on reset requires the host to send another eight bytes. If the reset  
was not a power-on reset, security remains bypassed regardless of the  
data that the host sends.  
If the received bytes do not match the data at locations $FFF6–$FFFD,  
the host fails to bypass the security feature. The MCU remains in monitor  
mode, but reading EPROM locations returns undefined data, and trying  
to execute code from EPROM causes an illegal address reset. After the  
host fails to bypass security, any reset other than a power-on reset  
causes an endless loop of illegal address resets.  
After receiving the eight security bytes from the host, the MCU transmits  
a break character signalling that it is ready to receive a command.  
NOTE: The MCU does not transmit a break character until after the host sends  
the eight security bytes.  
14-mon08sp_1p  
MC68HC708XL36  
170  
MON  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Tim e r Inte rfa c e Mod ule  
TIM  
Conte nts  
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .172  
Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .172  
Pin Name Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .173  
Functional Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .173  
TIM Counter Prescaler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .177  
Input Capture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .177  
Output Compare . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .177  
Unbuffered Output Compare. . . . . . . . . . . . . . . . . . . . . . . . . . . . .177  
Buffered Output Compare. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .178  
Pulse Width Modulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .179  
Unbuffered PWM Signal Generation. . . . . . . . . . . . . . . . . . . . . . .180  
Buffered PWM Signal Generation. . . . . . . . . . . . . . . . . . . . . . . . .181  
PWM Initialization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .182  
Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .183  
Low-Power Modes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .184  
Wait Mode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .184  
Stop Mode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .184  
TIM During Break Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .185  
I/O Signals. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .186  
TIM Clock Pin (TCLK) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .186  
TIM Channel I/O Pins (TCH0–TCH3) . . . . . . . . . . . . . . . . . . . . . .186  
I/O Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .187  
TIM Status and Control Register. . . . . . . . . . . . . . . . . . . . . . . . . .188  
TIM DMA Select Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .190  
TIM Counter Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .191  
TIM Counter Modulo Registers . . . . . . . . . . . . . . . . . . . . . . . . . . .192  
TIM Channel Status and Control Registers. . . . . . . . . . . . . . . . . .192  
1-tim4_b  
MC68HC708XL36  
MOTOROLA  
TIM  
171  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
TIM  
TIM Channel 0 Status and Control Register . . . . . . . . . . . . . . .193  
TIM Channel 1 Status and Control Register . . . . . . . . . . . . . . .193  
TIM Channel 2 Status and Control Register . . . . . . . . . . . . . . .193  
TIM Channel 3 Status and Control Register . . . . . . . . . . . . . . .194  
TIM Channel Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .199  
Introd uc tion  
The TIM is a 4-channel timer that provides a timing reference with input  
capture, output compare, and pulse-width-modulation functions. Figure  
1 is a block diagram of the TIM.  
Fe a ture s  
Features of the TIM include the following:  
Four Input Capture/Output Compare Channels  
– Rising-Edge, Falling-Edge, or Any-Edge Input Capture Trigger  
– Set, Clear, or Toggle Output Compare Action  
Buffered and Unbuffered Pulse Width Modulation (PWM) Signal  
Generation  
Programmable TIM Clock Input  
– 7-Frequency Internal Bus Clock Prescaler Selection  
– External TIM Clock Input (4-MHz Maximum Frequency)  
Free-Running or Modulo Up-Count Operation  
Toggle Any Channel Pin on Overflow  
TIM Counter Stop and Reset Bits  
DMA Service Request Generation  
Modular Architecture Expandable to Eight Channels  
2-tim4_b  
MC68HC708XL36  
172  
TIM  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
TIM  
Pin Name Conventions  
Pin Na m e Conve ntions  
The generic names of the TIM I/O pins are:  
TCLK (TIM external clock input pin)  
TCH0 (TIM channel 0 I/O pin)  
TCH1 (TIM channel 1 I/O pin)  
TCH2 (TIM channel 2 I/O pin)  
TCH3 (TIM channel 3 I/O pin)  
TIM pins are shared by parallel I/O ports. The full name of a TIM pin  
reflects the name of the shared port pin. The generic pin names appear  
in the text that follows. Table 1 shows the full names of the TIM I/O pins.  
Table 1. Pin Name Conventions  
Generic  
Pin Names  
TCLK  
TCH0  
TCH1  
TCH2  
TCH3  
Full  
Pin Names  
PE3/TCLK PE4/TCH0 PE5/TCH1 PE6/TCH2 PE7/TCH3  
Func tiona l De sc rip tion  
Figure 1 shows the structure of the TIM. The central component of the  
TIM is the 16-bit TIM counter that can operate as a free-running counter  
or a modulo up-counter. The TIM counter provides the timing reference  
for the input capture and output compare functions. The TIM counter  
modulo registers, TMODH:TMODL, control the modulo value of the TIM  
counter. Software can read the TIM counter value at any time without  
affecting the counting sequence.  
The four TIM channels are programmable independently as input  
capture or output compare channels.  
3-tim4_b  
MC68HC708XL36  
MOTOROLA  
TIM  
173  
For More Information On This Product,  
Go to: www.freescale.com  
 
Freescale Semiconductor, Inc.  
TIM  
TCLK  
PRESCALER SELECT  
INTERNAL  
BUS CLOCK  
PRESCALER  
TSTOP  
TRST  
PS2  
PS1  
PS0  
16-BIT COUNTER  
INTER-  
RUPT  
LOGIC  
TOF  
TOIE  
16-BIT COMPARATOR  
TMODH:TMODL  
TOV0  
ELS0B  
ELS0A  
PORT  
CHANNEL 0  
16-BIT COMPARATOR  
TCH0H:TCH0L  
CH0MAX  
TCH0  
TCH1  
TCH2  
TCH3  
LOGIC  
CH0F  
INTER-  
RUPT  
LOGIC  
16-BIT LATCH  
DMA0S  
CH0IE  
MS0A  
MS0B  
CH1F  
TOV1  
ELS1B  
ELS1A  
PORT  
LOGIC  
CHANNEL 1  
16-BIT COMPARATOR  
TCH1H:TCH1L  
CH1MAX  
INTER-  
RUPT  
LOGIC  
16-BIT LATCH  
DMA1S  
CH1IE  
MS1A  
TOV2  
ELS2B  
ELS2A  
PORT  
LOGIC  
CHANNEL 2  
16-BIT COMPARATOR  
TCH2H:TCH2L  
CH2MAX  
CH2F  
MS2B  
INTER-  
RUPT  
LOGIC  
16-BIT LATCH  
DMA2S  
CH2IE  
MS2A  
TOV3  
ELS3B  
ELS3A  
PORT  
LOGIC  
CHANNEL 3  
16-BIT COMPARATOR  
TCH3H:TCH3L  
CH3MAX  
CH3F  
INTER-  
RUPT  
LOGIC  
16-BIT LATCH  
DMA3S  
CH3IE  
MS3A  
Figure 1. TIM Block Diagram  
4-tim4_b  
MC68HC708XL36  
174  
TIM  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
TIM  
Functional Description  
Register Name  
Bit 7  
TOF  
0
0
0
6
5
4
3
0
2
PS2  
0
1
PS1  
0
Bit 0  
PS0  
0
Read:  
Write:  
Reset:  
Read:  
0
TRST  
0
TOIE  
TSTOP  
TIM Status and Control Register  
(TSC)  
0
0
1
0
0
0
DMA3S DMA2S DMA1S DMA0S  
TIM DMA Select Register (TDMA) Write:  
Reset:  
0
0
14  
0
13  
0
12  
0
11  
0
10  
0
9
0
Bit 8  
Read: Bit 15  
Write:  
TIM Counter Register High  
(TCNTH)  
Reset:  
0
0
6
0
5
0
4
0
3
0
2
0
1
0
Bit 0  
Read: Bit 7  
TIM Counter Register Low (TCNTL Write:  
Reset:  
0
Bit 15  
1
0
0
13  
1
0
12  
1
0
0
0
0
Bit 8  
1
Read:  
Write:  
(TMODH)  
14  
11  
10  
9
TIM Counter Modulo Register High  
Reset:  
1
1
1
1
Read:  
Write:  
Reset:  
Read: CH0F  
Write:  
Reset:  
Read:  
Write:  
Reset:  
Read:  
Write:  
Reset:  
Bit 7  
1
6
1
5
4
3
2
1
Bit 0  
1
TIM Counter Modulo Register Low  
(TMODL)  
1
1
1
ELS0B  
0
1
ELS0A  
0
1
TOV0  
0
CH0IE  
0
MS0B  
0
MS0A  
0
CH0MAX  
0
TIM Channel 0 Status and Control  
Register (TSC0)  
0
0
Bit 15  
14  
13  
12  
11  
10  
9
Bit 8  
TIM Channel 0 Register High  
(TCH0H)  
Indeterminate after Reset  
Bit 7  
6
5
0
4
3
2
1
Bit 0  
TIM Channel 0 Register Low  
(TCH0L)  
Indeterminate after Reset  
Read: CH1F  
CH1IE  
0
MS1A  
0
ELS1B  
ELS1A  
TOV1  
CH1MAX  
TIM Channel 1 Status and Control  
Register (TSC1)  
Write:  
Reset:  
Read:  
Write:  
Reset:  
Read:  
Write:  
Reset:  
0
0
0
0
0
0
9
0
Bit 15  
14  
13  
12  
11  
10  
Bit 8  
TIM Channel 1 Register High  
(TCH1H)  
Indeterminate after Reset  
Bit 7  
6
5
4
3
2
1
Bit 0  
TIM Channel 1 Register Low  
(TCH1L)  
Indeterminate after Reset  
Read: CH2F  
CH2IE  
0
MS2B  
0
MS2A  
0
ELS2B  
ELS2A  
TOV2  
CH2MAX  
TIM Channel 2 Status and Control  
Register (TSC2)  
Write:  
Reset:  
Read:  
Write:  
Reset:  
0
0
0
0
0
9
0
Bit 15  
14  
13  
12  
11  
10  
Bit 8  
TIM Channel 2 Register High  
(TCH2H)  
Indeterminate after Reset  
= Unimplemented  
Figure 2. I/O Register Summary  
5-tim4_b  
MC68HC708XL36  
175  
MOTOROLA  
TIM  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
TIM  
Register Name  
Bit 7  
6
5
4
3
2
1
Bit 0  
Read:  
Write:  
Reset:  
Bit 7  
6
5
4
3
2
1
Bit 0  
TIM Channel 2 Register Low  
(TCH2L)  
Indeterminate after Reset  
Read: CH3F  
0
CH3IE  
0
MS3A  
0
ELS3B  
ELS3A  
TOV3  
CH3MAX  
TIM Channel 3 Status and Control  
Register (TSC3)  
Write:  
Reset:  
Read:  
Write:  
Reset:  
Read:  
Write:  
Reset:  
0
0
0
0
0
0
9
0
Bit 15  
14  
13  
12  
11  
10  
Bit 8  
TIM Channel 3 Register High  
(TCH3H)  
Indeterminate after Reset  
Bit 7  
6
5
4
3
2
1
Bit 0  
TIM Channel 3 Register Low  
(TCH3L)  
Indeterminate after Reset  
= Unimplemented  
Figure 2. I/O Register Summary  
Table 2. I/O Register Address Summary  
Register  
TSC  
TDMA TCNTH TCNTL TMODH TMODL TSC0 TCH0H TCH0L TSC1  
$0021 $0022 $0023 $0024 $0025 $0026 $0027 $0028 $0029  
Address $0020  
Register TCH1H TCH1L TSC2 TCH2H TCH2L TSC3 TCH3H TCH3L  
Address $002A $002B $002C $002D $002E $002F $0030  
$0031  
6-tim4_b  
MC68HC708XL36  
176  
TIM  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
TIM  
Functional Description  
TIM Counte r  
Pre sc a le r  
The TIM clock source can be one of the seven prescaler outputs or the  
TIM clock pin, TCLK. The prescaler generates seven clock rates from  
the internal bus clock. The prescaler select bits, PS[2:0], in the TIM  
status and control register select the TIM clock source.  
Inp ut Ca p ture  
With the input capture function, the TIM can capture the time at which an  
external event occurs. When an active edge occurs on the pin of an input  
capture channel, the TIM latches the contents of the TIM counter into the  
TIM channel registers, TCHxH:TCHxL. The polarity of the active edge is  
programmable. Input capture latency can be up to three bus clock  
cycles. Input captures can generate TIM CPU interrupt requests or  
TIM DMA service requests.  
Outp ut Com p a re  
With the output compare function, the TIM can generate a periodic pulse  
with a programmable polarity, duration, and frequency. When the  
counter reaches the value in the registers of an output compare channel,  
the TIM can set, clear, or toggle the channel pin. Output compares can  
generate TIM CPU interrupt requests or TIM DMA service requests.  
Unb uffe re d  
Outp ut Com p a re  
Any output compare channel can generate unbuffered output compare  
pulses as described in Output Compare. The pulses are unbuffered  
because changing the output compare value requires writing the new  
value over the old value currently in the TIM channel registers.  
An unsynchronized write to the TIM channel registers to change an  
output compare value could cause incorrect operation for up to two  
counter overflow periods. For example, writing a new value before the  
counter reaches the old value but after the counter reaches the new  
value prevents any compare during that counter overflow period. Also,  
using a TIM overflow interrupt routine to write a new, smaller output  
compare value may cause the compare to be missed. The TIM may pass  
the new value before it is written.  
7-tim4_b  
MC68HC708XL36  
MOTOROLA  
TIM  
177  
For More Information On This Product,  
Go to: www.freescale.com  
 
Freescale Semiconductor, Inc.  
TIM  
Use the following methods to synchronize unbuffered changes in the  
output compare value on channel x:  
When changing to a smaller value, enable channel x output  
compare interrupts and write the new value in the output compare  
interrupt routine. The output compare interrupt occurs at the end  
of the current output compare pulse. The interrupt routine has until  
the end of the counter overflow period to write the new value.  
When changing to a larger output compare value, enable  
channel x TIM overflow interrupts and write the new value in the  
TIM overflow interrupt routine. The TIM overflow interrupt occurs  
at the end of the current counter overflow period. Writing a larger  
value in an output compare interrupt routine (at the end of the  
current pulse) could cause two output compares to occur in the  
same counter overflow period.  
Buffe re d Outp ut  
Com p a re  
Channels 0 and 1 can be linked to form a buffered output compare  
channel whose output appears on the TCH0 pin. The TIM channel  
registers of the linked pair alternately control the output.  
Setting the MS0B bit in TIM channel 0 status and control register (TSC0)  
links channel 0 and channel 1. The output compare value in the TIM  
channel 0 registers initially controls the output on the TCH0 pin. Writing  
to the TIM channel 1 registers enables the TIM channel 1 registers to  
synchronously control the output after the TIM overflows. At each  
subsequent overflow, the TIM channel registers (0 or 1) that control the  
output are the ones written to last. TSC0 controls and monitors the  
buffered output compare function, and TIM channel 1 status and control  
register (TSC1) is unused. While the MS0B bit is set, the channel 1 pin,  
TCH1, is available as a general-purpose I/O pin.  
Channels 2 and 3 can be linked to form a buffered output compare  
channel whose output appears on the TCH2 pin. The TIM channel  
registers of the linked pair alternately control the output.  
Setting the MS2B bit in TIM channel 2 status and control register (TSC2)  
links channel 2 and channel 3. The output compare value in the TIM  
channel 2 registers initially controls the output on the TCH2 pin. Writing  
8-tim4_b  
MC68HC708XL36  
178  
TIM  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
TIM  
Functional Description  
to the TIM channel 3 registers enables the TIM channel 3 registers to  
synchronously control the output after the TIM overflows. At each  
subsequent overflow, the TIM channel registers (2 or 3) that control the  
output are the ones written to last. TSC2 controls and monitors the  
buffered output compare function, and TIM channel 3 status and control  
register (TSC3) is unused. While the MS2B bit is set, the channel 3 pin,  
TCH3, is available as a general-purpose I/O pin.  
NOTE: In buffered output compare operation, do not write new output compare  
values to the currently active channel registers. Writing to the active  
channel registers is the same as generating unbuffered output  
compares.  
Pulse Wid th  
Mod ula tion  
By using the toggle-on-overflow feature with an output compare  
channel, the TIM can generate a PWM signal. The value in the TIM  
counter modulo registers determines the period of the PWM signal. The  
channel pin toggles when the counter reaches the value in the TIM  
counter modulo registers. The time between overflows is the period of  
the PWM signal.  
As Figure 3 shows, the output compare value in the TIM channel  
registers determines the pulse width of the PWM signal. The time  
between overflow and output compare is the pulse width. Program the  
TIM to clear the channel pin on output compare if the state of the PWM  
pulse is logic 1. Program the TIM to set the pin if the state of the PWM  
pulse is logic 0.  
OVERFLOW  
OVERFLOW  
OVERFLOW  
PERIOD  
PULSE  
WIDTH  
TCHx  
OUTPUT  
COMPARE  
OUTPUT  
COMPARE  
OUTPUT  
COMPARE  
Figure 3. PWM Period and Pulse Width  
9-tim4_b  
MC68HC708XL36  
179  
MOTOROLA  
TIM  
For More Information On This Product,  
Go to: www.freescale.com  
 
 
Freescale Semiconductor, Inc.  
TIM  
The value in the TIM counter modulo registers and the selected  
prescaler output determines the frequency of the PWM output. The  
frequency of an 8-bit PWM signal is variable in 256 increments. Writing  
$00FF (255) to the TIM counter modulo registers produces a PWM  
period of 256 times the internal bus clock period if the prescaler select  
value is $000. See TIM Status and Control Register on page 188.  
The value in the TIM channel registers determines the pulse width of the  
PWM output. The pulse width of an 8-bit PWM signal is variable in 256  
increments. Writing $0080 (128) to the TIM channel registers produces  
a duty cycle of 128/256 or 50%.  
Unb uffe re d PWM  
Sig na l Ge ne ra tion  
Any output compare channel can generate unbuffered PWM pulses as  
described in Pulse Width Modulation on page 179. The pulses are  
unbuffered because changing the pulse width requires writing the new  
pulse width value over the old value currently in the TIM channel  
registers.  
An unsynchronized write to the TIM channel registers to change a pulse  
width value could cause incorrect operation for up to two PWM periods.  
For example, writing a new value before the counter reaches the old  
value but after the counter reaches the new value prevents any compare  
during that PWM period. Also, using a TIM overflow interrupt routine to  
write a new, smaller pulse width value may cause the compare to be  
missed. The TIM may pass the new value before it is written.  
Use the following methods to synchronize unbuffered changes in the  
PWM pulse width on channel x:  
When changing to a shorter pulse width, enable channel x output  
compare interrupts and write the new value in the output compare  
interrupt routine. The output compare interrupt occurs at the end  
of the current pulse. The interrupt routine has until the end of the  
PWM period to write the new value.  
When changing to a longer pulse width, enable channel x TIM  
overflow interrupts and write the new value in the TIM overflow  
interrupt routine. The TIM overflow interrupt occurs at the end of  
10-tim4_b  
MC68HC708XL36  
180  
TIM  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
TIM  
Functional Description  
the current PWM period. Writing a larger value in an output  
compare interrupt routine (at the end of the current pulse) could  
cause two output compares to occur in the same PWM period.  
NOTE: In PWM signal generation, do not program the PWM channel to toggle  
on output compare. Toggling on output compare prevents reliable 0%  
duty cycle generation and removes the ability of the channel to  
self-correct in the event of software error or noise. Toggling on output  
compare also can cause incorrect PWM signal generation when  
changing the PWM pulse width to a new, much larger value.  
Buffe re d PWM  
Sig na l Ge ne ra tion  
Channels 0 and 1 can be linked to form a buffered PWM channel whose  
output appears on the TCH0 pin. The TIM channel registers of the linked  
pair alternately control the pulse width of the output.  
Setting the MS0B bit in TIM channel 0 status and control register (TSC0)  
links channel 0 and channel 1. The TIM channel 0 registers initially  
control the pulse width on the TCH0 pin. Writing to the TIM channel 1  
registers enables the TIM channel 1 registers to synchronously control  
the pulse width at the beginning of the next PWM period. At each  
subsequent overflow, the TIM channel registers (0 or 1) that control the  
pulse width are the ones written to last. TSC0 controls and monitors the  
buffered PWM function, and TIM channel 1 status and control register  
(TSC1) is unused. While the MS0B bit is set, the channel 1 pin, TCH1,  
is available as a general-purpose I/O pin.  
Channels 2 and 3 can be linked to form a buffered PWM channel whose  
output appears on the TCH2 pin. The TIM channel registers of the linked  
pair alternately control the pulse width of the output.  
Setting the MS2B bit in TIM channel 2 status and control register (TSC2)  
links channel 2 and channel 3. The TIM channel 2 registers initially  
control the pulse width on the TCH2 pin. Writing to the TIM channel 3  
registers enables the TIM channel 3 registers to synchronously control  
the pulse width at the beginning of the next PWM period. At each  
subsequent overflow, the TIM channel registers (2 or 3) that control the  
pulse width are the ones written to last. TSC2 controls and monitors the  
buffered PWM function, and TIM channel 3 status and control register  
(TSC3) is unused. While the MS2B bit is set, the channel 3 pin, TCH3,  
is available as a general-purpose I/O pin.  
11-tim4_b  
MC68HC708XL36  
MOTOROLA  
TIM  
181  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
TIM  
NOTE: In buffered PWM signal generation, do not write new pulse width values  
to the currently active channel registers. Writing to the active channel  
registers is the same as generating unbuffered PWM signals.  
PWM Initia liza tion  
To ensure correct operation when generating unbuffered or buffered  
PWM signals, use the following initialization procedure:  
1. In the TIM status and control register (TSC):  
a. Stop the TIM counter by setting the TIM stop bit, TSTOP.  
b. Reset the TIM counter by setting the TIM reset bit, TRST.  
2. In the TIM counter modulo registers (TMODH:TMODL), write the  
value for the required PWM period.  
3. In the TIM channel x registers (TCHxH:TCHxL), write the value for  
the required pulse width.  
4. In TIM channel x status and control register (TSCx):  
a. Write 0:1 (for unbuffered output compare or PWM signals) or  
1:0 (for buffered output compare or PWM signals) to the mode  
select bits, MSxB:MSxA. See Table 4 on page 197.  
b. Write 1 to the toggle-on-overflow bit, TOVx.  
c. Write 1:0 (to clear output on compare) or 1:1 (to set output on  
compare) to the edge/level select bits, ELSxB:ELSxA. The  
output action on compare must force the output to the  
complement of the pulse width level. See Table 4 on page  
197.  
NOTE: In PWM signal generation, do not program the PWM channel to toggle  
on output compare. Toggling on output compare prevents reliable 0%  
duty cycle generation and removes the ability of the channel to  
self-correct in the event of software error or noise. Toggling on output  
compare can also cause incorrect PWM signal generation when  
changing the PWM pulse width to a new, much larger value.  
5. In the TIM status control register (TSC), clear the TIM stop bit,  
TSTOP.  
12-tim4_b  
MC68HC708XL36  
182  
TIM  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
TIM  
Interrupts  
Setting MS0B links channels 0 and 1 and configures them for buffered  
PWM operation. The TIM channel 0 registers (TCH0H:TCH0L) initially  
control the buffered PWM output. TIM status control register 0 (TSCR0)  
controls and monitors the PWM signal from the linked channels. MS0B  
takes priority over MS0A.  
Setting MS2B links channels 2 and 3 and configures them for buffered  
PWM operation. The TIM channel 2 registers (TCH2H:TCH2L) initially  
control the PWM output. TIM status control register 2 (TSCR2) controls  
and monitors the PWM signal from the linked channels. MS2B takes  
priority over MS2A.  
Clearing the toggle-on-overflow bit, TOVx, inhibits output toggles on TIM  
overflows. Subsequent output compares try to force the output to a state  
it is already in and have no effect. The result is a 0% duty cycle output.  
Setting the channel x maximum duty cycle bit (CHxMAX) and clearing  
the TOVx bit generates a 100% duty cycle output. See TIM Channel  
Status and Control Registers on page 192.  
Inte rrup ts  
The following TIM sources can generate interrupt requests:  
TIM overflow flag (TOF) — The TOF bit is set when the TIM  
counter value rolls over to $0000 after matching the value in the  
TIM counter modulo registers. The TIM overflow interrupt enable  
bit, TOIE, enables TIM overflow CPU interrupt requests. TOF and  
TOIE are in the TIM status and control register.  
TIM channel flags (CH3F–CH0F) — The CHxF bit is set when an  
input capture or output compare occurs on channel x. Channel x  
TIM CPU interrupt requests and TIM DMA service requests are  
controlled by the channel x interrupt enable bit, CHxIE, and the  
channel x DMA select bit, DMAxS. Channel x TIM CPU interrupt  
requests are enabled when CHxIE:DMAxS = 1:0. Channel x  
TIM DMA service requests are enabled when CHxIE:DMAxS =  
1:1. CHxF and CHxIE are in the TIM channel x status and control  
register. DMAxS is in the TIM DMA select register.  
13-tim4_b  
MC68HC708XL36  
MOTOROLA  
TIM  
183  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
TIM  
Low-Powe r Mod e s  
The WAIT and STOP instructions put the MCU in low-power-consump-  
tion standby modes.  
Wa it Mod e  
The TIM remains active in wait mode. Any enabled CPU interrupt  
request from the TIM can bring the MCU out of wait mode.  
If TIM functions are not required during wait mode, reduce power  
consumption by stopping the TIM before executing the WAIT instruction.  
The DMA can service the TIM without exiting wait mode.  
Stop Mod e  
The TIM is inactive in stop mode. The STOP instruction does not affect  
register states or the state of the TIM counter. TIM operation resumes  
when the MCU exits stop mode after an external interrupt.  
14-tim4_b  
MC68HC708XL36  
184  
TIM  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
TIM  
TIM During Break Interrupts  
TIM During Bre a k Inte rrup ts  
A break interrupt stops the TIM counter.  
The BCFE bit in the break flag control register (BFCR) enables software  
to clear status bits during the break state. See Break Module on page  
149.  
To allow software to clear status bits during a break interrupt, write a  
logic 1 to the BCFE bit. If a status bit is cleared during the break state, it  
remains cleared when the MCU exits the break state.  
To protect status bits during the break state, write a logic 0 to the BCFE  
bit. With BCFE at logic 0 (its default state), software can read and write  
I/O registers during the break state without affecting status bits. Some  
status bits have a two-step read/write clearing procedure. If software  
does the first step on such a bit before the break, the bit cannot change  
during the break state as long as BCFE is at logic 0. After the break,  
doing the second step clears the status bit.  
15-tim4_b  
MC68HC708XL36  
MOTOROLA  
TIM  
185  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
TIM  
I/ O Sig na ls  
Port E shares five of its pins with the TIM. TCLK is an external clock input  
to the TIM prescaler. The four TIM channel I/O pins are TCH0, TCH1,  
TCH2, and TCH3.  
TIM Cloc k Pin  
(TCLK)  
TCLK is an external clock input that can be the clock source for the TIM  
counter instead of the prescaled internal bus clock. Select the TCLK  
input by writing logic 1s to the three prescaler select bits, PS[2:0]. See  
TIM Status and Control Register on page 188. The minimum TCLK  
pulse width, TCLK  
or TCLK  
, is:  
hmin  
lmin  
1
------------------------------------- + tSU  
bus frequency  
The maximum TCLK frequency is:  
bus frequency ÷ 2  
TCLK is available as a general-purpose I/O pin when not used as the  
TIM clock input. When the TCLK pin is the TIM clock input, it is an input  
regardless of the state of the DDRE3 bit in data direction register E.  
TIM Cha nne l I/ O  
Pins (TCH0TCH3)  
Each channel I/O pin is programmable independently as an input  
capture pin or an output compare pin. TCH0 and TCH2 can be  
configured as buffered output compare or buffered PWM pins.  
16-tim4_b  
MC68HC708XL36  
186  
TIM  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
TIM  
I/O Registers  
I/ O Re g iste rs  
These I/O registers control and monitor operation of the TIM:  
TIM status and control register (TSC)  
TIM DMA select register (TDMA)  
TIM control registers (TCNTH:TCNTL)  
TIM counter modulo registers (TMODH:TMODL)  
TIM channel status and control registers (TSC0, TSC1, TSC2, and  
TSC3)  
TIM channel registers (TCH0H:TCH0L, TCH1H:TCH1L,  
TCH2H:TCH2L, and TCH3H:TCH3L)  
17-tim4_b  
MC68HC708XL36  
MOTOROLA  
TIM  
187  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
TIM  
TIM Sta tus a nd  
The TIM status and control register:  
Control Re g iste r  
Enables TIM overflow interrupts  
Flags TIM overflows  
Stops the TIM counter  
Resets the TIM counter  
Prescales the TIM counter clock  
Address: $0020  
Bit 7  
6
TOIE  
0
5
TSTOP  
1
4
0
3
0
2
PS2  
0
1
PS1  
0
Bit 0  
PS0  
0
Read:  
Write:  
Reset:  
TOF  
0
TRST  
0
0
0
= Unimplemented  
Figure 4. TIM Status and Control Register (TSC)  
TOF — TIM Overflow Flag Bit  
This read/write flag is set when the TIM counter resets to $0000 after  
reaching the modulo value programmed in the TIM counter modulo  
registers. Clear TOF by reading the TIM status and control register  
when TOF is set and then writing a logic 0 to TOF. If another TIM  
overflow occurs before the clearing sequence is complete, then  
writing logic 0 to TOF has no effect. Therefore, a TOF interrupt  
request cannot be lost due to inadvertent clearing of TOF. Reset  
clears the TOF bit. Writing a logic 1 to TOF has no effect.  
1 = Modulo value reached  
0 = Modulo value not reached  
TOIE — TIM Overflow Interrupt Enable Bit  
This read/write bit enables TIM overflow interrupts when the TOF bit  
becomes set. Reset clears the TOIE bit.  
1 = TIM overflow interrupts enabled  
0 = TIM overflow interrupts disabled  
18-tim4_b  
MC68HC708XL36  
188  
TIM  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
TIM  
I/O Registers  
TSTOP — TIM Stop Bit  
This read/write bit stops the TIM counter. Counting resumes when  
TSTOP is cleared. Reset sets the TSTOP bit, stopping the TIM  
counter until software clears the TSTOP bit.  
1 = TIM counter stopped  
0 = TIM counter active  
NOTE: Do not set the TSTOP bit before entering wait mode if the TIM is required  
to exit wait mode.  
TRST — TIM Reset Bit  
Setting this write-only bit resets the TIM counter and the TIM  
prescaler. Setting TRST has no effect on any other registers.  
Counting resumes from $0000. TRST is cleared automatically after  
the TIM counter is reset and always reads as logic 0. Reset clears the  
TRST bit.  
1 = Prescaler and TIM counter cleared  
0 = No effect  
NOTE: Setting the TSTOP and TRST bits simultaneously stops the TIM counter  
at a value of $0000.  
PS[2:0] — Prescaler Select Bits  
These read/write bits select either the TCLK pin or one of the seven  
prescaler outputs as the input to the TIM counter as Table 3 shows.  
Reset clears the PS[2:0] bits.  
Table 3. Prescaler Selection  
PS[2:0]  
000  
TIM Clock Source  
Internal Bus Clock  
Internal Bus Clock ÷ 2  
Internal Bus Clock ÷ 4  
Internal Bus Clock ÷ 8  
Internal Bus Clock ÷ 16  
Internal Bus Clock ÷ 32  
Internal Bus Clock ÷ 64  
TCLK  
001  
010  
011  
100  
101  
110  
111  
19-tim4_b  
MC68HC708XL36  
189  
MOTOROLA  
TIM  
For More Information On This Product,  
Go to: www.freescale.com  
 
Freescale Semiconductor, Inc.  
TIM  
TIM DMA Se le c t  
Re g iste r  
The TIM DMA select register enables either TIM CPU interrupt requests  
or TIM DMA service requests.  
Address: $0021  
Bit 7  
0
6
0
5
0
4
0
3
2
1
Bit 0  
Read:  
Write:  
Reset:  
DMA3S DMA2S DMA1S DMA0S  
0
0
0
0
0
0
0
0
= Unimplemented  
Figure 5. TIM DMA Select Register (TDMA)  
DMA3S — DMA Channel 3 Select Bit  
This read/write bit enables TIM DMA service requests on channel 3.  
Reset clears the DMA3S bit.  
1 = TIM DMA service requests enabled on channel 3  
TIM CPU interrupt requests disabled on channel 3  
0 = TIM DMA service requests disabled on channel 3  
TIM CPU interrupt requests enabled on channel 3  
DMA2S — DMA Channel 2 Select Bit  
This read/write bit enables TIM DMA service requests on channel 2.  
Reset clears the DMA2S bit.  
1 = TIM DMA service requests enabled on channel 2  
TIM CPU interrupt requests disabled on channel 2  
0 = TIM DMA service requests disabled on channel 2  
TIM CPU interrupt requests enabled on channel 2  
DMA1S — DMA Channel 1 Select Bit  
This read/write bit enables TIM DMA service requests on channel 1.  
Reset clears the DMA1S bit.  
1 = TIM DMA service requests enabled on channel 1  
TIM CPU interrupt requests disabled on channel 1  
0 = TIM DMA service requests disabled on channel 1  
TIM CPU interrupt requests enabled on channel 1  
20-tim4_b  
MC68HC708XL36  
190  
TIM  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
TIM  
I/O Registers  
DMA0S — DMA Channel 0 Select Bit  
This read/write bit enables TIM DMA service requests on channel 0.  
Reset clears the DMA0S bit.  
1 = TIM DMA service requests enabled on channel 0  
TIM CPU interrupt requests disabled on channel 0  
0 = TIM DMA service requests disabled on channel 0  
TIM CPU interrupt requests enabled on channel 0  
TIM Counte r  
Re g iste rs  
The two read-only TIM counter registers contain the high and low bytes  
of the value in the TIM counter. Reading the high byte (TCNTH) latches  
the contents of the low byte (TCNTL) into a buffer. Subsequent reads of  
TCNTH do not affect the latched TCNTL value until TCNTL is read.  
Reset clears the TIM counter registers. Setting the TIM reset bit (TRST)  
also clears the TIM counter registers.  
NOTE: If you read TCNTH during a break interrupt, be sure to unlatch TCNTL  
by reading TCNTL before exiting the break interrupt. Otherwise, TCNTL  
retains the value latched during the break.  
Address: $0022:$0023  
Bit 7  
Read: Bit 15  
Write:  
6
5
4
3
2
1
9
Bit 0  
Bit 8  
14  
13  
12  
11  
10  
Reset:  
0
0
6
6
0
5
5
0
4
4
0
3
3
0
2
2
0
1
1
0
Bit 7  
Bit 7  
Bit 0  
Bit 0  
Read:  
Write:  
Reset:  
0
0
0
0
0
0
0
0
= Unimplemented  
Figure 6. TIM Counter Registers (TCNTH:TCNTL)  
21-tim4_b  
MC68HC708XL36  
191  
MOTOROLA  
TIM  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
TIM  
TIM Counte r  
Mod ulo Re g iste rs  
The read/write TIM modulo registers contain the modulo value for the  
TIM counter. When the TIM counter reaches the modulo value, the  
overflow flag (TOF) becomes set, and the TIM counter resumes counting  
from $0000 at the next clock. Writing to the high byte (TMODH) inhibits  
the TOF bit and overflow interrupts until the low byte (TMODL) is written.  
Reset sets the TIM counter modulo registers.  
Address: $0024:$0025  
Bit 7  
6
5
4
3
2
1
9
Bit 0  
Bit 8  
Read:  
Write:  
Reset:  
Bit 15  
14  
13  
12  
11  
10  
1
1
6
1
5
1
4
1
3
1
2
1
1
1
Bit 7  
Bit 0  
Read:  
Write:  
Reset:  
Bit 7  
1
6
1
5
1
4
1
3
1
2
1
1
1
Bit 0  
1
Figure 7. TIM Counter Modulo Registers (TMODH:TMODL)  
NOTE: Reset the TIM counter before writing to the TIM counter modulo registers.  
TIM Cha nne l Sta tus  
Each of the TIM channel status and control registers:  
a nd Control  
Re g iste rs  
Flags input captures and output compares.  
Enables input capture and output compare interrupts.  
Selects input capture, output compare, or PWM operation.  
Selects high, low, or toggling output on output compare.  
Selects rising, falling, or any edge as the input capture trigger.  
Selects output toggling on TIM overflow.  
Selects 100% PWM duty cycle.  
Selects buffered or unbuffered output compare/PWM operation.  
22-tim4_b  
MC68HC708XL36  
192  
TIM  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
TIM  
I/O Registers  
TIM Cha nne l 0  
Sta tus a nd Co ntro l  
Re g iste r  
Address: $0026  
Bit 7  
Read: CH0F  
6
CH0IE  
0
5
MS0B  
0
4
MS0A  
0
3
ELS0B  
0
2
ELS0A  
0
1
Bit 0  
TOV0  
0
CH0MAX  
0
Write:  
Reset:  
0
0
Figure 8. TIM Channel 0 Status and Control Register (TSC0)  
TIM Cha nne l 1  
Sta tus a nd Co ntro l  
Re g iste r  
Address: $0029  
Bit 7  
Read: CH1F  
6
CH1IE  
0
5
0
4
MS1A  
0
3
ELS1B  
0
2
ELS1A  
0
1
TOV1  
0
Bit 0  
CH1MAX  
0
Write:  
Reset:  
0
0
0
= Unimplemented  
Figure 9. TIM Channel 1 Status and Control Register (TSC1)  
TIM Cha nne l 2  
Sta tus a nd Co ntro l  
Re g iste r  
Address: $002C  
Bit 7  
6
CH2IE  
0
5
MS2B  
0
4
MS2A  
0
3
ELS2B  
0
2
ELS2A  
0
1
TOV2  
0
Bit 0  
CH2MAX  
0
Read: CH2F  
Write:  
Reset:  
0
0
Figure 10. TIM Channel 2 Status and Control Register (TSC2)  
23-tim4_b  
MC68HC708XL36  
193  
MOTOROLA  
TIM  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
TIM  
TIM Cha nne l 3  
Sta tus a nd Co ntro l  
Re g iste r  
Address: $002F  
Bit 7  
Read: CH3F  
6
CH3IE  
0
5
0
4
MS3A  
0
3
ELS3B  
0
2
ELS3A  
0
1
TOV3  
0
Bit 0  
CH3MAX  
0
Write:  
Reset:  
0
0
0
= Unimplemented  
Figure 11. TIM Channel 3 Status and Control Register (TSC3)  
CHxF— Channel x Flag Bit  
When channel x is an input capture channel, this read/write bit is set  
when an active edge occurs on the channel x pin. When channel x is  
an output compare channel, CHxF is set when the value in the TIM  
counter registers matches the value in the TIM channel x registers.  
When TIM CPU interrupt requests are enabled  
(CHxIE:DMAxS = 1:0), clear CHxF by reading TIM channel x status  
and control register with CHxF set and then writing a logic 0 to CHxF.  
If another interrupt request occurs before the clearing sequence is  
complete, then writing logic 0 to CHxF has no effect. Therefore, an  
interrupt request cannot be lost due to inadvertent clearing of CHxF.  
When TIM DMA service requests are enabled (CHxIE:DMAxS = 1:1),  
clear CHxF by reading or writing to the low byte of the TIM channel x  
registers (TCHxL).  
Reset clears the CHxF bit. Writing a logic 1 to CHxF has no effect.  
1 = Input capture or output compare on channel x  
0 = No input capture or output compare on channel x  
NOTE: Reading the high byte of the timer channel x registers (TCHxH) inhibits  
the CHxF bit until the low byte (TCHxL) is read.  
24-tim4_b  
MC68HC708XL36  
194  
TIM  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
TIM  
I/O Registers  
CHxIE — Channel x Interrupt Enable Bit  
This read/write bit enables TIM CPU interrupts and TIM DMA service  
requests on channel x. The DMAxS bit in the TIM DMA select register  
selects channel x TIM DMA service requests or TIM CPU interrupt  
requests.  
NOTE: TIM DMA service requests cannot be used in buffered PWM mode. In  
buffered PWM mode, disable TIM DMA service requests by clearing the  
DMAxS bit in the TIM DMA select register.  
Reset clears the CHxIE bit.  
1 = Channel x CPU interrupt requests and DMA service requests  
enabled  
0 = Channel x CPU interrupt requests and DMA service requests  
disabled  
MSxB — Mode Select Bit B  
This read/write bit selects buffered output compare/PWM operation.  
MSxB exists only in the TIM channel 0 and TIM channel 2 status and  
control registers.  
Setting MS0B disables the channel 1 status and control register and  
reverts TCH1 to general-purpose I/O.  
Setting MS2B disables the channel 3 status and control register and  
reverts TCH3 to general-purpose I/O.  
Reset clears the MSxB bit.  
1 = Buffered output compare/PWM operation enabled  
0 = Buffered output compare/PWM operation disabled  
25-tim4_b  
MC68HC708XL36  
MOTOROLA  
TIM  
195  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
TIM  
MSxA — Mode Select Bit A  
When ELSxB:A 00, this read/write bit selects either input capture  
operation or unbuffered output compare/PWM operation. See  
Table 4.  
1 = Unbuffered output compare/PWM operation  
0 = Input capture operation  
When ELSxB:A = 00, this read/write bit selects the initial output level  
of the TCHx pin. See Table 4. Reset clears the MSxA bit.  
1 = Initial output level low  
0 = Initial output level high  
NOTE: Before changing a channel function by writing to the MSxB or MSxA bit,  
set the TSTOP and TRST bits in the TIM status and control register  
(TSC).  
26-tim4_b  
MC68HC708XL36  
196  
TIM  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
TIM  
I/O Registers  
ELSxB and ELSxA — Edge/Level Select Bits  
When channel x is an input capture channel, these read/write bits  
control the active edge-sensing logic on channel x.  
When channel x is an output compare channel, ELSxB and ELSxA  
control the channel x output behavior when an output compare  
occurs.  
When ELSxB and ELSxA are both clear, channel x is not connected  
to port E, and pin TCHx is available as a general-purpose I/O pin.  
Table 4 shows how ELSxB and ELSxA work. Reset clears the ELSxB  
and ELSxA bits.  
Table 4. Mode, Edge, and Level Selection  
MSx[B:A] ELSx[B:A]  
Mode  
Configuration  
Pin under Port Control; Initial Output Level High  
Pin under Port Control; Initial Output Level Low  
Capture on Rising Edge Only  
Capture on Falling Edge Only  
Capture on Rising or Falling Edge  
Toggle Output on Compare  
X0  
X1  
00  
00  
00  
01  
01  
01  
1X  
1X  
1X  
00  
00  
01  
10  
11  
01  
10  
11  
01  
10  
11  
Output  
Preset  
Input  
Capture  
Output  
Compare  
or PWM  
Clear Output on Compare  
Set Output on Compare  
Toggle Output on Compare  
Buffered Output  
Compare or Clear Output on Compare  
Buffered PWM  
Set Output on Compare  
NOTE: Before enabling a TIM channel register for input capture operation, make  
sure that the CHx pin is stable for at least two bus clocks.  
27-tim4_b  
MC68HC708XL36  
MOTOROLA  
TIM  
197  
For More Information On This Product,  
Go to: www.freescale.com  
 
Freescale Semiconductor, Inc.  
TIM  
TOVx — Toggle-On-Overflow Bit  
When channel x is an output compare channel, this read/write bit  
controls the behavior of the channel x output when the TIM counter  
overflows. When channel x is an input capture channel, TOVx has no  
effect. Reset clears the TOVx bit.  
1 = Channel x pin toggles on TIM counter overflow.  
0 = Channel x pin does not toggle on TIM counter overflow.  
NOTE: When TOVx is set, a TIM counter overflow takes precedence over a  
channel x output compare if both occur at the same time.  
NOTE: Reading the high byte of the timer channel x registers (TCHxH) prevents  
the channel x pin from toggling until the low byte (TCHxL) is read.  
CHxMAX — Channel x Maximum Duty Cycle Bit  
When the TOVx bit is at logic 0, setting the CHxMAX bit forces the  
duty cycle of buffered and unbuffered PWM signals to 100%. As  
Figure 12 shows, the CHxMAX bit takes effect in the cycle after it is  
set or cleared. The output stays at the 100% duty cycle level until the  
cycle after CHxMAX is cleared.  
OVERFLOW  
OVERFLOW  
OVERFLOW  
OVERFLOW  
OVERFLOW  
PERIOD  
TCHx  
OUTPUT  
COMPARE  
OUTPUT  
COMPARE  
OUTPUT  
COMPARE  
OUTPUT  
COMPARE  
CHxMAX  
Figure 12. CHxMAX Latency  
28-tim4_b  
MC68HC708XL36  
198  
TIM  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
 
Freescale Semiconductor, Inc.  
TIM  
I/O Registers  
TIM Cha nne l  
Re g iste rs  
These read/write registers contain the captured TIM counter value of the  
input capture function or the output compare value of the output  
compare function. The state of the TIM channel registers after reset is  
unknown.  
Bit 7  
6
5
4
3
2
1
9
Bit 0  
Bit 8  
Read:  
Write:  
Reset:  
Read:  
Write:  
Reset:  
Bit 15  
14  
13  
12  
11  
10  
Indeterminate after Reset  
Bit 7  
6
5
4
3
2
1
Bit 0  
Indeterminate after Reset  
Figure 13. TIM Channel Registers (TCH0H/L–TCH3H/L)  
Table 5. TIM Channel Register Address Summary  
Register TCH0H TCH0L TCH1H TCH1L TCH2H TCH2L TCH3H TCH3L  
Address $0027 $0028 $002A $002B $002D $002E $0030 $0031  
In input capture mode, reading TCHxH prevents the input capture value  
from latching into the channel registers and inhibits the CHxF bit until  
TCHxL is read.  
In output compare mode, writing to TCHxH prevents the channel x pin  
from toggling and inhibits the CHxF bit until TCHxL is written.  
MC68HC708XL36  
MOTOROLA  
TIM  
199  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
TIM  
MC68HC708XL36  
200  
TIM  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Se ria l Pe rip he ra l Inte rfa c e Mod ule  
SPI  
Conte nts  
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .202  
Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .202  
Pin Name Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .203  
Functional Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .204  
Master Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .205  
Slave Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .207  
Transmission Formats. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .208  
Clock Phase and Polarity Controls . . . . . . . . . . . . . . . . . . . . . . . .208  
Transmission Format When CPHA = 0. . . . . . . . . . . . . . . . . . . . .208  
Transmission Format When CPHA = 1. . . . . . . . . . . . . . . . . . . . .210  
Transmission Initiation Latency. . . . . . . . . . . . . . . . . . . . . . . . . . .211  
Queuing Transmission Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .213  
Error Conditions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .214  
Overflow Error. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .214  
Mode Fault Error . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .218  
Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .221  
Resetting the SPI. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .222  
Low-Power Modes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .223  
Wait Mode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .223  
Stop Mode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .224  
SPI During Break Interrupts. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .224  
I/O Signals. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .225  
MISO (Master In/Slave Out) . . . . . . . . . . . . . . . . . . . . . . . . . . . . .225  
MOSI (Master Out/Slave In) . . . . . . . . . . . . . . . . . . . . . . . . . . . . .226  
SPSCK (Serial Clock) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .226  
SS (Slave Select) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .226  
CGND (Clock Ground) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .227  
1-spi_c  
MC68HC708XL36  
MOTOROLA  
SPI  
201  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
SPI  
I/O Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .228  
SPI Control Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .228  
SPI Status and Control Register . . . . . . . . . . . . . . . . . . . . . . . . . .230  
SPI Data Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .234  
Introd uc tion  
The SPI allows full-duplex, synchronous, serial communications with  
peripheral devices.  
Fe a ture s  
Features of the SPI module include the following:  
Full-Duplex Operation  
Master and Slave Modes  
Double-Buffered Operation with Separate Transmit and Receive  
Registers  
Four Master Mode Frequencies (Maximum = Bus Frequency ÷ 2)  
Maximum Slave Mode Frequency = Bus Frequency  
Clock Ground for Reduced Radio Frequency (RF) Interference  
Serial Clock with Programmable Polarity and Phase  
Two Separately Enabled Interrupts with DMA or CPU Service:  
– SPRF (SPI Receiver Full)  
– SPTE (SPI Transmitter Empty)  
Mode Fault Error Flag with CPU Interrupt Capability  
Overflow Error Flag with CPU Interrupt Capability  
Programmable Wired-OR Mode  
2
Limited I C (Inter-Integrated Circuit) Compatibility  
2-spi_c  
MC68HC708XL36  
202  
SPI  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
SPI  
Pin Name Conventions  
Pin Na m e Conve ntions  
The generic names of the SPI I/O pins are:  
SS (slave select)  
SPSCK (SPI serial clock)  
CGND (clock ground)  
MOSI (master out slave in)  
MISO (master in slave out)  
SPI pins are shared by parallel I/O ports or have alternate functions. The  
full name of an SPI pin reflects the name of the shared port pin or the  
name of an alternate pin function. The generic pin names appear in the  
text that follows. Table 1 shows the full names of the SPI I/O pins.  
Table 1. Pin Name Conventions  
Generic  
Pin Names  
MISO  
MOSI  
SS  
SPSCK  
CGND  
Full  
Pin Names  
PF3/MISO  
PF2/MOSI  
PF0/SS  
PF1/SPSCK CGND/EV  
SS  
3-spi_c  
MC68HC708XL36  
203  
MOTOROLA  
SPI  
For More Information On This Product,  
Go to: www.freescale.com  
 
Freescale Semiconductor, Inc.  
SPI  
Func tiona l De sc rip tion  
Figure 1 shows the structure of the SPI module and Figure 2 shows the  
locations and contents of the SPI I/O registers.  
INTERNAL BUS  
TRANSMIT DATA REGISTER  
SHIFT REGISTER  
BUS CLOCK ÷ 2  
÷ 2  
MISO  
MOSI  
7
6
5
4
3
2
1
0
÷ 8  
CLOCK  
RECEIVE DATA REGISTER  
DIVIDER  
÷ 32  
PIN  
CONTROL  
LOGIC  
÷ 128  
CLOCK  
SELECT  
SPSCK  
SS  
SPMSTR  
SPE  
M
CLOCK  
LOGIC  
S
SPR1  
SPR0  
SPMSTR  
CPHA  
CPOL  
TRANSMITTER DMA SERVICE REQUEST  
TRANSMITTER CPU INTERRUPT REQUEST  
RECEIVER DMA SERVICE REQUEST  
MODFEN  
ERRIE  
SPTIE  
SPRIE  
DMAS  
SPE  
SPWOM  
SPI  
CONTROL  
RECEIVER/ERROR CPU INTERRUPT REQUEST  
SPRF  
SPTE  
OVRF  
MODF  
Figure 1. SPI Module Block Diagram  
4-spi_c  
MC68HC708XL36  
204  
SPI  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
 
Freescale Semiconductor, Inc.  
SPI  
Functional Description  
Register Name  
Bit 7  
6
5
4
3
2
1
Bit 0  
SPTIE  
0
Read:  
Write:  
Reset:  
SPI Control Register (SPCR)  
SPRIE DMAS SPMSTR CPOL  
CPHA SPWOM SPE  
0
0
1
0
0
0
0
Read: SPRF  
Write:  
OVRF  
MODF  
SPTE  
SPI Status and Control Register (SPSCR)  
SPI Data Register (SPDR)  
ERRIE  
MODFEN SPR1  
SPR0  
Reset:  
Read:  
Write:  
Reset:  
0
R7  
T7  
0
R6  
T6  
0
R5  
T5  
0
R4  
T4  
1
R3  
T3  
0
0
0
R0  
T0  
R2  
T2  
R1  
T1  
Unaffected by Reset  
= Unimplemented  
Figure 2. SPI I/O Register Summary  
Table 2. I/O Register Address Summary  
Register  
Address  
SPCR  
$0010  
SPSCR  
$0011  
SPDR  
$0012  
The SPI module allows full-duplex, synchronous, serial communication  
between the MCU and peripheral devices, including other MCUs.  
Software can poll the SPI status flags or SPI operation can be  
interrupt-driven. All SPI interrupts can be serviced by the CPU, and the  
transmitter empty (SPTE) and receiver full (SPRF) flags can also be  
configured for DMA service.  
During DMA transmissions, the DMA fetches data from memory for the  
SPI to transmit and/or the DMA stores received data in memory.  
The following paragraphs describe the operation of the SPI module.  
Ma ste r Mod e  
The SPI operates in master mode when the SPI master bit, SPMSTR, is  
set.  
NOTE: Configure the SPI modules as master or slave before enabling them.  
Enable the master SPI before enabling the slave SPI. Disable the slave  
SPI before disabling the master SPI.  
5-spi_c  
MC68HC708XL36  
MOTOROLA  
SPI  
205  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
SPI  
Only a master SPI module can initiate transmissions. Software begins  
the transmission from a master SPI module by writing to the transmit  
data register. If the shift register is empty, the byte immediately transfers  
to the shift register, setting the SPI transmitter empty bit, SPTE. The byte  
begins shifting out on the MOSI pin under the control of the serial clock.  
(See Figure 3.)  
The SPR1 and SPR0 bits control the baud rate generator and determine  
the speed of the shift register. (See SPI Status and Control Register  
on page 230.) Through the SPSCK pin, the baud rate generator of the  
master also controls the shift register of the slave peripheral.  
As the byte shifts out on the MOSI pin of the master, another byte shifts  
in from the slave on the master’s MISO pin. The transmission ends when  
the receiver full bit, SPRF, becomes set. At the same time that SPRF  
becomes set, the byte from the slave transfers to the receive data  
register. In normal operation, SPRF signals the end of a transmission.  
Software clears SPRF by reading the SPI status and control register with  
SPRF set and then reading the SPI data register. Writing to the SPI data  
register clears the SPTE bit.  
When the DMAS bit is set, the SPI status and control register does not  
have to be read to clear the SPRF bit. A read of the SPI data register by  
either the CPU or the DMA clears the SPRF bit. A write to the SPI data  
register by the CPU or by the DMA clears the SPTE bit.  
MASTER MCU  
SLAVE MCU  
MISO  
MOSI  
MISO  
MOSI  
SHIFT REGISTER  
SHIFT REGISTER  
SPSCK  
SS  
SPSCK  
SS  
BAUD RATE  
GENERATOR  
V
DD  
Figure 3. Full-Duplex Master-Slave Connections  
6-spi_c  
MC68HC708XL36  
206  
SPI  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
 
Freescale Semiconductor, Inc.  
SPI  
Functional Description  
Sla ve Mod e  
The SPI operates in slave mode when the SPMSTR bit is clear. In slave  
mode, the SPSCK pin is the input for the serial clock from the master  
MCU. Before a data transmission occurs, the SS pin of the slave SPI  
must be at logic 0. SS must remain low until the transmission is  
complete. (See Mode Fault Error on page 218.)  
In a slave SPI module, data enters the shift register under the control of  
the serial clock from the master SPI module. After a byte enters the shift  
register of a slave SPI, it transfers to the receive data register, and the  
SPRF bit is set. To prevent an overflow condition, slave software then  
must read the receive data register before another full byte enters the  
shift register.  
The maximum frequency of the SPSCK for an SPI configured as a slave  
is the bus clock speed (which is twice as fast as the fastest master  
SPSCK clock that can be generated). The frequency of the SPSCK for  
an SPI configured as a slave does not have to correspond to any SPI  
baud rate. The baud rate only controls the speed of the SPSCK  
generated by an SPI configured as a master. Therefore, the frequency  
of the SPSCK for an SPI configured as a slave can be any frequency  
less than or equal to the bus speed.  
When the master SPI starts a transmission, the data in the slave shift  
register begins shifting out on the MISO pin. The slave can load its shift  
register with a new byte for the next transmission by writing to its transmit  
data register. The slave must write to its transmit data register at least  
one bus cycle before the master starts the next transmission. Otherwise  
the byte already in the slave shift register shifts out on the MISO pin.  
Data written to the slave shift register during a transmission remains in  
a buffer until the end of the transmission.  
When the clock phase bit (CPHA) is set, the first edge of SPSCK starts  
a transmission. When CPHA is clear, the falling edge of SS starts a  
transmission. (See Transmission Formats on page 208.)  
NOTE: SPSCK must be in the proper idle state before the slave is enabled to  
prevent SPSCK from appearing as a clock edge.  
7-spi_c  
MC68HC708XL36  
MOTOROLA  
SPI  
207  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
SPI  
Tra nsm ission Form a ts  
During an SPI transmission, data is simultaneously transmitted (shifted  
out serially) and received (shifted in serially). A serial clock synchronizes  
shifting and sampling on the two serial data lines. A slave select line  
allows selection of an individual slave SPI device; slave devices that are  
not selected do not interfere with SPI bus activities. On a master SPI  
device, the slave select line can optionally be used to indicate  
multiple-master bus contention.  
Cloc k Pha se a nd  
Pola rity Controls  
Software can select any of four combinations of serial clock (SPSCK)  
phase and polarity using two bits in the SPI control register (SPCR). The  
clock polarity is specified by the CPOL control bit, which selects an  
active high or low clock and has no significant effect on the transmission  
format.  
The clock phase (CPHA) control bit selects one of two fundamentally  
different transmission formats. The clock phase and polarity should be  
identical for the master SPI device and the communicating slave device.  
In some cases, the phase and polarity are changed between  
transmissions to allow a master device to communicate with peripheral  
slaves having different requirements.  
NOTE: Before writing to the CPOL bit or the CPHA bit, disable the SPI by  
clearing the SPI enable bit (SPE).  
Tra nsm ission  
Figure 4 shows an SPI transmission in which CPHA is logic 0. The figure  
Form a t Whe n  
CPHA = 0  
should not be used as a replacement for data sheet parametric  
information.Two waveforms are shown for SPSCK: one for CPOL = 0  
and another for CPOL = 1. The diagram may be interpreted as a master  
or slave timing diagram since the serial clock (SPSCK), master in/slave  
out (MISO), and master out/slave in (MOSI) pins are directly connected  
between the master and the slave. The MISO signal is the output from  
the slave, and the MOSI signal is the output from the master. The SS line  
is the slave select input to the slave. The slave SPI drives its MISO  
output only when its slave select input (SS) is at logic 0, so that only the  
selected slave drives to the master. The SS pin of the master is not  
8-spi_c  
MC68HC708XL36  
208  
SPI  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
 
Freescale Semiconductor, Inc.  
SPI  
Transmission Formats  
shown but is assumed to be inactive. The SS pin of the master must be  
high or must be reconfigured as general-purpose I/O not affecting the  
SPI. (See Mode Fault Error on page 218.) When CPHA = 0, the first  
SPSCK edge is the MSB capture strobe. Therefore, the slave must  
begin driving its data before the first SPSCK edge, and a falling edge on  
the SS pin is used to start the slave data transmission. The slave’s SS  
pin must be toggled back to high and then low again between each byte  
transmitted as shown in Figure 5.  
SPSCK CYCLE #  
1
2
3
4
5
6
7
8
(FOR REFERENCE)  
SPSCK (CPOL = 0)  
SPSCK (CPOL =1)  
MOSI  
MSB  
BIT 6  
BIT 6  
BIT 5  
BIT 5  
BIT 4  
BIT 4  
BIT 3  
BIT 3  
BIT 2  
BIT 2  
BIT 1  
BIT 1  
LSB  
LSB  
(FROM MASTER)  
MISO  
MSB  
(FROM SLAVE)  
SS (TO SLAVE)  
CAPTURE STROBE  
Figure 4. Transmission Format (CPHA = 0)  
MISO/MOSI  
MASTER SS  
BYTE 1  
BYTE 2  
BYTE 3  
SLAVE SS  
(CPHA = 0)  
SLAVE SS  
(CPHA = 1)  
Figure 5. CPHA/SS Timing  
When CPHA = 0 for a slave, the falling edge of SS indicates the  
beginning of the transmission. This causes the SPI to leave its idle state  
and begin driving the MISO pin with the MSB of its data. Once the  
transmission begins, no new data is allowed into the shift register from  
the transmit data register. Therefore, the SPI data register of the slave  
must be loaded with transmit data before the falling edge of SS. Any data  
written after the falling edge is stored in the transmit data register and  
transferred to the shift register after the current transmission.  
9-spi_c  
MC68HC708XL36  
MOTOROLA  
SPI  
209  
For More Information On This Product,  
Go to: www.freescale.com  
 
 
Freescale Semiconductor, Inc.  
SPI  
Tra nsm ission  
Form a t Whe n  
CPHA = 1  
Figure 6 shows an SPI transmission in which CPHA is logic 1. The figure  
should not be used as a replacement for data sheet parametric  
information. Two waveforms are shown for SPSCK: one for CPOL = 0  
and another for CPOL = 1. The diagram may be interpreted as a master  
or slave timing diagram since the serial clock (SPSCK), master in/slave  
out (MISO), and master out/slave in (MOSI) pins are directly connected  
between the master and the slave. The MISO signal is the output from  
the slave, and the MOSI signal is the output from the master. The SS line  
is the slave select input to the slave. The slave SPI drives its MISO  
output only when its slave select input (SS) is at logic 0, so that only the  
selected slave drives to the master. The SS pin of the master is not  
shown but is assumed to be inactive. The SS pin of the master must be  
high or must be reconfigured as general-purpose I/O not affecting the  
SPI. (See Mode Fault Error on page 218.) When CPHA = 1, the master  
begins driving its MOSI pin on the first SPSCK edge. Therefore, the  
slave uses the first SPSCK edge as a start transmission signal. The SS  
pin can remain low between transmissions. This format may be  
preferable in systems having only one master and only one slave driving  
the MISO data line.  
SPSCK CYCLE #  
(FOR REFERENCE)  
1
2
3
4
5
6
7
8
SPSCK (CPOL = 0)  
SPSCK (CPOL =1)  
MOSI  
MSB  
MSB  
BIT 6  
BIT 6  
BIT 5  
BIT 5  
BIT 4  
BIT 4  
BIT 3  
BIT 3  
BIT 2  
BIT 2  
BIT 1  
BIT 1  
LSB  
(FROM MASTER)  
MISO  
(FROM SLAVE)  
LSB  
SS (TO SLAVE)  
CAPTURE STROBE  
Figure 6. Transmission Format (CPHA = 1)  
10-spi_c  
MC68HC708XL36  
210  
SPI  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
 
Freescale Semiconductor, Inc.  
SPI  
Transmission Formats  
When CPHA = 1 for a slave, the first edge of the SPSCK indicates the  
beginning of the transmission. This causes the SPI to leave its idle state  
and begin driving the MISO pin with the MSB of its data. Once the  
transmission begins, no new data is allowed into the shift register from  
the transmit data register. Therefore, the SPI data register of the slave  
must be loaded with transmit data before the first edge of SPSCK. Any  
data written after the first edge is stored in the transmit data register and  
transferred to the shift register after the current transmission.  
Tra nsm ission  
Initia tion La te nc y  
When the SPI is configured as a master (SPMSTR = 1), writing to the  
SPDR starts a transmission. CPHA has no effect on the delay to the start  
of the transmission, but it does affect the initial state of the SPSCK  
signal. When CPHA = 0, the SPSCK signal remains inactive for the first  
half of the first SPSCK cycle. When CPHA = 1, the first SPSCK cycle  
begins with an edge on the SPSCK line from its inactive to its active  
level. The SPI clock rate (selected by SPR1:SPR0) affects the delay  
from the write to SPDR and the start of the SPI transmission. (See  
Figure 7 on page 212.) The internal SPI clock in the master is a  
free-running derivative of the internal MCU clock. To conserve power, it  
is enabled only when both the SPE and SPMSTR bits are set. SPSCK  
edges occur halfway through the low time of the internal MCU clock.  
Since the SPI clock is free-running, it is uncertain where the write to the  
SPDR occurs relative to the slower SPSCK. This uncertainty causes the  
variation in the initiation delay shown in Figure 7. This delay is no longer  
than a single SPI bit time. That is, the maximum delay is two MCU bus  
cycles for DIV2, eight MCU bus cycles for DIV8, 32 MCU bus cycles for  
DIV32, and 128 MCU bus cycles for DIV128.  
11-spi_c  
MC68HC708XL36  
MOTOROLA  
SPI  
211  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
SPI  
WRITE  
TO SPDR  
INITIATION DELAY  
MSB  
BUS  
CLOCK  
MOSI  
BIT 6  
BIT 5  
SPSCK  
(CPHA = 1)  
SPSCK  
(CPHA = 0)  
SPSCK CYCLE  
NUMBER  
1
2
3
INITIATION DELAY FROM WRITE SPDR TO TRANSFER BEGIN  
WRITE  
TO SPDR  
BUS  
CLOCK  
SPSCK = INTERNAL CLOCK ÷ 2;  
2 POSSIBLE START POINTS  
EARLIEST LATEST  
WRITE  
TO SPDR  
BUS  
CLOCK  
EARLIEST  
SPSCK = INTERNAL CLOCK ÷ 8;  
8 POSSIBLE START POINTS  
LATEST  
LATEST  
LATEST  
WRITE  
TO SPDR  
BUS  
CLOCK  
EARLIEST  
SPSCK = INTERNAL CLOCK ÷ 32;  
32 POSSIBLE START POINTS  
WRITE  
TO SPDR  
BUS  
CLOCK  
EARLIEST  
SPSCK = INTERNAL CLOCK ÷ 128;  
128 POSSIBLE START POINTS  
Figure 7. Transmission Start Delay (Master)  
12-spi_c  
MC68HC708XL36  
212  
SPI  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
SPI  
Queuing Transmission Data  
Que uing Tra nsm ission Da ta  
The double-buffered transmit data register allows a data byte to be  
queued and transmitted. For an SPI configured as a master, a queued  
data byte is transmitted immediately after the previous transmission has  
completed. The SPI transmitter empty flag (SPTE) indicates when the  
transmit data buffer is ready to accept new data. Write to the transmit  
data register only when the SPTE bit is high. Figure 8 shows the timing  
associated with doing back-to-back transmissions with the SPI (SPSCK  
has CPHA:CPOL = 1:0).  
The transmit data buffer allows back-to-back transmissions without the  
slave precisely timing its writes between transmissions as in a system  
with a single data buffer. Also, if no new data is written to the data buffer,  
the last value contained in the shift register is the next data word to be  
transmitted.  
1
3
8
WRITE TO SPDR  
SPTE  
5
10  
2
SPSCK  
(CPHA:CPOL = 1:0)  
MOSI  
MSB BIT BIT BIT BIT BIT BIT LSB MSB BIT BIT BIT BIT BIT BIT LSB MSB BIT BIT BIT  
6
5
4
3
2
1
6
5
4
3
2
1
6
5
4
BYTE 1  
BYTE 2  
BYTE 3  
4
9
SPRF  
READ SPSCR  
READ SPDR  
6
11  
7
12  
1
2
CPU WRITES BYTE 1 TO SPDR, CLEARING SPTE BIT.  
7
8
CPU READS SPDR, CLEARING SPRF BIT.  
CPU WRITES BYTE 3 TO SPDR, QUEUEING BYTE  
3 AND CLEARING SPTE BIT.  
BYTE 1 TRANSFERS FROM TRANSMIT DATA  
REGISTER TO SHIFT REGISTER, SETTING SPTE BIT.  
9
SECOND INCOMING BYTE TRANSFERS FROM SHIFT  
REGISTER TO RECEIVE DATA REGISTER, SETTING  
SPRF BIT.  
BYTE 3 TRANSFERS FROM TRANSMIT DATA  
REGISTER TO SHIFT REGISTER, SETTING SPTE BIT.  
CPU WRITES BYTE 2 TO SPDR, QUEUEING BYTE 2  
AND CLEARING SPTE BIT.  
3
4
10  
FIRST INCOMING BYTE TRANSFERS FROM SHIFT  
REGISTER TO RECEIVE DATA REGISTER, SETTING  
SPRF BIT.  
11  
12  
CPU READS SPSCR WITH SPRF BIT SET.  
CPU READS SPDR, CLEARING SPRF BIT.  
5
6
BYTE 2 TRANSFERS FROM TRANSMIT DATA  
REGISTER TO SHIFT REGISTER, SETTING SPTE BIT.  
CPU READS SPSCR WITH SPRF BIT SET.  
Figure 8. SPRF/SPTE CPU Interrupt Timing  
13-spi_c  
MC68HC708XL36  
213  
MOTOROLA  
SPI  
For More Information On This Product,  
Go to: www.freescale.com  
 
Freescale Semiconductor, Inc.  
SPI  
For an idle master or idle slave that has no data loaded into its transmit  
buffer, the SPTE is set again no more than two bus cycles after the  
transmit buffer empties into the shift register. This allows the user to  
queue up a 16-bit value to send. For an already active slave, the load of  
the shift register cannot occur until the transmission is completed. This  
implies that a back-to-back write to the transmit data register is not  
possible. The SPTE indicates when the next write can occur.  
Error Cond itions  
The following flags signal SPI error conditions:  
Overflow (OVRF) — Failing to read the SPI data register before  
the next full byte enters the shift register sets the OVRF bit. The  
new byte does not transfer to the receive data register, and the  
unread byte still can be read. OVRF is in the SPI status and control  
register.  
Mode fault error (MODF) — The MODF bit indicates that the  
voltage on the slave select pin (SS) is inconsistent with the mode  
of the SPI. MODF is in the SPI status and control register.  
Ove rflow Error  
The overflow flag (OVRF) becomes set if the receive data register still  
has unread data from a previous transmission when the capture strobe  
of bit 1 of the next transmission occurs. The bit 1 capture strobe occurs  
in the middle of SPSCK cycle 7. (See Figure 4 on page 209 and Figure  
6 on page 210.) If an overflow occurs, all data received after the overflow  
and before the OVRF bit is cleared does not transfer to the receive data  
register and does not set the SPI receiver full bit (SPRF). The unread  
data that transferred to the receive data register before the overflow  
occurred can still be read. Therefore, an overflow error always indicates  
the loss of data. Clear the overflow flag by reading the SPI status and  
control register and then reading the SPI data register.  
14-spi_c  
MC68HC708XL36  
214  
SPI  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
SPI  
Error Conditions  
OVRF generates a receiver/error CPU interrupt request if the error  
interrupt enable bit (ERRIE) is also set. When the DMAS bit is low, the  
SPRF, MODF, and OVRF interrupts share the same CPU interrupt  
vector. When the DMAS bit is high, SPRF generates a receiver DMA  
service request, and MODF and OVRF can generate a receiver/error  
CPU interrupt request. (See Figure 12 on page 222.) It is not possible  
to enable MODF or OVRF individually to generate a receiver/error CPU  
interrupt request. However, leaving MODFEN low prevents MODF from  
being set.  
When the DMA is enabled to service the SPRF flag, it clears SPRF when  
it reads the receive data register. The OVRF bit, however, still requires  
the two-step clearing mechanism of reading the flag when it is set and  
then reading the receive data register. In this way, the DMA cannot  
directly clear the OVRF. However, if the CPU reads the SPI status and  
control register with the OVRF bit set, and then the DMA reads the  
receive data register, the OVRF bit is cleared.  
OVRF interrupt requests to the CPU should be enabled when using the  
DMA to service the SPRF if there is any chance that the overflow  
condition might occur. (See Figure 9 on page 216.) Even if the DMA  
clears the SPRF bit, no new data transfers from the shift register to the  
receive data register with the OVRF bit high. This means that no new  
SPRF interrupt requests are generated until the CPU clears the OVRF  
bit. If the CPU reads the data register to clear the OVRF bit, it could clear  
a pending SPRF service request to the DMA.  
15-spi_c  
MC68HC708XL36  
MOTOROLA  
SPI  
215  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
SPI  
BYTE 1  
1
BYTE 2  
3
BYTE 3  
4
BYTE 4  
6
BYTE 5  
SPI RECEIVE  
COMPLETE  
SPRF  
OVRF  
DMA READ  
OF SPDR  
2
5
1
4
5
6
BYTE 1 TRANSFERS FROM SHIFT  
REGISTER TO DATA REGISTER,  
SETTING SPRF BIT.  
BYTE 3 CAUSES OVERFLOW. BYTE 3 IS LOST.  
DMA READS BYTE 2, CLEARING SPRF BIT.  
2
3
DMA READS BYTE 1, CLEARING SPRF BIT.  
BYTE 4 IS LOST. NO NEW SPRF DMA SERVICE  
REQUESTS AND NO TRANSFERS TO DATA  
REGISTER UNTIL OVRF IS CLEARED.  
BYTE 2 TRANSFERS FROM SHIFT  
REGISTER TO DATA REGISTER,  
SETTING SPRF BIT.  
Figure 9. Overflow Condition with DMA Service of SPRF  
The overflow service routine may need to disable the DMA and manually  
recover since an overflow indicates the loss of data. Loss of data may  
prevent the DMA from reaching its byte count.  
If an application requires the DMA to bring the MCU out of wait mode,  
enable the OVRF bit to generate CPU interrupt requests. An overflow  
condition in wait mode can cause the MCU to hang in wait mode  
because the DMA cannot reach its byte count. Setting the error interrupt  
enable bit (ERRIE) in the SPI status and control register enables the  
OVRF bit to bring the MCU out of wait mode.  
If the CPU SPRF interrupt is enabled and the OVRF interrupt is not,  
watch for an overflow condition. Figure 10 shows how it is possible to  
miss an overflow. The first part of Figure 10 shows how it is possible to  
read the SPSCR and SPDR to clear the SPRF without problems.  
However, as illustrated by the second transmission example, the OVRF  
bit can be set in between the time that SPSCR and SPDR are read.  
16-spi_c  
MC68HC708XL36  
216  
SPI  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
SPI  
Error Conditions  
BYTE 1  
1
BYTE 2  
4
BYTE 3  
6
BYTE 4  
8
SPRF  
OVRF  
READ  
2
5
5
SPSCR  
READ  
SPDR  
3
7
1
2
BYTE 1 SETS SPRF BIT.  
CPU READS SPSCR WITH SPRF BIT SET  
AND OVRF BIT CLEAR.  
CPU READS SPSCR WITH SPRF BIT SET  
AND OVRF BIT CLEAR.  
CPU READS BYTE 1 IN SPDR,  
CLEARING SPRF BIT.  
6
7
BYTE 3 SETS OVRF BIT. BYTE 3 IS LOST.  
3
4
CPU READS BYTE 2 IN SPDR, CLEARING SPRF BIT,  
BUT NOT OVRF BIT.  
BYTE 2 SETS SPRF BIT.  
8
BYTE 4 FAILS TO SET SPRF BIT BECAUSE  
OVRF BIT IS NOT CLEARED. BYTE 4 IS LOST.  
Figure 10. Missed Read of Overflow Condition  
In this case, an overflow can easily be missed. Since no more SPRF  
interrupts can be generated until this OVRF is serviced, it is not obvious  
that bytes are being lost as more transmissions are completed. To  
prevent this, either enable the OVRF interrupt or do another read of the  
SPSCR following the read of the SPDR. This ensures that the OVRF  
was not set before the SPRF was cleared and that future transmissions  
can set the SPRF bit. Figure 11 illustrates this process. Generally, to  
avoid this second SPSCR read, enable the OVRF to the CPU by setting  
the ERRIE bit.  
17-spi_c  
MC68HC708XL36  
MOTOROLA  
SPI  
217  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
SPI  
BYTE 1  
1
BYTE 2  
5
BYTE 3  
7
BYTE 4  
11  
SPI RECEIVE  
COMPLETE  
SPRF  
OVRF  
READ  
SPSCR  
2
4
6
9
12  
14  
READ  
SPDR  
3
8
10  
13  
1
2
8
9
BYTE 1 SETS SPRF BIT.  
CPU READS BYTE 2 IN SPDR,  
CLEARING SPRF BIT.  
CPU READS SPSCR WITH SPRF BIT SET  
AND OVRF BIT CLEAR.  
CPU READS SPSCR AGAIN  
TO CHECK OVRF BIT.  
3
4
CPU READS BYTE 1 IN SPDR,  
CLEARING SPRF BIT.  
10  
CPU READS BYTE 2 SPDR,  
CLEARING OVRF BIT.  
CPU READS SPSCR AGAIN  
TO CHECK OVRF BIT.  
11  
12  
13  
BYTE 4 SETS SPRF BIT.  
CPU READS SPSCR.  
5
6
BYTE 2 SETS SPRF BIT.  
CPU READS SPSCR WITH SPRF BIT SET  
AND OVRF BIT CLEAR.  
CPU READS BYTE 4 IN SPDR,  
CLEARING SPRF BIT.  
7
BYTE 3 SETS OVRF BIT. BYTE 3 IS LOST.  
14  
CPU READS SPSCR AGAIN  
TO CHECK OVRF BIT.  
Figure 11. Clearing SPRF When OVRF Interrupt Is Not Enabled  
Mod e Fa ult Error  
Setting the SPMSTR bit selects master mode and configures the  
SPSCK and MOSI pins as outputs and the MISO pin as an input.  
Clearing SPMSTR selects slave mode and configures the SPSCK and  
MOSI pins as inputs and the MISO pin as an output. The mode fault bit,  
MODF, becomes set any time the state of the slave select pin, SS, is  
inconsistent with the mode selected by SPMSTR. To prevent SPI pin  
contention and damage to the MCU, a mode fault error occurs if:  
The SS pin of a slave SPI goes high during a transmission.  
The SS pin of a master SPI goes low at any time.  
For the MODF flag to be set, the mode fault error enable bit (MODFEN)  
must be set. Clearing the MODFEN bit does not clear the MODF flag but  
does prevent MODF from being set again after MODF is cleared.  
18-spi_c  
MC68HC708XL36  
218  
SPI  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
 
Freescale Semiconductor, Inc.  
SPI  
Error Conditions  
MODF generates a receiver/error CPU interrupt request if the error  
interrupt enable bit (ERRIE) is also set. When the DMAS bit is low, the  
SPRF, MODF, and OVRF interrupts share the same CPU interrupt  
vector. When the DMAS bit is high, SPRF generates a receiver DMA  
service request instead of a CPU interrupt request, but MODF and  
OVRF can generate a receiver/error CPU interrupt request. (See Figure  
12 on page 222.) It is not possible to enable MODF or OVRF individually  
to generate a receiver/error CPU interrupt request. However, leaving  
MODFEN low prevents MODF from being set.  
In a master SPI with the mode fault enable bit (MODFEN) set, the mode  
fault flag (MODF) is set if SS goes to logic 0. A mode fault in a master  
SPI causes the following events to occur:  
If ERRIE = 1, the SPI generates an SPI receiver/error CPU  
interrupt request.  
The SPE bit is cleared.  
The SPTE bit is set.  
The SPI state counter is cleared.  
The data direction register of the shared I/O port regains control of  
port drivers.  
NOTE: When the MODF flag is set, it does not clear the SPMSTR bit. The  
SPMSTR bit has no function when SPE = 0. Reading SPMSTR when  
MODF = 1 indicates whether the SPI was a master or a slave when  
MODF became set.  
NOTE: To prevent bus contention with another master SPI after a mode fault  
error, clear all SPI bits of the data direction register of the shared I/O port  
before enabling the SPI.  
19-spi_c  
MC68HC708XL36  
MOTOROLA  
SPI  
219  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
SPI  
When configured as a slave (SPMSTR = 0), the MODF flag is set if SS  
goes high during a transmission. When CPHA = 0, a transmission begins  
when SS goes low and ends once the incoming SPSCK goes back to its  
idle level following the shift of the eighth data bit. When CPHA = 1, the  
transmission begins when the SPSCK leaves its idle level and SS is  
already low. The transmission continues until the SPSCK returns to its  
idle level following the shift of the last data bit. (See Transmission  
Formats on page 208.)  
NOTE: When CPHA = 0, a MODF occurs if an idle slave is selected (SS is at  
logic 0) and later unselected (SS is at logic 1) even if no SPSCK is sent  
to that slave. This happens because SS at logic 0 indicates the start of  
the transmission (MISO driven out with the value of MSB) for CPHA = 0.  
When CPHA = 1, an idle slave can be selected and then later  
unselected with no transmission occurring. Therefore, MODF does not  
occur since a transmission was never begun.  
In a slave SPI (MSTR = 0), the MODF bit generates an SPI  
receiver/error CPU interrupt request if the ERRIE bit is set. The MODF  
bit does not clear the SPE bit or reset the SPI in any way. Software can  
abort the SPI transmission by clearing the SPE bit of the slave.  
NOTE: A logic 1 voltage on the SS pin of a slave SPI puts the MISO pin in a high  
impedance state. Also, the slave SPI ignores all incoming SPSCK  
clocks, even if it was already in the middle of a transmission.  
To clear the MODF flag, read the SPSCR with the MODF bit set and then  
write to the SPCR register. This entire clearing mechanism must occur  
with no MODF condition existing or else the flag is not cleared.  
20-spi_c  
MC68HC708XL36  
220  
SPI  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
SPI  
Interrupts  
Inte rrup ts  
Four SPI status flags can be enabled to generate CPU interrupt requests  
or DMA service requests:  
Table 3. SPI Interrupts  
Flag  
SPTE  
Transmitter  
Empty  
Conditions for Enabling Interrupt Request  
SPI Transmitter CPU Interrupt Request (DMAS = 0, SPTIE = 1,SPE = 1)  
SPI Transmitter DMA Service Request (DMAS = 1, SPTIE = 1, SPE = 1)  
SPRF  
Receiver  
Full  
SPI Receiver CPU Interrupt Request (DMAS = 0, SPRIE = 1)  
SPI Receiver DMA Service Request (DMAS = 1, SPRIE = 1)  
OVRF  
Overflow  
SPI Receiver/Error Interrupt Request (ERRIE = 1)  
SPI Receiver/Error Interrupt Request (ERRIE = 1)  
MODF  
Mode Fault  
The DMA select bit (DMAS) controls whether SPTE and SPRF generate  
CPU interrupt requests or DMA service requests. When DMAS = 0,  
reading the SPI status and control register with SPRF set and then  
reading the receive data register clears SPRF. When DMAS = 1, any  
read of the receive data register clears the SPRF flag. The clearing  
mechanism for the SPTE flag is always just a write to the transmit data  
register.  
The SPI transmitter interrupt enable bit (SPTIE) enables the SPTE flag  
to generate transmitter CPU interrupt requests or transmitter DMA  
service requests, provided that the SPI is enabled (SPE = 1).  
The SPI receiver interrupt enable bit (SPRIE) enables the SPRF bit to  
generate receiver CPU interrupt requests or receiver DMA service  
requests, regardless of the state of the SPE bit. (See Figure 12.)  
21-spi_c  
MC68HC708XL36  
MOTOROLA  
SPI  
221  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
SPI  
The error interrupt enable bit (ERRIE) enables both the MODF and  
OVRF bits to generate a receiver/error CPU interrupt request.  
The mode fault enable bit (MODFEN) can prevent the MODF flag from  
being set so that only the OVRF bit is enabled by the ERRIE bit to  
generate receiver/error CPU interrupt requests.  
SPI TRANSMITTER  
DMA SERVICE REQUEST  
SPTE  
SPTIE  
SPE  
SPI TRANSMITTER  
CPU INTERRUPT REQUEST  
DMAS  
SPI RECEIVER  
DMA SERVICE REQUEST  
SPRIE  
SPRF  
SPI RECEIVER/ERROR  
CPU INTERRUPT REQUEST  
ERRIE  
MODF  
OVRF  
Figure 12. SPI Interrupt Request Generation  
Re se tting the SPI  
Any system reset completely resets the SPI. Partial resets occur  
whenever the SPI enable bit (SPE) is low. Whenever SPE is low, the  
following occurs:  
The SPTE flag is set.  
Any transmission currently in progress is aborted.  
The shift register is cleared.  
22-spi_c  
MC68HC708XL36  
222  
SPI  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
 
Freescale Semiconductor, Inc.  
SPI  
Low-Power Modes  
The SPI state counter is cleared, making it ready for a new  
complete transmission.  
All the SPI port logic is defaulted back to being general purpose  
I/O.  
The following items are reset only by a system reset:  
All control bits in the SPCR register.  
All control bits in the SPSCR register (MODFEN, ERRIE, SPR1,  
and SPR0).  
The status flags SPRF, OVRF, and MODF.  
By not resetting the control bits when SPE is low, the user can clear SPE  
between transmissions without having to set all control bits again when  
SPE is set back high for the next transmission.  
By not resetting the SPRF, OVRF, and MODF flags, the user can still  
service these interrupts after the SPI has been disabled. The user can  
disable the SPI by writing 0 to the SPE bit. The SPI can also be disabled  
by a mode fault occuring in an SPI that was configured as a master with  
the MODFEN bit set.  
Low-Powe r Mod e s  
The WAIT and STOP instructions put the MCU in low-power-consump-  
tion standby modes.  
Wa it Mod e  
The SPI module remains active in wait mode. Any enabled CPU interrupt  
request from the SPI module can bring the MCU out of wait mode.  
If SPI module functions are not required during wait mode, reduce power  
consumption by disabling the SPI module before executing the WAIT  
instruction.  
The DMA can service the SPI without exiting wait mode.  
23-spi_c  
MC68HC708XL36  
MOTOROLA  
SPI  
223  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
SPI  
Stop Mod e  
The SPI module is inactive in stop mode. The STOP instruction does not  
affect SPI register states. SPI operation resumes after an external  
interrupt. If stop mode is exited by reset, any transfer in progress is  
aborted, and the SPI is reset.  
SPI During Bre a k Inte rrup ts  
The BCFE bit in the break flag control register (BFCR) enables software  
to clear status bits during the break state. (See Break Module on page  
149.)  
To allow software to clear status bits during a break interrupt, write a  
logic 1 to the BCFE bit. If a status bit is cleared during the break state, it  
remains cleared when the MCU exits the break state.  
To protect status bits during the break state, write a logic 0 to the BCFE  
bit. With BCFE at logic 0 (its default state), software can read and write  
I/O registers during the break state without affecting status bits. Some  
status bits have a two-step read/write clearing procedure. If software  
does the first step on such a bit before the break, the bit cannot change  
during the break state as long as BCFE is at logic 0. After the break,  
doing the second step clears the status bit.  
Since the SPTE bit cannot be cleared during a break with the BCFE bit  
cleared, a write to the transmit data register in break mode does not  
initiate a transmission nor is this data transferred into the shift register.  
Therefore, a write to the SPDR in break mode with the BCFE bit cleared  
has no effect.  
24-spi_c  
MC68HC708XL36  
224  
SPI  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
SPI  
I/O Signals  
I/ O Sig na ls  
The SPI module has five I/O pins and shares four of them with a parallel  
I/O port.  
MISO — Master data in, slave data out  
MOSI — Master data out, slave data in  
SPSCK — Serial clock  
SS — Slave select  
CGND — Clock ground  
2
The SPI has limited inter-integrated circuit (I C) capability (requiring  
software support) as a master in a single-master environment. To  
communicate with I C peripherals, MOSI becomes an open-drain output  
2
2
when the SPWOM bit in the SPI control register is set. In I C  
communication, the MOSI and MISO pins are connected to a  
2
bidirectional pin from the I C peripheral and through a pullup resistor to  
V
.
DD  
MISO (Ma ste r  
In/ Sla ve Out)  
MISO is one of the two SPI module pins that transmits serial data. In full  
duplex operation, the MISO pin of the master SPI module is connected  
to the MISO pin of the slave SPI module. The master SPI simultaneously  
receives data on its MISO pin and transmits data from its MOSI pin.  
Slave output data on the MISO pin is enabled only when the SPI is  
configured as a slave. The SPI is configured as a slave when its  
SPMSTR bit is logic 0 and its SS pin is at logic 0. To support a  
multiple-slave system, a logic 1 on the SS pin puts the MISO pin in a  
high-impedance state.  
When enabled, the SPI controls data direction of the MISO pin  
regardless of the state of the data direction register of the shared I/O  
port.  
25-spi_c  
MC68HC708XL36  
MOTOROLA  
SPI  
225  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
SPI  
MOSI (Ma ste r  
Out/ Sla ve In)  
MOSI is one of the two SPI module pins that transmits serial data. In full  
duplex operation, the MOSI pin of the master SPI module is connected  
to the MOSI pin of the slave SPI module. The master SPI simultaneously  
transmits data from its MOSI pin and receives data on its MISO pin.  
When enabled, the SPI controls data direction of the MOSI pin  
regardless of the state of the data direction register of the shared I/O  
port.  
SPSCK (Se ria l  
Cloc k)  
The serial clock synchronizes data transmission between master and  
slave devices. In a master MCU, the SPSCK pin is the clock output. In a  
slave MCU, the SPSCK pin is the clock input. In full duplex operation,  
the master and slave MCUs exchange a byte of data in eight serial clock  
cycles.  
When enabled, the SPI controls data direction of the SPSCK pin  
regardless of the state of the data direction register of the shared I/O  
port.  
SS (Sla ve Se le c t)  
The SS pin has various functions depending on the current state of the  
SPI. For an SPI configured as a slave, the SS is used to select a slave.  
For CPHA = 0, the SS is used to define the start of a transmission. (See  
Transmission Formats on page 208.) Since it is used to indicate the  
start of a transmission, the SS must be toggled high and low between  
each byte transmitted for the CPHA = 0 format. However, it can remain  
low between transmissions for the CPHA = 1 format. See Figure 13.  
MISO/MOSI  
MASTER SS  
BYTE 1  
BYTE 2  
BYTE 3  
SLAVE SS  
(CPHA = 0)  
SLAVE SS  
(CPHA = 1)  
Figure 13. CPHA/SS Timing  
When an SPI is configured as a slave, the SS pin is always configured  
as an input. It cannot be used as a general-purpose I/O regardless of the  
26-spi_c  
MC68HC708XL36  
226  
SPI  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
 
 
Freescale Semiconductor, Inc.  
SPI  
I/O Signals  
state of the MODFEN control bit. However, the MODFEN bit can still  
prevent the state of the SS from creating a MODF error. (See SPI Status  
and Control Register on page 230.)  
NOTE: A logic 1 voltage on the SS pin of a slave SPI puts the MISO pin in a  
high-impedance state. The slave SPI ignores all incoming SPSCK  
clocks, even if it was already in the middle of a transmission.  
When an SPI is configured as a master, the SS input can be used in  
conjunction with the MODF flag to prevent multiple masters from driving  
MOSI and SPSCK. (See Mode Fault Error on page 218.) For the state  
of the SS pin to set the MODF flag, the MODFEN bit in the SPSCK  
register must be set. If the MODFEN bit is low for an SPI master, the SS  
pin can be used as a general-purpose I/O under the control of the data  
direction register of the shared I/O port. With MODFEN high, it is an  
input-only pin to the SPI regardless of the state of the data direction  
register of the shared I/O port.  
The CPU can always read the state of the SS pin by configuring the  
appropriate pin as an input and reading the port data register. (See  
Table 4.)  
Table 4. SPI Configuration  
SPE SPMSTR  
MODFEN  
SPI Configuration  
Not Enabled  
State of SS Logic  
General-purpose I/O;  
SS ignored by SPI  
(1)  
0
1
1
1
X
X
X
0
1
0
Slave  
Input-only to SPI  
General-purpose I/O;  
SS ignored by SPI  
1
1
Master without MODF  
Master with MODF  
Input-only to SPI  
1. X = don’t care  
CGND (Cloc k  
Ground )  
CGND is the ground return for the serial clock pin, SPSCK, and the  
ground for the port output buffers. To reduce the ground return path loop  
and minimize radio frequency (RF) emissions, connect the ground pin of  
the slave to the CGND pin of the master.  
27-spi_c  
MC68HC708XL36  
MOTOROLA  
SPI  
227  
For More Information On This Product,  
Go to: www.freescale.com  
 
Freescale Semiconductor, Inc.  
SPI  
I/ O Re g iste rs  
Three registers control and monitor SPI operation:  
SPI control register (SPCR)  
SPI status and control register (SPSCR)  
SPI data register (SPDR)  
SPI Control  
Re g iste r  
The SPI control register does the following:  
Enables SPI module interrupt requests  
Selects CPU interrupt requests or DMA service requests  
Configures the SPI module as master or slave  
Selects serial clock polarity and phase  
Configures the SPSCK, MOSI, and MISO pins as open-drain  
outputs  
Enables the SPI module  
Address: $0010  
Bit 7  
6
5
4
3
2
1
SPE  
0
Bit 0  
SPTIE  
0
Read:  
SPRIE  
Write:  
DMAS SPMSTR CPOL  
CPHA SPWOM  
Reset:  
0
0
1
0
1
0
Figure 14. SPI Control Register (SPCR)  
SPRIE — SPI Receiver Interrupt Enable Bit  
This read/write bit enables CPU interrupt requests or DMA service  
requests generated by the SPRF bit. The SPRF bit is set when a byte  
transfers from the shift register to the receive data register. Reset  
clears the SPRIE bit.  
1 = SPRF CPU interrupt requests or SPRF DMA service requests  
enabled  
0 = SPRF CPU interrupt requests or SPRF DMA service requests  
disabled  
28-spi_c  
MC68HC708XL36  
228  
SPI  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
SPI  
I/O Registers  
DMAS —DMA Select Bit  
This read/write bit selects DMA service requests when:  
The SPI receiver full bit, SPRF, becomes set and the SPI receiver  
interrupt enable bit, SPIE, is also set  
The SPI transmitter empty bit, SPTE, becomes set and the SPI  
transmitter interrupt enable bit, SPTIE, is also set  
Setting the DMAS bit disables SPRF CPU interrupt requests and  
SPTE CPU interrupt requests. Reset clears the DMAS bit.  
1 = SPRF DMA and SPTE DMA service requests selected  
SPRF CPU and SPTE CPU interrupt requests disabled  
0 = SPRF DMA and SPTE DMA service requests disabled  
SPRF CPU and SPTE CPU interrupt requests selected  
SPMSTR — SPI Master Bit  
This read/write bit selects master mode operation or slave mode  
operation. Reset sets the SPMSTR bit.  
1 = Master mode  
0 = Slave mode  
CPOL — Clock Polarity Bit  
This read/write bit determines the logic state of the SPSCK pin  
between transmissions. (See Figure 4 on page 209 and Figure 6 on  
page 210.) To transmit data between SPI modules, the SPI modules  
must have identical CPOL values. Reset clears the CPOL bit.  
CPHA — Clock Phase Bit  
This read/write bit controls the timing relationship between the serial  
clock and SPI data. (See Figure 4 on page 209 and Figure 6 on page  
210.) To transmit data between SPI modules, the SPI modules must  
have identical CPHA values. When CPHA = 0, the SS pin of the slave  
SPI module must be set to logic 1 between bytes. (See Figure 13 on  
page 226.) Reset sets the CPHA bit.  
29-spi_c  
MC68HC708XL36  
MOTOROLA  
SPI  
229  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
SPI  
SPWOM — SPI Wired-OR Mode Bit  
This read/write bit disables the pullup devices on pins SPSCK, MOSI,  
and MISO so that those pins become open-drain outputs.  
1 = Wired-OR SPSCK, MOSI, and MISO pins  
0 = Normal push-pull SPSCK, MOSI, and MISO pins  
SPE — SPI Enable  
This read/write bit enables the SPI module. Clearing SPE causes a  
partial reset of the SPI. (See Resetting the SPI on page 222.) Reset  
clears the SPE bit.  
1 = SPI module enabled  
0 = SPI module disabled  
SPTIE— SPI Transmit Interrupt Enable  
This read/write bit enables CPU interrupt requests or DMA service  
requests generated by the SPTE bit. SPTE is set when a byte  
transfers from the transmit data register to the shift register. Reset  
clears the SPTIE bit.  
1 = SPTE CPU interrupt requests or SPTE DMA service requests  
enabled  
0 = SPTE CPU interrupt requests or SPTE DMA service requests  
disabled  
SPI Sta tus a nd  
Control Re g iste r  
The SPI status and control register contains flags to signal the following  
conditions:  
Receive data register full  
Failure to clear SPRF bit before next byte is received (overflow  
error)  
Inconsistent logic level on SS pin (mode fault error)  
Transmit data register empty  
The SPI status and control register also contains bits that perform the  
following functions:  
Enable error interrupts  
Enable mode fault error detection  
Select master SPI baud rate  
30-spi_c  
MC68HC708XL36  
230  
SPI  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
SPI  
I/O Registers  
Address: $0011  
Bit 7  
6
ERRIE  
0
5
4
3
2
1
Bit 0  
Read: SPRF  
Write:  
OVRF  
MODF  
SPTE  
MODFEN SPR1  
SPR0  
0
Reset:  
0
0
0
1
0
0
= Unimplemented  
Figure 15. SPI Status and Control Register (SPSCR)  
SPRF — SPI Receiver Full Bit  
This clearable, read-only flag is set each time a byte transfers from  
the shift register to the receive data register. SPRF generates a CPU  
interrupt request or a DMA service request if the SPRIE bit in the SPI  
control register is set also.  
The DMA select bit (DMAS) in the SPI control register determines  
whether SPRF generates an SPRF CPU interrupt request or an  
SPRF DMA service request. During an SPRF CPU interrupt  
(DMAS = 0), the CPU clears SPRF by reading the SPI status and  
control register with SPRF set and then reading the SPI data register.  
During an SPRF DMA transmission (DMAS = 1), any read of the SPI  
data register clears the SPRF bit.  
Reset clears the SPRF bit.  
1 = Receive data register full  
0 = Receive data register not full  
NOTE: When the DMA is configured to service the SPI (DMAS = 1), a read by  
the CPU of the receive data register can inadvertently clear the SPRF bit  
and cause the DMA to miss a service request.  
ERRIE — Error Interrupt Enable Bit  
This read/write bit enables the MODF and OVRF bits to generate  
CPU interrupt requests. Reset clears the ERRIE bit.  
1 = MODF and OVRF can generate CPU interrupt requests  
0 = MODF and OVRF cannot generate CPU interrupt requests  
31-spi_c  
MC68HC708XL36  
MOTOROLA  
SPI  
231  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
SPI  
OVRF — Overflow Bit  
This clearable, read-only flag is set if software does not read the byte  
in the receive data register before the next full byte enters the shift  
register. In an overflow condition, the byte already in the receive data  
register is unaffected, and the byte that shifted in last is lost. Clear the  
OVRF bit by reading the SPI status and control register with OVRF set  
and then reading the receive data register. Reset clears the OVRF bit.  
1 = Overflow  
0 = No overflow  
MODF — Mode Fault Bit  
This clearable, read-only flag is set in a slave SPI if the SS pin goes  
high during a transmission with the MODFEN bit set. In a master SPI,  
the MODF flag is set if the SS pin goes low at any time with the  
MODFEN bit set. Clear the MODF bit by reading the SPI status and  
control register (SPSCR) with MODF set and then writing to the SPI  
control register (SPCR). Reset clears the MODF bit.  
1 = SS pin at inappropriate logic level  
0 = SS pin at appropriate logic level  
SPTE — SPI Transmitter Empty Bit  
This clearable, read-only flag is set each time the transmit data  
register transfers a byte into the shift register. SPTE generates an  
SPTE CPU interrupt request or an SPTE DMA service request if the  
SPTIE bit in the SPI control register is set also.  
NOTE: Do not write to the SPI data register unless the SPTE bit is high.  
The DMA select bit (DMAS) in the SPI control register determines  
whether SPTE generates an SPTE CPU interrupt request or an  
SPTE DMA service request. During an SPTE CPU interrupt  
(DMAS = 0), the CPU clears the SPTE bit by writing to the transmit  
data register. During an SPTE DMA transmission (DMAS = 1), the  
DMA automatically clears SPTE when it writes to the transmit data  
register.  
NOTE: When the DMA is configured to service the SPI (DMAS = 1), a write by  
the CPU to the transmit data register can inadvertently clear the SPTE  
bit and cause the DMA to miss a service request.  
32-spi_c  
MC68HC708XL36  
232  
SPI  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
SPI  
I/O Registers  
Reset sets the SPTE bit.  
1 = Transmit data register empty  
0 = Transmit data register not empty  
MODFEN — Mode Fault Enable Bit  
This read/write bit, when set to 1, allows the MODF flag to be set. If  
the MODF flag is set, clearing the MODFEN does not clear the MODF  
flag. If the SPI is enabled as a master and the MODFEN bit is low,  
then the SS pin is available for general-purpose I/O.  
If the MODFEN bit is set, then this pin is not available for  
general-purpose I/O. When the SPI is enabled as a slave, the SS pin  
is not available as a general purpose I/O regardless of the value of  
MODFEN. (See SS (Slave Select) on page 226.)  
If the MODFEN bit is low, the level of the SS pin does not affect the  
operation of an enabled SPI configured as a master. For an enabled  
SPI configured as a slave, having MODFEN low only prevents the  
MODF flag from being set. It does not affect any other part of SPI  
operation. (See Mode Fault Error on page 218.)  
SPR1 and SPR0 — SPI Baud Rate Select Bits  
In master mode, these read/write bits select one of four baud rates as  
shown in Table 5. SPR1 and SPR0 have no effect in slave mode.  
Reset clears SPR1 and SPR0.  
Table 5. SPI Master Baud Rate Selection  
SPR1:SPR0  
Baud Rate Divisor (BD)  
00  
01  
10  
11  
2
8
32  
128  
Use the following formula to calculate the SPI baud rate:  
BUS CLOCK  
Baud rate = ----------------------------------  
BD  
where:  
CGMOUT = base clock output of the clock generator module (CGM)  
BD = baud rate divisor  
33-spi_c  
MC68HC708XL36  
MOTOROLA  
SPI  
233  
For More Information On This Product,  
Go to: www.freescale.com  
 
Freescale Semiconductor, Inc.  
SPI  
SPI Da ta Re g iste r  
The SPI data register consists of the read-only receive data register and  
the write-only transmit data register. Writing to the SPI data register  
writes data into the transmit data register. Reading the SPI data register  
reads data from the receive data register. The transmit data and receive  
data registers are separate registers that can contain different values.  
(See Figure 1 on page 204.)  
Address: $0012  
Bit 7  
R7  
6
5
4
3
2
1
Bit 0  
R0  
Read:  
Write:  
Reset:  
R6  
T6  
R5  
T5  
R4  
T4  
R3  
T3  
R2  
T2  
R1  
T1  
T7  
T0  
Indeterminate after Reset  
Figure 16. SPI Data Register (SPDR)  
R7:R0/T7:T0 — Receive/Transmit Data Bits  
NOTE: Do not use read-modify-write instructions on the SPI data register since  
the register read is not the same as the register written.  
34-spi_c  
MC68HC708XL36  
234  
SPI  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Se ria l Com m unic a tions Inte rfa c e Mod ule  
SCI  
Conte nts  
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .236  
Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .237  
Pin Name Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .238  
Functional Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .238  
Data Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .241  
Transmitter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .241  
Character Length . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .241  
Character Transmission . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .241  
Break Characters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .245  
Idle Characters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .245  
Inversion of Transmitted Output . . . . . . . . . . . . . . . . . . . . . . . .246  
Transmitter Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .246  
Receiver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .247  
Character Length . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .249  
Character Reception. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .249  
Data Sampling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .249  
Framing Errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .252  
Baud Rate Tolerance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .252  
Receiver Wakeup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .256  
Receiver Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .257  
Error Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .258  
Error Flags During DMA Service Requests . . . . . . . . . . . . . . .259  
Low-Power Modes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .261  
Wait Mode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .261  
Stop Mode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .261  
SCI During Break Module Interrupts . . . . . . . . . . . . . . . . . . . . . . . . .262  
1-sci_d  
MC68HC708XL36  
MOTOROLA  
SCI  
235  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
SCI  
I/O Signals. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .263  
TxD (Transmit Data) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .263  
RxD (Receive Data) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .263  
I/O Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .263  
SCI Control Register 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .264  
SCI Control Register 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .267  
SCI Control Register 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .270  
SCI Status Register 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .273  
SCI Status Register 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .277  
SCI Data Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .278  
SCI Baud Rate Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .279  
Introd uc tion  
The SCI allows asynchronous communications with peripheral devices  
and other MCUs.  
2-sci_d  
MC68HC708XL36  
236  
SCI  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
SCI  
Features  
Fe a ture s  
Full Duplex Operation  
Standard Mark/Space Non-Return-to-Zero (NRZ) Format  
32 Programmable Baud Rates  
Programmable 8-Bit or 9-Bit Character Length  
Separately Enabled Transmitter and Receiver  
Separate Receiver and Transmitter CPU Interrupt Requests  
Separate Receiver and Transmitter DMA Service Requests  
Programmable Transmitter Output Polarity  
Two Receiver Wakeup Methods:  
– Idle Line Wakeup  
– Address Mark Wakeup  
Interrupt-Driven Operation with Eight Interrupt Flags:  
– Transmitter Empty  
– Transmission Complete  
– Receiver Full  
– Idle Receiver Input  
– Receiver Overrun  
– Noise Error  
– Framing Error  
– Parity Error  
Receiver Framing Error Detection  
Hardware Parity Checking  
1/16 Bit-Time Noise Detection  
3-sci_d  
MC68HC708XL36  
237  
MOTOROLA  
SCI  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
SCI  
Pin Na m e Conve ntions  
The generic names of the SCI I/O pins are:  
RxD (receive data)  
TxD (transmit data)  
SCI I/O lines are implemented by sharing parallel I/O port pins. The full  
name of an SCI input or output reflects the name of the shared port pin.  
Table 1 shows the full names and the generic names of the SCI I/O  
pins.The generic pin names appear in the text of this section.  
Table 1. Pin Name Conventions  
Generic Pin Names  
Full Pin Names  
RxD  
TxD  
PE1/RxD  
PE2/TxD  
Func tiona l De sc rip tion  
Figure 1 shows the structure of the SCI module. The SCI allows  
full-duplex, asynchronous, NRZ serial communication between the MCU  
and remote devices, including other MCUs. The transmitter and receiver  
of the SCI operate independently, although they use the same baud rate  
generator. During normal operation, the CPU monitors the status of the  
SCI, writes the data to be transmitted, and processes received data.  
During DMA transfers, the DMA fetches data from memory for the SCI  
to transmit and/or the DMA stores received data in memory.  
4-sci_d  
MC68HC708XL36  
238  
SCI  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
 
Freescale Semiconductor, Inc.  
SCI  
Functional Description  
INTERNAL BUS  
SCI DATA  
REGISTER  
SCI DATA  
REGISTER  
RECEIVE  
SHIFT REGISTER  
TRANSMIT  
TxD  
RxD  
SHIFT REGISTER  
TXINV  
SCTIE  
R8  
T8  
TCIE  
SCRIE  
ILIE  
DMARE  
DMATE  
TE  
SCTE  
TC  
RE  
RWU  
SBK  
SCRF  
IDLE  
OR  
NF  
FE  
PE  
ORIE  
NEIE  
FEIE  
PEIE  
LOOPS  
ENSCI  
LOOPS  
RECEIVE  
CONTROL  
FLAG  
CONTROL  
TRANSMIT  
CONTROL  
WAKEUP  
CONTROL  
M
BKF  
RPF  
ENSCI  
WAKE  
ILTY  
PEN  
PTY  
PRE-  
BAUD RATE  
÷ 4  
CGMXCLK  
SCALER GENERATOR  
DATA SELECTION  
CONTROL  
÷ 16  
Figure 1. SCI Module Block Diagram  
5-sci_d  
MC68HC708XL36  
239  
MOTOROLA  
SCI  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
SCI  
Register Name  
Bit 7  
LOOPS  
0
6
ENSCI  
0
5
TXINV  
0
4
M
0
3
WAKE  
0
2
ILTY  
0
1
PEN  
0
Bit 0  
PTY  
0
Read:  
SCI Control Register 1 (SCC1) Write:  
Reset:  
Read:  
SCTIE  
TCIE  
0
SCRIE  
0
ILIE  
0
TE  
RE  
0
RWU  
0
SBK  
0
SCI Control Register 2 (SCC2) Write:  
Reset:  
0
0
Read:  
SCI Control Register 3 (SCC3) Write:  
Reset:  
R8  
T8  
DMARE DMATE  
ORIE  
NEIE  
FEIE  
PEIE  
U
U
0
0
0
0
0
0
Read: SCTE  
SCI Status Register 1 (SCS1) Write:  
Reset:  
TC  
SCRF  
IDLE  
OR  
NF  
FE  
PE  
1
1
0
0
0
0
0
0
Read:  
BKF  
RPF  
SCI Status Register 2 (SCS2) Write:  
Reset:  
0
0
0
0
0
0
0
0
Read:  
R7  
T7  
R6  
T6  
R5  
T5  
R4  
T4  
R3  
T3  
R2  
T2  
R1  
T1  
R0  
T0  
SCI Data Register (SCDR) Write:  
Reset:  
Unaffected by Reset  
Read:  
SCI Baud Rate Register (SCBR) Write:  
Reset:  
SCP1  
0
SCP0  
0
R
0
SCR2  
0
SCR1  
0
SCR0  
0
0
0
= Unimplemented  
U = Unaffected  
R = Reserved  
Figure 2. SCI I/O Register Summary  
Table 2. SCI I/O Register Address Summary  
Register SCC1  
Address $0013  
SCC2  
$0014  
SCC3  
$0015  
SCS1  
$0016  
SCS2  
$0017  
SCDR  
$0018  
SCBR  
$0019  
6-sci_d  
MC68HC708XL36  
240  
SCI  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
SCI  
Functional Description  
Da ta Form a t  
The SCI uses the standard non-return-to-zero mark/space data format  
illustrated in Figure 3.  
8-BIT DATA FORMAT  
PARITY  
(BIT M IN SCC1 CLEAR)  
OR DATA  
NEXT  
START  
BIT  
BIT  
START  
BIT  
STOP  
BIT  
BIT 0 BIT 1 BIT 2 BIT 3 BIT 4 BIT 5 BIT 6 BIT 7  
9-BIT DATA FORMAT  
(BIT M IN SCC1 SET)  
PARITY  
OR DATA  
BIT  
NEXT  
START  
BIT  
START  
BIT  
BIT 0 BIT 1 BIT 2 BIT 3 BIT 4 BIT 5 BIT 6 BIT 7 BIT 8 STOP  
BIT  
Figure 3. SCI Data Formats  
Tra nsm itte r  
Figure 4 shows the structure of the SCI transmitter.  
Cha ra c te r Le ng th  
The transmitter can accommodate either 8-bit or 9-bit data. The state of  
the M bit in SCI control register 1 (SCC1) determines character length.  
When transmitting 9-bit data, bit T8 in SCI control register 3 (SCC3) is  
the ninth bit (bit 8).  
Cha ra c te r  
Tra nsm issio n  
During an SCI transmission, the transmit shift register shifts a character  
out to the TxD pin. The SCI data register (SCDR) is the write-only buffer  
between the internal data bus and the transmit shift register. To initiate  
an SCI transmission:  
1. Enable the SCI by writing a logic 1 to the enable SCI bit (ENSCI)  
in SCI control register 1 (SCC1).  
2. Enable the transmitter by writing a logic 1 to the transmitter enable  
bit (TE) in SCI control register 2 (SCC2).  
3. Clear the SCI transmitter empty bit by first reading SCI status  
register 1 (SCS1) and then writing to the SCDR. In a DMA transfer,  
the DMA automatically clears the SCTE bit by writing to the  
SCDR.  
4. Repeat step 3 for each subsequent transmission.  
7-sci_d  
MC68HC708XL36  
MOTOROLA  
SCI  
241  
For More Information On This Product,  
Go to: www.freescale.com  
 
Freescale Semiconductor, Inc.  
SCI  
At the start of a transmission, transmitter control logic automatically  
loads the transmit shift register with a preamble of logic 1s. After the  
preamble shifts out, control logic transfers the SCDR data into the  
transmit shift register. A logic 0 start bit automatically goes into the least  
significant bit position of the transmit shift register. A logic 1 stop bit goes  
into the most significant bit position.  
The SCI transmitter empty bit, SCTE, in SCS1 becomes set when the  
SCDR transfers a byte to the transmit shift register. The SCTE bit  
indicates that the SCDR can accept new data from the internal data bus.  
If the SCI transmit interrupt enable bit, SCTIE, in SCC2 is also set, the  
SCTE bit generates a transmitter CPU interrupt request or a transmitter  
DMA service request.  
The SCTE bit generates a transmitter DMA service request if the DMA  
transfer enable bit, DMATE, in SCI control register 3 (SCC3) is set.  
Setting the DMATE bit enables the SCTE bit to generate transmitter  
DMA service requests and disables transmitter CPU interrupt requests.  
When the transmit shift register is not transmitting a character, the TxD  
pin goes to the idle condition, logic 1. If at any time software clears the  
ENSCI bit in SCI control register 1 (SCC1), the transmitter and receiver  
relinquish control of the port E pins.  
8-sci_d  
MC68HC708XL36  
242  
SCI  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
SCI  
Functional Description  
INTERNAL BUS  
PRE-  
BAUD  
÷ 16  
÷ 4  
SCI DATA REGISTER  
SCALER DIVIDER  
SCP1  
SCP0  
SCR1  
SCR2  
SCR0  
11-BIT  
TRANSMIT  
SHIFT REGISTER  
H
8
7
6
5
4
3
2
1
0
L
TxD  
TXINV  
M
PEN  
PTY  
PARITY  
GENERATION  
T8  
DMATE  
TRANSMITTER  
CONTROL LOGIC  
DMATE  
SCTIE  
SCTE  
SCTE  
SBK  
DMATE  
SCTE  
LOOPS  
ENSCI  
TE  
SCTIE  
SCTIE  
TC  
TC  
TCIE  
TCIE  
Figure 4. SCI Transmitter  
9-sci_d  
MC68HC708XL36  
243  
MOTOROLA  
SCI  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
SCI  
Register Name  
Bit 7  
LOOPS  
0
6
ENSCI  
0
5
TXINV  
0
4
M
0
3
WAKE  
0
2
ILTY  
0
1
PEN  
0
Bit 0  
PTY  
0
Read:  
SCI Control Register 1 (SCC1) Write:  
Reset:  
Read:  
SCTIE  
TCIE  
0
SCRIE  
0
ILIE  
0
TE  
RE  
0
RWU  
0
SBK  
0
SCI Control Register 2 (SCC2) Write:  
Reset:  
0
0
Read:  
SCI Control Register 3 (SCC3) Write:  
Reset:  
R8  
T8  
DMARE DMATE  
ORIE  
NEIE  
FEIE  
PEIE  
U
U
0
0
0
0
0
0
Read: SCTE  
SCI Status Register 1 (SCS1) Write:  
Reset:  
TC  
SCRF  
IDLE  
OR  
NF  
FE  
PE  
1
1
0
0
0
0
0
0
Read:  
R7  
T7  
R6  
T6  
R5  
T5  
R4  
T4  
R3  
T3  
R2  
T2  
R1  
T1  
R0  
T0  
SCI Data Register (SCDR) Write:  
Reset:  
Unaffected by Reset  
Read:  
SCI Baud Rate Register (SCBR) Write:  
Reset:  
SCP1  
0
SCP0  
0
R
0
SCR2  
0
SCR1  
0
SCR0  
0
0
0
= Unimplemented  
U = Unaffected  
R = Reserved  
Figure 5. SCI Transmitter I/O Register Summary  
Table 3. SCI Transmitter I/O Address Summary  
Register  
SCC1  
SCC2  
$0014  
SCC3  
$0015  
SCS1  
$0016  
SCDR  
$0018  
SCBR  
$0019  
Address $0013  
10-sci_d  
MC68HC708XL36  
244  
SCI  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
SCI  
Functional Description  
Bre a k Cha ra c te rs  
Writing a logic 1 to the send break bit, SBK, in SCC2 loads the transmit  
shift register with a break character. A break character contains all logic  
zeros and has no start, stop, or parity bit. Break character length  
depends on the M bit in SCC1. As long as SBK is at logic 1, transmitter  
logic continuously loads break characters into the transmit shift register.  
After software clears the SBK bit, the shift register finishes transmitting  
the last break character and then transmits at least one logic 1. The  
automatic logic 1 at the end of a break character guarantees the  
recognition of the start bit of the next character.  
The SCI recognizes a break character when a start bit is followed by  
eight or nine logic 0 data bits and a logic 0 where the stop bit should be.  
Receiving a break character has the following effects on SCI registers:  
Sets the framing error bit (FE) in SCS1  
Sets the SCI receiver full bit (SCRF) in SCS1  
Clears the SCI data register (SCDR)  
Clears the R8 bit in SCC3  
Sets the break flag bit (BKF) in SCS2  
May set the overrun (OR), noise flag (NF), parity error (PE), or  
reception in progress flag (RPF) bits  
Id le Cha ra c te rs  
An idle character contains all logic 1s and has no start, stop, or parity bit.  
Idle character length depends on the M bit in SCC1. The preamble is a  
synchronizing idle character that begins every transmission.  
If the TE bit is cleared during a transmission, the TxD pin becomes idle  
after completion of the transmission in progress. Clearing and then  
setting the TE bit during a transmission queues an idle character to be  
sent after the character currently being transmitted.  
11-sci_d  
MC68HC708XL36  
MOTOROLA  
SCI  
245  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
SCI  
NOTE: When queueing an idle character, return the TE bit to logic 1 before the  
stop bit of the current character shifts out to the TxD pin. Setting TE after  
the stop bit appears on TxD causes data previously written to the SCDR  
to be lost.  
A good time to toggle the TE bit for a queued idle character is when the  
SCTE bit becomes set and just before writing the next byte to the SCDR.  
Inve rsio n o f  
Tra nsm itte d  
Outp ut  
The transmit inversion bit (TXINV) in SCI control register 1 (SCC1)  
reverses the polarity of transmitted data. All transmitted values, including  
idle, break, start, and stop bits, are inverted when TXINV is at logic 1.  
(See SCI Control Register 1 on page 264.)  
Tra nsm itte r  
Inte rrup ts  
The following conditions can generate CPU interrupt requests from the  
SCI transmitter:  
SCI transmitter empty (SCTE) — The SCTE bit in SCS1 indicates  
that the SCDR has transferred a character to the transmit shift  
register. SCTE can generate a transmitter CPU interrupt request  
or a transmitter DMA service request. Setting the SCI transmit  
interrupt enable bit, SCTIE, in SCC2 enables the SCTE bit to  
generate transmitter CPU interrupt requests. Setting both the  
SCTIE bit and the DMA transfer enable bit, DMATE, in SCC3  
enables the SCTE bit to generate transmitter DMA service  
requests.  
Transmission complete (TC) — The TC bit in SCS1 indicates that  
the transmit shift register and the SCDR are empty and that no  
break or idle character has been generated. The transmission  
complete interrupt enable bit, TCIE, in SCC2 enables the TC bit to  
generate transmitter CPU interrupt requests.  
12-sci_d  
MC68HC708XL36  
246  
SCI  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
SCI  
Functional Description  
Re c e ive r  
Figure 6 shows the structure of the SCI receiver.  
INTERNAL BUS  
SCR1  
SCP1  
SCP0  
SCR2  
SCI DATA REGISTER  
SCR0  
PRE-  
BAUD  
÷ 4  
÷ 16  
SCALER DIVIDER  
11-BIT  
RECEIVE SHIFT REGISTER  
CGMXCLK  
DATA  
RECOVERY  
H
8
7
6
5
4
3
2
1
0
L
RxD  
ALL ZEROS  
BKF  
RPF  
M
RWU  
SCRF  
IDLE  
WAKE  
ILTY  
WAKEUP  
LOGIC  
PEN  
PTY  
R8  
PARITY  
CHECKING  
IDLE  
ILIE  
ILIE  
DMARE  
SCRF  
SCRIE  
DMARE  
SCRIE  
SCRF  
SCRIE  
DMARE  
DMARE  
OR  
OR  
ORIE  
ORIE  
NF  
NF  
NEIE  
NEIE  
FE  
FE  
FEIE  
FEIE  
PE  
PE  
PEIE  
PEIE  
Figure 6. SCI Receiver Block Diagram  
13-sci_d  
MC68HC708XL36  
247  
MOTOROLA  
SCI  
For More Information On This Product,  
Go to: www.freescale.com  
 
Freescale Semiconductor, Inc.  
SCI  
Register Name  
Bit 7  
LOOPS  
0
6
ENSCI  
0
5
TXINV  
0
4
M
0
3
WAKE  
0
2
ILTY  
0
1
PEN  
0
Bit 0  
PTY  
0
Read:  
Write:  
Reset:  
Read:  
Write:  
Reset:  
Read:  
Write:  
Reset:  
SCI Control Register 1 (SCC1)  
SCI Control Register 2 (SCC2)  
SCI Control Register 3 (SCC3)  
SCI Status Register 1 (SCS1)  
SCI Status Register 2 (SCS2)  
SCI Data Register (SCDR)  
SCTIE  
TCIE  
0
SCRIE  
0
ILIE  
0
TE  
RE  
0
RWU  
0
SBK  
0
0
R8  
0
T8  
DMARE DMATE  
ORIE  
NEIE  
FEIE  
PEIE  
U
U
TC  
0
0
IDLE  
0
OR  
0
NF  
0
FE  
0
PE  
Read: SCTE  
Write:  
SCRF  
Reset:  
Read:  
Write:  
Reset:  
Read:  
Write:  
Reset:  
Read:  
1
1
0
0
0
0
0
BKF  
0
RPF  
0
R7  
T7  
0
R6  
T6  
0
R5  
T5  
0
R4  
T4  
0
R3  
T3  
0
R2  
T2  
0
R1  
T1  
0
R0  
T0  
Unaffected by Reset  
SCP1  
0
SCP0  
0
R
0
SCR2  
0
SCR1  
0
SCR0  
0
SCI Baud Rate Register (SCBR) Write:  
Reset:  
0
0
= Unimplemented  
U = Unaffected  
R = Reserved  
Figure 7. SCI I/O Register Summary  
Table 4. SCI Receiver I/O Address Summary  
Register SCC1  
Address $0013  
SCC2  
$0014  
SCC3  
$0015  
SCS1  
$0016  
SCS2  
$0017  
SCDR  
$0018  
SCBR  
$0019  
14-sci_d  
MC68HC708XL36  
248  
SCI  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
SCI  
Functional Description  
Cha ra c te r Le ng th  
The receiver can accommodate either 8-bit or 9-bit data. The state of the  
M bit in SCI control register 1 (SCC1) determines character length.  
When receiving 9-bit data, bit R8 in SCI control register 2 (SCC2) is the  
ninth bit (bit 8). When receiving 8-bit data, bit R8 is a copy of the eighth  
bit (bit 7).  
Cha ra c te r  
Re c e p tio n  
During an SCI reception, the receive shift register shifts characters in  
from the RxD pin. The SCI data register (SCDR) is the read-only buffer  
between the internal data bus and the receive shift register.  
After a complete character shifts into the receive shift register, the data  
portion of the character transfers to the SCDR. The SCI receiver full bit,  
SCRF, in SCI status register 1 (SCS1) becomes set, indicating that the  
received byte can be read. If the SCI receive interrupt enable bit, SCRIE,  
in SCC2 is also set, the SCRF bit generates a receiver CPU interrupt  
request or a receiver DMA service request.  
The SCRF bit generates a receiver DMA service request if the DMA  
receive enable bit, DMARE, in SCI control register 3 (SCC3) is set.  
Setting the DMARE bit enables the SCRF bit to generate receiver DMA  
service requests and disables receiver CPU interrupt requests.  
Da ta Sa m p ling  
The receiver samples the RxD pin at the RT clock rate. The RT clock is  
an internal signal with a frequency 16 times the baud rate. To adjust for  
baud rate mismatch, the RT clock is resynchronized at the following  
times (see Figure 8):  
After every start bit  
After the receiver detects a data bit change from logic 1 to logic 0  
(after the majority of data bit samples at RT8, RT9, and RT10  
returns a valid logic 1 and the majority of the next RT8, RT9, and  
RT10 samples returns a valid logic 0)  
To locate the start bit, data recovery logic does an asynchronous search  
for a logic 0 preceded by three logic 1s. When the falling edge of a  
possible start bit occurs, the RT clock begins to count to 16.  
15-sci_d  
MC68HC708XL36  
MOTOROLA  
SCI  
249  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
SCI  
START BIT  
LSB  
RxD  
START BIT  
QUALIFICATION  
START BIT  
DATA  
SAMPLES  
VERIFICATION SAMPLING  
RT  
CLOCK  
RT CLOCK  
STATE  
RT CLOCK  
RESET  
Figure 8. Receiver Data Sampling  
To verify the start bit and to detect noise, data recovery logic takes  
samples at RT3, RT5, and RT7. Table 5 summarizes the results of the  
start bit verification samples.  
Table 5. Start Bit Verification  
RT3, RT5, and RT7 Samples  
Start Bit Verification  
Noise Flag  
000  
001  
010  
011  
100  
101  
110  
111  
Yes  
Yes  
Yes  
No  
0
1
1
0
1
0
0
0
Yes  
No  
No  
No  
If start bit verification is not successful, the RT clock is reset and a new  
search for a start bit begins.  
16-sci_d  
MC68HC708XL36  
250  
SCI  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
 
Freescale Semiconductor, Inc.  
SCI  
Functional Description  
To determine the value of a data bit and to detect noise, recovery logic  
takes samples at RT8, RT9, and RT10. Table 6 summarizes the results  
of the data bit samples.  
Table 6. Data Bit Recovery  
RT8, RT9, and RT10 Samples  
Data Bit Determination  
Noise Flag  
000  
001  
010  
011  
100  
101  
110  
111  
0
0
0
1
0
1
1
1
0
1
1
1
1
1
1
0
NOTE: The RT8, RT9, and RT10 samples do not affect start bit verification. If  
any or all of the RT8, RT9, and RT10 start bit samples are logic 1s  
following a successful start bit verification, the noise flag (NF) is set and  
the receiver assumes that the bit is a start bit.  
17-sci_d  
MC68HC708XL36  
MOTOROLA  
SCI  
251  
For More Information On This Product,  
Go to: www.freescale.com  
 
Freescale Semiconductor, Inc.  
SCI  
To verify a stop bit and to detect noise, recovery logic takes samples at  
RT8, RT9, and RT10. Table 7 summarizes the results of the stop bit  
samples.  
Table 7. Stop Bit Recovery  
RT8, RT9, and RT10 Samples  
Framing Error Flag  
Noise Flag  
000  
001  
010  
011  
100  
101  
110  
111  
1
1
1
0
1
0
0
0
0
1
1
1
1
1
1
0
Fra m ing Erro rs  
If the data recovery logic does not detect a logic 1 where the stop bit  
should be in an incoming character, it sets the framing error bit, FE, in  
SCS1. A break character also sets the FE bit because a break character  
has no stop bit. The FE bit is set at the same time that the SCRF bit is  
set.  
Ba ud Ra te  
To le ra nc e  
A transmitting device may be operating at a baud rate below or above  
the receiver baud rate. Accumulated bit time misalignment can cause  
one of the three stop bit data samples to fall outside the actual stop bit.  
Then a noise error occurs. If more than one of the samples is outside the  
stop bit, a framing error occurs. In most applications, the baud rate  
tolerance is much more than the degree of misalignment that is likely to  
occur.  
As the receiver samples an incoming character, it resynchronizes the RT  
clock on any valid falling edge within the character. Resynchronization  
within characters corrects misalignments between transmitter bit times  
and receiver bit times.  
18-sci_d  
MC68HC708XL36  
252  
SCI  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
 
Freescale Semiconductor, Inc.  
SCI  
Functional Description  
Slow Data Tolerance  
Figure 9 shows how much a slow received character can be misaligned  
without causing a noise error or a framing error. The slow stop bit begins  
at RT8 instead of RT1 but arrives in time for the stop bit data samples at  
RT8, RT9, and RT10.  
MSB  
STOP  
RECEIVER  
RT CLOCK  
DATA  
SAMPLES  
Figure 9. Slow Data  
For an 8-bit character, data sampling of the stop bit takes the receiver  
9 bit times × 16 RT cycles + 10 RT cycles = 154 RT cycles.  
With the misaligned character shown in Figure 9, the receiver counts  
154 RT cycles at the point when the count of the transmitting device is  
9 bit times × 16 RT cycles + 3 RT cycles = 147 RT cycles.  
The maximum percent difference between the receiver count and the  
transmitter count of a slow 8-bit character with no errors is  
154 147  
× 100 = 4.54%  
-------------------------  
154  
For a 9-bit character, data sampling of the stop bit takes the receiver  
10 bit times × 16 RT cycles + 10 RT cycles = 170 RT cycles.  
With the misaligned character shown in Figure 9, the receiver counts  
170 RT cycles at the point when the count of the transmitting device is  
10 bit times × 16 RT cycles + 3 RT cycles = 163 RT cycles.  
19-sci_d  
MC68HC708XL36  
MOTOROLA  
SCI  
253  
For More Information On This Product,  
Go to: www.freescale.com  
 
Freescale Semiconductor, Inc.  
SCI  
The maximum percent difference between the receiver count and the  
transmitter count of a slow 9-bit character with no errors is  
170 163  
× 100 = 4.12%  
-------------------------  
170  
Fast Data Tolerance  
Figure 10 shows how much a fast received character can be misaligned  
without causing a noise error or a framing error. The fast stop bit ends at  
RT10 instead of RT16 but is still there for the stop bit data samples at  
RT8, RT9, and RT10.  
STOP  
IDLE OR NEXT CHARACTER  
RECEIVER  
RT CLOCK  
DATA  
SAMPLES  
Figure 10. Fast Data  
For an 8-bit character, data sampling of the stop bit takes the receiver  
9 bit times × 16 RT cycles + 10 RT cycles = 154 RT cycles.  
With the misaligned character shown in Figure 10, the receiver counts  
154 RT cycles at the point when the count of the transmitting device is  
10 bit times × 16 RT cycles = 160 RT cycles.  
The maximum percent difference between the receiver count and the  
transmitter count of a fast 8-bit character with no errors is  
For a 9-bit character, data sampling of the stop bit takes the receiver  
10 bit times × 16 RT cycles + 10 RT cycles = 170 RT cycles.  
20-sci_d  
MC68HC708XL36  
254  
SCI  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
 
Freescale Semiconductor, Inc.  
SCI  
Functional Description  
154 160  
-------------------------  
154  
˙
× 100 = 3.90%  
With the misaligned character shown in Figure 10, the receiver counts  
170 RT cycles at the point when the count of the transmitting device is  
11 bit times × 16 RT cycles = 176 RT cycles.  
The maximum percent difference between the receiver count and the  
transmitter count of a fast 9-bit character with no errors is  
170 176  
× 100 = 3.53%  
-------------------------  
170  
21-sci_d  
MC68HC708XL36  
255  
MOTOROLA  
SCI  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
SCI  
Re c e ive r Wa ke up  
So that the MCU can ignore transmissions intended only for other  
receivers in multiple-receiver systems, the receiver can be put into a  
standby state. Setting the receiver wakeup bit, RWU, in SCC2 puts the  
receiver into a standby state during which receiver interrupts are  
disabled.  
Depending on the state of the WAKE bit in SCC1, either of two  
conditions on the RxD pin can bring the receiver out of the standby state:  
Address mark — An address mark is a logic 1 in the most  
significant bit position of a received character. When the WAKE bit  
is set, an address mark wakes the receiver from the standby state  
by clearing the RWU bit. The address mark also sets the SCI  
receiver full bit, SCRF. Software can then compare the character  
containing the address mark to the user-defined address of the  
receiver. If they are the same, the receiver remains awake and  
processes the characters that follow. If they are not the same,  
software can set the RWU bit and put the receiver back into the  
standby state.  
Idle input line condition — When the WAKE bit is clear, an idle  
character on the RxD pin wakes the receiver from the standby  
state by clearing the RWU bit. The idle character that wakes the  
receiver does not set the receiver idle bit, IDLE, or the SCI receiver  
full bit, SCRF. The idle line type bit, ILTY, determines whether the  
receiver begins counting logic ones as idle character bits after the  
start bit or after the stop bit.  
NOTE: With the WAKE bit clear, setting the RWU bit after the RxD pin has been  
idle may cause the receiver to wake up immediately.  
22-sci_d  
MC68HC708XL36  
256  
SCI  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
SCI  
Functional Description  
Re c e ive r Inte rrup ts  
The following sources can generate CPU interrupt requests from the SCI  
receiver:  
SCI receiver full (SCRF) — The SCRF bit in SCS1 indicates that  
the receive shift register has transferred a character to the SCDR.  
SCRF can generate a receiver CPU interrupt request or a receiver  
DMA service request. Setting the SCI receive interrupt enable bit,  
SCRIE, in SCC2 enables the SCRF bit to generate receiver CPU  
interrupts. Setting both the SCRIE bit and the DMA receive enable  
bit, DMARE, in SCC3 enables receiver DMA service requests and  
disables receiver CPU interrupt requests.  
Idle input (IDLE) — The IDLE bit in SCS1 indicates that 10 or 11  
consecutive logic 1s shifted in from the RxD pin. The idle line  
interrupt enable bit, ILIE, in SCC2 enables the IDLE bit to generate  
CPU interrupt requests.  
NOTE: When receiver DMA service requests are enabled (DMARE = 1), then  
receiver CPU interrupt requests are disabled.  
23-sci_d  
MC68HC708XL36  
MOTOROLA  
SCI  
257  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
SCI  
Erro r Inte rrup ts  
The following receiver error flags in SCS1 can generate CPU interrupt  
requests:  
Receiver overrun (OR) — The OR bit indicates that the receive  
shift register shifted in a new character before the previous  
character was read from the SCDR. The previous character  
remains in the SCDR, and the new character is lost. The overrun  
interrupt enable bit, ORIE, in SCC3 enables OR to generate SCI  
error CPU interrupt requests.  
Noise flag (NF) — The NF bit is set when the SCI detects noise on  
incoming data or break characters, including start, data, and stop  
bits. The noise error interrupt enable bit, NEIE, in SCC3 enables  
NF to generate SCI error CPU interrupt requests.  
Framing error (FE) — The FE bit in SCS1 is set when a logic 0  
occurs where the receiver expects a stop bit. The framing error  
interrupt enable bit, FEIE, in SCC3 enables FE to generate SCI  
error CPU interrupt requests.  
Parity error (PE) — The PE bit in SCS1 is set when the SCI  
detects a parity error in incoming data. The parity error interrupt  
enable bit, PEIE, in SCC3 enables PE to generate SCI error CPU  
interrupt requests.  
24-sci_d  
MC68HC708XL36  
258  
SCI  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
SCI  
Functional Description  
Erro r Fla g s During  
DMA Se rvic e  
Re q ue sts  
When the DMA is servicing the SCI receiver, it clears the SCRF bit when  
it reads the SCI data register. The DMA does not clear the other status  
bits (BKF or RPF), nor does it clear error flags (OR, NF, FE, and PE). To  
clear error flags while the DMA is servicing the receiver, enable SCI error  
CPU interrupts and clear the bits in an interrupt routine. The application  
may require retransmission in case of error. If the application requires  
the receptions to continue, note the following latency considerations:  
1. If interrupt latency is short enough for an error bit to be serviced  
before the next SCRF, then it can be determined which byte  
caused the error. If interrupt latency is long enough for a new  
SCRF to occur before servicing an error bit, then:  
a. It cannot be determined whether the error bit being serviced is  
due to the byte in the SCI data register or to a previous byte.  
Multiple errors can accumulate that correspond to different  
bytes. In a message-based system, you may have to repeat  
the entire message.  
b. When the DMA is enabled to service the SCI receiver, merely  
reading the SCI data register clears the SCRF bit. The second  
step in clearing an error bit, reading the SCI data register,  
could inadvertently clear a new, unserviced SCRF that  
occurred during the error-servicing routine. Then the DMA  
would ignore the byte that set the new SCRF, and the new  
byte would be lost.  
To prevent clearing of an unserviced SCRF bit, clear the  
SCRIE bit at the beginning of the error-servicing interrupt  
routine and set it at the end. Clearing SCRIE disables DMA  
service so that both a read of SCS1 and a read of SCDR are  
required to clear the SCRF bit. Setting SCRIE enables DMA  
service so that the DMA can recognize a service request that  
occurred during the error-servicing interrupt routine.  
c. In the CPU interrupt routine to service error bits, do not use  
BRSET or BRCLR instructions. BRSET and BRCLR read the  
SCS1 register, which is the first step in clearing the register.  
25-sci_d  
MC68HC708XL36  
MOTOROLA  
SCI  
259  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
SCI  
Then the DMA could read the SCI data register, the second  
step in clearing it, thereby clearing all error bits. The next read  
of the data register would miss any error bits that were set.  
2. DMA latency should be short enough so that an SCRF is serviced  
before the next SCRF occurs. If DMA latency is long enough for a  
new SCRF to occur before servicing an error bit, then:  
a. Overruns occur. Set the ORIE bit to enable SCI error CPU  
interrupt requests and service the overrun in an interrupt  
routine. In a message-based system, disable the DMA in the  
interrupt routine and manually recover. Otherwise, the byte  
that was lost in the overrun could prevent the DMA from  
reaching its byte count. If the DMA reaches it byte count in the  
following message, two messages may be corrupted.  
b. If the CPU does not service an overrun interrupt request, the  
DMA can eventually clear the SCRF bit by reading the SCI  
data register. The OR bit remains set. Each time a new byte  
sets the SCRF bit, new data transfers from the shift register to  
the SCI data register (provided that another overrun does not  
occur), even though the OR bit is set. The DMA removed the  
overrun condition by reading the data register, but the OR bit  
has not been cleared.  
26-sci_d  
MC68HC708XL36  
260  
SCI  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
SCI  
Low-Power Modes  
Low-Powe r Mod e s  
The WAIT and STOP instructions put the MCU in low-power-consump-  
tion standby modes.  
Wa it Mod e  
The SCI module remains active in wait mode. Any enabled CPU  
interrupt request from the SCI module can bring the MCU out of wait  
mode.  
If SCI module functions are not required during wait mode, reduce power  
consumption by disabling the module before executing the WAIT  
instruction.  
The DMA can service the SCI without exiting wait mode.  
Stop Mod e  
The SCI module is inactive in stop mode. The STOP instruction does not  
affect SCI register states. SCI module operation resumes after the MCU  
exits stop mode.  
Because the internal clock is inactive during stop mode, entering stop  
mode during an SCI transmission or reception results in invalid data.  
27-sci_d  
MC68HC708XL36  
MOTOROLA  
SCI  
261  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
SCI  
SCI During Bre a k Mod ule Inte rrup ts  
The BCFE bit in the break flag control register (BFCR) enables software  
to clear status bits during the break state. (See Break Module on page  
149.)  
To allow software to clear status bits during a break interrupt, write a  
logic 1 to the BCFE bit. If a status bit is cleared during the break state, it  
remains cleared when the MCU exits the break state.  
To protect status bits during the break state, write a logic 0 to the BCFE  
bit. With BCFE at logic 0 (its default state), software can read and write  
I/O registers during the break state without affecting status bits. Some  
status bits have a two-step read/write clearing procedure. If software  
does the first step on such a bit before the break, the bit cannot change  
during the break state as long as BCFE is at logic 0. After the break,  
doing the second step clears the status bit.  
28-sci_d  
MC68HC708XL36  
262  
SCI  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
SCI  
I/O Signals  
I/ O Sig na ls  
Port E shares two of its pins with the SCI module. The two SCI I/O pins  
are:  
TxD — Transmit data  
RxD — Receive data  
TxD  
The TxD pin is the serial data output from the SCI transmitter. The SCI  
shares the TxD pin with port E. When the SCI is enabled, the TxD pin is  
an output regardless of the state of the DDRE2 bit in data direction  
register E (DDRE).  
(Tra nsm it Da ta )  
RxD  
(Rece ive Da ta )  
The RxD pin is the serial data input to the SCI receiver. The SCI shares  
the RxD pin with port E. When the SCI is enabled, the RxD pin is an input  
regardless of the state of the DDRE1 bit in data direction register E  
(DDRE).  
I/ O Re g iste rs  
The following I/O registers control and monitor SCI operation:  
SCI control register 1 (SCC1)  
SCI control register 2 (SCC2)  
SCI control register 3 (SCC3)  
SCI status register 1 (SCS1)  
SCI status register 2 (SCS2)  
SCI data register (SCDR)  
SCI baud rate register (SCBR)  
29-sci_d  
MC68HC708XL36  
263  
MOTOROLA  
SCI  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
SCI  
SCI Control  
Re g iste r 1  
SCI control register 1:  
Enables loop mode operation.  
Enables the SCI.  
Controls output polarity.  
Controls character length.  
Controls SCI wakeup method.  
Controls idle character detection.  
Enables parity function.  
Controls parity type.  
Address: $0013  
Bit 7  
6
ENSCI  
0
5
TXINV  
0
4
M
0
3
WAKE  
0
2
ILLTY  
0
1
PEN  
0
Bit 0  
PTY  
0
Read:  
LOOPS  
Write:  
Reset:  
0
Figure 11. SCI Control Register 1 (SCC1)  
LOOPS — Loop Mode Select Bit  
This read/write bit enables loop mode operation. In loop mode the  
RxD pin is disconnected from the SCI, and the transmitter output goes  
into the receiver input. Both the transmitter and the receiver must be  
enabled to use loop mode. Reset clears the LOOPS bit.  
1 = Loop mode enabled  
0 = Normal operation enabled  
ENSCI — Enable SCI Bit  
This read/write bit enables the SCI and the SCI baud rate generator.  
Clearing ENSCI sets the SCTE and TC bits in SCI status register 1  
and disables transmitter interrupts. Reset clears the ENSCI bit.  
1 = SCI enabled  
0 = SCI disabled  
30-sci_d  
MC68HC708XL36  
264  
SCI  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
SCI  
I/O Registers  
TXINV — Transmit Inversion Bit  
This read/write bit reverses the polarity of transmitted data. Reset  
clears the TXINV bit.  
1 = Transmitter output inverted  
0 = Transmitter output not inverted  
NOTE: Setting the TXINV bit inverts all transmitted values, including idle, break,  
start, and stop bits.  
M — Mode (Character Length) Bit  
This read/write bit determines whether SCI characters are eight or  
nine bits long. (See Table 8.) The ninth bit can serve as an extra stop  
bit, as a receiver wakeup signal, or as a parity bit. Reset clears the M  
bit.  
1 = 9-bit SCI characters  
0 = 8-bit SCI characters  
WAKE — Wakeup Condition Bit  
This read/write bit determines which condition wakes up the SCI: a  
logic 1 (address mark) in the most significant bit position of a received  
character or an idle condition on the RxD pin. Reset clears the WAKE  
bit.  
1 = Address mark wakeup  
0 = Idle line wakeup  
ILTY — Idle Line Type Bit  
This read/write bit determines when the SCI starts counting logic 1s  
as idle character bits. The counting begins either after the start bit or  
after the stop bit. If the count begins after the start bit, then a string of  
logic 1s preceding the stop bit may cause false recognition of an idle  
character. Beginning the count after the stop bit avoids false idle  
character recognition, but requires properly synchronized  
transmissions. Reset clears the ILTY bit.  
1 = Idle character bit count begins after stop bit  
0 = Idle character bit count begins after start bit  
31-sci_d  
MC68HC708XL36  
MOTOROLA  
SCI  
265  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
SCI  
PEN — Parity Enable Bit  
This read/write bit enables the SCI parity function. (See Table 8.)  
When enabled, the parity function inserts a parity bit in the most  
significant bit position. (See Figure 3 on page 241.) Reset clears the  
PEN bit.  
1 = Parity function enabled  
0 = Parity function disabled  
PTY — Parity Bit  
This read/write bit determines whether the SCI generates and checks  
for odd parity or even parity. (See Table 8.) Reset clears the PTY bit.  
1 = Odd parity  
0 = Even parity  
NOTE: Changing the PTY bit in the middle of a transmission or reception can  
generate a parity error.  
Table 8. Character Format Selection  
Control Bits  
PEN–PTY  
Character Format  
Start  
Bits  
Data  
Bits  
Stop  
Parity  
Character  
Length  
M
Bits  
0
1
0
0
1
1
0X  
0X  
10  
11  
10  
11  
1
1
1
1
1
1
8
9
7
7
8
8
None  
None  
Even  
Odd  
1
1
1
1
1
1
10 bits  
11 bits  
10 bits  
10 bits  
11 bits  
11 bits  
Even  
Odd  
32-sci_d  
MC68HC708XL36  
266  
SCI  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
 
Freescale Semiconductor, Inc.  
SCI  
I/O Registers  
SCI Control  
Re g iste r 2  
SCI control register 2:  
Enables the following CPU interrupt requests and DMA service  
requests:  
– Enables the SCTE bit to generate transmitter CPU interrupt  
requests or transmitter DMA service requests.  
– Enables the TC bit to generate transmitter CPU interrupt  
requests.  
– Enables the SCRF bit to generate receiver CPU interrupt  
requests or receiver DMA service requests.  
– Enables the IDLE bit to generate receiver CPU interrupt  
requests.  
Enables the transmitter.  
Enables the receiver.  
Enables SCI wakeup.  
Transmits SCI break characters.  
Address: $0014  
Bit 7  
6
TCIE  
0
5
SCRIE  
0
4
ILIE  
0
3
TE  
0
2
RE  
0
1
RWU  
0
Bit 0  
SBK  
0
Read:  
SCTIE  
Write:  
Reset:  
0
Figure 12. SCI Control Register 2 (SCC2)  
33-sci_d  
MC68HC708XL36  
267  
MOTOROLA  
SCI  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
SCI  
SCTIE — SCI Transmit Interrupt Enable Bit  
This read/write bit enables the SCTE bit to generate SCI transmitter  
CPU interrupt requests or DMA service requests. Setting the SCTIE  
bit and clearing the DMA transfer enable bit, DMATE, in SCC3  
enables the SCTE bit to generate CPU interrupt requests. Setting  
both the SCTIE and DMATE bits enables the SCTE bit to generate  
DMA service requests. Reset clears the SCTIE bit.  
1 = SCTE enabled to generate CPU interrupt or DMA service  
requests  
0 = SCTE not enabled to generate CPU interrupt or DMA service  
requests  
TCIE — Transmission Complete Interrupt Enable Bit  
This read/write bit enables the TC bit to generate SCI transmitter CPU  
interrupt requests. Reset clears the TCIE bit.  
1 = TC enabled to generate CPU interrupt requests  
0 = TC not enabled to generate CPU interrupt requests  
SCRIE — SCI Receive Interrupt Enable Bit  
This read/write bit enables the SCRF bit to generate SCI receiver  
CPU interrupt requests or SCI receiver DMA service requests. Setting  
the SCRIE bit and clearing the DMA receive enable bit, DMARE, in  
SCC3 enables the SCRF bit to generate CPU interrupt requests.  
Setting both SCRIE and DMARE enables SCRF to generate DMA  
service requests. Reset clears the SCRIE bit.  
1 = SCRF enabled to generate CPU interrupt or DMA service  
requests  
0 = SCRF not enabled to generate CPU interrupt or DMA service  
requests  
ILIE — Idle Line Interrupt Enable Bit  
This read/write bit enables the IDLE bit to generate SCI receiver CPU  
interrupt requests. Reset clears the ILIE bit.  
1 = IDLE enabled to generate CPU interrupt requests  
0 = IDLE not enabled to generate CPU interrupt requests  
34-sci_d  
MC68HC708XL36  
268  
SCI  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
SCI  
I/O Registers  
NOTE: When SCI receiver DMA service requests are enabled (DMARE = 1),  
then SCI receiver CPU interrupt requests are disabled, and the state of  
the ILIE bit has no effect.  
TE — Transmitter Enable Bit  
Setting this read/write bit begins the transmission by sending a  
preamble of 10 or 11 logic 1s from the transmit shift register to the  
TxD pin. If software clears the TE bit, the transmitter completes any  
transmission in progress before the TxD returns to the idle condition  
(logic 1). Clearing and then setting TE during a transmission queues  
an idle character to be sent after the character currently being  
transmitted. Reset clears the TE bit.  
1 = Transmitter enabled  
0 = Transmitter disabled  
NOTE: Writing to the TE bit is not allowed when the enable SCI bit (ENSCI) is  
clear. ENSCI is in SCI control register 1.  
RE — Receiver Enable Bit  
Setting this read/write bit enables the receiver. Clearing the RE bit  
disables the receiver but does not affect receiver interrupt flag bits.  
Reset clears the RE bit.  
1 = Receiver enabled  
0 = Receiver disabled  
NOTE: Writing to the RE bit is not allowed when the enable SCI bit (ENSCI) is  
clear. ENSCI is in SCI control register 1.  
RWU — Receiver Wakeup Bit  
This read/write bit puts the receiver in a standby state during which  
receiver interrupts are disabled. The WAKE bit in SCC1 determines  
whether an idle input or an address mark brings the receiver out of the  
standby state and clears the RWU bit. Reset clears the RWU bit.  
1 = Standby state  
0 = Normal operation  
35-sci_d  
MC68HC708XL36  
MOTOROLA  
SCI  
269  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
SCI  
SBK — Send Break Bit  
Setting and then clearing this read/write bit transmits a break  
character followed by a logic 1. The logic 1 after the break character  
guarantees recognition of a valid start bit. If SBK remains set, the  
transmitter continuously transmits break characters with no logic 1s  
between them. Reset clears the SBK bit.  
1 = Transmit break characters  
0 = No break characters being transmitted  
NOTE: Do not toggle the SBK bit immediately after setting the SCTE bit.  
Toggling SBK before the preamble begins causes the SCI to send a  
break character instead of a preamble.  
SCI Control  
Re g iste r 3  
SCI control register 3:  
Stores the ninth SCI data bit received and the ninth SCI data bit to  
be transmitted.  
Enables SCI receiver full (SCRF) DMA service requests.  
Enables SCI transmitter empty (SCTE) DMA service requests.  
Enables the following interrupts:  
– Receiver overrun interrupts  
– Noise error interrupts  
– Framing error interrupts  
– Parity error interrupts  
Address: $0015  
Bit 7  
6
T8  
U
5
4
3
ORIE  
0
2
NEIE  
0
1
FEIE  
0
Bit 0  
PEIE  
0
Read:  
Write:  
Reset:  
R8  
DMARE DMATE  
U
0
0
= Unimplemented  
U = Unaffected  
Figure 13. SCI Control Register 3 (SCC3)  
36-sci_d  
MC68HC708XL36  
270  
SCI  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
SCI  
I/O Registers  
R8 — Received Bit 8  
When the SCI is receiving 9-bit characters, R8 is the read-only ninth  
bit (bit 8) of the received character. R8 is received at the same time  
that the SCDR receives the other 8 bits.  
When the SCI is receiving 8-bit characters, R8 is a copy of the eighth  
bit (bit 7). Reset has no effect on the R8 bit.  
T8 — Transmitted Bit 8  
When the SCI is transmitting 9-bit characters, T8 is the read/write  
ninth bit (bit 8) of the transmitted character. T8 is loaded into the  
transmit shift register at the same time that the SCDR is loaded into  
the transmit shift register. Reset has no effect on the T8 bit.  
DMARE — DMA Receive Enable Bit  
This read/write bit enables the DMA to service SCI receiver DMA  
service requests generated by the SCRF bit. Setting the DMARE bit  
disables SCI receiver CPU interrupt requests. Reset clears the  
DMARE bit.  
1 = DMA enabled to service SCI receiver DMA service requests  
generated by the SCRF bit (SCI receiver CPU interrupt  
requests disabled)  
0 = DMA not enabled to service SCI receiver DMA service requests  
generated by the SCRF bit (SCI receiver CPU interrupt  
requests enabled)  
NOTE: To enable the SCRF bit to generate DMA service requests, the SCI  
receive interrupt enable bit (SCRIE) must be set.  
DMATE — DMA Transfer Enable Bit  
This read/write bit enables SCI transmitter empty (SCTE) DMA  
service requests. (See SCI Status Register 1 on page 273.) Setting  
the DMATE bit disables SCTE CPU interrupt requests. Reset clears  
DMATE.  
1 = SCTE DMA service requests enabled  
SCTE CPU interrupt requests disabled  
0 = SCTE DMA service requests disabled  
SCTE CPU interrupt requests enabled  
37-sci_d  
MC68HC708XL36  
MOTOROLA  
SCI  
271  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
SCI  
NOTE: To enable the SCTE bit to generate DMA service requests, the SCI  
transmit interrupt enable bit (SCTIE) must be set.  
ORIE — Receiver Overrun Interrupt Enable Bit  
This read/write bit enables SCI error CPU interrupt requests  
generated by the receiver overrun bit, OR.  
1 = SCI error CPU interrupt requests from OR bit enabled  
0 = SCI error CPU interrupt requests from OR bit disabled  
NEIE — Receiver Noise Error Interrupt Enable Bit  
This read/write bit enables SCI error CPU interrupt requests  
generated by the noise error bit, NE. Reset clears NEIE.  
1 = SCI error CPU interrupt requests from NE bit enabled  
0 = SCI error CPU interrupt requests from NE bit disabled  
FEIE — Receiver Framing Error Interrupt Enable Bit  
This read/write bit enables SCI error CPU interrupt requests  
generated by the framing error bit, FE. Reset clears FEIE.  
1 = SCI error CPU interrupt requests from FE bit enabled  
0 = SCI error CPU interrupt requests from FE bit disabled  
PEIE — Receiver Parity Error Interrupt Enable Bit  
This read/write bit enables SCI receiver CPU interrupt requests  
generated by the parity error bit, PE. Reset clears PEIE.  
1 = SCI error CPU interrupt requests from PE bit enabled  
0 = SCI error CPU interrupt requests from PE bit disabled  
38-sci_d  
MC68HC708XL36  
272  
SCI  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
SCI  
I/O Registers  
SCI Sta tus Register 1  
SCI status register 1 contains flags to signal the following conditions:  
Transfer of SCDR data to transmit shift register complete  
Transmission complete  
Transfer of receive shift register data to SCDR complete  
Receiver input idle  
Receiver overrun  
Noisy data  
Framing error  
Parity error  
Address: $0016  
Bit 7  
6
5
4
3
2
1
Bit 0  
PE  
Read: SCTE  
Write:  
TC  
SCRF  
IDLE  
OR  
NF  
FE  
Reset:  
1
1
0
0
0
0
0
0
= Unimplemented  
Figure 14. SCI Status Register 1 (SCS1)  
SCTE — SCI Transmitter Empty Bit  
This clearable, read-only bit is set when the SCDR transfers a  
character to the transmit shift register. SCTE can generate an SCI  
transmitter CPU interrupt request or an SCI transmitter DMA service  
request. When the SCTIE bit in SCC2 is set and the DMATE bit in  
SCC3 is clear, SCTE generates an SCI transmitter CPU interrupt  
request. With both the SCTIE and DMATE bits set, SCTE generates  
an SCI transmitter DMA service request. In normal operation, clear  
the SCTE bit by reading SCS1 with SCTE set and then writing to  
SCDR. In DMA transfers, the DMA automatically clears the SCTE bit  
when it writes to the SCDR. Reset sets the SCTE bit.  
1 = SCDR data transferred to transmit shift register  
0 = SCDR data not transferred to transmit shift register  
39-sci_d  
MC68HC708XL36  
MOTOROLA  
SCI  
273  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
SCI  
NOTE: When DMATE = 1, a write by the CPU to the SCI data register can clear  
the SCTE bit inadvertently and cause the DMA to miss a service request.  
NOTE: Setting the TE bit for the first time also sets the SCTE bit. When enabling  
SCI transmitter DMA service requests, set the TE bit after setting the  
DMATE bit. Otherwise setting the TE and SCTIE bits generates an SCI  
transmitter CPU interrupt request instead of a DMA service request.  
TC — Transmission Complete Bit  
This read-only bit is set when the SCTE bit is set, and no data,  
preamble, or break character is being transmitted. TC generates an  
SCI transmitter CPU interrupt request if the TCIE bit in SCC2 is also  
set. When the DMA services an SCI transmitter DMA service request,  
the DMA clears the TC bit by writing to the SCDR. TC is cleared  
automatically when data, preamble, or break is queued and ready to  
be sent. There may be up to 1.5 transmitter clocks of latency between  
queueing data, preamble, and break and the transmission actually  
starting. Reset sets the TC bit.  
1 = No transmission in progress  
0 = Transmission in progress  
SCRF — SCI Receiver Full Bit  
This clearable, read-only bit is set when the data in the receive shift  
register transfers to the SCI data register. SCRF can generate an SCI  
receiver CPU interrupt request or an SCI receiver DMA service  
request. When the SCRIE bit in SCC2 is set and the DMARE bit in  
SCC3 is clear, SCRF generates a CPU interrupt request. With both  
the SCRIE and DMARE bits set, SCRF generates a DMA service  
request. In normal operation, clear the SCRF bit by reading SCS1  
with SCRF set and then reading the SCDR. In DMA transfers, the  
DMA clears the SCRF bit when it reads the SCDR. Reset clears  
SCRF.  
1 = Received data available in SCDR  
0 = Data not available in SCDR  
NOTE: When DMARE = 1, a read by the CPU of the SCI data register can clear  
the SCRF bit inadvertently and cause the DMA to miss a service request.  
40-sci_d  
MC68HC708XL36  
274  
SCI  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
SCI  
I/O Registers  
IDLE — Receiver Idle Bit  
This clearable, read-only bit is set when 10 or 11 consecutive logic 1s  
appear on the receiver input. IDLE generates an SCI error CPU  
interrupt request if the ILIE bit in SCC2 is also set and the DMARE bit  
in SCC3 is clear. Clear the IDLE bit by reading SCS1 with IDLE set  
and then reading the SCDR. After the receiver is enabled, it must  
receive a valid character that sets the SCRF bit before an idle  
condition can set the IDLE bit. Also, after the IDLE bit has been  
cleared, a valid character must again set the SCRF bit before an idle  
condition can set the IDLE bit. Reset clears the IDLE bit.  
1 = Receiver input idle  
0 = Receiver input active (or idle since the IDLE bit was cleared)  
OR — Receiver Overrun Bit  
This clearable, read-only bit is set when software fails to read the  
SCDR before the receive shift register receives the next character.  
The OR bit generates an SCI error CPU interrupt request if the ORIE  
bit in SCC3 is also set. The data in the shift register is lost, but the data  
already in the SCDR is not affected. Clear the OR bit by reading SCS1  
with OR set and then reading the SCDR. Reset clears the OR bit.  
1 = Receive shift register full and SCRF = 1  
0 = No receiver overrun  
Software latency may allow an overrun to occur between reads of SCS1  
and SCDR in the flag-clearing sequence. Figure 15 shows the normal  
flag-clearing sequence and an example of an overrun caused by a  
delayed flag-clearing sequence. The delayed read of SCDR does not  
clear the OR bit because OR was not set when SCS1 was read. Byte 2  
caused the overrun and is lost. The next flag-clearing sequence reads  
byte 3 in the SCDR instead of byte 2.  
In applications that are subject to software latency or in which it is  
important to know which byte is lost due to an overrun, the flag-clearing  
routine can check the OR bit in a second read of SCS1 after reading the  
data register.  
41-sci_d  
MC68HC708XL36  
MOTOROLA  
SCI  
275  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
SCI  
NORMAL FLAG CLEARING SEQUENCE  
BYTE 1  
BYTE 2  
BYTE 3  
BYTE 4  
READ SCS1  
SCRF = 1  
OR = 0  
READ SCS1  
SCRF = 1  
OR = 0  
READ SCS1  
SCRF = 1  
OR = 0  
READ SCDR  
BYTE 1  
READ SCDR  
BYTE 2  
READ SCDR  
BYTE 3  
DELAYED FLAG CLEARING SEQUENCE  
BYTE 1  
BYTE 2  
BYTE 3  
BYTE 4  
READ SCS1  
SCRF = 1  
OR = 0  
READ SCS1  
SCRF = 1  
OR = 1  
READ SCDR  
BYTE 1  
READ SCDR  
BYTE 3  
Figure 15. Flag Clearing Sequence  
NF — Receiver Noise Flag Bit  
This clearable, read-only bit is set when the SCI detects noise on the  
RxD pin. NF generates an NF CPU interrupt request if the NEIE bit in  
SCC3 is also set. Clear the NF bit by reading SCS1 and then reading  
the SCDR. Reset clears the NF bit.  
1 = Noise detected  
0 = No noise detected  
FE — Receiver Framing Error Bit  
This clearable, read-only bit is set when a logic 0 is accepted as the  
stop bit. FE generates an SCI error CPU interrupt request if the FEIE  
bit in SCC3 also is set. Clear the FE bit by reading SCS1 with FE set  
and then reading the SCDR. Reset clears the FE bit.  
1 = Framing error detected  
0 = No framing error detected  
42-sci_d  
MC68HC708XL36  
276  
SCI  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
SCI  
I/O Registers  
PE — Receiver Parity Error Bit  
This clearable, read-only bit is set when the SCI detects a parity error  
in incoming data. PE generates a PE CPU interrupt request if the  
PEIE bit in SCC3 is also set. Clear the PE bit by reading SCS1 with  
PE set and then reading the SCDR. Reset clears the PE bit.  
1 = Parity error detected  
0 = No parity error detected  
SCI Sta tus Register 2  
SCI status register 2 contains flags to signal the following conditions:  
Break character detected  
Incoming data  
Address: $0017  
Bit 7  
6
5
4
0
3
0
2
0
1
Bit 0  
RPF  
Read:  
BKF  
Write:  
Reset:  
0
0
0
0
0
= Unimplemented  
Figure 16. SCI Status Register 2 (SCS2)  
BKF — Break Flag Bit  
This clearable, read-only bit is set when the SCI detects a break  
character on the RxD pin. In SCS1, the FE and SCRF bits are also  
set. In 9-bit character transmissions, the R8 bit in SCC3 is cleared.  
BKF does not generate a CPU interrupt request or a DMA service  
request. Clear BKF by reading SCS2 with BKF set and then reading  
the SCDR. Once cleared, BKF can become set again only after logic  
1s again appear on the RxD pin followed by another break character.  
Reset clears the BKF bit.  
1 = Break character detected  
0 = No break character detected  
43-sci_d  
MC68HC708XL36  
MOTOROLA  
SCI  
277  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
SCI  
RPF —Reception in Progress Flag Bit  
This read-only bit is set when the receiver detects a logic 0 during the  
RT1 time period of the start bit search. RPF does not generate an  
interrupt request. RPF is reset after the receiver detects false start  
bits (usually from noise or a baud rate mismatch), or when the  
receiver detects an idle character. Polling RPF before disabling the  
SCI module or entering stop mode can show whether a reception is  
in progress.  
1 = Reception in progress  
0 = No reception in progress  
SCI Da ta Re g iste r  
The SCI data register is the buffer between the internal data bus and the  
receive and transmit shift registers. Reset has no effect on data in the  
SCI data register.  
Address: $0018  
Bit 7  
R7  
6
5
4
3
2
1
Bit 0  
R0  
Read:  
Write:  
Reset:  
R6  
T6  
R5  
T5  
R4  
T4  
R3  
T3  
R2  
T2  
R1  
T1  
T7  
T0  
Unaffected by Reset  
Figure 17. SCI Data Register (SCDR)  
R7/T7–R0/T0 — Receive/Transmit Data Bits  
Reading address $0018 accesses the read-only received data bits,  
R7–R0. Writing to address $0018 writes the data to be transmitted,  
T7–T0. Reset has no effect on the SCI data register.  
NOTE: Do not use read-modify-write instructions on the SCI data register.  
44-sci_d  
MC68HC708XL36  
278  
SCI  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
SCI  
I/O Registers  
SCI Ba ud Ra te  
Re g iste r  
The baud rate register selects the baud rate for both the receiver and the  
transmitter.  
Address: $0019  
Bit 7  
0
6
5
SCP1  
0
4
3
R
0
2
SCR2  
0
1
SCR1  
0
Bit 0  
SCR0  
0
Read:  
Write:  
Reset:  
SCP0  
0
0
= Unimplemented  
R = Reserved  
Figure 18. SCI Baud Rate Register (SCBR)  
SCP1 and SCP0 — SCI Baud Rate Prescaler Bits  
These read/write bits select the baud rate prescaler divisor as shown  
in Table 9. Reset clears SCP1 and SCP0.  
Table 9. SCI Baud Rate Prescaling  
SCP[1:0]  
Prescaler Divisor (PD)  
00  
01  
10  
11  
1
3
4
13  
MC68HC708XL36  
279  
MOTOROLA  
SCI  
For More Information On This Product,  
Go to: www.freescale.com  
 
Freescale Semiconductor, Inc.  
SCI  
SCR2–SCR0 — SCI Baud Rate Select Bits  
These read/write bits select the SCI baud rate divisor as shown in  
Table 10. Reset clears SCR2–SCR0.  
Table 10. SCI Baud Rate Selection  
SCR[2:1:0]  
000  
Baud Rate Divisor (BD)  
1
2
001  
010  
4
011  
8
100  
16  
32  
64  
128  
101  
110  
111  
Use the following formula to calculate the SCI baud rate:  
fCrystal  
Baud rate = ------------------------------------  
64 × PD × BD  
where:  
f
= crystal frequency  
Crystal  
PD = prescaler divisor  
BD = baud rate divisor  
MC68HC708XL36  
280  
SCI  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
 
Freescale Semiconductor, Inc.  
SCI  
I/O Registers  
Table 11 shows the SCI baud rates that can be generated with a  
4.9152-MHz crystal.  
Table 11. SCI Baud Rate Selection Examples  
Prescaler  
Divisor  
(PD)  
Baud Rate  
Divisor  
(BD)  
Baud Rate  
= 4.9152 MHz)  
SCP[1:0]  
SCR[2:1:0]  
(f  
Crystal  
00  
00  
00  
00  
00  
00  
00  
00  
01  
01  
01  
01  
01  
01  
01  
01  
10  
10  
10  
10  
10  
10  
10  
10  
11  
11  
11  
11  
11  
11  
11  
11  
1
1
000  
001  
010  
011  
100  
101  
110  
111  
000  
001  
010  
011  
100  
101  
110  
111  
000  
001  
010  
011  
100  
101  
110  
111  
000  
001  
010  
011  
100  
101  
110  
111  
1
2
76,800  
38,400  
19,200  
9600  
4800  
2400  
1200  
600  
1
4
1
8
1
16  
32  
64  
128  
1
1
1
1
3
25,600  
12,800  
6400  
3200  
1600  
800  
3
2
3
4
3
8
3
16  
32  
64  
128  
1
3
3
400  
3
200  
4
19,200  
9600  
4800  
2400  
1200  
600  
4
2
4
4
4
8
4
16  
32  
64  
128  
1
4
4
300  
4
150  
13  
13  
13  
13  
13  
13  
13  
13  
5908  
2954  
1477  
739  
2
4
8
16  
32  
64  
128  
369  
185  
92  
46  
MC68HC708XL36  
281  
MOTOROLA  
SCI  
For More Information On This Product,  
Go to: www.freescale.com  
 
Freescale Semiconductor, Inc.  
SCI  
MC68HC708XL36  
282  
SCI  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Inp ut/ Outp ut Ports  
I/ O Ports  
Conte nts  
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .284  
Port A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .286  
Port A Data Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .286  
Data Direction Register A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .286  
Port B . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .288  
Port B Data Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .288  
Data Direction Register B . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .288  
Port C . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .290  
Port C Data Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .290  
Data Direction Register C . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .290  
Port D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .292  
Port D Data Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .292  
Data Direction Register D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .292  
Port E . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .294  
Port E Data Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .294  
Data Direction Register E . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .296  
Port F . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .297  
Port F Data Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .297  
Data Direction Register F . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .299  
Port G . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .300  
Port G Data Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .300  
Data Direction Register G . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .301  
Port H . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .303  
Port H Data Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .303  
Data Direction Register H . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .303  
1-ports_a  
MC68HC708XL36  
MOTOROLA  
I/O Ports  
283  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
I/ O Ports  
Introd uc tion  
Fifty-four bidirectional input-output (I/O) pins form eight parallel ports. All  
I/O pins are programmable as inputs or outputs.  
NOTE: Connect any unused I/O pins to an appropriate logic level, either V or  
DD  
V . Although the I/O ports do not require termination for proper  
SS  
operation, termination reduces excess current consumption and the  
possibility of electrostatic damage.  
Register Name  
Bit 7  
6
5
4
3
2
1
Bit 0  
Read:  
PA7  
PA6  
PA5  
PA4  
PA3  
PA2  
PA1  
PA0  
Port A Data Register (PORTA) Write:  
Reset:  
Read:  
Unaffected by Reset  
PB4 PB3  
Unaffected by Reset  
PC4 PC3  
Unaffected by Reset  
PD4 PD3  
Unaffected by Reset  
DDRA7 DDRA6 DDRA5 DDRA4 DDRA3 DDRA2 DDRA1 DDRA0  
PB7  
PC7  
PD7  
PB6  
PC6  
PD6  
PB5  
PC5  
PD5  
PB2  
PC2  
PD2  
PB1  
PC1  
PD1  
PB0  
PC0  
PD0  
Port B Data Register (PORTB) Write:  
Reset:  
Read:  
Port C Data Register (PORTC) Write:  
Reset:  
Read:  
Port D Data Register (PORTD) Write:  
Reset:  
Read:  
Data Direction Register A (DDRA) Write:  
Reset:  
0
0
0
0
0
0
0
0
Read:  
DDRB7 DDRB6 DDRB5 DDRB4 DDRB3 DDRB2 DDRB1 DDRB0  
Data Direction Register B (DDRB) Write:  
Reset:  
0
0
0
0
0
0
0
0
Read:  
DDRC7 DDRC6 DDRC5 DDRC4 DDRC3 DDRC2 DDRC1 DDRC0  
Data Direction Register C (DDRC) Write:  
Reset:  
0
0
0
0
0
0
0
0
Read:  
DDRD7 DDRD6 DDRD5 DDRD4 DDRD3 DDRD2 DDRD1 DDRD0  
Data Direction Register D (DDRD) Write:  
Reset:  
0
0
0
0
0
0
0
0
Read:  
PE7  
PE6  
PE5  
PE4  
PE3  
PE2  
PE1  
PE0  
Port E Data Register (PORTE) Write:  
Reset:  
Unaffected by Reset  
PF4 PF3  
Unaffected by Reset  
Read:  
Port F Data Register (PORTF) Write:  
Reset:  
0
0
PF5  
PF2  
PF1  
PF0  
= Unimplemented  
Figure 1. I/O Register Summary  
2-ports_a  
MC68HC708XL36  
284  
I/O Ports  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
I/O Ports  
Introduction  
Register Name  
Bit 7  
6
5
4
3
2
1
Bit 0  
Read:  
0
0
0
0
PG3  
PG2  
PG1  
PG0  
Port G Data Register (PORTG) Write:  
Reset:  
Unaffected by Reset  
Read:  
0
0
0
0
PH3  
PH2  
PH1  
PH0  
Port H Data Register (PORTH) Write:  
Reset:  
Unaffected by Reset  
Read:  
DDRE7 DDRE6 DDRE5 DDRE4 DDRE3 DDRE2 DDRE1 DDRE0  
Data Direction Register E (DDRE) Write:  
Reset:  
Read:  
0
0
0
0
0
0
0
DDRF3  
0
0
DDRF2  
0
0
DDRF1  
0
0
DDRF0  
0
DDRF5  
DDRF4  
Data Direction Register F (DDRF) Write:  
Reset:  
Read:  
0
0
0
0
0
0
0
0
DDRG3 DDRG2 DDRG1 DDRG0  
Data Direction Register G (DDRG) Write:  
Reset:  
0
0
0
0
0
0
0
0
0
0
0
0
Read:  
Data Direction Register H (DDRH) Write:  
Reset:  
DDRH3 DDRH2 DDRH1 DDRH0  
0
0
0
0
0
0
0
0
= Unimplemented  
Figure 1. I/O Register Summary  
Table 1. I/O Register Address Summary  
Register PORTA PORTB PORTC PORTD DDRA DDRB DDRC DDRD PORTE PORTF  
Address $0000 $0001 $0002 $0003 $0004 $0005 $0006 $0007 $0008 $0009  
Register PORTG PORTH DDRE  
DDRF DDRG DDRH  
Address $000A $000B $000C $000D $000E $000F  
3-ports_a  
MC68HC708XL36  
285  
MOTOROLA  
I/O Ports  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
I/ O Ports  
Port A  
Port A is an 8-bit, general-purpose bidirectional I/O port.  
Port A Da ta  
Re g iste r  
PORTA contains the data latches for the eight port A pins.  
Address: $0000  
Bit 7  
6
5
4
3
2
1
Bit 0  
PA0  
Read:  
Write:  
Reset:  
PA7  
PA6  
PA5  
PA4  
PA3  
PA2  
PA1  
Unaffected by Reset  
Figure 2. Port A Data Register (PORTA)  
PA[7:0] — Port A Data Bits  
These read/write bits are software programmable. Data direction of  
each port A pin is under the control of the corresponding bit in data  
direction register A. Reset has no effect on port A data.  
Da ta Dire c tion  
Re g iste r A  
Data direction register A determines whether each port A pin is an input  
or an output. Writing a logic 1 to a DDRA bit enables the output buffer for  
the corresponding port A pin; a logic 0 disables the output buffer.  
Address: $0004  
Bit 7  
6
5
4
3
2
1
Bit 0  
Read:  
Write:  
Reset:  
DDRA7 DDRA6 DDRA5 DDRA4 DDRA3 DDRA2 DDRA1 DDRA0  
0
0
0
0
0
0
0
0
Figure 3. Data Direction Register A (DDRA)  
4-ports_a  
MC68HC708XL36  
286  
I/O Ports  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
I/O Ports  
Port A  
DDRA[7:0] — Data Direction Register A Bits  
These read/write bits control port A data direction. Reset clears  
DDRA[7:0], configuring all port A pins as inputs.  
1 = Corresponding port A pin configured as output  
0 = Corresponding port A pin configured as input  
NOTE: Avoid glitches on port A pins by writing to the port A data register before  
changing data direction register A bits from 0 to 1.  
Figure 4 shows the port A I/O logic.  
READ DDRA ($0004)  
WRITE DDRA ($0004)  
DDRAx  
RESET  
WRITE PORTA ($0000)  
PAx  
PAx  
READ PORTA ($0000)  
Figure 4. Port A I/O Circuit  
When bit DDRAx is a logic 1, reading address $0000 reads the PAx data  
latch. When bit DDRAx is a logic 0, reading address $0000 reads the  
voltage level on the pin. The data latch can always be written, regardless  
of the state of its data direction bit. Table 2 summarizes the operation of  
the port A pins.  
Table 2. Port A Pin Operation  
Access to Data Bit  
Data Direction Bit  
I/O Pin Mode  
Read  
Pin  
Write  
(1)  
0
1
Input, high-impedance  
Output  
Latch  
Latch  
Latch  
1. Writing affects data register, but does not affect input.  
5-ports_a  
MC68HC708XL36  
287  
MOTOROLA  
I/O Ports  
For More Information On This Product,  
Go to: www.freescale.com  
 
 
Freescale Semiconductor, Inc.  
I/ O Ports  
Port B  
Port B is an 8-bit, general-purpose bidirectional I/O port.  
Port B Da ta  
Re g iste r  
PORTB contains the data latches for the eight port B pins.  
Address: $0001  
Bit 7  
6
5
4
3
2
1
Bit 0  
PB0  
Read:  
Write:  
Reset:  
PB7  
PB6  
PB5  
PB4  
PB3  
PB2  
PB1  
Unaffected by Reset  
Figure 5. Port B Data Register (PORTB)  
PB[7:0] — Port B Data Bits  
These read/write bits are software-programmable. Data direction of  
each port B pin is under the control of the corresponding bit in data  
direction register B. Reset has no effect on port B data.  
Da ta Dire c tion  
Re g iste r B  
Data direction register B determines whether each port B pin is an input  
or an output. Writing a logic 1 to a DDRB bit enables the output buffer for  
the corresponding port B pin; a logic 0 disables the output buffer.  
Address: $0005  
Bit 7  
6
5
4
3
2
1
Bit 0  
Read:  
Write:  
Reset:  
DDRB7 DDRB6 DDRB5 DDRB4 DDRB3 DDRB2 DDRB1 DDRB0  
0
0
0
0
0
0
0
0
Figure 6. Data Direction Register B (DDRB)  
6-ports_a  
MC68HC708XL36  
288  
I/O Ports  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
I/O Ports  
Port B  
DDRB[7:0] — Data Direction Register B Bits  
These read/write bits control port B data direction. Reset clears  
DDRB[7:0], configuring all port B pins as inputs.  
1 = Corresponding port B pin configured as output  
0 = Corresponding port B pin configured as input  
NOTE: Avoid glitches on port B pins by writing to the port B data register before  
changing data direction register B bits from 0 to 1.  
Figure 7 shows the port B I/O logic.  
READ DDRB ($0005)  
WRITE DDRB ($0005)  
DDRBx  
RESET  
WRITE PORTB ($0001)  
PBx  
PBx  
READ PORTB ($0001)  
Figure 7. Port B I/O Circuit  
When bit DDRBx is a logic 1, reading address $0001 reads the PBx data  
latch. When bit DDRBx is a logic 0, reading address $0001 reads the  
voltage level on the pin. The data latch can always be written, regardless  
of the state of its data direction bit. Table 3 summarizes the operation of  
the port B pins.  
Table 3. Port B Pin Operation  
Access to Data Bit  
Data Direction Bit  
I/O Pin Mode  
Read  
Pin  
Write  
(1)  
0
1
Input, high-impedance  
Output  
Latch  
Latch  
Latch  
1. Writing affects data register, but does not affect input.  
7-ports_a  
MC68HC708XL36  
289  
MOTOROLA  
I/O Ports  
For More Information On This Product,  
Go to: www.freescale.com  
 
 
Freescale Semiconductor, Inc.  
I/ O Ports  
Port C  
Port C is an 8-bit, general-purpose bidirectional I/O port.  
Port C Da ta  
Re g iste r  
PORTC contains the data latches for the eight port C pins.  
Address: $0002  
Bit 7  
6
5
4
3
2
1
Bit 0  
PC0  
Read:  
Write:  
Reset:  
PC7  
PC6  
PC5  
PC4  
PC3  
PC2  
PC1  
Unaffected by Reset  
Figure 8. Port C Data Register (PORTC)  
PC[7:0] — Port C Data Bits  
These read/write bits are software-programmable. Data direction of  
each port C pin is under the control of the corresponding bit in data  
direction register C. Reset has no effect on port C data.  
Da ta Dire c tion  
Re g iste r C  
Data direction register C determines whether each port C pin is an input  
or an output. Writing a logic 1 to a DDRC bit enables the output buffer  
for the corresponding port C pin; a logic 0 disables the output buffer.  
Address: $0006  
Bit 7  
6
5
4
3
2
1
DDRC  
0
Bit 0  
DDRC0  
0
Read:  
Write:  
Reset:  
DDRC7 DDRC6 DDRC5 DDRC4 DDRC3 DDRC2  
0
0
0
0
0
0
Figure 9. Data Direction Register C (DDRC)  
8-ports_a  
MC68HC708XL36  
290  
I/O Ports  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
I/O Ports  
Port C  
DDRC[7:0] — Data Direction Register C Bits  
These read/write bits control port C data direction. Reset clears  
DDRC[7:0], configuring all port C pins as inputs.  
1 = Corresponding port C pin configured as output  
0 = Corresponding port C pin configured as input  
NOTE: Avoid glitches on port C pins by writing to the port C data register before  
changing data direction register C bits from 0 to 1.  
Figure 10 shows the port C I/O logic.  
READ DDRC ($0006)  
WRITE DDRC ($0006)  
DDRCx  
RESET  
WRITE PORTC ($0002)  
PCx  
PCx  
READ PORTC ($0002)  
Figure 10. Port C I/O Circuit  
When bit DDRCx is a logic 1, reading address $0002 reads the PCx data  
latch. When bit DDRCx is a logic 0, reading address $0002 reads the  
voltage level on the pin. The data latch can always be written, regardless  
of the state of its data direction bit. Table 4 summarizes the operation of  
the port C pins.  
Table 4. Port C Pin Operation  
Access to Data Bit  
Data Direction Bit  
I/O Pin Mode  
Read  
Pin  
Write  
(1)  
0
1
Input, high-impedance  
Output  
Latch  
Latch  
Latch  
1. Writing affects data register, but does not affect input.  
9-ports_a  
MC68HC708XL36  
291  
MOTOROLA  
I/O Ports  
For More Information On This Product,  
Go to: www.freescale.com  
 
 
Freescale Semiconductor, Inc.  
I/ O Ports  
Port D  
Port D is an 8-bit, general-purpose I/O port.  
Port D Da ta  
Re g iste r  
PORTD contains the data latches for the eight port D pins.  
Address: $0003  
Bit 7  
6
5
4
3
2
1
Bit 0  
PD0  
Read:  
Write:  
Reset:  
PD7  
PD6  
PD5  
PD4  
PD3  
PD2  
PD1  
Unaffected by Reset  
Figure 11. Port D Data Register (PORTD)  
PD[7:0] — Port D Data Bits  
These read/write bits are software-programmable. Data direction of  
each port D pin is under the control of the corresponding bit in data  
direction register D. Reset has no effect on port D data.  
The keyboard interrupt enable bits, KBIE[7:0], in the keyboard  
interrupt control register (KBICR), enable the port D pins as external  
interrupt pins. (See External Interrupt Module on page 311.)  
Da ta Dire c tion  
Re g iste r D  
Data direction register D determines whether each port D pin is an input  
or an output. Writing a logic 1 to a DDRD bit enables the output buffer  
for the corresponding port D pin; a logic 0 disables the output buffer.  
Address: $0007  
Bit 7  
6
5
4
3
2
1
Bit 0  
Read:  
Write:  
Reset:  
DDRD7 DDRD6 DDRD5 DDRD4 DDRD3 DDRD2 DDRD1 DDRD0  
0
0
0
0
0
0
0
0
Figure 12. Data Direction Register D (DDRD)  
10-ports_a  
MC68HC708XL36  
292  
I/O Ports  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
I/O Ports  
Port D  
DDRD[7:0] — Data Direction Register D Bits  
These read/write bits control port D data direction. Reset clears  
DDRD[7:0], configuring all port D pins as inputs.  
1 = Corresponding port D pin configured as output  
0 = Corresponding port D pin configured as input  
NOTE: Avoid glitches on port D pins by writing to the port D data register before  
changing data direction register D bits from 0 to 1.  
Figure 13 shows the port D I/O logic.  
READ DDRD ($0007)  
WRITE DDRD ($0007)  
DDRDx  
RESET  
WRITE PORTD ($0003)  
PDx  
PDx  
READ PORTD ($0003)  
Figure 13. Port D I/O Circuit  
When bit DDRDx is a logic 1, reading address $0003 reads the PDx data  
latch. When bit DDRDx is a logic 0, reading address $0003 reads the  
voltage level on the pin. The data latch can always be written, regardless  
of the state of its data direction bit. Table 5 summarizes the operation of  
the port D pins.  
Table 5. Port D Pin Operation  
Access to Data Bit  
Data Direction Bit  
I/O Pin Mode  
Read  
Pin  
Write  
(1)  
0
1
Input, high-impedance  
Output  
Latch  
Latch  
Latch  
1. Writing affects data register, but does not affect input.  
11-ports_a  
MC68HC708XL36  
293  
MOTOROLA  
I/O Ports  
For More Information On This Product,  
Go to: www.freescale.com  
 
 
Freescale Semiconductor, Inc.  
I/ O Ports  
Port E  
Port E is an 8-bit special function port that shares five of its pins with the  
timer interface module (TIM) and two of its pins with the serial  
communications interface module (SCI).  
Port E Da ta  
Re g iste r  
PORTE contains the data latches for the eight port E pins.  
Address: $0008  
Bit 7  
6
5
4
3
2
1
Bit 0  
PE0  
Read:  
Write:  
Reset:  
PE7  
PE6  
PE5  
PE4  
PE3  
PE2  
PE1  
Unaffected by Reset  
TCH0 TCLK  
Alternate  
Function:  
TCH3  
TCH2  
TCH1  
TxD  
RxD  
Figure 14. Port E Data Register (PORTE)  
PE[7:0] — Port E Data Bits  
PE[7:0] are read/write, software programmable bits. Data direction of  
each port E pin is under the control of the corresponding bit in data  
direction register E.  
TCH[3:0] — Timer Channel I/O Bits  
The PE7/TCH3–PE4/TCH0 pins are the TIM input capture/output  
compare pins. The edge/level select bits, ELSxB:ELSxA, determine  
whether the PE7/TCH3–PE4/TCH0 pins are timer channel I/O pins or  
general-purpose I/O pins. (See Timer Interface Module on page  
171.)  
NOTE: Data direction register E (DDRE) does not affect the data direction of  
port E pins that are being used by the TIM. However, the DDRE bits  
always determine whether reading port E returns the states of the  
latches or the states of the pins. (See Table 6.)  
12-ports_a  
MC68HC708XL36  
294  
I/O Ports  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
I/O Ports  
Port E  
TCLK — Timer Clock Input  
The PE3/TCLK pin is the external clock input for the TIM. The  
prescaler select bits, PS[2:0], select PE3/TCLK as the TIM clock  
input. (See Timer Interface Module on page 171.) When not  
selected as the TIM clock, PE3/TCLK is available for general-purpose  
I/O.  
TxD — SCI Transmit Data Output  
The PE2/TxD pin is the transmit data output for the SCI module.  
When the enable SCI bit, ENSCI, is clear, the SCI module is disabled  
and the PE2/TxD pin is available for general-purpose I/O. (See Serial  
Communications Interface Module on page 235.)  
NOTE: Data direction register E (DDRE) does not affect the data direction of  
port E pins that are being used by the SCI module. However, the DDRE  
bits always determine whether reading port E returns the states of the  
latches or the states of the pins. (See Table 6.)  
RxD — SCI Receive Data Input  
The PE1/RxD pin is the receive data input for the SCI module. When  
the enable SCI bit, ENSCI, is clear, the SCI module is disabled and  
the PE1/RxD pin is available for general-purpose I/O. (See Serial  
Communications Interface Module on page 235.)  
13-ports_a  
MC68HC708XL36  
MOTOROLA  
I/O Ports  
295  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
I/ O Ports  
Da ta Dire c tion  
Re g iste r E  
Data direction register E determines whether each port E pin is an input  
or an output. Writing a logic 1 to a DDRE bit enables the output buffer for  
the corresponding port E pin; a logic 0 disables the output buffer.  
Address: $000C  
Bit 7  
DDR37  
0
6
5
4
3
2
1
DDTE1  
0
Bit 0  
DDRE0  
0
Read:  
Write:  
Reset:  
DDRE6 DDRE5 DDRE4 DDRE3 DDRE2  
0
0
0
0
0
Figure 15. Data Direction Register E (DDRE)  
DDRE[7:0] — Data Direction Register E Bits  
These read/write bits control port E data direction. Reset clears  
DDRE[7:0], configuring all port E pins as inputs.  
1 = Corresponding port E pin configured as output  
0 = Corresponding port E pin configured as input  
NOTE: Avoid glitches on port E pins by writing to the port E data register before  
changing data direction register E bits from 0 to 1.  
Figure 16 shows the port E I/O logic.  
READ DDRE ($000C)  
WRITE DDRE ($000C)  
DDREx  
RESET  
WRITE PORTE ($0008)  
PEx  
PEx  
READ PORTE ($0008)  
Figure 16. Port E I/O Circuit  
14-ports_a  
MC68HC708XL36  
296  
I/O Ports  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
 
Freescale Semiconductor, Inc.  
I/O Ports  
Port F  
When bit DDREx is a logic 1, reading address $0008 reads the PEx data  
latch. When bit DDREx is a logic 0, reading address $0008 reads the  
voltage level on the pin. The data latch can always be written, regardless  
of the state of its data direction bit. Table 6 summarizes the operation of  
the port E pins.  
Table 6. Port E Pin Operation  
Access to Data Bit  
Data Direction Bit  
I/O Pin Mode  
Read  
Pin  
Write  
(1)  
0
1
Input, high-impedance  
Output  
Latch  
Latch  
Latch  
1. Writing affects data register, but does not affect input.  
Port F  
PORTF is a 6-bit, special function port that shares four of its pins with  
the serial peripheral interface module (SPI).  
Port F Da ta  
Re g iste r  
PORTF contains the data latches for the six port F pins.  
Address: $0009  
Bit 7  
0
6
0
5
4
3
2
1
Bit 0  
PF0  
Read:  
Write:  
Reset:  
PF5  
PF4  
PF3  
PF2  
PF1  
Unaffected by Reset  
MISO  
Alternate  
Function:  
MOSI  
SPSCK  
SS  
= Unimplemented  
Figure 17. Port F Data Register (PORTF)  
15-ports_a  
MC68HC708XL36  
297  
MOTOROLA  
I/O Ports  
For More Information On This Product,  
Go to: www.freescale.com  
 
Freescale Semiconductor, Inc.  
I/ O Ports  
PF[5:0] — Port F Data Bits  
These read/write bits are software programmable. Data direction of  
each port F pin is under the control of the corresponding bit in data  
direction register F. Reset has no effect on PF[5:0].  
MISO — Master In/Slave Out  
The PF3/MISO pin is the master in/slave out terminal of the SPI  
module. When the SPI enable bit, SPE, is clear, the SPI module is  
disabled and the PF3/MISO pin is available for general-purpose I/O.  
(See Serial Peripheral Interface Module on page 201.)  
NOTE: Data direction register F (DDRF) does not affect the data direction of port  
F pins that are being used by the SPI module. However, the DDRF bits  
always determine whether reading port F returns the states of the  
latches or the states of the pins. (See Table 7.)  
MOSI — Master Out/Slave In  
The PF2/MOSI pin is the master out/slave in terminal of the SPI  
module. When the SPE bit is clear, the PPF2/MOSI pin is available for  
general-purpose I/O. (See Serial Peripheral Interface Module on  
page 201.)  
SPSCK — SPI Serial Clock  
The PF1/SPSCK pin is the serial clock input of the SPI module. When  
the SPE bit is clear, the PF1/SPSCK pin is available for  
general-purpose I/O.  
SS — Slave Select  
The PF0/SS pin is the slave select input of the SPI module. When the  
SPE bit is clear or when the SPI master bit, SPMSTR, is set, the  
PF0/SS pin is available for general-purpose I/O. (See Serial  
Peripheral Interface Module on page 201.) When the SPI is  
enabled, the DDRF0 bit in data direction register F (DDRF) has no  
effect on the PF0/SS pin.  
16-ports_a  
MC68HC708XL36  
298  
I/O Ports  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
I/O Ports  
Port F  
Da ta Dire c tion  
Re g iste r F  
Data direction register F determines whether each port F pin is an input  
or an output. Writing a logic 1 to a DDRF bit enables the output buffer for  
the corresponding port F pin; a logic 0 disables the output buffer.  
Address: $000D  
Bit 7  
0
6
5
DDRF5  
0
4
DDRF4  
0
3
DDRF3  
0
2
DDRF2  
0
1
DDRF1  
0
Bit 0  
DDRF0  
0
Read:  
Write:  
Reset:  
0
= Unimplemented  
Figure 18. Data Direction Register F (DDRF)  
DDRF[5:0] — Data Direction Register F Bits  
These read/write bits control port F data direction. Reset clears  
DDRF[5:0], configuring all port F pins as inputs.  
1 = Corresponding port F pin configured as output  
0 = Corresponding port F pin configured as input  
NOTE: Avoid glitches on port F pins by writing to the port F data register before  
changing data direction register F bits from 0 to 1.  
Figure 19 shows the port F I/O logic.  
READ DDRF ($000D)  
WRITE DDRF ($000D)  
DDRFx  
RESET  
WRITE PORTF ($0009)  
PFx  
PFx  
READ PORTF ($0009)  
Figure 19. Port F I/O Circuit  
17-ports_a  
MC68HC708XL36  
MOTOROLA  
I/O Ports  
299  
For More Information On This Product,  
Go to: www.freescale.com  
 
Freescale Semiconductor, Inc.  
I/ O Ports  
When bit DDRFx is a logic 1, reading address $0009 reads the PFx data  
latch. When bit DDRFx is a logic 0, reading address $0009 reads the  
voltage level on the pin. The data latch can always be written, regardless  
of the state of its data direction bit. Table 7 summarizes the operation of  
the port F pins.  
Table 7. Port F Pin Operation  
Access to Data Bit  
Data Direction Bit  
I/O Pin Mode  
Read  
Pin  
Write  
(1)  
0
1
Input, high-impedance  
Output  
Latch]  
Latch  
Latch  
1. Writing affects data register, but does not affect input.  
Port G  
Port G is a 4-bit, general-purpose bidirectional I/O port.  
NOTE: Port G is available only on the 64-pin QFP.  
Port G Da ta  
Re g iste r  
PORTG contains the data latches for the four port G pins.  
Address: $000A  
Bit 7  
0
6
0
5
0
4
0
3
2
1
Bit 0  
Read:  
Write:  
Reset:  
PG3  
PG2  
PG1  
PG0  
Unaffected by Reset  
= Unimplemented  
Figure 20. Port G Data Register (PORTG)  
18-ports_a  
MC68HC708XL36  
300  
I/O Ports  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
 
Freescale Semiconductor, Inc.  
I/O Ports  
Port G  
PG[3:0] — Port G Data Bits  
These read/write bits are software-programmable. Data direction of  
each bit is under the control of the corresponding bit in data direction  
register G. Reset has no effect on port G data.  
Da ta Dire c tion  
Re g iste r G  
Data direction register G determines whether each port G pin is an input  
or an output. Writing a logic 1 to a DDRG bit enables the output buffer  
for the corresponding port G pin; a logic 0 disables the output buffer.  
Address: $000E  
Bit 7  
0
6
0
5
0
4
0
3
2
1
Bit 0  
Read:  
Write:  
Reset:  
DDRG3 DDRG2 DDRG1 DDRG0  
0
0
0
0
0
0
0
0
= Unimplemented  
Figure 21. Data Direction Register G (DDRG)  
DDRG[3:0] — Data Direction Register G Bits  
These read/write bits control port G data direction. Reset clears  
DDRG[3:0], configuring all port G pins as inputs.  
1 = Corresponding port G pin configured as output  
0 = Corresponding port G pin configured as input  
NOTE: Avoid glitches on port G pins by writing to the port G data register before  
changing data direction register G bits from 0 to 1.  
Figure 22 shows the port G I/O logic.  
19-ports_a  
MC68HC708XL36  
MOTOROLA  
I/O Ports  
301  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
I/ O Ports  
READ DDRG ($000E)  
WRITE DDRG ($000E)  
DDRGx  
RESET  
WRITE PORTG ($000A)  
PGx  
PGx  
READ PORTG ($000A)  
Figure 22. Port G I/O Circuit  
When bit DDRGx is a logic 1, reading address $000A reads the PGx  
data latch. When bit DDRGx is a logic 0, reading address $000A reads  
the voltage level on the pin. The data latch can always be written,  
regardless of the state of its data direction bit. Table 8 summarizes the  
operation of the port G pins.  
Table 8. Port G Pin Operation  
Access to Data Bit  
Data Direction Bit  
I/O Pin Mode  
Read  
Pin  
Write  
(1)  
0
1
Input, high-impedance  
Output  
Latch]  
Latch  
Latch  
1. Writing affects data register, but does not affect input.  
20-ports_a  
MC68HC708XL36  
302  
I/O Ports  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
 
Freescale Semiconductor, Inc.  
I/O Ports  
Port H  
Port H  
Port H is a 4-bit, general-purpose bidirectional I/O port.  
NOTE: Port H is available only on the 64-pin QFP.  
Port H Da ta  
Re g iste r  
PORTH contains the latches for the four port H pins.  
Address: $000B  
Bit 7  
0
6
0
5
0
4
0
3
2
1
Bit 0  
PH0  
Read:  
Write:  
Reset:  
PH3  
PH2  
PH1  
Unaffected by Reset  
= Unimplemented  
Figure 23. Port H Data Register (PORTH)  
PH[3:0] — Port H Data Bits  
These read/write bits are software programmable. Data direction of  
each bit is under the control of the corresponding bit in data direction  
register H. Reset has no effect on port H data.  
Da ta Dire c tion  
Re g iste r H  
Data direction register H determines whether each port H pin is an input  
or an output. Writing a logic 1 to a DDRH bit enables the output buffer  
for the corresponding port H pin; a logic 0 disables the output buffer.  
Address: $000F  
Bit 7  
0
6
0
5
0
4
0
3
2
1
Bit 0  
Read:  
Write:  
Reset:  
DDRH3 DDRH2 DDRH1 DDRH0  
0
0
0
0
0
0
0
0
= Unimplemented  
Figure 24. Data Direction Register H (DDRH)  
21-ports_a  
MC68HC708XL36  
303  
MOTOROLA  
I/O Ports  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
I/ O Ports  
DDRH[3:0] — Data Direction Register H Bits  
These read/write bits control port H data direction. Reset clears  
DDR[3:0], configuring all port H pins as inputs.  
1 = Corresponding port H pin configured as output  
0 = Corresponding port H pin configured as input  
NOTE: Avoid glitches on port H pins by writing to the port H data register before  
changing the data direction register H bits from 0 to 1.  
Figure 25 shows the port H I/O logic.  
READ DDRH ($000F)  
WRITE DDRH ($000F)  
DDRHx  
RESET  
WRITE PORTH ($000B)  
PHx  
PHx  
READ PORTH ($000B)  
Figure 25. Port H I/O Circuit  
When bit DDRHx is a logic 1, reading address $000B reads the PHx data  
latch. When bit DDRHx is a logic 0, reading address $000B reads the  
voltage level on the pin. The data latch can always be written, regardless  
of the state of its data direction bit. Table 9 summarizes the operation of  
the port H pins.  
Table 9. Port H Pin Operation  
Access to Data Bit  
Data Direction Bit  
I/O Pin Mode  
Read  
Pin  
Write  
(1)  
0
1
Input, high-impedance  
Output  
Latch  
Latch  
Latch  
1. Writing affects data register, but does not affect input.  
22-ports_a  
MC68HC708XL36  
304  
I/O Ports  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
 
 
Freescale Semiconductor, Inc.  
Com p ute r Op e ra ting Prop e rly Mod ule  
COP  
Conte nts  
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .305  
Functional Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .306  
I/O Signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .307  
CGMXCLK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .307  
STOP Instruction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .307  
COPCTL Write . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .307  
Power-On Reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .307  
Internal Reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .308  
Reset Vector Fetch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .308  
COPD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .308  
COPRS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .308  
COP Control Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .308  
Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .309  
Monitor Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .309  
Low-Power Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .309  
Wait Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .309  
Stop Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .309  
COP Module During Break Interrupts . . . . . . . . . . . . . . . . . . . . . . . .310  
Introd uc tion  
The COP module contains a free-running counter that generates a reset  
if allowed to overflow. The COP module helps software recover from  
runaway code. Prevent a COP reset by periodically clearing the COP  
counter.  
1-copopt2_b  
MC68HC708XL36  
MOTOROLA  
COP  
305  
For More Information On This Product,  
Go to: www.freescale.com  
 
Freescale Semiconductor, Inc.  
COP  
Func tiona l De sc rip tion  
12-BIT COP PRESCALER  
CGMXCLK  
STOP INSTRUCTION  
INTERNAL RESET SOURCES  
RESET VECTOR FETCH  
COPCTL WRITE  
RESET  
RESET STATUS  
REGISTER  
6-BIT COP COUNTER  
COPD FROM CONFIG  
RESET  
CLEAR COP  
COPCTL WRITE  
COUNTER  
COPRS FROM CONFIG  
Figure 1. COP Block Diagram  
The COP counter is a free-running 6-bit counter preceded by a 12-bit  
prescaler. If not cleared by software, the COP counter overflows and  
13  
4
18  
4
generates an asynchronous reset after 2 – 2 or 2 – 2 CGMXCLK  
cycles, depending on the state of the COP rate select bit, COPRS, in the  
configuration register. When COPRS = 0, a 4.9152-MHz crystal gives a  
COP timeout period of 53.3 ms. Writing any value to location $FFFF  
before an overflow occurs prevents a COP reset by clearing the COP  
counter and stages 5 through 12 of the prescaler.  
2-copopt2_b  
MC68HC708XL36  
306  
COP  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
 
Freescale Semiconductor, Inc.  
COP  
I/O Signals  
NOTE: Service the COP immediately after reset and before entering or after  
exiting stop mode to guarantee the maximum time before the first COP  
counter overflow.  
A COP reset pulls the RST pin low for 32 CGMXCLK cycles and sets the  
COP bit in the reset status register (RSR).  
In monitor mode, the COP is disabled if the RST pin or the IRQ pin is  
held at V + V . During the break state, V + V on the RST pin  
DD  
Hi  
DD  
Hi  
disables the COP.  
NOTE: Place COP clearing instructions in the main program and not in an  
interrupt subroutine. Such an interrupt subroutine could keep the COP  
from generating a reset even while the main program is not working  
properly.  
I/ O Sig na ls  
The following paragraphs describe the signals shown in Figure 1.  
CGMXCLK  
CGMXCLK is the crystal oscillator output signal. CGMXCLK frequency  
is equal to the crystal frequency.  
STOP Instruc tion  
COPCTL Write  
The STOP instruction clears the COP prescaler.  
Writing any value to the COP control register (COPCTL) (see COP  
Control Register on page 308) clears the COP counter and clears  
stages 12 through 5 of the COP prescaler. Reading the COP control  
register returns the reset vector.  
Powe r-On Re se t  
The power-on reset (POR) circuit clears the COP prescaler 4096  
CGMXCLK cycles after power-up.  
3-copopt2_b  
MC68HC708XL36  
MOTOROLA  
COP  
307  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
COP  
Inte rna l Re se t  
Re se t Ve c tor Fe tc h  
An internal reset clears the COP prescaler and the COP counter.  
A reset vector fetch occurs when the vector address appears on the data  
bus. A reset vector fetch clears the COP prescaler.  
COPD  
The COPD signal reflects the state of the COP disable bit (COPD) in the  
configuration register. (See Configuration Register on page 39.)  
COPRS  
The COPRS signal reflects the state of the COP rate select bit.  
COP Control Re g iste r  
The COP control register is located at address $FFFF and overlaps the  
reset vector. Writing any value to $FFFF clears the COP counter and  
starts a new timeout period. Reading location $FFFF returns the low  
byte of the reset vector.  
Address: $FFFF  
Bit 7  
6
5
4
3
2
1
Bit 0  
Read:  
Write:  
Reset:  
Low byte of reset vector  
Clear COP counter  
Unaffected by Reset  
Figure 2. COP Control Register (COPCTL)  
4-copopt2_b  
MC68HC708XL36  
308  
COP  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
COP  
Interrupts  
Inte rrup ts  
The COP does not generate CPU interrupt requests or DMA service  
requests.  
Monitor Mod e  
The COP is disabled in monitor mode when V + V is present on the  
DD  
Hi  
IRQ1/VPP pin or on the RST pin.  
Low-Powe r Mod e s  
The WAIT and STOP instructions put the MCU in low-power-consump-  
tion standby modes.  
Wa it Mod e  
Stop Mod e  
The COP remains active in wait mode. To prevent a COP reset during  
wait mode, periodically clear the COP counter in a CPU interrupt routine  
or a DMA service routine.  
Stop mode turns off the CGMXCLK input to the COP and clears the COP  
prescaler. Service the COP immediately before entering or after exiting  
stop mode to ensure a full COP timeout period after entering or exiting  
stop mode.  
The STOP bit in the configuration register (CONFIG) enables the STOP  
instruction. To prevent inadvertently turning off the COP with a STOP  
instruction, disable the STOP instruction by clearing the STOP bit.  
5-copopt2_b  
MC68HC708XL36  
MOTOROLA  
COP  
309  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
COP  
COP Mod ule During Bre a k Inte rrup ts  
The COP is disabled during a break interrupt when V + V is present  
DD  
Hi  
on the RST pin.  
6-copopt2_b  
MC68HC708XL36  
310  
COP  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Exte rna l Inte rrup t Mod ule  
IRQ  
Conte nts  
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .311  
Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .312  
Functional Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .312  
IRQ1 Pin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .314  
IRQ2 Pin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .316  
Low-Power Modes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .317  
Wait Mode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .317  
Stop Mode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .317  
IRQ Module During Break Interrupts . . . . . . . . . . . . . . . . . . . . . . . . .318  
IRQ Status and Control Register. . . . . . . . . . . . . . . . . . . . . . . . . . . .318  
Introd uc tion  
The IRQ module provides two independently maskable external  
interrupt pins.  
1-intirq2_a  
MC68HC708XL36  
MOTOROLA  
IRQ  
311  
For More Information On This Product,  
Go to: www.freescale.com  
 
Freescale Semiconductor, Inc.  
IRQ  
Fe a ture s  
Features of the IRQ module include the following:  
Two Dedicated External Interrupt Pins with Separate External  
Interrupt Masks  
Hysteresis Buffers  
Programmable Edge-Only or Edge- and Level- Interrupt Sensitivity  
Automatic Interrupt Acknowledge  
Exit from Low-Power Modes  
Func tiona l De sc rip tion  
A logic 0 applied to any of the external interrupt pins can latch a CPU  
interrupt request. Figure 1 shows the structure of the IRQ module.  
Interrupt signals on the IRQ1 pin are latched separately from interrupt  
signals on the IRQ2 pin. CPU interrupt requests remain latched until one  
of the following actions occurs:  
Vector fetch — A vector fetch automatically generates an interrupt  
acknowledge signal that clears the CPU interrupt request that  
caused the vector fetch.  
Software clear — Software can clear a latched CPU interrupt  
request by writing to the appropriate acknowledge bit in the  
interrupt status and control register (ISCR). Writing a logic 1 to the  
ACK1 bit clears the IRQ1 CPU interrupt request. Writing a logic 1  
to the ACK2 bit clears the IRQ2 CPU interrupt request.  
Reset — A reset automatically clears both IRQ1 and IRQ2 CPU  
interrupt requests.  
All of the external interrupt pins are falling-edge-triggered and are  
software-configurable to be both falling-edge and low-level-triggered.  
The MODE1 bit in the ISCR controls the triggering sensitivity of the IRQ1  
pin. The MODE2 bit controls the triggering sensitivity of the IRQ2 pin.  
2-intirq2_a  
MC68HC708XL36  
312  
IRQ  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
IRQ  
Functional Description  
I N T E R N A L A D D R E S S B U S  
3-intirq2_a  
MC68HC708XL36  
313  
MOTOROLA  
IRQ  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
IRQ  
When an interrupt pin is edge-triggered only, the CPU interrupt request  
remains latched until a vector fetch, software clear, or reset occurs.  
When an interrupt pin is both falling-edge and low-level-triggered, the  
CPU interrupt request remains latched until both of the following occur:  
Vector fetch or software clear  
Return of the interrupt pin to logic 1  
The vector fetch or software clear can occur before or after the interrupt  
pin returns to logic 1. As long as the pin is low, the CPU interrupt request  
remains pending. A reset clears the CPU interrupt request and the  
MODEx control bit even if the pin stays low.  
When set, the IMASK1 and IMASK2 bits in the ISCR mask all external  
interrupt requests. A latched CPU interrupt request is not presented to  
the interrupt priority logic unless the corresponding IMASK bit is clear.  
NOTE: The interrupt mask (I) in the condition code register (CCR) masks all  
CPU interrupt requests, including external interrupt requests.  
IRQ1 Pin  
A logic 0 on the IRQ1 pin can latch a CPU interrupt request. A vector  
fetch, software clear, or reset clears the IRQ1 CPU interrupt request.  
If the MODE1 bit is set, the IRQ1 pin is both falling-edge-sensitive and  
low-level-sensitive. With MODE1 set, both of the following actions must  
occur to clear the IRQ1 CPU interrupt request:  
Vector fetch, software clear, or reset — A vector fetch generates  
an interrupt acknowledge signal to clear the CPU interrupt  
request. Software can generate the interrupt acknowledge signal  
by writing a logic 1 to the ACK1 bit in the interrupt status and  
control register (ISCR). The ACK1 bit is useful in applications that  
poll the IRQ1 pin and require software to clear the IRQ1 CPU  
interrupt request. Writing to the ACK1 bit before leaving an  
interrupt service routine can also prevent spurious interrupts due  
to noise. Setting ACK1 does not affect subsequent transitions on  
the IRQ1 pin. A falling edge that occurs after writing to the ACK1  
4-intirq2_a  
MC68HC708XL36  
314  
IRQ  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
IRQ  
Functional Description  
bit latches another CPU interrupt request. If the IRQ1 mask bit,  
IMASK1, is clear, the CPU loads the program counter with the  
vector address at locations $FFFA and $FFFB.  
Return of the IRQ1 pin to logic 1 — As long as the IRQ1 pin is at  
logic 0, the IRQ1 CPU interrupt request remains latched.  
The vector fetch, software clear, or reset and the return of the IRQ1 pin  
to logic 1 can occur in any order. A reset clears the CPU interrupt request  
and the MODE1 bit, clearing the CPU interrupt request even if the pin  
stays low.  
If the MODE1 bit is clear, the IRQ1 pin is falling-edge-sensitive only.  
With MODE1 clear, a vector fetch or software clear immediately clears  
the IRQ1 CPU interrupt request.  
The IRQF1 bit in the ISCR register can be used to check for pending  
CPU interrupts. The IRQF1 bit is not affected by the IMASK1 bit, which  
makes it useful in applications where polling is preferred.  
Use the BIH or BIL instruction to read the logic level on the IRQ1 pin.  
NOTE: To avoid spurious CPU interrupts caused by noise, mask CPU interrupt  
requests in the interrupt routine when using the level-sensitive interrupt  
trigger.  
5-intirq2_a  
MC68HC708XL36  
MOTOROLA  
IRQ  
315  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
IRQ  
IRQ2 Pin  
A logic 0 on the IRQ2 pin can latch a CPU interrupt request. A vector  
fetch, software clear, or reset clears the IRQ2 CPU interrupt request.  
If the MODE2 bit is set, the IRQ2 pin is both falling-edge-sensitive and  
low-level-sensitive. With MODE2 set, both of the following actions must  
occur to clear an IRQ2 CPU interrupt request:  
Vector fetch, software clear, or reset — A vector fetch generates  
an interrupt acknowledge signal to clear the CPU interrupt  
request. Software can generate the interrupt acknowledge signal  
by writing a logic 1 to the ACK2 bit in the interrupt status and  
control register (ISCR). The ACK2 bit is useful in applications that  
poll the IRQ2 pin and require software to clear the IRQ2 CPU  
interrupt request. Writing to the ACK2 bit before leaving an  
interrupt service routine can also prevent spurious CPU interrupts  
due to noise. Setting ACK2 does not affect subsequent transitions  
on the IRQ2 pin. A falling edge that occurs after writing to the  
ACK2 bit latches another CPU interrupt request. If the IRQ2 mask  
bit, IMASK2, is clear, the CPU loads the program counter with the  
vector address at locations $FFE0 and $FFE1.  
Return of the IRQ2 pin to logic 1 — As long as the IRQ2 pin is at  
logic 0, the IRQ2 CPU interrupt request remains latched.  
The vector fetch, software clear, or reset and the return of the IRQ2 pin  
to logic 1 can occur in any order. A reset clears the CPU interrupt request  
and the MODE2 bit, clearing the CPU interrupt request even if the pin  
stays low.  
If the MODE2 bit is clear, the IRQ2 pin is falling-edge-sensitive only.  
With MODE2 clear, a vector fetch or software clear immediately clears  
the IRQ2 CPU interrupt request.  
The IRQF2 bit in the ISCR register can be used to check for pending  
CPU interrupts. The IRQF2 bit is not affected by the IMASK2 bit, which  
makes it useful in applications where polling is preferred.  
6-intirq2_a  
MC68HC708XL36  
316  
IRQ  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
IRQ  
Low-Power Modes  
There is no direct way to determine the logic level on the IRQ2 pin.  
However, it is possible to use the IRQF2 bit in the ISCR to infer the state  
of the IRQ2 pin. If the MODE2 bit is a logic 1, the IRQF2 bit in the ISCR  
is the opposite value of the IRQ2 pin as long as the IRQ2 CPU interrupt  
request is cleared. (See Figure 1.) Clear the IRQ2 CPU interrupt request  
by writing a logic 1 to the acknowledge bit. Recall, however, that every  
falling edge on the IRQ2 pin latches an IRQ2 CPU interrupt request. So  
an additional acknowledge is necessary after each falling edge on IRQ2  
to maintain the opposite relationship between IRQF2 and the IRQ2 pin.  
Set the IMASK2 bit in the ISCR to prevent the IRQF2 from generating  
CPU interrupts when used in this manner.  
NOTE: To avoid spurious CPU interrupts caused by noise, mask CPU interrupt  
requests in the interrupt routine when using the level-sensitive interrupt  
trigger.  
Low-Powe r Mod e s  
The WAIT and STOP instructions put the MCU in low-power-consump-  
tion standby modes.  
Wa it Mod e  
Stop Mod e  
The IRQ module remains active in wait mode. Clearing the IMASK1 or  
IMASK2 bit in the IRQ status and control register enables IRQ1 or IRQ2  
CPU interrupt requests to bring the MCU out of wait mode.  
The IRQ module remains active in stop mode. Clearing the IMASK1 or  
IMASK2 bit in the IRQ status and control register enables IRQ1 or IRQ2  
CPU interrupt requests to bring the MCU out of stop mode.  
7-intirq2_a  
MC68HC708XL36  
MOTOROLA  
IRQ  
317  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
IRQ  
IRQ Mod ule During Bre a k Inte rrup ts  
The BCFE bit in the break flag control register (BFCR) enables software  
to clear CPU interrupt requests during the break state. (See Break  
Module on page 149.)  
To allow software to clear IRQ1 and IRQ2 CPU interrupt requests during  
a break interrupt, write a logic 1 to the BCFE bit. If a CPU interrupt  
request is cleared during the break state, it remains cleared when the  
MCU exits the break state.  
To protect CPU interrupt flags during the break state, write a logic 0 to  
the BCFE bit. With BCFE at logic 0 (its default state), writing to the ACK1  
and ACK2 bits in the IRQ status and control register during the break  
state has no effect on the IRQ interrupt flags.  
IRQ Sta tus a nd Control Re g iste r  
The IRQ status and control register (ISCR) controls and monitors  
operation of the IRQ module. The ISCR has the following functions:  
Shows the state of the IRQ1 and IRQ2 interrupt flags  
Clears IRQ1 and IRQ2 CPU interrupt flags  
Masks IRQ1 and IRQ2 CPU interrupt requests  
Controls triggering sensitivity of the IRQ1 and IRQ2 CPU interrupt  
pins  
Address: $0032  
Bit 7  
6
0
5
4
3
2
0
1
Bit 0  
Read: IRQF2  
Write:  
IRQF1  
IMASK2 MODE2  
IMASK1 MODE1  
ACK2  
ACK1  
Reset:  
= Unimplemented  
Figure 2. IRQ Status and Control Register (ISCR)  
8-intirq2_a  
MC68HC708XL36  
318  
IRQ  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
IRQ  
IRQ Status and Control Register  
IRQ2F — IRQ2 Flag  
This read-only bit is high when an IRQ2 CPU interrupt is pending.  
Reset clears IRQ2F.  
1 = IRQ2 CPU interrupt pending  
0 = IRQ2 CPU interrupt not pending  
ACK2 — IRQ2 Interrupt Request Acknowledge Bit  
Writing a logic 1 to this write-only bit clears the IRQ2 CPU interrupt  
request. ACK2 always reads as logic 0. Reset clears ACK2.  
IMASK2 — IRQ2 Interrupt Mask Bit  
Writing a logic 1 to this read/write bit disables IRQ2 CPU interrupt  
requests. Reset clears IMASK2.  
1 = IRQ2 CPU interrupt requests masked  
0 = IRQ2 CPU interrupt requests not masked  
MODE2 — IRQ2 Interrupt Edge/Level Select Bit  
This read/write bit controls the triggering sensitivity of the IRQ2 pin.  
Reset clears MODE2.  
1 = IRQ2 CPU interrupt requests on falling edges and low levels  
0 = IRQ2 CPU interrupt requests on falling edges only  
IRQ1F — IRQ1 Flag  
This read-only bit is high when an IRQ1 CPU interrupt is pending.  
1 = IRQ1 CPU interrupt pending  
0 = IRQ1 CPU interrupt not pending  
ACK1 — IRQ1 Interrupt Request Acknowledge Bit  
Writing a logic 1 to this write-only bit clears the IRQ1 CPU interrupt  
request. ACK1 always reads as logic 0. Reset clears ACK1.  
IMASK1 — IRQ1 Interrupt Mask Bit  
Writing a logic 1 to this read/write bit disables IRQ1 CPU interrupt  
requests. Reset clears IMASK1.  
1 = IRQ1 CPU interrupt requests masked  
0 = IRQ1 CPU interrupt requests not masked  
9-intirq2_a  
MC68HC708XL36  
MOTOROLA  
IRQ  
319  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
IRQ  
MODE1 — IRQ1 Edge/Level Select Bit  
This read/write bit controls the triggering sensitivity of the IRQ1 pin.  
Reset clears MODE1.  
1 = IRQ1 CPU interrupt requests on falling edges and low levels  
0 = IRQ1 CPU interrupt requests on falling edges only  
10-intirq2_a  
MC68HC708XL36  
320  
IRQ  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Ke yb oa rd Inte rrup t Mod ule  
KBI  
Conte nts  
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .321  
Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .321  
Functional Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .323  
Keyboard Initialization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .325  
Low-Power Modes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .326  
Wait Mode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .326  
Stop Mode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .326  
Keyboard Module During Break Interrupts . . . . . . . . . . . . . . . . . . . .326  
I/O Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .327  
Keyboard Status and Control Register . . . . . . . . . . . . . . . . . . . . .327  
Keyboard Interrupt Enable Register . . . . . . . . . . . . . . . . . . . . . . .328  
Introd uc tion  
The keyboard module provides eight independently maskable external  
interrupt pins.  
Fe a ture s  
Eight Keyboard Interrupt Pins with Separate Keyboard Interrupt  
Enable Bits and One Keyboard Interrupt Mask  
Hysteresis Buffers  
Programmable Edge-Only or Edge- and Level- Interrupt Sensitivity  
Automatic Interrupt Acknowledge  
Exit from Low-Power Modes  
1-intkbd8_a  
MC68HC708XL36  
MOTOROLA  
KBI  
321  
For More Information On This Product,  
Go to: www.freescale.com  
 
 
Freescale Semiconductor, Inc.  
KBI Sp e c ific a tion  
2-intkbd8_a  
MC68HC708XL36  
322  
KBI  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
KBI  
Functional Description  
Func tiona l De sc rip tion  
Writing to the KBIE7–KBIE0 bits in the keyboard interrupt enable register  
independently enables or disables each port D pin as a keyboard  
interrupt pin. Enabling a keyboard interrupt pin also enables its internal  
pullup device. A logic 0 applied to an enabled keyboard interrupt pin  
latches a keyboard interrupt request.  
A keyboard interrupt is latched when one or more keyboard pins goes  
low after all were high. The MODEK bit in the keyboard status and  
control register controls the triggering mode of the keyboard interrupt.  
If the keyboard interrupt is edge-sensitive only, a falling edge on a  
keyboard pin does not latch an interrupt request if another  
keyboard pin is already low. To prevent losing an interrupt request  
on one pin because another pin is still low, software can disable  
the latter pin while it is low.  
If the keyboard interrupt is falling edge- and low level-sensitive, an  
interrupt request is present as long as any keyboard pin is low.  
If the MODEK bit is set, the keyboard interrupt pins are both falling edge-  
and low level-sensitive, and both of the following actions must occur to  
clear a keyboard interrupt request:  
Vector fetch or software clear — A vector fetch generates an  
interrupt acknowledge signal to clear the interrupt request.  
Software may generate the interrupt acknowledge signal by  
writing a logic 1 to the ACKK bit in the keyboard status and control  
register (KBSCR). The ACKK bit is useful in applications that poll  
the keyboard interrupt pins and require software to clear the  
keyboard interrupt request. Writing to the ACKK bit prior to leaving  
an interrupt service routine can also prevent spurious interrupts  
due to noise. Setting ACKK does not affect subsequent transitions  
on the keyboard interrupt pins. A falling edge that occurs after  
writing to the ACKK bit latches another interrupt request. If the  
keyboard interrupt mask bit, IMASKK, is clear, the CPU loads the  
program counter with the vector address at locations $FFDE and  
$FFDF.  
3-intkbd8_a  
MC68HC708XL36  
MOTOROLA  
KBI  
323  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
KBI  
Return of all enabled keyboard interrupt pins to logic 1 — As long  
as any enabled keyboard interrupt pin is at logic 0, the keyboard  
interrupt remains set.  
The vector fetch or software clear and the return of all enabled keyboard  
interrupt pins to logic 1 may occur in any order.  
If the MODEK bit is clear, the keyboard interrupt pin is  
falling-edge-sensitive only. With MODEK clear, a vector fetch or  
software clear immediately clears the keyboard interrupt request.  
Reset clears the keyboard interrupt request and the MODEK bit, clearing  
the interrupt request even if a keyboard interrupt pin stays at logic 0.  
The keyboard flag bit (KEYF) in the keyboard status and control register  
can be used to see if a pending interrupt exists. The KEYF bit is not  
affected by the keyboard interrupt mask bit (IMASKK) which makes it  
useful in applications where polling is preferred.  
To determine the logic level on a keyboard interrupt pin, use the data  
direction register to configure the pin as an input and read the data  
register.  
NOTE: Setting a keyboard interrupt enable bit (KBIEx) forces the corresponding  
keyboard interrupt pin to be an input, overriding the data direction  
register. However, the data direction register bit must be a logic 0 for  
software to read the pin.  
4-intkbd8_a  
MC68HC708XL36  
324  
KBI  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
KBI  
Keyboard Initialization  
Ke yb oa rd Initia liza tion  
When a keyboard interrupt pin is enabled, it takes time for the internal  
pullup to reach a logic 1. Therefore a false interrupt can occur as soon  
as the pin is enabled.  
To prevent a false interrupt on keyboard initialization:  
1. Mask keyboard interrupts by setting the IMASKK bit in the  
keyboard status and control register.  
2. Enable the KB pins by setting the appropriate KBIEx bits in the  
keyboard interrupt enable register.  
3. Write to the ACKK bit in the keyboard status and control register  
to clear any false interrupts.  
4. Clear the IMASKK bit.  
An interrupt signal on an edge-triggered pin can be acknowledged  
immediately after enabling the pin. An interrupt signal on an edge- and  
level-triggered interrupt pin must be acknowledged after a delay that  
depends on the external load.  
Another way to avoid a false interrupt:  
1. Configure the keyboard pins as outputs by setting the appropriate  
DDRD bits in data direction register D.  
2. Write logic 1s to the appropriate port D data register bits.  
3. Enable the KB pins by setting the appropriate KBIEx bits in the  
keyboard interrupt enable register.  
5-intkbd8_a  
MC68HC708XL36  
MOTOROLA  
KBI  
325  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
KBI  
Low-Powe r Mod e s  
The WAIT and STOP instructions put the MCU in low-power-consump-  
tion standby modes.  
Wa it Mod e  
Stop Mod e  
The keyboard module remains active in wait mode. Clearing the  
IMASKK bit in the keyboard status and control register enables keyboard  
interrupt requests to bring the MCU out of wait mode.  
The keyboard module remains active in stop mode. Clearing the  
IMASKK bit in the keyboard status and control register enables keyboard  
interrupt requests to bring the MCU out of stop mode.  
Ke yb oa rd Mod ule During Bre a k Inte rrup ts  
The BCFE bit in the break flag control register (BFCR) enables software  
to clear status bits during the break state. (See Break Module on page  
149.)  
To allow software to clear the KEYF bit during a break interrupt, write a  
logic 1 to the BCFE bit. If KEYF is cleared during the break state, it  
remains cleared when the MCU exits the break state.  
To protect the KEYF bit during the break state, write a logic 0 to the  
BCFE bit. With BCFE at logic 0, writing to the keyboard acknowledge bit  
(ACKK) in the keyboard status and control register during the break state  
has no effect. (See Keyboard Status and Control Register on page  
327.)  
6-intkbd8_a  
MC68HC708XL36  
326  
KBI  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
KBI  
I/O Registers  
I/ O Re g iste rs  
The following registers control and monitor operation of the keyboard  
module:  
Keyboard status and control register (KBSCR)  
Keyboard interrupt enable register (KBIER)  
Ke yb oa rd Sta tus  
a nd Control  
Re g iste r  
The keyboard status and control register:  
Flags keyboard interrupt requests.  
Acknowledges keyboard interrupt requests.  
Masks keyboard interrupt requests.  
Controls keyboard interrupt triggering sensitivity.  
Address: $001A  
Bit 7  
6
0
5
0
4
0
3
2
1
Bit 0  
Read:  
Write:  
Reset:  
0
KEYF  
0
ACKK  
0
IMASKK MODEK  
0
0
0
0
0
0
0
= Unimplemented  
Figure 3. Keyboard Status and Control Register (KBSCR)  
Bits 7–4 — Not used  
These read-only bits always read as logic 0s.  
KEYF — Keyboard Flag Bit  
This read-only bit is set when a keyboard interrupt is pending. Reset  
clears the KEYF bit.  
1 = Keyboard interrupt pending  
0 = No keyboard interrupt pending  
7-intkbd8_a  
MC68HC708XL36  
MOTOROLA  
KBI  
327  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
KBI  
ACKK — Keyboard Acknowledge Bit  
Writing a logic 1 to this write-only bit clears the keyboard interrupt  
request. ACKK always reads as logic 0. Reset clears ACKK.  
IMASKK — Keyboard Interrupt Mask Bit  
Writing a logic 1 to this read/write bit prevents the output of the  
keyboard interrupt mask from generating interrupt requests. Reset  
clears the IMASKK bit.  
1 = Keyboard interrupt requests masked  
0 = Keyboard interrupt requests not masked  
MODEK — Keyboard Triggering Sensitivity Bit  
This read/write bit controls the triggering sensitivity of the keyboard  
interrupt pins. Reset clears MODEK.  
1 = Keyboard interrupt requests on falling edges and low levels  
0 = Keyboard interrupt requests on falling edges only  
Ke yb oa rd  
Inte rrup t Ena b le  
Re g iste r  
The keyboard interrupt enable register enables or disables each port D  
pin to operate as a keyboard interrupt pin.  
Address: $001B  
Bit 7  
KBIE7  
0
6
KBIE6  
0
5
KBIE5  
0
4
KBIE4  
0
3
KBIE3  
0
2
KBIE2  
0
1
KBIE1  
0
Bit 0  
KBIE0  
0
Read:  
Write:  
Reset:  
Figure 4. Keyboard Interrupt Enable Register (KBIER)  
KBIE[7:0] — Keyboard Interrupt Enable Bits  
Each of these read/write bits enables the corresponding keyboard  
interrupt pin to latch interrupt requests. Reset clears the keyboard  
interrupt enable register.  
1 = PDx pin enabled as keyboard interrupt pin  
0 = PDx pin not enabled as keyboard interrupt pin  
8-intkbd8_a  
MC68HC708XL36  
328  
KBI  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Low-Volta g e Inhib it Mod ule  
LVI  
Conte nts  
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .329  
Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .329  
Functional Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .330  
Polled LVI Operation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .330  
Forced Reset Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .331  
LVI Status Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .331  
LVI Interrupts. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .332  
Low-Power Modes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .332  
Wait Mode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .332  
Stop Mode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .332  
Introd uc tion  
The low-voltage inhibit module monitors the voltage on the V pin and  
DD  
can force a reset when the V voltage falls to the LVI trip voltage.  
DD  
Fe a ture s  
Features of the LVI module include the following:  
Programmable LVI Reset  
Programmable Power Consumption  
Programmable stop mode operation  
1-lvim2p7_a  
MC68HC708XL36  
329  
MOTOROLA  
LVI  
For More Information On This Product,  
Go to: www.freescale.com  
 
 
Freescale Semiconductor, Inc.  
LVI  
Func tiona l De sc rip tion  
Figure 1 shows the structure of the LVI module. The LVI module  
contains a bandgap reference circuit and comparator. Clearing the LVI  
power disable bit, LVIPWRD, enables the LVI to monitor V voltage.  
DD  
Clearing the LVI reset disable bit, LVIRSTD, enables the LVI module to  
generate a reset when V falls below a voltage, V  
. Setting the LVI  
DD  
LVR  
enable in stop mode bit, LVISTOP, enables the LVI to operate in stop  
mode. LVIPWRD, LVIRSTD, and LVISTOP are in the configuration  
register.  
Once an LVI reset occurs, the MCU remains in reset until V rises  
DD  
above a voltage, V  
+ H  
. A power-on reset occurs when V  
LVR  
LVR DD  
reaches V  
+ H  
.The output of the comparator controls the state of  
LVR  
LVR  
the LVIOUT flag in the LVI status register (LVISR).  
An LVI reset also drives the RST pin low to provide low-voltage  
protection to external peripheral devices.  
V
DD  
STOP INSTRUCTION  
LVISTOP  
FROM CONFIG  
FROM CONFIG  
LVIRSTD  
LVIPWRD  
FROM CONFIG  
V
> LVI = 0  
LVI RESET  
DD  
Trip  
LOW V  
DD  
DETECTOR  
V
LVI = 1  
DD  
Trip  
LVIOUT  
Figure 1. LVI Module Block Diagram  
Polle d LVI  
Op e ra tion  
In applications that can operate at V levels below the V  
level,  
DD  
LVR  
software can monitor V by polling the LVIOUT bit. In the configuration  
DD  
register, the LVIPWRD bit must be at logic 0 to enable the LVI module,  
and the LVIRSTD bit must be at logic 1 to disable LVI resets.  
2-lvim2p7_a  
MC68HC708XL36  
330  
LVI  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
 
Freescale Semiconductor, Inc.  
LVI  
LVI Status Register  
Forc e d Re se t  
Op e ra tion  
In applications that require V to remain above the V  
enabling LVI resets allows the LVI module to reset the MCU when V  
trip level,  
DD  
LVR  
DD  
falls to the V  
level. In the configuration register, the LVIPWRD and  
LVR  
LVIRSTD bits must be at logic 0 to enable the LVI module and to enable  
LVI resets.  
LVI Sta tus Re g iste r  
The LVI status register flags V voltages below the V  
level.  
LVR  
DD  
Address: $FE0F  
Bit 7  
Read: LVIOUT  
Write:  
6
0
5
0
4
0
3
0
2
0
1
0
Bit 0  
0
Reset:  
0
0
0
0
0
0
0
0
= Unimplemented  
Figure 2. LVI Status Register (LVISR)  
LVIOUT — LVI Output Bit  
This read-only flag becomes set when the V voltage falls below the  
DD  
V
trip voltage. (See Table 1.) Reset clears the LVIOUT bit.  
LVR  
Table 1. LVIOUT Bit Indication  
V
LVIOUT  
DD  
V
> V  
+ H  
0
DD  
LVR  
LVR  
V
< V  
1
DD  
LVR  
LVR  
V
< V < V  
+ H  
LVR  
Previous Value  
LVR  
DD  
3-lvim2p7_a  
MC68HC708XL36  
331  
MOTOROLA  
LVI  
For More Information On This Product,  
Go to: www.freescale.com  
 
Freescale Semiconductor, Inc.  
LVI  
LVI Inte rrup ts  
The LVI module does not generate CPU interrupt requests.  
Low-Powe r Mod e s  
The STOP and WAIT instructions put the MCU in low power-consump-  
tion standby modes.  
Wa it Mod e  
Stop Mod e  
If enabled, the LVI module remains active in wait mode. If enabled to  
generate resets, the LVI module can generate a reset and bring the  
MCU out of wait mode.  
If enabled, the LVI module remains active in stop mode. If enabled to  
generate resets, the LVI module can generate a reset and bring the  
MCU out of stop mode.  
4-lvim2p7_a  
MC68HC708XL36  
332  
LVI  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Sp e c ific a tions  
Sp e c ific a tions  
Conte nts  
Preliminary Electrical Specifications . . . . . . . . . . . . . . . . . . . . . . . . .333  
Maximum Ratings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .334  
Functional Operating Range . . . . . . . . . . . . . . . . . . . . . . . . . . . .335  
Thermal Characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .335  
DC Electrical Characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . .336  
Control Timing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .338  
SPI Characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .339  
TImer Interface Module Characteristics . . . . . . . . . . . . . . . . . . . .343  
Clock Generation Module Electrical Characteristics . . . . . . . . . .343  
Memory Characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .346  
Mechanical Specifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .347  
Pre lim ina ry Ele c tric a l Sp e c ific a tions  
These electrical and timing specifications are design targets and have  
not been fully characterized.  
1-spec_a  
MC68HC708XL36  
333  
MOTOROLA  
Specifications  
For More Information On This Product,  
Go to: www.freescale.com  
 
Freescale Semiconductor, Inc.  
Sp e c ific a tions  
Ma xim um Ra ting s  
Maximum ratings are the extreme limits to which the MCU can be  
exposed without permanently damaging it.  
The MCU contains circuitry to protect the inputs against damage from  
high static voltages; however, do not apply voltages higher than those  
shown in the table below. Keep VIN and VOUT within the range  
VSS (VIN or VOUT) VDD. Connect unused inputs to the appropriate  
voltage level, either VSS or VDD.  
(1)  
Table 1. Maximum Ratings  
Characteristic  
Supply Voltage  
Symbol  
Value  
Unit  
V
V
–0.3 to +6.0  
DD  
V
V
– 0.3 to V + 0.3  
Input Voltage  
V
In  
SS  
DD  
V
V
– 0.3 to + 14.0  
SS  
Programming Voltage  
Maximum Current Per Pin  
V
PP  
I
±25  
mA  
Excluding V and V  
DD  
SS  
T
Storage Temperature  
–55 to +150  
100  
°C  
mA  
mA  
stg  
I
Maximum Current out of V  
Maximum Current into V  
SS  
mvss  
I
100  
DD  
mvdd  
1. Voltages referenced to V  
.
SS  
NOTE: This device is not guaranteed to operate properly at the maximum  
ratings. Refer to Table 4 on page 336 and Table 5 on page 337 for  
guaranteed operating conditions.  
2-spec_a  
MC68HC708XL36  
334  
Specifications  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Specifications  
Preliminary Electrical Specifications  
Func tiona l  
Op e ra ting Ra ng e  
Table 2. Operating Range  
Characteristic  
Symbol  
Value  
Unit  
T
Operating Temperature Range  
–40 to +85  
°C  
A
3.3 ±10%  
5.0 ±10%  
V
Operating Voltage Range  
V
DD  
The rm a l  
Cha ra c te ristic s  
Table 3. Thermal Characteristics  
Characteristic  
Symbol  
Value  
Unit  
Thermal Resistance  
QFP (64 pin)  
SDIP (56 pin)  
θ
85  
50  
°C/W  
JA  
P
I/O Pin Power Dissipation  
User-Determined  
W
W
I/O  
P = (I × V ) + P =  
I/O  
D
DD  
DD  
(1)  
P
Power Dissipation  
D
K/(T + 273 °C)  
J
P x (T + 273 °C)  
J
A
(2)  
Constant  
K
W°C  
2
+ P × θ  
D
JA  
T
T + (P × θ  
)
Average Junction Temperature  
Maximum Junction Temperature  
°C  
°C  
J
A
D
JA  
T
125  
JM  
1. Power dissipation is a function of temperature.  
2. K is a constant unique to the device. K can be determined for a known T and measured  
A
P . With this value of K, P and T can be determined for any value of T .  
D
D
J
A
3-spec_a  
MC68HC708XL36  
335  
MOTOROLA  
Specifications  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Sp e c ific a tions  
DC Ele c tric a l  
Cha ra c te ristic s  
(1)  
Table 4. DC Electrical Characteristics (V = 5.0 Vdc ± 10%)  
DD  
(2)  
Characteristic  
Symbol  
Min  
Max  
Unit  
V
Typ  
Output High Voltage  
(I  
= –2.0 mA) All I/O Pins  
V
V
– 0.8  
Load  
OH  
DD  
Output Low Voltage  
(I = 1.6 mA) All I/O Pins  
V
0.4  
V
Load  
OL  
Input High Voltage  
All Ports, IRQs, RESET, OSC1  
V
0.7 x V  
V
V
IH  
DD  
DD  
Input Low Voltage  
All Ports, IRQs, RESET, OSC1  
V
V
0.3 x V  
DD  
V
IL  
SS  
V
Supply Current  
DD  
(3)  
Run  
Wait  
30  
12  
mA  
mA  
(4)  
(5)  
I
DD  
Stop  
5
15  
320  
380  
µA  
µA  
µA  
µA  
25 °C  
0 °C to 85 °C  
25 °C with LVI Enabled  
0 °C to 85 °C with LVI Enabled  
I
I/O Ports Hi-Z Leakage Current  
Input Current  
±10  
µA  
µA  
IL  
I
1
In  
C
Capacitance  
Ports (Input or Output)  
Out  
12  
8
pF  
C
In  
V
Low-Voltage Inhibit Reset  
2.6  
60  
0
2.7  
80  
2.8  
100  
100  
800  
V
LVR  
H
Low-Voltage Inhibit Reset/Recover Hysteresis  
mV  
LVR  
(6)  
V
POR ReArm Voltage  
mV  
POR  
(7)  
V
POR Reset Voltage  
0
700  
mV  
PORRST  
(8)  
R
POR Rise Time Ramp Rate  
0.035  
V/ms  
POR  
1. V  
= 5.0 Vdc ± 10%, V = 0 Vdc, T = T to T , unless otherwise noted.  
SS A L H  
DD  
2. Typical values reflect average measurements at midpoint of voltage range, 25 °C only.  
3. Run (operating) I measured using external square wave clock source (f = 32.8 MHz). All inputs 0.2 V  
DD  
osc  
from rail. No dc loads. Less than 100 pF on all outputs. C = 20 pF on OSC2. All ports configured as inputs.  
L
OSC2 capacitance linearly affects run I . Measured with all modules enabled.  
4. Wait I measured using external square wave clock source (f  
dc loads. Less than 100 pF on all outputs. C = 20 pF on OSC2. All ports configured as inputs. OSC2 ca-  
pacitance linearly affects wait I . Measured with PLL and LVI enabled.  
measured with OSC1 = V  
6. Maximum is highest voltage that POR is guaranteed.  
7. Maximum is highest voltage that POR is possible.  
DD  
= 32.8 MHz). All inputs 0.2 V from rail. No  
DD  
osc  
L
DD  
5. Stop I  
.
DD  
SS  
8. If minimum V  
is not reached before the internal POR reset is released, RST must be driven low externally  
DD  
until minimum V  
is reached.  
DD  
4-spec_a  
MC68HC708XL36  
336  
Specifications  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Specifications  
Preliminary Electrical Specifications  
(1)  
Table 5. DC Electrical Characteristics (V = 3.3 Vdc ± 10%)  
DD  
(2)  
Characteristic  
Output High Voltage  
(I = –2.0 mA) All Ports  
Symbol  
Min  
Max  
Unit  
V
Typ  
V
VDD – 0.8  
Load  
Output Low Voltage  
(I = 1.6 mA) All Ports  
OH  
V
0.4  
V
Load  
OL  
Input High Voltage  
All Ports, IRQs, RESET, OSC1  
V
0.7 x V  
V
V
IH  
DD  
DD  
Input Low Voltage  
All Ports, IRQs, RESET, OSC1  
V
V
0.3 x V  
DD  
V
IL  
SS  
V
Supply Current  
DD  
(3)  
Run  
Wait  
10  
6
mA  
mA  
(4)  
(5)  
I
DD  
Stop  
3
10  
200  
250  
µA  
µA  
µA  
µA  
25 °C  
0 °C to 85 °C  
25 °C with LVI Enabled  
0 °C to 85 °C with LVI Enabled  
I
I/O Ports Hi-Z Leakage Current  
Input Current  
±10  
µA  
µA  
IL  
I
1
In  
C
Capacitance  
Ports (Input or Output)  
Out  
12  
8
pF  
C
In  
V
Low-Voltage Inhibit Reset  
2.6  
60  
0
2.7  
80  
2.8  
100  
200  
800  
V
LVR  
H
Low-Voltage Inhibit Reset/Recover Hysteresis  
mV  
LVR  
(6)  
V
POR ReArm Voltage  
mV  
POR  
(7)  
V
POR Reset Voltage  
0
700  
mV  
PORRST  
(8)  
R
POR Rise Time Ramp Rate  
0.02  
V/ms  
POR  
1. V  
= 3.3 Vdc 10%, V = 0 Vdc, T = T to T , unless otherwise noted.  
SS A L H  
DD  
2. Typical values reflect average measurements at midpoint of voltage range, 25 °C only.  
3. Run (operating) I measured using external square wave clock source (f = 16.4 MHz). All inputs 0.2 V  
from rail. No dc loads. Less than 100 pF on all outputs. C = 20 pF on OSC2. All ports configured as inputs.  
OSC2 capacitance linearly affects run I . Measured with all modules enabled.  
4. Wait I  
dc loads. Less than 100 pF on all outputs. C = 20 pF on OSC2. All ports configured as inputs. OSC2 capac-  
itance linearly affects wait I . Measured with PLL and LVI enabled.  
5. Stop I  
6. Maximum is highest voltage that POR is guaranteed.  
7. Maximum is highest voltage that POR is possible.  
DD  
osc  
L
DD  
measured using external square wave clock source (f  
= 16.4 MHz). All inputs 0.2V from rail. No  
DD  
osc  
L
DD  
measured with OSC1 = V  
.
DD  
SS  
8. If minimum V  
is not reached before the internal POR reset is released, RST must be driven low externally  
DD  
until minimum V  
is reached.  
DD  
5-spec_a  
MC68HC708XL36  
337  
MOTOROLA  
Specifications  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Sp e c ific a tions  
Control Tim ing  
(1)  
Table 6. Control Timing (V = 5.0 Vdc ± 10%)  
DD  
Characteristic  
Symbol  
Min  
Max  
Unit  
(2)  
Frequency of Operation  
f
Crystal Option  
External Clock Option  
1
dc  
8
32.8  
MHz  
osc  
(3)  
(4)  
f
Internal Operating Frequency  
RESET Input Pulse Width Low  
8.2  
MHz  
ns  
op  
(5)  
(6)  
t
50  
IRL  
IRQ Interrupt Pulse Width Low  
(Edge-Triggered)  
t
50  
ns  
ILIH  
1. V = 0 Vdc; timing shown with respect to 20% V  
SS  
and 70% V unless noted  
SS  
DD  
2. See Table 11 and Table 12 for more information.  
3. No more than 10% duty cycle deviation from 50%  
4. Some modules may require a minimum frequency greater than dc for proper operation. See  
appropriate table for this information.  
5. Minimum pulse width reset is guaranteed to be recognized. It is possible for a smaller pulse  
width to cause a reset.  
6. Minimum pulse width is for guaranteed interrupt. It is possible for a smaller pulse width to be  
recognized.  
(1)  
Table 7. Control Timing (V = 3.3 Vdc ± 10%)  
DD  
Characteristic  
Symbol  
Min  
Max  
Unit  
(2)  
Frequency of Operation  
f
Crystal Option  
External Clock Option  
1
dc  
8
16.4  
MHz  
osc  
(3)  
(4)  
f
Internal Operating Frequency  
RESET Input Pulse Width Low  
4.1  
MHz  
ns  
op  
(5)  
(6)  
t
125  
IRL  
IRQ Interrupt Pulse Width Low  
(Edge-Triggered)  
t
125  
ns  
ILIH  
1. V = 0 Vdc; timing shown with respect to 20% V  
SS  
and 70% V unless noted  
SS  
DD  
2. See Table 11 and Table 12 for more information.  
3. No more than 10% duty cycle deviation from 50%  
4. Some modules may require a minimum frequency greater than dc for proper operation. See  
appropriate table for this information.  
5. Minimum pulse width reset is guaranteed to be recognized. It is possible for a smaller pulse  
width to cause a reset.  
6. Minimum pulse width is for guaranteed interrupt. It is possible for a smaller pulse width to be  
recognized.  
6-spec_a  
MC68HC708XL36  
338  
Specifications  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Specifications  
Preliminary Electrical Specifications  
SPI  
Cha ra c te ristic s  
(1)  
Table 8. SPI Timing (V = 5.0 Vdc ± 10%)  
DD  
Diagram  
Number  
Characteristic  
Symbol  
Min  
Max  
Unit  
(2)  
Operating Frequency  
Master  
Slave  
f
f
/2  
f
/128  
op(m)  
op  
f
MHz  
op  
f
dc  
op(s)  
op  
Cycle Time  
Master  
Slave  
t
t
1
cyc(m)  
2
1
128  
cyc  
t
cyc(s)  
t
2
3
Enable Lead Time  
Enable Lag Time  
15  
15  
ns  
ns  
Lead(s)  
t
Lag(s)  
Clock (SCK) High Time  
Master  
Slave  
t
4
5
6
7
sckh(m)  
100  
50  
ns  
ns  
ns  
ns  
t
sckh(s)  
Clock (SCK) Low Time  
Master  
Slave  
t
sckl(m)  
100  
50  
t
sckl(s)  
Data Setup Time (Inputs)  
Master  
Slave  
t
su(m)  
45  
5
t
su(s)  
Data Hold Time (Inputs)  
Master  
Slave  
t
h(m)  
0
15  
t
h(s)  
(3)  
Access Time, Slave  
t
8
9
a(cp0)  
0
0
40  
20  
ns  
ns  
ns  
CPHA = 0  
CPHA = 1  
t
a(cp1)  
(4)  
t
Disable Time, Slave  
25  
dis(s)  
Data Valid Time (After Enable Edge)  
Master  
t
10  
v(m)  
10  
40  
(5)  
t
Slave  
v(s)  
Data Hold Time (Outputs, After Enable Edge)  
Master  
Slave  
t
11  
ho(m)  
0
5
ns  
t
ho(s)  
1. All timing is shown with respect to 20% V  
and 70% V , unless noted; 100 pf load on all SPI pins.  
DD  
DD  
2. Numbers refer to dimensions in Figure 1 and Figure 2.  
3. Time to data active from high-impedance state  
4. Hold time to high-impedance state  
5. With 100 pF on all SPI pins  
7-spec_a  
MC68HC708XL36  
339  
MOTOROLA  
Specifications  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Sp e c ific a tions  
(1)  
Table 9. SPI Timing (V = 3.3 Vdc ± 10%)  
DD  
Diagram  
Number  
Characteristic  
Symbol  
Min  
Max  
Unit  
(2)  
Operating Frequency  
Master  
Slave  
f
f
/2  
f
/128  
op(m)  
op  
f
MHz  
op  
f
dc  
op(s)  
op  
Cycle Time  
Master  
Slave  
t
t
1
cyc(m)  
2
1
128  
cyc  
t
cyc(s)  
t
2
3
Enable Lead Time  
Enable Lag Time  
30  
30  
ns  
ns  
Lead(s)  
t
Lag(s)  
Clock (SCK) High Time  
Master  
Slave  
t
4
5
6
7
sckh(m)  
200  
100  
ns  
ns  
ns  
ns  
t
sckh(s)  
Clock (SCK) Low Time  
Master  
Slave  
t
sckl(m)  
200  
100  
t
sckl(s)  
Data Setup Time (Inputs)  
Master  
Slave  
t
su(m)  
90  
10  
t
su(s)  
Data Hold Time (Inputs)  
Master  
Slave  
t
h(m)  
0
30  
t
h(s)  
(3)  
Access Time, Slave  
t
8
9
a(cp0)  
0
0
80  
40  
ns  
ns  
ns  
CPHA = 0  
CPHA = 1  
t
a(cp1)  
(4)  
t
Disable Time, Slave  
50  
dis(s)  
Data Valid Time (After Enable Edge)  
Master  
t
10  
v(m)  
20  
80  
(5)  
t
Slave  
v(s)  
Data Hold Time (Outputs, After Enable Edge)  
Master  
Slave  
t
11  
ho(m)  
0
10  
ns  
t
ho(s)  
1. All timing is shown with respect to 20% V  
and 70% V , unless noted; 100 pf load on all SPI pins.  
DD  
DD  
2. Numbers refer to dimensions in Figure 1 and Figure 2.  
3. Time to data active from high-impedance state  
4. Hold time to high-impedance state  
5. With 100 pF on all SPI pins  
8-spec_a  
MC68HC708XL36  
340  
Specifications  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Specifications  
Preliminary Electrical Specifications  
SS  
INPUT  
SS PIN OF MASTER HELD HIGH  
1
5
4
SCK (CPOL = 0)  
OUTPUT  
NOTE  
4
5
SCK CPOL = 1  
OUTPUT  
NOTE  
10  
6
7
MISO  
INPUT  
MSB IN  
BITS 6–1  
BITS 6–1  
LSB IN  
11  
MASTER MSB OUT  
10  
11  
MOSI  
OUTPUT  
MASTER LSB OUT  
NOTE: This first clock edge is generated internally, but is not seen at the SCK pin.  
a) SPI Master Timing (CPHA = 0)  
SS  
INPUT  
SS PIN OF MASTER HELD HIGH  
1
SCK (CPOL = 0)  
OUTPUT  
5
NOTE  
NOTE  
4
SCK (CPOL = 1)  
OUTPUT  
5
4
6
7
LSB IN  
11  
MISO  
MSB IN  
11  
BITS 6–1  
BITS 6–1  
INPUT  
10  
10  
MOSI  
OUTPUT  
MASTER MSB OUT  
MASTER LSB OUT  
NOTE: This last clock edge is generated internally, but is not seen at the SCK pin.  
b) SPI Master Timing (CPHA = 1)  
Figure 1. SPI Master Timing  
9-spec_a  
MC68HC708XL36  
341  
MOTOROLA  
Specifications  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Sp e c ific a tions  
SS  
INPUT  
3
1
SCK (CPOL = 0)  
INPUT  
11  
4
2
SCK (CPOL = 1)  
INPUT  
5
4
9
8
MISO  
SLAVE MSB OUT  
BITS 6–1  
BITS 6–1  
SLAVE LSB OUT  
11  
NOTE  
INPUT  
11  
6
7
10  
MOSI  
OUTPUT  
MSB IN  
LSB IN  
NOTE: Not defined but normally MSB of character just received  
a) SPI Slave Timing (CPHA = 0)  
SS  
INPUT  
1
SCK (CPOL = 0)  
INPUT  
5
4
5
2
3
SCK (CPOL = 1)  
INPUT  
4
10  
9
8
MISO  
NOTE  
SLAVE MSB OUT  
BITS 6–1  
BITS 6–1  
SLAVE LSB OUT  
OUTPUT  
11  
6
7
10  
MOSI  
INPUT  
MSB IN  
LSB IN  
NOTE: Not defined but normally LSB of character previously transmitted  
b) SPI Slave Timing (CPHA = 1)  
Figure 2. SPI Slave Timing  
10-spec_a  
MC68HC708XL36  
342  
Specifications  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Specifications  
Preliminary Electrical Specifications  
TIm e r Inte rfa c e  
Mod ule  
Cha ra c te ristic s  
Table 10. TIM Timing  
Characteristic  
Input Capture Pulse Width  
Input Clock Pulse Width  
Symbol  
Min  
Max  
Unit  
ns  
t
, t  
125  
tih til  
t
, t  
(1/f ) + 5  
op  
ns  
tch tcl  
Cloc k Ge ne ra tion  
Mod ule Ele c tric a l  
Cha ra c te ristic s  
Table 11. CGM Component Specifications  
Characteristic  
Symbol Min  
Typ  
4.9152  
Max Unit  
Crystal (X1) Frequency  
f
1
8
MHz  
xclk  
(1)  
(MHz)  
(2)  
(2)  
C
Crystal Load Capacitance  
0
3.3  
pF  
pF  
pF  
MΩ  
kΩ  
pF  
µF  
L
C
2 × C  
Crystal Fixed Capacitance  
1
L
(2)  
C
2 × C  
Crystal Tuning Capacitance  
2
L
R
Feedback Bias Resistor  
1
B
(3)  
R
Series Resistor  
S
C
× (V  
/f  
)
xclk  
C
Filter Capacitor  
DDA  
F
fact  
(4)  
C
Bypass Capacitor  
0.1  
byp  
1. Fundamental mode crystals only  
2. Consult crystal manufacturer’s data.  
3. Not required  
4. C  
must provide low AC impedance from f = f  
/100 to 100 × f , so series resistance  
vclk  
byp  
xclk  
must be considered.  
11-spec_a  
MC68HC708XL36  
343  
MOTOROLA  
Specifications  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Sp e c ific a tions  
Table 12. CGM Operating Conditions  
Characteristic  
Crystal Reference Frequency  
Symbol  
Min  
Typ  
Max  
Unit  
f
1
8
MHz  
xclk  
f
Range Nominal Multiplier  
4.9152  
4.9152  
1
4.9152  
32.8  
16.4  
15  
MHz  
MHz  
MHz  
nom  
(1)  
VCO Center-of-Range Frequency  
f
vrs  
(2)  
Medium Voltage VCO Center-of-Range Frequency  
VCO Frequency Multiplier  
N
L
VCO Center-of-Range Multiplier  
VCO Operating Frequency  
1
15  
f
f
f
vrsmax  
MHz  
vclk  
vrsmin  
1. 5.0 V ±10% V  
2. 3.3 V ±10% V  
only  
only  
DD  
DD  
12-spec_a  
MC68HC708XL36  
344  
Specifications  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Specifications  
Preliminary Electrical Specifications  
Table 13. CGM Acquisition and Lock Time Specifications  
Description  
Filter Capacitor Multiply Factor  
Acquisition Mode Time Factor  
Tracking Mode Time Factor  
Symbol Min  
Typ  
Max  
Unit  
F/sV  
V
C
0.0154  
0.1135  
0.0174  
fact  
K
acq  
K
V
trk  
8 × VDDA  
(1)  
t
Manual Mode Time to Stable  
s
s
------------------------------  
acq  
f
× K  
acq  
xclk  
4 × V DDA  
(1)  
t
---------------------------  
Manual Stable to Lock Time  
al  
f
× K  
xclk  
trk  
t
t
+ t  
Manual Acquisition Time  
0
s
Lock  
acq al  
Tracking Mode Entry Frequency Tolerance  
Acquisition Mode Entry Frequency Tolerance  
LOCK Entry Frequency Tolerance  
3.6%  
7.2%  
0.9%  
1.8%  
trk  
6.3%  
0
acq  
Lock  
LOCK Exit Frequency Tolerance  
0.9%  
unl  
n
Reference Cycles per Acquisition Mode Measurement  
Reference Cycles per Tracking Mode Measurement  
32  
Cyc.  
Cyc.  
acq  
n
128  
trk  
n
8 × VDDA  
acq  
(1)  
t
s
----------- ------------------------------  
Automatic Mode Time to Stable  
acq  
f
f
× K  
acq  
xclk  
xclk  
n
4 × V DDA  
trk  
(1)  
t
s
s
----------  
---------------------------  
Automatic Stable to Lock Time  
al  
f
f
× K  
trk  
xclk  
xclk  
t
t
+t  
Automatic Lock Time  
Lock  
acq al  
f
× 0.025%  
crys  
(2)  
f
PLL Jitter  
0
Hz  
J
P
× 2 N/4  
1. If C chosen correctly  
F
2. Deviation of average bus frequency over 2 ms. N = VCO frequency multiplier.  
13-spec_a  
MC68HC708XL36  
345  
MOTOROLA  
Specifications  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Sp e c ific a tions  
Me m ory  
Cha ra c te ristic s  
Table 14. Memory Characteristics  
Characteristic  
Symbol  
Min  
12.5  
Typ  
13.0  
10.0  
Max  
13.5  
Unit  
V
V
EPROM Programming Voltage  
EPROM Data Retention  
PP  
t
Years  
dret  
t
EPROM Programming Time  
RAM Data Retention Voltage  
1
ms/byte  
V
epgm  
V
0.7  
rm  
14-spec_a  
MC68HC708XL36  
346  
Specifications  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Specifications  
Mechanical Specifications  
Me c ha nic a l Sp e c ific a tions  
–A–  
NOTES:  
1. DIMENSIONING AND TOLERANCING PER ANSI  
Y14.5M, 1982.  
2. CONTROLLING DIMENSION: INCH.  
3. DIMENSION L TO CENTER OF LEAD WHEN  
FORMED PARALLEL.  
56  
29  
28  
4. DIMENSIONS A AND B DO NOT INCLUDE MOLD  
FLASH. MAXIMUM MOLD FLASH 0.25 (0.010)  
–B–  
INCHES  
DIM MIN MAX  
MILLIMETERS  
MIN MAX  
1
A
B
C
D
E
2.035 2.065 51.69 52.45  
0.540 0.560 13.72 14.22  
L
0.155 0.200  
0.014 0.022  
0.035 BSC  
3.94  
0.36  
0.89 BSC  
5.08  
0.56  
H
C
F
0.032 0.046  
0.070 BSC  
0.300 BSC  
0.81  
1.778 BSC  
7.62 BSC  
0.20  
2.92  
15.24 BSC  
1.17  
G
H
J
K
L
–T–  
K
0.008 0.015  
0.38  
3.43  
SEATING  
0.115  
0.135  
PLANE  
0.600 BSC  
N
G
M
F
M
N
0
15  
0
0.51  
15  
1.02  
0.020 0.040  
E
J 56 PL  
D 56 PL  
M
S
0.25 (0.010)  
T A  
M
S
0.25 (0.010)  
T B  
Figure 3. Case Outline Drawing 859-01  
15-spec_a  
MC68HC708XL36  
347  
MOTOROLA  
Specifications  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Sp e c ific a tions  
L
48  
33  
49  
32  
B
B
P
–A–  
–B–  
L
V
B
–A–, –B–, –D–  
DETAIL A  
DETAIL A  
F
64  
17  
1
16  
–D–  
A
M
S
S
S
0.20 (0.008)  
C AB  
D
J
N
0.05 (0.002) AB  
S
BASE  
METAL  
M
S
0.20 (0.008)  
H AB  
D
E
C
D
DETAILC  
M
M
S
S
0.02 (0.008)  
C AB  
D
DATUM  
PLANE  
–H–  
–C–  
SEATING  
PLANE  
0.01 (0.004)  
M
H
G
U
NOTES:  
MILLIMETERS  
INCHES  
1. DIMENSIONING AND TOLERANCING PER ANSI  
Y14.5M, 1982.  
DIM MIN  
MAX  
MIN  
MAX  
0.555  
0.555  
0.096  
0.018  
0.094  
0.016  
A
B
13.90  
13.90  
2.15  
0.30  
2.00  
0.30  
14.10 0.547  
14.10 0.547  
2.45 0.085  
0.45 0.012  
2.40 0.079  
0.40 0.012  
2. CONTROLLING DIMENSION: MILLIMETER.  
T
3. DATUM PLANE H– IS LOCATED AT BOTTOM OF  
LEAD AND IS COINCIDENT WITH THE LEAD  
WHERE THE LEAD EXITS THE PLASTIC BODY AT  
THE BOTTOM OF THE PARTING LINE.  
4. DATUMS A, –B– AND D– TO BE DETERMINED  
AT DATUM PLANE H–.  
C
D
E
R
F
G
H
J
K
L
M
N
P
Q
R
S
0.80 BSC  
0.031 BSC  
5. DIMENSIONS S AND V TO BE DETERMINED AT  
SEATING PLANE C–.  
6. DIMENSIONS A AND B DO NOT INCLUDE MOLD  
PROTRUSION. ALLOWABLE PROTRUSION IS 0.25  
(0.010) PER SIDE. DIMENSIONS A AND B DO  
INCLUDE MOLD MISMATCH AND ARE  
DETERMINED AT DATUM PLANE H–.  
7. DIMENSION D DOES NOT INCLUDE DAMBAR  
PROTRUSION. ALLOWABLE DAMBAR  
PROTRUSION SHALL BE 0.08 (0.003) PER SIDE.  
TOTAL IN EXCESS OF THE D DIMENSION AT  
MAXIMUM MATERIAL CONDITION. DAMBAR  
CANNOT BE LOCATED ON THE LOWER RADIUS  
OR THE FOOT.  
DATUM  
PLANE  
–H–  
–––  
0.13  
0.65  
0.25  
0.23 0.005  
0.95 0.026  
–––  
0.010  
0.009  
0.037  
Q
12.00 REF  
0.472 REF  
5
10  
5
10  
0.13  
0.17 0.005  
0.007  
0.016 BSC  
K
0.40 BSC  
0
0.13  
16.95  
0.13  
0
7
0
7
W
0.30 0.005  
17.45 0.667  
––– 0.005  
0.012  
0.687  
–––  
X
T
U
V
W
X
–––  
0
–––  
DETAIL C  
16.95  
0.35  
17.45 0.667  
0.45 0.014  
0.687  
0.018  
0.063 REF  
1.6 REF  
Figure 4. Case Outline Drawing 840B-01  
16-spec_a  
MC68HC708XL36  
348  
Specifications  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Specifications  
Mechanical Specifications  
B
B
L
–A–, –B–, –D–  
33  
48  
32  
49  
P
B
L
V
DETAIL A  
BASE  
METAL  
F
DETAIL A  
J
N
17  
64  
D
16  
1
M
S
S
0.20 (0.008)  
C AB  
D
–D–  
SECTION B–B  
A
NOTES:  
M
S
S
S
0.20 (0.008)  
H AB  
D
D
1. DIMENSIONING AND TOLERANCING PER ANSI  
Y14.5M, 1982.  
0.05 (0.002) AB  
2. CONTROLLING DIMENSION: MILLIMETER.  
3. DATUM PLANE H– IS LOCATED AT BOTTOM OF  
LEAD AND IS COINCIDENT WITH THE LEAD  
WHERE THE LEAD EXITS THE PLASTIC BODY AT  
THE BOTTOM OF THE PARTING LINE.  
S
M
S
0.20 (0.008)  
C AB  
4. DATUMS AB AND D– TO BE DETERMINED AT  
DATUM PLANE H–.  
5. DIMENSIONS S AND V TO BE DETERMINED AT  
SEATING PLANE C–.  
6. DIMENSIONS A AND B DO NOT INCLUDE MOLD  
PROTRUSION. ALLOWABLE PROTRUSION IS 0.25  
(0.010) PER SIDE. DIMENSIONS A AND B DO  
INCLUDE MOLD MISMATCH AND ARE  
–H–  
DATUM PLANE  
C
E
H
DETERMINED AT DATUM PLANE H–.  
7. DIMENSION D DOES NOT INCLUDE DAMBAR  
PROTRUSION. DAMBAR PROTRUSION SHALL  
NOT CAUSE THE D DIMENSION TO EXCEED 0.53  
(0.021). DAMBAR CANNOT BE LOCATED ON THE  
LOWER RADIUS OR THE FOOT.  
0.10 (0.004)  
SEATING PLANE  
–C–  
G
DETAIL C  
8. DIMENSION K IS TO BE MEASURED FROM THE  
THEORETICAL INTERSECTION OF LEAD FOOT  
AND LEG CENTERLINES.  
U
MILLIMETERS  
DIM MIN MAX  
INCHES  
M
MIN  
MAX  
0.555  
0.555  
0.097  
0.018  
0.094  
–––  
T
A
B
C
D
E
F
13.90  
13.90  
2.07  
0.30  
2.00  
0.30  
14.10 0.547  
14.10 0.547  
2.46 0.081  
0.45 0.012  
2.40 0.079  
––– 0.012  
R
G
H
J
K
L
M
N
P
0.80 BSC  
0.031 BSC  
0.067  
0.130  
0.50  
0.250 0.003  
0.230 0.005  
0.66 0.020  
0.010  
0.090  
0.026  
Q
12.00 REF  
0.472 REF  
SEATING PLANE  
5
10  
5
10  
K
0.130  
0.170 0.005  
0.007  
0.016 BSC  
0.40 BSC  
Q
R
S
T
U
V
X
2
0.13  
16.20  
8
2
8
0.30 0.005  
16.60 0.638  
0.012  
0.654  
X
M
0.20 REF  
0.008 REF  
0
0
16.20  
1.10  
–––  
–––  
0.654  
0.051  
16.60 0.638  
1.30 0.043  
DETAIL C  
Figure 5. Case Outline Drawing 840C-04  
17-spec_a  
MC68HC708XL36  
349  
MOTOROLA  
Specifications  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Sp e c ific a tions  
L
B
B
P
33  
32  
48  
49  
–A–, –B–, –D–  
–B–  
–A–  
L
B
V
DETAIL A  
F
DETAIL A  
J
N
17  
64  
16  
1
BASE METAL  
D
–D–  
M
S
S
0.02 (0.008)  
C AB  
D
A
VIEW ROTATED 90  
CLOCKWISE  
M
S
S
0.20 (0.008)  
C AB  
D
0.05 (0.002) AB  
SECTION B–B  
S
NOTES:  
M
S
S
0.20 (0.008)  
H AB  
D
1. DIMENSIONING AND TOLERANCING PER ANSI  
Y14.5M, 1982.  
2. CONTROLLING DIMENSION: MILLIMETER.  
3. DATUM PLANE H– IS LOCATED AT BOTTOM OF  
LEAD AND IS COINCIDENT WITH THE LEAD  
WHERE THE LEAD EXITS THE PLASTIC BODY AT  
THE BOTTOM OF THE PARTING LINE.  
4. DATUMS A, –B– AND D– TO BE DETERMINED  
AT DATUM PLANE H–.  
5. DIMENSIONS S AND V TO BE DETERMINED AT  
SEATING PLANE C–.  
6. DIMENSIONS A AND B DEFINE MAXIMUM  
CERAMIC BODY DIMENSION INCLUDING GLASS  
PROTRUSION AND MISMATCH BETWEEN  
CERAMIC BODY AND COVER.  
C
E
DATUM  
–H–  
PLANE  
–C–  
0.01 (0.004)  
G
SEATING  
H
PLANE  
DETAIL C  
MILLIMETERS  
DIM MIN MAX  
INCHES  
MIN  
MAX  
0.555  
0.555  
0.162  
0.018  
0.127  
0.016  
A
B
C
D
E
13.90  
13.90  
3.00  
0.30  
2.54  
0.30  
14.10 0.547  
14.10 0.547  
4.11  
0.45 0.012  
3.22 0.100  
0.40 0.012  
U
0.118  
T
R
F
–H–  
DATUM  
PLANE  
G
H
J
K
L
0.80 BSC  
0.031 BSC  
Q
0.45  
0.13  
0.65  
0.89 0.018  
0.23 0.005  
0.95 0.026  
0.035  
0.009  
0.037  
12.00 REF  
0.472 REF  
0.007  
0.016 BSC  
K
N
P
0.13  
0.17 0.005  
W
0.40 BSC  
Q
R
S
0
7
0
7
X
0.13  
16.95  
0.13  
0
16.95  
0.35  
0.30 0.005  
17.45 0.667  
––– 0.005  
0.012  
0.687  
–––  
–––  
0.687  
0.018  
DETAIL C  
T
U
V
W
X
–––  
0
17.45 0.667  
0.45 0.014  
1.60 REF  
0.063 REF  
Figure 6. Case Outline Drawing 963-02  
18-spec_a  
MC68HC708XL36  
350  
Specifications  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Glossa ry  
Glossa ry  
A — See “accumulator (A).”  
accumulator (A) — An 8-bit general-purpose register in the CPU08. The CPU08 uses the  
accumulator to hold operands and results of arithmetic and logic operations.  
acquisition mode — A mode of PLL operation during startup before the PLL locks on a  
frequency. Also see "tracking mode."  
address bus — The set of wires that the CPU or DMA uses to read and write memory locations.  
addressing mode — The way that the CPU determines the operand address for an instruction.  
The M68HC08 CPU has 16 addressing modes.  
ALU — See “arithmetic logic unit (ALU).”  
arithmetic logic unit (ALU) — The portion of the CPU that contains the logic circuitry to perform  
arithmetic, logic, and manipulation operations on operands.  
asynchronous — Refers to logic circuits and operations that are not synchronized by a common  
reference signal.  
baud rate — The total number of bits transmitted per unit of time.  
BCD — See “binary-coded decimal (BCD).”  
binary — Relating to the base 2 number system.  
binary number system — The base 2 number system, having two digits, 0 and 1. Binary  
arithmetic is convenient in digital circuit design because digital circuits have two  
permissible voltage levels, low and high. The binary digits 0 and 1 can be interpreted to  
correspond to the two digital voltage levels.  
MC68HC708XL36  
MOTOROLA  
Glossary  
351  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Glossa ry  
binary-coded decimal (BCD) — A notation that uses 4-bit binary numbers to represent the 10  
decimal digits and that retains the same positional structure of a decimal number. For  
example,  
234 (decimal) = 0010 0011 0100 (BCD)  
bit — A binary digit. A bit has a value of either logic 0 or logic 1.  
branch instruction — An instruction that causes the CPU to continue processing at a memory  
location other than the next sequential address.  
break module — A module in the M68HC08 Family. The break module allows software to halt  
program execution at a programmable point in order to enter a background routine.  
breakpoint — A number written into the break address registers of the break module. When a  
number appears on the internal address bus that is the same as the number in the break  
address registers, the CPU executes the software interrupt instruction (SWI).  
break interrupt — A software interrupt caused by the appearance on the internal address bus  
of the same value that is written in the break address registers.  
bus — A set of wires that transfers logic signals.  
bus clock — The bus clock is derived from the CGMOUT output from the CGM. The bus clock  
frequency, f , is equal to the frequency of the oscillator output, CGMXCLK, divided by  
op  
four.  
byte — A set of eight bits.  
C — The carry/borrow bit in the condition code register. The CPU08 sets the carry/borrow bit  
when an addition operation produces a carry out of bit 7 of the accumulator or when a  
subtraction operation requires a borrow. Some logical operations and data manipulation  
instructions also clear or set the carry/borrow bit (as in bit test and branch instructions and  
shifts and rotates).  
CCR — See “condition code register.”  
central processor unit (CPU) — The primary functioning unit of any computer system. The  
CPU controls the execution of instructions.  
MC68HC708XL36  
352  
Glossary  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Glossary  
CGM — See “clock generator module (CGM).”  
clear — To change a bit from logic 1 to logic 0; the opposite of set.  
clock — A square wave signal used to synchronize events in a computer.  
clock generator module (CGM) — A module in the M68HC08 Family. The CGM generates a  
base clock signal from which the system clocks are derived. The CGM may include a  
crystal oscillator circuit and or phase-locked loop (PLL) circuit.  
comparator — A device that compares the magnitude of two inputs. A digital comparator defines  
the equality or relative differences between two binary numbers.  
computer operating properly module (COP) — A counter module in the M68HC08 Family that  
resets the MCU if allowed to overflow.  
condition code register (CCR) — An 8-bit register in the CPU08 that contains the interrupt  
mask bit and five bits that indicate the results of the instruction just executed.  
control bit — One bit of a register manipulated by software to control the operation of the  
module.  
control unit — One of two major units of the CPU. The control unit contains logic functions that  
synchronize the machine and direct various operations. The control unit decodes  
instructions and generates the internal control signals that perform the requested  
operations. The outputs of the control unit drive the execution unit, which contains the  
arithmetic logic unit (ALU), CPU registers, and bus interface.  
COP — See "computer operating properly module (COP)."  
counter clock — The input clock to the TIM counter. This clock is an output of the prescaler  
sub-module. The frequency of the counter clock is fTCNT, and the period is tTCNT  
.
CPU — See “central processor unit (CPU).”  
CPU08 — The central processor unit of the M68HC08 Family.  
CPU clock — The CPU clock is derived from the CGMOUT output from the CGM. The CPU  
clock frequency is equal to the frequency of the oscillator output, CGMXCLK, divided by  
four.  
MC68HC708XL36  
MOTOROLA  
Glossary  
353  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Glossa ry  
CPU cycles — A CPU clock cycle is one period of the internal bus-rate clock, fOP, normally  
derived by dividing a crystal oscillator source by two or more so the high and low times  
will be equal. The length of time required to execute an instruction is measured in CPU  
clock cycles.  
CPU registers — Memory locations that are wired directly into the CPU logic instead of being  
part of the addressable memory map. The CPU always has direct access to the  
information in these registers. The CPU registers in an M68HC08 are:  
A (8-bit accumulator)  
H:X (16-bit index register)  
SP (16-bit stack pointer)  
PC (16-bit program counter)  
CCR (condition code register containing the V, H, I, N, Z, and C bits)  
CSIC — customer-specified integrated circuit  
cycle time — The period of the operating frequency: tCYC = 1/fOP.  
decimal number system — Base 10 numbering system that uses the digits zero through nine.  
direct memory access module (DMA) — A M68HC08 Family module that can perform data  
transfers between any two CPU-addressable locations without CPU intervention. For  
transmitting or receiving blocks of data to or from peripherals, DMA transfers are faster  
and more code-efficient than CPU interrupts.  
DMA — See "direct memory access module (DMA)."  
DMA service request — A signal from a peripheral to the DMA module that enables the DMA  
module to transfer data.  
duty cycle — A ratio of the amount of time the signal is on versus the time it is off. Duty cycle is  
usually represented by a percentage.  
EEPROM — Electrically erasable, programmable, read-only memory. A nonvolatile type of  
memory that can be electrically reprogrammed.  
MC68HC708XL36  
354  
Glossary  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Glossary  
EPROM — Erasable, programmable, read-only memory. A non-volatile type of memory that can  
be erased by exposure to an ultraviolet light source and then reprogrammed.  
exception — An event such as an interrupt or a reset that stops the sequential execution of the  
instructions in the main program.  
external interrupt module (IRQ) — A module in the M68HC08 Family with both dedicated  
external interrupt pins and port pins that can be enabled as interrupt pins.  
fetch — To copy data from a memory location into the accumulator.  
firmware — Instructions and data programmed into nonvolatile memory.  
free-running counter — A device that counts from zero to a predetermined number, then rolls  
over to zero and begins counting again.  
full-duplex transmission — Communication on a channel in which data can be sent and  
received simultaneously.  
H — The upper byte of the 16-bit index register (H:X) in the CPU08.  
H — The half-carry bit in the condition code register of the CPU08. This bit indicates a carry from  
the low-order four bits of the accumulator value to the high-order four bits. The half-carry  
bit is required for binary-coded decimal arithmetic operations. The decimal adjust  
accumulator (DAA) instruction uses the state of the H and C bits to determine the  
appropriate correction factor.  
hexadecimal — Base 16 numbering system that uses the digits 0 through 9 and the letters A  
through F.  
high byte — The most significant eight bits of a word.  
illegal address — An address not within the memory map  
illegal opcode — A nonexistent opcode.  
I — The interrupt mask bit in the condition code register of the CPU08. When I is set, all interrupts  
are disabled.  
MC68HC708XL36  
MOTOROLA  
Glossary  
355  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Glossa ry  
index register (H:X) — A 16-bit register in the CPU08. The upper byte of H:X is called H. The  
lower byte is called X. In the indexed addressing modes, the CPU uses the contents of  
H:X to determine the effective address of the operand. H:X can also serve as a temporary  
data storage location.  
input/output (I/O) — Input/output interfaces between a computer system and the external world.  
A CPU reads an input to sense the level of an external signal and writes to an output to  
change the level on an external signal.  
instructions — Operations that a CPU can perform. Instructions are expressed by programmers  
as assembly language mnemonics. A CPU interprets an opcode and its associated  
operand(s) and instruction.  
interrupt — A temporary break in the sequential execution of a program to respond to signals  
from peripheral devices by executing a subroutine.  
interrupt request — A signal from a peripheral to the CPU intended to cause the CPU to  
execute a subroutine.  
I/O — See “input/output (I/0).”  
IRQ — See "external interrupt module (IRQ)."  
jitter — Short-term signal instability.  
latch — A circuit that retains the voltage level (logic 1 or logic 0) written to it for as long as power  
is applied to the circuit.  
latency — The time lag between instruction completion and data movement.  
least significant bit (LSB) — The rightmost digit of a binary number.  
logic 1 — A voltage level approximately equal to the input power voltage (VDD).  
logic 0 — A voltage level approximately equal to the ground voltage (VSS).  
low byte — The least significant eight bits of a word.  
low voltage inhibit module (LVI) — A module in the M68HC08 Family that monitors power  
supply voltage.  
MC68HC708XL36  
356  
Glossary  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Glossary  
LVI — See "low voltage inhibit module (LVI)."  
M68HC08 — A Motorola family of 8-bit MCUs.  
mark/space — The logic 1/logic 0 convention used in formatting data in serial communication.  
mask — 1. A logic circuit that forces a bit or group of bits to a desired state. 2. A photomask used  
in integrated circuit fabrication to transfer an image onto silicon.  
mask option — An optional microcontroller feature that the customer chooses to enable or  
disable.  
mask option register (MOR) — An EPROM location containing bits that enable or disable  
certain MCU features.  
MCU — Microcontroller unit. See “microcontroller.”  
memory location — Each M68HC08 memory location holds one byte of data and has a unique  
address. To store information in a memory location, the CPU places the address of the  
location on the address bus, the data information on the data bus, and asserts the write  
signal. To read information from a memory location, the CPU places the address of the  
location on the address bus and asserts the read signal. In response to the read signal,  
the selected memory location places its data onto the data bus.  
memory map — A pictorial representation of all memory locations in a computer system.  
microcontroller — Microcontroller unit (MCU). A complete computer system, including a CPU,  
memory, a clock oscillator, and input/output (I/O) on a single integrated circuit.  
modulo counter — A counter that can be programmed to count to any number from zero to its  
maximum possible modulus.  
monitor ROM — A section of ROM that can execute commands from a host computer for testing  
purposes.  
MOR — See "mask option register (MOR)."  
most significant bit (MSB) — The leftmost digit of a binary number.  
multiplexer — A device that can select one of a number of inputs and pass the logic level of that  
input on to the output.  
MC68HC708XL36  
MOTOROLA  
Glossary  
357  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Glossa ry  
N — The negative bit in the condition code register of the CPU08. The CPU sets the negative bit  
when an arithmetic operation, logical operation, or data manipulation produces a negative  
result.  
nibble — A set of four bits (half of a byte).  
object code — The output from an assembler or compiler that is itself executable machine code,  
or is suitable for processing to produce executable machine code.  
opcode — A binary code that instructs the CPU to perform an operation.  
open-drain — An output that has no pullup transistor. An external pullup device can be  
connected to the power supply to provide the logic 1 output voltage.  
operand — Data on which an operation is performed. Usually a statement consists of an  
operator and an operand. For example, the operator may be an add instruction, and the  
operand may be the quantity to be added.  
oscillator — A circuit that produces a constant frequency square wave that is used by the  
computer as a timing and sequencing reference.  
OTPROM — One-time programmable read-only memory. A nonvolatile type of memory that  
cannot be reprogrammed.  
overflow — A quantity that is too large to be contained in one byte or one word.  
page zero — The first 256 bytes of memory (addresses $0000–$00FF).  
parity — An error-checking scheme that counts the number of logic 1s in each byte transmitted.  
In a system that uses odd parity, every byte is expected to have an odd number of logic  
ones. In an even parity system, every byte should have an even number of logic ones. In  
the transmitter, a parity generator appends an extra bit to each byte to make the number  
of logic 1s odd for odd parity or even for even parity. A parity checker in the receiver  
counts the number of logic 1s in each byte. The parity checker generates an error signal  
if it finds a byte with an incorrect number of logic 1s.  
PC — See “program counter (PC).”  
peripheral — A circuit not under direct CPU control.  
MC68HC708XL36  
358  
Glossary  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Glossary  
phase-locked loop (PLL) — A oscillator circuit in which the frequency of the oscillator is  
synchronized to a reference signal.  
PLL — See "phase-locked loop (PLL)."  
pointer — Pointer register. An index register is sometimes called a pointer register because its  
contents are used in the calculation of the address of an operand, and therefore points to  
the operand.  
polarity — The two opposite logic levels, logic 1 and logic 0, which correspond to two different  
voltage levels, VDD and VSS.  
polling — Periodically reading a status bit to monitor the condition of a peripheral device.  
port — A set of wires for communicating with off-chip devices.  
prescaler — A circuit that generates an output signal related to the input signal by a fractional  
scale factor such as 1/2, 1/8, 1/10 etc.  
program — A set of computer instructions that cause a computer to perform a desired operation  
or operations.  
program counter (PC) — A 16-bit register in the CPU08. The PC register holds the address of  
the next instruction or operand that the CPU will use.  
pull — An instruction that copies into the accumulator the contents of a stack RAM location. The  
stack RAM address is in the stack pointer.  
pullup — A transistor in the output of a logic gate that connects the output to the logic 1 voltage  
of the power supply.  
pulse-width — The amount of time a signal is on as opposed to being in its off state.  
pulse-width modulation (PWM) — Controlled variation (modulation) of the pulse width of a  
signal with a constant frequency.  
push — An instruction that copies the contents of the accumulator to the stack RAM. The stack  
RAM address is in the stack pointer.  
PWM period — The time required for one complete cycle of a PWM waveform.  
MC68HC708XL36  
MOTOROLA  
Glossary  
359  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Glossa ry  
RAM — Random access memory. All RAM locations can be read or written by the CPU. The  
contents of a RAM memory location remain valid until the CPU writes a different value or  
until power is turned off.  
RC circuit — A circuit consisting of capacitors and resistors having a defined time constant.  
read — To copy the contents of a memory location to the accumulator.  
register — A circuit that stores a group of bits.  
reserved memory location — A memory location that is used only in special factory-test  
modes. Writing to a reserved location has no effect. Reading a reserved location returns  
an unpredictable value.  
reset — To force a device to a known condition.  
ROM — Read-only memory. A type of memory that can be read but cannot be changed (written).  
The contents of ROM must be specified before manufacturing the MCU.  
SCI — See "serial communication interface module (SCI)."  
serial — Pertaining to sequential transmission over a single line.  
serial communications interface module (SCI) — A module in the M68HC08 Family that  
supports asynchronous communication.  
serial peripheral interface module (SPI) — A module in the M68HC08 Family that supports  
synchronous communication.  
set — To change a bit from logic 0 to logic 1; opposite of clear.  
shift register — A chain of circuits that can retain the logic levels (logic 1 or logic 0) written to  
them and that can shift the logic levels to the right or left through adjacent circuits in the  
chain.  
signed — A binary number notation that accommodates both positive and negative numbers.  
The most significant bit is used to indicate whether the number is positive or negative,  
normally logic 0 for positive and logic 1 for negative. The other seven bits indicate the  
magnitude of the number.  
software — Instructions and data that control the operation of a microcontroller.  
MC68HC708XL36  
360  
Glossary  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Glossary  
software interrupt (SWI) — An instruction that causes an interrupt and its associated vector  
fetch.  
SPI — See "serial peripheral interface module (SPI)."  
stack — A portion of RAM reserved for storage of CPU register contents and subroutine return  
addresses.  
stack pointer (SP) — A 16-bit register in the CPU08 containing the address of the next available  
storage location on the stack.  
start bit — A bit that signals the beginning of an asynchronous serial transmission.  
status bit — A register bit that indicates the condition of a device.  
stop bit — A bit that signals the end of an asynchronous serial transmission.  
subroutine — A sequence of instructions to be used more than once in the course of a program.  
The last instruction in a subroutine is a return from subroutine (RTS) instruction. At each  
place in the main program where the subroutine instructions are needed, a jump or branch  
to subroutine (JSR or BSR) instruction is used to call the subroutine. The CPU leaves the  
flow of the main program to execute the instructions in the subroutine. When the RTS  
instruction is executed, the CPU returns to the main program where it left off.  
synchronous — Refers to logic circuits and operations that are synchronized by a common  
reference signal.  
TIM — See "timer interface module (TIM)."  
timer interface module (TIM) — A module used to relate events in a system to a point in time.  
timer — A module used to relate events in a system to a point in time.  
toggle — To change the state of an output from a logic 0 to a logic 1 or from a logic 1 to a logic 0.  
tracking mode — Mode of low-jitter PLL operation during which the PLL is locked on a  
frequency. Also see "acquisition mode."  
MC68HC708XL36  
MOTOROLA  
Glossary  
361  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Glossa ry  
two’s complement — A means of performing binary subtraction using addition techniques. The  
most significant bit of a two’s complement number indicates the sign of the number (1  
indicates negative). The two’s complement negative of a number is obtained by inverting  
each bit in the number and then adding 1 to the result.  
unbuffered — Utilizes only one register for data; new data overwrites current data.  
unimplemented memory location — A memory location that is not used. Writing to an  
unimplemented location has no effect. Reading an unimplemented location returns an  
unpredictable value. Executing an opcode at an unimplemented location causes an illegal  
address reset.  
V —The overflow bit in the condition code register of the CPU08. The CPU08 sets the V bit when  
a two's complement overflow occurs. The signed branch instructions BGT, BGE, BLE,  
and BLT use the overflow bit.  
variable — A value that changes during the course of program execution.  
VCO — See "voltage-controlled oscillator."  
vector — A memory location that contains the address of the beginning of a subroutine written  
to service an interrupt or reset.  
voltage-controlled oscillator (VCO) — A circuit that produces an oscillating output signal of a  
frequency that is controlled by a dc voltage applied to a control input.  
waveform — A graphical representation in which the amplitude of a wave is plotted against time.  
wired-OR — Connection of circuit outputs so that if any output is high, the connection point is  
high.  
word — A set of two bytes (16 bits).  
write — The transfer of a byte of data from the CPU to a memory location.  
X — The lower byte of the index register (H:X) in the CPU08.  
Z — The zero bit in the condition code register of the CPU08. The CPU08 sets the zero bit when  
an arithmetic operation, logical operation, or data manipulation produces a result of $00.  
MC68HC708XL36  
362  
Glossary  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Ind e x  
Ind e x  
A
effects on COP 152, 310  
accumulator (A) 43, 46  
ACK1 bit (IRQ1 interrupt request acknowledge  
bit) 312, 314, 318–319  
effects on CPU 49, 152  
effects on DMA 131, 152  
effects on SPI 224  
effects on TIM 152, 185  
flag protection during 66  
break module  
break address registers (BRKH/L) 131  
break signal 162  
ACK2 bit (IRQ2 interrupt request acknowledge  
bit) 312, 316, 318–319  
ACKK bit (keyboard acknowledge bit) 328  
ACQ bit (acquisition mode bit) 90–91,  
100–101, 107  
ADC instruction 46  
ADD instruction 46  
arithmetic/logic unit (ALU) 48  
AUTO bit (automatic bandwidth control bit) 91,  
98, 100, 104  
BRK module 149, 156  
break address registers (BRKH/L) 75, 150,  
152–155  
break flag control register (BFCR) 156  
break status and control register (BSCR)  
75, 150, 153–154  
break status register (BSR) 155  
in stop mode 75  
in wait mode 75  
B
baud rate  
mismatch 252  
SCI module 278–281  
BB[1:0] bits (DMA bus bandwidth control bits)  
121, 133, 136–137  
BCD arithmetic 46  
BCFE bit (break clear flag enable bit) 131,  
156, 185, 262, 318, 326  
BCS bit (base clock select bit) 75, 91, 94, 99,  
101, 103–105  
BRKA bit (break active bit) 75, 150, 153–154  
BRKE bit (break enable bit) 75, 153–154  
bus frequency 12, 42, 92, 97, 186  
BW bit (break/wait bit) 75, 153, 156  
BWC bit (DMA byte/word control bit) 141  
BWCx bits (DMA byte/word control bits) 120  
C
C bit (carry/borrow flag) 46–47  
ceramic resonator 84  
BIH instruction 315  
BIL instruction 315  
CGM 84, 110  
BKF bit (SCI break flag bit) 277  
branch instructions 45–46  
break character 245, 267, 274  
break interrupt 66, 82  
in stop mode 75, 105  
in wait mode 75, 105  
PLL bandwidth control register (PBWC)90,  
98, 100, 104, 107  
PLL control register (PCTL) 75, 94, 98,  
103, 105  
causes 150  
during wait mode 80  
MC68HC708XL36  
MOTOROLA  
Index  
For More Information On This Product,  
Go to: www.freescale.com  
363  
Freescale Semiconductor, Inc.  
Ind e x  
PLL programming register (PPG) 93, 98,  
102  
CGMINT signal 75, 97, 105  
CGMOUT signal 75, 84, 86, 90, 94, 97, 99,  
101, 104–105, 233  
CGMRCLK signal 86, 89  
CGMRDV signal 89  
CGMVCLK signal 75, 84, 86, 90, 94, 97,  
99–100, 104–105  
CPU interrupts  
DMA 122, 138, 146  
external 79, 184  
masking 46  
PLL 90–91, 97–98, 104  
SCI 78, 242, 246, 257, 261, 268, 273  
software 66  
SPI 79, 223, 231  
TIM 194  
TIM input capture 177  
TIM output compare 177  
TIM overflow 67, 183  
CPU registers  
H register 34  
stack pointer 33  
crosstalk 95  
crystal 75, 84, 86, 97, 105, 108, 162, 306–307  
CGMVDV signal 89  
CGMXCLK signal 58–60, 75–76, 84, 86, 94,  
97, 99, 105, 306–307, 309  
duty cycle 97  
CGMXFC pin 18, 96, 109  
CGND pin 227  
CGND/EV pin 18  
SS  
CHxF bits (TIM channel interrupt flag bits) 67,  
183, 194  
CHxIE bits (TIM channel interrupt enable bits)  
67, 183, 194–195  
CHxMAX bits (TIM maximum duty cycle bits)  
183, 198  
CLI instruction 47  
D
DAA instruction 46  
DMA module 112, 148  
block transfers 135–136, 143, 145–146  
destination address registers  
(D0DH/L–D2DH/L) 120  
condition code register (CCR) 46, 314  
configuration register (CONFIG) 39–40, 60,  
76, 308–309, 330–331  
COP bit (COP reset bit) 60, 307  
COP control register (COPCTL) 307–308  
COP counter 76, 305–309  
COP module 305, 310  
DMA block length registers (D0BL–D2BL)  
120, 122–123, 132, 141, 146–148  
DMA bus bandwidth 121, 133–134, 137  
DMA byte count registers (D0BC–D2BC)  
122–123, 132, 137, 141, 146, 148  
DMA channel control registers (D0C–D2C)  
122, 132, 140  
DMA control register 1 (DC1) 120, 122,  
132–133, 138, 146  
DMA control register 2 (DC2) 121–122,  
132, 139  
during break interrupt 310  
in stop mode 76  
in wait mode 76  
COP timeout period 39–40, 76, 306, 309  
COPD (COP disable bit) 40  
COPRS bit (COP rate select bit) 40  
CPHA bit (SPI clock phase bit) 209, 226, 229  
CPOL bit (SPI clock polarity bit) 229  
CPU interrupt  
DMA destination address registers  
(D0DH/L–D2DH/L) 122–123, 137,  
140, 145, 148  
DMA latency 122, 132  
DMA service request priority 136–137  
DMA source address registers  
(D0SH/L–D2SH/L) 120, 122–123,  
137, 140, 143–144  
external 18, 76, 130  
software 49, 150  
MC68HC708XL36  
364  
Index  
For More Information On This Product,  
Go to: www.freescale.com  
MOTOROLA  
Freescale Semiconductor, Inc.  
Index  
DMA status and control register (DSC)  
120, 132, 136, 146  
in stop mode 76  
external filter capacitor 96, 108–109  
external reset 58  
in wait mode 76, 138  
F
looping transfers 123, 135, 146  
transfer sources 122–123, 139, 142  
DMA service request priority 120  
DMA service requests  
f
(bus frequency) 92  
FE bit (SCI framing error bit) 69, 258  
FE bit (SCI receiver framing error bit) 276  
FEIE bit (SCI framing error interrupt enable bit)  
69, 258  
FEIE bit (SCI receiver framing error interrupt  
enable bit) 272, 276  
flag protection in break mode 66  
bus  
SCI 242, 246, 257, 268, 273  
SPI 231  
TIM 194  
TIM input capture 177  
TIM output compare 177  
f
f
f
(nominal center-of-range frequency) 89  
(PLL reference clock frequency) 89  
nom  
DMAP bit (DMA priority bit) 76, 120, 130, 136  
DMARE bit (SCI DMA receive enable bit) 257,  
268, 274  
DMAS bit (SPI DMA select bit) 229, 231  
DMATE bit (SCI DMA transfer enable bit) 246,  
268, 271–273  
DMAWE bit (DMA wait enable bit) 120, 138  
DTS[2:0] bits (DMA transfer source bits) 120,  
122, 139, 141  
rclk  
(PLL final reference frequency) 89, 108,  
110  
(VCO output frequency) 89  
(VCO programmed center-of-range  
frequency) 89, 93, 103  
rdv  
f
f
vclk  
vrs  
H
H bit (half-carry flag) 46  
E
ELAT bit (EPROM latch control bit) 37–38  
electrostatic damage 284  
ELSxA/B bits (TIM edge/level select bits) 182,  
196–197  
ENSCI bit (enable SCI bit) 241, 264  
EPGM bit (EPROM program control bit) 37–38  
EPMCPD bit (EPROM charge  
pump disable bit) 37  
I
I bit (interrupt mask) 46, 63, 314, 319  
I/O port pin termination 284  
I/O registers  
locations 24  
IDLE bit (SCI receiver idle bit) 68, 257, 275  
idle character 68, 245–246, 264–265  
IECx bits (DMA CPU interrupt enable bits)  
135, 137  
IFC[2:0] bits (DMA CPU interrupt flag bits) 138  
IFCx bits (DMA CPU interrupt flag bits) 137,  
141, 146  
ILAD bit (illegal address reset bit) 60–61  
ILIE bit (SCI idle line interrupt enable bit) 68,  
257, 268  
ILOP bit (illegal opcode reset bit) 60–61  
ILTY bit (SCI idle line type bit) 265  
EPROM  
erasure 36  
locations 36  
programming 18  
programming tools 36  
security 12, 36, 158, 169  
size 12, 22  
EPROM control register (EPMCR) 37  
external crystal 82, 101  
MC68HC708XL36  
365  
MOTOROLA  
Index  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Ind e x  
IMASK1 bit (IRQ1 interrupt mask bit) 314, 319  
IMASK2 bit (IRQ2 interrupt mask bit)314, 316,  
319  
IMASKK (keyboard interrupt mask bit) 328  
index register (H:X) 44, 63  
input capture 67, 172–173, 177, 183, 186,  
192, 199, 294  
L
L (VCO linear range multiplier) 93  
L[2:0] bits (DMA loop enable bits) 137  
LDA instruction 63  
literature distribution centers 371  
LOCK bit (lock indicator bit) 90, 98, 100, 104,  
107  
LOOPS bit (SCI loop mode select bit) 264  
LVI bit (low-voltage inhibit reset bit) 60  
LVI module  
internal address bus 150  
internal reset 58  
timing 58  
interrupt status and control register (ISCR)  
in stop mode 78  
in wait mode 78  
312  
LVI status register (LVISR) 330–331  
interrupts  
LVI trip voltage 329  
vector addresses 65  
LVIOUT bit (LVI output bit) 330–331  
LVIPWRD bit (LVI power disable bit) 40  
LVIRST bit (LVI reset bit) 330  
LVIRSTD bit (LVI reset disable bit) 40  
LVISTOP bit (LVI enable in stop mode bit) 40  
IRQ module  
in stop mode 77  
in wait mode 77  
IRQ status and control register (ISCR) 318  
IRQ1 pin 18, 37–38, 309, 314–315  
triggering sensitivity 312  
IRQ2 pin 18, 316  
triggering sensitivity 312  
IRQ2F bit (IRQ2 interrupt flag) 319  
M
M bit (SCI character length bit) 241, 245, 265  
M6805 compatibility 34  
M68HC08 Family 12, 41  
MODE1 bit (IRQ1 edge/level select bit) 312,  
314, 320  
J
jump instructions 45  
MODE2 bit (IRQ2 interrupt edge/level select  
bit) 312, 316, 319  
MODEK bit (keyboard triggering sensitivity bit)  
323, 328  
MODF bit (mode fault error bit) 214  
MODF bit (SPI mode fault bit) 232  
monitor commands  
K
KBIEx bits (keyboard interrupt enable bits)  
324, 328  
keyboard interrupt enable register (KBIER)  
328  
keyboard interrupt pins 19  
keyboard status and control register (KBSCR)  
327  
IREAD 166  
IWRITE 166  
READ 165  
READSP 167  
KEYF bit (keyboard flag bit) 327  
KEYF bit (keyboard interrupt flag bit) 324  
RUN 167  
WRITE 165  
MC68HC708XL36  
366  
Index  
For More Information On This Product,  
Go to: www.freescale.com  
MOTOROLA  
Freescale Semiconductor, Inc.  
Index  
monitor mode 49, 150, 152, 309  
OVRF bit (overflow bit) 214  
alternate vector addresses 161  
baud rate 162  
OVRF bit (SPI overflow bit) 232  
commands 158  
echoing 162–163  
P
packages  
EPROM programming 158  
monitor ROM 22  
QFP 16, 300, 303  
SDIP 15  
MSxA/B bits (TIM mode select bits) 178,  
181–183, 195–196  
MSxB bits (TIM mode select bits) 181  
parity  
SCI module 69, 258, 264, 266, 272  
PE bit (SCI parity error bit) 69, 258  
PE bit (SCI receiver parity error bit) 277  
N
PEIE bit (SCI parity error interrupt enable bit)  
69, 258  
N (VCO frequency multiplier) 92–93  
N bit (negative flag) 47  
NEIE bit (SCI noise error interrupt enable bit)  
68, 258, 276  
NEIE bit (SCI receiver noise error interrupt  
enable bit) 272  
PEIE bit (SCI receiver parity error interrupt en-  
able bit) 272, 277  
PEN bit (SCI parity enable bit) 266  
phase-locked loop (PLL) 75, 84, 86, 88, 92,  
94, 96–97, 104–110  
NF bit (SCI noise flag bit) 68, 258, 276  
noise 17, 68, 89–90, 95–96, 106, 108–109,  
181–182, 258, 276, 278  
acquisition mode 88, 90, 100–101,  
106–109  
acquisition time 106–110  
automatic bandwidth mode 90  
lock detector 88, 90, 97  
lock time 106, 108–110  
O
object code 12  
loop filter 88, 90, 96  
Opcode map 56  
manual bandwidth mode 100  
phase detector 88, 108  
OR bit (SCI receiver overrun bit) 68, 258, 275  
ordering information  
tracking mode 88, 90, 100, 107, 110  
voltage-controlled oscillator (VCO) 75, 86,  
88, 90, 94, 100, 102–105, 108  
PIN bit (external reset bit) 58, 61  
PLLF bit (PLL flag bit) 104  
literature distribution centers 371  
Mfax 372  
Web server 372  
Web site 372  
ORIE bit (SCI overrun interrupt enable bit) 68,  
PLLF bit (PLL interrupt flag bit) 98  
PLLIE bit (PLL interrupt enable bit) 66, 91, 98  
PLLON bit (PLL on bit) 75, 91, 99, 103, 105  
POR bit (power-on reset bit) 59, 61  
port A 19, 286–287  
data direction register A (DDRA) 286  
port A data register (PORTA) 286  
port B 19, 288–289  
258  
ORIE bit (SCI receiver overrun interrupt  
enable bit) 272, 275  
OSC1 pin 18, 96–97  
OSC2 pin 18, 96–97  
oscillator 86, 94, 96, 307  
pins 18  
stabilization delay 59–60  
output compare 67, 172–173, 177–179,  
182–183, 186, 192, 199, 294  
data direction register B (DDRB) 288  
port B data register (PORTB) 288  
MC68HC708XL36  
367  
MOTOROLA  
Index  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Ind e x  
port C 19, 290–291  
RE bit (SCI receiver enable bit) 269  
reset  
COP 58, 61, 76, 305, 309  
data direction register C (DDRC) 290  
port C data register (PORTC) 290  
port D 19, 292–293  
external 61  
data direction register D (DDRD) 292  
keyboard interrupt enable register (KBICR)  
292  
external reset pin (RST) 18  
illegal address 58, 60–61  
illegal opcode 58, 60–61  
internal 18, 58–59, 308  
LVI 58  
port D data register (PORTD) 292  
port E 19, 294, 297  
POR 58–59, 61  
power-on 307  
data direction register E (DDRE) 296  
port E data register (PORTE) 294  
port F 19, 297, 300  
data direction register F (DDRF) 299  
port F data register (PORTF) 297  
port G 20, 300, 302  
data direction register G (DDRG) 301  
port G data register (PORTG) 300  
port H 20, 303–304  
data direction register H (DDRH) 303  
port H data register (PORTH) 303  
power supply 108  
reset status register (RSR) 58, 60–61, 307  
RPF bit (SCI reception in progress flag bit) 278  
RST pin 58, 61, 307  
RTI instruction 47, 49, 63, 150  
RWU bit (SCI receiver wake-up bit) 269  
S
SBK bit (SCI send break bit) 245, 270  
SCI module 236, 281  
baud rate 237, 278  
character format 266  
DMA service requests 121  
error conditions 68, 258  
framing error 252, 276  
I/O pins 263  
bypassing 17  
pins 17  
program counter (PC) 45, 49, 152, 315–316,  
323  
PS[2:0] bits (TIM prescaler select bits) 177,  
189  
in stop mode 78  
in wait mode 78  
noise error 276  
overrun error 272  
parity 266, 272, 277  
PSHH instruction 47  
PTY bit (SCI parity bit) 266  
PULH instruction 47  
pulse-width modulation 172  
pulse-width modulation (PWM) 179–181, 186,  
192  
parity error 69, 258  
SCI baud rate register (SCBR) 279  
SCI control register 1 (SCC1) 241, 245,  
264  
SCI control register 2 (SCC2) 68, 241,  
245–246, 257, 267, 273  
SCI control register 3 (SCC3) 68, 241, 246,  
257–258, 268, 270, 273  
SCI data register (SCDR) 68, 241–242,  
246, 249, 257–258, 271, 274,  
277–278  
duty cycle 180, 183, 198  
frequency 180  
initialization 182  
R
R8 bit (SCI received bit 8) 271  
RAM 33–34, 158  
size 12, 22  
stack RAM 45  
MC68HC708XL36  
368  
Index  
For More Information On This Product,  
Go to: www.freescale.com  
MOTOROLA  
Freescale Semiconductor, Inc.  
Index  
SCI status register 1 (SCS1) 68, 242, 246,  
SPRF bit (SPI receiver full bit) 67, 206–207,  
249, 257–258, 264, 273  
SCI status register 2 (SCS2) 277  
SCP1–SCP0 bits (SCI baud rate prescaler  
bits) 279  
SCRF bit (SCI receiver full bit) 68, 249, 257,  
268, 274  
SCRIE bit (SCI receiver interrupt enable bit)  
68, 257, 268, 274  
SCTE bit (SCI transmitter empty bit) 68, 242,  
246, 264, 268, 273  
213, 228, 230–231  
SPRIE bit (SPI receiver interrupt enable bit)  
67, 228, 231  
SPTE bit (SPI transmitter empty bit) 67, 206,  
213, 229–230, 232  
SPTE bit (SPI transmitter enable bit) 233  
SPTIE bit (SPI transmitter interrupt enable bit)  
67, 230, 232  
SPWOM bit (SPI wired-OR mode bit) 225, 230  
SSREC bit (short stop recovery bit) 40, 82  
stack pointer (SP) 33, 44  
SCTIE bit (SCI transmitter interrupt enable bit)  
68, 242, 246, 268, 273  
stack RAM 33, 45  
SDC[3:0] bits (DMA source/destination ad-  
dress control bits) 120, 140  
SIMOSCEN signal 86, 96  
start bit 162  
SCI data 242, 245, 249, 265, 270, 278  
stop bit  
SPE bit (SPI enable bit) 230  
SPI module 201, 234  
SCI data 69, 242, 245–246, 252–254, 256,  
258, 265, 276  
baud rate 230, 233  
DMA service requests 121  
I/O pins 225  
in stop mode 79, 224  
in wait mode 79  
mode fault error 214, 232  
overflow error 214, 232  
receive data register 67, 206–207, 215,  
221, 228, 230–232, 234  
STOP bit (STOP enable bit) 40, 60, 76, 309  
STOP instruction 74–79, 99, 105, 130, 153,  
184, 223–224, 261, 307, 309, 332  
enabling 39  
stop mode 75–76, 78–79, 130, 153, 184, 224,  
261, 278, 309, 332  
stop mode recovery time 39  
SWI instruction 49, 66, 150, 152  
SWI[7:0] bits (DMA software initiate bits) 139  
slave select pin 214, 230  
SPI control register (SPCR) 225, 228, 231  
SPI data register 214, 231  
SPI data register (SPDR) 206, 234  
SPI status and control register 232  
SPI status and control register (SPSCR)  
206, 214, 230–231  
T
T8 bit (SCI transmitted bit 8) 271  
T8 bit (transmitted SCI bit 8) 241  
TC bit (SCI transmission complete bit) 264,  
268, 274  
TC bit (transmission complete bit) 68, 246  
TCIE bit (SCI transmission complete interrupt  
enable bit) 268, 274  
TE bit (SCI transmitter enable bit) 246, 269  
TE bit (transmitter enable bit) 241  
TECx bits (DMA transfer enable bits) 77,  
120–121, 135–136  
transmit data register 67, 206–207, 209,  
211, 213, 224, 230, 232, 234  
SPMSTR bit (SPI master mode bit) 205, 207,  
225, 229  
SPR[0:1] bits (SPI baud rate select bits) 206  
SPR1[1:0] bits (SPI baud rate select bits) 233  
MC68HC708XL36  
369  
MOTOROLA  
Index  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Ind e x  
TIM 172, 199  
TRST bit (TIM reset bit) 182, 189, 191, 196  
clock input pin (TCLK) 177, 186  
DMA service requests 121  
in stop mode 184  
TSTOP bit (TIM stop bit) 182, 189, 196  
TXINV bit 265  
TXINV bit (SCI transmit inversion bit) 246, 265  
in wait mode 184  
prescaler 177  
TIM channel registers  
U
ultraviolet light 36  
user vectors 22  
(TCH0H/L–TCH3H/L) 177–181,  
186, 197, 199  
addresses 32  
TIM channel registers (TCHxH/L) 177  
TIM channel status and control registers  
(TSC0–TSC3) 178, 181, 192  
TIM counter modulo registers (TMODH/L)  
67, 180, 183, 192  
TIM counter modulo registers  
(TMODH:TMODL) 182  
TIM counter registers (TCNTH/L) 191, 194  
TIM counter registers  
V
V bit (overflow flag) 46  
V
V
pin 17  
DD  
pin 18, 96, 108–109  
DDA  
voltage-controlled oscillator (VCO) 92, 97, 99  
VRS[7:4] bits (VCO range select bits) 103  
V
pin 17  
SS  
(TCNTH:TCNTL) 191  
TIM DMA select register (TDMA) 183, 190,  
195  
W
WAIT instruction 74, 76, 130, 138, 153, 184,  
223, 261, 309, 332  
TIM modulo registers  
wait mode 75–76, 78–79, 130, 153, 184, 189,  
223, 261, 309, 332  
exit by break interrupt 155  
WAKE bit (SCI wake-up condition bit) 265  
Web server 372  
(TMODH:TMODL) 173  
TIM status and control register (TSC) 67,  
177, 182–183, 188, 196  
TIM counter 173, 185  
TOF bit (TIM overflow bit) 67, 183  
TOF bit (TIM overflow flag bit) 188, 192  
TOIE bit (TIM overflow interrupt enable bit) 67,  
183, 188  
Web site 372  
X
XLD bit (crystal loss detect bit) 101  
TOVx (TIM toggle on overflow bits) 183  
TOVx bits (TIM overflow bits) 182  
TOVx bits (TIM toggle on overflow bits) 183,  
198  
Z
Z bit (zero flag) 47  
MC68HC708XL36  
370  
Index  
For More Information On This Product,  
Go to: www.freescale.com  
MOTOROLA  
Freescale Semiconductor, Inc.  
Lite ra ture Up d a te s  
Lite ra ture Up d a te s  
This document contains the latest data available at publication time. For  
updates, contact one of the centers listed below:  
Lite ra ture Distrib ution Ce nte rs  
Order literature by mail or phone.  
USA/ Europ e  
Motorola Literature Distribution  
P.O. Box 20912  
Phoenix, Arizona 85036  
Phone 1 800 441-2447 or 602 303-5454  
Ja p a n  
Nippon Motorola Ltd.  
Tatsumi-SPD-JLDC  
Toshikatsu Otsuki  
6F Seibu-Butsuryu Center  
3-14-2 Tatsumi Koto-Ku  
Tokyo 135, Japan  
Phone 03-3521-8315  
Hong Kong  
Motorola Semiconductors H.K. Ltd.  
8B Tai Ping Industrial Park  
51 Ting Kok Road  
Tai Po, N.T., Hong Kong  
Phone 852-26629298  
MC68HC708XL36  
371  
MOTOROLA  
Literature Updates  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Lite ra ture Up d a te s  
Mfa x  
To access this worldwide faxing service call or contact by electronic mail:  
RMFAX0@email.sps.mot.com  
TOUCH-TONE 602-244-6609  
Or, on the http://Design-NET.com home page, select the Mfax icon.  
Obtain a fax of complete, easy-to-use Mfax instructions by entering your  
FAX number and then pressing the 1 key.  
Motorola SPS World Ma rke ting World Wid e We b Se rve r  
Use the Internet to access Motorola’s World Wide Web server. Use the  
following URL:  
http://design-net.com  
CSIC Mic roc ontrolle r Divisions We b Site  
Directly access the CSIC Microcontroller Division’s web site with the  
following URL:  
http://design-net.com/csic/CSIC_home.html  
MC68HC708XL36  
372  
Literature Updates  
MOTOROLA  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
MC68HC708XL36 TECHNICAL DATA  
CUSTOMER RESPONSE SURVEY  
To make M68HC08 documentation as clear, complete, and easy to use as possible, we need your  
comments. Please complete this form and return it by mail, or FAX it to 512-891-3236.  
1. How do you rate the quality of this document?  
High  
Low  
High  
Low  
Organization  
Readability  
Accuracy  
Figures  
Tables  
Table of contents  
Page size/binding  
Overall impression  
Comments:  
2. What is your intended use for this document?  
Device selection for new application  
System design  
Other  
Please specify:  
Training  
3. Does this document help you to perform your job?  
Yes  
No  
Comments:  
4. Are you able to easily find the information you need?  
Yes No  
Comments:  
5. Does each section of the document provide you with enough information?  
Yes No  
Yes  
No  
Introduction  
Memory  
Monitor ROM  
Timer Interface Module  
SPI Module  
RAM  
EPROM  
SCI Module  
Configuration Register  
CPU  
I/O Ports  
COP Module  
Resets and Interrupts  
Low-Power Modes  
Clock Generator Module  
Direct Memory Access Module  
Break Module  
IRQ Module  
Keyboard Interrupt Module  
LVI Module  
Specifications  
Glossary  
Index  
6. What would you like us to do to improve this document?  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Motorola  
6501 William Cannon Drive West  
Mail Stop OE17  
Austin, Texas 78735-8598  
Attn: CSIC Publications Department  
CSIC Microcontroller Division  
Second: fold back along this line  
F:cuaghslintrmove  
Please supply the following information (optional).  
Name: ___________________________________________________  
Company Name: ___________________________________________  
Title: ____________________________________________________  
Address: _________________________________________________  
City: _____________________________State: _____Zip:__________  
Phone Number: ____________________________________________  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Home Page:  
www.freescale.com  
email:  
support@freescale.com  
USA/Europe or Locations Not Listed:  
Freescale Semiconductor  
Technical Information Center, CH370  
1300 N. Alma School Road  
Chandler, Arizona 85224  
(800) 521-6274  
RoHS-compliant and/or Pb- free versions of Freescale products have the functionality  
and electrical characteristics of their non-RoHS-compliant and/or non-Pb- free  
counterparts. For further information, see http://www.freescale.com or contact your  
Freescale sales representative.  
For information on Freescale.s Environmental Products program, go to  
http://www.freescale.com/epp.  
480-768-2130  
support@freescale.com  
Europe, Middle East, and Africa:  
Freescale Halbleiter Deutschland GmbH  
Technical Information Center  
Schatzbogen 7  
81829 Muenchen, Germany  
+44 1296 380 456 (English)  
+46 8 52200080 (English)  
+49 89 92103 559 (German)  
+33 1 69 35 48 48 (French)  
support@freescale.com  
Japan:  
Freescale Semiconductor Japan Ltd.  
Headquarters  
ARCO Tower 15F  
Information in this document is provided solely to enable system and software  
implementers to use Freescale Semiconductor products. There are no express or  
implied copyright licenses granted hereunder to design or fabricate any integrated  
circuits or integrated circuits based on the information in this document.  
1-8-1, Shimo-Meguro, Meguro-ku  
Tokyo 153-0064, Japan  
0120 191014  
+81 2666 8080  
Freescale Semiconductor reserves the right to make changes without further notice to  
any products herein. Freescale Semiconductor makes no warranty, representation or  
guarantee regarding the suitability of its products for any particular purpose, nor does  
Freescale Semiconductor assume any liability arising out of the application or use of  
any product or circuit, and specifically disclaims any and all liability, including without  
limitation consequential or incidental damages. “Typical” parameters which may be  
provided in Freescale Semiconductor data sheets and/or specifications can and do  
vary in different applications and actual performance may vary over time. All operating  
parameters, including “Typicals” must be validated for each customer application by  
customer’s technical experts. Freescale Semiconductor does not convey any license  
under its patent rights nor the rights of others. Freescale Semiconductor products are  
not designed, intended, or authorized for use as components in systems intended for  
surgical implant into the body, or other applications intended to support or sustain life,  
or for any other application in which the failure of the Freescale Semiconductor product  
could create a situation where personal injury or death may occur. Should Buyer  
purchase or use Freescale Semiconductor products for any such unintended or  
unauthorized application, Buyer shall indemnify and hold Freescale Semiconductor  
and its officers, employees, subsidiaries, affiliates, and distributors harmless against all  
claims, costs, damages, and expenses, and reasonable attorney fees arising out of,  
directly or indirectly, any claim of personal injury or death associated with such  
unintended or unauthorized use, even if such claim alleges that Freescale  
support.japan@freescale.com  
Asia/Pacific:  
Freescale Semiconductor Hong Kong Ltd.  
Technical Information Center  
2 Dai King Street  
Tai Po Industrial Estate,  
Tai Po, N.T., Hong Kong  
+800 2666 8080  
support.asia@freescale.com  
For Literature Requests Only:  
Freescale Semiconductor  
Literature Distribution Center  
P.O. Box 5405  
Denver, Colorado 80217  
(800) 441-2447  
303-675-2140  
Fax: 303-675-2150  
LDCForFreescaleSemiconductor  
Semiconductor was negligent regarding the design or manufacture of the part.  
@hibbertgroup.com  
For More Information On This Product,  
Go to: www.freescale.com  

相关型号:

MC68HC711A0CFB

ROM-based high-performance microcontrollers
FREESCALE

MC68HC711A0CFB1

ROM-based high-performance microcontrollers
FREESCALE

MC68HC711A0CFB3

ROM-based high-performance microcontrollers
FREESCALE

MC68HC711A0CFB4

ROM-based high-performance microcontrollers
FREESCALE

MC68HC711A0CFN

ROM-based high-performance microcontrollers
FREESCALE

MC68HC711A0CFN1

ROM-based high-performance microcontrollers
FREESCALE

MC68HC711A0CFN3

ROM-based high-performance microcontrollers
FREESCALE

MC68HC711A0CFN4

ROM-based high-performance microcontrollers
FREESCALE

MC68HC711A0CFU

ROM-based high-performance microcontrollers
FREESCALE

MC68HC711A0CFU1

ROM-based high-performance microcontrollers
FREESCALE

MC68HC711A0CFU3

ROM-based high-performance microcontrollers
FREESCALE

MC68HC711A0CFU4

ROM-based high-performance microcontrollers
FREESCALE