Page 3
Reset operation must be executed immediately after power-on for devices having reset function. FIP and EEPROM are trademarks of NEC Electronics Corporation. Windows and Windows NT are either registered trademarks or trademarks of Microsoft Corporation in the United States and/or other countries.
Page 4
NEC Electronics does not assume any liability for infringement of patents, copyrights or other intellectual property rights of third parties by or arising from the use of NEC Electronics products listed in this document or any other liability arising from the use of such products. No license, express, implied or otherwise, is granted under any patents, copyrights or other intellectual property rights of NEC Electronics or others.
Page 5
Regional Information Some information contained in this document may vary from country to country. Before using any NEC Electronics product in your application, pIease contact the NEC Electronics office in your country to obtain a list of authorized representatives and distributors. They will verify: •...
Page 6
Page Throughout Deletion of CU-type and GB-3BS type packages Deletion of indication “under development” for µ PD78F9801 p. 21 Modification of operating ambient temperature when flash memory is written in 1.1 Features p. 27 Addition of outline of timer in 1.7 Functions pp.
Page 7
Readers This manual is intended for users who wish to understand the functions of the µ PD789800 Subseries and who design and develop its application systems and programs. Target products: • µ PD789800 Subseries: µ PD789800 and µ PD78F9801 Purpose This manual is intended to give users an understanding of the functions described in the Organization below.
Page 8
Related Documents The related documents indicated in this publication may include preliminary versions. However, preliminary versions are not marked as such. Documents Related to Devices µ PD789800 Subseries User’s Manual 78K/0S Series Instructions User’s Manual Documents Related to Development Tools (Software) (User’s Manuals) RA78K0S Assembler Package CC78K0S C Compiler SM78K Series System Simulator Ver.
Page 9
Other Related Documents SEMICONDUCTOR SELECTION GUIDE - Products and Packages - (CD-ROM) Semiconductor Device Mounting Technology Manual Quality Grades on NEC Semiconductor Devices NEC Semiconductor Device Reliability/Quality Control System Guide to Prevent Damage for Semiconductor Devices by Electrostatic Discharge (ESD) Caution The related documents listed above are subject to change without notice.
Page 13
11.4.2 Maskable interrupt acknowledgment operation...173 11.4.3 Multiplexed interrupt servicing...175 11.4.4 Interrupt request hold ...177 CHAPTER 12 STANDBY FUNCTION...178 12.1 Standby Function and Configuration ...178 12.1.1 Standby function ...178 12.1.2 Register controlling standby function ...179 12.2 Standby Function Operation ...180 12.2.1 HALT mode ...180 12.2.2 STOP mode...183...
Page 14
Register Index (Alphabetic Order of Register Name) ... 229 Register Index (Alphabetic Order of Register Symbol)... 231 APPENDIX C REVISION HISTORY ... 233 User’s Manual U12978EJ3V0UD...
Page 15
Figure No. Pin I/O Circuits ... 34 Memory Map ( µ PD789800) ... 35 Memory Map ( µ PD78F9801)... 36 Data Memory Addressing ( µ PD789800) ... 38 Data Memory Addressing ( µ PD78F9801) ... 39 Configuration of Program Counter ... 40 Configuration of Program Status Word ...
Page 16
Figure No. Interval Timer Operation Timing of 8-Bit Timer/Event Counter 01... 86 Timing of External Event Counter Operation (with Rising Edge Specified) ... 87 Timing of Square-Wave Output ... 89 6-10 Start Timing of 8-Bit Timer Counter ... 90 6-11 Timing of External Event Counter Operation ...
Page 17
Figure No. 8-31 Flow Chart of NRZI Encoder Operation ... 150 8-32 Timing of Bit Stuffing/Strip Controller Operation ... 151 8-33 Flow Chart of Bit Stuffing Control Operation ... 152 8-34 Flow Chart of Bit Strip Control Operation ... 153 Block Diagram of Serial Interface 10...
Page 18
Figure No. 14-3 Example of Connection with Dedicated Flash Programmer ... 193 14-4 Pin Connection Example... 195 14-5 Signal Conflict (Input Pin of Serial Interface)... 196 14-6 Abnormal Operation of Other Device... 196 14-7 Signal Conflict (RESET Pin) ... 197 14-8 Wiring Example for Flash Writing Adapter with 3-Wire Serial I/O...
Page 19
Table No. Type of Pin I/O Circuit Recommended Connection of Unused Pins ... 33 Vector Table... 37 Special Function Register List... 45 Functions of Ports ... 58 Configuration of Port ... 59 Port Mode Register and Output Latch Settings When Using Alternate Functions ... 70 Configuration of Clock Generator...
Page 20
Table No. 12-3 STOP Mode Operation Status ... 183 12-4 Operation After Release of STOP Mode ... 185 13-1 Hardware Status After Reset ... 188 Differences Between µ PD78F9801 and Mask ROM Versions ... 190 14-1 14-2 Communication Mode List ... 192 14-3 Pin Connection List...
1.1 Features • On-chip USB functions • Implements a USB (Universal Serial Bus) by connecting to Hub and Host. • Transfer speed: 1.5 Mbps (at 6.0 MHz operation with system clock) • On-chip regulator • Controls the USB port voltage by using a bus power supply (V driver/receiver.
1.4 Pin Configuration (Top View) • 44-pin plastic LQFP (10 × 10) µ PD789800GB-×××-8ES, µ PD78F9801GB-8ES Cautions 1. Connect the IC pin directly to the V 2. Directly connect the V Remark The parenthesized values apply to the µ PD78F9801. Internally connected INTP0: Interrupt from peripherals...
1.5 78K/0S Series Lineup The products in the 78K/0S Series are listed below. The names enclosed in boxes are subseries names. Small-scale package, general-purpose applications µ 44-pin PD789046 µ 42-/44-pin PD789026 µ 30-pin PD789088 µ 30-pin PD789074 µ 28-pin PD789014 µ...
Page 24
The major differences between subseries are shown below. Series for General-Purpose and LCD Drive Function Capacity Subseries 8-Bit 16-Bit Watch WDT (Bytes) µ PD789046 Small- 16 K 1 ch scale µ PD789026 4 K to 16 K package, µ PD789088 16 K to 32 K 3 ch general- µ...
Page 25
Series for ASSP Function Capacity Subseries 8-Bit 16-Bit Watch WDT (Bytes) µ PD789800 2 ch µ PD789842 Inverter 8 K to 16 K 3 ch Note 1 1 ch control µ PD789850 On-chip 16 K 1 ch controller µ PD789861 Keyless 2 ch entry...
1.7 Functions Product Item Internal memory High-speed RAM Minimum instruction execution time Instruction set I/O ports Serial interface Timer Regulator Vector interrupt Maskable sources Non-maskable Power supply voltage Operating ambient temperature Package An outline of the timer is shown below. Operation mode Interval timer External event counter...
2.1 List of Pin Functions (1) Port pins Pin Name P00 to P07 Port 0 8-bit I/O port Input/output can be specified in 1-bit units. When used as an input port, use of on-chip pull-up resistors can be specified by pull-up resistor option register 0 (PU0). When used as an output port, CMOS output or N-ch open-drain output can be specified in 8-bit units by port output mode register 0 (POM0).
Page 29
(2) Non-port pins Pin Name INTP0 Input External interrupt request input for which valid edge (rising and/or falling edge) can be specified KR00 to Input Input for detecting key return signals KR07 — No connection. Can be left open. REGC —...
2.2 Pin Functions 2.2.1 P00 to P07 (Port 0) These pins constitute an 8-bit I/O port and can be set to the input or output port mode in 1-bit units by using port mode register 0 (PM0). When these pins are used as an input port, an on-chip pull-up resistor can be used by setting pull-up resistor option register 0 (PU0).
2.2.4 P40 to P47 (Port 4) These pins constitute an 8-bit I/O port. In addition, they also function as key return signal detection pins. The following operation modes can be specified in 1-bit units. (1) Port mode In this mode, port 4 functions as an 8-bit I/O port. Port 4 can be set to the input or output mode in 1-bit units by using port mode register 4 (PM4).
Handle this pin in either of the following ways. • Independently connect a 10 kΩ pull-down resistor. • Switch this pin to be directly connected to the dedicated flash programmer in programming mode or to V normal operation mode using a jumper on the board.
2.3 Pin I/O Circuits and Recommended Connection of Unused Pins Table 2-1 lists the types of I/O circuits for each pin and explains how unused pins are handled. Figure 2-1 shows the configuration of each type of I/O circuit. Table 2-1. Type of Pin I/O Circuit Recommended Connection of Unused Pins Pin Name I/O Circuit Type P00 to P07...
CHAPTER 3 3.1 Memory Space The PD789800 Subseries can access 64 KB of memory space. Figures 3-1 and 3-2 show the memory maps. Special function register Internal high-speed RAM Data memory space Program memory space CPU ARCHITECTURE Figure 3-1. Memory Map ( PD789800) 8 bits 8 bits Reserved...
Page 36
Figure 3-2. Memory Map ( PD78F9801) Special function register Internal high-speed RAM Data memory space Program memory space 16,384 CHAPTER 3 CPU ARCHITECTURE 8 bits 8 bits Reserved Flash memory 8 bits User’s Manual U12978EJ3V0UD Program area CALLT table area Program area Vector table area...
3.1.1 Internal program memory space The internal program memory space stores programs and table data. This space is usually addressed by the program counter (PC). The following areas are allocated to the internal program memory space. (1) Vector table area A 26-byte area of addresses 0000H to 0019H is reserved as a vector table area.
3.1.4 Data memory addressing The µ PD789800 Subseries provides a variety of addressing modes which take account of memory manipulability, etc. Especially at addresses corresponding to data memory area (FE00H to FFFFH), particular addressing modes are possible to meet the functions of the special function registers (SFR) and general-purpose registers. Figures 3-3 and 3-4 show the data memory addressing modes.
Page 39
CHAPTER 3 Figure 3-4. Data Memory Addressing ( PD78F9801) FFFFH Special function registers (SFR) 8 bits FF20H FF1FH FF00H FEFFH Internal high-speed RAM 8 bits FE20H FE1FH FE00H FDFFH Reserved 4000H 3FFFH Flash memory 16,384 8 bits 0000H User’s Manual U12978EJ3V0UD CPU ARCHITECTURE SFR addressing Short direct...
3.2 Processor Registers The µ PD789800 Subseries provides the following on-chip processor registers. 3.2.1 Control registers The control registers contain special functions to control the program sequence, statuses and stack memory. A program counter, a program status word, and a stack pointer are the control registers. (1) Program counter (PC) The program counter is a 16-bit register which holds the address information of the next program to be executed.
Page 41
CHAPTER 3 (a) Interrupt enable flag (IE) This flag controls interrupt request acknowledgment operations of the CPU. When 0, the IE flag is set to the interrupt disabled status (DI), and interrupt requests other than non- maskable interrupts are all disabled. When 1, the IE flag is set to the interrupt enabled status (EI).
(3) Stack pointer (SP) This is a 16-bit register that holds the start address of the memory stack area. Only the internal high-speed RAM area can be set as the stack area. Figure 3-7. Configuration of Stack Pointer SP15 SP14 SP13 SP12 SP11 SP10 SP9 The SP is decremented ahead of write (save) to the stack memory and is incremented after read (restore) from the stack memory.
3.2.2 General-purpose registers The general-purpose registers consist of eight 8-bit registers (X, A, C, B, E, D, L, and H). In addition that each register can be used as an 8-bit register, two 8-bit registers in pairs can be used as a 16-bit register (AX, BC, DE, and HL).
3.2.3 Special function registers (SFRs) Unlike general-purpose registers, each special function register has a special function. The special function registers are allocated in the 256-byte area FF00H to FFFFH. The special function registers can be manipulated, like the general-purpose registers, with operation, transfer, and bit manipulation instructions.
Table 3-2. Special Function Register List (1/3) Address Special Function Register (SFR) Name FF00H Port 0 FF01H Port 1 FF02H Port 2 FF04H Port 4 FF07H Receive data PID FF08H Receive data address 0 FF09H Receive data address 1 FF0AH Receive data address 2 FF0BH Receive data address 3...
Page 46
Table 3-2. Special Function Register List (2/3) Address Special Function Register (SFR) Name FF62H Token packet receive result store register FF63H Data/handshake PID compare register FF64H Data/handshake packet receive byte number counter FF65H Data/handshake packet receive result store register FF66H Data/handshake packet receive mode register FF67H...
Page 47
Table 3-2. Special Function Register List (3/3) Address Special Function Register (SFR) Name FFECH External interrupt mode register 0 FFF5H Key return mode register 00 FFF7H Pull-up resistor option register 0 FFF9H Watchdog timer mode register FFFAH Oscillation stabilization time select register FFFBH Processor clock control register CHAPTER 3...
3.3 Instruction Address Addressing An instruction address is determined by program counter (PC) contents. PC contents are normally incremented (+1 for each byte) automatically according to the number of bytes of an instruction to be fetched each time another instruction is executed. When a branch instruction is executed, the branch destination information is set to the PC and branched by the following addressing (for details of each instruction, refer to 78K/0S Series Instruction User’s Manual (U11047E)).
3.3.2 Immediate addressing [Function] Immediate data in the instruction word is transferred to the program counter (PC) and branched. This function is carried out when the CALL !addr16 or BR !addr16 instruction is executed. The CALL !addr16 and BR !addr16 instructions can be branched to any location in the memory space. [Illustration] In case of CALL !addr16 and BR !addr16 instructions CHAPTER 3...
3.3.3 Table indirect addressing [Function] Table contents (branch destination address) of the particular location to be addressed by the lower-5-bit immediate data of an instruction code from bit 1 to bit 5 are transferred to the program counter (PC) and branched.
3.4 Operand Address Addressing The following methods are available to specify the register and memory (addressing) to undergo manipulation during instruction execution. 3.4.1 Direct addressing [Function] The memory indicated by immediate data in an instruction word is directly addressed. [Operand format] Identifier addr16 Label or 16-bit immediate data...
3.4.2 Short direct addressing [Function] The memory to be manipulated in the fixed space is directly addressed with 8-bit data in an instruction word. The fixed space is the 256-byte space FE20H to FF1FH where the addressing is applied. An internal high- speed RAM and special function registers (SFR) are mapped at FE20H to FEFFH and FF00H to FF1FH, respectively.
3.4.3 Special function register (SFR) addressing [Function] The memory-mapped special function register (SFR) is addressed with 8-bit immediate data in an instruction word. This addressing is applied to the 240-byte spaces FF00H to FFCFH and FFE0H to FFFFH. However, the SFR mapped at FF00H to FF1FH can be accessed with short direct addressing.
3.4.4 Register addressing [Function] In the register addressing mode, general-purpose registers are accessed as operands. The general-purpose register to be accessed is specified by the register specification code or function name in the instruction code. Register addressing is carried out when an instruction with the following operand format is executed. When an 8-bit register is specified, one of the eight registers is specified with 3 bits in the instruction code.
3.4.5 Register indirect addressing [Function] In the register indirect addressing mode, memory is manipulated according to the contents of a register pair specified as an operand. The register pair to be accessed is specified by the register pair specification code in an instruction code.
3.4.6 Based addressing [Function] 8-bit immediate data is added to the contents of the base register, that is, the HL register pair, and the sum is used to address the memory. Addition is performed by expanding the offset data as a positive number to 16 bits.
4.1 Port Functions The µ PD789800 Subseries provides the ports shown in Figure 4-1, enabling various methods of control. Numerous other functions are provided that can be used in addition to the digital I/O port functions. For more information on these additional functions, see CHAPTER 2 PIN FUNCTIONS. Port 2 Port 4 CHAPTER 4...
Pin Name P00 to Port 0 8-bit I/O port Input/output can be specified in 1-bit units. When used as an input port, use of on-chip pull-up resistors can be specified by pull-up resistor option register 0 (PU0). When used as an output port, CMOS output or N-ch open-drain output can be specified in 8-bit units by port output mode register 0 (POM0).
4.2 Port Configuration Ports consists the following hardware. Parameter Control registers Port mode register (PMm: m = 0 to 2, 4) Pull-up resistor option register (PU0) Port output mode register (POMm: m = 0, 1) Ports Total: 31 (N-ch open-drain output is specifiable for 18 ports.) Pull-up resistors Software control: 31 CHAPTER 4...
4.2.1 Port 0 This is an 8-bit I/O port with an output latch. Port 0 can be specified in the input or output mode in 1-bit units by using port mode register 0 (PM0). When the P00 to P07 pins are used as input port pins, on-chip pull-up resistors can be connected in 8-bit units by using pull-up resistor option register 0 (PU0).
4.2.2 Port 1 This is an 8-bit I/O port with an output latch. Port 1 can be specified in the input or output mode in 1-bit units by using port mode register 1 (PM1). When the P10 to P17 pins are used as input port pins, on-chip pull-up resistors can be connected in 8-bit units by using pull-up resistor option register 0 (PU0).
4.2.3 Port 2 This is a 7-bit I/O port with an output latch. Port 2 can be specified in the input or output mode in 1-bit units by using port mode register 2 (PM2). When using the P20 to P26 pins as input port pins, on-chip pull-up resistors can be connected in 7-bit units by using pull-up resistor option register 0 (PU0).
CHAPTER 4 Figure 4-5. Block Diagram of P21 PU02 PORT Output latch (P21) PM21 Alternate function PU0: Pull-up resistor option register 0 Port mode register Port 2 read signal Port 2 write signal PORT FUNCTIONS User’s Manual U12978EJ3V0UD P-ch P21/SO10...
PU02 Alternate function PORT Output latch (P22) PM22 PU0: Pull-up resistor option register 0 Port mode register Port 2 read signal Port 2 write signal CHAPTER 4 PORT FUNCTIONS Figure 4-6. Block Diagram of P22 User’s Manual U12978EJ3V0UD P-ch P22/SI10...
CHAPTER 4 Figure 4-7. Block Diagram of P23 and P24 PU02 PORT Output latch (P23, P24) PM23, PM24 PU0: Pull-up resistor option register 0 Port mode register Port 2 read signal Port 2 write signal PORT FUNCTIONS User’s Manual U12978EJ3V0UD P-ch P23, P24...
4.2.4 Port 4 This is an 8-bit I/O port with an output latch. Port 4 can be specified in the input or output mode in 1-bit units by using port mode register 4 (PM4). When using P40 to P47 pins as input port pins, on-chip pull-up resistors can be connected in 8-bit units by using pull-up resistor option register 0 (PU0).
4.3 Registers Controlling Port Function The following three types of registers control the ports. • Port mode registers (PM0, PM1, PM2, PM4) • Pull-up resistor option register (PU0) • Port output mode registers (POM0, POM1) (1) Port mode registers (PM0, PM1, PM2, PM4) These registers are used to set port input/output in 1-bit units.
Table 4-3. Port Mode Register and Output Latch Settings When Using Alternate Functions Secondary Function Pin Name Name TO01 TI01 INTP0 P40 to KR00 to KR07 Note Note Set key return mode register 00 (KRM00) to 1 when using the alternate function (see Section 11.3 (5) Key return mode register 00 (KRM00)).
(3) Port output mode registers (POM0 and POM1) The port output mode registers (POM0 and POM1) are used to switch from CMOS output to N-ch open-drain output for port 0, port 1, pin P25, and pin P26. Set POM0 and POM1 with a 1-bit or 8-bit memory manipulation instruction.
4.4 Port Function Operation The operation of a port differs depending on whether the port is set to the input or output mode, as described below. 4.4.1 Writing to I/O port (1) In output mode A value can be written to the output latch of a port by using a transfer instruction. The contents of the output latch can be output from the pins of the port.
CHAPTER 5 5.1 Clock Generator Functions The clock generator generates the clock to be supplied to the CPU and peripheral hardware. The following type of system clock oscillator is used. • • • • System clock oscillator This circuit oscillates at 6.0 MHz. Oscillation can be stopped by executing the STOP instruction. 5.2 Clock Generator Configuration The clock generator consists of the following hardware.
5.3 Register Controlling Clock Generator The clock generator is controlled by the following register. • Processor clock control register (PCC) (1) Processor clock control register (PCC) PCC selects the CPU clock and sets the of division ratio. PCC is set with a 1-bit or 8-bit memory manipulation instruction. RESET input sets the PCC to 02H.
5.4 System Clock Oscillators 5.4.1 System clock oscillator The system clock oscillator is oscillated by the crystal resonator (6.0 MHz TYP.) connected across the X1 and X2 pins. An external clock can also be input to the circuit. In this case, input the clock signal to the X1 pin, and leave the X2 pin open.
5.4.2 Examples of incorrect resonator connection Figure 5-4 shows examples of incorrect resonator connection. Figure 5-4. Examples of Incorrect Resonator Connection (1/2) (a) Too long wiring (c) Wiring near high fluctuating current CHAPTER 5 CLOCK GENERATOR (b) Crossed signal line (d) Current flowing through ground line of oscillator (potential at points A, B, and C fluctuates) High current...
Figure 5-4. Examples of Incorrect Resonator Connection (2/2) 5.4.3 Frequency divider The frequency divider divides the output of the system clock oscillator (f 5.5 Clock Generator Operation The clock generator generates the following clocks and controls the operation modes of the CPU, such as the standby mode.
5.6 Changing Setting of CPU Clock 5.6.1 Time required for switching CPU clock The CPU clock can be selected by using bit 1 (PCC1) of the processor clock control register (PCC). Actually, the specified clock is not selected immediately after the setting of PCC has been changed; the old clock is used for the duration of several instructions after that (see Table 5-2).
CHAPTER 6 6.1 Functions of 8-Bit Timer/Event Counters 00 and 01 The 8-bit timer/event counters (TM00 and TM01) have the following functions. • Interval timer (TM00 and TM01) • External event counter (TM01 only) • Square wave output (TM01 only) The µ...
CHAPTER 6 (3) Square wave output A square wave of arbitrary frequency can be output. Table 6-3. Square Wave Output Range of 8-Bit Timer/Event Counter 01 Minimum Pulse Width (2.67 µ s) (42.7 µ s) Remarks 1. f : System clock oscillation frequency 2.
CHAPTER 6 Figure 6-2. Block Diagram of 8-Bit Timer/Event Counter 01 8-bit compare register 01 8-bit timer counter 01 TI01/P26 /INTP0/TO01 (1) 8-bit compare register 0n (CR0n) This is an 8-bit register used to compare the value set to CR0n with the 8-bit timer counter 0n (TM0n) count value, and if they match, generate used an interrupt request (INTTM0n).
CHAPTER 6 6.3 Registers Controlling 8-Bit Timer/Event Counters 00 and 01 The following two types of registers are used to control 8-bit timer/event counters 00 and 01. • 8-bit timer mode control registers 00 and 01 (TMC00 and TMC01) • Port mode register 2 (PM2) (1) 8-bit timer mode control register 00 (TMC00) This register enables/stops operation of 8-bit timer counter 00 (TM00) and sets the counter clock of 8-bit timer TMC00 is set with a 1-bit or 8-bit memory manipulation instruction.
CHAPTER 6 (2) 8-bit timer mode control register 01 (TMC01) TMC01 determines whether to enable or disable 8-bit timer counter 01 (TM01), specifies the count clock for the 8-bit timer/event counter, and controls the operation of the output controller. TMC01 is set with a 1-bit or 8-bit memory manipulation instruction. RESET input sets TMC01 to 00H.
CHAPTER 6 (3) Port mode register 2 (PM2) This register sets port 2 input/output in 1-bit units. When using the P26/TO01/INTP0/TI01 pin for timer output, set P26 and the output latch of P26 to 0. When P26/TO01/INTP0/TI01 pin is used as a timer input, set PM26 to 1. PM2 is set by a 1-bit or 8-bit memory manipulation instruction.
CHAPTER 6 6.4 Operation of 8-Bit Timer/Event Counters 00 and 01 6.4.1 Operation as interval timer Interval timer repeatedly generates an interrupt at time intervals specified by the count value set to 8-bit compare registers 00 and 01 (CR00 and CR01) in advance. To operate the 8-bit timer/event counter as an interval timer, the following settings are required.
CHAPTER 6 6.4.2 Operation as external event counter (timer 01 only) The external event counter counts the number of external clock pulses input to the TI01/P26/INTP0/TO01 pin by using timer counter 01 (TM01). To operate the 8-bit timer/event counter as an external event counter, the following settings are required. <1>...
CHAPTER 6 6.4.3 Operation as square-wave output (timer 01 only) The 8-bit timer/event counter can generate output square waves of arbitrary frequency at intervals specified by the count value set to 8-bit compare register 01 (CR01) in advance. To operate 8-bit timer/event counter 01 as square wave output, the following settings are required. <1>...
CHAPTER 6 6.5 Notes on Using 8-Bit Timer/Event Counters 00 and 01 (1) Error on starting timer An error of up to 1 clock occurs after the timer is started until a match signal is generated. This is because 8-bit timer counters 00 and 01 (TM00 and TM01) are started asynchronously to the count pulse.
CHAPTER 7 7.1 Watchdog Timer Functions The watchdog timer has the following functions. • Watchdog timer • Interval timer Caution Select the watchdog timer mode or interval timer mode by using the watchdog timer mode register (WDTM). (1) Watchdog timer The watchdog timer is used to detect inadvertent program loops.
7.3 Registers Controlling Watchdog Timer The following two registers are used to control the watchdog timer. • Timer clock select register 2 (TCL2) • Watchdog timer mode register (WDTM) (1) Timer clock select register 2 (TCL2) This register sets the watchdog timer count clock. TCL2 is set with an 8-bit memory manipulation instruction.
(2) Watchdog timer mode register (WDTM) This register sets the operation mode of the watchdog timer, and enables/disables counting of the watchdog timer. The WDTM is set with a 1-bit or 8-bit memory manipulation instruction. RESET input sets the WDTM to 00H. Figure 7-3.
7.4 Watchdog Timer Operation 7.4.1 Operation as watchdog timer The watchdog timer detects an inadvertent program loop when bit 4 (WDTM4) of the watchdog timer mode register (WDTM) is set to 1. The count clock (inadvertent loop detection time interval) of the watchdog timer can be selected by bits 0 to 2 (TCL20 to TCL22) of timer clock select register 2 (TCL2).
7.4.2 Operation as interval timer When bit 4 (WDTM4) and bit 3 (WDTM3) of the watchdog timer mode register (WDTM) are set to 0 and 1, respectively, the watchdog timer also operates as an interval timer that repeatedly generates an interrupt at time intervals specified by a count value set in advance.
8.1 USB Overview The USB (Universal Serial Bus) is suitable for connecting personal computers and external devices such as audio equipment, keyboards, pointing devices, and telephones. Two data transfer rates, 12 Mbps and 1.5 Mbps, are provided. Plug & Play can also be realized. Figure 8-1 shows an example of USB connection to a desktop PC.
8.2 USB Function Features The features of the on-chip USB function provided for the µ PD789800 Subseries are described below. (1) Video display devices and human interface devices are assumed to be the target applications. For this reason, only Endpoint 0 for control transfer and Endpoint 1 for interrupt transfer are supported. (2) 1.5 Mbps (low speed) data transfer using a 6.0 MHz system clock is supported.
Figure 8-3. Block Diagram of USB Timer INTUSBTM Note RESUME RX Clock controller USBCLK DATATX SETORX USB timer start reservation control register (USBTCL) Internal bus Note As these signals are used internally, confirmation by software is not possible. Remark f System clock oscillation frequency UWDERR: Bit 7 of packet receive status register (RXSTAT) CHAPTER 8...
Page 101
(1) Receive bank switching ID detection buffer (internal buffer) This is an internal 2-bit buffer placed before a receive buffer. It detects the lower 2 bits below the packet ID during packet reception and determines the store bank of a packet. The following controls are performed depending on the stored 2-bit data.
(3) Receive token bank (a) Receive token PID (USBRTP) This is the receive token packet ID area. The data input to the token PID compare register (TIDCMP) is stored here. USBRTP is read with an 8-bit memory manipulation instruction. RESET input sets USBRTP to 00H. (b) Receive token address L and H (USBRAL and USBRAH) This stores the token packet to be transferred from the host.
(4) Receive data bank (a) Receive data PID (USBRD) This is the receive data packet ID area. The data input to the data/handshake PID compare register (DIDCMP) is stored here. USBRD is read with an 8-bit memory manipulation instruction. RESET input sets USBRD to 00H. (b) Receive data address (USBR0 to USBR7) This is an 8-byte register that stores the data/handshake packet transferred from the host.
(5) Transmit data banks 0 and 1 (a) Transmit data PID banks 0 and 1 (USBTD0 and USBTD1) USBTD0 and USBTD1 correspond to the transmit buffer 0 ID area and transmit buffer 1 ID area, respectively. USBTD0 and USBTD1 store DATA0 (C3H) or DATA1 (4BH). USBTD0 and USBTD1 are set with an 8-bit memory manipulation instruction.
Figure 8-7. Configuration of Transmit Data Bank 1 (Buffer 1) Symbol USBTD1 USBT10 USBT11 USBT12 USBT13 USBT14 USBT15 USBT16 USBT17 The operation during transmission appears as follows. Packet from host controller Response packet 1st byte USBT00 8th byte USBT07 USBT10 USBT17 Data is read according to the data sequence in the control read data stage and is transmitted to the host.
Page 106
(6) Data/handshake packet receive byte number counter (DRXCON) This register sets the number of data of the data/handshake packet to be received. During data/handshake packet reception, if this register value and the transmit/receive pointer (USBPOW) value match, a match signal is output from the comparator.
(9) Token address compare register (ADRCMP) This register sets the address specified from the host during control transfer. If this register value and the address area of the receive token bank (bits 0 to 6 of receive token address L (USBRAL)) match during token packet reception coincide, ADRRST (bit 2 of the token packet receive result store register (TRXRSL)) is set.
(10) Data/handshake PID compare register (DIDCMP) This register sets the data/handshake packet ID to be received. If this register value and the value of the receive data PID (USBRD) match during data/handshake packet reception coincide, the DIDRST (bit 1 of the data/handshake packet receive result store register (DRXRSL)) is set.
Bit 1 (DINTEN) is a flag used to set the receive status synchronous interrupt (to generate the INTUSBRD interrupt request to perform data packet reception and data save simultaneously). Bit 2 (RESMOD) is a flag used to switch the detection mode of the USB reset signal between bus idle mode and bus suspend mode.
Figure 8-11. Format of Data/Handshake Packet Receive Mode Register Symbol URXMOD RESMOD Reject USB reset signal less than 3.0 s SE0 (Single-ended 0) period. Detect transition from J state to SE0 as USB reset signal. DINTEN Do not generate data packet receive status synchronous interrupt. Generate data packet receive status synchronous interrupt DWRMSK Enable write operation to all addresses in data/handshake packet receive buffer.
Page 111
CHAPTER 8 USB FUNCTION (3) Packet receive status register (RXSTAT) This register indicates the receive status of each packet. Bits 0 to 2 (TOSTAT, DASTAT, and HSSTAT) are flags that indicate that a token packet, data packet, or handshake packet is currently being received. These flags are set upon detection of a packet ID by an ID detection buffer, and cleared upon reception of EOP.
Figure 8-12. Format of Packet Receive Status Register Symbol RXSTAT UWDERR RESMRX SE0RX URESRX EOPRX HSSTAT DASTAT TOSTAT UWDERR No USB timer inadvertent program loop was detected. USB timer inadvertent program loop (USB clock operation faster than 85.3 s (at 6.0 MHz)) was detected, forcibly terminating USB clock.
Table 8-2 shows the state of each flag after receiving the USB reset signal and the Resume signal during the bus idle state and bus suspend state. Table 8-2. Flag of RXSTAT After Reception of USB Reset Signal and Resume Signal Bus State Device State Idle...
Figure 8-14. Format of Token Packet Receive Result Store Register Symbol <7> <6> <5> TRXRSL CRC5ER TBITER TBYER END1RX END0RX ADRRST TIDRST CRC5ER CRC error did not occur in received token packet. CRC error occurred in received token packet. TBITER Bit stuffing error did not occur in received token packet.
(6) Data packet transmit reservation register (DTXRSV) This register sets the bank where the data packet to be transmitted is stored. By setting each flag of this register, the stored data is transmitted following normal reception of the IN token packet. DTXRSV is set with a 1-bit or 8-bit memory manipulation instruction.
(7) Handshake packet transmit reservation register (HTXRSV) This register sets the handshake packet to be transmitted. By setting each flag of this register, a handshake packet is transmitted following normal reception of an IN packet, or normal or abnormal reception of a data packet.
Figure 8-16. Format of Handshake Packet Transmit Reservation Register (2/2) E1NAEN NAK packet transmit reservation flag for Endpoint 1 after IN packet No data is transmitted. NAK handshake is transmitted when all the following conditions are satisfied in EOP during IN packet reception. INRX (internal signal) = 1, ADRRST = 1, END1RX = 1, TBYER = 0, TBITER = 0, CRC5ER = 0 E0NAEN NAK packet transmit reservation flag for Endpoint 0 after IN packet...
Page 118
Table 8-3. Conditions in Transmit Reservation (2/2) (b) Transmit reservation for Endpoint1 and IN token packet Type of Reservation Transmit reservation of data in transmit buffer 0 Transmit reservation of data in transmit buffer 1 Endpoint 1 STALL transmit reservation (halt status) Endpoint 1 NAK transmit reservation (no transmit data)
Figure 8-17. Configuration of Handshake Packet Transmit Reservation Register E1STEN Note MASTER EN Note Because these signals are used internally, confirmation by software is not possible. CHAPTER 8 USB FUNCTION E0STEN DSTEN STALEN E1NAEN E0NAEN DNAEN User’s Manual U12978EJ3V0UD ACKEN END1RX END0RX Note...
(8) USB timer start reservation control register (USBTCL) This register reserves USB timer start after reception of a SETUP/OUT packet or transmission of a data packet. USBTCL is set with a 1-bit or 8-bit memory manipulation instruction. RESET input sets USBTCL to 01H. Note SETUP reception also sets USBTCL to 01H.
(9) Remote wake-up control register (REMWUP) This register transmits the Resume signal to perform remote wakeup. Remote wakeup must be performed after confirming that bus idle has continued longer than 5 ms. REMWUP is set with a 1-bit or 8-bit memory manipulation instruction. RESET input sets REMWUP to 08H.
8.5 USB Function Operation 8.5.1 USB timer operation The USB timer is a 7-bit counter that performs time management during packet transmission and reception and inadvertent program loop detection of the USB clock. The USB timer has two modes: high-speed mode (source clock = f clock: f = 1.5 MHz during 6.0 MHz operation).
Figure 8-20. Flowchart of USB Timer Operation (1/2) Idle state SYNC detected? USB timer reset USB timer start (low-speed mode) EOP received? USB timer reset SETUP/OUT packet? SETORX (internal signal) = 1? UWDERR: Bit 7 of packet receive status register (RXSTAT) CHAPTER 8 USB FUNCTION INTUSBTM occurred...
Page 124
CHAPTER 8 USB FUNCTION Figure 8-20. Flowchart of USB Timer Operation (2/2) USB timer start (high-speed mode) Next SYNC detected? High-speed mode overflow? INTUSBTM occurred User’s Manual U12978EJ3V0UD...
8.5.2 Remote wakeup control operation Figure 8-21. Flow Chart of Remote Wakeup Control Operation Resume Note 1 output Resume output Note 2 completion PULLDP: Bit 2 of remote wakeup control register (REMWUP) PULLDM: Bit 3 of remote wakeup control register (REMWUP) PULLEN: Bit 1 of remote wakeup control register (REMWUP) WAKEUP: Bit 0 of remote wakeup control register (REMWUP)
Notes 1. Be sure to follow the exact instruction sequence when the Resume signal (“K” state) is output. SET1 REMWUP.3 CLR1 REMWUP.2 A, #00000111B ; (A ← 00000111B) SET1 REMWUP.1 SET1 REMWUP.0 REMWUP, A 2. Be sure to follow the exact instruction sequence to append EOP when terminating Resume output. CLR1 REMWUP.0 CLR1...
8.6 Interrupt Request from USB Function 8.6.1 Interrupt sources Interrupt request sources generated by the USB function fall into the following five categories. Table 8-4. List of Sources of Interrupts from USB Function Note Type of Interrupt Priority Name Maskable INTUSBTM INTUSBRT INTUSBRD...
(3) Data/handshake packet transmit interrupt (INTUSBST) Upon EOP detection during data/handshake packet transmission, an interrupt request signal is generated and an interrupt request flag (USBSTIF) is set. (4) USB timer overflow interrupt (INTUSBTM) If the USB timer overflows, an interrupt request signal is generated and an interrupt request flag (USBTMIF) is set.
8.6.2 Cautions when using interrupts Pay attention to the following when using an interrupt request generated by the USB function. (1) Because USBREIF is set by transition from the J state to the K state on the bus, it is also set during sync detection or packet reception.
8.7 USB Function Control 8.7.1 Relationship between packets and operation modes The relationship between packets and operation modes in the USB function is as follows. (1) Control transfer (OUT) (Transfer byte count: 8 bytes or less) Packet flow Packet from Packet from µ...
Page 131
(2) Control transfer (OUT) (Transfer byte count: 9 bytes or more) Packet flow Packet from Packet from µ PD789800 host controller SETUP Setup stage DATA0 Data stage OUT reception DATA1 DATA0 DATA1 DATA1/0 Status stage IN reception DATA1 CHAPTER 8 USB FUNCTION Operation of host controller...
Page 132
(3) Control transfer (IN) (Transfer byte count: 8 bytes or less) Packet flow Packet from Packet from µ PD789800 host controller SETUP Setup stage DATA0 Data stage IN reception DATA1 DATA1 Status stage OUT reception reception wait Note If the ACK from the device cannot be received normally, the host transmits OUT again. Therefore, set the OUT receive wait state for a period so that the OUT can be received.
Page 133
(4) Control transfer (IN) (Transfer byte count: 9 bytes or more) Packet flow Packet from Packet from µ PD789800 host controller SETUP Setup stage DATA0 Data stage IN reception DATA1 DATA0 DATA0/1 Status DATA1 stage OUT reception reception wait Note If the ACK from the device cannot be received normally, the host transmits OUT again. Therefore, set the OUT receive wait state for a period so that the OUT can be received.
Page 134
(5) No data control Packet flow Packet from Packet from µ PD789800 host controller Setup SETUP stage DATA0 Status stage No data control DATA1 CHAPTER 8 USB FUNCTION Operation of host controller Request IN packet ACK packet User’s Manual U12978EJ3V0UD Operation of USB µ...
Page 135
(6) Interrupt transfer Packet flow Packet from Packet from µ host controller PD789800 DATA1 DATA0 CHAPTER 8 USB FUNCTION Operation of host controller IN packet IN packet IN packet IN packet User’s Manual U12978EJ3V0UD Operation of USB µ function of PD789800 ACK transmission reservation •...
8.7.2 Interrupt servicing flow (1) USB token packet reception interrupt servicing INTUSBRT occurrence Receive error occurred? Receive token is OUT? Receive token is SETUP? Receive token is unplanned token? SETUP token reception processing IN token reception processing to ENDPOINT 0 IN token reception processing to ENDPOINT 1 CHAPTER 8...
Page 137
(2) Data/handshake packet reception interrupt servicing INTUSBRD occurrence Planned packet was received? USB_MODE is data stage OUT reception? Re-transmit data reception reservation processing RETI CHAPTER 8 USB FUNCTION Transition processing to status stage OUT reception USB_MODE is SETUP? USB request processing DATA/ACK reception processing to ENDPOINT 0 User’s Manual U12978EJ3V0UD...
Page 138
(3) USB timer inadvertent program loop detection interrupt servicing CHAPTER 8 USB FUNCTION INTUSBTM occurrence Processing for each operation mode when ACK is not received and for when DATA is not received after receiving OUT RETI User’s Manual U12978EJ3V0UD...
Page 139
(4) 1 ms timer interrupt servicing INTTM00 occurrence DURATION base timer processing 10 ms timer counting USB communication completion timer processing Waiting for resume signal completion? RESET received? Communication operating? Standby detected? Standby processing REMOTE WAKEUP? RESUME output processing RETI CHAPTER 8 USB FUNCTION USB reset processing...
8.8 USB Function Internal Circuit Operations 8.8.1 Operation of transmit/receive pointer Figure 8-25. Flowchart of Transmit/Receive Pointer Operation (1/7) (1) Token packet reception (1/2) Idle state Transmit/receive signal? Token reception Set USBPOW to 00H Set USBPOB to 00H Bit normal write? Set TBYER flag Does bit stuffing signal = 1?
Page 141
Figure 8-25. Flowchart of Transmit/Receive Pointer Operation (2/7) (1) Token packet reception (2/2) TBYER: Bit 5 of token packet receive result store register (TRXRSL) CHAPTER 8 USB FUNCTION Bit normal write? Set TBYER flag Does bit stuffing signal = 1? Idle state USBPOB increment USBPOW...
Page 142
Figure 8-25. Flowchart of Transmit/Receive Pointer Operation (3/7) (2) Data/Handshake packet reception (1/2) Idle state Transmit/receive signal? Data/handshake reception Set USBPOW to 10H Set USBPOB to 00H Does USBPOW match DRXCON? Bit normal write? Does bit stuffing signal = 1? USBPOB increment USBPOB overflow?
Page 143
Figure 8-25. Flowchart of Transmit/Receive Pointer Operation (4/7) (2) Data/Handshake packet reception (2/2) USBPOW increment DBYER: Bit 5 of data/handshake packet receive result store register (DRXRSL) CHAPTER 8 USB FUNCTION Bit normal write? Set DBYER flag Does bit stuffing signal = 1? Idle state USBPOB increment USBPOB...
Page 144
Figure 8-25. Flowchart of Transmit/Receive Pointer Operation (5/7) (3) Data packet transmit (1/2) Idle state Transmit/receive signal? Data/handshake transmission Set USBPOW to 7FH Set USBPOB to 00H Bit read Does bit stuffing signal = 1? USBPOB increment USBPOB overflow? Handshake Transmit area? Go to (4) (reservation flag...
Page 145
Figure 8-25. Flowchart of Transmit/Receive Pointer Operation (6/7) (3) Data packet transmit (2/2) Bit Read Does bit stuff signal = 1? USBPOB increment USBPOB overflow? Set USBPOW to 70H Read CRC redundant bit Does bit stuffing signal = 1? USBPOB increment USBPOB overflow? USBPOW increment...
Page 146
Figure 8-25. Flowchart of Transmit/Receive Pointer Operation (7/7) (4) Handshake packet transmission Idle state Transmit/receive signal? Data/handshake transmission Set USBPOW to 7FH Set USBPOB to 00H Bit read Does bit stuffing signal = 1? USBPOB increment USBPOB overflow? Transmit buffer Transmit area? (reservation flag judgment)
8.8.2 Receive bank switching ID detection buffer operation Figure 8-26. Flowchart of Receive Bank Switching ID Detection Buffer Operation Idle state Sync1 detection signal = 1? 2-bit store & shift Bit judgment enable Store bit ? Set TOSTAT Bit judgment mask 1-bit store &...
8.8.3 Sync detection/USBCLK detector operation This circuit generates the USBCLK signal (1.5 MHz) upon detecting the sync part of the receive packet. In addition, it contains an NRZI decoder that decodes receive packets and detects the last bit of the sync part. When the last sync bit is detected, a signal that specifies start of storing in the ID detection buffer is output.
CHAPTER 8 USB FUNCTION Figure 8-29. Flowchart of Sync Detection/USBCLK Detector Operation Idle state Did state change to K state? USB clock oscillation start Output 0 from NRZI decoder Receive next bit Did bus state change? Output 1 from NRZI decoder Detect last Sync bit Was EOP receive signal set?
8.8.4 NRZI encoder operation This circuit performs NRZI encoding of data to be transmitted. Figure 8-30. Timing of NRZI Encoder Operation Data before encoding NRZI encoding Transmit packet USB clock generation Figure 8-31. Flow Chart of NRZI Encoder Operation Reverse output level Reverse output level EOP transmit signal CHAPTER 8...
8.8.5 Bit stuffing/strip controller operation This circuit counts the number of “logic 1” of transmit/receive packets. If six successive logic 1s are detected, it outputs an increment disable signal to the transmit/receive pointer (USBPOB). During packet transmission, it inserts “logic 0” simultaneously with the increment disable signal. Moreover, during bit stripping, if the bit that should be deleted was a “logic 1,”...
Figure 8-33. Flow Chart of Bit Stuffing Control Operation CHAPTER 8 USB FUNCTION Idle state Transmission start? Transmit bit input Transmit bit = 1? Shift bit Reset bit stuffing register stuffing register Bit stuffing register = 3FH? Disable USBPOB increment Reset bit stuffing register Disable save...
CHAPTER 8 USB FUNCTION Figure 8-34. Flow Chart of Bit Strip Control Operation Idle state Reception start? Receive bit input Receive bit = 1? Shift bit stuffing register Bit stuffing register = 3FH? Disable USBPOB increment EOP receive signal set? Receive bit input Receive bit = 1? Reset bit...
The 3-wire serial I/O mode supports simultaneous transmit and receive operations, reducing data transfer processing time. It is possible to switch the start bit of 8-bit data to be transmitted between the MSB and the LSB, thus allowing connection to devices with either start bit.
9.2 Configuration of Serial Interface 10 Serial interface 10 consists of the following hardware. Table 9-1. Configuration of Serial Interface 10 Item Register Transmit/receive shift register 10 (SIO10) Control register Serial operating mode register 10 (CSIM10) (1) Transmit/receive shift register 10 (SIO10) This is an 8-bit register used for parallel-to-serial conversion and to perform serial data transmission/reception in synchronization with the serial clock.
9.3 Register Controlling Serial Interface 10 The following register is used to control serial interface 10. • Serial operation mode register 10 (CSIM10) (1) Serial operation mode register 10 (CSIM10) This register is used to control serial interface 10 and set the serial clock and start bit. CSIM10 is set with a 1-bit or 8-bit memory manipulation instruction.
9.4 Operation of Serial Interface 10 Serial interface 10 provides the following two modes. • Operation stop mode • 3-wire serial I/O mode 9.4.1 Operation stop mode In the operation stop mode, serial transfer is not executed; therefore, the power consumption can be reduced. The P20/SCK10, P21/SO10, and P22/SI10 pins can be used as normal I/O ports.
9.4.2 3-wire serial I/O mode The 3-wire serial I/O mode is useful for connection of peripheral I/Os and display controllers, etc., which incorporate a conventional synchronous serial interface, such as the 75XL Series, 78K Series, 17K Series, etc. Communication is performed using three lines: the serial clock (SCK10), serial output (SO10), and serial input (SI10).
(2) Communication operation In the 3-wire serial I/O mode, data transmission/reception is performed in 8-bit units. transmitted/received bit by bit in synchronization with the serial clock. Transmit/receive shift register 10 (SIO10) shift operations are performed in synchronization with the fall of the serial clock (SCK10).
The µ PD789800 incorporates a regulator that powers the USB driver/receiver. The features are as follows. • Generates V (3.3 ±0.3 V) from V • Supports power-saving mode, reducing power consumption in mode. Figure 10-1. Block Diagram of Regulator and USB Driver/Receiver µ...
CHAPTER 11 11.1 Interrupt Function Types The following two types of interrupt functions are used. (1) Non-maskable interrupt This interrupt is acknowledged unconditionally. It does no undergo interrupt priority control and is given top priority over all other interrupt requests. A standby release signal is generated.
Note 1 Type of Interrupt Priority Name Nonmaskable INTWDT Maskable INTWDT INTUSBTM INTUSBRT INTUSBRD INTUSBST INTUSBRE INTP0 INTCSI10 INTTM00 INTTM01 INTKR00 Notes 1. The priority is the order of priority when multiple maskable interrupts are generated simultaneously. 0 is the highest priority and 10 is the lowest. 2.
11.3 Registers Controlling Interrupt Function The following five registers are used to control the interrupt functions. • Interrupt request flag registers 0 and 1 (IF0 and IF1) • Interrupt mask flag registers 0 and 1 (MK0 and MK1) • External interrupt mode register 0 (INTM0) •...
(1) Interrupt request flag registers (IF0 and IF1) The interrupt request flag is set to 1 when the corresponding interrupt request is generated or an instruction is executed. It is cleared to 0 when an instruction is executed upon acknowledgement of an interrupt request or upon RESET input.
(2) Interrupt mask flag registers (MK0 and MK1) The interrupt mask flag is used to enable/disable the corresponding maskable interrupt servicing. MK0 and MK1 are set with a 1-bit or 8-bit memory manipulation instruction. RESET input sets MK0 and MK1 to FFH. Figure 11-3.
(4) Program status word (PSW) The program status word is a register used to hold the instruction execution result and the current status for interrupt requests. The IE flag to set maskable interrupt enable/disable is mapped here. Besides 8-bit unit read/write, this register can carry out operations with bit manipulation instructions and dedicated instructions (EI, DI).
(5) Key return mode register 00 (KRM00) This register sets the pin that detects a key return signal (rising edge of port 4). KRM00 is set with a 1-bit an 8-bit memory manipulation instruction. Bit 0 (KRM000) is set in 4-bit units for the KR00/P40 to KR03/P43 pins. Bits 4 to 7 (KRM004 to KRM007) are set in 1-bit units for the KR04/P44 to KR07/P47 pins, respectively.
11.4 Interrupt Servicing Operation 11.4.1 Non-maskable interrupt acknowledgment operation The non-maskable interrupt is unconditionally acknowledged even when interrupts are disabled. It is not subject to interrupt priority control and takes precedence over all other interrupts. When the non-maskable interrupt request is acknowledged, the PSW and PC are saved to the stack in that order, the IE flag is reset to 0, the contents of the vector table are loaded to the PC, and then program execution branches.
11.4.2 Maskable interrupt acknowledgment operation A maskable interrupt can be acknowledged when the interrupt request flag is set to 1 and the corresponding interrupt mask flag is cleared to 0. A vectored interrupt is acknowledged in the interrupt enabled status (when the IE flag is set to 1).
Figure 11-12. Timing of Interrupt Request Acknowledgment (Example of MOV A,r) Clock MOV A,r Interrupt When an interrupt request flag (xxIF) is generated before clock n (n = 4 to 10) of the instruction being executed turns to n - 1, the interrupt is acknowledged after the instruction has been executed. Figure 11-12 shows an example for 8-bit data transfer instruction MOV A,r.
11.4.3 Multiplexed interrupt servicing Servicing in which another interrupt is acknowledged while an interrupt is being processed is called multiplexed interrupt servicing. Multiplexed interrupt is not performed unless interrupt requests are enabled (IE = 1) (except the non-maskable interrupt request). Other interrupt requests are disabled (IE = 0) as soon as an interrupt request is acknowledged. Therefore, it is necessary to set (1) the IE flag to realize the interrupt enable state using the EI instruction during interrupt request servicing in order to enable multiplexed interrupt servicing.
Figure 11-14. Example of Multiplexed Interrupt Servicing Example 1. Acknowledging multiplexed interrupts Main processing IE = 0 INTxx The interrupt request INTyy is acknowledged and multiplexed interrupt servicing is performed during the interrupt INTxx servicing. Before each interrupt is acknowledged, the IE instruction is issued and interrupt requests are enabled.
11.4.4 Interrupt request hold If an interrupt (such as a maskable, non-maskable, or external interrupt) is requested when a certain type of instruction is being executed, the interrupt request will not be acknowledged until the instruction is completed. Such instructions include: •...
CHAPTER 12 12.1 Standby Function and Configuration 12.1.1 Standby function The standby function is used to reduce the power consumption of the system and can be effected in the following two modes. (1) HALT mode This mode is set when the HALT instruction is executed. The HALT mode stops the operation clock of the CPU. The system clock oscillator continues oscillating.
12.1.2 Register controlling standby function The wait time after the STOP mode is released upon interrupt request until oscillation stabilizes is controlled with the oscillation stabilization time select register (OSTS). OSTS is set with an 8-bit memory manipulation instruction. RESET input sets OSTS to 04H. However, it takes 2 Figure 12-1.
12.2 Standby Function Operation 12.2.1 HALT mode (1) HALT mode The HALT mode is set by executing the HALT instruction. The operation status in the HALT mode is shown in the following table. Table 12-1. HALT Mode Operation Status Item Clock generator Port (output latch) 8-bit timer 00 (TM00)
(2) Releasing HALT mode The HALT mode can be released by the following three sources. (a) Releasing by unmasked interrupt request The HALT mode is released by an unmasked interrupt request. In this case, if interrupts are enabled to be acknowledged, vectored interrupt servicing is performed.
(c) Releasing by RESET input When the HALT mode is released by the RESET signal, execution branches to the reset vector address in the same manner as the ordinary reset operation, and program execution is started. Figure 12-3. Releasing HALT Mode by RESET Input HALT instruction RESET...
12.2.2 STOP mode (1) Setting and operation status of STOP mode The STOP mode is set by executing the STOP instruction. Cautions 1. When the STOP mode is set, the X2 pin is internally pulled up to V current leakage of the crystal oscillator block. Therefore, do not use the STOP mode in a system where an external clock is used as the system clock.
(2) Releasing STOP mode The STOP mode can be released by the following two sources. (a) Releasing by unmasked interrupt request The STOP mode can be released by an unmasked interrupt request. In this case, if interrupts are enabled to be acknowledged, vectored interrupt servicing is performed, after the oscillation stabilization time has elapsed.
(b) Releasing by RESET input When the STOP mode is released by the RESET signal, the reset operation is performed after the oscillation stabilization time has elapsed. Figure 12-5. Releasing STOP Mode by RESET Input STOP instruction RESET signal Operation mode Oscillation Clock...
CHAPTER 13 The following two operations are available to generate reset signals. (1) External reset input via RESET pin (2) Internal reset by inadvertent program loop time detected by watchdog timer External and internal reset have no functional differences. In both cases, program execution starts at the address at 0000H and 0001H by RESET input.
Figure 13-2. Reset Timing by RESET Input During normal operation RESET Internal reset signal Delay Port pin Figure 13-3. Reset Timing by Overflow in Watchdog Timer During normal operation Overflow in watchdog timer Internal reset signal Port pin Figure 13-4. Reset Timing by RESET Input in STOP Mode STOP instruction execution During normal Stop status...
Table 13-1. Hardware Status After Reset (1/2) Note 1 Program counter (PC) Stack pointer (SP) Program status word (PSW) Port (P0 to P2, P4) output latch Port mode register (PM0 to PM2, PM4) Pull-up resistor option register (PU0) Port output mode register (POM0, POM1) Processor clock control register (PCC) Oscillation stabilization time select register (OSTS) 8-bit timer/event counter...
Page 189
Table 13-1. Hardware Status After Reset (2/2) USB function Serial interface Interrupt CHAPTER 13 RESET FUNCTION Hardware Data packet transmit byte number counter 0 (DTXCO0) Data packet transmit byte number counter 1 (DTXCO1) Token PID compare register (TIDCMP) Token address compare register (ADRCMP) USB receiver enable register (USBMOD) Packet receive status register (RXSTAT) Data/handshake packet receive result store register...
The µ PD78F9801 is a product that substitutes flash memory for the internal ROM of the mask ROM version. The differences between the µ PD78F9801 and the mask ROM versions are shown in Table 14-1. Table 14-1. Differences Between µ µ µ µ PD78F9801 and Mask ROM Versions Item Internal memory High-speed RAM...
14.1 Flash Memory Characteristics Flash memory programming is performed by connecting a dedicated flash programmer (Flashpro III (part no. FL- PR3, PG-FP3)/Flashpro IV (part no. FL-PR4, PG-FP4)) to the target system with the µ PD78F9801 mounted on the target system (on-board). A flash memory program adapter (FA adapter), which is a target board used exclusively for programming, is also provided.
14.1.2 Communication mode Use the communication mode shown in Table 14-2 to perform communication between the dedicated flash programmer and µ PD78F9801. Communication Mode COMM PORT SIO Clock 3-wire serial SIO ch-0 100 Hz to (3-wire, sync.) 1.25 MHz Pseudo-3-wire Port A 100 Hz to (pseudo- 1 kHz...
Figure 14-3. Example of Connection with Dedicated Flash Programmer Dedicated flash programmer Dedicated flash programmer Note Connect this pin when the system clock is supplied from the dedicated flash programmer. If a resonator is already connected to the X1 pin, the CLK pin does not need to be connected. Caution The V pin, if already connected to the power supply, must be connected to the VDD pin of the dedicated flash programmer.
If Flashpro III (part no. FL-PR3, PG-FP3)/Flashpro IV is used as a dedicated flash programmer, the following signals are generated for the µ PD78F9801. For details, refer to the manual of Flashpro III/Flashpro IV. Signal Name VPP1 Output Write voltage −...
In normal operation mode, input 0 V to the V (TYP.) is supplied to the V pin, so perform either of the following. Connect a pull-down resistor (RV Use the jumper on the board to switch the V pin connection example is shown below. Figure 14-4. V µ...
Signal conflict If the dedicated flash programmer (output) is connected to a serial interface pin (input) that is connected to another device (output), a signal conflict occurs. To prevent this, isolate the connection with the other device or set the other device to the output high impedance status. Figure 14-5.
<RESET pin> If the reset signal of the dedicated flash programmer is connected to the RESET pin connected to the reset signal generator on-board, a signal conflict occurs. To prevent this, isolate the connection with the reset signal generator. If the reset signal is input from the user system in the flash memory programming mode, a normal programming operation cannot be performed.
14.1.4 Connection of adapter for flash writing The following figure shows an example of recommended connection when the adapter for flash writing is used. Figure 14-8. Wiring Example for Flash Writing Adapter with 3-Wire Serial I/O VDD2(LVDD) 44 43 42 41 40 39 38 37 36 35 34 12 13 14 15 16 17 18 19 20 21 22 µ...
CHAPTER 15 This chapter lists the instruction set of the µ PD789800 Subseries. For details of the operation and machine language (instruction code) of each instruction, refer to 78K/0S Series Instruction User’s Manual (U11047E). 15.1 Operation 15.1.1 Operand identifiers and description methods Operands are described in the “Operands”...
15.1.2 Description of “operation” column A register; 8-bit accumulator X register B register C register D register E register H register L register AX register pair; 16-bit accumulator BC register pair DE register pair HL register pair Program counter Stack pointer PSW: Program status word Carry flag...
CHAPTER 16 = 25° ° ° ° C) Absolute Maximum Ratings (T Parameter Symbol Supply voltage Input voltage Output voltage Output current, high Output current, low Operating ambient temperature Storage temperature Notes 1. Make sure that the following conditions of the V flash memory is written.
Page 211
CHAPTER 16 System Clock Oscillation Circuit Characteristics (T Resonator Recommended Circuit Crystal Oscillator frequency (f Oscillation stabilization time External X1 input frequency (f clock X1 input high-low-level OPEN width (t Notes 1. Indicates only oscillator characteristics. Refer to AC Characteristics for the instruction execution time.
Page 212
CHAPTER 16 = − − − − 40 to +85° ° ° ° C, V DC Characteristics (T Parameter Symbol Output current, high Output current, low Input voltage, high Input voltage, low Output voltage, high Output voltage, low Input leakage current, high LIH1 LIH2 LIH3...
Page 213
CHAPTER 16 = − − − − 40 to +85° ° ° ° C, V DC Characteristics (T Parameter Symbol Note 1 Supply current (Mask ROM Version) Note 1 Supply current ( µ PD78F9801) Notes 1. The power supply current does not include the current flowing through the on-chip pull-up resistors. 2.
Page 214
CHAPTER 16 AC Characteristics = − − − − 40 to +85° ° ° ° C, V (1) Basic operations (T Parameter Symbol Cycle time (minimum instruction execution time) TI01 input frequency TI01 input high-/low-level width Interrupt input high-/low-level INTH INTL width RESET input low-level width...
Page 215
CHAPTER 16 = − − − − 40 to +85° ° ° ° C, V (b) 3-wire serial I/O mode (T (i) SCK10 ...Internal clock output (when f Parameter Symbol SCK10 cycle time KCY1 SCK10 high-/low-level width SI10 setup time SIK1 SI10 hold time KSI1...
Page 217
CHAPTER 16 Serial Transfer Timing USB function: USBDM and USBDP rise/fall time USBDM, USBDP Transmission differential signal jitter USBDM, USBDP Differential output signal cross-over point, transmission EOP width, reception EOP width, and reception USB reset width USBDM, USBDP m = 1, 2 3-wire serial I/O mode: SCK10 SI10...
Page 218
CHAPTER 16 Data Memory STOP Mode Low Supply Voltage Data Retention Characteristics (T Item Symbol Data hold supply voltage DDDR Release signal set time SREL Oscillation stabilization WAIT Note 1 time Notes 1. During the oscillation stabilization time, CPU operations are disabled to prevent them from becoming unstable upon the start of oscillation.
CHAPTER 17 44 PIN PLASTIC LQFP (10x10) NOTE Each lead centerline is located within 0.20 mm of its true position (T.P.) at maximum material condition. PACKAGE DRAWINGS User’s Manual U12978EJ3V0UD detail of lead end ITEM MILLIMETERS 12.0±0.2 10.0±0.2 10.0±0.2 12.0±0.2 +0.08 0.37 −0.07...
For details of the recommended soldering conditions, refer to the document Semiconductor Device Mounting Technology Manual (C10535E). For soldering methods and conditions other than those recommended below, contact an NEC Electronics sales representative. Table 18-1. Surface Mounting Type Soldering Conditions µ...
APPENDIX A The following development tools are available for development of systems using the µ PD789800 Subseries. Figure A-1 shows the development tools. • Support of the PC98-NX series Unless otherwise stated, the µ PD789800 Subseries, which is supported by IBM PC/AT™ and compatibles, can be used for the PC98-NX series.
Language processing software · Assembler package · C compiler package · Device file · C library source file Flash memory writing environment Flash programmer Flash memory writing adapter Flash memory Notes 1. C library source file is not included in the software package. 2.
A.1 Software Package SP78K0S Software tools for development of the 78K/0S Series are combined in this package. Software package The following tools are included. RA78K0S, CC78K0S, ID78K0S-NS, SM78K0S, and device files Part number: µ S××××SP78K0S ×××× in the part number differs depending on the OS used. Remark µ...
×××× in the part number differs depending on the host machine and operating system to be used. Remark µ S××××RA78K0S µ S××××CC78K0S ×××× AB13 PC-9800 series, IBM PC/AT compatibles BB13 AB17 BB17 3P17 HP9000 series 700 3K17 SPARCstation µ S××××DF789801 µ...
A.5 Debugging Tools (Hardware) IE-78K0S-NS In-circuit emulator for debugging hardware and software of an application system using the In-circuit emulator 78K/0S Series. Supports a integrated debugger (ID78K0S-NS). Used in combination with an AC adapter, emulation probe, and interface adapter for connecting the host machine. IE-78K0S-NS-A The IE-78K0S-NS-A provides a coverage function in addition to the IE-78K0S-NS functions, thus In-circuit emulator...
A.6 Debugging Tools (Software) ID78K0S-NS This debugger supports the in-circuit emulators IE-78K0S-NS and IE-78K0S-NS-A for the Integrated debugger 78K/0S Series. The ID78K0S-NS is Windows-based software. It has improved C-compatible debugging functions and can display the results of tracing with the source program using an integrating window function that associates the source program, disassemble display, and memory display with the trace result.
A.7 Notes on Target System Design Figures A-2 and A-3 show the conditions when connecting the emulation probe to the conversion adapter. Follow the configuration below and consider the shape of parts to be mounted on the target system when designing a system.
Figure A-3. Connection Condition of Target System (NP-H44GB-TQ) Emulation board IE-789801-NS-EM1 23 mm 10 mm Remarks 1. NP-H44GB-TQ is a product of Naito Densei Machida Mfg. Co., Ltd. 2. TGB-044SAP is a product of TOKYO ELETECH CORPORATION. APPENDIX A DEVELOPMENT TOOLS Emulation probe NP-H44GB-TQ Conversion adapter...
APPENDIX C The revision history is described below. The “Applied to” column indicates the chapters in each edition. Edition Major Revisions from Previous Edition Deletion of description “under development” for µ PD789800, since it has 2nd edition been developed Addition of GB-8ES type package Modification of recommended connection of unused pins in type of input/output circuit for each pin Addition of illustration in direct addressing...
Page 234
Edition Major Revisions from Previous Edition Correction of address values in Figure 3-1 Memory Map ( µ µ µ µ PD789800) and Figure 3-2 Memory Map ( µ µ µ µ PD78F9801) Modification of Figure 5-3 External Circuit of System Clock Oscillator (b) External clock •...