M80C196KB 16-BIT HIGH PERFORMANCE CHMOS MICROCONTROLLER Military Y Y Y Y Y Y Y Y Y Y 232 Byte Register File Register-to-Register Architecture 28 Interrupt Sources/16 Vectors 2.3 ms 16 x 16 Multiply (12 MHz) 4.0 ms 32/16 Divide (12 MHz) Powerdown and Idle Modes Five 8-Bit I/O Ports 16-Bit Watchdog Timer Dynamically Configurable 8-Bit or 16-Bit Buswidth Available in 68-Lead PGA and 68-Lead Ceramic Quad Flat Pack Y Y Y Y Y Y Y Y Y Full Duplex Serial Port High Speed I/O Subsystem 16-Bit Timer 16-Bit Up/Down Counter with Capture Pulse-Width-Modulated Output Four 16-Bit Software Timers 10-Bit A/D Converter with S/H 12 MHz Version Ð M80C196KB Available in Two Product Grades: Ð MIL-STD-883, b 55§ C to a 125§ C (TC) Ð Military Temperature Only (MTO), b 55§ C to a 125§ C (TC) The M80C196KB 16-bit microcontroller is a high performance member of the MCSÉ-96 microcontroller family. The M80C196KB is pin-for-pin compatible and uses a true superset of the M8096 instructions. Intel’s CHMOS process provides a high performance processor along with low power consumption. To further reduce power requirements, the processor can be placed into Idle or Powerdown Mode. Bit, byte, word and some 32-bit operations are available on the M80C196KB. With a 12 MHz oscillator a 16-bit addition takes 0.66 ms, and the instruction times average 0.5 ms to 1.5 ms in typical applications. Four high-speed capture inputs are provided to record times when events occur. Six high-speed outputs are available for pulse or waveform generation. The high-speed output can also generate four software timers or start an A/D conversion. Events can be based on the timer or up/down counter. Also provided on-chip are an A/D converter with Sample and Hold, serial port, watchdog timer, and a pulsewidth-modulated output signal. 271089 – 1 Figure 1. M80C196KB Block Diagram October 1993 Order Number: 271089-006 M80C196KB ARCHITECTURE The M80C196KB is a member of the MCSÉ-96 family, and as such has the same architecture and uses the same instruction set as the M8096. Many new features have been added on the M80C196KB including: CPU FEATURES Divide by 2 instead of divide by 3 clock for 1.5X performance Faster instructions, especially indexed/indirect data operations 2.33 ms 16 c 16 multiply with 12 MHz clock (was 6.25 ms) on the 8096 Faster interrupt response (almost twice as fast as 8096) Powerdown and Idle Modes 6 new instructions including Compare Long and Block Move 8 new interrupt vectors/6 new interrupt sources PERIPHERAL FEATURES SFR Window switching allows read-only registers to be written and vice-versa Timer2 can count up or down by external selection Timer2 has an independent capture register HSO line events are stored in a register HSO has CAM Lock and CAM Clear commands New Baud Rate values are needed for serial port, higher speeds possible in all modes Double buffered serial port transmit register Serial Port Receive Overrun and Framing Error Detection PWM has a Divide-by-2 Prescaler 2 M80C196KB NEW INSTRUCTIONS PUSHA Ð PUSHes the PSW, IMASK, IMASK1, and WSR (Used instead of PUSHF when new interrupts and registers are used.) assembly language format: PUSHA object code format: k 11110100 l bytes: 1 states: on-chip stack: 12 off-chip stack: 18 POPA Ð POPs the PSW, IMASK, IMASK1, and WSR (Used instead of POPF when new interrupts and registers are used.) assembly language format: POPA object code format: k 11110101 l bytes: 1 states: on-chip stack: 12 off-chip stack:18 IDLPD Ð Sets the part into Idle or Powerdown Mode assembly language format: IDLPD Ýkey (key e 1 for Idle, key e 2 for Powerdown.) object code format: k 11110110 lk key l bytes: 2 states: legal key: 8 illegal key: 25 DJNZW Ð Decrement Jump Not Zero using a Word counter assembly language format: DJNZW wreg, cadd object code format: k 11100001 l k wreg lk disp l bytes: 3 states: jump not taken: 6 jump taken: 10 CMPL Ð Compare 2 long direct values assembly language format: CMPL DST SRC Lreg, Lreg object code format: k 11000101 lk src Lreg lk dst Lreg l bytes: 3 states: 7 BMOV Ð Block move using 2 auto-incrementing pointers and a counter assembly language format: PTRS CNTREG BMOV Lreg, wreg object code format: k 11000001 lk wreg lk Lreg l bytes: 3 states: internal/internal: 8 per transfer a 6 external/internal: 11 per transfer a 6 external/external: 14 per transfer a 6 3 M80C196KB SFR OPERATION All of the registers that were present on the M8096 work the same way as they did, except that the baud rate value is different. The new registers shown in the memory map control new functions. The most important new register is the Window Select Register (WSR) which allows reading of the formerly write-only registers and vice-versa. Using the WSR is described later in this data sheet. 4 M80C196KB PACKAGING The M80C196KB is available in a ceramic pin grid array, shown in Figure 2, and a leaded ceramic quad pack shown in Figure 3. A comparison of the pinouts for both of these package types is shown in Tables 1a – 1c. 271089 – 2 Figure 2. Pin Grid Array Pinout 5 M80C196KB 271089 – 3 Figure 3. 68-Lead Ceramic Quad Flat Pack Pinout Table 1a. M80C196KB Pinout Ð in PGA Pin Order 6 PGA Signal PGA Signal PGA Signal 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 ACH7/P0.7 ACH6/P0.6 ACH2/P0.2 ACH0/P0.0 ACH1/P0.1 ACH3/P0.3 NMI EA VCC VSS XTAL1 XTAL2 CLKOUT BUSWIDTH INST ALE/ADV RD AD0/P3.0 AD1/P3.1 AD2/P3.2 AD3/P3.3 AD4/P3.4 AD5/P3.5 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 AD6/P3.6 AD7/P3.7 AD8/P4.0 AD9/P4.1 AD10/P4.2 AD11/P4.3 AD12/P4.4 AD13/P4.5 AD14/P4.6 AD15/P4.7 T2CLK/P2.3 READY T2RST/P2.4/AINC BHE/WRH WR/WRL PWM/P2.5 T2CAPTURE/P2.7/PACT VPP VSS HS0.3 HS0.2 T2UP-DN/P2.6 P1.7 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 P1.6 P1.5 HSO.1 HSO.0 HSO.5/HSI.3 HSO.4/HSI.2 HSI.1 HSI.0 P1.4 P1.3 P1.2 P1.1 P1.0 TXD/P2.0 RXD/P2.1 RESET EXTINT/P2.2 VSS VREF ANGND ACH4/P0.4 ACH5/P0.5 M80C196KB Table 1b. M80C196KB Pinout Ð in CQFP Pin Order CQFP CQFP Signal 1 VCC Signal CQFP 24 HSI.0 Signal 47 AD13/P4.5 2 EA 25 HSI.1 48 AD12/P4.4 3 NMI 26 HSO.4/HSI.2 49 AD11/P4.3 4 ACH3/P0.3 27 HSO.5/HSI.3 50 AD10/P4.2 5 ACH1/P0.1 28 HSO.0 51 AD9/P4.1 6 ACH0/P0.0 29 HSO.1 52 AD8/P4.0 7 ACH2/P0.2 30 P1.5 53 AD7/P3.7 8 ACH6/P0.6 31 P1.6 54 AD6/P3.6 9 ACH7/P0.7 32 P1.7 55 AD5/P3.5 10 ACH5/P0.5 33 T2UP-DN/P2.6 56 AD4/P3.4 11 ACH4/P0.4 34 HSO.2 57 AD3/P3.3 12 ANGND 35 HSO.3 58 AD2/P3.2 13 VREF 36 VSS 59 AD1/P3.1 14 VSS 37 VPP 60 AD0/P3.0 15 EXTINT/P2.2 38 T2CAPTURE/P2.7/PACT 61 RD 16 RESET 39 PWM/P2.5 62 ALE/ADV 17 RXD/P2.1 40 WR/WRL 63 INST 18 TXD/P2.0 41 BHE/WRH 64 BUSWIDTH 19 P1.0 42 T2RST/P2.4/AINC 65 CLKOUT 20 P1.1 43 READY 66 XTAL2 21 P1.2 44 T2CLK/P2.3 67 XTAL1 22 P1.3 45 AD15/P4.7 68 VSS 23 P1.4 46 AD14/P4.6 Table 1c. M80C196KB Pinout Ð in Signal Order Signal PGA CQFP Signal PGA CQFP ACH0/P0.0 4 6 T2CAPTURE/P2.7/PACT 40 38 ACH1/P0.1 5 5 AD0/P3.0 18 60 ACH2/P0.2 3 7 AD1/P3.1 19 Signal PGA CQFP HSI.0 54 24 HSI.1 53 25 59 RD 17 61 ACH3/P0.3 6 4 AD2/P3.2 20 58 WR/WRL 38 40 ACH4/P0.4 67 11 AD3/P3.3 21 57 BHE/WRH 37 41 ACH5/P0.5 68 10 AD4/P3.4 22 56 BUSWIDTH 14 64 ACH6/P0.6 2 8 AD5/P3.5 23 55 ALE/ADV 16 62 ACH7/P0.7 1 9 AD6/P3.6 24 54 EA 8 2 P1.0 59 19 AD7/P3.7 25 53 INST 15 63 P1.1 58 20 AD8/P4.0 26 52 READY 35 43 P1.2 57 21 AD9/P4.1 27 51 NMI P1.3 56 22 AD10/P4.2 28 50 P1.4 55 23 AD11/P4.3 29 P1.5 48 30 AD12/P4.4 30 P1.6 47 31 AD13/P4.5 P1.7 46 32 TXD/P2.0 60 RXD/P2.1 EXTINT/P2.2 7 3 RESET 62 16 49 XTAL1 11 67 48 XTAL2 12 66 31 47 CLKOUT 13 65 AD14/P4.6 32 46 ANGND 66 12 18 AD15/P4.7 33 45 VREF 65 13 61 17 HSO.0 50 28 VPP 41 37 63 15 HSO.1 49 29 VCC 9 1 T2CLK/P2.3 34 44 HSO.2 44 34 VSS 10 68 T2RST/P2.4/AINC 36 42 HSO.3 43 35 VSS 42 36 PWM/P2.5 39 39 HSO.4/HSI.2 52 26 VSS 64 14 T2UP-DN/P2.6 45 33 HSO.5/HSI.3 51 27 7 M80C196KB PIN DESCRIPTIONS Symbol 8 Name and Function VCC Main supply voltage (5V). VSS Digital circuit ground (0V). There are three VSS pins, all of which must be connected. VREF Reference voltage for the A/D converter (5V). VREF is also the supply voltage to the analog portion of the A/D converter and the logic used to read Port 0. Must be connected for A/D and Port 0 to function. ANGND Reference ground for the A/D converter. Must be held at nominally the same potential as VSS. VPP Timing pin for the return from powerdown circuit. Connect this pin with a 1 mF capacitor to VSS and a 1 MX resistor to VCC. If this function is not used VPP may be tied to VCC. This pin was VBB on the 8X9X-90 parts and is the programming voltage on EPROM part. XTAL1 Input of the oscillator inverter and of the internal clock generator. XTAL2 Output of the oscillator inverter. CLKOUT Output of the internal clock generator. The frequency of CLKOUT is (/2 the oscillator frequency. It has a 50% duty cycle. RESET Reset input to the chip. Input low for at least 4 state times to reset the chip. The subsequent low-to-high transition re- synchronizes CLKOUT and commences a 10-statetime sequence in which the PSW is cleared, a byte read from 2018H loads CCR, and a jump to location 2080H is executed. Input high for normal operation. RESET has an internal pullup. BUSWIDTH Input for buswidth selection. If CCR bit 1 is a one, this pin selects the bus width for the bus cycle in progress. If BUSWIDTH is a 1, a 16-bit bus cycle occurs. If BUSWIDTH is a 0 an 8-bit cycle occurs. If CCR bit 1 is a 0, the bus is always an 8-bit bus. This pin is the TEST pin on 8X9X-90 parts. Systems with TEST tied to VCC do not need to change. M80C196KB PIN DESCRIPTIONS (Continued) Symbol Name and Function NMI A positive transition causes a vector through 203EH. INST Output high during an external memory read indicates the read is an instruction fetch. INST is valid throughout the bus cycle. INST is activated only during external memory accesses and output low for a data fetch. EA EA must be equal to a TTL-low to cause address locations 2000H through 3FFFH to be directed to off-chip memory. ALE/ADV Address Latch Enable or Address Valid output, as selected by CCR. Both pin options provide a latch to demultiplex the address from the address/data bus. When the pin is ADV, it goes inactive high at the end of the bus cycle. ADV can be used as a chip select for external memory. ALE/ADV is activated only during external memory accesses. RD Read signal output to external memory. RD is activated only during external memory reads. WR/WRL Write and Write Low output to external memory, as selected by the CCR. WR will go low for every external write, while WRL will go low only for external writes where an even byte is being written. WR/WRL is activated only during external memory writes. BHE/WRH Bus High Enable or Write High output to external memory, as selected by the CCR. BHE e 0 selects the bank of memory that is connected to the high byte of the data bus. A0 e 0 selects the bank of memory that is connected to the low byte of the data bus. Thus accesses to a 16-bit wide memory can be to the low byte only (A0 e 0, BHE e 1), to the high byte only (A0 e 1, BHE e 0), or both bytes (A0 e 0, BHE e 0). If the WRH function is selected, the pin will go low if the bus cycle is writing to an odd memory location. BHE/ WRH is valid only during 16-bit external memory write cycles. READY Ready input to lengthen external memory cycles, for interfacing to slow or dynamic memory, or for bus sharing. If the pin is high, CPU operation continues in a normal manner. If the pin is low prior to the falling edge of CLKOUT, the memory controller goes into a wait mode until the next positive transition in CLKOUT occurs with READY high. When the external memory is not being used, READY has no effect. Internal control of the number of wait states inserted into a bus cycle held not ready is available through configuration of CCR. HSI Inputs to High Speed Input Unit. Four HSI pins are available: HSI.0, HSI.1, HSI.2, and HSI.3. Two of them (HSI.2 and HSI.3) are shared with the HSO Unit. HSO Outputs from High Speed Output Unit. Six HSO pins are available: HSO.0, HSO.1, HSO.2, HSO.3, HSO.4, and HSO.5. Two of them (HSO.4 and HSO.5) are shared with the HSI Unit. Port 0 8-bit high impedance input-only port. Three pins can be used as digital inputs and/or as analog inputs to the on-chip A/D converter. Port 1 8-bit quasi-bidirectional I/O port. Port 2 8-bit multi-functional port. All of its pins are shared with other functions in the M80C196KB. Ports 3 and 4 8-bit bi-directional I/O ports with open drain outputs. These pins are shared with the multiplexed address/data bus which has strong internal pullups. 9 M80C196KB Instruction Summary Mnemonic Operands SUBC/SUBCB 2 wDaA DwBaA DwDaAaC DwDbA DwBbA DwDbAaCb1 CMP/CMPB 2 DbA MUL/MULU 2 MUL/MULU 3 MULB/MULUB 2 MULB/MULUB 3 DIVU 2 DIVUB 2 DIV 2 DIVB 2 AND/ANDB 2 AND/ANDB 3 OR/ORB 2 XOR/XORB 2 LD/LDB 2 ST/STB 2 LDBSE 2 LDBZE 2 PUSH 1 POP 1 PUSHF 0 POPF 0 SJMP 1 LJMP 1 BR [indirect] 1 SCALL 1 LCALL 1 w wBcA a D,D 1wDcA D,D a 1 w B c A D w (D,D a 2) /A,D a 2 w remainder D w (D,D a 1) /A,D a 1 w remainder D w (D,D a 2) /A,D a 2 w remainder D w (D,D a 1) /A,D a 1 w remainder D w D AND A D w B AND A D w D OR A D w D (ecxl. or) A DwA AwD D w A; D a 1 w SIGN(A) D w A; D a 1 w 0 SP w SP b 2; (SP) w A A w (SP); SP a 2 SP w SP b 2; (SP) w PSW; PSW w 0000H; I w 0 PSW w (SP); SP w SP a 2; I w & PC w PC a 11-bit offset PC w PC a 16-bit offset PC w (A) SP w SP b 2; (SP) w PC; PC w PC a 11-bit offset SP w SP b 2; (SP) w PC; PC w PC a 16-bit offset ADD/ADDB 2 ADD/ADDB 3 ADDC/ADDCB 2 SUB/SUBB 2 SUB/SUBB 3 10 Flags Operation (Note 1) D D,D a 2 D,D a 2 DcA Notes Z N C V VT ST & & & & u u u u u u u b & & & & v & & & & & & & & & & & b b b b v & & & & & & & b b b b b b 2 b b b b b b 2 b b b b b b 3 b b b b b b 3 b b b & 2 b b b & b 3 b b b & b b b & u u u u b & & 0 0 b b & & 0 0 b b & & 0 0 b b b b b b & & 0 0 b b b b b b b b b b b b b b b b b b b b 3,4 b b b b b b 3,4 b b b b b b b b b b b b 0 0 0 0 0 0 & & & & & & b b b b b b 5 b b b b b b 5 b b b b b b b b b b b b 5 b b b b b b 5 M80C196KB Instruction Summary (Continued) Mnemonic Operands Flags Operation (Note 1) Z Notes N C V VT ST J (conditional) 1 w (SP); SP w SP a 2 PC w PC a 8-bit offset (if taken) b b b b b b 5 JC 1 Jump if C e 1 b b b b b b 5 JNC 1 jump if C e 0 b b b b b b 5 JE 1 jump if Z e 1 b b b b b b 5 JNE 1 Jump if Z e 0 b b b b b b 5 JGE 1 Jump if N e 0 b b b b b b 5 JLT 1 Jump if N e 1 b b b b b b 5 JGT 1 Jump if N e 0 and Z e 0 b b b b b b 5 JLE 1 Jump if N e 1 or Z e 1 b b b b b b 5 JH 1 Jump if C e 1 and Z e 0 b b b b b b 5 JNH 1 Jump if C e 0 or Z e 1 b b b b b b 5 JV 1 Jump if V e 0 b b b b b b 5 JNV 1 Jump if V e 1 b b b b b b 5 JVT 1 Jump if VT e 1; Clear VT b b b b 0 b 5 JNVT 1 Jump if VT e 0; Clear VT b b b b 0 b 5 JST 1 Jump if ST e 1 b b b b b b 5 JNST 1 Jump if ST e 0 b b b b b b 5 JBS 3 Jump if Specified Bit e 1 b b b b b b 5,6 JBC 3 Jump if Specified Bit e 0 b b b b b b 5,6 DJNZ/ DJNZW 1 D If D b b b b b b 5 DEC/DECB 1 b NEG/NEGB 1 INC/INCB 1 u u u EXT 1 b 2 EXTB 1 3 NOT/NOTB 1 CLR/CLRB 1 SHL/SHLB/SHLL 2 RET 0 SHR/SHRB/SHRL 2 SHRA/SHRAB/SHRAL 2 SETC 0 CLRC 0 PC w D b 1; i 0 then PC b w PC a 8-bit offset wDb1 Dw0bD DwDa1 D w D; D a 2 w Sign (D) D w D; D a 1 w Sign (D) D w Logical Not (D) Dw0 C w msb - - - - - lsb w 0 0 x msb - - - - - lsb x C msb x msb - - - - - lsb x C Cw1 Cw0 D b b b b b & & & & & & & & & & & & & & 0 0 b & & 0 0 b b & & 0 0 b b 1 0 0 0 b b & & & & u b 7 & & & 0 b & 7 & & & 0 b & 7 b b 1 b b b b b 0 b b b b b 11 M80C196KB Instruction Summary (Continued) Mnemonic Operands Flags Operation (Note 1) Notes Z N C V VT ST VT b b b b 0 b 0 0 0 0 0 0 w 0) Enable All Interupts (I w 1) PC w PC a 1 PC w PC a 2 Left shift till msb e 1; D w shift count SP w SP b 2; (SP) w PC; PC w (2010H) SP w SP-2; (SP) w PSW; PSW w 0000H; SP w SP-2; (SP) w IMASK1/WSR; IMASK1 w 00H IMASK1/WSR w (SP); SP w SP a 2 PSW w (SP); SP w SP a 2 b b b b b b b b b b b b b b b b b b b b b b b b & & 0 b b b 7 b b b b b b 9 0 0 0 0 0 0 & & & & & & CLRVT 0 RST 0 w0 PC w 2080H DI 0 Disable All Interupts (I EI 0 NOP 0 SKIP 0 NORML 2 TRAP 0 PUSHA 1 POPA 1 IDLPD 1 IDLE MODE IF KEY e 1; POWERDOWN MODE IF KEY e 2; CHIP RESET OTHERWISE b b b b b b CMPL 2 D-A & & & & u b BMOV 2 [PTRÐHI] a [PTRÐLOW] a ; UNTIL COUNT e 0 b b b b b b w 8 NOTES: 1. If the mnemonic ends in ‘‘B’’ a byte operation is performed, otherwise a word operation is done. Operands D, B, and A must conform to the alignment rules for the required operand type. D and B are locations in the Register File; A can be located anywhere in memory. 2. D,D a 2 are consecutive WORDS in memory; D is DOUBLE-WORD aligned. 3. D,D a 1 are consecutive BYTES in memory; D is WORD aligned. 4. Changes a byte to word. 5. Offset is a 2’s complement number. 6. Specified bit is one of the 2048 bits in the register file. 7. The ‘‘L’’ (Long) suffix indicates double-word operation. 8. Initiates a Reset by pulling RESET low. Software should re-initialize all the necessary registers with code starting at 2080H. 9. The assembler will not accept this mnemonic. 12 M80C196KB Instruction Execution State Times (Minimum) (1) MNEMONIC INDIRECT INDEXED DIRECT IMMED NORMAL* A-INC* SHORT* LONG* ADD (3-op) SUB (3-op) ADD (2-op) SUB (2-op) ADDC SUBC CMP ADDB (3-op) SUBB (3-op) ADDB (2-op) SUBB (2-op) ADDCB SUBCB CMPB 5 5 4 4 4 4 4 5 5 4 4 4 4 4 6 6 5 5 5 5 5 5 5 4 4 4 4 4 7/10 7/10 6/8 6/8 6/8 6/8 6/8 7/10 7/10 6/8 6/8 6/8 6/8 6/8 8/11 8/11 7/9 7/9 7/9 7/9 7/9 8/11 8/11 7/9 7/9 7/9 7/9 7/9 7/10 7/10 6/8 6/8 6/8 6/8 6/8 7/10 7/10 6/8 6/8 6/8 6/8 6/8 8/11 8/11 7/9 7/9 7/9 7/9 7/9 8/11 8/11 7/9 7/9 7/9 7/9 7/9 MUL (3-op) MULU (3-op) MUL (2-op) MULU (2-op) DIV DIVU MULB (3-op) MULUB (3-op) MULB (2-op) MULUB (2-op) DIVB DIVUB 16 14 16 14 26 24 12 10 12 10 18 16 17 15 17 15 27 25 12 10 12 10 18 16 18/21 16/19 18/21 16/19 28/31 26/29 14/17 12/15 14/17 12/15 20/23 18/21 19/22 17/19 19/22 17/19 29/32 27/30 15/18 13/15 15/18 13/15 21/24 19/22 19/22 17/20 19/22 17/20 29/32 27/30 15/18 12/16 15/18 12/16 21/24 19/22 20/23 18/21 20/23 18/21 30/33 28/31 16/19 14/17 16/19 14/17 22/25 20/23 AND (3-op) AND (2-op) OR (2-op) XOR ANDB (3-op) ANDB (2-op) ORB (2-op) XORB 5 4 4 4 5 4 4 4 6 5 5 5 5 4 4 4 7/10 6/8 6/8 6/8 7/10 6/8 6/8 6/8 8/11 7/9 7/9 7/9 8/11 7/9 7/9 7/9 7/10 6/8 6/8 6/8 7/10 6/8 6/8 6/8 8/11 7/9 7/9 7/9 8/11 7/9 7/9 7/9 LD/LDB ST/STB LDBSE LDBZE 4 4 4 4 5 5 4 4 5/8 5/8 5/8 5/8 6/8 6/9 6/8 6/8 6/9 6/9 6/9 6/9 7/10 7/10 7/10 7/10 9/12 10/12 11/14 13/15 10/13 11/13 12/15 14/16 BMOV PUSH (int stack) POP (int stack) PUSH (ext stack) POP (ext stack) 6 a 8 per word 6 8 8 11 7 b 9 b 6 a 11/14 per word 10/13 11/13 12/15 14/16 11/14 12/14 13/16 15/17 *Times for (Internal/External) Operands NOTE: 1. Execution times for instructions accessing external data memory may be one to two states higher depending on the instruction stream being executed. In sixteen bit mode, the minimum execution state times apply for instructions accessing internal register space. Execution times do not reflect eight bit mode or insertion of wait states. 13 M80C196KB Instruction Execution State Times (Continued) MNEMONIC PUSHF (int stack) POPF (int stack) PUSHA (int stack) POPA (int stack) 6 7 12 12 PUSHF (ext stack) POPF (ext stack) PUSHA (ext stack) POPA (ext stack) 8 10 18 18 TRAP (int stack) LCALL (int stack) SCALL (int stack) RET (int stack) 16 11 11 11 TRAP (ext stack) LCALL (ext stack) SCALL (ext stack) RET (ext stack) 18 13 13 14 DEC/DECB EXT/EXTB INC/INCB 3 4 3 CMPL CLR/CLRB NOT/NOTB NEG/NEGB 14 MNEMONIC 7 3 3 3 LJMP SJMP BR [indirect] JNST, JST JNH, JH JGT, JLE JNC, JC JNVT, JVT JNV, JV JGE, JLT JNE, JE JBC, JBS 7 7 7 4/8 jump not taken/jump taken 4/8 jump not taken/jump taken 4/8 jump not taken/jump taken 4/8 jump not taken/jump taken 4/8 jump not taken/jump taken 4/8 jump not taken/jump taken 4/8 jump not taken/jump taken 4/8 jump not taken/jump taken 5/9 jump not taken/jump taken DJNZ DJNZW 5/9 jump not taken/jump taken 5/9 jump not taken/jump taken NORML SHRL SHLL SHRAL SHR/SHRB SHL/SHLB SHRA/SHRAB 8 a 1 per shift (9 for 0 shift) 7 a 1 per shift (8 for 0 shift) 7 a 1 per shift (8 for 0 shift) 7 a 1 per shift (8 for 0 shift) 6 a 1 per shift (7 for 0 shift) 6 a 1 per shift (7 for 0 shift) 6 a 1 per shift (7 for 0 shift) CLRC SETC DI EI CLRVT NOP RST SKIP IDLPD 2 2 2 2 2 2 15 (includes fetch of configuration byte) 3 8/25 (proper key/improper key) M80C196KB MEMORY MAP M80C196KB INTERRUPTS Vector Priority Location 0FFFFH Number Source 4000H INT15 NMI 203EH 15 INT14 HSI FIFO Full 203CH 14 13 EXTERNAL MEMORY OR I/O INTERNAL ROM/EPROM OR EXTERNAL MEMORY 2080H INT13 EXTINT Pin 203AH 2040H INT12 TIMER2 Overflow 2038H 12 2030H INT11 TIMER2 Capture 2036H 11 INT10 4th Entry into HSI FIFO 2034H 10 9 RESERVED UPPER 8 INTERRUPT VECTORS ROM/EPROM SECURITY KEY* 2020H INT09 RI 2032H 2019H INT08 TI 2030H 8 2018H SPECIAL Unimplemented Opcode 2012H N/A SPECIAL Trap 2010H N/A 7 RESERVED CHIP CONFIGURATION BYTE RESERVED 2014H LOWER 8 INTERRUPT VECTORS PLUS 2 SPECIAL INTERRUPTS 2000H PORT 3 AND PORT 4 1FFEH EXTERNAL MEMORY OR I/O 0100H INTERNAL DATA MEMORY - REGISTER FILE (STACK POINTER, RAM AND SFRS) EXTERNAL PROGRAM CODE MEMORY 0000H *ROM/EPROM is available for the 80C196 19H 18H STACK POINTER 19H 18H INT07 EXTINT 200EH INT06 Serial Port 200CH 6 INT05 Software Timer 200AH 5 INT04 HSI.0 Pin 2008H 4 INT03 High Speed Outputs 2006H 3 INT02 HSI Data Available 2004H 2 INT01 A/D Conversion Complete 2002H 1 INT00 Timer Overflow 2000H 0 STACK POINTER 17H *IOS2 17H 16H IOS1 16H 15H IOS0 15H IOC0 14H *WSR 14H *WSR 13H *INTÐMASK 1 13H 12H *INTÐPEND 1 12H *INTÐMASK 1 *INTÐPEND 1 11H *SPÐSTAT PORT2 11H *SPÐCON 10H 10H PORT2 0FH PORT1 0FH PORT1 0FH RESERVED (1) 0EH PORT0 0EH BAUD RATE 0EH RESERVED (1) 0DH TIMER2 (HI) 0DH TIMER2 (HI) 0DH *T2 CAPTURE (HI) 0CH TIMER2 (LO) 0CH TIMER2 (LO) 0CH *T2 CAPTURE (LO) 0BH TIMER1 (HI) 0BH *IOC2 0AH TIMER1 (LO) 0AH WATCHDOG 09H INTÐPENDING 09H 08H INTÐMASK 08H INTÐPENDING INTÐMASK 07H SBUF(RX) 07H SBUF(TX) 06H HSIÐSTATUS HSIÐTIME (HI) 06H 05H HSOÐCOMMAND HSOÐTIME (HI) 05H 04H PWMÐCONTROL IOC1 HSIÐTIME (LO) ADÐRESULT (HI) 04H HSOÐTIME (LO) 03H 03H 02H ADÐRESULT (LO) 02H HSIÐMODE ADÐCOMMAND 01H ZERO REG (HI) 01H ZERO REG (HI) 00H ZERO REG (LO) 00H ZERO REG (LO) WHEN READ WSR e 0 WSR e 15 OTHER SFRS IN WSR 15 BECOME READABLE IF THEY WERE WRITABLE IN WSR e 0 AND WRITABLE IF THEY WERE READABLE IN WSR e 0 *NEW OR CHANGED REGISTER FUNCTION NOTE: 1. Reserved registers should not be written. WHEN WRITTEN 15 M80C196KB USING THE ALTERNATE REGISTER WINDOW (WSR e 15) I/O register expansion on the new CHMOS members of the MCS-96 family has been provided by making two register windows available. Switching between these windows is done using the Window Select Register (WSR). The PUSHA and POPA instructions can be used to push and pop the WSR and second interrupt mask when entering or leaving interrupts, so it is easy to change between windows. On the M80C196KB only Window 0 and Window 15 are active. Window 0 is a true superset of the standard 8096 SFR space, while Window 15 allows the read-only registers to be written and write-only registers to be read. The only major exception to this is the Timer2 register which is the Timer2 capture register in Window 15. The writeable register for Timer2 is in Window 0. There are also some minor changes and cautions. The descriptions of the registers which have different functions in Window 15 than in Window 0 are listed below: ADÐCOMMAND (02H) Ð Read the last written command ADÐRESULT (02H, 03H) Ð Write a value into the result register HSIÐMODE (03H) Ð Read the value in HSIÐMODE HSIÐTIME (04H,05H) HSOÐTIME (04H,05H) Ð Write to FIFO Holding register Ð Read the last value placed in the holding register HSIÐSTATUS (06H) Ð Write to status bits but not to HSI pin bits. (Pin bits are 1,3,5,7). HSOÐCOMMAND (06H) Ð Read the last value placed in the holding register SBUF(RX) (07H) Ð Write a value into the receive buffer SBUF(TX) (07H) Ð Read the last value written to the transmit buffer WATCHDOG(0AH) TIMER1 (0AH,0BH) TIMER2 (0CH,0DH) Ð Read the value in the upper byte of the WDT Ð Write a value to Timer1 Ð Read/Write the Timer2 capture register. Note that Timer2 read/write is done with WSR e 0. IOC2 (0BH) Ð Last written value is readable, except bit 7 (note 1) BAUDÐRATE (0EH) PORT0 (0EH) PORT1 SPÐSTAT (11H) Ð Ð Ð Ð SPÐCON (11H) IOS0 (15H) IOC0 (15H) Ð Read the current control byte Ð Writing to this register controls the HSO pins. Bits 6 and 7 are inactive for writes. Ð Last written value is readable, except bit 1 (note 1) No function, cannot be read No function, no output drivers on the pins. Register reserved. IOPORT1 cannot be read or written in Window 15. Register reserved. Set the status bits, TI and RI can be set, but it will not cause an interrupt IOS1 (16H) Ð Writing to this register will set the status bits, but not cause interrupts. Bits 6 and 7 are not functional IOC1 (16H) Ð Last written value is readable IOS2 (17H) Ð Writing to this register will set the status bits, but not cause interrupts. PWMÐCONTROL (17H) Ð Read the duty cycle value written to PWMÐCONTROL NOTE: 1. IOC2.7 (CAM CLEAR) and IOC0.1 (T2RST) are not latched and will read as a 1 (precharged bus) . Being able to write to the read-only registers and vice-versa provides a lot of flexibility. One of the most useful advantages is the ability to set the timers and HSO lines for initial conditions other than zero. Reserved registers may be used for testing as future features. Do not write to these registers. Read from reserved registers will return indeterminate values. 16 M80C196KB SFR BIT SUMMARY A summary of the SFRs which control I/O functions has been included in this section. The summary is separated into a list of those SFRs which have changed on the M80C196KB and a list of those which have remained almost the same. The following M80C196KB SFRs are different than those on the M8096BH: (The Read and Write comments indicate the register’s function in Window 0 unless otherwise specified.) SBUF(TX): 07h write Now double buffered BAUD RATE: 0Eh write Uses new Baud Rate Values SPÐSTAT: 11h read IPEND1: IMASK1: 7 6 5 4 3 2 1 0 RB8/ RPE RI TI FE TXE OE X X 1 0 RI TI RPE : RI : Receive Parity Error Receive Indicator TI : FE : TXE : OE : Transmit Indicator Framing Error Transmitter Empty Receive Overrun Error 7 NMI 12h,13h read/write 6 5 4 3 2 FIFO EXT T2 T2 HSI4 FULL INT OVF CAP NMI : Non-Maskable Interrupt (set to 0 for future compatibility) FIFO FULL : HSIO FIFO full EXTINT : T2OVF : T2CAP : HSI4 : External Interrupt Pin Timer2 Overflow Timer2 Capture HSI has 4 or more entries in FIFO RI : TI : Receive Interrupt Transmit Interrupt 17 M80C196KB WSR: 14h read/write 7 6 5 4 3 2 1 0 0 0 0 0 W W W W WWWW e 0 : SFRs function like a superset of M8096 SFRs WWWW e 14 : PPW register WWWW e 15 : Exchange read/write registers WWWW e OTHER : Undefined, do not use 0000 : IOS2: 7 These bits must always be written as zeros to provide compatibility with future products. 6 5 4 3 2 1 0 START T2 HSO.5 HSO.4 HSO.3 HSO.2 HSO.1 HSO.0 A2D RESET 17h read Indicates which HSO event occured START A2D : HSOÐCMD 15, start A to D HSOÐCMD 14, Timer 2 reset Output pins HSO.0 through HSO.5 T2RESET : HSO.0-5 : IOC2: 7 6 5 CLEAR ENA T2ALT CAM LOCK INT 0Bh write 4 3 A2D CPD X 2 1 SLOW T2UD PWM ENA 0 FAST T2EN CLEARÐCAM : Clear Entire CAM ENAÐLOCK : Enable lockable CAM entry feature T2ALT INT : A2DÐCPD : X: SLOWÐPWM : Enable T2 Alternate Interrupt at 8000H Clock Prescale Disable for low XTAL frequency (A to D conversion in fewer state times) Set to 0 Turn on divide by 2 Prescaler on PWM T2UD ENA : FASTÐT2EN : Enable Timer 2 as up/down counter Enable Fast increment of T2; once per state time. The following registers are the same on the M80C196KB as they were on the M8096BH: A/D Result LO (02H) A/D Command (02H) 271089 – 4 18 271089 – 5 M80C196KB Chip Configuration (2018H) HSIÐMode (03H) 271089 – 7 271089 – 6 *Minor Change HSIÐStatus (06H) HSO Command (06H) 271089 – 8 271089 – 9 *Minor Change SPCON (11H) IOS0 (15H) 271089 – 10 271089 – 11 19 M80C196KB Port 2 Multiple Functions IOC0 (15H) 271089 – 12 Alternative Function Control Reg. Pin Func. 2.0 Output TXD (Serial Port Transmit) IOC1.5 2.1 Input RXD (Serial Port Receive) SPCON.3 2.3 Input T2CLK (Timer2 Clock & Baud) IOC0.7 2.4 Input T2RST (Timer2 Reset) IOC0.5 2.5 Output PWM Output IOC1.0 2.6 QBD* Timer2 up/ down select IOC2.1 2.7 QBD* Timer2 Capture N/A IOS1 (16H) *QBD e Quasi-bidirectional Baud Rate Calculations Asynchronous Modes 1, 2 and 3: BaudÐReg e 271089 – 13 T2CLK XTAL1 b 1 OR Baud Rate c 16 Baud Rate c 8 Synchronous Mode 0: BaudÐReg e T2CLK XTAL1 b 1 OR Baud Rate c 2 Baud Rate IOC1 (16H) Baud Rates and Baud Register Values Baud Rate XTAL Frequency 8.0 MHz 10.0 MHz 12.0 MHz 300 1666 b 0.02 2082 0.02 2499 0.00 1200 416 b 0.08 520 b 0.03 624 0.00 2400 207 0.16 259 0.16 312 b 0.16 4800 103 b 0.16 129 0.16 155 0.16 9600 51 b 0.16 64 0.16 77 0.16 19.2K 25 0.16 32 1.40 38 0.16 Baud Register Value/% Error 271089 – 14 A maximum baud rate of 750 Kbaud is available in the asynchronous modes with 12 MHz on XTAL1. The synchronous mode has a maximum rate of 3.0 Mbaud with a 12 MHz clock. Location 0EH is the Baud Register. It is loaded sequentially in two bytes, with the low byte being loaded first. This register may not be loaded with zero in serial port Mode 0. NOTE: The maximum T2CLK rate is 3 MHz when used to set the baud rate. 20 M80C196KB ELECTRICAL CHARACTERISTICS NOTICE: This data sheet contains preliminary information on new products in production. The specifications are subject to change without notice. Verify with your local Intel Sales office that you have the latest data sheet before finalizing a design. Absolute Maximum Ratings* Case Temperature under BiasÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀ b 55§ C to a 125§ C Storage Temperature ÀÀÀÀÀÀÀÀÀÀ b 65§ C to a 150§ C Voltage On Any Pin to VSS ÀÀÀÀÀÀÀÀ b 0.5V to a 7.0V *WARNING: Stressing the device beyond the ‘‘Absolute Maximum Ratings’’ may cause permanent damage. These are stress ratings only. Operation beyond the ‘‘Operating Conditions’’ is not recommended and extended exposure beyond the ‘‘Operating Conditions’’ may affect device reliability. Power DissipationÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀ1.5W OPERATING CONDITIONS MIL-STD-883 Description Min Max Units TC Symbol Case Temperature (Instant On) b 55 a 125 §C VCC Digital Supply Voltage 4.50 5.50 V VREF Analog Supply Voltage 4.50 5.50 V fOSC Oscillator Frequency 3.5 12 MHz Military Temperature (MTO) Description Min Max Units TC Symbol Case Temperature (Instant On) b 55 a 125 §C VCC Digital Supply Voltage 4.50 5.50 V VREF Analog Supply Voltage 4.50 5.50 V fOSC Oscillator Frequency 3.5 12 MHz NOTE: ANGND and VSS should be nominally at the same potential. DC Characteristics Symbol (Over Specified Operating Conditions) Description Min Max Units b 0.5 0.8 V 0.2 VCC a 1.0 VCC V Input High Voltage on XTAL 1 0.7 VCC VCC V VIH2 Input High Voltage on RESET 2.2 VCC V VOL Output Low Voltage 0.3 0.45 1.5 V V V IOL e 200 mA IOL e 3.2 mA IOL e 7 mA VOH Output High Voltage (Standard Outputs) (Note 2) VCC b 0.3 VCC b 0.7 VCC b 1.5 V V V IOH e b 200 mA IOH e b 3.2 mA IOH e b 7 mA VOH1 Output High Voltage (Quasi-bidirectional Outputs) (Note 3) VCC b 0.3 VCC b 0.7 VCC b 1.5 V V V IOH e b 10 mA IOH e b 30 mA IOH e b 60 mA VIL Input Low Voltage VIH Input High Voltage (Note 1) VIH1 Comments NOTES: 1. All pins except RESET and XTAL1. 2. Standard Outputs include AD0–15, RD, WR, ALE, BHE, INST, HSO pins, PWM/P2.5, CLKOUT, RESET, Ports 3 and 4, TXD/P2.0, and RXD (in serial mode 0). The VOH specification is not valid for RESET. Ports 3 and 4 are open-drain outputs. 3. QBD (Quasi-bidirectional) pins include Port 1, P2.6 and P2.7. 21 M80C196KB DC Characteristics Symbol (Over Specified Operating Conditions) (Continued) Description ILI Input Leakage Current (Std. Inputs) (Note 4) ILI1 Input Leakage Current () ITL 1 to 0 Transition Current (QBD Pins) (Note 3) Min Max Units g 10 mA 0 k VIN k VCC b 0.3V Comments g7 mA 0 k VIN k VREF b 800 mA VIN e 2.0V b 50 mA VIN e 0.45V b 850 mA VIN e 0.45 V 60 mA XTAL1 e 12 MHz VCC e VPP e VREF e 5.5V IIL Logical 0 Input Current (QBD Pins) (Note 3) IIL1 Logical 0 Input Current in Reset (Note 5) (ALE, RD, WR, BHE, INST, P2.0) ICC Active Mode Current in Reset IREF A/D Converter Reference Current 5 mA IIDLE Idle Mode Current 25 mA ICC1 Active Mode Current 30 mA XTAL1 e 3.5 MHz IPD Powerdown Mode Current 50 mA VCC e VPP e VREF e 5.5V, XTAL1 e 12 MHz RRST Reset Pullup Resistor CS Pin Capacitance (Any Pin to VSS) 6K 50K X 10 pF fTEST e 1.0 MHz NOTES: (Notes apply to all specifications) 2. Standard Outputs include AD0–15, RD, WR, ALE, BHE, INST, HSO pins, PWM/P2.5, CLKOUT, RESET, Ports 3 and 4, TXD/P2.0, and RXD (in serial mode 0). The VOH specification is not valid for RESET. Ports 3 and 4 are open-drain outputs. 3. QBD (Quasi-bidirectional) pins include Port 1, P2.6 and P2.7. 4. Standard Inputs include HSI pins, EA, READY, BUSWIDTH, NMI, RXD/P2.1, EXTINT/P2.2, T2CLK/P2.3, and T2RST/ P2.4. 5. Holding these pins below VIH in Reset may cause the part to enter test modes. 6. Maximum current per pin must be externally limited to the following values if VOL is held above 0.45V or VOH is held below VCC b 0.7V: IOL on Output pins: 10 mA IOH on quasi-bidirectional pins: self limiting IOH on Standard Output pins: 10 mA 7. Maximum current per bus pin (data and control) during normal operation is g 3.2 mA. 8. During normal (non-transient) conditions the following total current limits apply: IOH is self limiting Port 1, P2.6 IOL: 29 mA IOH: 26 mA HSO, P2.0, RXD, RESET IOL: 29 mA IOL: 13 mA IOH: 11 mA P2.5, P2.7, WR, BHE IOH: 52 mA AD0 – AD15 IOL: 52 mA IOH: 13 mA RD, ALE, INST–CLKOUT IOL: 13 mA 271089 – 16 Figure 4. ICC and IIDLE vs Frequency 22 M80C196KB AC Characteristics (Over Specified Operating Conditions) Test Conditions: Capacitive load on all pins e 100 pF, Rise and fall times e 10 ns, fOSC e 12 MHz The system must meet these specifications to work with the M80C196KB: Max Units TAVYV Symbol Address Valid to READY Setup Description Min 2TOSC b 85 ns TLLYV ALE Low to READY Setup M80C196KB TOSC b 75 ns TYLYH Non READY Time TCLYX READY Hold after CLKOUT Low TLLYX READY Hold after ALE Low TAVGV Address Valid to Buswidth Setup TLLGV ALE Low to Buswidth Setup TOSC b 70 TCLGX Buswidth Hold after CLKOUT Low TAVDV Address Valid to Input Data Valid M80C196KB 3TOSC b 67 ns RD Active to Input Data Valid M80C196KB TOSC b 23 ns TCLDV CLKOUT Low to Input Data Valid TOSC b 50 ns TRHDZ End of RD to Input Data Float TOSC b 20 ns TRXDX Data Hold after RD Inactive TRLDV No upper limit 0 TOSC b 15 ns TOSC b 30 ns (Note 1) 2TOSC b 40 ns (Note 1) 2TOSC b 85 ns 0 0 Notes ns ns ns NOTE: 1. If max is exceeded, additional wait states will occur. 23 M80C196KB AC Characteristics (Over Specified Operating Conditions) (Continued) Test Conditions: Capacitive load on all pins e 100 pF, Rise and fall times e 10 ns, fOSC e 12 MHz The M80C196KB will meet these specifications: Min Max Units FXTAL Symbol Frequency on XTAL1 M80C196KB Description 3.5 12 MHz TOSC I/FXTAL M80C196KB 83 286 ns TXHCH XTAL1 High to CLKOUT High or Low 20 110 ns TCLCL CLKOUT Cycle Time TCHCL CLKOUT High Period 2TOSC ns TOSC b 10 TOSC a 10 ns 10 ns 15 ns TCLLH CLKOUT Falling Edge to ALE Rising b 10 TLLCH ALE Falling Edge to CLKOUT Rising b 15 TLHLH ALE Cycle Time TLHLL ALE High Period TOSC b 12 TAVLL Address Setup to ALE Falling Edge TOSC b 20 ns TLLAX Address Hold after ALE Falling Edge TOSC b 40 ns TLLRL ALE Falling Edge to RD Falling Edge TOSC b 40 TRLCL RD Low to CLKOUT Falling Edge TRLRH RD Low Period TRHLH RD Rising Edge to ALE Rising Edge TRLAZ RD Low to Address Float TLLWL ALE Falling Edge to WR Falling Edge TCLWL CLKOUT Low to WR Falling Edge TQVWH Data Stable to WR Rising Edge M80C196KB TCHWH CLKOUT High to WR Rising Edge 4TOSC 4 TWLWH WR Low Period TWHQX Data Hold after WR Rising Edge TOSC b 15 TWHLH WR Rising Edge to ALE Rising Edge TOSC b 15 TWHBX BHE, INST HOLD after WR Rising Edge TOSC b 15 24 ns (Note 2) ns ns 25 TOSC b 23 b5 ns ns TOSC a 25 10 0 ns ns 25 TOSC b 10 TOSC b 30 NOTE: 2. Assuming back-to-back bus cycles. ns TOSC a 12 TOSC b 5 TOSC Notes ns ns 15 ns ns ns TOSC a 10 ns ns (Note 2) M80C196KB System Bus Timings 271089 – 17 271089 – 18 25 M80C196KB EXTERNAL CLOCK DRIVE Symbol Parameter Min Max Units 1/TXLXL Oscillator Frequency M80C196KB 3.5 12.0 MHz Oscillator Period M80C196KB 83 286 ns TXHXX High Time 32 ns TXLXX Low Time 32 ns TXLXH Rise Time 10 ns TXHXL Fall Time 10 ns TXLXL EXTERNAL CLOCK DRIVE WAVEFORMS 271089 – 19 AC TESTING INPUT, OUTPUT WAVEFORMS 271089 – 20 AC Testing inputs are driven at 2.4V for a Logic ‘‘1’’ and 0.45V for a Logic ‘‘0’’ Timing measurements are made at 2.0V for a Logic ‘‘1’’ and 0.8V for a Logic ‘‘0’’. FLOAT WAVEFORMS 271089 – 21 For Timing Purposes a Port Pin is no Longer Floating when a 100 mV change from Load Voltage Occurs and Begins to Float when a 100 mV change from the Loaded VOH/VOL Level occurs IOL/IOH e g 15 mA. EXPLANATION OF AC SYMBOLS Each symbol is two pairs of letters prefixed by ‘‘T’’ for time. The characters in a pair indicate a signal and its condition, respectively. Symbols represent the time between the two signal/condition points. Conditions: Signals: H - High A - Address L - ALE/ADV L - Low B - BHE R - RD V - Valid C - CLKOUT W - WR/WRH/WRL X - No Longer Valid D - DATA X - XTAL1 Z - Floating G - Buswidth Y - READY 26 M80C196KB AC CHARACTERISTICSÐSERIAL PORTÐSHIFT REGISTER MODE SERIAL PORT TIMINGÐSHIFT REGISTER MODE Symbol Parameter Min TXLXL Serial Port Clock Period (BRR t 8002H) TXLXH Serial Port Clock Falling Edge to Rising Edge (BRR t 8002H) TXLXL Serial Port Clock Period (BRR e 8001H) TXLXH Serial Port Clock Falling Edge to Rising Edge (BRR e 8001H) 2 TOSC b 50 TQVXH Output Data Setup to Clock Rising Edge 2 TOSC b 50 TXHQX Output Data Hold after Clock Rising Edge 2 TOSC b 50 TXHQV Next Output Data Valid after Clock Rising Edge TDVXH Input Data Setup to Clock Rising Edge TXHDX Input Data Hold after Clock Rising Edge TXHQZ Last Clock Rising to Output Float Max 6 TOSC 4 TOSC b 50 Units ns 4 TOSC a 50 ns 2 TOSC a 50 ns 4 TOSC ns ns ns 2 TOSC a 50 ns TOSC a 50 ns 0 ns TOSC ns WAVEFORMÐSERIAL PORTÐSHIFT REGISTER MODE SERIAL PORT WAVEFORMÐSHIFT REGISTER MODE 271089 – 22 27 M80C196KB A TO D CHARACTERISTICS There are two modes of A/D operation: with or without clock prescaler. The speed of the A/D converter can be adjusted by setting a clock prescaler on or off. At high frequencies more time is needed for the comparator to settle. The maximum frequency with the clock prescaler disabled is 8 MHz. The conversion times with the prescaler turned on or off is shown in the table below. stability of VREF. VREF must be close to VCC since it supplies both the resistor ladder and the digital section of the converter. A/D CONVERTER SPECIFICATIONS The specifications given below assume adherence to the Operating Conditions section of this data sheet. Testing is performed in Mode 2 with VREF e 5.12V and 12 MHz on XTAL1. The converter is ratiometric, so the absolute accuracy is directly dependent on the accuracy and Clock Prescaler On IOC2.4 e 0 Clock Prescaler Off IOC2.4 e 1 Mode 0–158 States 26.33 ms @ 12 MHz Mode 2 – 91 States 22.75 ms @ 8 MHz A/D CHARACTERISTICS Parameter (Over Specified Operating Conditions) Typical*(1) Resolution Absolute Error Full Scale Error Zero Offset Error Minimum Maximum Units** 256 1024 10 Levels Bits 0 g4 b 0.5 g 0.5 g 0.5 LSBs 0 g4 LSBs Differential Non-Linearity 0 g2 LSBs Channel-to-Channel Matching 0 g1 LSBs Repeatability g 0.25 LSBs Temperature Coefficients: Offset Full Scale Differential Non-Linearity 0.009 0.009 0.009 LSB/§ C LSB/§ C LSB/§ C b 60 Feedthrough b 60 VCC Power Supply Rejection b 60 Input Resistance DC Input Leakage 750 1.2K 0 3.0 dB 2, 3 dB 2 dB 2 X mA Sample Time Slow Mode Fast Mode 15 8 States States Input Capacitance 3 pF NOTES: *An ‘‘LSB’’, as used here, has a value of approximately 5 mV. 1. These values are expected for most parts at 25§ C but are not tested or guaranteed. 2. DC to 100 KHz. 3. Multiplexer Break-Before-Make Guaranteed. 4. One state e 167 ns at 12 MHz, 250 ns at 8 MHz. 28 LSBs LSBs Non-Linearity Off Isolation Notes 4 4 M80C196KB A/D GLOSSARY OF TERMS ABSOLUTE ERRORÐThe maximum difference between corresponding actual and ideal code transitions. Absolute Error accounts for all deviations of an actual converter from an ideal converter. ACTUAL CHARACTERISTICÐThe characteristic of an actual converter. The characteristic of a given converter may vary over temperature, supply voltage, and frequency conditions. An actual characteristic rarely has ideal first and last transition locations or ideal code widths. It may even vary over multiple conversions under the same conditions. BREAK-BEFORE-MAKEÐThe property of multiplexer which guarantees that a previously selected channel will be deselected before a new channel is selected (e.g., the converter will not short inputs together). CHANNEL-TO-CHANNEL MATCHINGÐThe difference between corresponding code transitions of actual characteristics taken from different channels under the same temperature, voltage and frequency conditions. CHARACTERISTICÐA graph of input voltage versus the resultant output code for an A/D converter. It describes the transfer function of the A/D converter. CODEÐThe digital value output by the converter. IDEAL CHARACTERISTICÐA characteristic with its first code transition at VIN e 0.5 LSB, its last code transition at VIN e (VREF b 1.5 LSB) and all code widths equal to one LSB. INPUT RESISTANCEÐThe effective series resistance from the analog input pin to the sample capacitor. LSBÐLeast Significant Bit: The voltage corresponding to the full scale voltage divided by 2n, where n is the number of bits of resolution of the converter. For an 8-bit converter with a reference voltage of 5.12V, one LSB is 20 mV. Note that this is different than digital LSBs, since an uncertainty of two LSB, when referring to an A/D converter, equals 40 mV. (This has been confused with an uncertainty of two digital bits, which would mean four counts, or 80 mV.) NON-LINEARITYÐThe maximum deviation of code transitions of the terminal based characteristic from the corresponding code transitions of the ideal characteristic. OFF-ISOLATIONÐAttenuation of a voltage applied on a deselected channel of the A/D converter. (Also referred to as Crosstalk.) REPEATABILITYÐThe difference between corresponding code transitions from different actual characteristics taken from the same converter on the same channel at the same temperature, voltage and frequency conditions. CODE TRANSITIONÐThe point at which the converter changes from an output code of Q, to a code of Q a 1. The input voltage corresponding to a code transition is defined to be that voltage which is equally likely to produce either of two adjacent codes. RESOLUTIONÐThe number of input voltage levels that the converter can unambiguously distinguish between. Also defines the number of useful bits of information which the converter can return. CODE WIDTHÐThe voltage corresponding to the difference between two adjacent code transitions. SAMPLE TIMEÐBegins when the sample capacitor is attached to a selected channel and ends when the sample capacitor is disconnected from the selected channel. DC INPUT LEAKAGEÐLeakage current to ground from an analog input pin. DIFFERENTIAL NON-LINEARITYÐThe difference between the ideal and actual code widths of the terminal based characteristic. TEMPERATURE COEFFICIENTSÐChange in the stated variable per degree centigrade temperature change. Temperature coefficients are added to the typical values of a specification to see the effect of temperature drift. FEEDTHROUGHÐAttenuation of a voltage applied on the selected channel of the A/D Converter after the sample window closes. TERMINAL BASED CHARACTERISTICÐAn actual characteristic which has been rotated and translated to remove zero offset and full scale error. FULL SCALE ERRORÐThe difference between the expected and actual input voltage corresponding to the full scale code transition. VCC REJECTIONÐAttenuation of noise on the VCC line to the A/D converter. ZERO OFFSETÐThe difference between the expected and actual input voltage corresponding to the first code transition. 29 M80C196KB M80C196KB FUNCTIONAL DEVIATIONS The M80C196KB has the following problems. CONVERTING FROM OTHER M8097 FAMILY PRODUCTS TO THE M80C196KB 1. The DJNZW instruction is guaranteed to be functional. The DJNZ (byte instruction) work around is no longer needed. 2. The serial port only tolerates a a 1.25%, b 7.5% baud rate error between Transmitter and Receiver. If the serial port fails on the receiver, increase the baud rate. The following list of suggestions for designing an M809XBH system will yield a design that is easily converted to the M80C196KB. 3. The HSI unit has two errata: one dealing with resolution and the other with first entries into the FIFO. 3. Do not base hardware timings on CLKOUT or XTAL1. The timings of the M80C196KB are different than those of the M8X9XBH, but they will function with standard ROM/EPROM/Peripheral type memory systems. 4. Make sure all inputs are tied high or low and not left floating. 5. Indexed and indirect operations relative to the stack pointer (SP) work differently on the M80C196KB than on the M8097. On the M8097, the address is calculated based on the un-updated version of the stack pointer. The M80C196KB uses the updated version. The offset for PUSH [SP] , POP [SP] , PUSH nn [SP] and POP nn [SP] instructions may need to be changed by a count of 2. The HSI resolution is 9 states instead of 8 states. Events on the same line may be lost if they occur faster than once every 9 state times. There is a mismatch between the 9 state time HSI resolution and the 8 state time timer. This causes one time value to be unused every 9 timer counts. Events may receive a time-tag one count later than expected because of this ‘‘skipped’’ time value. If the first two events into an empty FIFO (not including the Holding Register) occur in the same internal phase, both are recorded with one timetag. Otherwise, if the second event occurs within 9 states after the first, its time-tag is one count later than the first’s. If this is the ‘‘skipped’’ time value, the second event’s time-tag is 2 counts later than the first’s. If the FIFO and Holding Register are empty, the first event will transfer into the Holding Register after 8 state times, leaving the FIFO empty again. If the second event occurs after this time, it will act as a new first event into an empty FIFO. 4. The serial port Framing Error flag that failed to indicate an error if the bit preceding the stop bit is a 1 has been fixed. 30 1. Do not base critical timing loops on instruction or peripheral execution times. 2. Use equate statements to set all timing parameters, including the baud rate.