DATA SHEET MOS INTEGRATED CIRCUIT µPD17225, 17226, 17227, 17228 4-BIT SINGLE-CHIP MICROCONTROLLER FOR SMALL GENERAL-PURPOSE INFRARED REMOTE CONTROL TRANSMITTER DESCRIPTION µPD17225, 17226, 17227, 17228 (hereafter called µPD17225 subseries) are 4-bit single-chip microcontrollers for small general-purpose infrared remote control transmitters. It employs a 17K architecture of general-purpose register type devices for the CPU, and can directly execute operations between memories instead of the conventional method of executing operations through the accumulator. Moreover, all the instructions are 16-bit 1-word instructions which can be programmed efficiently. In addition, a one-time PROM model, µPD17P218, to which data can be written only once, is also available. It is convenient either for evaluating the µPD17225 subseries programs or small-scale production of application systems. Detailed functions are described in the following manual. Be sure to read this manual when designing your system. µPD172×× Subseries User's Manual: U12795E FEATURES • Infrared remote controller carrier generator circuit (REM output) • 17K architecture: General-purpose register system • Program memory (ROM), Data memory (RAM) Program memory (ROM) µPD17225 µPD17226 µPD17227 µPD17228 4 K bytes 8 K bytes 12 K bytes 16 K bytes (2048 × 16) (4096 × 16) (6144 × 16) (8192 × 16) 111 × 4 bits Data memory (RAM) • 8-bit timer 223 × 4 bits : 1 channel • Basic internal timer/Watchdog timer : 1 channel (WDOUT output) • Instruction execution time (can be changed in two steps) at fX = 4 MHz : 4 µs (high-speed mode)/8 µs (ordinary mode) at fX = 8 MHz : 2 µs (high-speed mode)/4 µs (ordinary mode) • External interrupt pin (INT) : 1 • I/O pins : 20 • Supply voltage : VDD = 2.2 to 3.6 V (at fX = 8 MHz (high-speed mode)) VDD = 2.0 to 3.6 V (at fX = 4 MHz (high-speed mode)) • Low-voltage detector circuit (mask option) Unless otherwise specified, the µPD17225 is treated as the representative model throughout this document. The information in this document is subject to change without notice. Before using this document, please confirm that this is the latest version. Not all devices/types available in every country. Please check with local NEC representative for availability and additional information. Document No. U12643EJ2V0DS00 (2nd edition) Date Published April 1999 N CP (K) Printed in Japan The mark shows major revised points. © 1997,1999 µPD17225, 17226, 17227, 17228 APPLICATION Preset remote controllers, toys, portable systems, etc. ORDERING INFORMATION Part Number Package µPD17225CT-××× 28-pin plastic shrink DIP (400 mil) µPD17225GT-××× 28-pin plastic SOP (375 mil) µPD17225MC-×××-5A4 30-pin plastic shrink SOP (300 mil) µPD17226CT-××× 28-pin plastic shrink DIP (400 mil) µPD17226GT-××× 28-pin plastic SOP (375 mil) µPD17226MC-×××-5A4 30-pin plastic shrink SOP (300 mil) µPD17227CT-××× 28-pin plastic shrink DIP (400 mil) µPD17227GT-××× 28-pin plastic SOP (375 mil) µPD17227MC-×××-5A4 30-pin plastic shrink SOP (300 mil) µPD17228CT-××× 28-pin plastic shrink DIP (400 mil) µPD17228GT-××× 28-pin plastic SOP (375 mil) µPD17228MC-×××-5A4 30-pin plastic shrink SOP (300 mil) Remark ××× indicates ROM code suffix. DIFFERENCE BETWEEN µPD17225 SUBSERIES AND µPD17215 SUBSERIES Item µPD17225 Subseries µPD17215 Subseries Supply Voltage VDD = 2.0 to 3.6 V VDD = 2.0 to 5.5 V Instruction Execution 2 µs (VDD = 2.2 to 3.6 V) 4 µs (VDD = 2.0 to 3.6 V) 2 µs (VDD = 3.5 to 5.5 V) 4 µs (VDD = 2.2 to 5.5 V) 8 µs (VDD = 2.0 to 5.5 V) Connected to RESET pin or VDD via resistor (when not used) Connected to RESET pin or GND (when not used) Time (tCY) WDOUT Pin Connection of WDOUT pin differs between µPD17P218 and µPD17225, 17226, 17227, and 17228 when OTP is evaluated on µPD17225 subseries board and when WDOUT pin is not used. When µPD17P218 is used, malfunctioning does not occur even when WDOUT pin is pulled up, though connection can be changed by using a jumper switch on the external board. Others 2 Supply voltage, low-voltage detection voltage, oscillator characteristics, and noise characteristics differ. Although µPD17P218 is used as one-time PROM for evaluation for both subseries, µPD17P218 cannot be used to evaluate the low-voltage high-speed operation of the µPD17225 subseries. Data Sheet U12643EJ2V0DS00 µPD17225, 17226, 17227, 17228 PIN CONFIGURATION (TOP VIEW) • 28-pin plastic SOP (375 mil) µPD17225GT-×××, 17226GT-×××, 17227GT-×××, 17228GT-××× • 28-pin plastic shrink DIP (400 mil) µPD17225CT-×××, 17226CT-×××, 17227CT-×××, 17228CT-××× P0D 2 1 28 P0D 1 P0D 3 2 27 P0D 0 INT 3 26 P0C 3 P0E 0 4 25 P0C 2 P0E 1 5 24 P0C 1 P0E 2 6 23 P0C 0 P0E 3 7 22 P0B 3 REM 8 21 P0B 2 V DD 9 20 P0B 1 X OUT 10 19 P0B 0 X IN 11 18 P0A 3 GND 12 17 P0A 2 RESET 13 16 P0A 1 WDOUT 14 15 P0A 0 Data Sheet U12643EJ2V0DS00 3 µPD17225, 17226, 17227, 17228 • 30-pin plastic shrink SOP (300 mil) µPD17225MC-×××-5A4, µPD17226MC-×××-5A4, µPD17227MC-×××-5A4, µPD17228MC-×××-5A4 P0D2 1 30 IC2 P0D3 2 29 P0D1 INT 3 28 P0D0 P0E0 4 27 P0C3 P0E1 5 26 P0C2 P0E2 6 25 P0C1 P0E3 7 24 P0C0 REM 8 23 P0B3 VDD 9 22 P0B2 XOUT 10 21 P0B1 XIN 11 20 P0B0 GND 12 19 P0A3 RESET 13 18 P0A2 WDOUT 14 17 P0A1 IC1 15 16 P0A0 GND : Ground IC1, IC2 : Internally connected INT : External interrupt request signal input P0A0-P0A3 : Input port (CMOS input) P0B0-P0B3 : Input port (CMOS input) P0C0-P0C3 : Output port (N-ch open-drain output) P0D0-P0D3 : Output port (N-ch open-drain output) P0E0-P0E3 : I/O port (CMOS push-pull output) 4 REM : Remote controller output (CMOS push-pull output) RESET : Reset input VDD : Power supply WDOUT : Hang-up/low voltage detection output (N-ch open-drain output) XIN, XOUT : Resonator connection Data Sheet U12643EJ2V0DS00 µPD17225, 17226, 17227, 17228 BLOCK DIAGRAM P0A0 P0A1 P0A2 P0A Remote Control Divider RF REM P0A3 RAM µ PD17225, 17226 : 111 × 4 bits µ PD17227, 17228 : 223 × 4 bits P0B0 P0B1 P0B2 P0B3 8-bit Timer SYSTEM REG. P0B Interrupt Controller INT ALU P0C0 P0C1 P0C2 P0C3 P0D0 P0D1 P0D2 P0D3 P0C ROM µ PD17225 : 2048 µ PD17226 : 4096 µ PD17227 : 6144 µ PD17228 : 8192 × × × × 16 bits 16 bits 16 bits 16 bits Instruction Decoder RESET P0D WDOUT Program Counter P0E0 P0E1 P0E2 P0E3 Power Supply Circuit P0E Stack (5 levels) Basic Interval/ Watchdog Timer VDD GND CPU Clock XIN OSC XOUT Data Sheet U12643EJ2V0DS00 5 µPD17225, 17226, 17227, 17228 CONTENTS 1. 2. 3. 4. 5. 6. 7. 6 PIN FUNCTIONS ........................................................................................................................... 8 1.1 Pin Function List ................................................................................................................................ 8 1.2 Input/Output Circuits ......................................................................................................................... 9 1.3 Processing of Unused Pins .............................................................................................................. 10 MEMORY SPACE ......................................................................................................................... 11 2.1 Program Counter (PC) ....................................................................................................................... 11 2.2 Program Memory (ROM) ................................................................................................................... 11 2.3 Stack ................................................................................................................................................... 13 2.4 Data Memory (RAM) ........................................................................................................................... 15 2.5 Register File (RF) ............................................................................................................................... 22 PORTS ........................................................................................................................................... 25 3.1 Port 0A (P0A0-P0A3) ........................................................................................................................... 25 3.2 Port 0B (P0B0-P0B3) ........................................................................................................................... 25 3.3 Port 0C (P0C0-P0C3) ........................................................................................................................... 25 3.4 Port 0D (P0D0-P0D3) ........................................................................................................................... 25 3.5 Port 0E (P0E0-P0E3) ........................................................................................................................... 25 3.6 INT Pin ................................................................................................................................................. 26 3.7 Switching Bit I/O ................................................................................................................................ 27 3.8 Specifying Pull-up Resistor Connection ......................................................................................... 28 CLOCK GENERATOR CIRCUIT .................................................................................................. 29 4.1 Instruction Execution Time (CPU Clock) Selection ........................................................................ 29 8-BIT TIMER AND REMOTE CONTROLLER CARRIER GENERATOR CIRCUIT ..................... 30 5.1 Configuration of 8-bit Timer (with modulo function) ..................................................................... 30 5.2 Function of 8-bit Timer (with modulo function) .............................................................................. 32 5.3 Carrier Generator Circuit for Remote Controller ............................................................................ 33 BASIC INTERVAL TIMER/WATCHDOG TIMER .......................................................................... 37 6.1 Source Clock for Basic Interval Timer ............................................................................................. 37 6.2 Controlling Basic Interval Timer ...................................................................................................... 37 6.3 Operation Timing for Watchdog Timer ............................................................................................ 39 INTERRUPT FUNCTIONS ............................................................................................................ 40 7.1 Interrupt Sources ............................................................................................................................... 40 7.2 Hardware of Interrupt Control Circuit .............................................................................................. 41 7.3 Interrupt Sequence ............................................................................................................................ 44 Data Sheet U12643EJ2V0DS00 µPD17225, 17226, 17227, 17228 8. STANDBY FUNCTIONS ................................................................................................................ 46 8.1 HALT Mode ......................................................................................................................................... 46 8.2 HALT Instruction Execution Conditions .......................................................................................... 47 8.3 STOP Mode ......................................................................................................................................... 48 8.4 STOP Instruction Execution Conditions ......................................................................................... 49 8.5 Releasing Standby Mode .................................................................................................................. 49 RESET ........................................................................................................................................... 50 9.1 Reset by Reset Signal Input ............................................................................................................. 50 9.2 Reset by Watchdog Timer (Connect RESET and WDOUT pins) ................................................... 50 9.3 Reset by Stack Pointer (Connect RESET and WDOUT pins) ........................................................ 51 10. LOW-VOLTAGE DETECTOR CIRCUIT (CONNECT RESET AND WDOUT PINS) .................... 52 11. ASSEMBLER RESERVED WORDS ............................................................................................. 53 9. 11.1 Mask Option Directives ..................................................................................................................... 53 11.2 Reserved Symbols ............................................................................................................................. 54 12. INSTRUCTION SET ...................................................................................................................... 60 12.1 Instruction Set Outline ...................................................................................................................... 60 12.2 Legend ................................................................................................................................................ 61 12.3 List of Instruction Sets ...................................................................................................................... 62 12.4 Assembler (RA17K) Built-In Macro Instruction .............................................................................. 64 13. ELECTRICAL SPECIFICATIONS ................................................................................................. 65 14. APPLICATION CIRCUIT EXAMPLE ............................................................................................ 71 15. PACKAGE DRAWINGS ................................................................................................................ 72 16. RECOMMENDED SOLDERING CONDITIONS ............................................................................ 75 APPENDIX A. DIFFERENCES AMONG µPD17225, 17226, 17227, 17228 AND µPD17P218 ......... 76 APPENDIX B. FUNCTIONAL COMPARISON OF µPD17225 SUBSERIES RELATED PRODUCTS .. 78 APPENDIX C. DEVELOPMENT TOOLS ............................................................................................ 80 Data Sheet U12643EJ2V0DS00 7 µPD17225, 17226, 17227, 17228 1. PIN FUNCTIONS 1.1 Pin Function List Pin No. Symbol Function Output Form On Reset 15 16 17 18 (16) (17) (18) (19) P0A0 P0A1 P0A2 P0A3 4-bit CMOS input port with pull-up resistor. Can be used for key return input of key matrix. When at least one of these pins goes low, standby function is released. – Input 19 20 21 22 (20) (21) (22) (23) P0B0 P0B1 P0B2 P0B3 4-bit CMOS input port with pull-up resistor. Can be used for key return input of key matrix. When at least one of these pins goes low, standby function is released. – Input 23 24 25 26 (24) (25) (26) (27) P0C0 P0C1 P0C2 P0C3 4-bit N-ch open-drain output port. Can be used for key source output of key matrix. N-ch open-drain Low-level output 27 28 1 2 (28) (29) (1) (2) P0D0 P0D1 P0D2 P0D3 4-bit N-ch open-drain output port. Can be used for key source output of key matrix. N-ch open-drain Low-level output 4 5 6 7 (4) (5) (6) (7) P0E0 P0E1 P0E2 P0E3 4-bit input/output port. Can be set in inputset in input or output mode in 1-bit units. In output mode, this port functions as a high current CMOS output port. In input mode, function as CMOS input and can be specified to connect pull-up resistor by program. CMOS push-pull Input 8 (8) REM Outputs transfer signal for infrared remote controller. Active-high output. CMOS push-pull Low-level output 13 (13) RESET System reset input. CPU can be reset when low-level signal is input to this pin. While low-level signal is input, oscillator is stopped. Can be connected to pull-up resistor by mask option. – Input 9 (9) VDD Power supply – – 12 (12) GND Ground – – 3 (3) INT External interrupt request signal input – Input N-ch open-drain Highimpedance Low-level output at low voltage detection Output detecting hang-up and drop in supply voltage. This pin outputs at low level either when an overflow occurs in the watchdog timer, when an overflow/underflow occurs in the stack, or when the supply voltage drops below a specified level (mask option). Connect this pin to the RESET pin. 14 (14) WDOUT 11 (11) 10 (10) XIN XOUT Connects ceramic resonator for system clock oscillation – (Oscillation stops) (15) (30) IC1 IC2 These pins cannot be used. Leave open. – – Remark The number in parenthesis in the Pin No. column indicates the pin numbers of the 30-pin plastic SSOP. 8 Data Sheet U12643EJ2V0DS00 µPD17225, 17226, 17227, 17228 1.2 Input/Output Circuits The equivalent input/output circuit for each µPD17225 pin is shown below. (1) P0A, P0B (4) RESET V DD V DD (Mask option) Input buffer (2) P0C, P0D Input buffer Schmitt trigger input with hysteresis data Output latch N-ch characteristics (5) INT (3) P0E V DD Input buffer data Pull-up register P-ch Schmitt trigger input with hysteresis V DD data Output latch characteristics P-ch N-ch output disable (6) REM V DD data Selector P-ch Input buffer N-ch output disable (7) WDOUT data Data Sheet U12643EJ2V0DS00 N-ch 9 µPD17225, 17226, 17227, 17228 1.3 Processing of Unused Pins Process the unused pins as follows: Table 1-1. Processing of Unused Pins Pin 10 Recommended Connection P0A0-P0A3 Connect to VDD. P0B0-P0B3 Connect to VDD. P0C0-P0C3 Connect to GND. P0D0-P0D3 Connect to GND. P0E0-P0E3 Input : Individually connect to VDD or GND via resistor. Output : Leave open. REM Leave open. INT Connect to GND. WDOUT Connect to VDD via resistor. IC1, IC2 These pins cannot be used. Leave open. Data Sheet U12643EJ2V0DS00 µPD17225, 17226, 17227, 17228 2. MEMORY SPACE 2.1 Program Counter (PC) The program counter (PC) specifies an address of the program memory (ROM). The program counter is an 11/12/13-bit binary counter as shown in Figure 2-1. Its contents are initialized to address 0000H at reset. Figure 2-1. Configuration of Program Counter Page MSB LSB PC12 PC11 PC10 PC9 PC8 PC7 PC6 PC5 PC4 PC3 PC2 PC1 PC0 PC (µPD17225) PC (µPD17226) PC (µPD17227, 17228) 2.2 Program Memory (ROM) The configuration of the program memory is as follows: Part Number Capacity Address µPD17225 2048 × 16 bits 0000H-07FFH µPD17226 4096 × 16 bits 0000H-0FFFH µPD17227 6144 × 16 bits 0000H-17FFH µPD17228 8192 × 16 bits 0000H-1FFFH The program memory stores a program, interrupt vector table, and fixed data table. The program memory is addressed by the program counter. Figure 2-2 shows the program memory map. The entire range of the program memory can be addressed by the BD addr, BR @AR, CALL @AR, MOVT DBF, and @AR instructions. Note, however, that the subroutine entry addresses that can be specified by the CALL addr instruction are from 0000H to 07FFH. Data Sheet U12643EJ2V0DS00 11 µPD17225, 17226, 17227, 17228 Figure 2-2. Program Memory Map Address 16 bits 0000H Reset start address 0001H Basic interval timer interrupt vector 0002H External input (INT) interrupt vector 0003H 8-bit timer interrupt vector Branch addresses for BR addr instruction Subroutine entry Page 0 addresses for CALL addr instruction Branch addresses for BR @AR instruction ( µPD17225) 07FFH 0FFFH 12 ( µPD17226) 17FFH ( µPD17227) 1FFFH ( µPD17228) Page 1 Page 2 Page 3 Data Sheet U12643EJ2V0DS00 Subroutine entry addresses for CALL @AR instruction Table reference addresses for MOVT DBR, @AR instruction µPD17225, 17226, 17227, 17228 2.3 Stack A stack is a register to save a program return address and the contents of system registers (to be described later) when a subroutine is called or when an interrupt is accepted. 2.3.1 Stack configuration Figure 2-3 shows the stack configurarion. A stack consists of a stack pointer (a 4-bit binary counter, the high-order 1 bit fixed to 0), five 11-bit (µPD17225)/12bit (µPD17226)/13-bit (µPD17227, 17228) address stack registers, and three 5-bit (µPD17225, 17226)/6-bit (µPD17227, 17228) interrupt stack registers. Figure 2-3. Stack Configuration Stack pointer (SP) b3 0 b2 b1 Address stack registers (ASR) b0 SPb 2 SPb 1 SPb 0 WDOUT pin goes low when the contents of the stack pinter are 6H-7H. b 12 b 11 b 10 b9 b8 b7 b6 b5 b4 0H Address stack register 0 1H Address stack register 1 2H Address stack register 2 3H Address stack register 3 4H Address stack register 4 5H Undefined 6H Undefined 7H Undefined b3 b2 b1 b0 µ PD17225 µPD17226 µ PD17227, 17228 Interrupt stack registers (INTSK) b5 b4 b3 b2 b1 b0 0H BANKSK0 BCDSK0 CMPSK0 CYSK0 ZSK0 IXESK0 1H BANKSK1 BCDSK1 CMPSK1 CYSK1 ZSK1 IXESK1 2H BANKSK2 BCDSK2 CMPSK2 CYSK2 ZSK2 IXESK2 µ PD17225, 17226 µ PD17227, 17228 Data Sheet U12643EJ2V0DS00 13 µPD17225, 17226, 17227, 17228 2.3.2 Function of stack The address stack register stores a return address when the subroutine call instruction or table reference instruction (first instruction cycle) is executed or when an interrupt is accepted. It also stores the contents of the address registers (ARs) when a stack manipulation instruction (PUSH AR) is executed. The WDOUT pin goes low if a subroutine call or interrupt exceeding 5 levels is executed. The interrupt stack register (INTSK) saves the contents of the bank register (BANK) and program status word (PSWORD) when an interrupt is accepted. The saved contents are restored when an interrupt return (RETI) instruction is executed. INTSK saves data each time an interrupt is accepted, but the data stored first is lost if more than 3 levels of interrupts occur. 2.3.3 Stack Pointer (SP) and Interrupt Stack Pointer Table 2-1 shows the operations of the stack pointer (SP). The stack pointer can take eight values, 0H-07. Because there are only five stack registers available, however, the WDOUT pin goes low if the value of SP is 6 or greater. Table 2-1. Operations of Stack Pointer Instruction Value of Stack Pointer (SP) Counter of Interrupt Stack Register –1 0 –1 –1 +1 0 +1 +1 CALL addr CALL @AR MOVT DBF, @AR (1st Instruction Cycle) PUSH AR When Interrupt Is Accepted RET RETSK MOVT DBF, @AR (2nd Instruction Cycle) POP AR RETI 14 Data Sheet U12643EJ2V0DS00 µPD17225, 17226, 17227, 17228 2.4 Data Memory (RAM) Data memory (random access memory) stores data for operations and control. It can be read-/write-accessed by instructions. 2.4.1 Memory configuration Figure 2-4 shows the configuration of the data memory (RAM). The data memory consists of two “banks”: BANK0 and BANK1. In each bank, every 4 bits of data is assigned an address. The high-order 3 bits of the address indicate a “row address” and the low-order 4 bits of the address indicate a “column address”. For example, a data memory location indicated by row address 1H and column address 0AH is termed a data memory location at address 1AH. Each address stores data of 4 bits (= a “nibble”). In addition, the data memory is divided into following six functional blocks: (1) System register (SYSREG) A system register (SYSREG) is resident on addresses 74H to 7FH (12 nibbles long) of each bank. In other nibbles, each bank has a system register at its addresses 74H to 7FH. (2) Data buffer (DBF) A data buffer is resident on addresses 0CH to 0FH (4 nibbles long) of bank 0 of data memory. The reset value is 0320H. (3) General register (GR) A general register is resident on any row (16 nibbles long) of any bank of data memory. The row address of the general register is pointed by the general pointer (RP) in the system register (SYSREG). (4) Port register A port data register is resident on addresses 6FH, and 70H to 73H (5 nibbles) of BANK0 of data memory. No data can be written to the addresses 70H to 73H of BANK1 (the values of addresses 70H to 73H of BANK0 are read in this case). µPD17225 and 17226 are not provided with BANK1. Data Sheet U12643EJ2V0DS00 15 µPD17225, 17226, 17227, 17228 (5) General-purpose data memory The general-purpose data memory area is an area of the data memory excluding the system register area, and the port register area. This memory area has a total of 223 nibbles (111 nibbles in BANK0 and 112 nibbles in BANK1). µPD17225 and 17226 are not provided with BANK1. Figure 2-4. Configuration of Data Memory BANK 0 Column address 0 1 2 3 4 5 6 7 8 9 A B Row address 0 C D E F Data buffer (DBF) 1 Example Address 1AH in BANK 0 2 3 4 5 P0E 6 7 P0A P0B P0C P0D System register (SYSREG) 1 Column address 2 3 4 5 6 BANK 1 7 8 9 A B C D E F Row address 0 System register (SYSREG) Caution No data can be written to the addresses 70H to 73H of BANK1 (the value of P0A to P0D are read in this case). 16 Data Sheet U12643EJ2V0DS00 µPD17225, 17226, 17227, 17228 2.4.2 System registers (SYSREG) The system registers are registers that are directly related to control of the CPU. These registers are mapped to addresses 74H-7FH on the data memory and can be referenced regardless of bank specification. The system registers include the following registers: • Address registers (AR0-AR3)Note • Window register (WR) Note • Bank register (BANK) • Memory pointer enable flag (MPE) • Memory pointers (MPH, MPL) • Index registers (IXH, IXM, IXL) • General register pointers (RPH, RPL) • Program status word (PSWORD) Note The address register (AR3) and the bank register (BANK) are fixed to 0 in the µPD17225 and 17226. Figure 2-5. Configuration of System Register Address 74H Bit 76H 77H AR 3 AR 2 AR 1 78H 79H Window Bank register register (WR) (BANK) Address register (AR) Name Symbol 75H AR 0 WR BANK 7AH 7BH 7CH Index register (IX) IXM MPH MPL 7EH General register pointer (RP) Data memory row address pointer (MP) IXH 7DH IXL RPH 7FH Program status word (PSWORD) RPL PSW b3 b2 b1 b0 b3 b2 b1 b0 b3 b2 b1 b0 b3 b2 b1 b0 b3 b2 b1 b0 b3 b2 b1 b0 b3 b2 b1 b0 b3 b2 b1 b0 b3 b2 b1 b0 b3 b2 b1 b0 b3 b2 b1 b0 b3 b2 b1 b0 (WR) Data 0 0 0 (AR) ( µ PD17227, 17228) 0 0 0 0 0 0 0 0 0 Initial Value At Reset Note (AR) ( µ PD17226) (AR) ( µ PD17225) (BANK) M 0 0 0 P 0 0 0 * * E (MP) (IX) (RP) 0 0 0 * I BCC CMY Z X E DP * 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Undefined 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 *: This bit is fixed to 0 in the µPD17225 and 17226. Data Sheet U12643EJ2V0DS00 17 µPD17225, 17226, 17227, 17228 2.4.3 General register (GR) A general register is a 16-word register on the data memory and used for arithmetic operations and transfer of data to and from the data memory. (1) Configuration of general register Figure 2-6 shows the configuration of the general register. A general register occupies 16 nibbles (16 × 4 bits) on a selected row address of the data memory. The row address is selected by the general register pointer (RP) of the system register. The RP having four significant bits in the µPD17227 and 17228 can point to any row address in the range of 0H to 7H of each bank (BANK0 and BANK1). In the µPD17225 and 17226, 3 bits are available in the RP. These bits can point to any row address in the range of 0H to 7H of BANK0. (2) Functions of the general register The general register enables an arithmetic operation and data transfer between the data memory and a selected general register by a single instruction. As a general register is a part of the data memory, you can say that the general register enables arithmetic operation and data transfer between two locations of the data memory. Similarly, the general register can be accessed by a data memory manipulation instruction as it is a part of the data memory. Figure 2-6. Configuration of General Registers General register pointer (RP) RPH RPL BANK0 b 3 b 2 b 1 b 0 b3 b 2 b 1 b 0 18 F i x e d F i x e d F i x e d 0 0 0 0 0 0 0 1 0 0 1 0 t o t o t o 0 0 1 1 0 1 0 0 0 0 0 0 1 0 1 0 1 1 0 0 1 1 1 0 1 Column address 2 3 4 5 6 7 8 9 A B C D E F → 0 → 1 A s s i g n e d t o → 2 ← Example General registers when RP = 0000010B General registers (16 nibbles) → 3 → 4 → 5 Port register → 6 → 7 Port register BANK1 System registers RP General register settable range → 0 B C → 1 D → 2 1 0 0 0 1 0 0 1 1 0 1 0 1 0 1 1 1 1 0 0 1 1 0 1 f → 3 l a → 4 g → 5 1 1 1 0 → 6 1 1 1 1 → 7 Same system registers exist System registers Data Sheet U12643EJ2V0DS00 µPD17225, 17226, 17227, 17228 2.4.4 Data buffer (DBF) The data buffer on the addresses 0CH to 0FH of data memory is used for data transfer to and from peripheral hardware and for storage of data during table reference. (1) Functions of the data buffer The data buffer has two major functions: a function to transfer to and from hardware and a function to read constant data from the program memory (for table reference). Figure 2-7 shows the relationship between the data buffer and peripheral hardware. Figure 2-7. Data Buffer and Peripheral Hardware Data buffer (DBF) Peripheral address Internal bus Peripheral hardware 05H, 06H 8-bit timer (TMC, TMM) 03H, 04H Carrier generator for remote controller (NRZLTMM, NRZHTMM) 40H Address register (AR) Program memory (ROM) Constant data Data Sheet U12643EJ2V0DS00 19 µPD17225, 17226, 17227, 17228 Table 2-2. Relations between Hardware Peripherals and Data Buffer Hardware Peripheral Register Transferring Data with Data Buffer Peripherals 8-Bit Timer Remote Controller Carrier Generator Address Register Name Symbol Peripheral Address Data Buffer Used PUT/GET 8-bit counter TMC 05H DBF0, DBF1 GET only 8-bit modulo register TMM 06H DBF0, DBF1 PUT only NRZ low-level timer modulo register NRZLTMM 03H DBF0, DBF1 PUT GET NRZ high-level timer modulo register NRZHTMM 04H DBF0, DBF1 PUT (clear bit 3 of DBF1 to 0) GET (bits 3 of DBF1 is always 0) Address register AR 40H DBF0-DBF3 PUT (bits 0-3 of AR3 and bit 3 of AR2 are any)Note 1 GET (bits 0-3 of AR3 and bit 3 of AR2 are always 0)Note 2 Notes 1. In the µPD17226: bits 0 to 3 of AR3 are any, in the µPD17227, 17228: bits 1 to 3 of AR3 are any 2. In the µPD17226: bits 0 to 3 of AR3 are always 0, in the µPD17227, 17228: bits 1 to 3 of AR3 are always 0 (2) Table reference A MOVT instruction reads constant data from a specified location of the program memory (ROM) and sets it in the data buffer. The function of the MOVT instruction is explained below. MOVT DBF, @AR: Reads data from a program memory location pointed to by the address register (AR) and sets it in the data buffer (DBF). Data buffer DBF 3 DBF 2 DBF 1 DBF 0 Program memory (ROM) MOVT DBF, @ AR 16 bits b15 20 Data Sheet U12643EJ2V0DS00 b0 µPD17225, 17226, 17227, 17228 (3) Note on using data buffer When transferring data to/from the peripheral hardware via the data buffer, the unused peripheral addresses, write-only peripheral registers (only when executing PUT), and read-only peripheral registers (only when executing GET) must be handled as follows: • When device operates Nothing changes even if data is written to the read-only register. If the unused address is read, an undefined value is read. Nothing changes even if data is written to that address. • Using assembler An error occurs if an instruction is executed to read a write-only register. Again, an error occurs if an instruction is executed to write data to a read-only register. An error also occurs if an instruction is executed to read or write an unused address. • If an in-circuit emulator (IE-17K or IE-17K-ET) is used (when instruction is executed for patch processing) An undefined value is read if an attempt is made to read the data of a write-only register, but an error does not occur. Nothing changes even if data is written to a read-only register, and an error does not occur. An undefined value is read if an unused address is read; nothing changes even if data is written to this address. An error does not occur. Data Sheet U12643EJ2V0DS00 21 µPD17225, 17226, 17227, 17228 2.5 Register File (RF) The register file mainly consists of registers that set the conditions of the peripheral hardware. These registers can be controlled by dedicated instructions PEEK and POKE, and the embedded macro instructions of RA17K, SETn, CLRn, and INITFLG. 2.5.1 Configuration of register file Figure 2-8 shows the configuration of the register file and how the register file is accessed by the PEEK and POKE instructions. The control registers are controlled by using dedicated instructions PEEK and POKE. Since the control registers are assigned to addresses 00H-3FH regardless of the bank, the addresses 00H-3FH of the general-purpose data memory cannot be accessed when the PEEK or POKE instruction is used. The addresses that can be accessed by the PEEK and POKE instructions are the addresses 00H-3FH of the control registers and 40H-7FH of the general-purpose data memory. The register file consists of these addresses. The control registers are assigned to addresses 80H-BFH on the IE-17K to facilitate debugging. Figure 2-8. Register File Access with PEEK or POKE Instructions 0 1 2 3 4 5 Column address 6 7 8 9 A B C D E 0 1 2 Data memory 3 4 5 POKE M063, WR 6 7 Row address System register 0 1 PEEK WR, SP 2 POKE LCDMD, WR 3 Control register Register file 22 Data Sheet U12643EJ2V0DS00 F µPD17225, 17226, 17227, 17228 2.5.2 Control registers The control registers consists of a total of 64 nibbles (64 x 4 bits) of the addresses 00H-3FH of the register file. Of these, however, only 14 nibbles are actually used. The remaining 50 nibbles are unused registers that are inhibited from being read or written. When the “PEEK WR, rf” instruction is executed, the contents of the register file addressed by “rf” are read to the window register. When the “POKE rf, WR” instruction is executed, the contents of the window register are written to the register file addressed by “rf”. When using the assembler (RA17K), the macro instructions listed below, which are embedded as flag type symbol manipulation instructions, can be used. The macro instructions allow the contents of the register file to be manipulated in bit units. For the configuration of the control register, refer to Figure 11-1 Register File List. SETn : Sets flag to “1” CLRn : Sets flag to “0” SKTn : Skips if all flags are “1” SKFn : Skips if all flags are “0” NOTn : Complements flag INITFLG : Initializes flag INITFLGX : Initalizes flag 2.5.3 Notes on using register files When using the register files, bear in mind the points described below. For details, refer to µPD172xx subseries User’s Manual (U12795E). (1) When manipulating control registers (read-only and unused registers) When manipulating the write-only (W), the read-only (R) and unused control registers by using the assembler or in-circuit emulator, keep in mind the following points: • When device operates Nothing changes even if data is written to the read-only register. If the unused register is read, an undefined value is read; nothing is changed even if data is written to this register. • Using assembler An error occurs if instruction is excecuted to read data to the write-only register. An error occurs if an instruction is executed to write data to the read-only register. An error also occurs if an instruction is executed to read or write the unused address. • When an in-circuit emulator (IE-17K or IE-17K-ET) is used (when instruction is executed for patch processing) An undefined value is read if the write-only register is read, and an error does not occur. Nothing changes even if data is written to the read-only register, and an error does not occur. An undefined value is read if the unused address is read; nothing changes even if data is written to this address. An error does not occur. Data Sheet U12643EJ2V0DS00 23 µPD17225, 17226, 17227, 17228 (2) Symbol definition of register file An error occurs if a register file address is directly specified as a numeral by the operand “rf” of the “PEEK WR, rf” or “POKE rf, WR” instruction if the 17K Series Assembler (RA17K) is being used. Therefore, the addresses of the register file must be defined in advance as symbols. To define the addresses of the control registers as symbols, define them as the addresses 80H-BFH of BANK0. The portion of the register file overlapping the data memory (40H-7FH), however, can be defined as symbols as is. 24 Data Sheet U12643EJ2V0DS00 µPD17225, 17226, 17227, 17228 3. PORTS 3.1 Port 0A (P0A0-P0A3) This is a 4-bit input port. Data is read through port register P0A (address 70H). This port is a CMOS input port with a pull-up resistor, and can be used for key return input for a key matrix. When a low-level signal is input to at least one of the pins in this port in the standby mode, the standby mode is released. 3.2 Port 0B (P0B0-P0B3) This is a 4-bit input port. Data is read through port register P0B (address 71H). This port is a CMOS input port with a pull-up resistor, and can be used for key return input for a key matrix. When a low-level signal is input to at least one of the pins in this port in the standby mode, the standby mode is released. 3.3 Port 0C (P0C0-P0C3) This is a 4-bit output port. The contents of the output latch are read and output data is set through port register P0C (address 72H). This port is an N-ch open-drain output port, and can be used as the key source of a key matrix. In the standby mode, this port outputs low-level signals. 3.4 Port 0D (P0D0-P0D3) This is a 4-bit output port. The contents of the output latch are read and output data is set through port register P0D (address 73H). This port is an N-ch open-drain output port, and can be used as the key source for a key matrix. In the standby mode, this port outputs low-level signals. 3.5 Port 0E (P0E0-P0E3) This is a 4-bit I/O port which can be set in either the input or output mode in 1-bit units by the P0EBIO (address 27H) of the register file. To read the input data or to set the output data, use the P0E register (address 6F). When data is read in the output mode, the contents of the output latch are read. Connection of a pull-up resistor can be specified in 1-bit units by the P0EBPU (address 17H) of the register file. (When the pull-up resistor is connected, note that the pull-up resistor is not disconnected even when the output mode is set.) On reset, this port functions as an input port. Data Sheet U12643EJ2V0DS00 25 µPD17225, 17226, 17227, 17228 3.6 INT Pin This pin inputs an external interrupt request signal. At either the rising or falling edge of the signal input to this pin, the IRQ flag (RF: address 3EH, bit 0) is set. The status of this pin can be read by using the INT flag (RF: address 0FH, bit 0). When the high level is input to the pin, the INT flag is set to “1”; when the low level is input, the flag is reset to “0” (refer to 7.2.1 INT). Figure 3-1. Relations between Port Register and Each Pin Contents to Be Read Bank Address Port Bit Output Form Input Mode Contents to Be Written Output Mode Input Mode Output Mode On Reset b 3 P0A 3 b 2 P0A 2 70H Port 0A b 1 P0A 1 b 0 P0A 0 Input only Pin status N-ch open-drain (Output only) – – – – b 3 P0B 3 Input mode (w/pull-up resistor) b 2 P0B 2 71H Port 0B b 1 P0B 1 b 0 P0B 0 b 3 P0C 3 b 2 P0C 2 0 72H Port 0C b 1 P0C 1 b 0 P0C 0 b 3 P0D 3 b 2 P0D 2 73H Output latch Port 0D Output mode (Low level output) – Output latch b 1 P0D 1 b 0 P0D 0 b 3 P0E 3 b 2 P0E 2 6FH Port 0E b 1 P0E 1 COMS push-pull Pin status b 0 P0E 0 26 Data Sheet U12643EJ2V0DS00 Output latch Input mode (w/pull-up resistor) µPD17225, 17226, 17227, 17228 3.7 Switching Bit I/O The I/O which can be set in the input or output mode in bit units is called a bit I/O. P0E is a bit I/O port, which can be set in the input or output mode in bit units by the register file shown below. When the mode is changed from input to output, the P0E output latch contents are output to the port lines, as soon as the mode has been changed. 3 2 1 0 Address: On reset: R/W: P0EBIO3 P0EBIO2 P0EBIO1 P0EBIO0 RF : 27H 0H R/W P0EBIO0 Sets P0E0 Input/Output Mode 0 Sets P0E0 in input mode 1 Sets P0E0 in output mode P0EBIO1 Sets P0E1 Input/Output Mode 0 Sets P0E1 in input mode 1 Sets P0E1 in output mode P0EBIO2 Sets P0E2 Input/Output Mode 0 Sets P0E2 in input mode 1 Sets P0E2 in output mode P0EBIO3 Sets P0E3 Input/Output Mode 0 Sets P0E3 in input mode 1 Sets P0E3 in output mode Data Sheet U12643EJ2V0DS00 27 µPD17225, 17226, 17227, 17228 3.8 Specifying Pull-up Resistor Connection Whether or not a pull-up resistor is connected to port P0E can be specified by the following registers of the register file in 1-bit units when the port is in the input modeNote. 3 2 1 0 P0EBPU3 P0EBPU2 P0EBPU1 P0EBPU0 Address: On reset: R/W: RF : 17H 0H R/W P0EBPU0 Connects Pull-Up Resistor to P0E0 0 Not connected 1 Connected P0EBPU1 Connects Pull-Up Resistor to P0E1 0 Not connected 1 Connected P0EBPU2 Connects Pull-Up Resistor to P0E2 0 Not connected 1 Connected P0EBPU3 Connects Pull-Up Resistor to P0E3 Note 28 0 Not connected 1 Connected To disconnect the pull-up resistor in the output mode, clear the corresponding bit of the P0EBPU register. Data Sheet U12643EJ2V0DS00 µPD17225, 17226, 17227, 17228 4. CLOCK GENERATOR CIRCUIT 4.1 Instruction Execution Time (CPU Clock) Selection The µPD17225 is equipped with a clock oscillator that supplies clocks to the CPU and hardware peripherals. Instruction execution time can be changed in two steps (ordinary mode and high-speed mode) without changing the oscillation frequency. To change the instruction execution time, change the mode of SYSCK (RF: address 02H) of the register file by using the POKE instruction. Note, that the mode is actually only changed when the instruction next to the POKE instruction has been executed. When using the high-speed mode, pay attention to the supply voltage. (Refer to 13. ELECTRICAL SPECIFICATIONS.) At reset, the ordinary mode is set. 3 2 1 0 Address: On reset: R/W: 0 0 0 SYSCK RF : 02H 0H R/W SYSCK Selects Instruction Execution Time 0 Ordinary mode 32/fX (8 µ s) 1 High-speed mode 16/fX (4 µ s) Figures in ( ): indicate figures when system clock fX = 4 MHz. Data Sheet U12643EJ2V0DS00 29 µPD17225, 17226, 17227, 17228 5. 8-BIT TIMER AND REMOTE CONTROLLER CARRIER GENERATOR CIRCUIT The µPD17225 is equipped with the 8-bit timer which is mainly used to generate the leader pulse of the remote controller signal, and to output codes. 5.1 Configuration of 8-bit Timer (with modulo function) Figure 5-1 shows the configuration of the 8-bit timer. As shown in this figure, the 8-bit timer consists of an 8-bit counter (TMC), an 8-bit modulo register (TMM), a comparator that compares the value of the timer with the value of the modulo register, and a selector that selects the operation clock of the 8-bit timer. To start/stop the 8-bit timer, and to reset the 8-bit counter, TMEN (address 33H, bit 3) and TMRES (address 33H, bit 2) of the register file are used. To select the operation clock of the 8-bit timer, use TMCK1 (address 33H, bit 1) and TMCK0 (address 33H, bit 0) of the register file. The value of the 8-bit counter is read by using the GET instruction through DBF (data buffer). No value can be set to the 8-bit counter. A value is set to the modulo register by using the PUT instruction through DBF. The value of the modulo register cannot be read. When the value of the counter coincides with that of the modulo register, an interrupt flag (IRQTM: address 3FH, bit 0) of the register file is set. TMC 7 6 5 4 3 2 1 Address On reset R/W Peripheral register: 05H 00H R Address On reset R/W Peripheral register: 06H FFH W 0 8-bit counter TMM 7 6 5 4 3 2 8-bit modulo register 1 0 Caution Do not clear TMM to 0 (IRQTM is not set). 30 Data Sheet U12643EJ2V0DS00 µPD17225, 17226, 17227, 17228 Figure 5-1. Configuration of 8-bit Timer and Remote Controller Carrier Generator Circuit Data buffer Internal bus 8-bit timer RF : 33H TMEN TMRES TMCK1 TMCK0 8-bit modulo register TMM fX/32 fX/64 fX/256 R Selector IRQTM Comparator Q S 8-bit counter TMC Remote controller carrier generator circuit fX/2 SW 7-bit counter RF : 11H Comparator NRZBF bit 7 × RF : 12H 7-bit modulo register NRZLTMM NRZ 7-bit counter Comparator REM bit 7 0 7-bit modulo register NRZHTMM fixed Remark TMM, TMC, NRZLTMM, and NRZHTMM are peripheral registers. Data Sheet U12643EJ2V0DS00 31 µPD17225, 17226, 17227, 17228 5.2 Function of 8-bit Timer (with modulo function) 3 2 TMEN 1 TMRES 0 TMCK1 Address TMCK0 On reset RF : 33H 8H Note 1 R/W R/W Note 2 TMCK1 TMCK0 8-Bit Timer Clock Source Selection 0 0 Count clock: fX/32 (Measurement time range: 8 µ s to 2.048 ms) 0 1 Count clock: fX/64 (Measurement time range: 16 µ s to 4.096 ms) 1 0 Count clock : fX/256 (Measurement time range: 64 µ s to 16.384 ms) 1 1 Remote control carrier generation circuit output Value indicated by parentheses is for when ( ): f SYS (system clock) = fX = 4MHz TMRES 8-Bit Timer Reset Flag 0 Data read out is always "0" 1 Resets 8-bit counter and IRQTM TMEN 8-Bit Timer Count Enable Flag 0 Stops 8-bit timer count operation 1 Enable 8-bit timer count operation (falling edge) Notes 1. When the STOP mode is released, bit 3 must be set. 2. Bit 2 is a write-only bit. NRZLTMM 7 6 5 × 4 3 2 1 Address On reset R/W Peripheral register: 03H Undefined R/W 0 7-bit modulo register Bit 7 Output Control of REM Pin 0 When NRZ = 1, carrier output to REM pin 1 When NRZ = 1, high-level output to REM pin NRZHTMM 7 0 6 5 4 3 2 1 Address On reset R/W Peripheral register: 04H Undefined R/W 0 7-bit modulo register Bit 7 Fixed to 0 32 Data Sheet U12643EJ2V0DS00 µPD17225, 17226, 17227, 17228 5.3 Carrier Generator Circuit for Remote Controller µPD17225 is provided with a carrier generator circuit for the remote controller. The remote controller carrier generator circuit consists of a 7-bit counter, NRZ high-level timer modulo register (NRZHTMM), and NRZ low-level timer modulo register (NRZLTMM). The high-level and low-level periods are set in the corresponding modulo registers through the DBF to determine the carrier duty factor and carrier frequency. The system clock (fX) is divided by two and is input to the 7-bit counter. Therefore, when a 4-MHz resonator is used, 2 MHz (0.5 µs) is input to the counter as the clock; when a 32-kHz oscillator (fXT) is used, 16 kHz is input. The NRZ high-level output timer modulo register is called NRZHTMM, and the NRZ low-level timer modulo register is called NRZLTMM. Data is written to these registers by the PUT instruction. The contents for these register are read by the GET instruction. Bit 7 of NRZLTMM specifies whether the carrier or high level is output to the REM pin. To output the carrier, be sure to clear bit 7 to 0. 5.3.1 Remote controller signal output control The REM pin, which outputs the carrier, is controlled by bits NRZ and NRZBF for the register file and timer 0. While the NRZ content is “1”, the clock generated by the remote controller carrier generator circuit is output to the REM pin; while the NRZ content is “0”, the REM pin outputs a low level. The NRZBF content is automatically transferred to NRZ by the interrupt signal generated by timer 0. If data is set in NRZBF in advance, the REM pin status changes in synchronization with the timer 0 counting operation. If the interrupt signal is generated from timer 0 with the REM pin at the high level, NRZ being “1”, and the carrier clock at the high level, the REM pin output is not in accordance with the updated content of NRZ, until the carrier clock goes low. This processing is useful for holding the high level pulse width from the output carrier constant (refer to the figure below). When the content of NRZ is “0”, the remote controller carrier generator circuit stops. However, if the clock for timer 0 is output from the remote controller carrier generator circuit, the clock continues to operate, even when the NRZ content becomes “0”. An actual example showing a remote controller signal output to the REM pin is presented below. Data Sheet U12643EJ2V0DS00 33 µPD17225, 17226, 17227, 17228 When bit 7 of NRZLTMM is 0 (carrier output) NRZ REM MAX. 500 ns (delay)Note (fX = 4 MHz) Note REM pin does not go low until carrier goes low even if NRZ becomes 0 Value when (TMCK1, TMCK0) ≠ (1, 1). When (TMCK1, TMCK0) = (1, 1), the value differs depending on how NRZ is manipulated. If NRZ is set by an instruction, the width of the first high-level pulse may be shortened. If NRZ is set by data transferred from NRZBF, the high-level pulse is delayed by the low-level pulse of the carrier clock. When bit 7 of NRZLTMM is 0 (carrier not output) NRZ REM 3 2 1 0 Address On reset R/W 0 0 0 NRZ RF : 12H 0H R/W NRZ 0 Outputs low level to REM pin 1 Outputs a carrier to REM pin or high level output 3 2 1 0 Address On reset R/W 0 0 0 NRZBF RF : 11H 0H R/W NRZBF 0 1 34 NRZ Data NRZ Data Output Next NRZ buffer bit. Transfered to NRZ by interrupt signal for 8-bit timer. Data Sheet U12643EJ2V0DS00 µPD17225, 17226, 17227, 17228 Setting carrier frequency and duty factor Where the system clock frequency is fX and carrier frequency is fC: (division ratio) = fX/(2 × fC) is divided into m:n and is set in the modulo registers as follows: High-level period set value = { × m/(m + n)} – 1 Low-level period set value = { × n/(m + n)} – 1 Example Where fC = 38 kHz, duty factor (high-level period) = 1/3, and fX = 4 MHz, = 4 MHz/(2 × 38 kHz) = 52.6 m:n = 1:2 From the above, the value of the modulo register is: . High-level period =. 17 Low-level period .=. 34 Therefore, the carrier frequency is 37.74 kHz. Table 5-1. Carrier Frequency List (fX = 4 MHz) Set value tH (µs) tL (µs) 1/fC (µs) fC (kHz) Duty 00H 0.5 0.5 1.0 1000 1/2 01H 02H 1.0 1.5 2.5 400 2/5 04H 04H 2.5 2.5 5.0 200 1/2 09H 09H 5.0 5.0 10.0 100 1/2 0FH 10H 8.0 8.0 16.5 60.6 1/2 0FH 21H 8.0 17.0 25.0 40.0 1/3 11H 21H 9.0 17.0 26.0 38.5 1/3 11H 22H 9.0 17.5 26.5 37.7 1/3 19H 35H 13.0 27.0 40.0 25.0 1/3 3FH 3FH 32.0 32.0 64.0 15.6 1/2 7FH 7FH 64.0 64.0 120.0 7.8 1/2 NRZHTMM NRZLTMM 00H tH tL REM (fC) 1/fC Data Sheet U12643EJ2V0DS00 35 µPD17225, 17226, 17227, 17228 5.3.2 Countermeasures against noise during transmission (carrier output) When a signal is transmitted from the transmitter of a remote controller, a peak current of 0.5 to 1 A may flow through the infrared LED. Since two batteries are usually used as the power source of the transmitter, several Ω of equivalent resistance (r) exists in the power source as shown in Figure 5-2. This resistance increases to 10 to 20 Ω if the supply voltage drops to 2 V. While the carrier is output from the REM pin (while the infrared LED lights), therefore, a highfrequency noise may be generated on the power lines due to the voltage fluctuation that may take place especially during switching. To minimize the influence on the microcontroller of this high-frequency noise, take the following measures: <1> Separate the power lines of the microcontroller from the power lines of the infrared LED with the terminals of the batteries at the center. Use thick power lines and keep the wiring short. <2> Locate the resonator as close as possible to the microcontroller and shield it with GND lines (as indicated by the shaded portion in the figure below). <3> Locate the capacitor for stabilization of the power supply closely to the power lines of the microcontroller. Also, use a capacitor to eliminate high-frequency noise. <4> To prevent data from changing, do not execute an interrupt that requires read/write processing and stack, such as key scan interrupt, and the CALL/RET instruction, while the carrier is output. <5> To improve the reliability in case of program hang-up, use the watchdog timer (connect the WDOUT and RESET pins). Figure 5-2. Example of Countermeasures against Noise 0.5 to 1 A Infrared LED REM VDD Microcomputer r + RESET – WDOUT Batteries VSS Remark In this figure, the RESET pin is connected to a pull-up resistor by mask option. 36 Data Sheet U12643EJ2V0DS00 µPD17225, 17226, 17227, 17228 6. BASIC INTERVAL TIMER/WATCHDOG TIMER The basic interval timer has a function to generate the interval timer interrupt signal and watchdog timer reset signal. 6.1 Source Clock for Basic Interval Timer The system clock (fX) is divided, to generate the source clock for the basic interval timer. The input clock frequency 7 for the basic interval timer is fX/2 . When the CPU is set in the STOP mode, the basic interval timer also stops. 6.2 Controlling Basic Interval Timer The basic interval timer is controlled by the bits on the register file. That is, the basic interval timer is reset by BTMRES. The frequency for the interrupt signal, output by the basic interval timer, is selected by BTMMD, and the watchdog timer is reset by WDTRES. Selector B Figure 6-1. Basic Interval Timer Configuration fX /2 18 fX /2 20 System clock fX 1/2 7 divider 1/2 11 divider 1/2 divider 1/2 divider 1/2 divider WDOUT BTMRES Data Sheet U12643EJ2V0DS00 WDTRES BTMCK IRQBTM 37 µPD17225, 17226, 17227, 17228 3 2 1 0 Address On reset R/W WDTRES BTMCK BTMRES 0 RF : 03H 0H R/WNote BTMRES Basic Interval Timer Reset 0 Data read out is always "0" 1 Writing "1" resets basic interval timer BTMCK Basic Interval Timer Mode Selection 0 Generates interrupt signal IRQBTM every fX/220 1 Generates interrupt signal IRQBTM every fX/218 WDTRES Note 38 Watchdog Timer Reset 0 Data read out is always "0" 1 Writing "1" resets watchdog timer (fX/221 counter) Bits 1 and 3 are write-only bits. Data Sheet U12643EJ2V0DS00 µPD17225, 17226, 17227, 17228 6.3 Operation Timing for Watchdog Timer The basic interval timer can be used as a watchdog timer. Unless the watchdog timer is reset within a fixed timeNote, it judges that “the program has hung up”, and the µPD17225 is reset. It is therefore necessary to reset through programming the watchdog timer with in a fixed time. The watchdog timer can be reset by setting WDTRES to 1. Note Fixed time: approx. 340 ms (at 4 MHz) Cautions 1. The watchdog timer cannot be reset in the shaded range in Figure 6-2. Therefore, set WDTRES before both the fX/2 21 20 and fX/2 signals go high. 2. Refer to 9. RESET for the WDOUT pin function. Figure 6-2. Watchdog Timer Operation Timing fX/218 fX/219 fX/220 fX/221 INTBTM (fX/220) INTBTM (fX/218) WDOUT WDOUT output goes low if WDTRES is not set Watchdog timer reset signal WDTRES Setting WDTRES at this timing is invalid Data Sheet U12643EJ2V0DS00 39 µPD17225, 17226, 17227, 17228 7. INTERRUPT FUNCTIONS 7.1 Interrupt Sources µPD17225 is provided with three interrupt sources. When an interrupt has been accepted, the program execution automatically branches to a predetermined address, which is called a vector address. A vector address is assigned to each interrupt source, as shown in Table 7-1. Table 7-1. Vector Address Priority Interrupt Source Ext/Int Vector Address 1 8-bit timer Internal 0003H 2 INT pin rising and falling edges External 0002H 3 Basic interval timer Internal 0001H When more than one interrupt request is issued at the same time, the interrupts are accepted in sequence, starting from the one with the highest priority. Whether an interrupt is enabled or disabled is specified by the EI or DI instruction. The basic condition under which an interrupt is accepted is that the interrupt is enabled by the EI instruction. While the DI instruction is executed, or while an interrupt is accepted, the interrupt is disabled. To enable accepting an interrupt after the interrupt has been processed, the EI instruction must be executed before the RETI instruction. Accepting the interrupt is enabled by the EI instruction after the instruction next to the EI instruction has been executed. Therefore, no interrupt can be accepted between the EI and RETI instructions. Caution In interrupt processing, only the BCD, CMP, CY, Z, IXE flags are automatically saved to the stack by the hardware, to a maximum of three levels. Also, within the interrupt processing contents, when peripheral hardware (timer, A/D converter, etc. ) is accessed, the DBF and WR contents are not saved by the hardware. Accordingly, it is recommended that at the beginning of interrupt processing DBF and WR be saved by software to RAM, and immediately before finishing interrupt processing the saved contents be returned to thier original location. 40 Data Sheet U12643EJ2V0DS00 µPD17225, 17226, 17227, 17228 7.2 Hardware of Interrupt Control Circuit This section describes the flags of the interrupt control circuit. (1) Interrupt request flag and interrupt enable flag The interrupt request flag (IRQ×××) is set to 1 when an interrupt request is generated, and is automatically cleared to 0 when the interrupt processing is excuted. An interrupt enable flag (IP×××) is provided to each interrupt request flag. When the IPxxx flag is 1, the interrupt is enabled; when it is 0, the interrupt is disabled. (2) EI/DI instruction Whether an accepted interrupt is executed or not is specified by the EI or DI instruction. When the EI instruction is executed, INTE (interrupt enable flag), which enables the interrupt, is set to 1. The INTE flag is not registered on the register file. Consequently, the status of this flag cannot be checked by an instruction. The DI flag clears the INTE flag to 0 to disable all the interrupts. The INTE flag is also cleared to 0 at reset, disabling all the interrupts. Table 7-2. Interrupt Request Flags and Interrupt Enable Flag Interrupt Request Flag 7.2.1 Interrupt Enable Flag Signal Setting Interrupt Request Flag IRQTM Reset by 8-bit timer. IPTM IRQ Set when edge of INT pin input signal is detected IP IRQBTM Reset by basic interval timer. IPBTM INT This flag reads the INT pin status. When a high level is input to the INT pin, this flag is set to “1”; when a low level is input, the flag is reset to “0”. 3 2 1 0 Address On reset R/W 0 0 0 INT RF : 0FH Undefined R INT INT Pin Level Detection 0 INT pin : Low level 1 INT pin : High level Data Sheet U12643EJ2V0DS00 41 µPD17225, 17226, 17227, 17228 7.2.2 IEG This pin selects the interrupt edge to be detected on the INT pin. When this flag is “0”, the interrupt is detected at the rising edge; when it is “1”, the interrupt is detected at the falling edge. 3 2 1 0 Address On reset R/W 0 0 0 IEG RF : 1FH 0H R/W IEG 7.2.3 INT Pin Interrupt Detection Edge Selection 0 Rising edge of INT pin 1 Falling edge of INT pin Interrupt enable flag This flag enables each interrupt source. When this flag is “1”, the corresponding interrupt is enabled; when it is “0”, the interrupt is disabled. 3 2 1 0 Address On reset R/W 0 IPBTM IP IPTM RF : 2FH 0H R/W IPTM 0 Disables interrupt acceptance by 8-bit timer 1 Enables interrupt acceptance by 8-bit timer IP INT Pin Interrupt Enable Flag 0 Disables interrupt acceptance by INT pin input 1 Enables interrupt acceptance by INT pin input IPBTM 42 8-Bit Timer Interrupt Enable Flag Basic Interval Timer Interrupt Enable Flag 0 Disables interrupt acceptance by basic interval timer 1 Enables interrupt acceptance by basic interval timer Data Sheet U12643EJ2V0DS00 µPD17225, 17226, 17227, 17228 7.2.4 IRQ This is an interrupt request flag that indicates the interrupt request status. When an interrupt request is generated, this flag is set to “1”. When the interrupt has been accepted, the interrupt request flag is reset to “0”. The interrupt request flag can be read or written by the program. Therefore, when it is set to “1”, an interrupt can be generated by the software. By writing “0” to the flag, the interrupt pending status can be canceled. 3 2 1 0 Address On reset R/W 0 0 0 IRQBTM RF : 3DH 0H R/W IRQBTM 0 Interrupt request has not been made. 1 Basic interval timer interrupt request has been made. 3 2 1 0 Address On reset R/W 0 0 0 IRQ RF : 3EH 0H R/W IRQ 3 0 2 0 1 0 0 Interrupt request has not been made. 1 Interrupt request has been made at rising edge or falling edge of INT input. Address IRQTM INT Pin Interrupt Request Flag 0 RF : 3FH IRQTM Note Basic Interval Timer Interrupt Request Flag On reset 1H Note R/W R/W 8-Bit Timer Interrupt Request Flag 0 Interrupt request has not been made. 1 8-bit timer interrupt request has been made. 1H is also set after releasing STOP mode. Data Sheet U12643EJ2V0DS00 43 µPD17225, 17226, 17227, 17228 7.3 Interrupt Sequence If IRQ×× flag is set to “1” when IP×× flag is “1”, interrupt processing is started after the instruction cycle of the instruction executed when IRQ×× flag was set has ended. Since the MOVT instruction, EI instruction, and the instruction which matches the condition to skip use two instruction cycles, the interrupt enabled while this instruction is executed is processed after the second instruction cycle is over. If IP×× flag is “0”, the interrupt processing is not performed even if IRQ×× flag is set, until IP×× flag is set. If two or more interrupts are enabled simultaneously, the interrupts are processed starting from the one with the highest priority. The interrupt with the lower priority is kept pending until the processing of the interrupt with the higher priority is finished. 7.3.1 Operations when interrupt is accepted When an interrupt has been accepted, the CPU performs processing in the following sequence: Clears IRQ××× corresponding to INTE flag and accepted interrupt Decrements value of stack pointer by 1 (SP – 1) Saves contents of program counter to stack addressed by stack pointer Loads vector address to program counter Save contents of PSWORD to interrupt stack register One instruction cycle is required to perform the above processing. 44 Data Sheet U12643EJ2V0DS00 µPD17225, 17226, 17227, 17228 7.3.2 Returning from interrupt processing routine To return from an interrupt processing routine, use the RETI instruction. Then the following processing is executed within an instruction cycle. Loads contents of stack addressed by stack pointer to program counter Loads contents of interrupt stack register to PSWORD Increments value of stack pointer by 1 To enable an interrupt after the processing of an interrupt has been finished, the EI instruction must be executed immediately before the RETI instruction. Accepting the interrupt is enabled by the EI instruction after the instruction next to the EI instruction has been executed. Therefore, the interrupt is not accepted between the EI and RETI instructions. Data Sheet U12643EJ2V0DS00 45 µPD17225, 17226, 17227, 17228 8. STANDBY FUNCTIONS µPD17225 is provided with HALT and STOP modes as standby functions. By using the standby function, current consumption can be reduced. In the HALT mode, the program is not executed, but the system clock fX is not stopped. This mode is maintained, until the HALT mode release condition is satisfied. In the STOP mode, the system clock is stopped and program execution is stopped. This mode is maintained, until the STOP mode release condition is satisfied. The HALT mode is set, when the HALT instruction has been executed. The STOP mode is set, when the STOP instruction has been executed. 8.1 HALT Mode In this mode, program execution is temporarily stopped, with the main clock continuing oscillating, to reduce current consumption. Use the HALT instruction to set the HALT mode. The HALT mode releasing condition can be specified by the operand for the HALT instruction, as shown in Table 8-1. After the HALT mode has been released, the operation is performed as shown in Table 8-1 and Figure 8-2. Caution Do not execute an instruction that clears the interrupt request flag (IRQ×××) for which the interrupt enable flag (IP×××) is set immediately before the HALT 8H instruction; otherwise, the HALT mode may not be set. Table 8-1. HALT Mode Releasing Conditions Operand Value 0010B (02H) Releasing Conditions When interrupt request (IRQTM) occurs for 8-bit timer <1> 1000B (08H) <2> Other Than Above When interrupt request (IRQTM, IRQWTM, or IRQ), whose interrupt enable flag (IPTM, IPBTM, or IP) is set, occurs When any of P0A0-P0A3 and P0B0-P0B3 pins goes low Setting prohibited Table 8-2. Operations After HALT Mode Release (1/2) (a) HALT 08H HALT Mode Released by: Low-Level Input of P0A0-P0A3, P0B0-P0B3 When Release Condition Is Interrupt Status Interrupt Enable Flag Don’t care Don’t care DI Disabled Standby mode is not released Enabled Instruction next to HALT is executed Disabled Standby mode is not released Enabled Branches to interrupt vector address Satisfied by Interrupt EI 46 Data Sheet U12643EJ2V0DS00 Operations after HALT Mode Release Instruction next to HALT is executed µPD17225, 17226, 17227, 17228 Table 8-2. Operations After HALT Mode Release (2/2) (b) HALT 02H HALT Mode Released by: Interrupt Status Interrupt Enable Flag DI Disabled Instructions are executed from the Enabled instruction next to the HALT instruction. 8-Bit Timer EI Disabled Enabled 8.2 Operations after HALT Mode Release Branches to interrupt vector address HALT Instruction Execution Conditions The HALT instruction can be executed, only under special conditions, as shown in Table 8-3, to prevent the program from hangup. If the conditions in Table 8-3 are not satisfied, the HALT instruction is treated as an NOP instruction. Table 8-3. HALT Instruction Execution Conditions Operand Value Execution Conditions 0010B (02H) When all interrupt request flags (IRQTM) of 8-bit timer are reset 1000B (08H) <1> <2> Other Than Above When interrupt request flag is reset, corresponding to interrupt whose interrupt enable flag (IPTM, IPBTM, or IP) is set When high level is input to all P0A0-P0A3 and P0B0-P0B3 pins Setting prohibited Data Sheet U12643EJ2V0DS00 47 µPD17225, 17226, 17227, 17228 8.3 STOP Mode In the STOP mode, the system clock (fX) oscillation is stopped and the program execution is stopped to minimize current consumption. To set the STOP mode, use the STOP instruction. The STOP mode releasing condition can be specified by the STOP instruction operand, as shown in Table 8-4. After the STOP mode has released, the operation is performed as follows: <1> Resets IRQTM. <2> Starts the basic interval timer and watchdog timer (does not reset). <3> Resets and starts the 8-bit timer. <4> Executes the instruction next to [STOP 8H] when the current value of the 8-bit counter coincides with the value of the modulo register (IRQTM is set). The µPD17225 oscillator is stopped, when the STOP instruction has been executed (i.e., in the STOP mode). Oscillation is not resumed, until the STOP mode is released. After the STOP mode has been released, the HALT mode is set. Set the time required to release the HALT mode by using the timer with modulo function. The time that elapses, after the STOP mode has been released by occurrence of an interrupt, until an operation mode is set, is shown in the following table. 8-Bit Modulo Register Set Value (TMM) Time Required to Set Operation Mode after STOP Mode Release At 4 MHz 40H 4.160 ms (64 µs × 65) FFH 16.384 ms (64 µs × 256) Remark Set the 8-bit modulo timer before executing STOP instruction. Caution Do not execute an instruction that clears the interrupt request flag (IRQ×××) for which the interrupt enable flag (IP×××) is set immediately before the STOP 8H instruction; otherwise, the STOP mode may not be set. Table 8-4. STOP Mode Releasing Conditions Operand Value Releasing Conditions 1000B (08H) When any of P0A0-P0A3 and P0B0-P0B3 pins goes low Other Than Above 48 Setting prohibited Data Sheet U12643EJ2V0DS00 µPD17225, 17226, 17227, 17228 8.4 STOP Instruction Execution Conditions The STOP instruction can be executed, only under special conditions, as shown in Table 8-5, to prevent the program from hang-up. If the conditions in Table 8-5 are not satisfied, the STOP instruction is treated as an NOP instruction. Table 8-5. STOP Instruction Execution Conditions Operand Value 1000B (08H) Other Than Above 8.5 Execution Conditions High level input for all P0A0-P0A3 and P0B0-P0B 3 pins Setting prohibited Releasing Standby Mode Operations for releasing the STOP and HALT modes will be as shown in Figure 8-1. Figure 8-1. Operations After Standby Mode Release (a) Releasing STOP mode by interrupt Wait (time set by TMM) STOP instruction Stanby release signal Clock (b) Operation mode STOP mode Oscillation Oscillation stops HALT mode Operation mode Oscillation Releasing HALT mode by interrupt HALT instruction Stanby release signal Operation mode Clock Operation mode HALT mode Oscillation Remark The dotted line indicates the operation to be performed when the interrupt request, releasing the standby mode, has been accepted. Data Sheet U12643EJ2V0DS00 49 µPD17225, 17226, 17227, 17228 9. RESET 9.1 Reset by Reset Signal Input When a low-level signal more than 50 µs is input to the RESET pin, µPD17225 is reset. When the system is reset, the oscillator circuit remains in the HALT mode and then enters an operation mode, like when the STOP mode has been released. The wait time, after the reset signal has been removed, is 16.384 ms (fX = 4 MHz). On power application, input the reset signal at least once because the internal circuitry operations are not stable. When µPD17225 is reset, the following initialization takes place: (1) Program counter is reset to 0. (2) Flags in the register file are initialized to their default values (for the default values, refer to Figure 11-1 Register Files). (3) The default value (0320H) is written to the data buffer (DBF). (4) The hardware peripherals are initialized. (5) The system clock (fX) stops oscillation. When the RESET pin is made high, the system clock starts oscillating, and the program execution starts from address 0 about 16 ms (at 4 MHz) later. Figure 9-1. Reset Operation by RESET Input Wait (about 16 ms at 4 MHz) Starts from address 0H RESET Operation mode or standby mode HALT mode Operation mode Oscillation stops 9.2 Reset by Watchdog Timer (Connect RESET and WDOUT pins) When the watchdog timer operates during program execution, a low level is output to the WDOUT pin, and the program counter is reset to 0. If the watchdog timer is not reset for a fixed period of time, the program can be restarted from address 0H. Program so that the watchdog timer is reset at intervals of within 340 ms (at fX = 4 MHz) (set the WDTRES flag). 50 Data Sheet U12643EJ2V0DS00 µPD17225, 17226, 17227, 17228 9.3 Reset by Stack Pointer (Connect RESET and WDOUT pins) When the value of the stack pointer reaches 6H or 7H during program execution, a low level is output to the WDOUT pin, and the program counter is reset to 0. If the nesting level of the interrupt or subroutine call exceeds 5 (stack over flow), or if the return instruction is executed without correspondence between CALL and return (RET) instructions established, then regardless of a stack level of 0 (stack underflow), the program can be restarted from address 0H. Table 9-1. Status of Each Hardware After Reset RESET Input During Standby Mode Hardware Program Counter (PC) Port Data Memory (RAM) 0000H 0000H Input/output Input Input Output latch 0 0 General-purpose data memory (Except DBF, port register) Retains previous status Undefined DBF 0320H 0320H System register (SYSREG) 0 0 WR Retains previous status Undefined Control Register 8-bit Timer Remote Controller Carrier Generator RESET Input During Operation Refer to Figure 11-1 Register Files Counter (TMC) 00H 00H Modulo register (TMM) FFH FFH NRZ high-level timer modulo register (NRZHTMM) Retains previous NRZ low-level timer modulo register (NRZLTMM) Basic Interval Timer/Watchdog Timer Counter 00H Data Sheet U12643EJ2V0DS00 Undefined status 00H 51 µPD17225, 17226, 17227, 17228 10. LOW-VOLTAGE DETECTOR CIRCUIT (CONNECT RESET AND WDOUT PINS) The low-voltage detector circuit outputs a low level from the WDOUT pin for initialization (reset) to prevent program hang-up that may take place when the batteries are replaced, if the circuit detects a low voltage. A drop in the supply voltage is detected if the status of VDD = 1.7 to 2.0 V lasts for 1 ms or longer. Note, however, that 1 ms is the guaranteed value and that the microcontroller may be reset even if the above low-voltage condition lasts for less than 1 ms. Although the voltage at which the the reset function is effected ranges from 1.7 to 2.0 V, the program counter is prevented from hang-up even if the supply voltage drops until the reset function is effected, if the instruction execution time is from 4 to 32 µs. Note that some oscillators stop oscillating before the reset function is effected. The low-voltage detector circuit can be set arbitrarily by the mask option. Caution Connect a capacitor to the RESET pin as shown below to stabilize the operation. Microcomputer RESET WDOUT Remark In this figure, the RESET pin is connected to a pull-up resistor by the mask option. 52 Data Sheet U12643EJ2V0DS00 µPD17225, 17226, 17227, 17228 11. ASSEMBLER RESERVED WORDS 11.1 Mask Option Directives When developing the µ PD17225 program, mask options must be specified by using mask option directives in the program. The RESET pin for µ PD17225 requires a mask option to be specified. 11.1.1 OPTION and ENDOP directives That portion of the program enclosed by the OPTION and ENDOP directives is called a mask option definition block. This block is described in the following format: Description format: 11.1.2 Symbol Mnemonic [Label: ] OPTION : : : ENDOP Operand Comment [;Comment] Mask option definition directives Table 11-1 lists the directives that can be used in the mask option definition block. Here is an example of mask option definition: Description example: Symbol Mnemonic Operand Comment OPTION OPTRES PULLUP ; RESET pin has pull-up resistors. OPTPOC USEPOC ; Internal low-voltage detector circuit ENDOP Data Sheet U12643EJ2V0DS00 53 µPD17225, 17226, 17227, 17228 Table 11-1. Mask Option Definition Directives Name Directive Operands RESET OPTRES 1 1st Operand 2nd Operand 3rd Operand 4th Operand Mask option of RESET PULLUP (w/pull-up resistor) OPEN (w/o pull-up resistor) POC OPTPOC 1 USEPOC (low-voltage detector circuit provided) NOUSEPOC (low-voltage detector circuit not provided) 11.2 Reserved Symbols The symbols defined by the µ PD17225 device file are listed in Table 11-2. The defined symbols are the following register file names, port names, and peripheral hardware names. 11.2.1 Register file The names of the symbols assigned to the register file are defined. These registers are accessed by the PEEK and POKE instructions through the window register (WR). Figure 11-1 shows the register file. 11.2.2 Registers and ports on data memory The names of the registers assigned at addresses 00H through 7FH on the data memory and the names of ports assigned to address 70H and those that follow, and system register names are defined. Figure 11-2 shows the data memory configuration. 11.2.3 Peripheral hardware The names of peripheral hardware accessed by the GET and PUT instructions are defined. Table 11-3 shows the peripheral hardware. 54 Data Sheet U12643EJ2V0DS00 µPD17225, 17226, 17227, 17228 Table 11-2. Reserved Symbols (1/2) Symbol Name Attribute Value R/W DBF3 MEM 0.0CH R/W Bits 15-12 of data buffer DBF2 MEM 0.0DH R/W Bits 11-8 of data buffer DBF1 MEM 0.0EH R/W Bits 7-4 of data buffer DBF0 MEM 0.0FH R/W Bits 3-0 of data buffer AR3 MEM 0.74H Note Bits 15-12 of address register AR2 MEM 0.75H R/W Bits 11-8 of address register AR1 MEM 0.76H R/W Bits 7-4 of address register AR0 MEM 0.77H R/W Bits 3-0 of address register WR MEM 0.78H R/W Window register BANK MEM 0.79H Note Bank register IXH MEM 0.7AH Note Index register, high MPH MEM 0.7AH Note Data memory row address pointer, high MPE FLG 0.7AH.3 R/W Memory pointer enable flag IXM MEM 0.7BH R/W Index register, middle MPL MEM 0.7BH R/W Data memory row address pointer, low IXL MEM 0.7CH R/W Index register, low RPH MEM 0.7DH Note General register pointer, high RPL MEM 0.7EH R/W General register pointer, low PSW MEM 0.7FH R/W Program status word BCD FLG 0.7EH.0 R/W BCD flag CMP FLG 0.7FH.3 R/W Compare flag CY FLG 0.7FH.2 R/W Carry flag Z FLG 0.7FH.1 R/W Zero flag IXE FLG 0.7FH.0 R/W Index enable flag P0A0 FLG 0.70H.0 R/W Bit 0 of port 0A P0A1 FLG 0.70H.1 R/W Bit 1 of port 0A P0A2 FLG 0.70H.2 R/W Bit 2 of port 0A P0A3 FLG 0.70H.3 R/W Bit 3 of port 0A P0B0 FLG 0.71H.0 R/W Bit 0 of port 0B P0B1 FLG 0.71H.1 R/W Bit 1 of port 0B P0B2 FLG 0.71H.2 R/W Bit 2 of port 0B P0B3 FLG 0.71H.3 R/W Bit 3 of port 0B P0C0 FLG 0.72H.0 R/W Bit 0 of port 0C P0C1 FLG 0.72H.1 R/W Bit 1 of port 0C P0C2 FLG 0.72H.2 R/W Bit 2 of port 0C P0C3 FLG 0.72H.3 R/W Bit 3 of port 0C P0D0 FLG 0.73H.0 R/W Bit 0 of port 0D P0D1 FLG 0.73H.1 R/W Bit 1 of port 0D P0D2 FLG 0.73H.2 R/W Bit 2 of port 0D P0D3 FLG 0.73H.3 R/W Bit 3 of port 0D Note R: µPD17225, 17226 Description R/W: µPD17227, 17228 Data Sheet U12643EJ2V0DS00 55 µPD17225, 17226, 17227, 17228 Table 11-2. Reserved Symbols (2/2) Symbol Name Attribute Value R/W Description P0E0 FLG 0.6FH.0 R/W Bit 0 of port 0E P0E1 FLG 0.6FH.1 R/W Bit 1 of port 0E P0E2 FLG 0.6FH.2 R/W Bit 2 of port 0E P0E3 FLG 0.6FH.3 R/W Bit 3 of port 0E SP MEM 0.81H R/W Stack pointer SYSCK FLG 0.82H.0 R/W System clock select flag WDTRES FLG 0.83H.3 R/W Watchdog timer reset flag BTMCK FLG 0.83H.2 R/W Basic interval timer mode select flag BTMRES FLG 0.83H.1 R/W Basic interval timer mode reset flag INT FLG 0.8FH.0 R NRZBF FLG 0.91H.0 R/W NRZ buffer data flag NRZ FLG 0.92H.0 R/W NRZ data flag P0EBPU0 FLG 0.97H.0 R/W P0E0 pull-up setting flag P0EBPU1 FLG 0.97H.1 R/W P0E1 pull-up setting flag P0EBPU2 FLG 0.97H.2 R/W P0E2 pull-up setting flag P0EBPU3 FLG 0.97H.3 R/W P0E3 pull-up setting flag IEG FLG 0.9FH.0 R/W INT pin interrupt edge flag P0EBIO0 FLG 0.0A7H.0 R/W P0E0 I/O setting flag P0EBIO1 FLG 0.0A7H.1 R/W P0E1 I/O setting flag P0EBIO2 FLG 0.0A7H.2 R/W P0E2 I/O setting flag P0EBIO3 FLG 0.0A7H.3 R/W P0E3 I/O setting flag IPBTM FLG 0.0AFH.2 R/W Basic interval timer interrupt enable flag IP FLG 0.0AFH.1 R/W INT pin interrupt enable flag IPTM FLG 0.0AFH.0 R/W Timer interrupt enable flag TMEN FLG 0.0B3H.3 R/W Timer enable flag TMRES FLG 0.0B3H.2 R/W Timer reset flag TMCK1 FLG 0.0B3H.1 R/W Timer clock flag TMCK0 FLG 0.0B3H.0 R/W Timer clock flag IRQBTM FLG 0.0BDH.0 R/W Basic interval timer interrupt request flag IRQ FLG 0.0BEH.0 R/W INT pin interrupt request flag IRQTM FLG 0.0BFH.0 R/W Timer interrupt request flag TMC DAT 05H R Timer count register TMM DAT 06H W Timer modulo register NRZLTMM DAT 03H R/W NRZ low-level timer modulo register NRZHTMM DAT 04H R/W NRZ high-level timer modulo register AR DAT 40H R/W Address register DBF DAT 0FH — Fixed operand value for PUT, GET, MOVT instruction IX DAT 01H — Fixed operand value for INC instruction 56 INT pin status flag Data Sheet U12643EJ2V0DS00 µPD17225, 17226, 17227, 17228 [MEMO] Data Sheet U12643EJ2V0DS00 57 µPD17225, 17226, 17227, 17228 Figure 11-1. Register Files (1/2) 1 0 0 0 WDTRES 0 Bit 2 1 0 0 BTMCK 0 Bit 1 0 0 0 BTMRES 0 Bit 0 1 SYSCK 0 SP 0 6 Note 0 Bit 3 0 0 0 0 P0EBPU3 0 Bit 2 0 0 0 0 P0EBPU2 0 Bit 1 0 0 0 0 P0EBPU1 0 NRZ 0 P0EBPU0 0 NRZBF 0 Bit 3 P0EBIO3 0 Bit 2 P0EBIO2 0 Bit 1 P0EBIO1 0 P0EBIO0 0 Bit 0 3 Note 7 Note 5 Note 4 Bit 3 Bit 0 2 3 Note Note Row Address 0 2 Note 1 Note 0 Note Column Address Bit 3 TMEN 1 Bit 2 TMRES 0 Bit 1 TMCK1 0 Bit 0 TMCK0 0 On reset Figure 11-2. Data Memory Configuration 0 1 2 3 4 5 6 Column address 7 8 9 A B 0 C D E F DBF3DBF2DBF1DBF0 DBF Row address 1 2 3 4 5 6 P0E0-P0E3 7 AR3 AR2 AR1 AR0 WR BANK IXH IXM IXL RPH RPL PSW System register P0D0-P0D3 P0C0-P0C3 P0B0-P0B3 P0A0-P0A3 58 Data Sheet U12643EJ2V0DS00 µPD17225, 17226, 17227, 17228 Figure 11-1. Register Files (2/2) 1 E F Note Bit 3 0 0 Bit 2 0 0 Bit 1 0 0 Bit 0 INT P Bit 3 0 0 Bit 2 0 0 Bit 1 0 0 Bit 0 IEG 0 Bit 3 0 0 IPBTM 0 Bit 2 2 Bit 1 0 IPTM 0 0 0 0 0 0 0 Bit 2 0 0 0 0 0 0 0 0 0 0 0 0 Bit 1 IRQBTM 0 Bit 0 Note IP Bit 3 Bit 0 3 Note D Note C Note B Note A Note Row Address 0 9 Note 8 Note Column Address IRQ 0 IRQTM 1 On reset P: When INT pin is high level, 1 or when INT pin is low level, 0. Table 11-3. Peripheral Hardware Name Address Valid Bit Description TMC 05H 8 Timer count register TMM 06H 8 Timer modulo register NRZLTMM 03H 8 Low-level timer modulo register for NRZ NRZHTMM 04H 8 High-level timer modulo register for NRZ AR 40H 16 Address register Data Sheet U12643EJ2V0DS00 59 µPD17225, 17226, 17227, 17228 12. INSTRUCTION SET 12.1 Instruction Set Outline b15 b14-b11 1 BIN. HEX. 0000 0 ADD r, m ADD m, #n4 0001 1 SUB r, m SUB m, #n4 0010 2 ADDC r, m ADDC m, #n4 0011 3 SUBC r, m SUBC m, #n4 0100 4 AND r, m AND m, #n4 0101 5 XOR r, m XOR m, #n4 0110 6 OR r, m OR m, #n4 INC INC MOVT BR CALL AR IX DBF, @AR @AR @AR 0111 60 0 7 RET RETSK EI DI RETI PUSH POP GET PUT PEEK POKE RORC STOP HALT NOP AR AR DBF, p p, DBF WR, rf rf, WR r s h 1000 8 LD r, m ST m, r 1001 9 SKE m, #n4 SKGE m, #n4 1010 A MOV @r, m MOV m, @r 1011 B SKNE m, #n4 SKLT m, #n4 1100 C BR addr (Page 0) CALL addr 1101 D BR addr (Page 1) MOV m, #n4 1110 E BR addr (Page 2) SKT m, #n 1111 F BR addr (Page 3) SKF m, #n Data Sheet U12643EJ2V0DS00 µPD17225, 17226, 17227, 17228 12.2 Legend AR : Address register ASR : Address stack register specified by stack pointer addr : Program memory address (low-order 11 bits) BANK : Bank register CMP : Compare register CY : Carry flag DBF : Data buffer h : Halt releasing condition INTEF : Interrupt enable flag INTR : Register automatically saved to stack in case of interrupt INTSK : Interrupt stack register IX : Index register MP : Data memory row address pointer MPE m : Memory pointer enable flag : Data memory address specified by mR, mC mR : Data memory row address (high) mC : Data memory column address (low) n : Bit position (4 bits) n4 : Immediate data (4 bits) PAGE : Page (bit 11 and 12 of program counter) PC : Program counter p : Peripheral address pH : Peripheral address (high-order 3 bits) pL : Peripheral address (low-order 4 bits) r : General register column address rf : Register file address rfR : Register file row address (high-order 3 bits) rfC : Register file column address (low-order 4 bits) SP : Stack pointer s : Stop releasing condition WR : Window register (×) : Contents addressed by × Data Sheet U12643EJ2V0DS00 61 µPD17225, 17226, 17227, 17228 12.3 List of Instruction Sets Group Mnemonic Operand Instruction Code Operation OP Code ADD Addition ADDC INC SUB Subtraction SUBC r, m (r) ← (r) + (m) 00000 mR mC r m, #n4 (m) ← (m) + n4 10000 mR mC n4 r, m (r) ← (r) + (m) + CY 00010 mR mC r m, #n4 (m) ← (m) + n4 + CY 10010 mR mC n4 AR AR ← AR + 1 00111 000 1001 0000 IX IX ← IX + 1 00111 000 1000 0000 r, m (r) ← (r) – (m) 00001 mR mC r m, #n4 (m) ← (m) – n4 10001 mR mC n4 r, m (r) ← (r) – (m) – CY 00011 mR mC r m, #n4 (m) ← (m) – n4 – CY 10011 mR mC n4 r, m (r) ← (r) 00110 mR mC r 10110 mR mC n4 00100 mR mC r 10100 mR mC n4 m, #n4 ∨ (m) (m) ← (m) ∨ n4 (r) ← (r) ∧ (m) (m) ← (m) ∧ n4 r, m (r) ← (r) ∀ (m) 00101 mR mC r m, #n4 (m) ← (m) ∀ n4 10101 mR mC n4 SKT m, #n CMP ← 0, if (m) 11110 mR mC n SKF m, #n ∧ n = n, then skip CMP ← 0, if (m) ∧ n = 0, then skip 11111 mR mC n SKE m, #n4 (m) – n4, skip if zero 01001 mR mC n4 SKNE m, #n4 (m) – n4, skip if not zero 01011 mR mC n4 SKGE m, #n4 (m) – n4, skip if not borrow 11001 mR mC n4 SKLT m, #n4 (m) – n4, skip if borrow 11011 mR mC n4 RORC r 00111 000 0111 r LD r, m (r) ← (m) 01000 mR mC r ST m, r (m) ← (r) 11000 mR mC r @r, m if MPE = 1 : (MP, (r)) ← (m) if MPE = 0 : (BANK, mR, (r)) ← (m) 01010 mR mC r m, @r if MPE = 1 : (m) ← (MP, (r)) if MPE = 0 : (m) ← (BANK, mR, (r)) 11010 mR mC r m, #n4 (m) ← n4 11101 mR mC n4 DBF, @AR SP ← SP – 1, ASR ← PC, PC ← AR DBF ← (PC), PC ← ASR, SP ← SP + 1 00111 000 0001 0000 OR m, #n4 Logical AND XOR Judge Compare Rotate Transfer MOV MOVT 62 Operand r, m CY → (r)b3 → (r)b2 → (r)b1 → (r)b0 Data Sheet U12643EJ2V0DS00 µPD17225, 17226, 17227, 17228 Group Mnemonic Operand Instruction Code Operation OP Code Transfer Branch PUSH AR SP ← SP – 1, ASR ← AR 00111 000 1101 0000 POP AR AR ← ASR, SP ← SP + 1 00111 000 1100 0000 PEEK WR, rf WR ← (rf) 00111 rfR 0011 rfC POKE rf, WR (rf) ← WR 00111 rfR 0010 rfC GET DBF, p (DBF) ← (p) 00111 pH 1011 pL PUT p, DBF (p) ← (DBF) 00111 pH 1010 pL addr Note 01100 @AR PC ← AR 00111 addr SP ← SP – 1, ASR ← PC, PC10–0 ← addr, PAGE ← 0 11100 @AR SP ← SP – 1, ASR ← PC, PC ← AR 00111 000 0101 0000 RET PC ← ASR, SP ← SP + 1 00111 000 1110 0000 RETSK PC ← ASR, SP ← SP + 1 and skip 00111 001 1110 0000 RETI PC ← ASR, INTR ← INTSK, SP ← SP + 1 00111 100 1110 0000 EI INTEF ← 1 00111 000 1111 0000 DI INTEF ← 0 00111 001 1111 0000 BR CALL Subroutine Interrupt Other addr 000 0100 0000 addr STOP s STOP 00111 010 1111 s HALT h HALT 00111 011 1111 h No operation 00111 100 1111 0000 NOP Note Operand The operation and OP code of “BR addr” of the µPD17225, 17226, 17227, and 17228 are as follows, respectively. (a) µPD17225 Operand addr Operation PC10-0 ← addr OP Code 01100 (b) µPD17226 Operand addr Operation OP Code PC10-0 ← addr, PAGE ← 0 01100 PC10-0 ← addr, PAGE ← 1 01101 (c) µPD17227 Operand addr Operation OP Code PC10-0 ← addr, PAGE ← 0 01100 PC10-0 ← addr, PAGE ← 1 01101 PC10-0 ← addr, PAGE ← 2 01110 Data Sheet U12643EJ2V0DS00 63 µPD17225, 17226, 17227, 17228 (d) µPD17228 Operand addr 12.4 Operation OP Code PC10-0 ← addr, PAGE ← 0 01100 PC10-0 ← addr, PAGE ← 1 01101 PC10-0 ← addr, PAGE ← 2 01110 PC10-0 ← addr, PAGE ← 3 01111 Assembler (RA17K) Built-In Macro Instruction Legend flag n : FLG type symbol n : Bit number < > : Contents in < > can be omitted Mnemonic Operand n Built-in SKTn flag 1, ...flag n if (flag 1) to (flag n) = all “1”, then skip 1≤n≤4 macro SKFn flag 1, ...flag n if (flag 1) to (flag n) = all “0”, then skip 1≤n≤4 SETn flag 1, ...flag n (flag 1) to (flag n) ← 1 1≤n≤4 CLRn flag 1, ...flag n (flag 1) to (flag n) ← 0 1≤n≤4 NOTn flag 1, ...flag n if (flag n) = “0”, then (flag n) ← 1 if (flag n) = “1”, then (flag n) ← 0 1≤n≤4 INITFLG <NOT> flag 1, if description = NOT flag n, then (flag n) ← 0 ···<<NOT> flag n> if description = flag n, then (flag n) ← 1 BANKn 1≤n≤4 (BANK) ← n n = 0Note Expantion BRX Label Jump Label — instruction CALLX function-name CALL sub-routine — INITFLGX <NOT/INV> flag 1, ...<NOT/INV> flag n if description = NOT (or INV) flag, (flag) ← 0 if description = flag, (flag) ← 1 Note 64 Operation µPD17227, 17228: n = 0, 1 Data Sheet U12643EJ2V0DS00 n≤4 µPD17225, 17226, 17227, 17228 13. ELECTRICAL SPECIFICATIONS Absolute Maximum Ratings (TA = 25°C) Item Symbol Supply Voltage Input Voltage Output Voltage High-Level Output Current Note Ratings Unit VDD –0.3 to +3.8 V VI –0.3 to VDD + 0.3 V VO –0.3 to VDD + 0.3 V Peak value –36.0 mA rms value –24.0 mA Peak value –7.5 mA rms value –5.0 mA Peak value –22.5 mA rms value –15.0 mA Peak value 7.5 mA rms value 5.0 mA Total of P0C, P0D, Peak value 22.5 mA WDOUT pins rms value 15.0 mA Total of P0E pins Peak value 30.0 mA rms value 20.0 mA IOH Conditions REM pin 1 pin (P0E pin) Total of P0E pins Low-Level Output Current Note IOL 1 pin (P0C, P0D, P0E, REM or WDOUT pin) Operating Temperature TA –40 to +85 °C Storage Temperature Tstg –65 to +150 °C Power Dissipation Pd 180 mW Note TA = 85 °C Calculate rms value by this expression: [rms value] = [Peak value] × √ Duty Caution Even if one of the parameters exceeds its absolute maximum rating even momentarily, the quality of the product may be degraded. The absolute maximum rating therefore specifies the upper or lower limit of the value at which the product can be used without physical damages. Be sure not to exceed or fall below this value when using the product. Data Sheet U12643EJ2V0DS00 65 µPD17225, 17226, 17227, 17228 Recommended Operating Ranges (TA = –40 to +85°C, VDD = 2.0 to 3.6 V) Item Symbol Supply Voltage Conditions VDD1 fX = 1 MHz High-speed mode (Instruction execution time: 16 µs) VDD2 fX = 4 MHz Ordinary mode (Instruction execution time: 4 µs) VDD3 fX = 8 MHz High-speed mode (Instruction execution time: 4 µs) VDD4 Oscillation Frequency Operating Temperature Low-Voltage Detector Circuit (Mask Option) Note Note MIN. High-speed mode (Instruction execution time: 2 µs) TYP. MAX. Unit 2.0 3.6 V 2.2 3.6 V fX 1.0 4.0 8.0 MHz TA –40 +25 +85 °C TCY 4 32 µs Reset if the status of VDD = 1.7 to 2.0 V lasts for 1 ms or longer. Program hang-up does not occur even if the voltage drops, until the reset function is effected (when the RESET pin and WDOUT pin are connected). Some oscillators stop oscillating before the reset function is effected. fX vs VDD (MHZ) 10 9 8 7 6 System clock: fX (MHz) (Ordinary mode) 5 4 3 Operation guaranteed area 2 1 0.4 0 2 2.2 3 3.6 4 Supply voltage: VDD (V) Remark The region indicated by the broken line in the above figure is the guaranteed operating range in the highspeed mode. 66 Data Sheet U12643EJ2V0DS00 µPD17225, 17226, 17227, 17228 System Clock Oscillator Characteristics (TA = –40 to +85°C, VDD = 2.0 to 3.6 V) Resonator Ceramic resonator Recommended Constants X IN X OUT Item Conditions Oscillation frequency Note 1 (fX) Oscillation stabilization timeNote 2 MIN. TYP. MAX. Unit 1.0 4.0 8.0 MHz 4 ms After VDD reached MIN. in oscillation voltage range Notes 1. The oscillation frequency only indicates the oscillator characteristics. 2. The oscillation stabilization time is necessary for oscillation to be stabilized, after VDD application or STOP mode release. Caution To use a system clock oscillator circuit, perform the wiring in the area enclosed by the dotted line in the above figure as follows, to avoid adverse wiring capacitance influences: • Keep wiring length as short as possible. • Do not cross a signal line with some other signal lines. Do not route the wiring in the vicinity of lines through which a large current flows. • Always keep the oscillator circuit capacitor ground at the same potential as GND. Do not ground the capacitor to a ground pattern, through which a large current flows. • Do not extract signals from the oscillator circuit. External circuit example XIN XOUT R1 C1 C2 Data Sheet U12643EJ2V0DS00 67 µPD17225, 17226, 17227, 17228 Main System Clock: Ceramic Resonator (TA = –40 to +85 °C) Manufacturer Part Number Recommended Circuit Constants Oscillation Voltage Range Remark C1 (pF) C2 (pF) MIN. (V) MAX. (V) CSA2.00MG 30 30 2.0 3.6 CSA3.00MG 30 30 2.0 3.6 CSA4.00MG 30 30 2.0 3.6 CSA6.00MG 30 30 2.0 3.6 CSA8.00MTZ 30 30 2.2 3.6 CCR1000K2 100 100 2.0 3.6 CCR4.0MC3 — — 2.0 3.6 Built-in capacitor CCR6.0MC3 — — 2.0 3.6 Built-in capacitor CCR8.0MC5 — — 2.0 3.6 Built-in capacitor FCR4.0MC5 — — 2.0 3.6 Built-in capacitor FCR6.0MC5 — — 2.0 3.6 Built-in capacitor Matsushita Electronic EF0EC2004A4 — — 2.0 3.6 Built-in capacitor Components Co., Ltd. EF0EC3004A4 — — 2.0 3.6 Built-in capacitor EF0EC4004A4 — — 2.0 3.6 Built-in capacitor EF0EC6004A4 — — 2.0 3.6 Built-in capacitor EF0EC8004A4 — — 2.0 3.6 Built-in capacitor CRHF2.50 30 30 2.2 3.6 CRHF4.00 30 30 2.2 3.6 CRHF6.00 30 30 2.2 3.6 Murata Mfg. Co., Ltd. TDK Corp. Toko Ceramic Co., Ltd. Caution The oscillation circuit constants and oscillation voltage range indicate conditions for stable oscillation but do not guarantee accuracy of the oscillation frequency. If the application circuit requires accuracy of the oscillation frequency, it is necessary to set the oscillation frequency of the resonator in the application circuit. For this, it is necessary to directly contact the manufacturer of the resonator being used. 68 Data Sheet U12643EJ2V0DS00 µPD17225, 17226, 17227, 17228 DC Characteristics (TA = –40 to +85°C, VDD = 2.0 to 3.6 V) Item High-Level Input Voltage Symbol Conditions MIN. TYP. MAX. Unit VIH1 P0A, P0B 0.7VDD VDD V VIH2 P0E, RESET, INT 0.8VDD VDD V VIL1 P0A, P0B 0 0.3VDD V VIL2 P0E 0 0.35VDD V VIL3 RESET, INT pin 0 0.2VDD V High-Level Input Leakage Current ILIH P0A, P0B, P0E, RESET, INT VI = VDD 3 µA Low-Level Input Leakage ILIL1 INT VI = 0 V –3 µA Current ILIL2 P0E, RESET VI = 0 V w/o pull-up resistor –3 µA High-Level Output Leakage Current ILOH P0C, P0D, P0E, WDOUT VO = VDD 3 µA Low-Level Output Leakage Current ILOL P0E, WDOUT VO = 0 V w/o pull-up resistor –3 µA Internal Pull-Up Resistor RU1 P0E, RESET 25 50 100 kΩ RU2 P0A, P0B 100 200 400 kΩ High-Level Output Current IOH1 REM VOH = 1.0 V, VDD = 3 V –6 –13 –24 mA High-Level Output Voltage VOH P0E, REM IOH = –0.5 mA VDD V Low-Level Output Voltage VOL1 P0C, P0D, REM, WDOUT IOL = 0.5 mA 0.3 V VOL2 P0E IOL = 1.5 mA 0.3 V VDT WDOUT = low level VDT = VDD 2.0 V Low-Level Input Voltage Low-Voltage Detector Circuit (Mask Option) Data Retention Voltage Supply Current VDDDR IDD1 Operating mode VDD = 3 V ± 10 % Operating mode VDD = 3 V ± 10 % (low-speed) IDD3 IDD4 1.7 RESET = low level or STOP mode (high-speed) IDD2 VDD–0.3 HALT mode STOP mode VDD = 3 V ± 10 % 1.3 Data Sheet U12643EJ2V0DS00 V fX = 1 MHz 0.6 1.2 mA fX = 4 MHz 0.75 1.3 mA fX = 8 MHz 0.9 1.8 mA fX = 1 MHz 0.475 0.95 mA fX = 4 MHz 0.6 1.1 mA fX = 8 MHz 0.8 1.6 mA fX = 1 MHz 0.4 0.8 mA fX = 4 MHz 0.45 0.85 mA fX = 8 MHz 0.5 1.0 mA 2.0 20.0 µA 2.0 5.0 µA VDD = 3 V ± 10 % built-in POC 1.85 TA = 25 °C 69 µPD17225, 17226, 17227, 17228 AC Characteristics (TA = –40 to +85°C, VDD = 2.0 to 3.6 V) Item Symbol Note CPU Clock Cycle Time (Instruction Execution Time) INT High/Low Level Width RESET Low Level Width Note Conditions MIN. tCY1 tCY2 VDD = 2.2 to 3.6 V TYP. MAX. Unit 3.8 33 µs 1.9 33 µs tINTH, tINTL 20 µs tRSL 10 µs tCY vs VDD The CPU clock cycle time (instruction execution time) 40 is determined by the oscillation frequency of the resonator connected and SYSCK (RF: address 02H) of the 33 register file. tCY vs. supply voltage VDD characteristics (refer to 4. CLOCK GENERATOR CIRCUIT). CPU clock cycle time tcY (µ s) The figure on the right shows the CPU clock cycle time 10 9 8 7 6 Operation guaranteed area 5 4 3.8 3 2 1.9 2.2 1 0 1 2 3.6 3 Supply voltage VDD (V) 70 Data Sheet U12643EJ2V0DS00 4 µPD17225, 17226, 17227, 17228 14. APPLICATION CIRCUIT EXAMPLE P0D 2 P0D 3 INT P0E 0 P0E 1 P0E 3 REM 3V V DD X OUT 4 MHz X IN GND RESET WDOUT 28 2 27 3 26 4 25 5 24 6 7 8 9 10 µ PD17225CT/GT- ××× µ PD17226CT/GT- ××× µ PD17227CT/GT- ××× µ PD17228CT/GT- ××× P0E 2 1 23 22 21 20 19 11 18 12 17 13 16 14 15 P0D 1 P0D 0 P0C 3 P0C 2 P0C 1 P0C 0 P0B 3 P0B 2 P0B 1 P0B 0 P0A 3 P0A 2 P0A 1 P0A 0 Remark The RESET pin can be connected to a pull-up resistor by the mask option. Data Sheet U12643EJ2V0DS00 71 µPD17225, 17226, 17227, 17228 15. PACKAGE DRAWINGS 28 PIN PLASTIC SHRINK DIP (400 mil) 28 15 1 14 A I K H G J L F D N C M B M R NOTES 1) Each lead centerline is located within 0.17 mm (0.007 inch) of its true position (T.P.) at maximum material condition. 2) Item "K" to center of leads when formed parallel. ITEM MILLIMETERS INCHES A 28.46 MAX. 1.121 MAX. B 2.67 MAX. 0.106 MAX. C 1.778 (T.P.) 0.070 (T.P.) D 0.50±0.10 0.020 +0.004 –0.005 F 0.85 MIN. 0.033 MIN. G 3.2±0.3 0.126±0.012 H 0.51 MIN. 0.020 MIN. I 4.31 MAX. 0.170 MAX. J 5.08 MAX. 0.200 MAX. K L 10.16 (T.P.) 8.6 0.400 (T.P.) 0.339 M 0.25 +0.10 –0.05 0.010 +0.004 –0.003 N 0.17 0.007 R 0~15° 0~15° S28C-70-400B-1 72 Data Sheet U12643EJ2V0DS00 µPD17225, 17226, 17227, 17228 28-PIN PLASTIC SOP (375 mil) 28 15 detail of lead end P 1 14 A H F I G J S C D M B L N M S K E NOTE Each lead centerline is located within 0.12 mm of its true position (T.P.) at maximum material condition. ITEM MILLIMETERS A 17.9±0.17 B 0.78 MAX. C 1.27 (T.P.) D 0.42 +0.08 −0.07 E 0.1±0.1 F 2.6±0.2 G H 2.50 10.3±0.3 I 7.2±0.2 J 1.6±0.2 K 0.17 +0.08 −0.07 L 0.8±0.2 M 0.12 N 0.15 P +7° 3° −3° P28GM-50-375B-4 Data Sheet U12643EJ2V0DS00 73 µPD17225, 17226, 17227, 17228 30 PIN PLASTIC SSOP (300 mil) 30 16 detail of lead end F G T P 1 L 15 U E A H I J S C D N M S B K M NOTE ITEM Each lead centerline is located within 0.10 mm of its true position (T.P.) at maximum material condition. 9.85±0.15 B 0.45 MAX. C 0.65 (T.P.) D 0.24 +0.08 −0.07 E 0.1±0.05 F 1.3±0.1 G 1.2 H 8.1±0.2 I 6.1±0.2 J 1.0±0.2 K 0.17±0.03 L 0.5 M 0.13 N 0.10 P 3° +5° −3° T 0.25 U 74 Data Sheet U12643EJ2V0DS00 MILLIMETERS A 0.6±0.15 S30MC-65-5A4-1 µPD17225, 17226, 17227, 17228 16. RECOMMENDED SOLDERING CONDITIONS For the µPD17225 soldering must be performed under the following conditions. For details of recommended conditions for surface mounting, refer to information document "Semiconductor Device Mounting Technology Manual" (C10535E). For other soldering methods, please consult with NEC personnel. Table 16-1. Soldering Conditions of Surface Mount Type (1) µPD17225GT-×××: µPD17226GT-×××: µPD17227GT-×××: µPD17228GT-×××: 28-pin 28-pin 28-pin 28-pin plastic plastic plastic plastic SOP SOP SOP SOP Soldering Method (375 (375 (375 (375 mil) mil) mil) mil) Soldering Conditions Symbol Infrated Reflow Package peak temperature: 235 °C, Time: 30 seconds max. (210 °C min.), Number of times: 2 max. IR35-00-2 VPS Package peak temperature: 215 °C, Time: 40 seconds max. (200 °C min.), Number of times: 2 max. VP15-00-2 Wave Soldering Solder bath temperature: 260 °C max, Time: 10 seconds max., Number of times: once, preheating temperature: 120 °C max. (package surface temperature) WS66-00-1 Partial Heating Pin temperature: 300 °C max., Time: 3 seconds max. (per side of device) — Caution Do not use two or more soldering methods in combination (except the partial heating method). (2) µPD17225MC-×××-5A4: µPD17226MC-×××-5A4: µPD17227MC-×××-5A4: µPD17228MC-×××-5A4: 30-pin 30-pin 30-pin 30-pin plastic plastic plastic plastic Soldering Method shrink shrink shrink shrink SOP SOP SOP SOP (300 (300 (300 (300 mil) mil) mil) mil) Soldering Conditions Symbol Infrated Reflow Package peak temperature: 235 °C, Time: 30 seconds max. (210 °C min.), Number of times: 3 max. IR35-00-3 VPS Package peak temperature: 215 °C, Time: 40 seconds max. (200 °C min.), Number of times: 3 max. VP15-00-3 Wave Soldering Solder bath temperature: 260 °C max, Time: 10 seconds max., Number of times: once, preheating temperature: 120 °C max. (package surface temperature) WS66-00-1 Partial Heating Pin temperature: 300 °C max., Time: 3 seconds max. (per side of device) — Caution Do not use two or more soldering methods in combination (except the partial heating method). Table 16-2. Soldering Conditions of Through-Hole Type µPD17225CT-×××: µPD17226CT-×××: µPD17227CT-×××: µPD17228CT-×××: 28-pin 28-pin 28-pin 28-pin plastic plastic plastic plastic shrink shrink shrink shrink Soldering Method DIP DIP DIP DIP (400 (400 (400 (400 mil) mil) mil) mil) Soldering Conditions Wave Soldering (Only for pins) Solder bath temperature: 260 °C max., Time: 10 seconds max. Partial Heating Pin temperature: 300 °C max., Time: 3 seconds max. (per pin) Caution The wave solding must be performed at the lead part only. Note that the solder must not be directly contacted to the package body. Data Sheet U12643EJ2V0DS00 75 µPD17225, 17226, 17227, 17228 APPENDIX A. DIFFERENCES AMONG µPD17225, 17226, 17227, 17228 AND µPD17P218 µPD17P218 is equipped with PROM to which data can be written by the user instead of the internal mask ROM (program memory) of the µPD17228. Table A-1 shows the differences between the µPD17225, 17226, 17227, 17228 and µPD17P218. The differences among these five models are the program memory and mask option, and their CPU functions and internal hardware are identical. Therefore, the µPD17P218 can be used to evaluate the program developed for the µPD17225, 17226, 17227, and 17228 system. Note, however, that some of the electrical specifications such as supply current and low-voltage detection voltage of the µPD17P218 are different from those of the µPD17225, 17226, 17227, and 17228. Table A-1. Differences among µPD17225, 17226, 17227, 17228 and µPD17P218 Product Name µPD17P218 µPD17225 µPD17226 µPD17227 µPD17228 Item Program Memory One-time PROM Pull-Up Resistor of RESET Pin Low-Voltage Detector Circuit 16 K bytes 4 K bytes 8 K bytes 12 K bytes 16 K bytes (8192 × 16) (2048 × 16) (4096 × 16) (6144 × 16) (8192 × 16) (0000H-1FFFH) (0000H-07FFH) (0000H-0FFFH) (0000H-17FFH) (0000H-1FFFH) 223 × 4 bits Data Memory Note VPP Pin, Operation Mode Select Pin Mask ROM 111 × 4 bits Provided Any (mask option) Provided Any (mask option) Provided Not provided Handling of WDOUT Pin When Not Used Connect to GND Instruction Execution Time (TCY) 223 × 4 bits Connect to VDD via resistor 2 µs 2 µs (VDD = 2.2 to 3.6 V) (VDD = 3.5 to 5.5 V) 4 µs (VDD = 2.0 to 3.6 V) 4 µs (VDD = 2.2 to 5.5 V) 8 µs (VDD = 2.0 to 5.5 V) Operation When P0C, P0D Are Standby Supply Voltage Package Retain output level immediately before standby mode VDD = 2.0 to 5.5 V VDD = 2.0 to 3.6 V 28-pin plastic SOP (375 mil) 28-pin plastic shrink DIP (400 mil) 30-pin plastic shrink SOP (300 mil) Note 76 Although the circuit configuration is identical, its electrical characteristics differ depending on the product. Data Sheet U12643EJ2V0DS00 µPD17225, 17226, 17227, 17228 [MEMO] Data Sheet U12643EJ2V0DS00 77 µPD17225, 17226, 17227, 17228 FUNCTIONAL COMPARISON OF µPD17225 SUBSERIES RELATED PRODUCTS APPENDIX B. Product Name µPD17201A µPD17207 µPD17202A µPD17215 µPD17216 µPD17217 µPD17218 4096 × 16 6144 × 16 8192 × 16 Item 3072 × 16 ROM Capacity (Bit) Infrared Remote Controller Carrier Generator (REM) 2048 × 16 336 × 4 112 × 4 136 segments max. 96 segments max. RAM Capacity (Bit) LCD Controller/Driver 4096 × 16 111 × 4 Not provided LED output is high-active LED output is low-active I/O Ports 19 lines 223 × 4 Provided (without LED output) 16 lines 20 lines External Interrupt (INT) 1 line (rising-edge detection) 1 line (rising-edge, falling-edge detection) Analog Input 4 channels (8-bit A/D) Not provided Timer 2 channels 8-bit timer Watch timer Watchdog Timer 2 channels Note Not provided Serial Interface Provided (WDOUT output) 1 channel Stack Not provided 5 levels (3 levels for multiplexed interrupt) Instruction Execution Time Main System Clock 4 µs (4 MHz: with ceramic or crystal resonator, VDD = 2.2 to 5.5 V) Subsystem 488 µs (32.768 kHz: with crystal resonator, VDD = 2.0 to 5.5 V) Not provided VDD = 2.2 to 5.5 V (VDD = 2.0 to 5.5 V) VDD = 2.0 to 5.5 V Clock Supply Voltage (With Subsystem Clock) Standby Function Package • 2 µs (8 MHz ceramic resonator: in high-speed mode, VDD = 3.5 to 5.5 V) • 4 µs (4 MHz ceramic resonator: in high-speed mode, VDD = 2.2 to 5.5 V) • 8 µs (2 MHz ceramic resonator: in high-speed mode, VDD = 2.0 to 5.5 V) STOP, HALT 80-pin plastic QFP 64-pin plastic QFP 28-pin plastic SOP 28-pin plastic shrink DIP µPD17P207 µPD17P202A µPD17P218 One-Time PROM Products Note that although all the products have the same circuit construction, the electrical specifications differ dependant on each product. 78 8-bit timer Basic interval timer Provided (WDOUT output) Low-Voltage Detector Circuit Note Data Sheet U12643EJ2V0DS00 µPD17225, 17226, 17227, 17228 µPD17225 µPD17226 µPD17227 µPD17228 2048 × 16 6144 × 16 8192 × 16 4096 × 16 111 × 4 223 × 4 Not provided Provided (without LED output) 20 pins 1 pin (rising edge, falling edge detection) Not provided 2 channels 8-bit timer Basic interval timer Provided (WDOUT output) Provided (WDOUT output) Not provided 5 levels (3 nesting levels) • 2 µs (8-MHz ceramic resonator: in high-speed mode, VDD = 2.2 to 3.6 V) • 4 µs (4-MHz ceramic resonator: in high-speed mode, VDD = 2.0 to 3.6 V) Not provided VDD = 2.0 to 3.6 V STOP, HALT 28-pin plastic SOP 28-pin plastic shrink DIP 30-pin plastic shrink SOP µPD17P218 Data Sheet U12643EJ2V0DS00 79 µPD17225, 17226, 17227, 17228 APPENDIX C. DEVELOPMENT TOOLS To develop the programs for the µPD17225 subseries, the following development tools are available: Hardware Name Remarks IE-17K and IE-17K-ET are the in-circuit emulators used in common with the 17K series microcontroller. IE-17K and IE-17K-ET are connected to a PC-9800 series or IBM PC/ATTM compatible machines as the host machine with RS-232C. By using these in-circuit emulators with a system evaluation board corresponding to the microcomputer, the emulators can emulate the microcomputer. A higher level debugging environment can be provided by using man-machine interface SIMPLEHOST TM. In-Circuit Emulator IE-17K, IE-17K-ETNote 1 SE Board (SE-17225) This is an SE board for µPD17225 subseries. It can be used alone to evaluate a system or in combination with an in-circuit emulator for debugging. Emulation Probe (EP-17K28CT) EP-17K28CT is an emulation probe for 17K series 28-pin shrink DIP (400mil). Emulation Probe (EP-17K28GT) EP-17K28GT is an emulation probe for 17K series 28-pin SOP (375 mil). When used with EV-9500GT-28Note 2, it connects an SE board to the target system. Emulation Probe (EP-17K30GS) EP-17K30GS is an emulation probe for 17K series 30-pin shrink SOP (300 mil) (under development). Conversion Adapter (EV-9500GT-28 Note 2 EV-9500GT-28 is a conversion adapter for 28-pin SOP (375 mil) and is used to connect ) EP-17K28GT to the target system. PROM Programmer (AF-9703Note 3, AF-9704Note 3, AF-9705Note 3, AF-9706Note 3) AF-9703, AF-9704, AF-9705, and AF-9706 are PROM programmers corresponding to µPD17P218. By connecting program adapter AF-9808J or AF-9808H to this PROM programmer, µPD17P218 can be programmed. Program Adapter (AF-9808JNote 3, AF-9808HNote 3) AF-9808J and AF-9808H are adapters that is used to program µPD17P218CT and µPD17P218GT respectively, and is used in combination with AF-9703, AF-9704, AF-9705, or AF-9706. Notes 1. Low-cost model: External power supply type 2. Two EV-9500GT-28s are supplied with the EP-17K28GT. Five EV-9500GT-28s are optionally available as a set. 3. These are products from Ando Electric Co., Ltd. For details, consult Ando Electric Co., Ltd. (Tel: 03-37331163). 80 Data Sheet U12643EJ2V0DS00 µPD17225, 17226, 17227, 17228 Software Name 17K Assembler (RA17K) 17K Series C-like Compiler TM (emlC-17K ) Device File (AS17225) Support Software (SIMPLEHOST) Outline Host Machine OS Supply Order Code The RA17K is an assembler common to the 17K series products. When developing the program of devices, RA17K is used in combination with a device file (AS17225). PC-9800 series Japanese Windows 3.5" 2HD µSAA13RA17K IBM PC/AT compatible machine Japanese Windows 3.5" 2HC µSAB13RA17K The emlC-17K is a C-like compiler common to the 17K series. Used in combination with the RA17K. PC-9800 series Japanese Windows 3.5” 2HD µSAA13CC17K IBM PC/AT compatible machine Japanese Windows 3.5” 2HC µSAB13CC17K TM µSBB13RA17K English Windows µSBB13CC17K English Windows The AS17225 is a device file for µPD17225, 17226, 17227, and 17228 respectively, and are used in combination with an assembler for the 17K series (RA17K). PC-9800 series Japanese Windows 3.5" 2HD µSAA13AS17225 IBM PC/AT compatible machine Japanese Windows 3.5" 2HC µSAB13AS17225 SIMPLEHOST is a software package that enables man-machine interface on the Windows when a program is developed by using an in-circuit emulator and a personal computer. PC-9800 series Japanese Windows 3.5" 2HD µSAA13ID17K IBM PC/AT compatible machine Japanese Windows 3.5" 2HC µSAB13ID17K µSBB13AS17225 English Windows English Windows Data Sheet U12643EJ2V0DS00 µSBB13ID17K 81 µPD17225, 17226, 17227, 17228 NOTES FOR CMOS DEVICES 1 PRECAUTION AGAINST ESD FOR SEMICONDUCTORS Note: Strong electric field, when exposed to a MOS device, can cause destruction of the gate oxide and ultimately degrade the device operation. Steps must be taken to stop generation of static electricity as much as possible, and quickly dissipate it once, when it has occurred. Environmental control must be adequate. When it is dry, humidifier should be used. It is recommended to avoid using insulators that easily build static electricity. Semiconductor devices must be stored and transported in an anti-static container, static shielding bag or conductive material. All test and measurement tools including work bench and floor should be grounded. The operator should be grounded using wrist strap. Semiconductor devices must not be touched with bare hands. Similar precautions need to be taken for PW boards with semiconductor devices on it. 2 HANDLING OF UNUSED INPUT PINS FOR CMOS Note: No connection for CMOS device inputs can be cause of malfunction. If no connection is provided to the input pins, it is possible that an internal input level may be generated due to noise, etc., hence causing malfunction. CMOS devices behave differently than Bipolar or NMOS devices. Input levels of CMOS devices must be fixed high or low by using a pull-up or pull-down circuitry. Each unused pin should be connected to V DD or GND with a resistor, if it is considered to have a possibility of being an output pin. All handling related to the unused pins must be judged device by device and related specifications governing the devices. 3 STATUS BEFORE INITIALIZATION OF MOS DEVICES Note: Power-on does not necessarily define initial status of MOS device. Production process of MOS does not define the initial operation status of the device. Immediately after the power source is turned ON, the devices with reset function have not yet been initialized. Hence, power-on does not guarantee out-pin levels, I/O settings or contents of registers. Device is not initialized until the reset signal is received. Reset operation must be executed immediately after power-on for devices having reset function. 82 Data Sheet U12643EJ2V0DS00 µPD17225, 17226, 17227, 17228 Regional Information Some information contained in this document may vary from country to country. Before using any NEC product in your application, please contact the NEC office in your country to obtain a list of authorized representatives and distributors. They will verify: • Device availability • Ordering information • Product release schedule • Availability of related technical literature • Development environment specifications (for example, specifications for third-party tools and components, host computers, power plugs, AC supply voltages, and so forth) • Network requirements In addition, trademarks, registered trademarks, export restrictions, and other legal issues may also vary from country to country. NEC Electronics Inc. (U.S.) NEC Electronics (Germany) GmbH NEC Electronics Hong Kong Ltd. Santa Clara, California Tel: 408-588-6000 800-366-9782 Fax: 408-588-6130 800-729-9288 Benelux Office Eindhoven, The Netherlands Tel: 040-2445845 Fax: 040-2444580 Hong Kong Tel: 2886-9318 Fax: 2886-9022/9044 NEC Electronics Hong Kong Ltd. Velizy-Villacoublay, France Tel: 01-30-67 58 00 Fax: 01-30-67 58 99 Seoul Branch Seoul, Korea Tel: 02-528-0303 Fax: 02-528-4411 NEC Electronics (France) S.A. NEC Electronics Singapore Pte. Ltd. Milton Keynes, UK Tel: 01908-691-133 Fax: 01908-670-290 Spain Office Madrid, Spain Tel: 91-504-2787 Fax: 91-504-2860 United Square, Singapore 1130 Tel: 65-253-8311 Fax: 65-250-3583 NEC Electronics Italiana s.r.l. NEC Electronics (Germany) GmbH Milano, Italy Tel: 02-66 75 41 Fax: 02-66 75 42 99 Scandinavia Office Taeby, Sweden Tel: 08-63 80 820 Fax: 08-63 80 388 NEC Electronics (France) S.A. NEC Electronics (Germany) GmbH Duesseldorf, Germany Tel: 0211-65 03 02 Fax: 0211-65 03 490 NEC Electronics (UK) Ltd. NEC Electronics Taiwan Ltd. Taipei, Taiwan Tel: 02-2719-2377 Fax: 02-2719-5951 NEC do Brasil S.A. Electron Devices Division Rodovia Presidente Dutra, Km 214 07210-902-Guarulhos-SP Brasil Tel: 55-11-6465-6810 Fax: 55-11-6465-6829 J99.1 Data Sheet U12643EJ2V0DS00 83 µPD17225, 17226, 17227, 17228 emlC-17K and SIMPLEHOST are trademarks of NEC Corporation. Windows is either a registered trademark or a trademark of Microsoft Corporation in the United States and/or other countries. PC/AT is a trademark of IBM Corporation. The export of this product from Japan is prohibited without governmental license. To export or re-export this product from a country other than Japan may also be prohibited without a license from that country. Please call an NEC sales representative. • The information in this document is subject to change without notice. Before using this document, please confirm that this is the latest version. • No part of this document may be copied or reproduced in any form or by any means without the prior written consent of NEC Corporation. NEC Corporation assumes no responsibility for any errors which may appear in this document. • NEC Corporation does not assume any liability for infringement of patents, copyrights or other intellectual property rights of third parties by or arising from use of a device described herein or any other liability arising from use of such device. No license, either express, implied or otherwise, is granted under any patents, copyrights or other intellectual property rights of NEC Corporation or others. • Descriptions of circuits, software, and other related information in this document are provided for illustrative purposes in semiconductor product operation and application examples. The incorporation of these circuits, software, and information in the design of the customer's equipment shall be done under the full responsibility of the customer. NEC Corporation assumes no responsibility for any losses incurred by the customer or third parties arising from the use of these circuits, software, and information. • While NEC Corporation has been making continuous effort to enhance the reliability of its semiconductor devices, the possibility of defects cannot be eliminated entirely. To minimize risks of damage or injury to persons or property arising from a defect in an NEC semiconductor device, customers must incorporate sufficient safety measures in its design, such as redundancy, fire-containment, and anti-failure features. • NEC devices are classified into the following three quality grades: "Standard", "Special", and "Specific". The Specific quality grade applies only to devices developed based on a customer designated “quality assurance program“ for a specific application. The recommended applications of a device depend on its quality grade, as indicated below. Customers must check the quality grade of each device before using it in a particular application. Standard: Computers, office equipment, communications equipment, test and measurement equipment, audio and visual equipment, home electronic appliances, machine tools, personal electronic equipment and industrial robots Special: Transportation equipment (automobiles, trains, ships, etc.), traffic control systems, anti-disaster systems, anti-crime systems, safety equipment and medical equipment (not specifically designed for life support) Specific: Aircraft, aerospace equipment, submersible repeaters, nuclear reactor control systems, life support systems or medical equipment for life support, etc. The quality grade of NEC devices is "Standard" unless otherwise specified in NEC's Data Sheets or Data Books. If customers intend to use NEC devices for applications other than those specified for Standard quality grade, they should contact an NEC sales representative in advance. M7 98.8