Dec. 2001 VER. 1.00 4-BIT SINGLE CHIP MICROCOMPUTERS HMS38112/39112 USER`S MANUAL • HMS38112 • HMS39112 VER. 1.00 Published by MCU Application Team in MagnaChip Semiconductor Ltd. Co., Ltd. MagnaChip Semiconductor Ltd. 2004 All Right Reserved. ⓒ Additional information of this manual may be served by MagnaChip Semiconductor Ltd. Offices in Korea or Distributors and Representative listed at address directory. MagnaChip Semiconductor Ltd. reserves the right to make changes to any Information here in at any time without notice. The information, diagrams, and other data in this manual are correct and reliable; however, MagnaChip Semiconductor Ltd. is in no way responsible for any violations of patents or other rights of the third party generated by the use of this manual. HMS38112 1 HMS39112 2 ARCHITECTURE 3 INSTRUCTION 4 APPLICATION 5 Chapter 1.HMS38112 CHAPTER 1. HMS38112 Outline of characteristics The HMS38112 is remote control transmitter which uses CMOS technology This enables transmission code outputs of different configurations, multiple custom code output, and double push key output for easy fabrication. The HMS38112 is suitable for remote control of TV, VCR, FANS, Air-conditioners, Audio Equipments, Toys, Games etc. Characteristics • • • • • • • • • • • • • • • Program memory : 1,024 bytes Data memory : 32 4 bits 43 types of instruction set 3 levels of subroutine nesting Operating frequency : 2.4MHz ~ 4MHz Instruction cycle : fOSC/48 CMOS process (Single 3.0V power supply) Stop mode (Through internal instruction) Released stop mode by key input(mask option) Built in Power-on Reset circuit Built in Transistor for I.R LED Drive : IOL=250mA at VDD=3V and VO=0.3V Built in Low Voltage reset circuit Built in a watch dog timer (WDT) Low operating voltage : 2.0 ~ 3.6V 20 pin PDIP/SOP/SSOP package Ø 1-1 Chapter 1.HMS38112 Block Diagram VDD GND 20 1 Power-on Reset EPROM 64word 10 Ø16page Program counter Ø8bit 8 Watchdog timer 3-level Stack 10 4 4 8 4 MUX Instruction Decoder 4 ALU MUX 4 4 Control Signal 2 RAM 16word x 2page x 4bit X-Reg 16 RAM Word Selector Y-Reg ST 4 ACC 4 10 R-Latch OSC 4 D-Latch Pulse Generator 10 4 2 3 OSC1 OSC2 4 5 6 K0 ~ K3 4 7 4 8 I.R.LED Drive Tr. 9 10 11 12 13 14 15 16 17 D0 D1 D2 D3 D4 D5 R0 ~ R3 Fig 1-1 Block Diagram 1-2 18 19 PGND REMOUT Chapter 1.HMS38112 Pin Assignment GND 1 20 VDD OSC1 2 19 REMOUT OSC2 3 18 PGND K0 4 17 D5 K1 5 16 D4 K2 6 15 D3 K3 7 14 D2 R0 8 13 D1 R1 9 12 D0 R2 10 11 R3 Fig 1-2 HMS38112 Pin Assignment (20 PIN) 1-3 Chapter 1.HMS38112 Pin Dimension - NOTE 1. DIMENSION * MARK DOES NOT INCLUDE MOLD PROTRUSION. MAXIMUM ALLOWABLE PROTRUSION IS 0.010 INCH PER SIDE. 2. DIMENSION ** MARK DOES NOT INCLUDE MOLD PROTRUSION. MAXIMUM ALLOWABLE PROTRUSION IS 0.010 INCH PRE SIDE. 3. UNSPECIFIED IS ACCORDING TO JEDEC MS-001 VARIATION AE. Fig 1-3. 20PDIP (300MIL) Pin Dimension (UNIT : INCH) - NOTE 1. DIMENSION * MARK DOES NOT INCLUDE MOLD PROTRUSION. MAXIMUM ALLOWABLE PROTRUSION IS 0.15 mm PER SIDE. 2. DIMENSION ** MARK DOES NOT INCLUDE MOLD PROTRUSION. MAXIMUM ALLOWABLE PROTRUSION IS 0.25 mm PRE SIDE. 3. DIMENSIONING AND TOLERANCEING PER ANSI Y14.5M-1982. 4. UNSPECIFIED IS ACCORDING TO JEDEC MS-013, VARIATION “AC”. Fig 1-4. 20SOP (300MIL) Pin Dimension (UNIT : mm) 1-4 Chapter 1.HMS38112 0.035 0.016 0.244 0.230 ** 0.157 0.150 0.0098 0.0075 * 0.344 0.337 0- 8 0.068 0.057 0.010 0.004 - NOTE 1. DIMENSION * MARK DOES NOT INCLUDE MOLD PROTRUSION. MAXIMUM ALLOWABLE PROTRUSION IS 0.006 INCH PER SIDE. 2. DIMENSION ** MARK DOES NOT INCLUDE MOLD PROTRUSION. MAXIMUM ALLOWABLE PROTRUSION IS 0.010 INCH PRE SIDE. 0.012 0.008 3. DIMENSIONING AND TOLERANCEING PER ANSI Y14.5M-1982. 0.025 BSC 4. UNSPECIFIED IS ACCORDING TO JEDEC MO-137, VARIATION “AD”. Fig 1-5. 20SSOP (150MIL) Pin Dimension (UNIT : inch) 1-5 Chapter 1.HMS38112 Pin Description and Circuit Pin Description Pin I/O Function VDD - Connected to 2.0~ 3.6V power supply GND - Connected to 0V power supply. K0 ~ K3 D0 ~ D5 R0 ~ R1 R2 ~ R3 Input Output Input I/O OSC1 Input OSC2 Output PGND - REMOUT Output 4-bit input port with built in pull-up resistor. STOP mode is released by "L" input of each pin. Each can be set and reset independently. The output is the structure of N-channel-open-drain. 2-bit input port with built in pull-up resistor. STOP mode is released by "L" input of each pin. 2-bit I/O port. (Input mode is set only when each of them output "H".) In outputting, each can be set and reset independently(or at once.) The output is in the form of C-MOS. STOP mode is released by "L" input of each pin. Oscillator input. Input to the oscillator circuit and connection point for ceramic resonator. A feedback resistor is connected between this pin and OSC2. Connect a resonator between this pin and OSC1. Ground pin for internal high current N-channel transistor. (connected to GND) High current output port for driving I.R.LED. The output is in the form N-channel open drain. 1-6 Chapter 1.HMS38112 Pin Circuit Pin I/O I/O circuit Note pull-up R0 ~ R1 - Built in MOS Tr for pull-up, about 140 . Ï I pull-up R2 ~ R3 - CMOS output. - "H" output at reset. - Built in MOS Tr for pull-up, about 140 . I/O Ï pull-up K0 ~ K3 D0 ~ D5 I - Built in MOS Tr for pull-up, about 140 . O - Open drain output. - "L" output at reset. - D0~D3 are “L” output at STOP MODE.. - D4 ~D5 pins “Low” or keep before stop mode at STOP MODE (option) Ï REMOUT RESETB REMOUT O PGND DATA 1-7 - Open drain output - Output Tr. Disable at reset. Chapter 1.HMS38112 Pin I/O circuit I/O OSC1 OSC2 Note OSC2 O - Built in feedback-resistor about 1 Ð OSC1 I Rf STOP Optional Features The HMS38112 offers the following optional features. These options are masked. • I/O terminals having pull-up resistor : R2 ~ R3 • Input terminals having STOP release mode : K0 ~ K3, R0 ~ R3 • Output form at STOP mode : D4 ~D5 pins “L” or keep before stop mode 1-8 Chapter 1.HMS38112 Electrical Characteristics Î Absolute maximum ratings (Ta = 25 ) Parameter Symbol Max. rating Unit Supply Voltage VDD -0.3 ~ 5.0 V Power dissipation PD 700 * mW Tstg -55 ~ 125 Î VIN -0.3 ~ VDD+0.3 V VOUT -0.3 ~ VDD+0.3 V Storage temperature range Input voltage Output voltage * Thermal derating above 25 Î: 6mW per degree Î rise in temperature. Recommended operating condition Parameter Symbol Condition Rating Unit Supply Voltage VDD 2.4MHz ~ 4MHz 2.0 ~ 3.6 V Operating temperature Topr -20 ~ +70 Î - 1-9 Chapter 1.HMS38112 Î Electrical characteristics (Ta=25 , VDD= 3V) Limits Parameter Symbol Unit Condition Min. Typ. Max. IIH - - 1 K Pull-up Resistance RPU1 70 140 300 R Pull-up Resistance RPU2 70 140 300 Feedback Resistance RFD 0.3 1.0 3.0 K, R input H voltage VIH1 2.1 - - V - K, R input L voltage VIL1 - - 0.9 V - D. R output L voltage VOL2*1 - 0.15 0.4 V IOL=3mA OSC2 output L voltage VOL3 - 0.4 0.9 V IOL=150uA OSC2 output H voltage VOH3 2.1 2.5 - V IOH=-150uA Input H current VI=GND VI=GND, Output off VOSC1=GND, VOSC2=VDD VOL=0.3V 1 uA V0UT=VDD, Output off - 1 uA V0UT=VDD, Output off - - 1 uA At STOP mode IDD *2 - 0.5 1.5 mA fOSC=4MHz fOSC 2.4 - 4 MHz MHZ version IOL1 REMOUT leakage current IOLK1 - - D, R output leakage current IOLK2 - Current on STOP mode ISTP Operating supply current fOSC/48 Ï Ï Ð VI=VDD mA 250 REMOUT output L current System clock frequency uA *1 Refer to Fig.1-6 < IOL2 vs. VOL2 Graph> *2 IDD is measured at RESET mode. 1-10 Chapter 1.HMS38112 Fig 1-6. IOL2 vs. VOL2 Graph. ( D, R Port ) ´ ¨µ Î ª ª £ |Á} ª£ |ª} 1-11 HMS38112 1 HMS39112 2 ARCHITECTURE 3 INSTRUCTION 4 APPLICATION 5 Chapter 2.HMS39112 CHAPTER 2. HMS39112 Outline of characteristics The HMS39112 is remote control transmitter which uses CMOS technology This enables transmission code outputs of different configurations, multiple custom code output, and double push key output for easy fabrication. The HMS39112 is suitable for remote control of TV, VCR, FANS, Air-conditioners, Audio Equipments, Toys, Games etc. It is possible to structure the 8 x 7 key matrix. Characteristics • • • • • • • • • • • • • • Program memory : 1,024 bytes Data memory : 32 4 bits 43 types of instruction set 3 levels of subroutine nesting Operating frequency : 2.4MHz ~ 4MHz Instruction cycle : fOSC/48 CMOS process (Single 3.0V power supply) Stop mode (Through internal instruction) Released stop mode by key input(mask option) Built in Power-on Reset circuit Built in Low Voltage reset circuit Built in a watch dog timer (WDT) Low operating voltage : 2.0 ~ 3.6V 20 pin PDIP/SOP/SSOP package Ø 2-1 Chapter 2.HMS39112 Block Diagram VDD GND 20 1 Power-on Reset EPROM 64word 10 Ø16page Program counter Ø8bit 8 Watchdog timer 3-level Stack 10 4 4 8 4 MUX Instruction Decoder 4 ALU MUX 4 4 Control Signal 2 RAM 16word x 2page x 4bit X-Reg RAM Word Selector 16 Y-Reg ST 4 ACC 4 10 R-Latch OSC 4 D-Latch Pulse Generator 10 4 2 3 OSC1 OSC2 4 5 6 K0 ~ K3 4 7 4 8 9 10 R0 ~ R3 11 17 18 19 D0 D1 D2 D3 D4 D5 12 13 D6 REMOUT Fig 2-1 Block Diagram 2-2 14 15 16 Chapter 2.HMS39112 Pin Assignment GND 1 20 VDD OSC1 2 19 REMOUT OSC2 3 18 D6 K0 4 17 D5 K1 5 16 D4 K2 6 15 D3 K3/Vpp 7 14 D2 R0 8 13 D1 R1 9 12 D0 R2 10 11 R3 Fig 2-2 HMS39112 Pin Assignment (20 PIN) 2-3 Chapter 2.HMS39112 Pin Dimension - NOTE 1. DIMENSION * MARK DOES NOT INCLUDE MOLD PROTRUSION. MAXIMUM ALLOWABLE PROTRUSION IS 0.010 INCH PER SIDE. 2. DIMENSION ** MARK DOES NOT INCLUDE MOLD PROTRUSION. MAXIMUM ALLOWABLE PROTRUSION IS 0.010 INCH PRE SIDE. 3. UNSPECIFIED IS ACCORDING TO JEDEC MS-001 VARIATION AE. Fig 2-3. 20PDIP (300MIL) Pin Dimension (UNIT : INCH) - NOTE 1. DIMENSION * MARK DOES NOT INCLUDE MOLD PROTRUSION. MAXIMUM ALLOWABLE PROTRUSION IS 0.15 mm PER SIDE. 2. DIMENSION ** MARK DOES NOT INCLUDE MOLD PROTRUSION. MAXIMUM ALLOWABLE PROTRUSION IS 0.25 mm PRE SIDE. 3. DIMENSIONING AND TOLERANCEING PER ANSI Y14.5M-1982. 4. UNSPECIFIED IS ACCORDING TO JEDEC MS-013, VARIATION “AC”. Fig 2-4. 20SOP (300MIL) Pin Dimension (UNIT : mm) 2-4 Chapter 2.HMS39112 0.035 0.016 0.244 0.230 ** 0.157 0.150 0.0098 0.0075 * 0.344 0.337 0- 8 0.068 0.057 0.010 0.004 - NOTE 1. DIMENSION * MARK DOES NOT INCLUDE MOLD PROTRUSION. MAXIMUM ALLOWABLE PROTRUSION IS 0.006 INCH PER SIDE. 2. DIMENSION ** MARK DOES NOT INCLUDE MOLD PROTRUSION. MAXIMUM ALLOWABLE PROTRUSION IS 0.010 INCH PRE SIDE. 0.012 0.008 3. DIMENSIONING AND TOLERANCEING PER ANSI Y14.5M-1982. 0.025 BSC 4. UNSPECIFIED IS ACCORDING TO JEDEC MO-137, VARIATION “AD”. Fig 2-5. 20SSOP (150MIL) Pin Dimension (UNIT : INCH) 2-5 Chapter 2.HMS39112 Pin Description and Circuit Pin Description Pin I/O Function VDD - Connected to 2.0~ 3.6V power supply GND - Connected to 0V power supply. K0 ~ K3 Input D0 ~ D6 R0 ~ R1 Output Input 4-bit input port with built in pull-up resistor. STOP mode is released by "L" input of each pin.(masked option) Each can be set and reset independently. The output is the structure of N-channel-open-drain. 2-bit input port with built in pull-up resistor. STOP mode is released by "L" input of each pin.(masked option) 2-bit I/O port. (Input mode is set only when each of them output "H".) In outputting, each can be set and reset independently(or at once.) The output is in the form of C-MOS. STOP mode is released by "L" input of each pin. Pull-up resistor and STOP release mode can be respectively selected as masked option for each pin.(It is released by “L” input at STOP) R2 ~ R3 I/O OSC1 Input OSC2 Output Connect a resonator between this pin and OSC1. REMOUT Output High current output port for driving I.R.LED. The output is in the form N-channel open drain. Oscillator input. Input to the oscillator circuit and connection point for ceramic resonator. A feedback resistor is connected between this pin and OSC2. 2-6 Chapter 2.HMS39112 Pin Circuit Pin I/O I/O circuit Note pull-up R0 ~ R1 - Built in MOS Tr for pull-up, about 140 . Ï I pull-up R2 ~ R3 - CMOS output. - "H" output at reset. - Built in MOS Tr for pull-up, about 140 . I/O Ï pull-up K0 ~ K3 D0 ~ D6 REMOUT - Built in MOS Tr for pull-up, about 140 . Ï I - Open drain output. - "L" output at reset. - D0~D3 are “L” output at STOP MODE. -D4 ~D6 pins “L” or keep before stop mode At STOP MODE(option) O - Open drain output - “L” output at reset. - High current output source. O 2-7 Chapter 2.HMS39112 Pin I/O circuit I/O OSC1 OSC2 Note OSC2 O - Built in feedback-resistor about 1 Ð OSC1 I Rf STOP Optional Features The HMS39112 offers the following optional features. These options are masked. • I/O terminals having pull-up resistor : R2 ~ R3 • Input terminals having STOP release mode : K0 ~ K3, R0 ~ R3 • Output form at STOP mode : D4 ~D6 pins “L” or keep before stop mode 2-8 Chapter 2.HMS39112 Electrical Characteristics Î Absolute maximum ratings (Ta = 25 ) Parameter Symbol Max. rating Unit Supply Voltage VDD -0.3 ~ 5.0 V Power dissipation PD 700 * mW Tstg -55 ~ 125 Î VIN -0.3 ~ VDD+0.3 V VOUT -0.3 ~ VDD+0.3 V Storage temperature range Input voltage Output voltage * Thermal derating above 25 Î: 6mW per degree Î rise in temperature. Recommended operating condition Parameter Symbol Condition Rating Unit Supply Voltage VDD 2.4MHz ~ 4MHz 2.0 ~ 3.6 V Operating temperature Topr -20 ~ +70 Î - 2-9 Chapter 2.HMS39112 Î Electrical characteristics (Ta=25 , VDD= 3V) Limits Parameter Symbol Unit Condition Min. Typ. Max. IIH - - 1 K Pull-up Resistance RPU1 70 140 300 R Pull-up Resistance RPU2 70 140 300 Feedback Resistance RFD 0.3 1.0 3.0 K, R input H voltage VIH1 2.1 - - V - K, R input L voltage VIL1 - - 0.9 V - D. R output L voltage VOL2*1 - 0.15 0.4 V IOL=3mA OSC2 output L voltage VOL3 - 0.4 0.9 V IOL=150uA OSC2 output H voltage VOH3 2.1 2.5 - V IOH=-150uA REMOUT output L current IOL1*2 0.5 1.1 3 mA VOL1=0.4V REMOUT output H current IOH1*3 -5 -15 -30 mA VOH1=2V D, R output leakage current IOLK2 - - 1 uA V0UT=VDD, Output off Current on STOP mode ISTP - - 1 uA At STOP mode Operating supply current IDD *4 - 0.5 1.5 mA fOSC=4MHz fOSC 2.4 - 4 MHz MHZ version Input H current System clock frequency fOSC/48 *1 Refer to Fig.2-6 < IOL2 vs. VOL2 Graph> *2 Refer to Fig.2-7 < IOL1 vs. VOL1 Graph> *3 Refer to Fig.2-8 < IOH1 vs. VOH1 Graph> *4 IDD is measured at RESET mode. 2-10 uA Ï Ï Ð VI=VDD VI=GND VI=GND, Output off VOSC1=GND, VOSC2=VDD Chapter 2.HMS39112 Fig 2-6. IOL2 vs. VOL2 Graph. ( D, R Port ) ´ ¨µ Î ª ª £ |Á} ª£ |ª} Fig 2-7. IOL1 vs VOL1 Graph ¨µ (REMOUT Port) Î ª ª £ |Á} ª ª ª ª ª£ |ª} 2-11 Chapter 2.HMS39112 Fig 2-8. IOH1 vs VOH1 Graph (REMOUT Port) ¨µ Î £ |Á} ª ª ª ª ª ª ª£ |ª} 2-12 HMS38112 1 HMS39112 2 ARCHITECTURE 3 INSTRUCTION 4 APPLICATION 5 Chapter 3. Architecture CHAPTER 3. Architecture Program Memory Ø The HMS38112/39112 can incorporate maximum 1,024 words (64 words 16 pages 8bits) for program memory. Program counter PC (A0~A5) and page address register (A6~A9) are used to address the whole area of program memory having an instruction (8bits) to be next executed. The program memory consists of 64 words on each page, and thus each page can hold up to 64 steps of instructions. The program memory is composed as shown below. Ø Program capacity (pages) 01 8 2 3 4 5 6 7 Page 0 Page 1 Page 2 Page 15 6 63 0 1 2 15 A0~A5 A6~A9 Program counter (PC) Page address register (PA) 6 4 4 Stack register (Level "1") (Level "2") (SR) (PSR) (Level "3") Fig 3-1 Configuration of Program Memory 3-1 Page buffer (PB) Chapter 3. Architecture Address Register The following registers are used to address the ROM. • Page address register (PA) : Holds ROM's page number (0~Fh) to be addressed. • Page buffer register (PB) : Value of PB is loaded by an LPBI command when newly addressing a page. Then it is shifted into the PA when rightly executing a branch instruction (BR) and a subroutine call (CAL). • Program counter (PC) : Available for addressing word on each page. • Stack register (SR) : Stores returned-word address in the subroutine call mode. (1) Page address register and page buffer register : Address one of pages #0 to #15 in the EPROM by the 4-bit binary counter. Unlike the program counter, the page address register is usually unchanged so that the program will repeat on the same page unless a page changing command is issued. To change the page address, take two steps such as (1) writing in the page buffer what page to jump (execution of LPBI) and (2) execution of BR or CAL, because instruction code is of eight bits so that page and word can not be specified at the same time. In case a return instruction (RTN) is executed within the subroutine that has been called in the other page, the page address will be changed at the same time. (2) Program counter : This 6-bit binary counter increments for each fetch to address a word in the currently addressed page having an instruction to be next executed. For easier programming, at turning on the power, the program counter is reset to the zero location. The PA is also set to "0". Then the program counter specifies the next address in random sequence. When BR, CAL or RTN instructions are decoded, the switches on each step are turned off not to update the address. Then, for BR or CAL, address data are taken in from the instruction operands (a0 to a5), or for RTN, and address is fetched from stack register No. 1. (3) Stack register : This stack register provides two stages each for the program counter (6bits) and the page address register (4bits) so that subroutine nesting can be made on two levels. 3-2 Chapter 3. Architecture Data Memory (RAM) Ø Ø Up to 32 nibbles (16 words 2pages 4bits) is incorporated for storing data. The whole data memory area is indirectly specified by a data pointer (X,Y). Page number is specified by zero bit of X register, and words in the page by 4 bits in Y-register. Data memory is composed in 16 nibbles/page. Figure 4-2 shows the configuration. D0 D9 R0 Data memory page (0~1) R3 REMOUT Output port 0 1 2 3 Page 0 Page 1 15 4 a0~a3 Y-register (Y) 0 1 X-register (X) Fig 3-2 Composition of Data Memory X-register (X) X-register is consist of 2bit, X0 is a data pointer of page in the RAM, X1 is reserved. X1=0 X1=1 Y=0 D0 Reserved Y=1 D1 Reserved Table 3-1 Mapping table between X and Y register Y-register (Y) Y-register has 4 bits. It operates as a data pointer or a general-purpose register. Y-register specifies an address (a0~a3) in a page of data memory, as well as it is used to specify an output port. Further it is used to specify a mode of carrier signal outputted from the REMOUT port. It can also be treated as a generalpurpose register on a program. 3-3 Chapter 3. Architecture Accumulator (ACC) The 4-bit register for holding data and calculation results. Arithmetic and Logic Unit (ALU) In this unit, 4bits of adder/comparator are connected in parallel as it's main components and they are combined with status latch and status logic (flag.) (1) Operation circuit (ALU) : The adder/comparator serves fundamentally for full addition and data comparison. It executes subtraction by making a complement by processing an inversed output of ACC (ACC+1) (2) Status logic : This is to bring an ST, or flag to control the flow of a program. It occurs when a specified instruction is executed in three cases such as overflow or underflow in operation and two inputs unequal. State Counter (SC) A fundamental machine cycle timing chart is shown below. Every instruction is one byte length. Its execution time is the same. Execution of one instruction takes 6 clocks for fetch cycle and 6 clocks for execute cycle (12 clocks in total). Virtually these two cycles proceed simultaneously, and thus it is apparently completed in 6 clocks (one machine cycle). Exceptionally BR, CAL and RTN instructions is normal execution time since they change an addressing sequentially. Therefore, the next instruction is prefetched so that its execution is completed within the fetch cycle. T1 T2 T3 T4 T5 T6 T1 T2 T3 T4 T5 T6 Phase é Phase ê Phase ë Fetch cycle N Execute cycle N Execute cycle N-1 Fetch cycle N-1 Machine Cycle Machine Cycle Fig. 3-3 Fundamental timing chart 3-4 Chapter 3. Architecture Clock Generator The HMS38112/39112 have an internal clock oscillator. The oscillator circuit is designed to operate with an external ceramic resonator. Oscillator circuit is able to organize by connecting ceramic resonator to outside. * It is necessary to connect capacitor to outside in order to change ceramic resonator, you must refer to a manufacturer`s resonator matching guide. OSC1 OSC2 2 3 C1 sx~^c\\] x}ll nz}ppns ov C2 ^Ya_xs¥ n~w~^xa_r`aXm[ n}w^Ya_x} qn}^Ya_xn` * All type have the built-in loading capacitors. 3-5 _Y[[xs¥ n~w~^xa_r`aXm[ n}w_Y[[x} qn}_Y[xn` Chapter 3. Architecture Pulse Generator The following frequency and duty ratio are selected for carrier signal outputted from the REMOUT port depending on a PMR (Pulse Mode Register) value set in a program. T T1 PMR REMOUT signal 0 T=1/fPUL = 96/fOSC, T1/T = 1/2 1 T=1/fPUL = 96/fOSC, T1/T = 1/3 2 T=1/fPUL = 64/fOSC, T1/T = 1/2 3 T=1/fPUL = 64/fOSC, T1/T = 1/4 4 T=1/fPUL = 88/fOSC, T1/T = 4/11 5 No Pulse (same to D0 ~ D9) 6 T=1/fPUL = 96/fOSC, 7 No pulse (same to D0 ~ D9) T1/T = 1/4 * Default value is "0" Table 3-2 PMR selection table 3-6 Chapter 3. Architecture Reset Operation HMS38112/39112 have three reset sources. One is a built-in Power-on reset circuit, another is a built-in Low VDD Detection circuit, the other is the overflow of Watch Dog Timer (WDT). All reset operations are internal in the HMS38112. Built-in Power On Reset Circuit HMS38112/39112 has a built-in Power-on reset circuit consisting of an about 1 Resistor and a 3pF Capacitor. When the Power-on reset pulse occurs, system reset signal is latched and WDT is cleared. After the overflow time of WDT (213 x System clock time), system reset signal is released. Ð VDD 1 Ð Counter (WDT) System RESETB 3pF GND <HMS38/39XXX> VCC System RESETB treset About 108msec at fosc = 3.64MHz Fig. 3-4 Power-On Reset Circuit and Timing Chart 3-7 Chapter 3. Architecture Built-in Low VDD Reset Circuit HMS38112/39112 have a Low VDD detection circuit. If VDD become Reset Voltage of Low VDD Detection circuit at a active status, system reset occur and WDT is cleared. After VDD is increased upper Reset Voltage again, WDT is re-counted and if WDT is overflowed, system reset is released. VDD Reset Voltage Internal RESETB About 108msec at fosc =3.64MHz Fig. 3-5 Low Voltage Detection diagram 3-8 Chapter 3. Architecture Watch Dog Timer (WDT) Watch dog timer is organized binary of 14 steps. The signal of fOSC/48 cycle comes in the first step of WDT after WDT reset. If this counter was overflowed, reset signal automatically come out so that internal circuit is initialized. The overflow time is 8 6 213/fOSC (108.026ms at fOSC = 3.64MHz) Normally, the binary counter must be reset before the overflow by using reset instruction (WDTR), Power-on reset pulse or Low VDD detection pulse. ØØ * It is constantly reset in STOP mode. When STOP is released, counting is restarted. (Refer to STOP Operation>) Binary counter(14 steps) fOSC/48 RESET (edge-trigger) CPU reset Reset by instruction Power-On Reset Low VDD Detection Fig 3-6 Block Diagram of Watch-dog Timer 3-9 Chapter 3. Architecture STOP Operation Stop mode can be achieved by STOP instructions. In stop mode : 1. Oscillator is stopped, the operating current is low. 2. Watch dog timer is reset, D0~D3 output and REMOUT output are "L" . 3. Part other than WDT, D0~D3 output and REMOUT output have a value before come into stop mode. Stop mode is released when one of K or R input is going to "L". 1. State of D0~D3 output and REMOUT output is return to state of before stop mode is achieved. Ø 2. After 210 System clock time for stable oscillating, first instruction start to operate. 3. In return to normal operation, WDT is counted from zero again. But, at executing stop instruction, if one of K or R input is chosen to "L", stop instruction is same to NOP instruction. 3-10 HMS38112 1 HMS39112 2 ARCHITECTURE 3 INSTRUCTION 4 APPLICATION 5 Chapter 4. Instruction CHAPTER 4. Instruction INSTRUCTION FORMAT All of the 43 instruction in HMS38112/39112 is format in two fields of OP code and operand which consist of eight bits. The following formats are available with different types of operands. é *Format All eight bits are for OP code without operand. ê *Format Two bits are for operand and six bits for OP code. Two bits of operand are used for specifying bits of RAM and X-register (bit 1 and bit 7 are fixed at Ì0Ì) *Format ë Four bits are for operand and the others are OP code. Four bits of operand are used for specifying a constant loaded in RAM or Yregister, a comparison value of compare command, or page addressing in ROM. *Format ì Six bits are for operand and the others are OP code. Six bits of operand are used for word addressing in the ROM. 4-1 Chapter 4. Instruction INSTRUCTION TABLE The HMS38112/39112 provides the following 43 basic instructions. Category Mnemonic Function 3 LAZ àY Y à A A à 0 4 LMA M(X,Y) 5 LMAIY 1 2 6 LAY Register to Register RAM to Register LYA LYM 7 LAM 8 XMA 9 LYI i 10 Immediate 11 LXI n SEM n 12 13 LMIIY i RAM Bit Manipulation REM n A àA M(X,Y) à A, Y à Y+1 Y à M(X,Y) A à M(X,Y) A ä M(X,Y) Y à i M(X,Y) à i, Y à Y+1 X à n M(n) à 1 M(n) à 0 ST*1 S S S S S S S S S S S S S 14 TM n TEST M(n) = 1 E 15 BR a if ST = 1 then Branch S CAL a if ST = 1 then Subroutine call S Return from Subroutine S 16 17 ROM Address RTN 18 LPBI i 19 AM 20 SM 21 IM 22 Arithmetic DM 23 IA 24 IY 25 DA ài A à A + M(X,Y) A à M(X,Y) - A A à M(X,Y) + 1 A à M(X,Y) - 1 A à A+1 Y à Y+1 A à A-1 PB 4-2 S C B C B S C B Chapter 4. Instruction Category 26 27 Mnemonic DY Arithmetic EORM 28 NEGA 29 ALEM 30 ALEI i 31 MNEZ 32 Comparison YNEA 33 YNEI i 34 KNEZ 35 RNEZ 36 LAK 37 Input / Output LAR Function à Y-1 A à A + M (X,Y) A à A+1 TEST A õ M(X,Y) TEST A õ i TEST M(X,Y) ó 0 TEST Y ó A TEST Y ó i TEST K ó 0 TEST R ó 0 A à K A à R Y à 1 at HMS39112, 0 at HMS38112 à 0 at HMS39112, 1 at HMS39112 ST*1 B S Z E E N N N N N S S SO Output(Y) 39 RO Output(Y) 40 WDTR Watch Dog Timer Reset S STOP Stop operation S 38 41 Control àY 42 LPY PMR 43 NOP No operation S S S S Note) i = 0~f, n = 0~3, a = 6bit PC Address *1 Column ST indicates conditions for changing status. Symbols have the following meanings S : On executing an instruction, status is unconditionally set. C : Status is only set when carry or borrow has occurred in operation. B : Status is only set when borrow has not occurred in operation. E : Status is only set when equality is found in comparison. N : Status is only set when equality is not found in comparison. Z : Status is only set when the result is zero. 4-3 Chapter 4. Instruction Port Operation Value of X-reg Value of Y-reg 0~6 0 or 1 Operation SO : D(Y) RO : D(Y) à 1(High-Z) à0 REMOUT port repeats "H" and "L" in pulse frequency. (When PMR = 5, it is fixed at "H") SO : REMOUT(PMR) 1 at HMS39112, 0 at HMS38112 RO : REMOUT(PMR) 0 at HMS39112, 1 at HMS38112 à à 0 or 1 8 0 or 1 9 0 or 1 C~D SO : RO : 0 or 1 E SO : RO : 0 or 1 F SO : RO : à 1 (High-Z) à0 R(Y-Ah) à 1 R(Y-Ah) à 0 R2 ~ R3 à 1 R2 ~ R3 à 0 D0 ~ D6 à 1(High-Z), R2 ~ R3 à 1 D0 ~ D6 à 0, R2 ~ R3 à 0 SO : D0 ~ D6 RO : D0 ~ D6 4-4 Chapter 4. Instruction DETAILS OF INSTRUCTION SYSTEM All 43 basic instructions of the HMS38112/39112 are one by one described in detail below. Description Form Each instruction is headlined with its mnemonic symbol according to the instructions table given earlier. Then, for quick reference, it is described with basic items as shown below. After that, detailed comment follows. • Items : - Naming : - Status : - Format : - Operand : - Function Full spelling of mnemonic symbol Check of status function Categorized into to Omitted for Format é ì é 4-5 Chapter 4. Instruction (1) LAY Naming : Status : Format : Function : <Comment> Load Accumulator from Y-Register Set I A à Y Data of four bits in the Y-register is unconditionally transferred to the accumulator. Data in the Y-register is left unchanged. (2) LYA Naming : Status : Format : Function : <Comment> Load Y-register from Accumulator Set I Y à A Load Y-register from Accumulator (3) LAZ Naming : Status : Format : Function : <Comment> Clear Accumulator Set I A à 0 Data in the accumulator is unconditionally reset to zero. (4) LMA Naming : Status : Format : Function : <Comment> (5) LMAIY Naming : Status : Format : Function : <Comment> Load Memory from Accumulator Set I M(X,Y) à A Data of four bits from the accumulator is stored in the RAM location addressed by the X-register and Y-register. Such data is left unchanged. Load Memory from Accumulator and Increment Y-Register Set I M(X,Y) à A, Y à Y+1 Data of four bits from the accumulator is stored in the RAM location addressed by the X-register and Y-register. Such data is left unchanged. 4-6 Chapter 4. Instruction (6) LYM Naming : Status : Format : Function : <Comment> (7) LAM Naming : Status : Format : Function : <Comment> (8) XMA Naming : Status : Format : Function : <Comment> (9) LYI i Naming : Status : Format : Operand : Function : <Purpose> <Comment> Load Y-Register form Memory Set I Y à M(X,Y) Data from the RAM location addressed by the X-register and Y-register is loaded into the Y-register. Data in the memory is left unchanged. Load Accumulator from Memory Set I A à M(X,Y) Data from the RAM location addressed by the X-register and Y-register is loaded into the Y-register. Data in the memory is left unchanged. Exchanged Memory and Accumulator Set I M(X,Y) ä A Data from the memory addressed by X-register and Y-register is exchanged with data from the accumulator. For example, this instruction is useful to fetch a memory word into the accumulator for operation and store current data from the accumulator into the RAM. The accumulator can be restored by another XMA instruction. Load Y-Register from Immediate Set ë Constant 0 õ i õ 15 Y à i To load a constant in Y-register. It is typically used to specify Y-register in a particular RAM word address, to specify the address of a selected output line, to set Y-register for specifying a carrier signal outputted from OUT port, and to initialize Y-register for loop control. The accumulator can be restored by another XMA instruction. Data of four bits from operand of instruction is transferred to the Y-register. 4-7 Chapter 4. Instruction (10) LMIIY i Naming : Status : Format : Operand : Function : <Comment> (11) LXI n Naming : Status : Format : Operand : Function : <Comment> (12) SEM n Naming : Status : Format : Operand : Function : <Comment> (13) REM n Naming : Status : Format : Operand : Function : <Comment> Load Memory from Immediate and Increment Y-Register Set ë Constant 0 õ i õ 15 M(X,Y) à i, Y à Y + 1 Data of four bits from operand of instruction is stored into the RAM location addressed by the X-register and Y-register. Then data in the Y-register is incremented by one. Load X-Register from Immediate Set ê X file address 0 õ n õ 3 X à n A constant is loaded in X-register. It is used to set X-register in an index of desired RAM page. Operand of 1 bit of command is loaded in X-register. Set Memory Bit Set ê Bit address 0 õ n õ 3 M(X,Y,n) à 1 Depending on the selection in operand of operand, one of four bits is set as logic 1 in the RAM memory addressed in accordance with the data of the X-register and Y-register. Reset Memory Bit Set ê Bit address 0 õ n õ 3 M(X,Y,n) à 0 Depending on the selection in operand of operand, one of four bits is set as logic 0 in the RAM memory addressed in accordance with the data of the X-register and Y-register. 4-8 Chapter 4. Instruction (14) TM n Naming : Status : Format : Operand : Function : <Purpose> (15) BR a Naming : Status : Format : Operand : Function : <Purpose> <Comment> Test Memory Bit Comparison results to status ê Bit address 0 õ n õ 3 M(X,Y,n) à 1? ST à 1 when M(X,Y,n)=1, ST à 0 when M(X,Y,n)=0 A test is made to find if the selected memory bit is logic. 1 Status is set depending on the result. Branch on status 1 Conditional depending on the status ì Branch address a (Addr) When ST =1 , PA à PB, PC à a(Addr) When ST = 0, PC à PC + 1, ST à 1 Note : PC indicates the next address in a fixed sequence that is actually pseudo-random count. For some programs, normal sequential program execution can be change. A branch is conditionally implemented depending on the status of results obtained by executing the previous instruction. • Branch instruction is always conditional depending on the status. a. If the status is reset (logic 0), a branch instruction is not rightly executed but the next instruction of the sequence is executed. b. If the status is set (logic 1), a branch instruction is executed as follows. • Branch is available in two types - short and long. The former is for addressing in the current page and the latter for addressing in the other page. Which type of branch to exeute is decided according to the PB register. To execute a long branch, data of the PB register should in advance be modified to a desired page address through the LPBI instruction. 4-9 Chapter 4. Instruction (16) CAL a Naming : Status : Format : Operand : Function : <Comment> Subroutine Call on status 1 Conditional depending on the status ì Subroutine code address a(Addr) When ST =1 , PC à a(Addr) PA à PB SR1 à PC + 1, PSR1 à PA SR2 à SR1 PSR2 à PSR1 SR3 à SR2 PSR3 à PSR2 When ST = 0 PC à PC + 1 PB à PS ST à 1 Note : PC actually has pseudo-random count against the next instruction. • In a program, control is allowed to be transferred to a mutual subroutine. Since a call instruction preserves the return address, it is possible to call the subroutine from different locations in a program, and the subroutine can return control accurately to the address that is preserved by the use of the call return instruction (RTN). Such calling is always conditional depending on the status. a. If the status is reset, call is not executed. b. If the status is set, call is rightly executed. The subroutine stack (SR) of three levels enables a subroutine to be manipulated on three levels. Besides, a long call (to call another page) can be executed on any level. • For a long call, an LPBI instruction should be executed before the CAL. When LPBI is omitted (and when PA=PB), a short call (calling in the same page) is executed. 4-10 Chapter 4. Instruction (17) RTN Naming : Status : Format : Function : <Purpose> <Comment> (18) LPBI i Naming : Status : Format : Operand : Function : <Purpose> <Comment> (19) AM Naming : Status : Format : Function : <Comment> Return from Subroutine Set é PC à SR1 SR1 à SR2 SR2 à SR3 SR3 à SR3 PA, PB à PSR1 PSR1 à PSR2 PSR2 à PSR3 PSR3 à PSR2 ST à1 Control is returned from the called subroutine to the calling program. Control is returned to its home routine by transferring to the PC the data of the return address that has been saved in the stack register (SR1). At the same time, data of the page stack register (PSR1) is transferred to the PA and PB. Load Page Buffer Register from Immediate Set ë ROM page address 0 õ i õ 15 PB à i A new ROM page address is loaded into the page buffer register (PB). This loading is necessary for a long branch or call instruction. The PB register is loaded together with three bits from 4 bit operand. Add Accumulator to Memory and Status 1 on Carry Carry to status é A à M(X,Y)+A, ST à 1(when total>15), ST à 0 (when total õ15) Data in the memory location addressed by the X and Y-register is added to data of the accumulator. Results are stored in the accumulator. Carry data as results is transferred to status. When the total is more than 15, a carry is caused to put Ì1Ì in the status. Data in the memory is not changed. 4-11 Chapter 4. Instruction (20) SM Naming : Status : Format : Function : Subtract Accumulator to Memory and Status 1 Not Borrow Carry to status é ST à 1(when A õ M(X,Y)) ST à 0(when A > M(X,Y)) <Comment> Data of the accumulator is, through a 2`s complemental addition, subtracted from the memory word addressed by the Y-register. Results are stored in the accumulator. If data of the accumulator is less than or equal to the memory word, the status is set to indicate that a borrow is not caused. If more than the memory word, a borrow occurs to reset the status to Ì0Ì. (21) IM Naming : Status : Format : Function : A à M(X,Y) - A Increment Memory and Status 1 on Carry Carry to status é ST à 1(when M(X,Y) ö 15) ST à 0(when M(X,Y) < 15) <Comment> Data of the memory addressed by the X and Y-register is fetched. Adding 1 to this word, results are stored in the accumulator. Carry data as results is transferred to the status. When the total is more than 15, the status is set. The memory is left unchanged. (22) DM Naming : Status : Format : Function : <Comment> A à M(X,Y) + 1 Decrement Memory and Status 1 on Not Borrow Carry to status é A à M(X,Y) - 1 ST à 1(when M(X,Y) ö1) ST à 0 (when M(X,Y) = 0) Data of the memory addressed by the X and Y-register is fetched, and one is subtracted from this word (addition of Fh)> Results are stored in the accumulator. Carry data as results is transferred to the status. If the data is more than or equal to one, the status is set to indicate that no borrow is caused. The memory is left unchanged. 4-12 Chapter 4. Instruction (23) IA Naming : Status : Format : Function : <Comment> (24) IY Naming : Status : Format : Function : <Comment> (25) DA Naming : Status : Format : Function : <Comment> Increment Accumulator Set é A à A+1 Data of the accumulator is incremented by one. Results are returned to the accumulator. A carry is not allowed to have effect upon the status. Increment Y-Register and Status 1 on Carry Carry to status é Y à Y+1 ST à 1 (when Y = 15) ST à 0 (when Y < 15) Data of the Y-register is incremented by one and results are returned to the Y-register. Carry data as results is transferred to the status. When the total is more than 15, the status is set. Decrement Accumulator and Status 1 on Borrow Carry to status é A à A -1 ST à 1(when A ö1) ST à 0 (when A = 0) Data of the accumulator is decremented by one. As a result (by addition of Fh), if a borrow is caused, the status is reset to Ì0Ì by logic. If the data is more than one, no borrow occurs and thus the status is set to Ì1Ì. 4-13 Chapter 4. Instruction (26) DY Naming : Status : Format : Function : <Purpose> <Comment> (27) EORM Naming : Status : Format : Function : <Comment> (28) NEGA Naming : Status : Format : Function : <Purpose> <Comment> Decrement Y-Register and Status 1 on Not Borrow Carry to status é Y à Y -1 ST à 1 (when Y ö 1) ST à 0 (when Y = 0) Data of the Y-register is decremented by one. Data of the Y-register is decremented by one by addition of minus 1 (Fh). Carry data as results is transferred to the status. When the results is equal to 15, the status is set to indicate that no borrow has not occurred. Exclusive or Memory and Accumulator Set é A à M(X,Y) + A Data of the accumulator is, through a Exclusive OR, subtracted from the memory word addressed by X and Yregister. Results are stored into the accumulator. Negate Accumulator and Status 1 on Zero Carry to status é A à A+1 ST à 1(when A = 0) ST à 0 (when A != 0) The 2`s complement of a word in the accumulator is obtained. The 2`s complement in the accumulator is calculated by adding one to the 1`s complement in the accumulator. Results are stored into the accumulator. Carry data is transferred to the status. When data of the accumulator is zero, a carry is caused to set the status to Ì1Ì. 4-14 Chapter 4. Instruction (29) ALEM Naming : Status : Format : Function : <Comment> (30) ALEI Naming : Status : Format : Function : Accumulator Less Equal Memory Carry to status é A õ M(X,Y) ST à 1 (when A õ M(X,Y)) ST à 0 (when A > M(X,Y)) Data of the accumulator is, through a complemental addition, subtracted from data in the memory location addressed by the X and Y-register. Carry data obtained is transferred to the status. When the status is Ì1Ì, it indicates that the data of the accumulator is less than or equal to the data of the memory word. Neither of those data is not changed. Accumulator Less Equal Immediate Carry to status ë ST à 1 (when A õ i) ST à 0 (when A > i) <Purpose> Data of the accumulator and the constant are arithmetically compared. <Comment> Data of the accumulator is, through a complemental addition, subtracted from the constant that exists in 4bit operand. Carry data obtained is transferred to the status. The status is set when the accumulator value is less than or equal to the constant. Data of the accumulator is left unchanged. (31) MNEZ Naming : Status : Format : Function : <Purpose> <Comment> A õi Memory Not Equal Zero Comparison results to status é M(X,Y) ó 0 ST à 1(when M(X,Y) ó 0) ST à 0 (when M(X,Y) = 0) A memory word is compared with zero. Data in the memory addressed by the X and Y-register is logically compared with zero. Comparison data is thransferred to the status. Unless it is zero, the status is set. 4-15 Chapter 4. Instruction (32) YNEA Naming : Status : Format : Function : <Purpose> <Comment> (33) YNEI Naming : Status : Format : Operand : Function : <Comment> (34) KNEZ Naming : Status : Format : Function : <Purpose> <Comment> (35) RNEZ Naming : Status : Format : Function : <Purpose> <Comment> Y-Register Not Equal Accumulator Comparison results to status é YóA ST à 1 (when Y ó A) ST à 0 (when Y = A) Data of Y-register and accumulator are compared to check if they are not equal. Data of the Y-register and accumulator are logically compared. Results are transferred to the status. Unless they are equal, the status is set. Y-Register Not Equal Immediate Comparison results to status ë Constant 0 õ i õ 15 Yói ST à 1 (when Y ó i) ST à 0 (when Y = i) The constant of the Y-register is logically compared with 4bit operand. Results are transferred to the status. Unless the operand is equal to the constant, the status is set. K Not Equal Zero The status is set only when not equal é When K ó 0, ST à 1 A test is made to check if K is not zero. Data on K are compared with zero. Results are transferred to the status. For input data not equal to zero, the status is set. R Not Equal Zero The status is set only when not equal é When R ó 0, ST à 1 A test is made to check if R is not zero. Data on R are compared with zero. Results are transferred to the status. For input data not equal to zero, the status is set. 4-16 Chapter 4. Instruction (36) LAK Naming : Status : Format : Function : <Comment> (37) LAR Naming : Status : Format : Function : <Comment> (38) SO Naming : Status : Format : Function : <Purpose> <Comment> Load Accumulator from K Set é AàK Data on K are transferred to the accumulator Load Accumulator from R Set é AàR Data on R are transferred to the accumulator Set Output Register Latch Set é D(Y) à 1 0õYõ7 REMOUT à 1(PMR=5) Y=8 D0~D9 à 1 (High-Z) Y=9 R(Y) à 1 Ah õ Y õ Dh Rà1 Y = Eh D0~D9, R à 1 Y = Fh A single D output line is set to logic 1, if data of Y-register is between 0 to 7. Carrier frequency come out from REMOUT port, if data of Y-register is 8. All D output line is set to logic 1, if data of Y-register is 9. It is no operation, if data of Y-register between 10 to 15. When Y is between Ah and Dh, one of R output lines is set at logic 1. When Y is Eh, the output of R is set at logic 1. When Y is Fh, the output D0~D9 and R are set at logic 1. Data of Y-register is between 0 to 7, selects appropriate D output. Data of Y-register is 8, selects REMOUT port. Data of Y-register is 9, selects all D port. Data in Y-register, when between Ah and Dh, selects an appropriate R output (R0~R3). Data in Y-register, when it is Eh, selects all of R0~R3. Data in Y-register, when it is Fh, selects all of D0~D9 and R0~R3. 4-17 Chapter 4. Instruction (39) RO Naming : Status : Format : Function : <Purpose> <Comment> (40) WDTR Naming : Status : Format : Function : <Purpose> Reset Output Register Latch Set é D(Y) à 0 0õYõ7 REMOUT à 0 Y=8 D0~D9 à 0 Y=9 R(Y) à 0 Ah õ Y õ Dh Rà0 Y = Eh D0~D9, R à 0 Y = Fh A single D output line is set to logic 0, if data of Y-register is between 0 to 9. REMOUT port is set to logic 0, if data of Y-register is 9. All D output line is set to logic 0, if data of Y-register is 9. When Y is between Ah and Dh, one of R output lines is set at logic 0. When Y is Eh, the output of R is set at logic 0 When Y is Fh, the output D0~D9 and R are set at logic 1. Data of Y-register is between 0 to 7, selects appropriate D output. Data of Y-register is 8, selects REMOUT port. Data of Y-register is 9, selects D port. Data in Y-register, when between Ah and Dh, selects an appropriate R output (R0~R3). Data in Y-register, when it is Eh, selects all of R0~R3. Data in Y-register, when it is Fh, selects all of D0~D9 and R0~R3. Watch Dog Timer Reset Set é Reset Watch Dog Timer (WDT) Normally, you should reset this counter before overflowed counter for dc watch dog timer. this instruction controls this reset signal. 4-18 Chapter 4. Instruction (41) STOP Naming : Status : Format : Function : <Purpose> (42) LPY Naming : Status : Format : Function : <Comment> (43) NOP Naming : Status : Format : Function : STOP Set é Operate the stop function Stopped oscillator, and little current. (See 1-12 page, STOP function.) Pulse Mode Set Set é PMR à Y Selects a pulse signal outputted from REMOUT port. No Operation Set é No operation 4-19 HMS38112 1 HMS39112 2 ARCHITECTURE 3 INSTRUCTION 4 APPLICATION 5 Chapter 5. Application Guideline for S/W 1. All rams need to be initialized to zero in reset address for proper design. 2. Make the output ports `H` after reset. 3. Do not use WDTR instruction in subroutine. 4. Before reading the input port the waiting time should be more than 200uS. 5. To decrease current consumption, make the output port as high in normal routine except for key scan strobe and STOP mode. 6. We recommend you do not use all 64 bytes in a page. You had better write ` BR $` in unused area. This will help you prevent unusual operation of MCU. 7. Be careful not to use long call or branch (CALL,BL) with arithmetic manipulation. If you want to use branch right after arithmetic manipulation, the long call or branch will be against your intention. ex) LAR ; The value of R ports -> Accumulator ALEI 14 ; Aõ14 : S = 1, A 14 : S = 0 BL TRUE ; S is always 1 because BL is composed of LPBI and BR. -------------- Fail ! LAR ; The value of R ports -> Accumulator ALEI 14 ; Aõ14 : S = 1, A 14 : S = 0 BR TRUE ; When S is 1 Branch will occur. Otherwise Branch will not occur and LAK ; next instruction will be operated. -------------- Right ! 5-1 Chapter 5. Application HMS38112 Circuit Diagram 41 33 25 17 9 1 4 3 K0 OSC2 42 34 26 18 10 2 5 K1 OSC1 6 43 35 27 19 11 28 20 12 4 45 37 29 21 13 5 46 38 30 22 14 6 47 39 31 23 15 7 40 32 24 16 8 GND 7 K3 8 R0 9 10 11 R1 R2 R3 HMS38112-RDXXX 36 48 K2 3 44 2 Vdd 20 REM OUT 19 12 13 14 15 16 17 = 5-2 D0 D1 D2 D3 D4 D5 PGND We recommend alkaline battery 1 18 + Chapter 5. Application HMS39112 Circuit Diagram 49 41 33 25 17 9 1 4 3 K0 OSC2 50 42 34 26 18 10 2 5 K1 OSC1 6 51 43 35 27 19 11 K2 3 44 36 28 20 12 4 53 45 37 29 21 13 5 54 46 38 30 22 14 6 55 47 39 31 23 15 7 56 48 40 32 24 16 8 7 K3 8 R0 9 10 11 R1 R2 R3 12 13 14 15 16 17 D0 D1 D2 D3 D4 D5 18 D6 = 5-3 HMS39112-REXXX 52 2 GND We recommend alkaline battery 1 Vdd 20 REM OUT 19 + Chapter 5. Application Truth Table for example program CUSTOM:04H vp yzY ollSsT vp yzY ollSsT v[\ [[ v]d \n v[] [\ v^[ \o v[^ [] v^\ \p v[_ [^ v^] \q v[` [_ v^^ ][ v[a [` v^_ ]\ v[b [a v^` ]] v[c [b v^a ]^ v[d [c v^b ]_ v\[ [d v^c ]` v\\ [l v^d ]a v\] [m v_[ ]b v\^ [n v_\ ]c v\_ [o v_] ]d v\` [p v_^ ]l v\a [q v__ ]m v\b \[ v_` ]n v\c \\ v_a ]o v\d \] v_b ]p v][ \^ v_c ]q v]\ \_ v_d ^[ v]] \` v`[ ^\ v]^ \a v`\ ^] v]_ \b v`] ^^ v]` \c v`^ ^_ v]a \d v`_ ^` v]b \l v`` ^a v]c \m v`a ^b 5-4 Chapter 5. Application Output waveform of uPD6121G A single pulse, modulated with 37.917KHz signal at 3.64MHz Tc Carrier frequency fCAR = 1/Tc = fOSC/96 Duty ratio = T1/Tc = 1/3 T1 - Configuration of Flame 1st flame Lead code 9ms Custom code Custom code Data code Data code 4.5ms C0 C1 C2 C3 C4 C5 C6 C7 C0 C1 C2 C3 C4 C5 C6 C7 D0 D1 D2 D3 D4 D5 D6 D7 D0 D1 D2 D3 D4 D5 D5 D7 - Repeat code 0.56ms 9ms 2.25ms - Bit Description Bit Ì0Ì Bit Ì1Ì 0.56ms 0.56ms 1.125ms 2.25ms - Flame Interval : Tf The transmitted waveform as long as a key is depressed Tf=108mS Tf=108mS 5-5 Chapter 5. Application Example program - uPD6121G ¢ ¨¼½Ç ¨¼¹ ¦¡ ¬ £©¢¨ ¥© £¢ ¥© ¦§¨ ¥© ¤¨ ¥© ¢¨ ¥© £¨ ¥© £¢¨ ¥© ¨¦£ ¥© ¥© ¥© ¥© ¥© «¨ ¥© «¨ ¥© ¨ ¥© ¨ ¥© ¥© ¥© ¤ ¦§¨ ¬ ¡ ¢ ¦ ¢ ¦ ¨ ¤ § ¢ ¢ £ £ ¨£¦£ ¡¢ §¢ ¦ © ¡§ ÄÆûƵ ºÃÆÁµÈ ¢ ¬ §£ ¡ ¤ ¦¡ ¦¡ ¡ ¡ ¢ ¦ «¨¦ ¡¢® ¦ ¨¡ ¦ §¡ ¦ ¡ ¢ ¦ B L Á ½ ½Ç Ç ¹ÌµÁÄÀ¹ ÄÆûƵÁ ºÃÆ ¡§ ¹¹ ½Â ¦© ¢ ºÃÆÁµÈ §£ ¦£ ¦ §¨£¤ ¨ ¢ ¦¡ ¦ ¡ ¨£¦£ ¨¡ £¦ ¤£¦¨ §¨¦£ ¤£¦¨ §¨ ®¨£¢ £¦ £« £¦ £ £ ¢ © ¦ ¢ ¦§¢ ©¦¦¢¨ £¢§©¡¤¨£¢ ¢¨ §¨ ¨ ¨ ¦ ¢ ¨£¨ ¢ ¦ ¢ § £ £ § £ © ¢ ¨ ¢ £¢{¨ ¢¨ ¢ ¡¢ K E Y 12 5-6 ©§ «¨¦ ¢ ¡£ ¤£¦¨ £©¢¨ ¢ § §¨£¤ §©¦£©¨¢ Chapter 5. Application ¨£¡ ¨£¡ ¨ £¡¤¦ ¦¦¨¢ ¦ ¦ ¦ ¦ ¦ ¨ £ ¨ £¡¤¦ ¨£¡ ¨¡ £¡¤¦ ¨ ¦¦¨¢ ¢ ¡ ¦¡ ¢ ¢£¤ ¦ ¤ ¦ §¢ ¡ ¦£ ¦ §£ x x § ¤£¢¨ ¨¡ §ª ¦§ª ¦ ¡ ¡ ¦ ¨ ¢ § ¦ £ ¦ ¡ ¡ ¡ ¡ ¨ ¤ £©¢ ¨ § ¡ ¦ ¡ £ ¢ § «¨ ¨¡£ª ¢ ¦ §ª ¦§ª §ª ¢ ¡ ¡ ¢ ¢ ¦§§ ¨¦¨ ¦§§ ¤£¢¨ §¢ §ª ¢«¨ ¢¨ §¨¦£ © ¦ ¦ ¢ § § ¨ ¨ ¨ ¡ ¢ ¢«¨ ¨£¡ 5-7 £¦ §¢ Chapter 5. Application ¢ ¦ ¨ ¨£¡ ¨ ¨¡£ª ©§¦ ¦¡ ¦ £©¢¨ ¦¤¨ ¢ ¤ £¤ ¦ x ¦ x ¡ ¦ £ ¦ ££¤ ££¤ ¨ ¢ § ¤ ¢¨ ¢¨ ¢ª « £¢ £¢ ££¤ ¢«¨ §¨¦£ ¡ ¡ ¦ ¦ ¦ ¡ ¦ ¢¨ §¨¦£ ££¤ ¢«¨ ¢ ¢ ¢ ¡ ¦ ¡ £ £ ¦ ¡ £ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¡ ¤ ¤ ¤ ¢¨ ¢¨ ¢¨ ¢ª ¨¡ ¢ª ¢ª ¢¨ ¡ « £ « £ « £ £ ¢ ¢ ¢ ¢ª ¢ ¨¡ ¨¡ 5-8 Chapter 5. Application £¢ £¢ª ©§ ©§ © ¢ £ ¡ ¡ ¤ ¢£¤ ¦ ¤ ¦ ¦ ¡ ¡ ¡ ¡ £¡ §£ ¦£ ¨¡ ¦ £ ¡ ¡ ¢«¨ £©¢ x x ¢ ¡ «¨ ¦ ¡ ¨¡ ¨ ¦ ¨ ¤ ¨ £ ¡ © ¤ ¢ ¨ ¦ ¨¡ ¦ ¦£ ¡ ¡ ¡ ¡ ¤ ¡ £¢¨ ¬ ¤© ® ¬¡ ¢® ¦¢® ¡ ¢£¤ ¡ ¨ ¨ «¨¦ ¦ ¨¢ ¢«¨ ¡ § ¡ ¡ ¡ ©¢©§ ¢§¨¦©¨£¢ § «¦¨¨¢ ¢ ¢ ¦ x 5-9 Chapter 5. Application ¦ §£ ¦£ ¡ ¨¡ £©¨ ¨¡ ¨¡ ¨¬ ¨ ¨ ¨ ¨ ¡ ¡ ¡ ¡ ¡ ¡ ¦ ¤ ¤ ¤ ¤ ¤ « § ¨ ¡ · ½  ¦ µ Á ¹ ¡ ¨ À ¤© § ¤© § ¢¨¬ ¶µÆ ¶µÆ £¡¤¦¨ ¨¡£ª ¨¡£ª £ ¦ ¦ £ £ £ £ £ £ £ £ ¤£¢¨ ¨¡ © § £©¨ © § £©¨ © § £©¨ © § £©¨ £¢¨ ¨¬ ¤© § ¦ ¨ ¨ £©¢¨ ¤¨ ¡ ¡ ¡ ¡ ¡ ¶µÆ »µ ¢ ¡ ¦ ¢ ¤ ¨¡ ¢ ¨¡ ¢ ¨¡ ¢ ¨¡ ¢ ¨¡ ¢ ¨¡ ¢ ¨¡ ¢ ¨¡ ¢ ¦ x ¨¡ ¨¡£ª £¡¤¦¨ ¤ x x ¤ ¤ ¤ ¤ ¤ ¤ ¤ ¤ 5-10 Chapter 5. Application ¨ ¨ ¨ ¨ ¨ ¨ ¨ ¨ ¨ ¨ ¨ ¨ ¨ ¨ ¨ ¨ ¨ ¨ ¨ ¨ ¨ ¨ ¨ ¨ ¨ ¨ ¨ ¨ ¨ ¨ ¨ ¨ ¨ ¨ ¨ ¨ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¨¡ ¨¡ ¨¡ ¨¡ ¨¡ ¨¡ ¨¡ ¨¡ ¨¡ ¨¡ ¨¡ ¨¡ ¨¡ ¨¡ ¨¡ ¨¡ ¨¡ ¨¡ ¨¡ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ £ £ £ £ £ £ £ £ £ £ £ £ £ £ £ £ £ £ £ £ £ £ £ £ £ £ £ £ £ £ £ £ £ £ £ £ ¤ ¤ ¤ ¤ ¤ ¤ ¤ ¤ ¤ ¤ ¤ ¤ ¤ ¤ ¤ ¤ ¤ ¤ ¤ ¤ ¤ ¤ ¤ ¤ ¤ ¤ ¤ ¤ ¤ ¤ ¤ ¤ ¤ ¤ ¤ ¤ ¢£¤ ¢£¤ ¢£¤ ¢£¤ ¢£¤ ¢£¤ ¢£¤ ¢£¤ ¢£¤ ¢£¤ ¢£¤ ¢£¤ ¢£¤ ¢£¤ ¢£¤ ¢£¤ ¢£¤ ¢£¤ ¦¨¢ 5-11 Chapter 5. Application HMS38112 TEST B/D Example 1. Attach resonator to X1 2. Connect base and collector at Q1 3. Connect PGND and TRGND with jumper at E E C B E Q1 R3 R2 R1 REMOUT TROUT OSC GND C DS1 B A K0K1K2K3R0R1R2R3 K0K1K2K3R0R1R2R3 X1 D6 PGND TRGND DS2 D4D5D6D8 D5D6D7D9 D SW57~64 SW49~56 D6D7D8D9 D6D7D8D9 K0 K1 K2 K3 R0 R1 R2 R3 D0 1 2 3 4 5 6 7 8 D1 9 10 11 12 13 14 15 16 D2 17 18 19 20 21 22 23 24 D3 25 26 27 28 29 30 31 32 D4 33 34 35 36 37 38 39 40 D5 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 * DS1 is connected to A. If D6 switch is on among DS1 , A becomes D6 port. * DS2 is connected to B. If D7 switch is on among DS2 , B becomes D7 port. * If D6 switch among SW49~SW56 is on at D, the key 49~56 can be used as D6 port. * If D7 switch among SW57~SW64 is on at D, the key 57~64 can be used as D7 port. * note : the position of SW49~56 and SW57~64 in B/D is changed. The reference position is right. * If you want to increase the remote controller valid distance, you try to disconnect R2 resistor and lessen R1 resistor. 5-12 Chapter 5. Application HMS39112 TEST B/D Example 1. Attach resonator to X1 2. Attach 2222A transistor to Q1 3. Connect PGND and D6 with jumper at E 4. Attach about 150. to R3. E C B E Q1 R3 R2 R1 REMOUT TROUT OSC GND C DS1 B A K0K1K2K3R0R1R2R3 K0K1K2K3R0R1R2R3 X1 D6 PGND TRGND DS2 D4D5D6D8 D5D6D7D9 D SW57~64 SW49~56 D6D7D8D9 D6D7D8D9 K0 K1 K2 K3 R0 R1 R2 R3 D0 1 2 3 4 5 6 7 8 D1 9 10 11 12 13 14 15 16 D2 17 18 19 20 21 22 23 24 D3 25 26 27 28 29 30 31 32 D4 33 34 35 36 37 38 39 40 D5 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 * DS1 is connected to A. If D6 switch is on among DS1 , A becomes D6 port. * DS2 is connected to B. If D7 switch is on among DS2 , B becomes D7 port. * If D6 switch among SW49~SW56 is on at D, the key 49~56 can be used as D6 port. * If D7 switch among SW57~SW64 is on at D, the key 57~64 can be used as D7 port. * note : the position of SW49~56 and SW57~64 in B/D is changed. The reference position is right. * If you want to increase the remote controller valid distance, you try to disconnect R2 resistor and lessen R1 resistor. 5-13 MASK ORDER & VERIFICATION SHEET HMS3 112 -R 1. Customer Information Company Name Name & Signature Tel: Fax: Order Date 2. Device Information ( E-Mail Package 20 SOP 20 DIP Mask Data 20 SSOP ) File Name . DMP . RHX Check Sum @27C256 3. Mask Option Inclusion of Pull-up Register Status of D port while Stop mode Port R2 R3 Release of Stop mode Y/N Port K0 K1 K2 K3 R0 R1 R2 R3 Y/N Port D4 D5 D6 a/b 3. a: State of “ L” forcibly, b: Remain the state just before stop instruction. You must select “a” option when you use Dport as key application. 4. D6 port is available for HMS38112 but not available for HMS39112 1. Don’t use WDTR instruction in subroutine. 2. Use Br $ at start (except 0 page ) , end and unused address in every page. 4. Marking Specification Standard Marking User Marking MagnaChip User LOGO R R YWW YWW 5. Delivery Schedule Date Quantity Confirmation Mask Sample . . pcs Risk Order . . pcs 6. ROM CODE Verification MagnaChip Semiconductor Ltd. write in below Verification Date : Customer write in below Approval Date : . Please confirm our verification data. I agree with your verification data and confirm you to make mask set. Check Sum : @27c256 TEL :82-270-4037 FAX :82-270-4075 TEL : Name & MagnaChip Semiconductor Ltd. Signature MCU APPLICATION TEAM Company Name : Section Name : Signature : FAX : .