HD404459 Series Rev. 6.0 Sept. 1998 Description The HD404459 Series is a member of the 4-bit HMCS400-series microcomputers with large-capacity memory and architecture providing high program productivity. Each microcomputer has a 32-kHz oscillator for clock, low-voltage (1.8 V) operating mode, and four low-power dissipation modes. The HD404459 Series includes three chips: the HD404458 with an 8-kword ROM; the HD404459 with a 16-kword ROM; and the HD4074459 with a 16-kword PROM (ZTATTM version). The HD4074459 is a PROM version (ZTATTM microcomputer). A program can be written to the PROM by a PROM writer, thus dramatically shortening system development periods and turnaround time (ZTAT TM versions are 27256-compatible). ZTAT TM: Zero Turn Around Time ZTAT is a trademark of Hitachi, Ltd. Features • 8,192-word × 10-bit ROM (HD404458) 16,384-word × 10-bit ROM (HD404459 and HD4074459) • 512-digit × 4-bit RAM (HD404458) 768-digit × 4-bit RAM (HD404459 and HD4074459) • 56 I/O pins, including seven input pins • Four timer/counters • 1-channel × 8-bit input capture circuit • Three timer outputs (including two PWM outputs) • Two event counter inputs (including one double-edge function) • 8-bit clock-synchronous serial interface • Eight wakeup inputs • Four-channel voltage comparator (external or internal reference power supply can be selected) • Built-in oscillators Main clock: 4-MHz ceramic or crystal oscillator (an external clock is also possible) Subclock: 32.768-kHz crystal Powered by ICminer.com Electronic-Library Service CopyRight 2003 HD404459 Series • Ten interrupt sources Five by external sources, including two double-edge function Five by internal sources • Subroutine stack up to 16 levels, including interrupts • Four low-power dissipation modes (transition time shortened) Stop mode Standby mode Watch mode Subactive mode (optional) • One external input for transition from stop mode to active mode • Instruction cycle time For HD404458/HD404459: 1, 2, 4, 8 µs (fOSC = 4 MHz; 1/4, 1/8, 1/16, 1/32 division ratio) For HD4074459: 1, 2, 4, 8 µs (fOSC = 4 MHz; 1/4, 1/8, 1/16, 1/32 division ratio; power voltage of 2.7 V or higher) 2, 4, 8, 16 µs (fOSC = 2 MHz; 1/4, 1/8, 1/16, 1/32 division ratio; power voltage of 2.2 V or higher) • Two general operating conditions MCU or PROM mode for HD4074459 MCU mode only for HD404458/HD404459 Ordering Information Type Product Name Model Name ROM (Words) RAM (Digits) Package Mask ROM HD404458 HD404458H 8,192 512 64-pin plastic QFP (FP-64A) HD404459 HD404459H 16,384 768 64-pin plastic QFP (FP-64A) HD4074459 HD4074459H 16,384 768 64-pin plastic QFP (FP-64A) ZTATTM 2 Powered by ICminer.com Electronic-Library Service CopyRight 2003 HD404459 Series 49 50 51 52 53 54 55 56 57 58 59 60 61 62 1 48 2 47 3 46 4 45 5 44 6 43 7 42 8 41 FP-64A 9 40 32 31 30 29 28 27 R53 (WU3) R52 (WU2) R51 (WU1) R50 (WU0) R43/SO R42/SI R41/SCK R40/EVND R33/EVNB R32/TOD R31/TOC R30/TOB R23 R22 R21 R20 D5 D6 D7 D8 D9 D10 D11/STOPC VCC R00/INT0 R01/INT1 R02/INT2 R03/INT3 R10 R11 R12 R13 26 33 25 34 16 24 35 15 23 14 22 36 21 37 13 20 38 12 19 39 11 18 10 17 RA0/COMP0 RA1/COMP1 RA2/COMP2 RA3/COMP3 TEST OSC1 OSC2 GND X2 X1 RESET D0 D1 D2 D3 D4 63 64 R93/VCref R92 R91 R90 R83 R82 R81 R80 R73 R72 R71 R70 R63 (WU7) R62 (WU6) R61 (WU5) R60 (WU4) Pin Arrangement 3 Powered by ICminer.com Electronic-Library Service CopyRight 2003 HD404459 Series Pin Description Pin Number Item Symbol Power supply VCC FP-64A I/O Function 24 Power voltage GND 8 Ground Test TEST 5 I Used for factory testing only: Connect this pin to V CC Reset RESET 11 I Resets the MCU Oscillator OSC 1 6 I Input/output pins for the internal oscillator circuit: Connect them to a ceramic, crystal, or connect only OSC 1 to an external oscillator circuit OSC 2 7 O X1 10 I X2 9 O D0–D 9 12–21 I/O Input/output pins addressable by individual bits D10, D11 22, 23 I Input pins addressable by individual bits R0 0–R9 3 25–64 I/O Input/output pins addressable in 4-bit units. The R93 port is an input-only pin. RA 0–RA 3 1–4 I Input pins addressable in 4-bit units INT0, INT1, 25–28, 45–52 I Input pins for external interrupts Ports Interrupts Used for a 32.768-kHz crystal for clock purposes. If not to be used, fix the X1 pin to V CC and leave the X2 pin open. INT2, INT3, WU0–WU7 Stop clear STOPC 23 I Input pin for transition from stop mode to active mode Serial interface SCK 42 I/O Serial clock input/output pin SI 43 I Serial receive data input pin SO 44 O Serial transmit data output pin TOB, TOC, 37–39 O Timer output pins 40, 41 I Event count input pins 1–4 I Analog input pins for voltage comparator 64 I Standard voltage pin for inputting the threshold voltage of analog input pins Timers TOD EVNB, EVND Voltage comparator COMP0 – COMP3 VC ref 4 Powered by ICminer.com Electronic-Library Service CopyRight 2003 HD404459 Series RESET TEST STOPC OSC 1 OSC 2 X1 X2 VCC GND Block Diagram System control External interrupt W (2 bits) Timer A TOC Timer C EVND TOD Timer D SI SO SCK Serial interface VCref COMP0 COMP1 COMP2 COMP3 Comparator SPX (4 bits) Y (4 bits) Internal address bus Timer B X (4 bits) Internal data bus EVNB TOB D port RAM (512 × 4 bits) (768 × 4 bits) SPY (4 bits) ALU CPU ST CA (1 bit) (1 bit) A (4 bits) B (4 bits) SP (10 bits) Instruction decoder PC (14 bits) RA port R9 port R8 port R7 port R6 port R5 port R4 port R3 port R2 port R1 port R0 port INT 0 INT 1 INT 2 INT 3 WU0 to WU7 D0 D1 D2 D3 D4 D5 D6 D7 D8 D9 D 10 D 11 R0 0 R0 1 R0 2 R0 3 R1 0 R1 1 R1 2 R1 3 R2 0 R2 1 R2 2 R2 3 R3 0 R3 1 R3 2 R3 3 R4 0 R4 1 R4 2 R4 3 R5 0 R5 1 R5 2 R5 3 R6 0 R6 1 R6 2 R6 3 R7 0 R7 1 R7 2 R7 3 R8 0 R8 1 R8 2 R8 3 R9 0 R9 1 R9 2 R9 3 RA 0 RA 1 RA 2 RA 3 ROM (8,192 × 10 bits) (16,384 × 10 bits) 5 Powered by ICminer.com Electronic-Library Service CopyRight 2003 HD404459 Series Memory Map ROM Memory Map See the ROM memory map of figure 1. Vector Address Area ($0000–$000F): Reserved for JMPL instructions that branch to the start addresses of the reset and interrupt routines. After MCU reset or an interrupt, program execution continues from the vector address. Zero-Page Subroutine Area ($0000–$003F): Reserved for subroutines. The program branches to a subroutine in this area in response to the CAL instruction. Pattern Area ($0000–$0FFF): Contains ROM data that can be referenced with the P instruction. Program Area ($0000–$1FFF for HD404458, $0000–$3FFF for HD404459/HD4074459): Used for program coding. $0000 $0000 Vector address JMPL instruction $0001 (jump to RESET, STOPC routine) $0002 $000F $0010 $0003 $0004 Zero-page subroutine (64 words) $003F $0040 $0005 $0006 $0007 $0008 Pattern (4,096 words) $0009 $000A $000B $0FFF $1000 $000C $000D HD404458 program (8,192 words) $000E $000F $1FFF $2000 HD404459, HD4074459 program (16,384 words) $3FFF Figure 1 ROM Memory Map 6 Powered by ICminer.com Electronic-Library Service CopyRight 2003 JMPL instruction (jump to INT0 routine) JMPL instruction (jump to INT1 routine) JMPL instruction (jump to timer D routine) JMPL instruction (jump to timer A, INT2 routine) JMPL instruction (jump to timer B, INT3 routine) JMPL instruction (jump to timer C, serial routine) JMPL instruction (jump to wakeup routine) HD404459 Series RAM Memory Map The HD404458 MCU contains a 512-digit × 4-bit RAM area. The HD404459 and HD4074459 MCUs contain 768-digit × 4-bit RAM areas. Both of these RAM areas consist of a memory register area, a data area, and a stack area. In addition, an interrupt control bits area, special register area, and register flag area are mapped onto the same RAM memory space labeled as the RAM-mapped register area. See the RAM memory map of figure 2. RAM-Mapped Register Area ($000–$03F): • Interrupt control bits area ($000–$003) This area is used for interrupt control bits (figure 3). These bits can be accessed only by RAM bit manipulation instructions (SEM/SEMD, REM/REMD, and TM/TMD). However, note that not all the instructions can be used for each bit. For limitations on using the instructions, refer to figure 4. • Special function register area ($004–$01F, $024–$03F) This area is used as mode registers and data registers for external interrupts, serial interface, timer/counters, and as data control registers for I/O ports. See figures 2 and 5. These registers can be classified into three types: write-only (W), read-only (R), and read/write (R/W). RAM bit manipulation instructions cannot be used for these registers. • Register flag area ($020–$023) This area is used for the DTON, WDON, and other register flags and interrupt control bits (figure 3). These bits can be accessed only by RAM bit manipulation instructions (SEM/SEMD, REM/REMD, and TM/TMD). However, note that not all the instructions can be used for each bit. For limitations on using the instructions, refer to figure 4. Memory Register (MR) Area ($040–$04F): Consisting of 16 addresses, this area (MR0–MR15) can be accessed by register-register instructions (LAMR and XMRA). See figure 6. Data Area ($050–$1FF for HD404458, $050–$2FF for HD404459/HD4074459) Stack Area ($3C0–$3FF): Used for saving the contents of the program counter (PC), status flag (ST), and carry flag (CA) at subroutine call (CAL or CALL instruction) and for interrupts. This area can be used as a 16-level nesting subroutine stack in which one level requires four digits. See figure 6 for the data to be saved and the save conditions. The program counter is restored by either the RTN or RTNI instruction, but the status and carry flags can only be restored by the RTNI instruction. Any unused space in this area can be used for data storage. 7 Powered by ICminer.com Electronic-Library Service CopyRight 2003 HD404459 Series 0 $000 RAM-mapped register 64 Memory register (MR) $040 $050 80 HD404458 Data (432 digits) 512 $200 HD404459, HD4074459 Data (688 digits) 768 $300 Not used 960 $3C0 Stack (64 digits) 1023 $3FF Note: * Two registers are mapped onto the same address ($00A, $00B, $00E, $00F, $011, and $012). R: Read only W: Write only R/W: Read/write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 Interrupt control bits area (PMRA) (SMRA) (SRL) (SRU) (TMA) (TMB1) (TRBL/TWBL) Timer B (TRBU/TWBU) (MIS) Miscellaneous register (TMC1) Timer mode register C1 (TRCL/TWCL) Timer C (TRCU/TWCU) (TMD1) Timer mode register D1 (TRDL/TWDL) Timer D (TRDU/TWDU) (TMB2) Timer mode register B2 (TMC2) Timer mode register C2 (TMD2) Timer mode register D2 (CCR) Comparator control register (CER) Comparator enable register (WSR) Wakeup select register Port mode register A Serial mode register A Serial data register lower Serial data register upper Timer mode register A Timer mode register B1 W W R/W R/W W W R/W R/W W W R/W R/W W R/W R/W R/W R/W R/W W R/W R Not used Register flag area Port mode register B Port mode register C Detection edge select register 1 Detection edge select register 2 Serial mode register B System clock select register 1 System clock select register 2 Not used Port D0 to D3 DCR Port D4 to D7 DCR Port D8 to D9 DCR Not used Port R0 DCR Port R1 DCR Port R2 DCR Port R3 DCR Port R4 DCR Port R5 DCR Port R6 DCR Port R7 DCR Port R8 DCR Port R9 DCR (PMRB) (PMRC) (ESR1) (ESR2) (SMRB) (SSR1) (SSR2) W W W W W W W (DCD0) (DCD1) (DCD2) W W W (DCR0) (DCR1) (DCR2) (DCR3) (DCR4) (DCR5) (DCR6) (DCR7) (DCR8) (DCR9) W W W W W W W W W W Not used $000 $001 $002 $003 $004 $005 $006 $007 $008 $009 $00A $00B $00C $00D $00E $00F $010 $011 $012 $013 $014 $015 $016 $017 $018 $019 $01A $01B $01C $01D $01E $01F $020 $021 $022 $023 $024 $025 $026 $027 $028 $029 $02A $02B $02C $02D $02E $02F $030 $031 $032 $033 $034 $035 $036 $037 $038 $039 $03A $03B $03C $03D $03E $03F 10 Timer read register B lower (TRBL) 11 Timer read register B upper (TRBU) R R Timer write register B lower (TWBL) Timer write register B upper (TWBU) W W $00A $00B 14 Timer read register C lower (TRCL) 15 Timer read register C upper (TRCU) R R Timer write register C lower (TWCL) Timer write register C upper (TWCU) W W $00E $00F 17 Timer read register D lower (TRDL) 18 Timer read register D upper (TRDU) R R Timer write register D lower (TWDL) Timer write register D upper (TWDU) W W $011 $012 Figure 2 RAM Memory Map 8 Powered by ICminer.com Electronic-Library Service CopyRight 2003 * HD404459 Series Interrupt control bits area Bit 3 Bit 2 Bit 1 Bit 0 0 IM0 (IM of INT0) IF0 (IF of INT0) RSP (Reset SP bit) IE (Interrupt enable flag) $000 1 IMTD (IM of timer D) IFTD (IF of timer D) IM1 (IM of INT1) IF1 (IF of INT1) $001 2 IMTB (IM of timer B) IFTB (IF of timer B) IMTA (IM of timer A) IFTA (IF of timer A) $002 3 IMWU (IM of wakeup) IFWU (IF of wakeup) IMTC (IM of timer C) IFTC (IF of timer C) $003 Register flag area Bit 3 Bit 2 Bit 1 Bit 0 32 DTON (Direct transfer on flag) CMSF (Comparator start flag) WDON (Watchdog on flag) LSON (Low speed on flag) $020 33 RAME (RAM enable flag) Not used ICEF (Input capture error flag) ICSF (Input capture status flag) $021 34 IM3 (IM of INT3) IF3 (IF of INT3) IM2 (IM of INT2) IF2 (IF of INT2) $022 35 Not used Not used IMS (IM of serial) IFS (IF of serial) $023 IF: Interrupt request flag IM: Interrupt mask SP: Stack pointer Figure 3 Configuration of Interrupt Control Bits and Register Flag Areas IE IM LSON IF ICSF ICEF RAME RSP WDON CMSF DTON Not used SEM/SEMD REM/REMD TM/TMD Allowed Allowed Allowed Not executed Allowed Allowed Not executed Allowed Allowed Not executed in active mode Used in subactive mode Not executed Allowed Not executed Inhibited Inhibited Inhibited Allowed Allowed Allowed Not executed Inhibited Note: WDON is reset by MCU reset or by STOPC enable for stop mode cancellation. The REM or REMD instuction must not be executed for CMSF during comparator operation. DTON is always reset in active mode. If the TM or TMD instruction is executed for the inhibited bits or non-existing bits, the value in ST becomes undefined. Figure 4 Usage Limitations of RAM Bit Manipulation Instructions 9 Powered by ICminer.com Electronic-Library Service CopyRight 2003 HD404459 Series Bit 3 Bit 2 Bit 1 Bit 0 $000 Interrupt control bits area $003 PMRA $004 SMRA $005 SRL $006 Not used Timer-A/timer-base Auto-reload on/off Serial data register (upper digit) Clock source selection (timer A) Clock source selection (timer B) TRBL/TWBL $00A TRBU/TWBU $00B MIS $00C TMC1 $00D TRCL/TWCL$00E R4 3 /SO Serial data register (lower digit) SRU $007 TMA $008 TMB1 $009 R42/SI Serial transmit clock speed selection Not used R41/SCK Timer B register (lower digit) Timer B register (upper digit) Pull-up MOS control SO PMOS control Auto-reload on/off Interrupt frame period selection Clock source selection (timer C) Timer C register (lower digit) TRCU/TWCU $00F TMD1 $010 Auto-reload on/off TRDL/TWDL $011 TRDU/TWDU $012 TMB2 $013 TMC2 $014 TMD2 $015 Not used Not used Input capture selection Timer C register (upper digit) CCR $016 CER $017 Voltage comparison result WSR $018 WU7 enable Clock source selection (timer D) Timer D register (lower digit) Timer D register (upper digit) Timer B output mode selection Not used Timer C output mode selection Timer D output mode selection Internal reference voltage level selection Reference power supply selection COMP0 to COMP3 selection WU6 enable WU5 to WU4 enable WU3 to WU0 enable Not used $020 Register flag area $023 PMRB $024 PMRC $025 ESR1 $026 ESR2 $027 SMRB $028 SSR1 $029 SSR2 $02A R03 /INT 3 R02 /INT 2 R01 /INT 1 Not used D11 /STOPC INT 3 detection edge selection EVND detection edge selection Not used 32-kHz oscillation stop Not used R00 /INT 0 R40 /EVND R33 /EVNB INT 2 detection edge selection Not used Not used Not used SO output level control in idle states Serial clock source selection Not used 32-kHz oscillation division ratio selection 32-kHz oscillation sampling selection OSC division ratio selection Not used Not used DCD0 $02C DCD1 $02D DCD2 $02E Port D3 DCR Port D7 DCR Port D2 DCR Port D6 DCR Not used Not used DCR0 $030 DCR1 $031 DCR2 $032 DCR3 $033 DCR4 $034 DCR5 $035 DCR6 $036 DCR7 $037 DCR8 $038 DCR9 $039 Port R0 3 DCR Port R1 3 DCR Port D1 DCR Port D5 DCR Port D9 DCR Port D0 DCR Port D4 DCR Port D8 DCR Port R0 2 DCR Port R1 2 DCR Port R2 2 DCR Port R0 1 DCR Port R1 1 DCR Port R2 1 DCR Port R0 0 DCR Port R1 0 DCR Port R2 0 DCR Port R3 2 DCR Port R4 2 DCR Port R3 1 DCR Port R4 1 DCR Port R3 0 DCR Port R4 0 DCR Port R5 2 DCR Port R6 2 DCR Port R7 2 DCR Port R8 2 DCR Port R5 1 DCR Port R6 1 DCR Port R7 1 DCR Port R8 1 DCR Port R5 0 DCR Port R6 0 DCR Port R7 0 DCR Port R8 0 DCR Port R9 2 DCR Port R9 1 DCR Port R9 0 DCR Not used Port R2 3 DCR Port R3 3 DCR Port R4 3 DCR Port R5 3 DCR Port R6 3 DCR Port R7 3 DCR Port R8 3 DCR Not used Not used $03F Figure 5 Special Function Register Area 10 Powered by ICminer.com Electronic-Library Service CopyRight 2003 HD404459 Series Memory registers MR(0) $040 64 MR(1) $041 65 MR(2) $042 66 MR(3) $043 67 MR(4) $044 68 MR(5) $045 69 MR(6) $046 70 MR(7) $047 71 MR(8) $048 72 MR(9) $049 73 MR(10) $04A 74 MR(11) $04B 75 MR(12) $04C 76 MR(13) $04D 77 MR(14) $04E 78 MR(15) $04F 79 Stack area Level 16 Level 15 Level 14 Level 13 Level 12 Level 11 Level 10 Level 9 Level 8 Level 7 Level 6 Level 5 Level 4 Level 3 Level 2 1023 Level 1 960 $3C0 $3FF Bit 3 Bit 2 Bit 1 Bit 0 1020 ST PC13 PC 12 PC11 $3FC 1021 PC 10 PC9 PC 8 PC7 $3FD 1022 CA PC6 PC 5 PC4 $3FE 1023 PC 3 PC2 PC 1 PC0 $3FF PC13 –PC0 : Program counter ST: Status flag CA: Carry flag Figure 6 Configuration of Memory Registers, Stack Area, and Stack Position 11 Powered by ICminer.com Electronic-Library Service CopyRight 2003 HD404459 Series Functional Description Registers and Flags The MCU has nine registers and two flags for CPU operations (figure 7). 3 Accumulator 0 (A) Initial value: Undefined, R/W 3 B register Initial value: Undefined, R/W W register Initial value: Undefined, R/W 0 (B) 1 0 (W) 3 X register Initial value: Undefined, R/W 0 (X) 3 Y register 0 (Y) Initial value: Undefined, R/W 3 SPX register Initial value: Undefined, R/W SPY register Initial value: Undefined, R/W Carry Initial value: Undefined, R/W Status Initial value: 1, no R/W 0 (SPX) 3 0 (SPY) 0 (CA) 0 (ST) 13 Program counter Initial value: 0, no R/W 0 (PC) 9 Stack pointer Initial value: $3FF, no R/W 1 5 1 1 1 0 (SP) Figure 7 Registers and Flags Accumulator (A), B Register (B): Four-bit registers used to hold the results from the arithmetic logic unit (ALU) and transfer data between memory, I/O, and other registers. W Register (W), X Register (X), Y Register (Y): Two-bit (W) and four-bit (X and Y) registers used for indirect RAM addressing. The Y register is also used for D-port addressing. 12 Powered by ICminer.com Electronic-Library Service CopyRight 2003 HD404459 Series SPX Register (SPX), SPY Register (SPY): Four-bit registers used to supplement the X and Y registers. Carry Flag (CA): One-bit flag that stores any ALU overflow generated by an arithmetic operation. CA is affected by the SEC, REC, ROTL, and ROTR instructions. A carry is pushed onto the stack during an interrupt and popped from the stack by the RTNI instruction—but not by the RTN instruction. Status Flag (ST): One-bit flag that latches any overflow generated by an arithmetic or compare instruction, not-zero decision from the ALU, or result of a bit test. ST is used as a branch condition of the BR, BRL, CAL, and CALL instructions. The contents of ST remain unchanged until the next arithmetic, compare, or bit test instruction is executed, but become 1 after the BR, BRL, CAL, or CALL instruction is read, regardless of whether the instruction is executed or skipped. The contents of ST are pushed onto the stack during an interrupt and popped from the stack by the RTNI instruction—but not by the RTN instruction. Program Counter (PC): 14-bit binary counter that points to the ROM address of the instruction being executed. Stack Pointer (SP): Ten-bit pointer that contains the address of the stack area to be used next. The SP is initialized to $3FF by MCU reset. It is decremented by 4 when data is pushed onto the stack, and incremented by 4 when data is popped from the stack. The top four bits of the SP are fixed at 1111, so a stack can be used up to 16 levels. The SP can be initialized to $3FF also by resetting the RSP bit with the REM or REMD instruction. Reset The MCU is reset by inputting a high-level voltage to the RESET pin. At power-on or when stop mode is cancelled, RESET must be high for at least one tRC to enable the oscillator to stabilize. During operation, RESET must be high for at least two instruction cycles. See table 1 for initial values after MCU reset. Interrupts The MCU has 10 interrupt sources: four external signals (INT0 , INT1, INT2, INT 3), four timer/counters (timers A, B, C, and D), serial interface, and wakeup. An interrupt request flag (IF), interrupt mask (IM), and vector address are provided for each interrupt source, and an interrupt enable flag (IE) controls the entire interrupt process. Some vector addresses are shared by two different interrupts. They are timer A and INT2, timer B and INT3, timer C and serial interface. So the type of request that has occurred must be checked at the beginning of interrupt processing. Interrupt Control Bits and Interrupt Processing: Locations $000 to $003 and $022 to $023 in RAM are reserved for the interrupt control bits which can be accessed by RAM bit manipulation instructions. The interrupt request flag (IF) cannot be set by software. MCU reset initializes the interrupt enable flag (IE) and the IF to 0 and the interrupt mask (IM) to 1. 13 Powered by ICminer.com Electronic-Library Service CopyRight 2003 HD404459 Series Refer to figure 8 for the block diagram of the interrupt control circuit, table 2 for interrupt priorities and vector addresses, and table 3 for interrupt processing conditions for the 10 interrupt sources. An interrupt request occurs when the IF is set to 1 and the IM is set to 0. If the IE is 1 at that point, the interrupt is processed. A priority programmable logic array (PLA) generates the vector address assigned to that interrupt source. For the interrupt processing sequence, see figure 9, and figure 10 for an interrupt processing flowchart. After an interrupt is acknowledged, the previous instruction is completed in the first cycle. The IE is reset in the second cycle, the carry, status, and program counter values are pushed onto the stack during the second and third cycles, and the program jumps to the vector address to execute the instruction in the third cycle. Program the JMPL instruction at each vector address, to branch the program to the start address of the interrupt program, and reset the IF by a software instruction within the interrupt program. 14 Powered by ICminer.com Electronic-Library Service CopyRight 2003 HD404459 Series Table 1 Initial Values After MCU Reset Item Abbr. Initial Value Program counter (PC) $0000 Indicates program execution point from start address of ROM area Status flag (ST) 1 Enables conditional branching Stack pointer (SP) $3FF Stack level 0 Interrupt Interrupt enable flag flags/mask (IE) 0 Inhibits all interrupts Interrupt request flag (IF) 0 Indicates there is no interrupt request Interrupt mask (IM) 1 Prevents (masks) interrupt requests Port data register (PDR) All bits 1 Enables output at level 1 Data control register (DCD0, DCD1) All bits 0 Turns output buffer off (to high impedance) (DCD2) - - 00 (DCR0– DCR8) All bits 0 (DCR9) - 000 Port mode register A (PMRA) - - 00 Refer to description of port mode register A Port mode register B (PMRB) 0000 Refer to description of port mode register B Port mode register C bits (PMRC2, - 000 2, 1, 0 PMRC1, PMRC0) Refer to description of port mode register C Detection edge select register 1 (ESR1) 0000 Disables edge detection Detection edge select register 2 (ESR2) 00 - - Disables edge detection Timer mode register A (TMA) 0000 Refer to description of timer mode register A Timer mode register B1 (TMB1) 0000 Refer to description of timer mode register B1 Timer mode register B2 (TMB2) - - 00 Refer to description of timer mode register B2 Timer mode register C1 (TMC1) 0000 Refer to description of timer mode register C1 Timer mode register C2 (TMC2) - 000 Refer to description of timer mode register C2 Timer mode register D1 (TMD1) 0000 Refer to description of timer mode register D1 Timer mode register D2 (TMD2) 0000 Refer to description of timer mode register D2 Serial mode register A (SMRA) 0000 Refer to description of serial mode register A Serial mode register B (SMRB) - - 00 Refer to description of serial mode register B I/O Timers/ counters, serial interface Contents 15 Powered by ICminer.com Electronic-Library Service CopyRight 2003 HD404459 Series Abbr. Initial Value Contents Prescaler S (PSS) $000 — Prescaler W (PSW) $00 — Timer counter A (TCA) $00 — Timer counter B (TCB) $00 — Timer counter C (TCC) $00 — Timer counter D (TCD) $00 — Timer write register B (TWBU, TWBL) $X0 — Timer write register C (TWCU, TWCL) $X0 — Timer write register D (TWDU, TWDL) $X0 — 000 — (WSR) 0000 — Voltage Comparator enable comparator register (CER) 0000 — Comparator control register (CCR) 0000 — (LSON) 0 Refer to description of operating modes Item Timers/ counters, serial interface Octal counter I/O Wakeup set register Bit register Low speed on flag Others Watchdog timer on flag (WDON) 0 Refer to description of timer C Comparator start flag (CMSF) 0 Refer to description of voltage comparator Direct transfer on flag (DTON) 0 Refer to description of operating modes Input capture status flag (ICSF) 0 Refer to description of timer D Input capture error flag (ICEF) 0 Refer to description of timer D Miscellaneous register (MIS) 0000 Refer to description of operating modes, and oscillator circuit System clock select register 1 bits 2, 1 (SSR12– 00 SSR11) Refer to description of operating modes, and oscillator circuit System clock select register 2 (SSR2) Switches OSC division ratio - - 00 Notes: 1. The statuses of other registers and flags after MCU reset are shown in the following table. 2. X indicates invalid value. - indicates that the bit does not exist. 16 Powered by ICminer.com Electronic-Library Service CopyRight 2003 HD404459 Series Item Abbr. Carry flag (CA) Accumulator (A) B register (B) W register (W) X/SPX register (X/SPX) Y/SPY register (Y/SPY) Serial data register (SRL, SRU) RAM Status After Status After Cancellation of Stop Status After all Other Cancellation of Stop Mode by STOPC Input Mode by MCU Reset Types of Reset Pre-stop-mode values are not guaranteed; values must be initialized by program Pre-MCU-reset values are not guaranteed; values must be initialized by program Pre-stop-mode values are retained RAM enable flag (RAME) 1 0 0 Port mode register C bit 2 (PMRC) Pre-stop-mode values are retained 0 0 System clock select (SSR13) register1 bit 3 Table 2 Vector Addresses and Interrupt Priorities Reset/Interrupt Priority Vector Address RESET, STOPC* — $0000 INT0 1 $0002 INT1 2 $0004 Timer D 3 $0006 Timer A, INT2 4 $0008 Timer B, INT3 5 $000A Timer C, Serial 6 $000C Wakeup 7 $000E Note: * The STOPC interrupt request is valid only in stop mode. 17 Powered by ICminer.com Electronic-Library Service CopyRight 2003 HD404459 Series $000,0 Sequence control • Push PC/CA/ST • Reset IE • Jump to vector address IE $000,2 INT0 interrupt IF0 $000,3 Vector address IM0 Priority control PLA $001,0 INT1 interrupt IF1 $001,1 IM1 $001,2 Timer D interrupt IFTD $001,3 IMTD Timer A interrupt Timer B interrupt Timer C interrupt $002,0 $022,0 IFTA IF2 $002,1 $022,1 IMTA IM2 $002,2 $022,2 IFTB IF3 $002,3 $022,3 IMTB IM3 $003,0 $023,0 IFTC IFS $003,1 $023,1 IMTC IMS $003,2 Wakeup interrupt IFWU $003,3 IMWU Figure 8 Interrupt Control Circuit 18 Powered by ICminer.com Electronic-Library Service CopyRight 2003 INT2 interrupt INT3 interrupt Serial interrupt HD404459 Series Table 3 Interrupt Processing and Activation Conditions Interrupt Source Interrupt Control Bit INT0 INT1 Timer D Timer A or Timer B or Timer C or INT3 Serial Wakeup INT2 IE 1 1 1 1 1 1 1 IF0 · IM0 1 0 0 0 0 0 0 IF1 · IM1 * 1 0 0 0 0 0 IFTD · IMTD * * 1 0 0 0 0 IFTA · IMTA * * * 1 0 0 0 * * * * 1 0 0 * * * * * 1 0 * * * * * * 1 + IF2 · IM2 IFTB · IMTB + IF3 · IM3 IFTC · IMTC + IFS · IMS IFWU · IMWU Note: Bits marked by * can be either 0 or 1. Their values have no effect on operation. Instruction cycles 1 2 3 4 5 6 Instruction execution* Interrupt acceptance Stacking IE reset Vector address generation Execution of JMPL instruction at vector address Note: * The stack is accessed and the IE reset after the instruction is executed, even if it is a two-cycle instruction. Execution of instruction at start address of interrupt routine Figure 9 Interrupt Processing Sequence 19 Powered by ICminer.com Electronic-Library Service CopyRight 2003 HD404459 Series Power on RESET = 1? No Yes Interrupt request? No Yes No IE = 1? Yes Reset MCU Execute instruction Interrupt accept PC ← (PC) + 1 IE ← 0 Stack ← (PC) Stack ← (CA) Stack ← (ST) PC ← $0002 Yes INT0 interrupt? No PC ← $0004 Yes INT1 interrupt? No PC ← $0006 Yes Timer D interrupt? No PC ← $0008 Yes Timer-A/INT2 interrupt? No PC ← $000A Yes Timer-B/INT 3 interrupt? No PC ← $000C Yes Timer-C/serial interrupt? No PC ← $000E Figure 10 Interrupt Processing Flowchart 20 Powered by ICminer.com Electronic-Library Service CopyRight 2003 (wakeup interrupt) HD404459 Series Interrupt Enable Flag (IE: $000, Bit 0): Controls the entire interrupt process. It is reset by the interrupt processing and set by the RTNI instruction. Refer to table 4. Table 4 Interrupt Enable Flag (IE: $000, Bit 0) IE Interrupt Enabled/Disabled 0 Disabled 1 Enabled External Interrupts (INT0 , INT1, INT2, INT3, WU0–WU7): Five external interrupt signals. External Interrupt Request Flags (IF0, IF1, IF2, IF3, IFWU: $000, $001, $003, $022): IF0, IF1, and IFWU are set at the falling edge of input signals, and IF2 and IF3 are set at the rising or falling edge or both rising and falling edges of input signals (table 5). INT 2 and INT3 interrupt edges are selected by the detection edge select register (ESR1: $026) (figure 11). Table 5 External Interrupt Request Flags (IF0–IF3, IFWU: $000, $001, $003, $022) IF0–IF3, IFWU Interrupt Request 0 No 1 Yes Detection edge selection register 1 (ESR1: $026) Bit 3 2 0 1 Initial value 0 0 0 0 Read/Write W W W W ESR13 ESR12 ESR11 ESR10 Bit name INT3 detection edge ESR13 ESR12 0 0 No detection 1 Falling-edge detection 0 Rising-edge detection 1 Double-edge detection* 1 INT2 detection edge ESR11 ESR10 0 0 No detection 1 Falling-edge detection 0 Rising-edge detection 1 Double-edge detection* 1 Note: * Both falling and rising edges are detected. Figure 11 Detection Edge Selection Register 1 (ESR1) 21 Powered by ICminer.com Electronic-Library Service CopyRight 2003 HD404459 Series External Interrupt Masks (IM0, IM1, IM2, IM3, IMWU: $000, $001, $003, $022): Prevent (mask) interrupt requests caused by the corresponding external interrupt request flags (table 6). Table 6 External Interrupt Masks (IM0–1M3, IMWU: $000, $001, $003, $022) IM0–IM3, IMWU Interrupt Request 0 Enabled 1 Disabled (masked) Timer A Interrupt Request Flag (IFTA: $002, Bit 0): Set by overflow output from timer A (table 7). Table 7 Timer A Interrupt Request Flag (IFTA: $002, Bit 0) IFTA Interrupt Request 0 No 1 Yes Timer A Interrupt Mask (IMTA: $002, Bit 1): Prevents (masks) an interrupt request caused by the timer A interrupt request flag (table 8). Table 8 Timer A Interrupt Mask (IMTA: $002, Bit 1) IMTA Interrupt Request 0 Enabled 1 Disabled (masked) Timer B Interrupt Request Flag (IFTB: $002, Bit 2): Set by overflow output from timer B (table 9). Table 9 Timer B Interrupt Request Flag (IFTB: $002, Bit 2) IFTB Interrupt Request 0 No 1 Yes Timer B Interrupt Mask (IMTB: $002, Bit 3): Prevents (masks) an interrupt request caused by the timer B interrupt request flag (table 10). Table 10 Timer B Interrupt Mask (IMTB: $002, Bit 3) IMTB Interrupt Request 0 Enabled 1 Disabled (masked) 22 Powered by ICminer.com Electronic-Library Service CopyRight 2003 HD404459 Series Timer C Interrupt Request Flag (IFTC: $003, Bit 0): Set by overflow output from timer C (table 11). Table 11 Timer C Interrupt Request Flag (IFTC: $003, Bit 0) IFTC Interrupt Request 0 No 1 Yes Timer C Interrupt Mask (IMTC: $003, Bit 1): Prevents (masks) an interrupt request caused by the timer C interrupt request flag (table 12). Table 12 Timer C Interrupt Mask (IMTC: $003, Bit 1) IMTC Interrupt Request 0 Enabled 1 Disabled (masked) Timer D Interrupt Request Flag (IFTD: $001, Bit 2): Set by overflow output from timer D, or by the rising or falling edge of signals input to EVND when the input capture function is used (table 13). Table 13 Timer D Interrupt Request Flag (IFTD: $001, Bit 2) IFTD Interrupt Request 0 No 1 Yes Timer D Interrupt Mask (IMTD: $001, Bit 3): Prevents (masks) an interrupt request caused by the timer D interrupt request flag (table 14). Table 14 Timer D Interrupt Mask (IMTD: $001, Bit 3) IMTD Interrupt Request 0 Enabled 1 Disabled (masked) 23 Powered by ICminer.com Electronic-Library Service CopyRight 2003 HD404459 Series Serial Interrupt Request Flags (IFS: $023, Bit 0): Set when data transfer is completed or when data transfer is suspended (table 15). Table 15 Serial Interrupt Request Flag (IFS: $023, Bit 0) IFS Interrupt Request 0 No 1 Yes Serial Interrupt Mask (IMS: $023, Bit 1): Prevents (masks) an interrupt request caused by the serial interrupt request flag (table 16). Table 16 Serial Interrupt Mask (IMS: $023, Bit 1) IMS Interrupt Request 0 Enabled 1 Disabled (masked) Wakeup Interrupt Request Flag (IFWU: $003, Bit 2): Set by the falling edge of signals input to wakeup (table 17). Table 17 Wakeup Interrupt Request Flag (IFWU: $003, Bit 2) IFWU Interrupt Request 0 No 1 Yes Wakeup Interrupt Mask (IMWU: $003, Bit 3): Prevents (masks) an interrupt request caused by the wakeup interrupt request flag (table 18). Table 18 Wakeup Interrupt Mask (IMWU: $003, Bit 3) IMWU Interrupt Request 0 Enabled 1 Disabled (masked) 24 Powered by ICminer.com Electronic-Library Service CopyRight 2003 HD404459 Series Wakeup Function: Detects the falling edge of wakeup input signals and sets the wakeup interrupt request flag (IFWU: $003, bit 2). Refer to figure 12 for a block diagram showing the wakeup interrupt. The wakeup select register (WSR: $018) can select from one to eight wakeup inputs (WU0–WU 7) (figure 13). The wakeup function can operate in any mode other than stop mode. When the wakeup interrupt is received, the CPU generates an independent vector address ($000E). Note: The wakeup select register (WSR: $018) controls whether the wakeup input is to be valid or invalid, but it can not switch the pin inputs between the R ports and wakeup. When using the pins only as R ports, nullify wakeup input or set the wakeup interrupt mask (IMWU: $003, bit 3). R50/WU0 R51/WU1 R52/WU2 R53/WU3 Falling-edge detection R60/WU4 Wakeup interrupt request flag R61/WU5 R62/WU6 R63/WU7 4 WSR (4 bits) Wakeup selection register 4 Internal bus Figure 12 Wakeup Interrupt 25 Powered by ICminer.com Electronic-Library Service CopyRight 2003 HD404459 Series Bit 3 2 1 0 Initial value 0 0 0 0 Read/Write Bit name W W W W WSR3 WSR2 WSR1 WSR0 WSR0 WU0 to WU3 control 0 Invalid 1 Valid WSR1 WU4 to WU5 control 0 Invalid 1 Valid WSR2 WU6 control 0 Invalid 1 Valid WSR3 WU7 control 0 Invalid 1 Valid Figure 13 Wakeup Select Register (WSR) 26 Powered by ICminer.com Electronic-Library Service CopyRight 2003 HD404459 Series Operating Modes The MCU has five operating modes (table 19). Refer to tables 20 and 21 for the operations in each mode, and figure 14 for the transitions between operating modes. Active Mode: All MCU functions operate according to the clock generated by the system oscillators OSC1 and OSC2. Table 19 Operating Modes and Clock Status Mode Name Active Standby Stop Watch Subactive* 2 SBY instruction STOP STOP Activation method RESET instruction when instruction when cancellation, TMA3 = 0 TMA3 = 1 interrupt request, STOPC cancellation in stop mode, STOP/SBY instruction in subactive mode (when direct transfer is selected) INT0, timer A or wakeup interrupt request from watch mode Status System oscillator OP OP Stopped Stopped Stopped Subsystem OP oscillator OP OP* 1 OP OP Cancellation method RESET input, STOP/SBY instruction RESET input, RESET input, RESET input, RESET input, interrupt request STOPC input in INT0, timer A or STOP/SBY stop mode wakeup interrupt instruction request Note: OP implies in operation 1. Operating or stopping the oscillator can be selected by setting bit 3 of the system clock select register (SSR1 : $029). 2. Subactive mode is an optional function; specify it on the function option list. 27 Powered by ICminer.com Electronic-Library Service CopyRight 2003 HD404459 Series Table 20 Operations in Low-Power Dissipation Modes Function Stop Mode Watch Mode Standby Mode Subactive Mode*2 CPU Reset Retained Retained OP RAM Retained Retained Retained OP Timer A Reset OP OP OP Timer B Reset Stopped OP OP Timer C Reset Stopped OP OP Timer D Reset Stopped OP OP OP OP Stopped OP Stopped Retained Retained OP SCI Reset Comparator Reset I/O Reset* Stopped* 1 3 Note: OP implies in operation 1. Output pins are at high impedance. 2. Subactive mode is an optional function to be specified on the function option list. 3. Transmission/reception is activated if a clock is input in external clock mode. However, all interrupts stop. Table 21 I/O Status in Low-Power Dissipation Modes Output Input Standby Mode, Watch Mode Stop Mode Active Mode, Subactive Mode D0–D 9 Retained High impedance Input enabled D10–D 11 — — Input enabled R0–R8 Retained or output of peripheral functions High impedance Input enabled — — Input enabled R9 0, R9 1, R9 2 R9 3, RA 28 Powered by ICminer.com Electronic-Library Service CopyRight 2003 HD404459 Series Reset by RESET input or by watchdog timer Stop mode (TMA3 = 0, SSR13 = 0) RAME = 0 RAME = 1 RESET1 PC O ST Active mode Standby mode STOPC RESET2 Oscillate Oscillate Stop fcyc fcyc SBY Interrupt fOSC: fX: ø CPU: ø CLK: ø PER: Stop Oscillate Stop Stop Stop P O ST fOSC: fX: ø CPU: ø CLK: ø PER: fOSC: fX: ø CPU: ø CLK: ø PER: Oscillate Oscillate fcyc fcyc fcyc (TMA3 = 0, SSR13 = 1) STOP fOSC: fX: ø CPU: ø CLK: ø PER: Stop Stop Stop Stop Stop (TMA3 = 0) Watch mode (TMA3 = 1) fOSC: fX: ø CPU: ø CLK: ø PER: Oscillate Oscillate Stop fW fcyc SBY Interrupt Main oscillation frequency Suboscillation frequency for time-base fOSC/4, fOSC/8, fOSC/16, fcyc: fOSC/32 (software selectable) fW: fX/8 fSUB: fX/8 or fX/4 (software selectable) ø CPU: System clock ø CLK: Clock for time-base ø PER: Clock for other peripheral functions LSON: Low speed on flag DTON: Direct transfer on flag fOSC: fX: fOSC: fX: ø CPU: ø CLK: ø PER: Oscillate Oscillate fcyc fW fcyc STOP INT0, WU0 to WU7, timer A*1 *2 Subactive mode fOSC: fX: ø CPU: ø CLK: ø PER: (TMA3 = 1, LSON = 0) Notes: 1. 2. 3. 4. Stop Oscillate Stop fW Stop ST OP *3 Stop Oscillate fSUB fW fSUB fOSC: fX: ø CPU: ø CLK: ø PER: *4 INT0, WU0 to WU7 , timer A*1 (TMA3 = 1, LSON = 1) fOSC: fX: ø CPU: ø CLK: ø PER: Stop Oscillate Stop fW Stop Interrupt source STOP/SBY (DTON = 1, LSON = 0) STOP/SBY (DTON = 0, LSON = 0) STOP/SBY (DTON = Don’t care, LSON = 1) Figure 14 MCU Status Transitions 29 Powered by ICminer.com Electronic-Library Service CopyRight 2003 HD404459 Series Standby Mode: In standby mode, the oscillators continue to operate, but the clocks related to instruction execution stop. Therefore, the CPU operation stops, but all RAM and register contents are retained, and the D or R port status, when set to output, is maintained. Peripheral functions such as interrupts, timers, and serial interface continue to operate. The power dissipation in this mode is lower than in active mode since the CPU halts. The MCU enters standby mode when the SBY instruction is executed in active mode. Standby mode is terminated by RESET input or an interrupt request. If it is terminated by RESET, the MCU is reset as well. After an interrupt request, the MCU enters active mode and executes the next instruction after the SBY instruction. If the interrupt enable flag is 1, the interrupt is then processed; if it is 0, the interrupt request is left pending and normal instruction execution continues. See figure 15 for the flowchart of operation in standby mode. Oscillator: Stop Suboscillator: Active/Stop Peripheral clocks: Stop All other clocks: Stop No Watch Standby Stop RESET = 1? Yes Oscillator: Stop Suboscillator: Active Peripheral clocks: Stop All other clocks: Stop Oscillator: Active Peripheral clocks: Active All other clocks: Stop RESET = 1? Yes No No IF0 • IM0 = 1? No STOPC = 0? Yes IF1 • IM1 = 1? No Yes Yes No IFTD • IMTD = 1? Yes RAME = 1 IFTA • IMTA + IF2 • IM2 = 1? RAME = 0 Yes* No IFTB • IMTB + IF3 • IM3 = 1? Yes No IFTC • IMTC + IFS • IMS = 1? No Yes IFWU • IMWU = 1? (SBY only) (SBY only) (SBY only) Restart processor clocks Execute next instruction No Reset MCU Accept interrupt Figure 15 MCU Operation Flowchart 30 Powered by ICminer.com Electronic-Library Service CopyRight 2003 Yes Restart processor clocks IF = 1, IM = 0, and IE = 1? Yes Execute next instruction (SBY only) No Note: * The INT2 interrupt is valid only by standby mode cancellation. HD404459 Series Stop Mode: In stop mode, all MCU operations stop and RAM data is retained. Therefore, the power dissipation in this mode is the least of all modes. The OSC1 and OSC 2 oscillator stops. Operation of the X1 and X2 oscillator can be selected by setting bit 3 of the system clock select register (SSR1: $029; operating: SSR13 = 0, stop: SSR13 = 1) (figure 24). The MCU enters stop mode if the STOP instruction is executed in active mode when bit 3 of timer mode register A (TMA: $008) is set to 0 (TMA3 = 0) (figure 40). Stop mode is terminated by RESET input or STOPC input (figure 16). RESET or STOPC must be applied for at least one tRC to stabilize oscillation (refer to the AC Characteristics section). When the MCU restarts after stop mode is cancelled, all RAM contents before entering stop mode are retained, but the accuracy of the contents of the accumulator, B register, W register, X/SPX register, Y/SPY register, carry flag, and serial data register cannot be guaranteed. Stop mode Oscillator Internal clock RESET STOPC tres STOP instruction execution tres ≥ tRC (stabilization period) Figure 16 Timing of Stop Mode Cancellation Watch Mode: In watch mode, the clock function (timer A) using the X1 and X2 oscillator operate but other function operations stop. Therefore, the power dissipation in this mode is the second least to stop mode, and is also convenient when only clock display is used. In this mode, the OSC1 and OSC 2 oscillator stops, but the X1 and X2 oscillator operates. The MCU enters watch mode if the STOP instruction is executed in active mode when TMA3 = 1, or if the STOP or SBY instruction is executed in subactive mode. Watch mode is terminated by a RESET input, timer A interrupt request, INT0 interrupt request, or wakeup interrupt request. For details of RESET input, refer to the Stop Mode section. When terminated by a timer A interrupt request, an INT0 nterrupt request, or wakeup interrupt request, the MCU enters active mode if LSON is 0 or subactive mode if LSON is 1. After an interrupt request is generated, the time required to enter active mode is tRC for a timer A interrupt, and TX (where T + tRC < TX < 2T + tRC ) for an INT0 interrupt, as shown in figure 17. Operation during mode transition is the same as that at standby mode cancellation (figure 15). 31 Powered by ICminer.com Electronic-Library Service CopyRight 2003 HD404459 Series Oscillation stabilization period Active mode Watch mode Active mode Inte, rupt, trobe Interrupt strobe INT0 , WU0 – WU 7 Interrupt request generation T (During the transition from watch mode to active mode only) T t RC Tx Interrupt frame length T: t RC : Oscillation stabilization period T + t RC < Tx < 2T + t RC Figure 17 Interrupt Frame Subactive Mode: The OSC1 and OSC2 oscillator stops and the MCU operates with a clock generated by the X1 and X2 oscillator. In this mode, functions other than the voltage comparator operate. However, because the operating clock is slow, the power dissipation becomes low, next to watch mode. The CPU instruction execution speed can be selected as 244 µs or 122 µs by setting bit 2 (SSR12) of the system clock select register (SSR1: $029). Note that the SSR12 value must be changed in active mode. If the value is changed in subactive mode, the MCU may malfunction. When the STOP or SBY instruction is executed in subactive mode, the MCU enters either watch or active mode, depending on the statuses of the low speed on flag (LSON: $020, bit 0) and the direct transfer on flag (DTON: $020, bit 3). Subactive mode is an optional function that the user must specify on the function option list. Interrupt Frame: In watch and subactive modes, øCLK is applied to timer A and the INT0 and WU0–WU 7 circuits. Prescaler W and timer A operate as the time-base and generate the timing clock for the interrupt frame. Three interrupt frame lengths (T) can be selected by setting the miscellaneous register (MIS: $00C) (figure 18). In watch and subactive modes, a timer A/ INT0 wakeup interrupt is generated synchronously with the interrupt frame. The interrupt request is generated synchronously with the interrupt strobe timing except during transition to active mode. The falling edge of the INT0 and WU0–WU7 signals is input asynchronously with the interrupt frame timing, but it is regarded as input synchronously with the second interrupt strobe clock after the falling edge. An overflow and interrupt request in timer A is generated synchronously with the interrupt strobe timing. 32 Powered by ICminer.com Electronic-Library Service CopyRight 2003 HD404459 Series Miscellaneous register (MIS: $00C) Bit 3 2 1 0 Initial value 0 0 0 0 Read/Write W W W W MIS3 MIS2 MIS1 MIS0 Bit name MIS3 MIS2 Buffer control. Refer to figure 39. MIS1 MIS0 0 0 T *1 tRC *1 0.24414 ms 0.12207 ms Oscillation circuit conditions External clock input 0.24414 ms*2 1 1 15.625 ms 0 125 ms 1 Not used 7.8125 ms 62.5 ms Ceramic or crystal oscillator — Notes: 1. The values of T and tRC are applied when a 32.768-kHz crystal oscillator is used. 2. The value is applied only when direct transfer operation is used. Figure 18 Miscellaneous Register (MIS) Direct Transition from Subactive Mode to Active Mode: Available by controlling the direct transfer on flag (DTON: $020, bit 3) and the low speed on flag (LSON: $020, bit 0). The procedures are described below: 1. Set LSON to 0 and DTON to 1 in subactive mode. 2. Execute the STOP or SBY instruction. 3. The MCU automatically enters active mode from subactive mode after waiting for the MCU internal processing time and oscillation stabilization time (figure 19). Notes: The DTON flag ($020, bit 3) can be set only in subactive mode. It is always reset in active mode. The transition time (TD) from subactive mode to active mode is: tRC < TD < T + tRC 33 Powered by ICminer.com Electronic-Library Service CopyRight 2003 HD404459 Series STOP/SBY instruction execution Subactive mode MCU internal processing period Oscillation stabilization time Active mode (Set LSON = 0, DTON = 1) Interrupt strobe Direct transfer completion timing T t RC Interrupt frame length T: t RC : Oscillation stabilization period Figure 19 Direct Transition Timing Stop Mode Cancellation by STOPC : The MCU enters active mode from stop mode by a STOPC input as well as by RESET. In either case, the MCU starts instruction execution from the starting address (address 0) of the program. However, the value of the RAM enable flag (RAME: $021, bit 3) differs between cancellation by STOPC and by RESET. When stop mode is cancelled by RESET, RAME = 0; when cancelled by STOPC, RAME = 1. RESET can cancel all modes, but STOPC is valid only in stop mode; STOPC input is ignored in other modes. Therefore, when the program requires to confirm that stop mode has been cancelled by STOPC (i.e., when the RAM contents before entering stop mode are used after transition to active mode), execute the TEST instruction on the RAM enable flag (RAME) at the beginning of the program. MCU Operation Sequence: See figures 20 to 22 for the MCU operation sequences. It is reset by an asynchronous RESET input, regardless of its status. The low-power mode operation sequence is shown in figure 22. With the IE flag cleared and an interrupt flag set together with its interrupt mask cleared, if a STOP/SBY instruction is executed, the instruction is cancelled (regarded as an NOP) and the following instruction is executed. Before executing a STOP/SBY instruction, make sure all interrupt flags are cleared or all interrupts are masked. 34 Powered by ICminer.com Electronic-Library Service CopyRight 2003 HD404459 Series Power on RESET = 1? No Yes RAME = 0 MCU operation cycle Reset MCU Figure 20 MCU Operating Sequence (Power On) 35 Powered by ICminer.com Electronic-Library Service CopyRight 2003 HD404459 Series MCU operation cycle IF = 1? No Yes No IM = 0 and IE = 1? Yes Instruction execution Yes SBY, STOP instruction? IE ← 0 Stack ← (PC), (CA), (ST) No Low-power mode operation cycle IF: IM: IE: PC: CA: ST: PC ← Next location PC ← Vector address Interrupt request flag Interrupt mask Interrupt enable flag Program counter Carry flag Status flag Figure 21 MCU Operating Sequence (MCU Operation Cycle) 36 Powered by ICminer.com Electronic-Library Service CopyRight 2003 HD404459 Series Low-power mode operation cycle IF = 1 and IM = 0? * No Yes Standby/Watch mode No IF = 1 and IM = 0? Yes Stop mode No STOPC = 0? Yes Hardware NOP execution Hardware NOP execution RAME = 1 PC ← Next Iocation PC ← Next Iocation Reset MCU Instruction execution MCU operation cycle Note: * For IF and IM operation, refer to figure 15. Figure 22 MCU Operating Sequence (Low-Power Mode Operation) 37 Powered by ICminer.com Electronic-Library Service CopyRight 2003 HD404459 Series Notes on Use: • When the MCU is in watch mode or subactive mode, if the high level period before the falling edge of INT 0 and WU0–WU 7 is shorter than the interrupt frame, INT 0 and WU0–WU 7 will not be detected. Also, if the low level period after the falling edge of INT0 and WU0–WU 7 is shorter than the interrupt frame, INT0 and WU0–WU 7 will not be detected. Edge detection is shown in figure 23. The level of the INT 0 and WU0–WU 7 signals are sampled by a sampling clock. When this sampled value changes from high to low, a falling edge is detected. In figure 24, the level of the INT0 and WU0–WU 7 signals are sampled by an interrupt frame. In (a) the sampled value is low at point A, and also low at point B. Therefore, a falling edge will not be detected. In (b), the sampled value is high at point A, and also high at point B. A falling edge will not be detected in this case either. When the MCU is in watch mode or subactive mode, keep the high level and low level periods of INT 0 and WU 0–WU 7 longer than interrupt frame. INT0, WU0–WU7 Sampling High Low Low Figure 23 Edge Detection INT0, WU0–WU7 INT0, WU0–WU7 Interrupt frame Interrupt frame A: Low B: Low a. High level period Figure 24 Sampling Example 38 Powered by ICminer.com Electronic-Library Service CopyRight 2003 A: High B: High b. Low level period HD404459 Series Internal Oscillator Circuit Clock Generation Circuit See figure 25 for a block diagram of the clock generation circuit. A ceramic oscillator or crystal oscillator can be connected to OSC1 and OSC2, and a 32.768-kHz oscillator can be connected to X1 and X2 (table 22). The system oscillator can also be operated by an external clock. Bit 1 (SSR11) of system clock select register 1 (SSR1: $029) must be selected according to the frequency of the oscillator connected to OSC1 and OSC2(figure 26). Note: If the system clock select register 1 (SSR1: $029) setting does not match the oscillator frequency, subsystems using the 32.768-kHz oscillation will malfunction. LSON OSC2 OSC1 1/4, 1/8, System fOSC 1/16, or oscillator 1/32 division circuit*1 fX X1 X2 Subsystem oscillator fcyc tcyc Timing generator circuit CPU with ROM, RAM, registers, flags, and I/O øCPU System clock selection circuit øPER Peripheral function interrupt fSUB Timing 1/8 or 1/4 tsubcyc generator division circuit circuit*2 1/8 division circuit fW tWcyc Timing generator circuit TMA3 Time-base clock ø CLK selection circuit Time-base interrupt Notes: 1. 1/4, 1/8, 1/16, or 1/32 division ratio can be selected by setting bits 0 and 1 of system clock select register 2 (SSR2). 2. 1/8 or 1/4 division ratio can be selected by setting bit 2 of system clock select register 1 (SSR1). Figure 25 Clock Generation Circuit 39 Powered by ICminer.com Electronic-Library Service CopyRight 2003 HD404459 Series Selection of Division Ratio Division Ratio of the System Clock: 1/4, 1/8, 1/16, or 1/32 division ratio of the system clock can be selected by setting bits 0 and 1 (SSR20 and SSR21) of system clock select register 2 (SSR2: $02A). The values of SSR20 and SSR21 become valid when entering the watch mode after making the ratio selection. (However, the value of SSR2 becomes valid immediately after the selection.) Therefore, when changing the division ratio, the system clock must be stopped. There are two methods for selecting the division ratio of the system clock as follows. • Division ratio is selected by writing to SSR20 and SSR21 in active mode. The selected values of SSR20 and SSR21 are valid before the MCU enters watch mode. The division ratio of the system clock becomes the written value when the MCU returns to the active mode from the watch mode. • Division ratio is selected by writing to SSR20 and SSR21 in subactive mode. The division ratio of the system clock becomes the selected value when the MCU returns to active mode after entering watch mode. Note: SSR2 is cleared in the reset and stop modes. Therefore, 1/4 division ratio of the system clock is selected when the MCU returns from stop mode after reset. Division Ratio of the Subsystem Clock: 1/4 or 1/8 division ratio of the subsystem clock can be selected by setting bit 2 (SSR12) of system clock select register 1 (SSR1: $029). The value of SSR12 becomes valid immediately after the ratio selection. When the value of SSR12 is changed, the MCU must be in active mode. If the value of SSR12 is changed in subactive mode, the MCU may malfunction. 40 Powered by ICminer.com Electronic-Library Service CopyRight 2003 HD404459 Series System clock select register 1 (SSR1: $029) Bit 3 2 1 0 Initial value 0 0 0 — Read/Write W W W — SSR13* SSR12 Bit name SSR11 Not used SSR11 System oscillation frequency selection 0 1.6 to 4.0 MHz 1 0.4 to 1.0 MHz SSR12 32-kHz oscillation division ratio selection 0 fsub = fx/8 1 fsub = fx/4 SSR13 32-kHz oscillation stop 0 Oscillation operates in stop mode 1 Oscillation stops in stop mode Note: * SSR13 is reset to 0 only by RESET input. When STOPC is input in stop mode, SSR13 is not reset but retains its value. SSR13 is not reset in stop mode. Figure 26 System Clock Select Register 1 (SSR1: $029) System clock select register 2 (SSR2: $02A) Bit 3 2 Initial value — — 0 0 Read/Write — — W W Bit name 1 0 Not used Not used SSR21 SSR20 SSR21 SSR20 0 0 1/4 1 1/8 0 1/16 1 1/32 1 System clock division ratio selection Figure 27 System Clock Select Register 2 (SSR2: $02A) 41 Powered by ICminer.com Electronic-Library Service CopyRight 2003 HD404459 Series RESET X1 X2 GND OSC2 OSC1 TEST GND Figure 28 Typical Layout of Crystal and Ceramic Oscillators 42 Powered by ICminer.com Electronic-Library Service CopyRight 2003 HD404459 Series Table 22 Oscillator Circuit Examples Circuit Configuration External clock operation Circuit Constants External oscillator OSC 1 Open OSC 2 Ceramic oscillator (OSC1, OSC 2) Ceramic oscillator: CSA4.00MG (Murata) C1 Rf = 1 MΩ ± 20% OSC1 Ceramic C1 = C2 = 30 pF Rf OSC2 C2 GND Rf = 1 MΩ ± 20% C1 Crystal oscillator (OSC1, OSC 2) C1 = C2 = 10–22 pF ± 20% OSC1 Crystal Crystal: Equivalent to circuit shown below Rf C0: 7 pF max. OSC2 RS: 100 Ω max. C2 GND L CS RS OSC1 OSC2 C0 C1 Crystal oscillator (X1, X2) Crystal: 32.768 kHz: MX38T X1 (Nippon Denpa Kogyo) C1 = C2 = 15 pF ± 5% Crystal RS: 14 kΩ X2 C0: 1.5 pF C2 GND L CS RS X1 X2 C0 Notes: 1. Since the circuit constants change depending on the crystal or ceramic resonator and stray capacitance of the board, the user should consult with the crystal or ceramic oscillator manufacturer to determine the circuit parameters. 2. Wiring among OSC1, OSC 2, X1, X2, and elements should be as short as possible, and must not cross other wiring (figure 28). 3. If the 32.768-kHz crystal oscillator is not used, the X1 pin must be fixed to GND and X2 must be open. 43 Powered by ICminer.com Electronic-Library Service CopyRight 2003 HD404459 Series Input/Output The MCU has 49 input/output pins (D0–D9, R0–R8, R90–R92) and 7 input pins (D 10, D11, R93, RA). The features are described as follows. • The D11, R0, R3–R6, R93, and RA pins are multiplexed with peripheral function pins such as those for timers or the serial interface. See table 24. For these pins, the peripheral function setting is done prior to the D or R port setting. Therefore, when a peripheral function is selected for a pin, the pin function and input/output selection are automatically switched according to the setting. However, pins input to the wakeup function are not switched. Only the valid/invalid statuses of wakeup input are controlled. • Peripheral function output pins are CMOS out-put pins. See table 23. Only the SO pin and R4 3 port can be set to NMOS open-drain output by software. • In stop mode, the MCU is reset, and therefore peripheral function selection is cancelled. Input/output pins are set at high-impedance. • Each input/output pin has a built-in pull-up MOS (figure 29), which can be individually turned on or off by software. 44 Powered by ICminer.com Electronic-Library Service CopyRight 2003 HD404459 Series Table 23 Programmable I/O Circuits MIS3 (Bit 3 of MIS) 0 DCD, DCR 0 PDR 0 1 0 1 0 1 0 1 PMOS — — — On — — — On NMOS — — On — — — On — — — — — — On — On CMOS buffer Pull-up MOS 1 1 0 1 Note: — indicates off status. HLT Pull-up control signal VCC Pull-up MOS MIS3 VCC Buffer control signal DCD, DCR Output data PDR Input data Input control signal Figure 29 I/O Buffer Configuration 45 Powered by ICminer.com Electronic-Library Service CopyRight 2003 HD404459 Series Table 24 Circuit Configurations of I/O Pins I/O Pin Type Input/output pins Circuit Pins VCC VCC Pull-up control signal Buffer control signal HLT D0–D 9, R0 0–R0 3, MIS3 R1 0–R1 3, R20–R2 3, DCD, DCR R3 0–R3 3, R40–R4 2, R5 0–R5 3, R60–R6 3, Output data PDR R7 0–R7 3, R80–R8 3, R9 0–R9 2 Input data Input control signal HLT VCC VCC Pull-up control signal Buffer control signal Output data R4 3 MIS3 DCR MIS2 PDR Input data Input control signal Input data Input pins D10, D11, R9 3, RA0–RA 3 Input control signal Peripheral function pins Input/ output pins VCC HLT VCC Pull-up control signal Output data Input data Output pins VCC SCK SCK Pull-up control signal PMOS control signal Output data VCC MIS3 HLT VCC VCC Output data 46 Powered by ICminer.com Electronic-Library Service CopyRight 2003 SO MIS3 MIS2 SO HLT Pull-up control signal SCK MIS3 TOB, TOC, TOD TOB, TOC, TOD HD404459 Series I/O Pin Type Peripheral function pins Circuit Input pins Pins SI, INT0, INT1, VCC HLT MIS3 PDR INT0, etc Input data STOPC INT2, INT3, WU0–WU7, EVNB, EVND STOPC Notes: 1. In stop mode, the MCU is reset and peripheral function selection is cancelled. The HLT signal becomes low, and input/output pins enter high-impedance state. 2. The HLT signal is 1 in watch and subactive modes. D Port (D0–D 11): Consist of 10 input/output pins and 2 input pins addressed by one bit. D 0–D 9 are input/output pins, and D10 and D11 are input-only pins. Pins D0–D 9 are set by the SED and SEDD instructions, and reset by the RED and REDD instructions. Output data is stored in the port data register (PDR) for each pin. All pins D0–D11 are tested by the TD and TDD instructions. The on/off statuses of the output buffers are controlled by D-port data control registers (DCD0–DCD2: $02C–$02E) that are mapped to memory addresses (figure 30). Pin D11 is multiplexed with peripheral function pin STOPC. The peripheral function mode of this pin is selected by bit 2 (PMRC2) of port mode register C (PMRC: $025) (figure 35). 47 Powered by ICminer.com Electronic-Library Service CopyRight 2003 HD404459 Series R Ports (R0–RA): 39 input/output pins and 5 input pins addressed in 4-bit units. Data is input to these ports by the LAR and LBR instructions, and output from them by the LRA and LRB instructions. Output data is stored in the port data register (PDR) for each pin. The on/off statuses of the output buffers of the R ports are controlled by R-port data control registers (DCR0–DCR9: $030–$039) that are mapped to memory addresses (figure 30). Data control register (DCD0 to DCD2: $02C to $02E) (DCR0 to DCR9: $030 to $039) DCD0, DCD1 Bit 3 2 1 Initial value 0 0 0 0 Read/Write W W W W Bit name 0 DCD03, DCD02, DCD01, DCD00, DCD13 DCD12 DCD11 DCD10 DCD2 Bit 3 2 1 Initial value — — 0 0 Read/Write — — W W Bit name 0 Not used Not used DCD21 DCD20 DCR0 to DCR8 Bit 3 2 1 Initial value 0 0 0 0 Read/Write W W W W Bit name 0 DCR03– DCR02– DCR01– DCR00– DCR83 DCR82 DCR81 DCR80 DCR9 Bit 3 2 1 Initial value — 0 0 0 Read/Write — W W W DCR91 DCR90 Bit name Not used DCR92 0 All Bits CMOS Buffer On/Off Selection 0 Off (high-impedance) 1 On Correspondence between ports and DCD/DCR bits Register Name Bit 3 Bit 2 Bit 1 DCD0 D3 D2 D1 D0 DCD1 D7 D6 D5 D4 DCD2 — — D9 D8 DCR0 R03 R02 R01 R00 DCR1 R13 R12 R11 R10 DCR2 R23 R22 R21 R20 DCR3 R33 R32 R31 R30 DCR4 R43 R42 R41 R40 DCR5 R53 R52 R51 R50 DCR6 R63 R62 R61 R60 DCR7 R73 R72 R71 R70 DCR8 R83 R82 R81 R80 DCR9 — R92 R91 R90 Bit 0 Figure 30 Data Control Registers (DCD, DCR) 48 Powered by ICminer.com Electronic-Library Service CopyRight 2003 HD404459 Series Pins R00–R03 are multiplexed with peripheral pins INT0–INT 3, respectively. The peripheral function modes of these pins are selected by bits 0–3 (PMRB0–PMRB3) of port mode register B (PMRB: $024) (figure 31). Port mode register B (PMRB: $024) Bit 3 2 1 0 Initial value 0 0 0 0 W W W Read/Write Bit name W PMRB3 PMRB2 PMRB1 PMRB0 PMRB0 R00/INT0 mode selection 0 R00 1 INT0 PMRB1 R01/INT1 mode selection 0 R01 1 INT1 PMRB2 R02/INT2 mode selection 0 R02 1 INT2 PMRB3 R03 /INT3 mode selection 0 R03 1 INT3 Figure 31 Port Mode Register B (PMRB) 49 Powered by ICminer.com Electronic-Library Service CopyRight 2003 HD404459 Series Pins R30–R32 are multiplexed with peripheral pins TOB, TOC, and TOD, respectively. The peripheral function modes of these pins are selected by bits 0 and 1 (TMB20, TMB21) of timer mode register B2 (TMB2: $013), bits 0–2 (TMC20–TMC22) of timer mode register C2 (TMC2: $014), and bits 0–3 (TMD20–TMD23) of timer mode register D2 (TMD2: $015) (figures 32, 33, and 34). Timer mode register B2 (TMB2: $013) Bit 3 2 1 0 Initial value — — 0 0 — — R/W Read/Write Bit name R/W Not used Not used TMB21 TMB20 TMB21 TMB20 0 0 R30 R30 port 1 TOB Toggle output 0 TOB 0 output 1 TOB 1 output 1 R30/TOB mode selection Figure 32 Timer Mode Register B2 (TMB2) Timer mode register C2 (TMC2: $014) Bit 3 Initial value — 0 0 0 Read/Write — R/W R/W R/W Not used TMC22 TMC21 TMC20 TMC22 TMC21 TMC20 0 0 0 R31 R31 port 1 TOC Toggle output 0 TOC 0 output 1 TOC 1 output 0 TOC Not used 1 TOC Not used 0 TOC Not used 1 TOC PWM output Bit name 2 1 1 1 0 1 0 R31/TOC mode selection Figure 33 Timer Mode Register C2 (TMC2) 50 Powered by ICminer.com Electronic-Library Service CopyRight 2003 HD404459 Series Timer mode register D2 (TMD2: $015) Bit 3 2 1 0 Initial value 0 0 0 0 Read/Write Bit name R/W R/W R/W R/W TMD23 TMD22 TMD21 TMD20 TMD23 TMD22 TMD21 TMD20 0 0 0 0 R32 R32 port 1 TOD Toggle output 0 TOD 0 output 1 TOD 1 output 0 TOD Not used 1 TOD Not used 0 TOD Not used 1 TOD PWM output R32 Input capture (R32 port) 1 1 0 1 1 Don't care Don't care Don't care R32/TOD mode selection Figure 34 Timer Mode Register D2 (TMD2) 51 Powered by ICminer.com Electronic-Library Service CopyRight 2003 HD404459 Series Pins R33 and R40 are multiplexed with peripheral pins EVNB and EVND, respectively. The peripheral function modes of these pins are selected by bits 0 and 1 (PMRC0, PMRC1) of port mode register C (PMRC: $025) (figure 35). Port mode register C (PMRC: $025) Bit 3 Initial value — 0 0 0 Read/Write — W W W Bit name 2 1 Not used PMRC2* PMRC1 0 PMRC0 PMRC0 R33/EVNB mode selection 0 R33 1 EVNB PMRC1 R40/EVND mode selection 0 R40 1 EVND PMRC2 D11/STOPC mode selection 0 D11 1 STOPC Note: * PMRC2 is reset to 0 only by RESET input. When STOPC is input in stop mode, PMRC2 is not reset but retains its value. Figure 35 Port Mode Register C (PMRC) 52 Powered by ICminer.com Electronic-Library Service CopyRight 2003 HD404459 Series Pins R41–R4 3 are multiplexed with peripheral pins SCK, SI, and SO, respectively. The peripheral function modes of these pins are selected by bit 3 (SMRA3) of serial mode register A (SMRA: $005), and bits 0 and 1 (PMRA0, PMRA1) port mode register A (PMRA: $004) (figures 36 and 37). Port mode register A (PMRA: $004) Bit 3 2 1 0 Initial value — — 0 0 Read/Write — — W W Bit name Not used Not used PMRA1 PMRA0 PMRA0 R43/SO mode selection 0 R43 1 SO PMRA1 R42/SI mode selection 0 R42 1 SI Figure 36 Port Mode Register A (PMRA) Serial mode register A (SMRA: $005) Bit 3 2 1 0 Initial value 0 0 0 0 W W W Read/Write Bit name SMRA3 W SMRA3 SMRA2 SMRA1 SMRA0 R41/SCK mode selection 0 R41 port 1 SCK SMRA2 0 SMRA1 SMRA0 0 1 1 0 1 SCK Clock source Prescaler division ratio 0 Output Prescaler ÷2048 1 Output Prescaler ÷512 0 Output Prescaler ÷128 1 Output Prescaler ÷32 0 Output Prescaler ÷8 1 Output Prescaler ÷2 0 Output System clock — 1 Input External clock — Figure 37 Serial Mode Register A (SMRA) 53 Powered by ICminer.com Electronic-Library Service CopyRight 2003 HD404459 Series Ports R5 and R6 are multiplexed with pins WU0–WU 7. The wakeup modes of these pins can be selected by the wakeup select register (WSR: $018). Even if wakeup input is valid, the R port functions normally (figure 38). Wakeup select register (WSR: $018) Bit 3 2 1 0 Initial value 0 0 0 0 Read/Write Bit name W W W W WSR3 WSR2 WSR1 WSR0 WSR0 WU0 to WU3 control 0 Invalid 1 Valid WSR1 WU4 to WU5 control 0 Invalid 1 Valid WSR2 WU6 control 0 Invalid 1 Valid WSR3 WU7 control 0 Invalid 1 Valid Figure 38 Wakeup Select Register (WSR) 54 Powered by ICminer.com Electronic-Library Service CopyRight 2003 HD404459 Series Pull-Up MOS Transistor Control: A program-controlled pull-up MOS transistor is provided for each input/output pin other than input-only pins D 10, D11, R93, and RA 0–RA3. The on/off status of all these transistors is controlled by bit 3 (MIS3) of the miscellaneous register (MIS: $00C), and the on/off status of an individual transistor can also be controlled by the port data register (PDR) of the corresponding pin— enabling on/off control of that pin alone (table 23 and figure 39). The on/off status of each transistor and the peripheral function mode of each pin can be set independently. Miscellaneous register (MIS: $00C) Bit 3 2 1 0 Initial value 0 0 0 0 Read/Write W W W W MIS3 MIS2 MIS1 MIS0 MIS2 CMOS buffer on/off selection for pin R43/SO Bit name MIS3 Pull-up MOS on/off selection 0 Off 0 On 1 On 1 Off MIS1 MIS0 tRC selection. Refer to figure 18 in the operation modes section. Figure 39 Miscellaneous Register (MIS) How to Deal with Unused I/O Pins: I/O pins that are not needed by the user system (those that remain floating) must be connected to VCC to prevent LSI malfunctions due to noise. These pins must either be pulled up to VCC by their pull-up MOS transistors or by resistors of about 100 kΩ. 55 Powered by ICminer.com Electronic-Library Service CopyRight 2003 HD404459 Series Prescalers The MCU has two prescalers, S and W. See table 25 and figure 40. Both the timers A–D input clocks except external events and the serial transmit clock except the external clock are selected from the prescaler outputs, depending on corresponding mode registers. 32-kHz crystal oscillator fX/8 Prescaler W Timer A Timer B fX/4 or fX/8 Timer C Timer D Clock selector System clock Prescaler S Serial Figure 40 Prescaler Output Supply Prescaler Operation Prescaler S: 11-bit counter that inputs a system clock signal. After being reset to $000 by MCU reset, prescaler S divides the system clock. Prescaler S keeps counting, except in watch and stop modes and at MCU reset. Prescaler W: Five-bit counter that inputs the X1 input clock signal (32-kHz crystal oscillation) divided. After being reset to $00 by MCU reset, prescaler W divides the input clock. Prescaler W can be reset by software. Table 25 Prescaler Operating Conditions Prescaler Input Clock Reset Conditions Stop Conditions Prescaler S System clock (in active and standby mode), Subsystem clock (in subactive mode) MCU reset MCU reset, stop mode, watch mode Prescaler W 32-kHz crystal oscillation MCU reset, software MCU reset, stop mode 56 Powered by ICminer.com Electronic-Library Service CopyRight 2003 HD404459 Series Timers The MCU has four timer/counters (A to D). Timer A: Timer B: Timer C: Timer D: Free-running timer Multifunction timer Multifunction timer Multifunction timer Timer A is an 8-bit free-running timer. Timers B–D are 8-bit multifunction timers (table 26). The operating modes are selected by software. Table 26 Timer Functions Functions Clock source Timer functions Timer outputs Timer A Timer B Timer C Timer D Prescaler S Available Available Available Available Prescaler W Available — — — External event — Available — Available Free-running Available Available Available Available Time-base Available — — — Event counter — Available — Available Reload — Available Available Available Watchdog — — Available — Input capture — — — Available Toggle — Available Available Available 0 output — Available Available Available 1 output — Available Available Available PWM — — Available Available Note: — means not available. 57 Powered by ICminer.com Electronic-Library Service CopyRight 2003 HD404459 Series Timer A Timer A Functions: Timer A (figure 41) has the following functions. • Free-running timer • Clock time-base 1/4 1/2 2 fW fW tWcyc Timer A interrupt request flag (IFTA) Prescaler W (PSW) ÷ 2 ÷ 8 ÷ 16 ÷ 32 32.768-kHz oscillator 1/2 tWcyc Clock Timer counter A (TCA) Overflow System clock ÷ 2 ÷ 4 ÷ 8 ÷ 32 ÷ 128 ÷ 512 ÷ 1024 ÷ 2048 Selector Internal data bus Selector Selector ø PER Prescaler S (PSS) 3 Timer mode register A (TMA) Figure 41 Block Diagram of Timer A Timer A Operations: • Free-running timer operation: The input clock for timer A is selected by timer mode register A (TMA: $008). Timer A is reset to $00 by MCU reset and incremented at each input clock. If an input clock is applied to timer A after it has reached $FF, an overflow is generated, and timer A is reset to $00. The overflow sets the timer A interrupt request flag (IFTA: $002, bit 0). Timer A continues to be incremented after reset to $00, and therefore it generates regular interrupts every 256 clocks. • Clock time-base operation: Timer A is used as a clock time-base by setting bit 3 (TMA3) of timer mode register A (TMA: $008) to 1. The prescaler W output is applied to timer A, and timer A generates interrupts at the correct timing based on the 32.768-kHz crystal oscillation. In this case, prescaler W and timer A can be reset to $00 by software. 58 Powered by ICminer.com Electronic-Library Service CopyRight 2003 HD404459 Series Registers for Timer A Operation: Timer A operating modes are set by the following registers. • Timer mode register A (TMA: $008): Four-bit write-only register that selects timer A’s operating mode and input clock source (figure 42). Timer mode register A (TMA: $008) Bit 3 2 1 0 Initial value 0 0 0 0 Read/Write Bit name W W W W TMA3 TMA2 TMA1 TMA0 Source Input clock TMA3 TMA2 TMA1 TMA0 prescaler frequency Operating mode 0 0 0 1 1 0 1 1 0 0 1 1 0 1 0 PSS 2048tcyc 1 PSS 1024tcyc 0 PSS 512tcyc 1 PSS 128tcyc 0 PSS 32tcyc 1 PSS 8tcyc 0 PSS 4tcyc 1 PSS 2tcyc 0 PSW 32tWcyc 1 PSW 16tWcyc 0 PSW 8tWcyc 1 PSW 2tWcyc 0 PSW 1/2tWcyc 1 Not used Don't care Timer A mode Time-base mode PSW and TCA reset Note: 1. tWcyc = 244.14 µs (when a 32.768-kHz crystal oscillator is used) 2. Timer counter overflow output period (seconds) = input clock period (seconds) × 256. 3. The division ratio must not be modified during time-base mode operation, otherwise an overflow cycle error will occur. Figure 42 Timer Mode Register A (TMA) 59 Powered by ICminer.com Electronic-Library Service CopyRight 2003 HD404459 Series Timer B Timer B Functions: Timer B (figure 43) has the following functions. • Free-running/reload timer • External event counter • Timer output operation (toggle, 0, and 1 outputs) Timer B interrupt request flag (IFTB) Timer output control logic TOB Timer read register BU (TRBU) Timer output control Timer read register BL (TRBL) System clock ÷ 2048 ø PER Overflow Timer write register BU (TWBU) EVNB ÷ 2 ÷ 4 ÷ 8 ÷ 32 ÷ 128 ÷ 512 Selector Timer/event counter B (TCB) Prescaler S (PSS) Free-running/ Reload control Timer write register BL (TWBL) 3 Timer mode register B1 (TMB1) 2 Timer mode register B2 (TMB2) Figure 43 Block Diagram of Timer B 60 Powered by ICminer.com Electronic-Library Service CopyRight 2003 Internal data bus Clock HD404459 Series Timer B Operations: • Free-running/reload timer operation: The free-running/reload operation, input clock source, and prescaler division ratio are selected by timer mode register B1 (TMB1: $009). Timer B is initialized to the value set in timer write register B (TWBL: $00A, TWBU: $00B) by software and incremented by one at each clock input. If an input clock is applied to timer B after it has reached $FF, an overflow is generated. In this case, if the reload timer function is enabled, timer B is initialized to its initial value set in timer write register B; if the free-running timer function is enabled, the timer is initialized to $00 and then incremented again. The overflow sets the timer B interrupt request flag (IFTB: $002, bit 2). IFTB can be reset by software or MCU reset. Refer to figure 3 and table 1 for details. • External event counter operation: Timer B is used as an external event counter by selecting external event input as the input clock source. In this case, pin R33/EVNB must be set to EVNB by port mode register C (PMRC: $025). Timer B is incremented by one at each falling edge of signals input to pin EVNB. The other operations are basically the same as the free-running/ reload timer operation. • Timer output operation: The following three output modes can be selected for timer B by setting timer mode register B2 (TMB2: $013). Toggle 0 output 1 output By selecting the timer output mode, pin R30/TOB is set to TOB. The output from TOB is reset low by MCU reset. Toggle output: When toggle output mode is selected, the output level is inverted if a clock is input after timer B has reached $FF. By using this function and reload timer function, clock signals can be output at a required frequency for a buzzer. Refer to figure 44 for the output waveform. 0 output: When 0 output mode is selected, the output level is pulled low if a clock is input after timer B has reached $FF. Note that this function must be used only when the output level is high. 1 output: When 1 output mode is selected, the output level is set high if a clock is input after timer B has reached $FF. Note that this function must be used only when the output level is low. 61 Powered by ICminer.com Electronic-Library Service CopyRight 2003 HD404459 Series Toggle output waveform (timers B, C, and D) Free-running timer 256 clock cycles 256 clock cycles Reload timer (256 – N) clock cycles (256 – N) clock cycles PWM output waveform (timers C and D) T × (N + 1) TMC13 = 0 TMD13 = 0 T T × 256 TMC13 = 1 TMD13 = 1 T × (256 – N) Note: The waveform is always fixed low when N = $FF. T: Input clock period to counter (figures 45, 53, and 60) N: The value of the timer write register (figures 55, 56, 62, and 63) Figure 44 Timer Output Waveform Registers for Timer B Operation: By using the following registers, timer B operation modes are selected and the timer B count is read and written. Timer mode register B1 (TMB1: $009) Timer mode register B2 (TMB2: $013) Timer write register B (TWBL: $00A, TWBU: $00B) Timer read register B (TRBL: $00A, TRBU: $00B) Port mode register C (PMRC: $025) • Timer mode register B1 (TMB1: $009): Four-bit write-only register that selects the free-running/reload timer function, input clock source, and the prescaler division ratio (figure 45). It is reset to $0 by MCU reset. 62 Powered by ICminer.com Electronic-Library Service CopyRight 2003 HD404459 Series The mode change of this register is valid from the second instruction execution cycle after the execution of the previous timer mode register B1 write instruction. Setting timer B’s initialization by writing to timer write register B (TWBL: $00A, TWBU: $00B) must be done after a mode change becomes valid. Timer mode register B1 (TMB1: $009) Bit 3 2 1 0 Initial value 0 0 0 0 Read/Write W W W W TMB13 TMB12 TMB11 TMB10 Bit name TMB13 Free-running/reload timer selection TMB12 TMB11 TMB10 0 Free-running timer 0 0 0 2048tcyc 1 Reload timer 1 512tcyc 0 128tcyc 1 32tcyc 0 8tcyc 1 4tcyc 0 2tcyc 1 R33/EVNB (external event input) 1 1 0 1 Input clock period and input clock source Figure 45 Timer Mode Register B1 (TMB1) 63 Powered by ICminer.com Electronic-Library Service CopyRight 2003 HD404459 Series • Timer mode register B2 (TMB2: $013): Two-bit read/write register that selects the timer B output mode (figure 46). It is reset to $0 by MCU reset. Timer mode register B2 (TMB2: $013) Bit 3 2 Initial value — — 0 0 Read/Write — — R/W R/W Bit name 0 1 Not used Not used TMB21 TMB20 TMB21 TMB20 0 0 R30 R30 port 1 TOB Toggle output 0 TOB 0 output 1 TOB 1 output 1 R30/TOB mode selection Figure 46 Timer Mode Register B2 (TMB2) • Timer write register B (TWBL: $00A, TWBU: $00B): Write-only register consisting of a lower digit (TWBL) and an upper digit (TWBU) (figures 47 and 48). The lower digit is reset to $0 by MCU reset, but the upper digit value is undefined. Timer B is initialized by writing to timer write register B (TWBL: $00A, TWBU: $00B). In this case, the lower digit (TWBL) must be written to first, but writing only to the lower digit does not change the timer B value. Timer B is initialized to the value in timer write register B at the same time the upper digit (TWBU) is written to. When timer write register B is written to again and if the lower digit value needs no change, writing only to the upper digit initializes timer B. Timer write register B (lower digit) (TWBL: $00A) Bit 3 2 1 0 Initial value 0 0 0 0 Read/Write W W W W TWBL3 TWBL2 TWBL1 TWBL0 Bit name Figure 47 Timer Write Register B Lower Digit (TWBL) 64 Powered by ICminer.com Electronic-Library Service CopyRight 2003 HD404459 Series Timer write register B (upper digit) (TWBU: $00B) Bit Initial value Read/Write Bit name 3 2 1 0 Undefined Undefined Undefined Undefined W W W W TWBU3 TWBU2 TWBU1 TWBU0 Figure 48 Timer Write Register B Upper Digit (TWBU) • Timer read register B (TRBL: $00A, TRBU: $00B): Read-only register consisting of a lower digit (TRBL) and an upper digit (TRBU) that holds the count of the timer B upper digit. The upper digit (TRBU) must be read first, which will result in the count of the timer B upper digit to be obtained and the count of the timer B lower digit to be latched to the lower digit (TRBL). Then by reading TRBL, the count of timer B can be obtained when TRBU is read. Timer read register B (lower digit) (TRBL: $00A) Bit Initial value Read/Write Bit name 3 2 1 0 Undefined Undefined Undefined Undefined R R R R TRBL3 TRBL2 TRBL1 TRBL0 Figure 49 Timer Read Register B Lower Digit (TRBL) Timer read register B (upper digit) (TRBU: $00B) Bit Initial value Read/Write Bit name 3 2 1 0 Undefined Undefined Undefined Undefined R R R R TRBU3 TRBU2 TRBU1 TRBU0 Figure 50 Timer Read Register B Upper Digit (TRBU) 65 Powered by ICminer.com Electronic-Library Service CopyRight 2003 HD404459 Series • Port mode register C (PMRC: $025): Write-only register that selects the R33/EVNB pin function (figure 51). It is reset to $0 by MCU reset. Port mode register C (PMRC: $025) Bit 3 2 1 0 Initial value — 0 0 0 Read/Write — W W W Bit name Not used PMRC2 PMRC1 PMRC0 PMRC0 R33/EVNB mode selection 0 R33 1 EVNB PMRC1 R40/EVND mode selection 0 R40 1 EVND PMRC2 D11/STOPC mode selection 0 D11 1 STOPC Figure 51 Port Mode Register C (PMRC) 66 Powered by ICminer.com Electronic-Library Service CopyRight 2003 HD404459 Series Timer C Timer C Functions: Timer C (figure 52) has the following functions. Free-running/reload timer Watchdog timer Timer output operation (toggle, 0, 1, and PWM outputs) System reset signal Watchdog on flag (WDON) TOC Timer C interrupt request flag (IFTC) Watchdog timer control logic Timer output control logic Timer read register CU (TRCU) Timer output control Timer read register CL (TRCL) Timer counter C (TCC) Timer write register CU (TWCU) ÷2 ÷4 ÷8 ÷32 ÷128 ÷512 ÷1024 ÷2048 Selector System øPER clock Prescaler S (PSS) Overflow Free-running /reload control Timer write register CL (TWCL) Internal data bus Clock 3 Timer mode register C1 (TMC1) 3 Timer mode register C2 (TMC2) Figure 52 Block Diagram of Timer C 67 Powered by ICminer.com Electronic-Library Service CopyRight 2003 HD404459 Series Timer C Operations: • Free-running/reload timer operation: The free-running/reload operation, input clock source, and prescaler division ratio are selected by timer mode register C1 (TMC1: $00D). Timer C is initialized to the value set in timer write register C (TWCL: $00E, TWCU: $00F) by software and incremented by one at each clock input. If an input clock is applied to timer C after it has reached $FF, an overflow is generated. In this case, if the reload timer function is enabled, timer C is initialized to its initial value set in timer write register C; if the free-running timer function is enabled, the timer is initialized to $00 and then incremented again. The overflow sets the timer C interrupt request flag (IFTC: $003, bit 0). IFTC can be reset by software or MCU reset. Refer to figure 3 and table 1 for details. • Watchdog timer operation: Timer C is used as a watchdog timer for detecting out-of-control program routines by setting the watchdog on flag (WDON: $020, bit 1) to 1. If a program routine runs out of control and an overflow is generated, the MCU is reset. Program run can be controlled by initializing timer C by software before it reaches $FF. • Timer output operation: The following four output modes can be selected for timer C by setting timer mode register C2 (TMC2: $014). Toggle 0 output 1 output PWM output By selecting the timer output mode, pin R31/TOC is set to TOC. The output from TOC is reset low by MCU reset. Toggle output: The operation is basically the same as that of timer-B’s toggle output. 0 output: The operation is basically the same as that of timer-B’s 0 output. 1 output: The operation is basically the same as that of timer-B’s 1 output. PWM output (figure 44): When PWM output mode is selected, timer C provides the variable-duty pulse output function. The output waveform differs depending on the contents of timer mode register C1 (TMC1: $00D) and timer write register C (TWCL: $00E, TWCU: $00F). Registers for Timer C Operation: By using the following registers, timer C operation modes are selected and the timer C count is read and written. Timer mode register C1 (TMC1: $00D) Timer mode register C2 (TMC2: $014) Timer write register C (TWCL: $00E, TWCU: $00F) Timer read register C (TRCL: $00E, TRCU: $00F) • Timer mode register C1 (TMC1: $00D): Four-bit write-only register that selects the free-running/ reload timer function, input clock source, and prescaler division ratio (figure 53). It is reset to $0 by MCU reset. 68 Powered by ICminer.com Electronic-Library Service CopyRight 2003 HD404459 Series The mode change of this register is valid from the second instruction execution cycle after the execution of the previous timer mode register C1 write instruction. Setting timer C’s initialization by writing to timer write register C (TWCL: $00E, TWCU: $00F) must be done after a mode change becomes valid. Timer mode register C1 (TMC1: $00D) Bit 3 2 0 1 Initial value 0 0 0 0 Read/Write W W W W TMC13 TMC12 TMC11 TMC10 Bit name TMC13 Free-running/reload timer selection 0 Free-running timer 1 Reload timer Input clock period TMC12 TMC11 TMC10 0 0 0 2048tcyc 1 1024tcyc 0 512tcyc 1 128tcyc 0 32tcyc 1 8tcyc 0 4tcyc 1 2tcyc 1 1 0 1 Figure 53 Timer Mode Register C1 (TMC1) 69 Powered by ICminer.com Electronic-Library Service CopyRight 2003 HD404459 Series • Timer mode register C2 (TMC2: $014): Three-bit read/write register that selects the timer C output mode (figure 54). It is reset to $0 by MCU reset. Timer mode register C2 (TMC2: $014) Bit 3 2 1 0 Initial value — 0 0 0 Read/Write — R/W R/W R/W Not used TMC22 TMC21 TMC20 TMC22 TMC21 TMC20 0 0 0 R31 R31 port 1 TOC Toggle output 0 TOC 0 output 1 TOC 1 output 0 TOC Not used TOC PWM output Bit name 1 1 0 R31/TOC mode selection 1 0 1 1 Figure 54 Timer Mode Register C2 (TMC2) • Timer write register C (TWCL: $00E, TWCU: $00F): Write-only register consisting of a lower digit (TWCL) and an upper digit (TWCU) (figures 55 and 56). The operation of timer write register C is basically the same as that of timer write register B (TWBL: $00A, TWBU: $00B). Timer write register C (lower digit) (TWCL: $00E) Bit 3 2 1 0 Initial value 0 0 0 0 Read/Write W W W W TWCL3 TWCL2 TWCL1 TWCL0 Bit name Figure 55 Timer Write Register C Lower Digit (TWCL) 70 Powered by ICminer.com Electronic-Library Service CopyRight 2003 HD404459 Series Timer write register C (upper digit) (TWCU: $00F) Bit Initial value Read/Write Bit name 3 2 1 0 Undefined Undefined Undefined Undefined W W W W TWCU3 TWCU2 TWCU1 TWCU0 Figure 56 Timer Write Register C Upper Digit (TWCU) • Timer read register C (TRCL: $00E, TRCU: $00F): Read-only register consisting of a lower digit (TRCL) and an upper digit (TRCU) that holds the count of the timer C upper digit(figures 57 and 58). The operation of timer read register C is basically the same as that of timer read register B (TRBL: $00A, TRBU:$00B). Timer read register C (lower digit) (TRCL: $00E) Bit Initial value Read/Write Bit name 3 2 1 0 Undefined Undefined Undefined Undefined R R R R TRCL3 TRCL2 TRCL1 TRCL0 Figure 57 Timer Read Register C Lower Digit (TRCL) Timer read register C (upper digit) (TRCU: $00F) Bit Initial value Read/Write Bit name 3 2 1 0 Undefined Undefined Undefined Undefined R R R R TRCU3 TRCU2 TRCU1 TRCU0 Figure 58 Timer Read Register C Upper Digit(TRCU) Timer D Timer D Functions: Timer D (figures 59 (A) and (B)) has the following functions. Free-running/reload timer External event counter Timer output operation (toggle, 0, 1, and PWM outputs) Input capture timer 71 Powered by ICminer.com Electronic-Library Service CopyRight 2003 HD404459 Series Timer D interrupt request flag (IFTD) Timer output control logic TOD Timer read register DU (TRDU) Timer output control Timer read register DL (TRDL) Clock Timer write register DU (TWDU) System clock øPER ÷2048 Edge detection logic ÷2 ÷4 ÷8 ÷32 ÷128 ÷512 Selector EVND Overflow Free-running/ Reload control Timer write register DL (TWDL) 3 Prescaler S (PSS) Timer mode register D1 (TMD1) 3 Timer mode register D2 (TMD2) Edge detection control 2 Edge detection selection register 2 (ESR2) Figure 59(A) Block Diagram of Timer D (Free-Running/Reload Timer) 72 Powered by ICminer.com Electronic-Library Service CopyRight 2003 Internal data bus Timer counter D (TCD) HD404459 Series Input capture status flag (ICSF) Input capture error flag (ICEF) Timer D interrupt request flag (IFTD) Error control logic Timer read register DU (TRDU) Timer read register DL (TRDL) EVND Edge detection logic Read signal Clock Timer counter D (TCD) Overflow Selector System clock ÷2048 ÷2 ÷4 ÷8 ÷32 ÷128 ÷512 3 Timer mode register D1 (TMD1) Internal data bus Input capture timer control øPER Prescaler S (PSS) Timer mode register D2 (TMD2) Edge detection control 2 Edge detection selection register 2 (ESR2) Figure 59(B) Block Diagram of Timer D (Input Capture Timer) 73 Powered by ICminer.com Electronic-Library Service CopyRight 2003 HD404459 Series Timer D Operations: • Free-running/reload timer operation: The free-running/reload operation, input clock source, and prescaler division ratio are selected by timer mode register D1 (TMD1: $010). Timer D is initialized to the value set in timer write register D (TWDL: $011, TWDU: $012) by software and incremented by one at each clock input. If an input clock is applied to timer D after it has reached $FF, an overflow is generated. In this case, if the reload timer function is enabled, timer D is initialized to its initial value set in timer write register D; if the free-running timer function is enabled, the timer is initialized to $00 and then incremented again. The overflow sets the timer D interrupt request flag (IFTD: $001, bit 2). IFTD can be reset by software or MCU reset. Refer to figure 3 and table 1 for details. • External event counter operation: Timer D is used as an external event counter by selecting the external event input as an input clock source. In this case, pin R40/EVND must be set to EVND by port mode register C (PMRC: $025). Either falling or rising edge, or both falling and rising edges of input signals can be selected as the external event detection edge by detection edge select register 2 (ESR2: $027). When both rising and falling edges detection is selected, the time between the falling edge and rising edge of input signals must be 2t cyc or longer. Timer D is incremented by one at each detection edge selected by detection edge select register 2 (ESR2: $027). The other operation is basically the same as the free-running/reload timer operation. • Timer output operation: The following four output modes can be selected for timer D by setting timer mode register D2 (TMD2: $015). Toggle 0 output 1 output PWM output By selecting the timer output mode, pin R32/TOD is set to TOD. The output from TOD is reset low by MCU reset. Toggle output: The operation is basically the same as that of timer-B’s toggle output. 0 output: The operation is basically the same as that of timer-B’s 0 output. 1 output: The operation is basically the same as that of timer-B’s 1 output. PWM output: The operation is basically the same as that of timer-C’s PWM output. • Input capture timer operation: The input capture timer counts the clock cycles between trigger edges input to pin EVND. Either falling or rising edge, or both falling and rising edges of input signals can be selected as the trigger input edge by detection edge select register 2 (ESR2: $027). 74 Powered by ICminer.com Electronic-Library Service CopyRight 2003 HD404459 Series When a trigger edge is input to EVND, the count of timer D is written to timer read register D (TRDL: $011, TRDU: $012), and the timer D interrupt request flag (IFTD: $001, bit 2) and the input capture status flag (ICSF: $021, bit 0) are set. Timer D is reset to $00, and then incremented again. While ICSF is set, if a trigger input edge is applied to timer D, or if timer D generates an overflow, the input capture error flag (ICEF: $021, bit 1) is set. ICSF and ICEF can be reset to 0 by MCU reset or by writing 0. By selecting the input capture operation, pin R3 2/TOD is set to R3 2 and timer D is reset to $00. Registers for Timer D Operation: By using the following registers, timer D operation modes are selected and the timer D count is read and written. Timer mode register D1 (TMD1: $010) Timer mode register D2 (TMD2: $015) Timer write register D (TWDL: $011, TWDU: $012) Timer read register D (TRDL: $011, TRDU: $012) Port mode register C (PMRC: $025) Detection edge select register 2 (ESR2: $027) • Timer mode register D1 (TMD1: $010): Four-bit write-only register that selects the free-running/reload timer function, input clock source, and the prescaler division ratio (figure 60). It is reset to $0 by MCU reset. The mode change of this register is valid from the second instruction execution cycle after the execution of the previous timer mode register D1 (TMD1: $010) write instruction. Setting timer D’s initialization by writing to timer write register D (TWDL: $011, TWDU: $012) must be done after a mode change becomes valid. When selecting the input capture timer operation, select the internal clock as the input clock source. 75 Powered by ICminer.com Electronic-Library Service CopyRight 2003 HD404459 Series Timer mode register D1 (TMD1: $010) Bit 3 2 1 0 Initial value 0 0 0 0 Read/Write Bit name W W W W TMD13 TMD12 TMD11 TMD10 TMD13 Free-running/reload timer selection TMD12 TMD11 TMD10 0 Free-running timer 0 0 0 2048tcyc 1 Reload timer 1 512tcyc 0 128tcyc 1 32tcyc 0 8tcyc 1 4tcyc 0 2tcyc 1 R40/EVND (external event input) 1 1 0 1 Input clock period and input clock source Figure 60 Timer Mode Register D1 (TMD1) 76 Powered by ICminer.com Electronic-Library Service CopyRight 2003 HD404459 Series • Timer mode register D2 (TMD2: $015): Four-bit read/write register that selects the timer D output mode and input capture operation (figure 61). It is reset to $0 by MCU reset. Timer mode register D2 (TMD2: $015) Bit 3 2 1 0 Initial value 0 0 0 0 Read/Write Bit name R/W R/W R/W R/W TMD23 TMD22 TMD21 TMD20 TMD23 TMD22 TMD21 TMD20 0 0 0 0 R32 R32 port 1 TOD Toggle output 0 TOD 0 output 1 TOD 1 output 0 TOD Not used TOD PWM output R32 Input capture (R32 port) 1 1 0 R32/TOD mode selection 1 0 1 1 1 Don't care Don't care Don't care Figure 61 Timer Mode Register D2(TMD2) • Timer write register D (TWDL: $011, TWDU: $012): Write-only register consisting of a lower digit (TWDL) and an upper digit (TWDU) (figures 62 and 63). The operation of timer write register D is basically the same as that of timer write register B (TWBL: $00A, TWBU: $00B). Timer write register D (lower digit) (TWDL: $011) Bit 3 2 1 0 Initial value 0 0 0 0 Read/Write W W W W TWDL3 TWDL2 TWDL1 TWDL0 Bit name Figure 62 Timer Write Register D Lower Digit (TWDL) 77 Powered by ICminer.com Electronic-Library Service CopyRight 2003 HD404459 Series Timer write register D (upper digit) (TWDU: $012) Bit Initial value Read/Write Bit name 3 2 1 0 Undefined Undefined Undefined Undefined W W W W TWDU3 TWDU2 TWDU1 TWDU0 Figure 63 Timer Write Register D Upper Digit (TWDU) • Timer read register D (TRDL: $011, TRDU: $012): Read-only register consisting of a lower digit (TRDL) and an upper digit (TRDU) (figures 64 and 65). The operation of timer read register D is basically the same as that of timer read register B (TRBL: $00A, TRBU: $00B). When the input capture timer operation is selected and if the count of timer D is read after a trigger is input, either the lower or upper digit can be read first. Timer read register D (lower digit) (TRDL: $011) Bit Initial value Read/Write Bit name 3 2 1 0 Undefined Undefined Undefined Undefined R R R R TRDL3 TRDL2 TRDL1 TRDL0 Figure 64 Timer Read Register D Lower Digit (TRDL) Timer read register D (upper digit) (TRDU: $012) Bit Initial value Read/Write Bit name 3 2 1 0 Undefined Undefined Undefined Undefined R R R R TRDU3 TRDU2 TRDU1 TRDU0 Figure 65 Timer Read Register D Upper Digit (TRDU) • Port mode register C (PMRC: $025): Write-only register that selects R40/EVND pin function (figure 51). It is reset to $0 by MCU reset. 78 Powered by ICminer.com Electronic-Library Service CopyRight 2003 HD404459 Series • Detection edge select register 2 (ESR2: $027): Write-only register that selects the detection edge of signals input to pin EVND (figure 66). It is reset to $0 by MCU reset. Detection edge register 2 (ESR2: $027) Bit 3 2 1 0 Initial value 0 0 — — Read/Write W W — — Bit name ESR23 ESR22 Not used Not used EVND detection edge ESR23 ESR22 0 0 No detection 1 Falling-edge detection 0 Rising-edge detection 1 Double-edge detection* 1 Note: * Both falling and rising edges are detected. Figure 66 Detection Edge Select Register 2 (ESR2) 79 Powered by ICminer.com Electronic-Library Service CopyRight 2003 HD404459 Series Notes on Use When using the timer output as PWM output, note the following point. From the update of the timer write register until the occurrence of the overflow interrupt, the PWM output differs from the period and duty settings, as shown in table 27. The PWM output should therefore not be used until after the overflow interrupt following the update of the timer write register. After the overflow, the PWM output will have the set period and duty cycle. Table 27 PWM Output following Update of Timer Write Register PWM Output Mode Timer Write Register is Updated during High PWM Output Timer write register updated to value N Free running Timer Write Register is Updated during Low PWM Output Timer write register updated to value N Interrupt request T × (255 – N) T × (N + 1) Interrupt request T × (N' + 1) T × (255 – N) Reload Timer write register updated to value N T Interrupt request T × (255 – N) T Timer write register updated to value N Powered by ICminer.com Electronic-Library Service CopyRight 2003 Interrupt request T T × (255 – N) 80 T × (N + 1) T HD404459 Series Serial Interface The MCU has a serial interface (figure 67). The serial interface serially transfers or receives 8-bit data, and includes the following features. • Multiple transmit clock sources External clock Internal prescaler output clock System clock • Output level control in idle states Five registers, an octal counter, and a multiplexer are also configured for the serial interface as follows. Serial data register (SRL: $006, SRU: $007) Serial mode register A (SMRA: $005) Serial mode register B (SMRB: $028) Port mode register A (PMRA: $004) Miscellaneous register (MIS: $00C) Octal counter (OC) Selector 81 Powered by ICminer.com Electronic-Library Service CopyRight 2003 HD404459 Series Octal counter (OC) SO Serial interrupt request flag (IFS) Idle controller SCK Clock I/O controller Serial data register (SR) 1/2 Selector 1/2 Transfer control signal Internal data bus SI Selector ÷2 ÷8 ÷32 ÷128 ÷512 ÷2048 3 System clock φPER Prescaler S (PSS) Serial mode register A (SMRA) Serial mode register B (SMRB) Figure 67 Serial Interface Block Diagram Serial Interface Operation Selecting and Changing the Operating Mode: To select an operating mode, use one of these combinations of port mode register A (PMRA: $004) and serial mode register A (SMRA: $005) settings (table 28); to change the operating mode of the serial interface, always initialize the serial interface internally by writing data to serial mode register A. Note that the serial interface is initialized by writing data to serial mode register A. Refer to the following section, Registers for Serial Interface, for details. Pin Setting: The R41/SCK pin is controlled by writing data to serial mode register A (SMRA: $005). Pins R4 2/SI and R4 3/SO are controlled by writing data to port mode register A (PMRA: $004). Refer to the following section, Registers for Serial Interface, for details. Transmit Clock Source Setting: The transmit clock source of the serial interface is set by writing data to serial mode register A (SMRA: $005) and serial mode register B (SMRB: $028). Refer to the following section, Registers for Serial Interface, for details. Data Setting: Transmit data of the serial interface is set by writing data to the serial data register (SRL: $006, SRU: $007). Receive data of the serial interface is obtained by reading the contents of the serial data register. The serial data is shifted by each serial interface transmit clock and is input from or output to an external system. 82 Powered by ICminer.com Electronic-Library Service CopyRight 2003 HD404459 Series The output level of the SO pins is undefined until the first data of each serial interface is output after MCU reset, or until the output level control in idle states is performed. Transfer Control: The serial interface is activated by the STS instruction. The octal counter is reset to 000 by the STS instruction and is incremented at the rising edge of the transmit clock for the serial interface. When the eighth transmit clock signal is input or when serial transmission/reception is discontinued, the octal counter is reset to 000, the serial interrupt request flag (IFS: $023, bit 0) for serial interface is set, and the transfer stops. When the prescaler output is selected as the transmit clock of the serial interface, the transmit clock frequency is selected as 4tcyc to 8192tcyc by setting bits 0 to 2 (SMRA0–SMRA2) of serial mode register A (SMRA: $005) and bit 0 (SMRB0) of serial mode register B (SMRB: $028) (table 29). Table 28 Serial Interface Operating Mode SMRA PMRA Bit 3 Bit 1 Bit 0 Operating Mode 1 0 0 Continuous clock output mode 1 Transmit mode 0 Receive mode 1 Transmit/receive mode 1 Table 29 Serial Transmit Clock (Prescaler Output) SMRB SMRA Bit 0 Bit 2 Bit 1 Bit 0 Prescaler Division Ratio Transmit Clock Frequency 0 0 0 0 ÷ 2048 4096t cyc 1 ÷ 512 1024t cyc 0 ÷ 128 256t cyc 1 ÷ 32 64t cyc 0 ÷8 16t cyc 1 ÷2 4t cyc 0 ÷ 4096 8192t cyc 1 ÷ 1024 2048t cyc 0 ÷ 256 512t cyc 1 ÷ 64 128t cyc 0 ÷ 16 32t cyc 1 ÷4 8t cyc 1 1 1 0 0 0 1 1 0 83 Powered by ICminer.com Electronic-Library Service CopyRight 2003 HD404459 Series Operating States: The serial interface has the following operating states, which allow transitions to occur between them (figure 68). STS wait state Transmit clock wait state Transfer state Continuous clock output state (only in internal clock mode) External clock mode STS wait state (Octal counter = 000, transmit clock disabled) SMRA write 00 MCU reset 06 SMRA write (IFS ← 1) 04 01 STS instruction 02 Transmit clock Transmit clock wait state (Octal counter = 000) 03 8 transmit clocks Transfer state (Octal counter = 000) 05 STS instruction (IFS ← 1) Internal clock mode SMRA write 18 Continuous clock output state (PMRA 0, 1 = 0, 0) STS wait state (Octal counter = 000, transmit clock disabled) 10 13 SMRA write 14 11 STS instruction MCU reset 8 transmit clocks 16 SMRA write (IFS ←1) Transmit clock 17 12 Transmit clock Transmit clock wait state (Octal counter = 000) Transfer state (Octal counter = 000) 15 STS instruction (IFS ← 1) Note: Refer to the Operating States section for the explanations on the corresponding encircled numbers. Figure 68 Serial Interface State Transitions • STS wait state: The serial interface enters STS wait state by MCU reset (00 and 10 in figure 68). In STS wait state, the serial interface is initialized and the transmit clock is ignored. If the STS instruction is then executed (01 and 11), the serial interface enters transmit clock wait state. 84 Powered by ICminer.com Electronic-Library Service CopyRight 2003 HD404459 Series • Transmit clock wait state: Transmit clock wait state is the period between the STS execution and the falling edge of the first transmit clock. In transmit clock wait state, input of the transmit clock (02 and 12) increments the octal counter, shifts the serial data register (SRL: $006, SRU: $007), and enters the serial interface in transfer state. However, note that if continuous clock output state is selected in internal clock mode, the serial interface does not enter transfer state but enters continuous clock output state (17). The serial interface enters STS wait state by writing data to serial mode register A (SMRA: $005) (04 and 14) in transmit clock wait state. • Transfer state: Transfer state is the period between the falling edge of the first clock and the rising edge of the eighth clock. In transfer state, the input of eight clocks or the execution of the STS instruction sets the octal counter to 000, and the serial interface enters another state. When the STS instruction is executed (05 and 15), transmit clock wait state is entered. When eight clocks are input, transmit clock wait state is entered (03) in external clock mode, or STS wait state is entered (13) in internal clock mode. In internal clock mode, the transmit clock stops after outputting eight clocks. In transfer state, writing data to serial mode register A (SMRA: $005) (06 and 16) initializes the serial interface, and STS wait state is entered. If the state changes from transfer to another state, the serial interrupt request flag (IFS: $023, bit 0) is set by the octal counter that is reset to 000. • Continuous clock output state (only in internal clock mode): Continuous clock output state is entered only in internal clock mode. In this state, the serial interface does not transmit/receive data but only outputs the transmit clock from the SCK pin. When bits 0 and 1 (PMRA0, PMRA1) of port mode register A (PMRA: $004) are 00 in transmit clock wait state and if the transmit clock is input (17), the serial interface enters continuous clock output state. If serial mode register A (SMRA: $005) is written to in continuous clock output mode (18), STS wait state is entered. Output Level Control in Idle States: When the serial interface is in STS instruction wait state and transmit clock wait state, the output of serial output pin SO can be controlled by setting bit 1 (SMRB1) of serial mode register B (SMRB: $028) to 0 or 1. See figure 69 for an output level control example of the serial interface. Note that the output level cannot be controlled in transfer state. 85 Powered by ICminer.com Electronic-Library Service CopyRight 2003 HD404459 Series Transmit clock wait state State STS wait state Transmit clock wait state Transfer state STS wait state MCU reset Port selection PMRA write External clock selection Dummy write for state transition SMRA write Output level control in idle states Output level control in idle states SMRB write Data write for transmission SRL, SRU write STS instruction SCK pin (input) SO pin Undefined LSB MSB IFS External clock mode Flag reset at transfer completion Transmit clock wait state State STS wait state Transfer state STS wait state MCU reset Port selection PMRA write Internal clock selection SMRA write Output level control in idle states Output level control in idle states SMRB write Data write for transmission SRL, SRU write STS instruction SCK pin (output) SO pin Undefined LSB MSB IFS Internal clock mode Flag reset at transfer completion Figure 69 Example of Serial Interface Operation Sequence 86 Powered by ICminer.com Electronic-Library Service CopyRight 2003 HD404459 Series Transmit Clock Error Detection (In External Clock Mode): The serial interface will malfunction if a spurious pulse caused by external noise conflicts with a normal transmit clock during transfer. A transmit clock error of this type can be detected (figure 70). If more than eight transmit clocks are input in transfer state, at the eighth clock including a spurious pulse by noise, the octal counter reaches 000, the serial interrupt request flag (IFS: $023, bit 0) is set, and transmit clock wait state is entered. At the falling edge of the next normal clock signal, the transfer state is again entered. After the transfer is completed and IFS is reset, writing to serial mode register A (SMRA: $005) then changes the state from transfer to STS wait. However, during the time the serial interface was in the transfer state with the serial interrupt request flag (IFS: $023, bit 0) being set again, the error can be detected. Notes on Use: • Initialization after writing to registers: If port mode register A (PMRA: $004) is written to in transmit clock wait state or in transfer state, the serial interface must be initialized by writing to serial mode register A (SMRA: $005) again. • Serial interrupt request flag (IFS: $023, bit 0) set: For the serial interface, if the state is changed from transfer state to another by writing to serial mode register A (SMRA: $005) or executing the STS instruction during the first low pulse of the transmit clock, the serial interrupt request flag (IFS: $023, bit 0) is not set. To set the serial interrupt request flag (IFS: $023, bit 0), a serial mode register A (SMRA: $005) write or STS instruction execution must be programmed to be executed after confirming that the SCK pin is at 1, that is, after executing the input instruction to port R4. 87 Powered by ICminer.com Electronic-Library Service CopyRight 2003 HD404459 Series Transfer completion (IFS ← 1) Interrupts inhibited IFS ← 0 SMRA write Yes IFS = 1? Transmit clock error processing No Normal termination Transmit clock error detection flowchart Transmit clock wait state Transmit clock wait state Transfer state State SCK pin (input) Transfer state Noise 1 2 3 4 5 6 7 8 Transfer state has been entered by the transmit clock error. When SMRA is written, IFS is set. SMRA write IFS Flag set because octal counter reaches 000. Transmit clock error detection procedures Figure 70 Transmit Clock Error Detection 88 Powered by ICminer.com Electronic-Library Service CopyRight 2003 Flag reset at transfer completion. HD404459 Series Registers for Serial Interface The serial interface operation is selected, and serial data is read and written by the following registers. Serial mode register A (SMRA: $005) Serial mode register B (SMRB: $028) Serial data register (SRL: $006, SRU: $007) Port mode register A (PMRA: $004) Miscellaneous register (MIS: $00C) Serial Mode Register A (SMRA: $005): This register has the following functions (figure 71). • • • • R4 1/SCK pin function selection Transmit clock selection Prescaler division ratio selection Serial interface initialization Serial mode register A (SMRA: $005) is a 4-bit write-only register. It is reset to $0 by MCU reset. A write signal input to serial mode register A (SMRA: $005) discontinues the input of the transmit clock to the serial data register (SRL: $006, SRU: $007) and octal counter, and the octal counter is reset to 000. Therefore, if a write is performed during data transfer, the serial interrupt request flag (IFS: $023, bit 0) is set. Written data is valid from the second instruction execution cycle after the write operation, so the STS instruction must be executed at least two cycles after that. 89 Powered by ICminer.com Electronic-Library Service CopyRight 2003 HD404459 Series Serial mode register A (SMRA: $005) Bit 3 2 1 0 Initial value 0 0 0 0 Read/Write W W W W Bit name SMRA3 SMRA3 SMRA2 SMRA1 SMRA0 R41/SCK mode selection 0 R41 1 SCK SMRA2 0 SMRA1 SMRA0 0 SCK Clock source Output Prescaler Refer to table 29 0 Output System clock — 1 Input External clock — 0 1 1 Prescaler division ratio 0 1 1 0 0 1 1 Figure 71 Serial Mode Register A (SMRA) Serial Mode Register B (SMRB: $028): This register has the following functions (figure 72). • Prescaler division ratio selection • Output level control in idle states Serial mode register B (SMRB: $028) is a 2-bit write-only register. It cannot be written during data transfer. By setting bit 0 (SMRB0) of this register, the prescaler division ratio is selected. Only bit 0 (SMRB0) can be reset to 0 by MCU reset. By setting bit 1 (SMRB1), the output level of the SO pin is controlled in idle states of the serial interface. The output level changes at the same time that SMRB1 is written to. 90 Powered by ICminer.com Electronic-Library Service CopyRight 2003 HD404459 Series Serial mode register B (SMRB: $028) Bit 3 2 1 0 Initial value — — Undefined 0 Read/Write — — W W Bit name Not used Not used SMRB1 SMRB1 Output level control in idle states SMRB0 SMRB0 Serial clock division ratio 0 Low level 0 Prescaler output divided by 2 1 High level 1 Prescaler output divided by 4 Figure 72 Serial Mode Register B (SMRB) Serial Data Register (SRL: $006, SRU: $007): This register has the following functions (figures 73 and 74). • Transmission data write and shift • Receive data shift and read Writing data in this register is output from the SO pin, LSB first, synchronously with the falling edge of the transmit clock (figure 75); data is input, LSB first, through the SI pin at the rising edge of the transmit clock. Data cannot be read or written during serial data transfer. If a read/write occurs during transfer, the accuracy of the resultant data cannot be guaranteed. Serial data register (lower digit) (SRL: $006) Bit Initial value 3 2 1 0 Undefined Undefined Undefined Undefined Read/Write R/W R/W R/W R/W Bit name SR3 SR2 SR1 SR0 Figure 73 Serial Data Register Lower Digit (SRL) 91 Powered by ICminer.com Electronic-Library Service CopyRight 2003 HD404459 Series Serial data register (upper digit) (SRU: $007) Bit Initial value 1 2 3 0 Undefined Undefined Undefined Undefined Read/Write R/W R/W R/W R/W Bit name SR7 SR6 SR5 SR4 Figure 74 Serial Data Register Upper Digit (SRU) Transmit clock 1 Serial output data 2 3 4 5 6 LSB Serial input data latch timing Figure 75 Serial Interface Output Timing 92 Powered by ICminer.com Electronic-Library Service CopyRight 2003 7 8 MSB HD404459 Series Port Mode Register A (PMRA: $004): This register has the following functions (figure 76). • R4 2/SI pin function selection • R4 3/SO pin function selection Port mode register A (PMRA: $004) is a 2-bit write-only register, and is reset to $0 by MCU reset. Port mode register A (PMRA: $004) Bit 3 2 1 0 Initial value — — 0 0 Read/Write — — W W Bit name Not used Not used PMRA1 PMRA0 PMRA0 R43/SO mode selection 0 R43 1 SO PMRA1 R42/SI mode selection 0 R42 1 SI Figure 76 Port Mode Register A (PMRA) 93 Powered by ICminer.com Electronic-Library Service CopyRight 2003 HD404459 Series Miscellaneous Register (MIS: $00C): This register has the following functions (figure 77). • R4 3/SO pin PMOS control Miscellaneous register (MIS: $00C) is a 4-bit write-only register and is reset to $0 by MCU reset. Miscellaneous register (MIS: $00C) Bit 3 2 1 0 Initial value 0 0 0 0 Read/Write W W W W MIS3 MIS2 MIS1 MIS0 MIS1 MIS0 0 0 0.12207 ms 1 7.8125 ms 0 62.5 ms 1 Not used Bit name 1 MIS2 R43/SO PMOS on/off selection 0 On 1 Off MIS3 tRC Pull-up MOS on/off selection 0 Off 1 On Figure 77 Miscellaneous Register (MIS) 94 Powered by ICminer.com Electronic-Library Service CopyRight 2003 HD404459 Series Comparator The comparator (figure 78) compares an analog input voltage with a reference voltage. Either a 16-level internal or external reference power supply can be selected. The voltage comparison is started by writing 1 to the comparator start flag (CMSF: $020, bit 2), and is completed after 4t cyc. The comparison result is stored into bit 3 (CER: $017, bit 3) of the comparator enable register, and can be read by the bit test instruction (TM or TMD). The comparison result must be read after confirming that the comparator start flag (CMSF: $020, bit 2) is at 0 (figure 79). Internal data bus 4 3 1 Comparator control register (CCR) Comparator start flag (CMSF) 4 1 Comparator enable register (CER) 1 1 Selector Selector 2 R93/VCref RA0/COMP0 RA1/COMP1 RA2/COMP2 RA3/COMP3 Selector COMP Figure 78 Block Diagram of Comparator 95 Powered by ICminer.com Electronic-Library Service CopyRight 2003 HD404459 Series Comparator start flag Write cycle 4tcyc (RA port must not be used) Internal system clock Comparator start flag (CMSF) Voltage comparison result (CER3) Figure 79 Comparator Operation Timing 96 Powered by ICminer.com Electronic-Library Service CopyRight 2003 HD404459 Series Comparator Control Register (CCR: $016): Four-bit write-only register which selects a 16-level internal reference power supply (figure 80). The comparator control register (CCR: $016) is reset to $0 by MCU reset. Comparator control register (CCR: $016) Bit 3 2 1 0 Initial value 0 0 0 0 Read/Write W W W W CCR3 CCR2 CCR1 CCR0 CCR3 CCR2 CCR1 CCR0 0 0 0 0 1/17 VCC 1 2/17 VCC 0 3/17 VCC 1 4/17 VCC 0 5/17 VCC 1 6/17 VCC 0 7/17 VCC 1 8/17 VCC 0 9/17 VCC 1 10/17 VCC 0 11/17 VCC 1 12/17 VCC 0 13/17 VCC 1 14/17 VCC 0 15/17 VCC 1 16/17 VCC Bit name 1 1 0 1 1 0 0 1 1 0 1 Reference power supply selection Figure 80 Comparator Control Register (CCR) Comparator Enable Register (CER: $017): This register consists of a 3-bit write-only register and a 1-bit read-only register. It selects the analog input pins and reference voltage, and indicates the voltage comparison result. The comparison result output is 0 when an analog input voltage is lower than the reference voltage, and is 1 when an analog input voltage is higher than the reference voltage. The comparison result is read by the bit test instruction (TM or TMD). The comparator enable register (CER: $017) is reset to $0 by MCU reset. 97 Powered by ICminer.com Electronic-Library Service CopyRight 2003 HD404459 Series Comparator enable register (CER: $017) Bit 3 2 1 0 Initial value 0 0 0 0 Read/Write R W W W CER3 CER2 CER1 CER0 Bit name CER1 CER0 0 0 COMP0 1 COMP1 0 COMP2 1 COMP3 1 CER2 Analog input mode selection Reference power supply selection 0 External reference power supply 1 Internal reference power supply CER3 Voltage comparison result 0 Analog input voltage is lower than reference voltage 1 Analog input voltage is higher than reference voltage Figure 81 Comparator Enable Register (CER) Comparator Start Flag (CMSF: $020, Bit 2): Starts the comparator operation. The comparator starts the voltage comparison by writing 1 to the comparator start flag (CMSF: $020, bit 2), and automatically completes the voltage comparison after 4tcyc. The comparator start flag is then reset to 0. The comparison result must be read after confirming that the comparator start flag is at 0. The comparator start flag is reset to 0 by MCU reset. Notes on Use: RA0/COMP0–RA3/COMP3 pins are used only for the comparator during voltage comparison. These pins cannot be used for R ports. The comparator operates only in the active and standby modes. The switch for the internal power supply is turned on when the internal power supply is selected. The switch is turned off except in active and standby modes. When the external power supply is used for a reference voltage, R93/VCref must not be used as an R port. 98 Powered by ICminer.com Electronic-Library Service CopyRight 2003 HD404459 Series Notes on Mounting Assemble all parts including the HD404458/HD404459 on a board, noting the points described below. Between the VCC and GND lines, connect capacitors designed for use in ordinary power supply circuits. An example connection is described in figure 82. No resistors can be inserted in series in the power supply circuit, so the capacitors should be connected in parallel. The capacitors are a large capacitance C1 and a small capacitance C2. VCC VCC C1 GND C2 GND Figure 82 Example of Connections 99 Powered by ICminer.com Electronic-Library Service CopyRight 2003 HD404459 Series Programmable ROM (HD4074459) The HD4074459 is a ZTAT TM microcomputer with a built-in PROM that can be programmed in PROM mode. PROM Mode Pin Description Pin No. MCU Mode PROM Mode Pin No. MCU Mode FP-64A Pin Name I/O FP-64A Pin Name I/O Pin Name I/O 1 RA 0/COMP0 I 29 R1 0 I/O A5 I 2 RA 1/COMP1 I 30 R1 1 I/O A6 I 3 RA 2/COMP2 I 31 R1 2 I/O A7 I 4 RA 3/COMP3 I 32 R1 3 I/O A8 I 5 TEST I TEST 33 R2 0 I/O A0 I 6 OSC 1 I VCC 34 R2 1 I/O A10 I 7 OSC 2 O 35 R2 2 I/O A11 I 8 GND — 36 R2 3 I/O A12 I 9 X2 O 37 R3 0/TOB I/O 10 X1 I GND 38 R3 1/TOC I/O 11 RESET I RESET I 39 R3 2/TOD I/O 12 D0 I/O O0 I/O 40 R3 3/EVNB I/O 13 D1 I/O O1 I/O 41 R4 0/EVND I/O 14 D2 I/O O2 I/O 42 R4 1/SCK I/O 15 D3 I/O O3 I/O 43 R4 2/SI I/O 16 D4 I/O O4 I/O 44 R4 3/SO I/O 17 D5 I/O O5 I/O 45 R5 0/(WU0) I/O 18 D6 I/O O6 I/O 46 R5 1/(WU1) I/O 19 D7 I/O O7 I/O 47 R5 2/(WU2) I/O 20 D8 I/O A13 I 48 R5 3/(WU3) I/O 21 D9 I/O A14 I 49 R6 0/(WU4) I/O CE I 22 D10 I VPP I 50 R6 1/(WU5) I/O OE I 23 D11/STOPC I A9 I 51 R6 2/(WU6) I/O VCC 24 VCC — VCC 52 R6 3/(WU7) I/O VCC 25 R0 0/INT0 I/O M0 I 53 R7 0 I/O A1 I 26 R0 1/INT1 I/O M1 I 54 R7 1 I/O A2 I 27 R0 2/INT2 I/O 55 R7 2 I/O A3 I 28 R0 3/INT3 I/O 56 R7 3 I/O A4 I Pin Name GND 100 Powered by ICminer.com Electronic-Library Service CopyRight 2003 I/O I — PROM Mode HD404459 Series Pin No. MCU Mode PROM Mode Pin No. MCU Mode FP-64A Pin Name I/O Pin Name 57 R8 0 I/O 58 R8 1 59 60 PROM Mode I/O FP-64A Pin Name I/O Pin Name I/O O4 I/O 61 R9 0 I/O O0 I/O I/O O3 I/O 62 R9 1 I/O VCC R8 2 I/O O2 I/O 63 R9 2 I/O R8 3 I/O O1 I/O 64 R9 3/VCref I Notes: 1. I/O: Input/output pin, I: Input pin, O: Output pin 2. Each of O0–O4 has two pins; before using them, each pair must be connected together. 101 Powered by ICminer.com Electronic-Library Service CopyRight 2003 HD404459 Series Programming the Built-In PROM The MCU’s built-in PROM is programmed in PROM mode. This PROM mode is set by pulling TEST, M0, and M1 low, and RESET high (figure 83). In PROM mode, the MCU does not operate, but it can be programmed in the same way as any other commercial 27256-type EPROM using a standard PROM programmer and a 64-to-28-pin socket adapter. Refer to table 31 for the Recommended PROM programmers and socket adapters of the HD4074459. Since an HMCS400-series instruction is ten bits long, the HMCS400-series MCU has a built-in conversion circuit to enable the use of a general-purpose PROM programmer. This circuit splits each instruction into five lower bits and five upper bits that are read from or written to consecutive addresses. This means that if, for example, 16 kwords of built-in PROM are to be programmed by a general-purpose PROM programmer, a 32-kbyte address space ($0000–$7FFF) must be specified. Warnings 1. Always specify addresses $0000 to $7FFF when programming with a PROM programmer. If address $8000 or higher is accessed, the PROM may not be programmed or verified correctly. Set all data in unused addresses to $FF. Note that the plastic-package versions cannot be erased or reprogrammed. 2. Make sure that the PROM programmer, socket adapter, and LSI are aligned correctly (their pin 1 positions match), otherwise overcurrents may damage the LSI. Before starting programming, make sure that the LSI is firmly fixed in the socket adapter and the socket adapter is firmly fixed onto the programmer. 3. PROM programmers have two voltages (VPP): 12.5 V and 21 V. Remember that ZTATTM devices require a VPP of 12.5 V—the 21-V setting will damage them. 12.5 V is the Intel 27256 setting. Programming and Verification The built-in PROM of the MCU can be program med at high speed without risk of voltage stress or damage to data reliability. Refer to table 30 for programming and verification modes. For details of PROM programming, refer to the preface section, Notes on PROM Programming. Table 30 PROM Mode Selection Pin Mode CE OE VPP O0–O7 Programming Low High VPP Data input Verification High Low VPP Data output Programming inhibited High High VPP High impedance 102 Powered by ICminer.com Electronic-Library Service CopyRight 2003 HD404459 Series Table 31 Recommended PROM Programmers and Socket Adapters PROM Programmer Socket Adapter Manufacturer Model Name Package Model Name Manufacturer DATA I/O Corp. 121B FP-64A HS4459ESH01H Hitachi AVAL Corp. PKW-1000 FP-64A HS4459ESH01H Hitachi VCC VCC VCC RESET TEST M0 VPP M1 O0 to O7 Data O0 to O7 A0 to A14 Address A0 to A14 VPP HD4074459H VCC OSC1 R62 R63 OE OE CE CE R91 X1 GND Figure 83 PROM Mode Connections 103 Powered by ICminer.com Electronic-Library Service CopyRight 2003 HD404459 Series Addressing Modes RAM Addressing Modes The MCU has three RAM addressing modes (figure 84). Register Indirect Addressing Mode: The contents of the W, X, and Y registers (10 bits in total) are used for RAM addressing. Direct Addressing Mode: A direct addressing instruction consists of two words. The first word contains the opcode, and the contents of the second word (10 bits) are used for RAM addressing. Memory Register Addressing Mode: The memory registers (MR), which are located in 16 addresses from $040 to $04F, are accessed with the LAMR and XMRA instructions. W register W1 W0 RAM address X register X3 X2 X1 Y register X0 Y3 Y2 Y1 Y0 AP9 AP8 AP7 AP6 AP5 AP4 AP3 AP2 AP1 AP0 Register Indirect Addressing 1st word of Instruction Opcode 2nd word of Instruction d RAM address 9 d8 d7 d6 d5 d4 d3 d2 d1 d0 AP9 AP8 AP7 AP6 AP5 AP4 AP3 AP2 AP1 AP0 Direct Addressing Instruction Opcode 0 RAM address 0 0 1 Figure 84 RAM Addressing Modes Powered by ICminer.com Electronic-Library Service CopyRight 2003 0 m1 m0 0 AP9 AP8 AP7 AP6 AP5 AP4 AP3 AP2 AP1 AP0 Memory Register Addressing 104 m3 m2 HD404459 Series ROM Addressing Modes and the P Instruction The MCU has four ROM addressing modes (figure 85). Direct Addressing Mode: A program can branch to any address in ROM memory space by executing the JMPL, BRL, or CALL instruction. Each of these instructions replaces the 14 program counter bits (PC13– PC0) with 14-bit immediate data. Current Page Addressing Mode: The MCU has 64 pages of ROM with 256 words per page. A program can branch to any address in the current page by executing the BR instruction. This instruction replaces the eight low-order bits of the program counter (PC7–PC0) with eight-bit immediate data. If the BR instruction is on a page boundary (address 256n + 255), executing that instruction transfers the PC contents to the next physical page (figure 87). This means that the execution of the BR instruction on a page boundary will make the program branch to the next page. Note that the HMCS400-series cross macroassembler has an automatic paging feature for ROM pages. Zero-Page Addressing Mode: A program can branch to the zero-page subroutine area located at $0000– $003F by executing the CAL instruction. When the CAL instruction is executed, 6 bits of immediate data are placed in the six low-order bits of the program counter (PC5–PC0), and 0s are placed in the eight highorder bits (PC13–PC6). Table Data Addressing Mode: A program can branch to an address determined by the contents of four-bit immediate data, the accumulator, and the B register by executing the TBR instruction. P Instruction: ROM data addressed in table data addressing mode can be referenced with the P instruction (figure 86). If bit 8 of the ROM data is 1, eight bits of ROM data are written to the accumulator and the B register. If bit 9 is 1, eight bits of ROM data are written to the R1 and R2 port output registers. If both bits 8 and 9 are 1, ROM data is written to the accumulator and the B register, and also to the R1 and R2 port output registers at the same time. The P instruction has no effect on the program counter. 105 Powered by ICminer.com Electronic-Library Service CopyRight 2003 HD404459 Series 1st word of instruction [JMPL] [BRL] [CALL] Opcode p3 Program counter 2nd word of instruction p2 p1 p0 d9 d8 d7 d6 d5 d4 d3 d2 d1 d0 PC13 PC12 PC11 PC10 PC 9 PC 8 PC 7 PC 6 PC 5 PC 4 PC 3 PC 2 PC 1 PC 0 Direct Addressing Instruction [BR] Program counter Opcode b7 b6 b5 b4 b3 b2 b1 b0 PC13 PC12 PC11 PC10 PC 9 PC 8 PC7 PC 6 PC 5 PC 4 PC 3 PC 2 PC 1 PC 0 Current Page Addressing Instruction [CAL] 0 Program counter 0 0 0 a5 Opcode 0 0 0 a4 a3 a2 a1 a0 0 PC13 PC12 PC11 PC10 PC 9 PC 8 PC 7 PC 6 PC 5 PC 4 PC 3 PC 2 PC 1 PC 0 Zero Page Addressing Instruction [TBR] Opcode p3 p2 p1 p0 B register B3 0 Program counter A3 A2 A1 A0 PC13 PC12 PC11 PC10 PC 9 PC 8 PC 7 PC 6 PC 5 PC 4 PC 3 PC 2 PC 1 PC 0 Figure 85 ROM Addressing Modes Powered by ICminer.com Electronic-Library Service CopyRight 2003 B0 0 Table Data Addressing 106 B2 B1 Accumulator HD404459 Series Instruction [P] Opcode p3 p2 p1 p0 B register B3 0 B2 B1 Accumulator B0 A3 A2 A1 A0 0 Referenced ROM address RA13 RA12 RA11 RA10 RA 9 RA 8 RA 7 RA 6 RA 5 RA 4 RA 3 RA 2 RA 1 RA 0 Address Designation ROM data RO9 RO8 RO7 RO6 RO5 RO4 RO3 RO2 RO1 RO0 Accumulator, B register ROM data B3 B2 B1 B0 A3 A 2 A1 A 0 If RO 8 = 1 RO9 RO8 RO7 RO6 RO5 RO4 RO3 RO2 RO1 RO0 Output registers R1, R2 R2 3 R2 2 R21 R2 0 R1 3 R12 R11 R10 If RO 9 = 1 Pattern Output Figure 86 P Instruction 256 (n – 1) + 255 BR AAA 256n AAA BBB 256n + 254 256n + 255 256 (n + 1) NOP BR BR BBB AAA NOP Figure 87 Branching when the Branch Destination is on a Page Boundary 107 Powered by ICminer.com Electronic-Library Service CopyRight 2003 HD404459 Series Absolute Maximum Ratings (HD404458/HD404459) Item Symbol Value Unit Notes Supply voltage VCC –0.3 to +4.0 V Pin voltage VT –0.3 to (VCC + 0.3) V Total permissible input current ∑Io 50 mA 2 Total permissible output current –∑Io 50 mA 3 Maximum input current Io 4 mA 4, 5 Maximum output current –I o 4 mA 5, 6 Operating temperature Topr –20 to +75 °C Storage temperature Tstg –55 to +125 °C Absolute Maximum Ratings (HD4074459) Item Symbol Value Unit Notes Supply voltage VCC –0.3 to +4.0 V Programming voltage VPP –0.3 to +14.0 V Pin voltage VT –0.3 to (VCC + 0.3) V Total permissible input current ∑Io 50 mA 2 Total permissible output current –∑Io 50 mA 3 Maximum input current Io 4 mA 4, 5 Maximum output current –I o 4 mA 5, 6 Operating temperature Topr –20 to +75 °C 7 Storage temperature Tstg –55 to +125 °C 1 Notes: Permanent damage may occur if these absolute maximum ratings are exceeded. Normal operation must be under the conditions stated in the electrical characteristics tables. If these conditions are exceeded, the LSI may malfunction or its reliability may be affected. 1. Applies to D 10 (VPP) of the HD4074459. 2. The total permissible input current is the total of input currents simultaneously flowing in from all the I/O pins to ground. 3. The total permissible output current is the total of output currents simultaneously flowing out from VCC to all I/O pins. 4. The maximum input current is the maximum current flowing from each I/O pin to ground. 5. Applies to D0–D 9, R0–R8, and R90–R9 2. 6. The maximum output current is the maximum current flowing out from V CC to each I/O pin. 7. Depends on the supply voltage. 108 Powered by ICminer.com Electronic-Library Service CopyRight 2003 HD404459 Series Electrical Characteristics DC Characteristics HD404458, HD404459: VCC = 1.8 to 3.6 V, GND = 0 V, Ta = –20 to +75°C, f OSC = 0.4 to 4.0 MHz HD4074459: VCC = 2.2 to 2.7 V, GND = 0 V, Ta = –5 to +60°C, f OSC = 0.4 to 2.0 MHz; VCC = 2.7 to 3.6 V, GND = 0 V, Ta = –20 to +75°C, f OSC = 0.4 to 4.0 MHz, unless otherwise specified. Item Symbol Pin(s) Min Typ Max Input high voltage VIH 0.9V CC — VCC + 0.3 V — OSC 1 VCC – 0.3 — VCC + 0.3 V External clock operation RESET, STOPC, –0.3 — 0.1V CC V — OSC 1 –0.3 — 0.3 V External clock operation Output high VOH voltage SCK, SO, VCC – 0.5 — — V –I OH = 0.3 mA Output low VOL voltage SCK, SO, — — 0.4 V I OL = 0.4 mA I/O leakage | IIL | current RESET, STOPC, — — 1.0 µA Vin = 0 V to VCC 1 — 3 6 mA HD404458, 2 RESET, STOPC, Unit Test Condition Notes INT0, INT1, INT2, INT3, SCK, SI, WU0–WU7, EVNB, EVND Input low voltage VIL INT0, INT1, INT2, INT3, SCK, SI, WU0–WU7, EVNB, EVND TOB, TOC, TOD TOB, TOC, TOD INT0, INT1, INT2, INT3, SCK, SI, WU0–WU7, SO, EVNB, EVND, OSC 1, TOB, TOC, TOD Current dissipation in active mode I CC VCC HD404459: VCC = 3.0 V, f OSC = 4 MHz — 5 9 mA HD4074459: 2 VCC = 3.0 V, f OSC = 4 MHz 109 Powered by ICminer.com Electronic-Library Service CopyRight 2003 HD404459 Series Item Symbol Pin(s) Min Typ Max Unit Test Condition Notes Current dissipation in standby mode I SBY — 1.2 3 mA VCC = 3.0 V, 3 VCC f OSC = 4 MHz I SUB Current dissipation in subactive mode VCC — 35 70 µA HD404458, HD404459: VCC = 3.0 V, 32-kHz oscillator — 70 150 µA HD4074459: VCC = 3.0 V, 32-kHz oscillator Current dissipation in watch mode I WTC Current dissipation in stop mode I STOP VCC — 8 15 µA VCC = 3.0 V, 4 32-kHz oscillator Stop mode VSTOP retaining voltage VCC — 1 10 µA VCC = 3.0 V, 4 no 32-kHz oscillator VCC 1.5 — — V No 32-kHz oscillator 5 Notes: 1. Output buffer current is excluded. 2. I CC is the source current when no I/O current is flowing while the MCU is in reset state. Test conditions: MCU: Reset Pins: RESET at V CC (0.9VCC to VCC) TEST at V CC (0.9VCC to VCC) 3. I SBY is the source current when no I/O current is flowing while the MCU timer is operating. Test conditions: MCU: I/O reset Serial interface stopped Standby mode Pins: RESET at GND (0 V to 0.3 V) TEST at V CC (0.9VCC to VCC) 4. These are the source currents when no I/O current is flowing. Test conditions: Pins: RESET at GND (0 V to 0.3 V) TEST at V CC (0.9VCC to VCC) D10* at V CC (0.9VCC to VCC) Note: * Applies to HD4074459 5. RAM data retention is the voltage required for retaining RAM data. 110 Powered by ICminer.com Electronic-Library Service CopyRight 2003 HD404459 Series I/O Characteristics for Standard Pins HD404458, HD404459: VCC = 1.8 to 3.6 V, GND = 0 V, Ta = –20 to +75°C, f OSC = 0.4 to 4.0 MHz HD4074459: VCC = 2.2 to 2.7 V, GND = 0 V, Ta = –5 to +60°C, f OSC = 0.4 to 2.0 MHz; VCC = 2.7 to 3.6 V, GND = 0 V, Ta = –20 to +75°C, f OSC = 0.4 to 4.0 MHz, unless otherwise specified. Item Symbol Input high voltage VIH Pin(s) Min Typ Max Unit Test Condition D0–D 11 , 0.7V CC — VCC + 0.3 V — –0.3 — 0.3V CC V — VCC – 0.5 — — V –I OH = 0.3 mA — — 0.4 V I OL = 0.4 mA — — 1 µA HD404458, Note R0–RA Input low voltage VIL D0–D 11 , R0–RA Output high voltage VOH D0–D 9, R0–R8, R9 0–R9 2 Output low voltage VOL D0–D 9, R0–R8, R9 0–R9 2 I/O leakage current | IIL | D0–D 11 , R0–RA 1 HD404459: Vin = 0 V to VCC D0–D 9, D11, — — 1 µA 1 Vin = 0 V to VCC R0–RA D10 HD4074459: — — 1 µA HD4074459: 1 Vin = VCC – 0.3 to V CC — — 20 µA HD4074459: 1 Vin = 0 V to 0.3 V Pull-up MOS current –I PU D0–D 9, 5 R0–R8, 40 90 µA VCC = 3.0 V, Vin = 0 V R9 0–R9 2 Note: 1. Output buffer current is excluded. 111 Powered by ICminer.com Electronic-Library Service CopyRight 2003 HD404459 Series Voltage Comparator Characteristics HD404458, HD404459: VCC = 2.0 to 3.6 V, GND = 0 V, Ta = –10 to +75°C, f OSC = 0.4 to 4.0 MHz HD4074459: VCC = 2.2 to 2.7 V, GND = 0 V, Ta = –5 to +60°C, f OSC = 0.4 to 2.0 MHz; VCC = 2.7 to 3.6 V, GND = 0 V, Ta = –10 to +75°C, f OSC = 0.4 to 4.0 MHz,unless otherwise specified. Item Pin(s) Min Typ Max Unit Test Condition Note Input high voltage VIHA COMP0– COMP3 Vref + 0.17 — — V — 1 Input low voltage VILA COMP0– COMP3 — — Vref – 0.03 V — 1 Analog input standard voltage range VC ref VC ref 0 — VCC V — Note: Symbol 1. When an internal reference voltage is selected, the standard voltage is an expected voltage of internal Vref specified by the comparator control register (CCR). 112 Powered by ICminer.com Electronic-Library Service CopyRight 2003 HD404459 Series AC Characteristics HD404458, HD404459: VCC = 1.8 to 3.6 V, GND = 0 V, Ta = –20 to +75°C, f OSC = 0.4 to 4.0 MHz HD4074459: VCC = 2.2 to 2.7 V, GND = 0 V, Ta = –5 to +60°C, f OSC = 0.4 to 2.0 MHz; VCC = 2.7 to 3.6 V, GND = 0 V, Ta = –20 to +75°C, f OSC = 0.4 to 4.0 MHz, unless otherwise specified. Item Symbol Pin(s) Min Typ Max Unit Test Condition Clock oscillation frequency f OSC OSC 1, OSC 2 0.4 — 4.0 MHz HD404458, HD404459: Notes 1/4division, VCC = 1.8 V to 3.6 V HD4074459: 1/4 division, VCC = 2.7 V to 3.6 V 0.4 — 2.0 MHz HD4074459: 1/4 division, VCC = 2.2 V to 2.7 V Instruction cycle time t cyc X1, X2 — 32.768 — kHz — — 1.0 — µs HD404458, HD404459: 10 1/4 division, VCC = 1.8 V to 3.6 V HD4074459: 1/4 division, VCC = 2.7 V to 3.6 V 2.0 — 10 µs HD4074459: 1/4 division, VCC = 2.2 V to 2.7 V t subcyc — — 244.14 — µs 32-kHz oscillator, 1/8 division — 122.07 — µs 32-kHz oscillator, 1/4 division Oscillation t RC stabilization time (ceramic oscillator) OSC 1, OSC 2 — — 60 ms — 1 Oscillation stabilization time (crystal oscillator) OSC 1, OSC 2 — — 60 ms — 1 X1, X2 — — 3 s Ta = –10°C to+60°C 2 External clock high t CPH width OSC 1 105 — — ns f OSC = 4 MHz 3 External clock low t CPL width OSC 1 105 — — ns f OSC = 4 MHz 3 t RC 113 Powered by ICminer.com Electronic-Library Service CopyRight 2003 HD404459 Series Item Symbol Pin(s) Min Typ Max Unit Test Condition Notes External clock rise t CPr time OSC 1 — — 20 ns — 3 External clock fall time OSC 1 — — 20 ns — 3 INT0–INT3, 2 — — t cyc / — 4, 7 — 4, 7 t CPf INT0–INT3, EVNB, t IH WU0–WU7, EVND high widths INT0–INT3, EVNB, t IL WU0–WU7, EVND low widths WU0–WU7, t subcyc EVNB, EVND INT0–INT3, 2 — — WU0–WU7, t cyc / t subcyc EVNB, EVND RESET high width t RSTH RESET 2 — — t cyc — 5 STOPC low width t STPL STOPC 1 — — t RC — 6 RESET fall time t RSTf RESET — — 20 ms — 5 STOPC rise time t STPr STOPC — — 20 ms — 6 Input capacitance Cin All pins except — for D10 — 15 pF f = 1 MHz, Vin = 0 V D10 — 15 pF HD404458, HD404459: — f = 1MHz, Vin = 0 V — — 180 pF HD4074459: f = 1 MHz, Vin = 0 V Notes: 1. The oscillation stabilization time is the period required for the oscillator to stabilize after V CC reaches 1.8 V (2.2 V: HD4074459) at power-on, or after RESET input goes high or STOPC input goes low when stop mode is cancelled. At power-on or when stop mode is cancelled, RESET or STOPC must be input for at least tRC to ensure the oscillation stabilization time. If using a ceramic or crystal oscillator, contact its manufacturer to determine the required stabilization time, since it will depend on the circuit constants and stray capacitances. Set bits 0 and 1 (MIS0, MIS1) of the miscellaneous register (MIS: $00C) according to the oscillation stabilization time of the system oscillation. 2. The oscillation stabilization time is the period required for the oscillator to stabilize after V CC reaches 1.8 V (2.2 V: HD4074459) at power-on, or after RESET input goes high or STOPC input goes low when stop mode is cancelled. If using a crystal oscillator, contact its manufacturer to determine the required stabilization time, since it will depend on the circuit constants and stray capacitances. 3. Refer to figure 88. 4. Refer to figure 89. The t cyc unit applies when the MCU is in standby or active mode. The tsubcyc unit applies when the MCU is in watch or subactive mode. 5. Refer to figure 90. 6. Refer to figure 91. 7. In watch or subactive mode, the periods when the INT0 and WU0–WU7 signals are high and when these signals are low must be equal to the interrupt frame period or longer. 114 Powered by ICminer.com Electronic-Library Service CopyRight 2003 HD404459 Series Serial Interface Timing Characteristics HD404458, HD404459: VCC = 1.8 to 3.6 V, GND = 0 V, Ta = –20 to +75°C, f OSC = 0.4 to 4.0 MHz HD4074459: VCC = 2.2 to 2.7 V, GND = 0 V, Ta = –5 to +60°C, f OSC = 0.4 to 2.0 MHz; VCC = 2.7 to 3.6 V, GND = 0 V, Ta = –20 to +75°C, f OSC = 0.4 to 4.0 MHz, unless otherwise specified. During Transmit Clock Output Item Symbol Pin Min Typ Max Unit Test Condition Note Transmit clock cycle time t Scyc SCK 1.0 — — t cyc Load shown in figure 93 1 Transmit clock high width t SCKH SCK 0.4 — — t Scyc Load shown in figure 93 1 Transmit clock low width t SCKL SCK 0.4 — — t Scyc Load shown in figure 93 1 Transmit clock rise time t SCKr SCK — — 200 ns Load shown in figure 93 1 Transmit clock fall time SCK — — 200 ns Load shown in figure 93 1 Serial output data delay t DSO time SO — — 500 ns Load shown in figure 93 1 Serial input data setup time t SSI SI 300 — — ns — 1 Serial input data hold time t HSI SI 300 — — ns — 1 Note: t SCKf 1. Refer to figure 92. During Transmit Clock Input Item Symbol Pin Min Typ Max Unit Test Condition Note Transmit clock cycle time t Scyc SCK 1.0 — — t cyc — 1 Transmit clock high width t SCKH SCK 0.4 — — t Scyc — 1 Transmit clock low width t SCKL SCK 0.4 — — t Scyc — 1 Transmit clock rise time t SCKr SCK — — 200 ns — 1 Transmit clock fall time SCK — — 200 ns — 1 Serial output data delay t DSO time SO — — 500 ns Load shown in figure 93 1 Serial input data setup time t SSI SI 300 — — ns — 1 Serial input data hold time t HSI SI 300 — — ns — 1 Note: t SCKf 1. Refer to figure 92. 115 Powered by ICminer.com Electronic-Library Service CopyRight 2003 HD404459 Series OSC1 1/fCP VCC – 0.3 V 0.3 V tCPL tCPH tCPr tCPf Figure 88 External Clock Timing WU0 to WU7, INT0 to INT3, EVNB, EVND 0.9VCC tIH tIL 0.1VCC Figure 89 Interrupt Timing RESET 0.9VCC tRSTH 0.1VCC tRSTf Figure 90 Reset Timing 116 Powered by ICminer.com Electronic-Library Service CopyRight 2003 HD404459 Series STOPC 0.9VCC tSTPL 0.1VCC tSTPr Figure 91 STOPC Timing t Scyc t SCKf SCK t SCKr VCC – 0.5 V (0.9VCC )* 0.4 V (0.1VCC)* t SCKL t SCKH t DSO VCC – 0.5 V 0.4 V SO t HSI t SSI 0.9V CC 0.1VCC SI Note: * VCC – 0.5 V and 0.4 V are the threshold voltages for transmit clock output, and 0.9VCC and 0.1VCC are the threshold voltages for transmit clock input. Figure 92 Serial Interface Timing VCC RL = 2.6 kΩ Test point C= 30 pF R= 12 kΩ 1S2074 H or equivalent Figure 93 Timing Load Circuit 117 Powered by ICminer.com Electronic-Library Service CopyRight 2003 HD404459 Series Notes on ROM Out Please pay attention to the following items regarding ROM out. On ROM out, fill the ROM area indicated below with 1s to create the same data size as a 16-kword version (HD404459). A 16-kword data size is required to change ROM data to mask manufacturing data since the program used is for a 16-kword version. This limitation applies when using an EPROM or a data base. ROM 8-kword version: HD404458 Address $2000–$3FFF $0000 Vector address $000F $0010 Zero-page subroutine (64 words) $003F $0040 Pattern & program (8,192 words) $1FFF $2000 Not used $3FFF 118 Powered by ICminer.com Electronic-Library Service CopyRight 2003 Fill this area with 1s HD404459 Series HD404458, HD404459 Option List Please check off the appropriate applications and enter the necessary information. Date of order Customer 1. ROM size Department HD404458 8-kword Name HD404459 16-kword ROM code name LSI number 2. Optional Functions * With 32-kHz CPU operation, with time-base for clock * Without 32-kHz CPU operation, with time-base for clock Without 32-kHz CPU operation, without time-base Note: * Options marked with an asterisk require a subsystem crystal oscillator (X1, X2). 3. ROM code media Please specify the first type listed below (the upper bits and lower bits are mixed together), when using the EPROM on-package microcomputer type (including ZTAT™ version). EPROM: The upper bits and lower bits are mixed together. The upper five bits and lower five bits are programmed to the same EPROM in alternating order (i.e., LULULU...). EPROM: The upper bits and lower bits are separated. The upper five bits and lower five bits are programmed to different EPROMS. 4. Oscillator for OSC1 and OSC2 Ceramic oscillator f= MHz Crystal oscillator f= MHz External clock f= MHz 5. Stop mode Used Not used 6. Package FP-64A 119 Powered by ICminer.com Electronic-Library Service CopyRight 2003 HD404459 Series Cautions 1. Hitachi neither warrants nor grants licenses of any rights of Hitachi’s or any third party’s patent, copyright, trademark, or other intellectual property rights for information contained in this document. Hitachi bears no responsibility for problems that may arise with third party’s rights, including intellectual property rights, in connection with use of the information contained in this document. 2. Products and product specifications may be subject to change without notice. Confirm that you have received the latest product standards or specifications before final design, purchase or use. 3. Hitachi makes every attempt to ensure that its products are of high quality and reliability. However, contact Hitachi’s sales office before using the product in an application that demands especially high quality and reliability or where its failure or malfunction may directly threaten human life or cause risk of bodily injury, such as aerospace, aeronautics, nuclear power, combustion control, transportation, traffic, safety equipment or medical equipment for life support. 4. Design your application so that the product is used within the ranges guaranteed by Hitachi particularly for maximum rating, operating supply voltage range, heat radiation characteristics, installation conditions and other characteristics. Hitachi bears no responsibility for failure or damage when used beyond the guaranteed ranges. Even within the guaranteed ranges, consider normally foreseeable failure rates or failure modes in semiconductor devices and employ systemic measures such as failsafes, so that the equipment incorporating Hitachi product does not cause bodily injury, fire or other consequential damage due to operation of the Hitachi product. 5. This product is not designed to be radiation resistant. 6. No one is permitted to reproduce or duplicate, in any form, the whole or part of this document without written approval from Hitachi. 7. Contact Hitachi’s sales office for any questions regarding this document or Hitachi semiconductor products. Hitachi, Ltd. Semiconductor & Integrated Circuits. Nippon Bldg., 2-6-2, Ohte-machi, Chiyoda-ku, Tokyo 100-0004, Japan Tel: Tokyo (03) 3270-2111 Fax: (03) 3270-5109 URL NorthAmerica : http:semiconductor.hitachi.com/ Europe : http://www.hitachi-eu.com/hel/ecg Asia (Singapore) : http://www.has.hitachi.com.sg/grp3/sicd/index.htm Asia (Taiwan) : http://www.hitachi.com.tw/E/Product/SICD_Frame.htm Asia (HongKong) : http://www.hitachi.com.hk/eng/bo/grp3/index.htm Japan : http://www.hitachi.co.jp/Sicd/indx.htm For further information write to: Hitachi Semiconductor (America) Inc. 179 East Tasman Drive, San Jose,CA 95134 Tel: <1> (408) 433-1990 Fax: <1>(408) 433-0223 Hitachi Europe GmbH Electronic components Group Dornacher Straße 3 D-85622 Feldkirchen, Munich Germany Tel: <49> (89) 9 9180-0 Fax: <49> (89) 9 29 30 00 Hitachi Europe Ltd. Electronic Components Group. Whitebrook Park Lower Cookham Road Maidenhead Berkshire SL6 8YA, United Kingdom Tel: <44> (1628) 585000 Fax: <44> (1628) 778322 Hitachi Asia Pte. Ltd. 16 Collyer Quay #20-00 Hitachi Tower Singapore 049318 Tel: 535-2100 Fax: 535-1533 Hitachi Asia Ltd. Taipei Branch Office 3F, Hung Kuo Building. No.167, Tun-Hwa North Road, Taipei (105) Tel: <886> (2) 2718-3666 Fax: <886> (2) 2718-8180 Hitachi Asia (Hong Kong) Ltd. Group III (Electronic Components) 7/F., North Tower, World Finance Centre, Harbour City, Canton Road, Tsim Sha Tsui, Kowloon, Hong Kong Tel: <852> (2) 735 9218 Fax: <852> (2) 730 0281 Telex: 40815 HITEC HX Copyright © Hitachi, Ltd., 1998. All rights reserved. Printed in Japan. 120 Powered by ICminer.com Electronic-Library Service CopyRight 2003