TSC80251G2D 8/16-bit Microcontroller Interfaces with Serial Communication 1. Description The TSC80251G2D products are derivatives of the TEMIC Microcontroller family based on the 8/16-bit C251 Architecture. This family of products is tailored to 8/16-bit microcontroller applications requiring an increased instruction throughput, a reduced operating frequency or a larger addressable memory space. The architecture can provide a significant code size reduction when compiling C programs while fully preserving the legacy of C51 assembly routines. The TSC80251G2D derivatives are pin and software compatible with standard 80C51/Fx/Rx/Rx+ with extended on-chip data memory (1 Kbyte RAM) and up to 256 Kbytes of external code and data. Additionally, the TSC83251G2D and TSC87251G2D provide on-chip code memory: 32 Kbytes ROM and 32 Kbytes EPROM/ OTPROM respectively. They provide transparent enhancements to Intel’s 8xC251Sx family with an additional Synchronous Serial Link Controller (SSLC supporting I2C, µWire and SPI protocols), a Keyboard interrupt interface, a dedicated Baud Rate Generator for UART, and Power Management features. TSC80251G2D derivatives are optimized for speed and for low power consumption on a wide voltage range. Note: This Datasheet provides the technical description of the TSC80251G2D derivatives. For further information on the device usage, please request the TSC80251 Programmer’s Guide and the TSC80251G1D Design Guide. 2. Typical Applications ● ISDN Terminals ● Scanners ● High-Speed Modems ● Banking Machines ● PABX (SOHO) ● Barcode Readers ● Line Cards ● Smart Cards Readers ● DVD ROM and Players ● High-End Digital Monitors ● Printers ● High-End Joysticks ● Plotters Rev. A - May 7, 1999 1 TSC80251G2D 3. Features ● Pin and Software Compatibility with Standard 80C51 Products and 80C51Fx/Rx/Rx+ ● Plug-In Replacement of Intel’s 8xC251Sx ● C251 core: Intel’s MCS®251 D-step Compliance • 40-byte register file • Registers accessible as Bytes, Words or Dwords • Three-stage instruction pipeline • 16-bit internal code fetch ● Enriched C51 Instruction Set • 16-bit and 32-bit ALU • Compare and conditional jump instructions • Expanded set of move instructions ● Linear Addressing ● 1 Kbyte of On-Chip RAM ● External Memory Space (Code/Data) Programmable from 64 Kbytes to 256 Kbytes ● TSC87251G2D: 32 Kbytes of On-Chip EPROM/ OTPROM • SINGLE PULSE Programming Algorithm ● TSC83251G2D: 32 Kbytes of On-Chip Masked ROM ● TSC80251G2D: ROMless Version ● Four 8-bit Parallel I/O Ports (Ports 0, 1, 2 and 3 of the standard 80C51) ● Serial I/O Port: full duplex UART (80C51 compatible) with independent Baud Rate Generator ● SSLC: Synchronous Serial Link Controller • I2C multi-master protocol • µWire and SPI master and slave protocols ● Three 16-bit Timers/Counters (Timers 0, 1 and 2 of the standard 80C51) ● EWC: Event and Waveform Controller • Compatible with Intel’s Programmable Counter Array (PCA) • Common 16-bit timer/counter reference with four possible clock sources (Fosc/4, Fosc/12, Timer 1 and external input) • Five modules, each with four programmable modes: - 16-bit software timer/counter - 16-bit timer/counter capture input and software pulse measurement - High-speed output and 16-bit software pulse width modulation (PWM) - 8-bit hardware PWM without overhead 2 • 16-bit watchdog timer/counter capability ● Secure 14-bit Hardware Watchdog Timer ● Power Management • Power-On reset (integrated on the chip) • Power-Off flag (cold and warm resets) • Software programmable system clock • Idle mode • Power-Down mode ● Keyboard Interrupt Interface on Port 1 ● Non Maskable Interrupt Input (NMI) ● Real-Time Wait States Inputs (WAIT#/AWAIT#) ● ONCE mode and full speed Real-Time In-Circuit Emulation support (Third Party Vendors) ● High Speed Versions: • 4.5 to 5.5 V • 16 MHz and 24 MHz • Typical operating current: 35 mA @ 24 MHz 24 mA @ 16 MHz • Typical power-down current: 2 µA ● Low Voltage Version: • 2.7 to 5.5 V • 16 MHz • Typical operating current: 11 mA @ 3V • Typical power-down current: 1 µA ● Temperature Ranges: • Commercial (0°C to +70°C) • Industrial (-40°C to +85°C) • Option: extended range (-55°C to +125°C) ● Packages: • PDIL 40, PLCC 44 and VQFP 44 • CDIL 40 and CQPJ 44 with window • Options: known good dice and ceramic packages Rev. A - May 7, 1999 TSC80251G2D 4. Block Diagram P3(A16) P2(A15-8) P1(A17) P0(AD7-0) PSEN# PORTS 0-3 ROM EPROM OTPROM 32 Kbytes Timers 0, 1 and 2 RAM 1 Kbyte ALE/PROG# UART Baud Rate Generator 16-bit Memory Code 16-bit Memory Address EA#/VPP Event and Waveform Controller I2C/SPI/µWire Controller Watchdog Timer 8-bit Internal Bus 24-bit Data Address Bus 8-bit Data Bus 16-bit Instruction Bus 24-bit Program Counter Bus Bus Interface Unit Peripheral Interface Unit AWAIT# RST Power Management XTAL2 Clock Unit Clock System Prescaler XTAL1 Keyboard Interface CPU Interrupt Handler Unit VDD VSS VSS1 NMI VSS2 Figure 1. TSC80251G2D Block Diagram Rev. A - May 7, 1999 3 TSC80251G2D 5. Pin Description 5.1 Pinout P1.0/T2 P1.1/T2EX P1.2/ECI P1.3/CEX0 P1.4/CEX1/SS# P1.5/CEX2/MISO P1.6/CEX3/SCL/SCK/WAIT# P1.7/A17/CEX4/SDA/MOSI/WCLK RST P3.0/RXD P3.1/TXD P3.2/INT0# P3.3/INT1# P3.4/T0 P3.5/T1 P3.6/WR# P3.7/A16/RD# XTAL2 XTAL1 VSS 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 TSC80251G2D 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 VDD P0.0/AD0 P0.1/AD1 P0.2/AD2 P0.3/AD3 P0.4/AD4 P0.5/AD5 P0.6/AD6 P0.7/AD7 EA#/VPP ALE/PROG# PSEN# P2.7/A15 P2.6/A14 P2.5/A13 P2.4/A12 P2.3/A11 P2.2/A10 P2.1/A9 P2.0/A8 6 5 4 3 2 1 44 43 42 41 40 P1.4/CEX1/SS# P1.3/CEX0 P1.2/ECI P1.1/T2EX P1.0/T2 VSS1 VDD P0.0/AD0 P0.1/AD1 P0.2/AD2 P0.3/AD3 Figure 2. TSC80251G2D 40-pin DIP package 7 8 9 10 11 12 13 14 15 16 17 TSC80251G2D 39 38 37 36 35 34 33 32 31 30 29 P0.4/AD4 P0.5/AD5 P0.6/AD6 P0.7/AD7 EA#/VPP NMI ALE/PROG# PSEN# P2.7/A15 P2.6/A14 P2.5/A13 P3.6/WR# P3.7/A16/RD# XTAL2 XTAL1 VSS VSS2 P2.0/A8 P2.1/A9 P2.2/A10 P2.3/A11 P2.4/A12 18 19 20 21 22 23 24 25 26 27 28 P1.5/CEX2/MISO P1.6/CEX3/SCL/SCK/WAIT# P1.7/A17/CEX4/SDA/MOSI/WCLK RST P3.0/RXD AWAIT# P3.1/TXD P3.2/INT0# P3.3/INT1# P3.4/T0 P3.5/T1 Figure 3. TSC80251G2D 44-pin PLCC Package 4 Rev. A - May 7, 1999 44 43 42 41 40 39 38 37 36 35 34 P1.4/CEX1/SS# P1.3/CEX0 P1.2/ECI P1.1/T2EX P1.0/T2 VSS1 VDD P0.0/AD0 P0.1/AD1 P0.2/AD2 P0.3/AD3 TSC80251G2D 1 2 3 4 5 6 7 8 9 10 11 33 32 31 30 29 28 27 26 25 24 23 TSC80251G2D P0.4/AD4 P0.5/AD5 P0.6/AD6 P0.7/AD7 EA#/VPP NMI ALE/PROG# PSEN# P2.7/A15 P2.6/A14 P2.5/A13 P3.6/WR# P3.7/A16/RD# XTAL2 XTAL1 VSS VSS2 P2.0/A8 P2.1/A9 P2.2/A10 P2.3/A11 P2.4/A12 12 13 14 15 16 17 18 19 20 21 22 P1.5/CEX2/MISO P1.6/CEX3/SCL/SCK/WAIT# P1.7/A17/CEX4/SDA/MOSI/WCLK RST P3.0/RXD AWAIT# P3.1/TXD P3.2/INT0# P3.3/INT1# P3.4/T0 P3.5/T1 Figure 4. TSC80251G2D 44-pin VQFP Package Table 1. TSC80251G2D Pin Assignment DIP 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 PLCC VQFP 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 39 40 41 42 43 44 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Rev. A - May 7, 1999 Name VSS1 P1.0/T2 P1.1/T2EX P1.2/ECI P1.3/CEX0 P1.4/CEX1/SS# P1.5/CEX2/MISO P1.6/CEX3/SCL/SCK/WAIT# P1.7/A17/CEX4/SDA/MOSI/WCLK RST P3.0/RXD AWAIT# P3.1/TXD P3.2/INT0# P3.3/INT1# P3.4/T0 P3.5/T1 P3.6/WR# P3.7/A16/RD# XTAL2 XTAL1 VSS DIP 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 PLCC VQFP 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 Name VSS2 P2.0/A8 P2.1/A9 P2.2/A10 P2.3/A11 P2.4/A12 P2.5/A13 P2.6/A14 P2.7/A15 PSEN# ALE/PROG# NMI EA#/VPP P0.7/AD7 P0.6/AD6 P0.5/AD5 P0.4/AD4 P0.3/AD3 P0.2/AD2 P0.1/AD1 P0.0/AD0 VDD 5 TSC80251G2D 5.2 Signals Table 2. Product Name Signal Descriptions 6 Signal Name Type Alternate Function A17 O 18th Address Bit P1.7 Output to memory as 18th external address bit (A17) in extended bus applications, depending on the values of bits RD0 and RD1 in UCONFIG0 byte (see Table 13, Page 15). A16 O 17th Address Bit P3.7 Output to memory as 17th external address bit (A16) in extended bus applications, depending on the values of bits RD0 and RD1 in UCONFIG0 byte (see Table 13, Page 15). A15:8(1) O Address Lines Upper address lines for the external bus. P2.7:0 AD7:0(1) I/O Address/Data Lines Multiplexed lower address lines and data for the external memory. P0.7:0 ALE O Address Latch Enable ALE signals the start of an external bus cycle and indicates that valid address information are available on lines A16/A17 and A7:0. An external latch can use ALE to demultiplex the address from address/data bus. AWAIT# I Real-time Asynchronous Wait States Input When this pin is active (low level), the memory cycle is stretched until it becomes high. When using the Product Name as a pin-for-pin replacement for a 8xC51 product, AWAIT# can be unconnected without loss of compatibility or power consumption increase (on-chip pull-up). Not available on DIP package. CEX4:0 I/O EA# I External Access Enable EA# directs program memory accesses to on-chip or off-chip code memory. For EA#= 0, all program memory accesses are off-chip. For EA#= 1, an access is on-chip ROM if the address is within the range of the on-chip ROM; otherwise the access is off-chip. The value of EA# is latched at reset. For devices without ROM on-chip, EA# must be strapped to ground. ECI O PCA External Clock input ECI is the external clock input to the 16-bit PCA timer. MISO I/O SPI Master Input Slave Output line P1.5 When SPI is in master mode, MISO receives data from the slave peripheral. When SPI is in slave mode, MISO outputs data to the master controller. MOSI I/O SPI Master Output Slave Input line P1.7 When SPI is in master mode, MOSI outputs data to the slave peripheral. When SPI is in slave mode, MOSI receives data from the master controller. INT1:0# I External Interrupts 0 and 1 P3.3:2 INT1#/INT0# inputs set IE1:0 in the TCON register. If bits IT1:0 in the TCON register are set, bits IE1:0 are set by a falling edge on INT1#/INT0#. If bits IT1:0 are cleared, bits IE1:0 are set by a low level on INT1#/INT0#. NMI I Non Maskable Interrupt Holding this pin high for 24 oscillator periods triggers an interrupt. When using the Product Name as a pin-for-pin replacement for a 8xC51 product, NMI can be unconnected without loss of compatibility or power consumption increase (on-chip pulldown). Not available on DIP package. P0.0:7 I/O Description PCA Input/Output pins P1.7:3 CEXx are input signals for the PCA capture mode and output signals for the PCA compare and PWM modes. P1.2 Port 0 AD7:0 P0 is an 8-bit open-drain bidirectional I/O port. Port 0 pins that have 1s written to them float and can be used as high impedance inputs. To avoid any paraitic current consumption, Floating P0 inputs must be polarized to VDD or VSS. Rev. A - May 7, 1999 TSC80251G2D Signal Name Type Description P1.0:7 I/O Port 1 P1 is an 8-bit bidirectional I/O port with internal pull-ups. P1 provides interrupt capability for a keyboard interface. P2.0:7 I/O Port 2 P2 is an 8-bit bidirectional I/O port with internal pull-ups. P3.0:7 I/O Port 3 P3 is an 8-bit bidirectional I/O port with internal pull-ups. PROG# I Programming Pulse input The programming pulse is applied to this input for programming the on-chip EPROM/ OTPROM. PSEN# O Program Store Enable/Read signal output PSEN# is asserted for a memory address range that depends on bits RD0 and RD1 in UCONFIG0 byte (see Table 13, Page 15). RD# O Read or 17th Address Bit (A16) P3.7 Read signal output to external data memory depending on the values of bits RD0 and RD1 in UCONFIG0 byte (see Table 13, Page 15). RST I RXD I/O Receive Serial Data P3.0 RXD sends and receives data in serial I/O mode 0 and receives data in serial I/O modes 1, 2 and 3. SCL I/O I2C Serial Clock P1.6 When I2C controller is in master mode, SCL outputs the serial clock to slave peripherals. When I2C controller is in slave mode, SCL receives clock from the master controller. SCK I/O SPI Serial Clock P1.6 When SPI is in master mode, SCK outputs clock to the slave peripheral. When SPI is in slave mode, SCK receives clock from the master controller. SDA I/O I2C Serial Data SDA is the bidirectional I2C data line. P1.7 SS# I SPI Slave Select Input When in Slave mode, SS# enables the slave mode. P1.4 T1:0 I/O Timer 1:0 External Clock Inputs When timer 1:0 operates as a counter, a falling edge on the T1:0 pin increments the count. T2 I/O Timer 2 Clock Input/Output P1.0 For the timer 2 capture mode, T2 is the external clock input. For the Timer 2 clock-out mode, T2 is the clock output. T2EX I Timer 2 External Input P1.1 In timer 2 capture mode, a falling edge initiates a capture of the timer 2 registers. In autoreload mode, a falling edge causes the timer 2 register to be reloaded. In the up-down counter mode, this signal determines the count direction: 1= up, 0= down. TXD O Transmit Serial Data P3.1 TXD outputs the shift clock in serial I/O mode 0 and transmits data in serial I/O modes 1, 2 and 3. VDD PWR VPP I Rev. A - May 7, 1999 Alternate Function A15:8 Reset input to the chip Holding this pin high for 64 oscillator periods while the oscillator is running resets the device. The Port pins are driven to their reset conditions when a voltage greater than VIH1 is applied, whether or not the oscillator is running. This pin has an internal pull-down resistor which allows the device to be reset by connecting a capacitor between this pin and VDD. Asserting RST when the chip is in Idle mode or Power-Down mode returns the chip to normal operation. Digital Supply Voltage Connect this pin to +5V or +3V supply voltage. Programming Supply Voltage The programming supply voltage is applied to this input for programming the on-chip EPROM/ OTPROM. 7 TSC80251G2D Signal Name Type Alternate Function VSS GND Circuit Ground Connect this pin to ground. VSS1 GND Secondary Ground 1 This ground is provided to reduce ground bounce and improve power supply bypassing. Connection of this pin to ground is recommended. However, when using the TSC80251G2D as a pin-for-pin replacement for a 8xC51 product, VSS1 can be unconnected without loss of compatibility. Not available on DIP package. VSS2 GND Secondary Ground 2 This ground is provided to reduce ground bounce and improve power supply bypassing. Connection of this pin to ground is recommended. However, when using the TSC80251G2D as a pin-for-pin replacement for a 8xC51 product, VSS2 can be unconnected without loss of compatibility. Not available on DIP package. WAIT# I Real-time Synchronous Wait States Input P1.6 The real-time WAIT# input is enabled by setting RTWE bit in WCON (S:A7h). During bus cycles, the external memory system can signal ‘system ready’ to the microcontroller in real time by controlling the WAIT# input signal. WCLK O Wait Clock Output P1.7 The real-time WCLK output is enabled by setting RTWCE bit in WCON (S:A7h). When enabled, the WCLK output produces a square wave signal with a period of one half the oscillator frequency. WR# O Write Write signal output to external memory. XTAL1 I Input to the on-chip inverting oscillator amplifier To use the internal oscillator, a crystal/resonator circuit is connected to this pin. If an external oscillator is used, its output is connected to this pin. XTAL1 is the clock source for internal timing. XTAL2 O Output of the on-chip inverting oscillator amplifier To use the internal oscillator, a crystal/resonator circuit is connected to this pin. If an external oscillator is used, leave XTAL2 unconnected. Description P3.6 Note: 1. The description of A15:8/P2.7:0 and AD7:0/P0.7:0 are for the Non-Page mode chip configuration. If the chip is configured in Page mode operation, port 0 carries the lower address bits (A7:0) while port 2 carries the upper address bits (A15:8) and the data (D7:0). 8 Rev. A - May 7, 1999 TSC80251G2D 6. Address Spaces The TSC80251G2D derivatives implement four different address spaces: ● On-chip ROM program/code memory (not present in ROMless devices) ● On-chip RAM data memory ● Special Function Registers (SFRs) ● Configuration array 6.1 Program/Code Memory The TSC83251G2D and TSC87251G2D implement 32 Kbytes of on-chip program/code memory. Figure 5 shows the split of the internal and external program/code memory spaces. If EA# is tied to a high level, the 32-Kbyte on-chip program memory is mapped in the lower part of segment FF: where the C251 core jumps after reset. The rest of the program/code memory space is mapped to the external memory. If EA# is tied to a low level, the internal program/code memory is not used and all the accesses are directed to the external memory. The TSC83251G2D products provide the internal program/code memory in a masked ROM memory while the TSC87251G2D products provide it in an EPROM memory. For the TSC80251G2D products, there is no internal program/code memory and EA# must be tied to a low level. Program/code External Memory Space Program/code Segments On-chip ROM/EPROM Code Memory FF:FFFFh 32 Kbytes FF:8000h FF:7FFFh 32 Kbytes EA#= 0 EA#= 1 32 Kbytes FF:0000h FE:FFFFh 64 Kbytes FE:0000h FD:FFFFh Reserved 02:0000h 01:FFFFh 128 Kbytes 01:0000h 00:FFFFh 00:0000h Figure 5. Program/Code Memory Mapping Notes: Special care should be taken when the Program Counter (PC) increments: 1. If the program executes exclusively from on-chip code memory (not from external memory), beware of executing code from the upper eight bytes of the on-chip ROM (FF:7FF8h-FF:7FFFh). Because of its pipeline capability, the TSC80251G2D derivative may attempt to prefetch code from external memory (at an address above FF:7FFFh) and thereby disrupt I/O Ports 0 and 2. Fetching code constants from these 8 bytes does not affect Ports 0 and 2. 2. When PC reaches the end of segment FF:, it loops to the reset address FF:0000h (for compatibility with the C51 Architecture). When PC increments beyond the end of segment FE:, it continues at the reset address FF:0000h (linearity). When PC increments beyond the end of segment 01:, it loops to the beginning of segment 00: (this prevents from its going into the reserved area). Rev. A - May 7, 1999 9 TSC80251G2D 6.2 Data Memory The TSC80251G2D derivatives implement 1 Kbyte of on-chip data RAM. Figure 6 shows the split of the internal and external data memory spaces. This memory is mapped in the data space just over the 32 bytes of registers area (see TSC80251 Programmers’ Guide). Hence, the part of the on-chip RAM located from 20h to FFh is bit addressable. This on-chip RAM is not accessible through the program/code memory space. For faster computation with the on-chip ROM/EPROM code of the TSC83251G2D/TSC87251G2D, its upper 16 Kbytes are also mapped in the upper part of the region 00: if the On-Chip Code Memory Map configuration bit is cleared (EMAP# bit in UCONFIG1 byte, see Figure 8). However, if EA# is tied to a low level, the TSC80251G2D derivative is running as a ROMless product and the code is actually fetched in the corresponding external memory (i.e. the upper 16 Kbytes of the lower 32 Kbytes of the segment FF:). If EMAP# bit is set, the on-chip ROM is not accessible through the region 00:. All the accesses to the portion of the data space with no on-chip memory mapped onto are redirected to the external memory. Data External Memory Space On-chip ROM/EPROM Code Memory Data Segments FF:FFFFh 32 Kbytes FF:8000h FF:7FFFh 32 Kbytes EA#= 0 16 Kbytes EA#= 1 FF:0000h FE:FFFFh 16 Kbytes 64 Kbytes FE:0000h FD:FFFFh Reserved EMAP#= 0 02:0000h 01:FFFFh 64 Kbytes 16 Kbytes EMAP#= 1 01:0000h 00:FFFFh RAM Data 00:C000h 00:BFFFh 1 Kbyte 00:0420h 32 bytes reg. ≈47 Kbytes Figure 6. Data Memory Mapping 6.3 Special Function Registers The Special Function Registers (SFRs) of the TSC80251G2D derivatives fall into the categories detailed in Table 3 to Table 11. SFRs are placed in a reserved on-chip memory region S: which is not represented in the data memory mapping (Figure 6). The relative addresses within S: of these SFRs are provided together with their reset values in Table 12. They are upward compatible with the SFRs of the standard 80C51 and the Intel’s 80C251Sx family. In this table, the C251 core registers are identified by Note 1 and are described in the TSC80251 Programmer’s Guide. The other SFRs are described in the TSC80251G1D Design Guide. All the SFRs are bit-addressable using the C251 instruction set. 10 Rev. A - May 7, 1999 TSC80251G2D Table 3. C251 Core SFRs Mnemonic Name Mnemonic Name ACC(1) Accumulator SPH(1) Stack Pointer High - MSB of SPX B(1) B Register DPL(1) Data Pointer Low byte - LSB of DPTR PSW Program Status Word DPH(1) Data Pointer High byte - MSB of DPTR PSW1 Program Status Word 1 DPXL(1) SP(1) Stack Pointer - LSB of SPX Data Pointer Extended Low byte of DPX - Region number Note: 1. These SFRs can also be accessed by their corresponding registers in the register file. Table 4. I/O Port SFRs Mnemonic Name Mnemonic Name P0 Port 0 P2 Port 2 P1 Port 1 P3 Port 3 Table 5. Timers SFRs Mnemonic Name Mnemonic Name TL0 Timer/Counter 0 Low Byte TMOD Timer/Counter 0 and 1 Modes TH0 Timer/Counter 0 High Byte T2CON Timer/Counter 2 Control TL1 Timer/Counter 1 Low Byte T2MOD Timer/Counter 2 Mode TH1 Timer/Counter 1 High Byte RCAP2L Timer/Counter 2 Reload/Capture Low Byte TL2 Timer/Counter 2 Low Byte RCAP2H Timer/Counter 2 Reload/Capture High Byte TH2 Timer/Counter 2 High Byte WDTRST WatchDog Timer Reset TCON Timer/Counter 0 and 1 Control Table 6. Serial I/O Port SFRs Mnemonic Name Mnemonic Name SCON Serial Control SADDR Slave Address SBUF Serial Data Buffer BRL Baud Rate Reload SADEN Slave Address Mask BDRCON Baud Rate Control Table 7. SSLC SFRs Mnemonic Name Mnemonic Name SSCON Synchronous Serial control SSADR Synchronous Serial Address SSDAT Synchronous Serial Data SSBR Synchronous Serial Bit Rate SSCS Synchronous Serial Control and Status Rev. A - May 7, 1999 11 TSC80251G2D Table 8. Event Waveform Control SFRs Mnemonic Name Mnemonic Name CCON EWC-PCA Timer/Counter Control CCAP0L EWC-PCA Compare Capture Module 0 Low Register CMOD EWC-PCA Timer/Counter Mode CCAP1L EWC-PCA Compare Capture Module 1 Low Register CL EWC-PCA Timer/Counter Low Register CCAP2L EWC-PCA Compare Capture Module 2 Low Register CH EWC-PCA Timer/Counter High Register CCAP3L EWC-PCA Compare Capture Module 3 Low Register CCAPM0 EWC-PCA Timer/Counter Mode 0 CCAP4L EWC-PCA Compare Capture Module 4 Low Register CCAPM1 EWC-PCA Timer/Counter Mode 1 CCAP0H EWC-PCA Compare Capture Module 0 High Register CCAPM2 EWC-PCA Timer/Counter Mode 2 CCAP1H EWC-PCA Compare Capture Module 1 High Register CCAPM3 EWC-PCA Timer/Counter Mode 3 CCAP2H EWC-PCA Compare Capture Module 2 High Register CCAPM4 EWC-PCA Timer/Counter Mode 4 CCAP3H EWC-PCA Compare Capture Module 3 High Register CCAP4H EWC-PCA Compare Capture Module 4 High Register Table 9. System Management SFRs Mnemonic Name Mnemonic Name PCON POWM Power Control CKRL Clock Reload Power Management WCON Synchronous Real-Time Wait State Control Table 10. Interrupt SFRs Mnemonic Name Mnemonic Name IE0 Interrupt Enable Control 0 IPL0 Interrupt Priority Control Low 0 IE1 Interrupt Enable Control 1 IPH1 Interrupt Priority Control High 1 IPH0 Interrupt Priority Control High 0 IPL1 Interrupt Priority Control Low 1 Table 11. Keyboard Interface SFRs Mnemonic Name Mnemonic Name P1IE Port 1 Input Interrupt Enable P1LS Port 1 Level Selection P1F Port 1 Flag 12 Rev. A - May 7, 1999 TSC80251G2D Table 12. SFR Addresses and Reset Values 0/8 F8h F0h 1/9 2/A 3/B 4/C 5/D 6/E CH 0000 0000 CCAP0H 0000 0000 CCAP1H 0000 0000 CCAP2H 0000 0000 CCAP3H 0000 0000 CCAP4H 0000 0000 7/F FFh B(1) 0000 0000 F7h CL 0000 0000 E8h E0h ACC(1) 0000 0000 D8h CCON 00X0 0000 CMOD 00XX X000 D0h PSW(1) 0000 0000 PSW1(1) 0000 0000 C8h T2CON 0000 0000 T2MOD XXXX XX00 CCAP0L 0000 0000 CCAP1L 0000 0000 CCAP2L 0000 0000 CCAP3L 0000 0000 CCAP4L 0000 0000 EFh E7h CCAPM0 X000 0000 CCAPM1 X000 0000 CCAPM2 X000 0000 CCAPM3 X000 0000 CCAPM4 X000 0000 DFh D7h RCAP2L 0000 0000 RCAP2H 0000 0000 TL2 0000 0000 TH2 0000 0000 CFh C0h C7h B8h IPL0 X000 0000 SADEN 0000 0000 B0h P3 1111 1111 IE1 XX0X XXX0 A8h IE0 0000 0000 SADDR 0000 0000 A0h P2 1111 1111 98h SCON 0000 0000 90h P1 1111 1111 88h TCON 0000 0000 80h SPH(1) 0000 0000 IPL1 XX0X XXX0 IPH1 XX0X XXX0 IPH0 X000 0000 B7h AFh WDTRST 1111 1111 SBUF XXXX XXXX BFh WCON XXXX XX00 A7h BRL 0000 0000 BDRCON XXX0 0000 P1LS 0000 0000 P1IE 0000 0000 P1F 0000 0000 9Fh SSBR 0000 0000 SSCON SSCS (2) (3) SSDAT 0000 0000 SSADR 0000 0000 97h TMOD 0000 0000 TL0 0000 0000 TL1 0000 0000 TH0 0000 0000 TH1 0000 0000 CKRL 0000 1000 POWM 8Fh 0XXX XXXX P0 1111 1111 SP(1) 0000 0111 DPL(1) 0000 0000 DPH(1) 0000 0000 DPXL(1) 0000 0001 0/8 1/9 2/A 3/B 4/C PCON 0000 0000 5/D 6/E 87h 7/F Reserved Notes: 1. These registers are described in the TSC80251 Programmer’s Guide (C251 core registers). 2. In I2C and SPI modes, SSCON is splitted in two separate registers. SSCON reset value is 0000 0000 in I2C mode and 0000 0100 in SPI mode. 3. In read and write modes, SSCS is splitted in two separate registers. SSCS reset value is 1111 1000 in read mode and 0000 0000 in write mode. Rev. A - May 7, 1999 13 TSC80251G2D 6.4 Configuration Bytes The TSC80251G2D derivatives provide user design flexibility by configuring certain operating features at device reset. These features fall into the following categories: • external memory interface (Page mode, address bits, programmed wait states and the address range for RD#, WR#, and PSEN#) • source mode/binary mode opcodes • selection of bytes stored on the stack by an interrupt • mapping of the upper portion of on-chip code memory to region 00: Two user configuration bytes UCONFIG0 (see Figure 7) and UCONFIG1 (see Figure 8) provide the information. When EA# is tied to a low level, the configuration bytes are fetched from the external address space. The TSC80251G2D derivatives reserve the top eight bytes of the memory address space (FF:FFF8h-FF:FFFFh) for an external 8-byte configuration array. Only two bytes are actually used: UCONFIG0 at FF:FFF8h and UCONFIG1 at FF:FFF9h. For the mask ROM devices, configuration information is stored in on-chip memory (see ROM Verifying). When EA# is tied to a high level, the configuration information is retrieved from the on-chip memory instead of the external address space and there is no restriction in the usage of the external memory. UCONFIG0 Configuration Byte 0 7 6 5 4 3 2 1 0 - WSA1# WSA0# XALE# RD1 RD0 PAGE# SRC Bit Number Bit Mnemonic 7 - 6 WSA1# 5 WSA0# 4 XALE# 3 RD1 2 RD0 1 PAGE# 0 SRC Description Reserved Set this bit when writing to UCONFIG0. Wait State A bits Select the number of wait states for RD#, WR# and PSEN# signals for external memory accesses (all regions except 01:). WSA1# WSA0# Number of Wait States 0 0 3 0 1 2 1 0 1 1 1 0 Extend ALE bit Clear to extend the duration of the ALE pulse from TOSC to 3·TOSC. Set to minimize the duration of the ALE pulse to 1·TOSC. Memory Signal Select bits Specify a 18-bit, 17-bit or 16-bit external address bus and the usage of RD#, WR# and PSEN# signals (see Table 13). Page Mode Select bit(1) Clear to select the faster Page mode with A15:8/D7:0 on Port 2 and A7:0 on Port 0. Set to select the non-Page mode(2) with A15:8 on Port 2 and A7:0/D7:0 on Port 0. Source Mode/Binary Mode Select bit Clear to select the binary mode. Set to select the source mode. Notes: 1. UCONFIG0 is fetched twice so it can be properly read both in Page or Non-Page modes. If P2.1 is cleared during the first data fetch, a Page mode configuration is used, otherwise the subsequent fetches are performed in Non-Page mode. 2. This selection provides compatibility with the standard 80C51 hardware which is multiplexing the address LSB and the data on Port 0. Figure 7. Configuration Byte 0 14 Rev. A - May 7, 1999 TSC80251G2D UCONFIG1 Configuration Byte 1 7 6 5 4 3 2 1 0 CSIZE - - INTR WSB WSB1# WSB0# EMAP# Bit Number Bit Mnemonic CSIZE TSC87251G2D 7 TSC80251G2D TSC83251G2D Description bit(1) On-Chip Code Memory Size Clear to select 16 Kbytes of on-chip code memory (TSC87251G1D product). Set to select 32 Kbytes of on-chip code memory (TSC87251G2D product). Reserved Set this bit when writing to UCONFIG1. 6 - Reserved Set this bit when writing to UCONFIG1. 5 - Reserved Set this bit when writing to UCONFIG1. INTR Interrupt Mode bit(2) Clear so that the interrupts push two bytes onto the stack (the two lower bytes of the PC register). Set so that the interrupts push four bytes onto the stack (the three bytes of the PC register and the PSW1 register). 3 WSB Wait State B bit(3) Clear to generate one wait state for memory region 01:. Set for no wait states for memory region 01:. 2 WSB1# 1 WSB0# 4 0 EMAP# Wait State B bits Select the number of wait states for RD#, WR# and PSEN# signals for external memory accesses (only region 01:). WSB1# WSB0# Number of Wait States 0 0 3 0 1 2 1 0 1 1 1 0 On-Chip Code Memory Map bit Clear to map the upper 16 Kbytes of on-chip code memory (at FF:4000h-FF:7FFFh) to the data space (at 00:C000h-00:FFFFh). Set not to map the upper 16 Kbytes of on-chip code memory (at FF:4000h-FF:7FFFh) to the data space. Notes: 1. The CSIZE is only available on EPROM/OTPROM products. 2. Two or four bytes are transparently popped according to INTR when using the RETI instruction. INTR must be set if interrupts are used with code executing outside region FF:. 3. Use only for Step A compatibility; set this bit when WSB1:0# are used. Figure 8. Configuration Byte 1 Table 13. Address Ranges and Usage of RD#, WR# and PSEN# Signals RD1 RD0 P1.7 P3.7/RD# PSEN# WR# External Memory 0 0 A17 A16 Read signal for all external memory locations Write signal for all external memory locations 256 Kbytes 0 1 I/O pin A16 Read signal for all external memory locations Write signal for all external memory locations 128 Kbytes 1 0 I/O pin I/O pin Read signal for all external memory locations Write signal for all external memory locations 64 Kbytes 1 1 I/O pin Read signal for regions 00: and 01: Read signal for regions FE: and FF: Write signal for all external memory locations 2 × 64 Kbytes(1) Note: 1. This selection provides compatibility with the standard 80C51 hardware which has separate external memory spaces for data and code. Rev. A - May 7, 1999 15 TSC80251G2D 7. Instruction Set Summary This section contains tables that summarize the instruction set. For each instruction there is a short description, its length in bytes, and its execution time in states (one state time is equal to two system clock cycles). There are two concurrent processes limiting the effective instruction throughput: ● Instruction Fetch ● Instruction Execution Table 20 to Table 34 assume code executing from on-chip memory, then the CPU is fetching 16-bit at a time and this is never limiting the execution speed. If the code is fetched from external memory, a pre-fetch queue will store instructions ahead of execution to optimize the memory bandwidth usage when slower instructions are executed. However, the effective speed may be limited depending on the average size of instructions (for the considered section of the program flow). The maximum average instruction throughput is provided by Table 14 depending on the external memory configuration (from Page Mode to Non-Page Mode and the maximum number of wait states). If the average size of instructions is not an integer, the maximum effective throughput is found by pondering the number of states for the neighbor integer values. Table 14. Minimum Number of States per Instruction for given Average Sizes Average size of Instructions (bytes) Page Mode (states) Non-Page Mode (states) 0 Wait State 1 Wait State 2 Wait States 3 Wait States 4 Wait States 1 1 2 3 4 5 6 2 2 4 6 8 10 12 3 3 6 9 12 15 18 4 4 8 12 16 20 24 5 5 10 15 20 25 30 If the average execution time of the considered instructions is larger than the number of states given by Table 14, this larger value will prevail as the limiting factor. Otherwise, the value from Table 14 must be taken. This is providing a fair estimation of the execution speed but only the actual code execution can provide the final value. 7.1 Notation for Instruction Operands Table 15 to Table 19 provide notation for Instruction Operands. Table 15. Notation for Direct Addressing Direct Address Description C251 C51 dir8 A direct 8-bit address. This can be a memory address (00h-7Fh) or a SFR address (80hFFh). It is a byte (default), word or double word depending on the other operand. ✓ ✓ dir16 A 16-bit memory address (00:0000h-00:FFFFh) used in direct addressing. ✓ Table 16. Notation for Immediate Addressing Immediate Address Description C251 C51 ✓ #data An 8-bit constant that is immediately addressed in an instruction ✓ #data16 A 16-bit constant that is immediately addressed in an instruction ✓ #0data16 #1data16 A 32-bit constant that is immediately addressed in an instruction. The upper word is filled with zeros (#0data16) or ones (#1data16). ✓ #short A constant, equal to 1, 2, or 4, that is immediately addressed in an instruction. ✓ Rev. A - May 7, 1999 16 TSC80251G2D Table 17. Notation for Bit Addressing Direct Address Description bit51 A directly addressed bit (bit number= 00h-FFh) in memory or an SFR. Bits 00h-7Fh are the 128 bits in byte locations 20h-2Fh in the on-chip RAM. Bits 80h-FFh are the 128 bits in the 16 SFRs with addresses that end in 0h or 8h, S:80h, S:88h, S:90h,..., S:F0h, S:F8h. bit A directly addressed bit in memory locations 00:0020h-00:007Fh or in any defined SFR. C251 C51 ✓ ✓ Table 18. Notation for Destination in Control Instructions Direct Address Description C251 C51 rel A signed (two’s complement) 8-bit relative address. The destination is -128 to +127 bytes relative to the next instruction’s first byte. ✓ ✓ addr11 An 11-bit target address. The target is in the same 2-Kbyte block of memory as the next instruction’s first byte. ✓ addr16 A 16-bit target address. The target can be anywhere within the same 64-Kbyte region as the next instruction’s first byte. ✓ addr24 A 24-bit target address. The target can be anywhere within the 16-Mbyte address space. ✓ Table 19. Notation for Register Operands Register Description C251 C51 @Ri A memory location (00h-FFh) addressed indirectly via byte registers R0 or R1 ✓ Rn n Byte register R0-R7 of the currently selected register bank Byte register index: n= 0-7 ✓ Rm Rmd Rms m, md, ms Byte register R0-R15 of the currently selected register file Destination register Source register Byte register index: m, md, ms= 0-15 WRj WRjd WRjs @WRj Word register WR0, WR2, ..., WR30 of the currently selected register file Destination register Source register A memory location (00:0000h-00:FFFFh) addressed indirectly through word register WR0WR30, is the target address for jump instructions. A memory location (00:0000h-00:FFFFh) addressed indirectly through word register (WR0WR30) + 16-bit signed (two’s complement) displacement value Word register index: j, jd, js= 0-30 @WRj +dis16 j, jd, js DRk DRkd DRks @DRk @DRk +dis16 k, kd, ks 17 Dword register DR0, DR4, ..., DR28, DR56, DR60 of the currently selected register file Destination register Source register A memory location (00:0000h-FF:FFFFh) addressed indirectly through dword register DR0DR28, DR56 and DR60, is the target address for jump instruction A memory location (00:0000h-FF:FFFFh) addressed indirectly through dword register (DR0DR28, DR56, DR60) + 16-bit (two’s complement) signed displacement value Dword register index: k, kd, ks= 0, 4, 8..., 28, 56, 60 ✓ ✓ ✓ Rev. A - May 7, 1999 TSC80251G2D 7.2 Size and Execution Time for Instruction Families Table 20. Summary of Add and Subtract Instructions Add Subtract Add with Carry Subtract with Borrow Mnemonic ADD ADD / SUB ADDC / SUBB dest opnd ← dest opnd + src opnd dest opnd ← dest opnd - src opnd (A) ← (A) + src opnd + (CY) (A) ← (A) - src opnd - (CY) ADD <dest>, <src> SUB <dest>, <src> ADDC <dest>, <src> SUBB <dest>, <src> <dest>, <src>(1) Binary Mode Source Mode Bytes Bytes Comments States States A, Rn Register to ACC 1 1 2 2 A, dir8 Direct address to ACC 2 1(2) 2 1(2) A, @Ri Indirect address to ACC 1 2 2 3 A, #data Immediate data to ACC 2 1 2 1 Rmd, Rms Byte register to/from byte register 3 2 2 1 WRjd, WRjs Word register to/from word register 3 3 2 2 DRkd, DRks Dword register to/from dword register 3 5 2 4 Rm, #data Immediate 8-bit data to/from byte register 4 3 3 2 WRj, #data16 Immediate 16-bit data to/from word register 5 4 4 3 DRk, #0data16 16-bit unsigned immediate data to/from dword register 5 6 4 5 3 2(2) Rm, dir8 Direct address (on-chip RAM or SFR) to/from byte register 4 3(2) WRj, dir8 Direct address (on-chip RAM or SFR) to/from word register 4 4 3 3 4 2(3) Rm, dir16 Direct address (64K) to/from byte register 5 3(3) WRj, dir16 Direct address (64K) to/from word register 5 4(4) 4 3(4) 3 2(3) Rm, @WRj Indirect address (64K) to/from byte register 4 3(3) Rm, @DRk Indirect address (16M) to/from byte register 4 4(3) 3 3(3) A, Rn Register to/from ACC with carry 1 1 2 2 A, dir8 Direct address (on-chip RAM or SFR) to/from ACC with carry 2 1(2) 2 1(2) A, @Ri Indirect address to/from ACC with carry 1 2 2 3 A, #data Immediate data to/from ACC with carry 2 1 2 1 Notes: 1. A shaded cell denotes an instruction in the C51 Architecture. 2. If this instruction addresses an I/O Port (Px, x= 0-3), add 1 to the number of states. Add 2 if it addresses a Peripheral SFR. 3. If this instruction addresses external memory location, add N+2 to the number of states (N: number of wait states). 4. If this instruction addresses external memory location, add 2(N+2) to the number of states (N: number of wait states). Rev. A - May 7, 1999 18 TSC80251G2D Table 21. Summary of Increment and Decrement Instructions Increment Increment Decrement Decrement Mnemonic INC DEC INC <dest> INC <dest>, <src> DEC <dest> DEC <dest>, <src> <dest>, <src>(1) dest dest dest dest opnd opnd opnd opnd ← ← ← ← dest dest dest dest opnd opnd opnd opnd +1 + src opnd -1 - src opnd Binary Mode Source Mode Bytes States Bytes States Comments A ACC by 1 1 1 1 1 Rn Register by 1 1 1 2 2 2 2(2) dir8 Direct address (on-chip RAM or SFR) by 1 2 2(2) @Ri Indirect address by 1 1 3 2 4 INC DEC Rm, #short Byte register by 1, 2, or 4 3 2 2 1 WRj, #short Word register by 1, 2, or 4 3 2 2 1 INC DRk, #short Double word register by 1, 2, or 4 3 4 2 3 DEC DRk, #short Double word register by 1, 2, or 4 3 5 2 4 INC DPTR Data pointer by 1 1 1 1 1 Notes: 1. A shaded cell denotes an instruction in the C51 Architecture. 2. If this instruction addresses an I/O Port (Px, x= 0-3), add 2 to the number of states. Add 3 if it addresses a Peripheral SFR. Table 22. Summary of Compare Instructions Compare Mnemonic CMP CMP <dest>, <src> <dest>, <src>(2) dest opnd - src opnd Binary Mode Source Mode Bytes States Bytes States Comments Rmd, Rms Register with register 3 2 2 1 WRjd, WRjs Word register with word register 3 3 2 2 DRkd, DRks Dword register with dword register 3 5 2 4 Rm, #data Register with immediate data 4 3 3 2 WRj, #data16 Word register with immediate 16-bit data 5 4 4 3 DRk, #0data16 Dword register with zero-extended 16-bit immediate data 5 6 4 5 DRk, #1data16 Dword register with one-extended 16-bit immediate data 5 6 4 5 Rm, dir8 Direct address (on-chip RAM or SFR) with byte register 4 3(1) 3 2(1) WRj, dir8 Direct address (on-chip RAM or SFR) with word register 4 4 3 3 Rm, dir16 Direct address (64K) with byte register 5 3(2) 4 2(2) WRj, dir16 Direct address (64K) with word register 5 4(3) 4 3(3) Rm, @WRj Indirect address (64K) with byte register 4 3(2) 3 2(2) 4 4(2) 3 3(2) Rm, @DRk Indirect address (16M) with byte register Notes: 1. If this instruction addresses an I/O Port (Px, x= 0-3), add 1 to the number of states. Add 2 if it addresses a Peripheral SFR. 2. If this instruction addresses external memory location, add N+2 to the number of states (N: number of wait states). 3. If this instruction addresses external memory location, add 2(N+2) to the number of states (N: number of wait states). 19 Rev. A - May 7, 1999 TSC80251G2D Table 23. Summary of Logical Instructions (1/2) Logical AND(1) Logical OR(1) Logical Exclusive OR(1) Clear(1) Complement(1) Rotate Left ANL <dest>, <src> ORL <dest>, <src> XRL <dest>, <src> CLR A CPL A RL A Rotate Left Carry RLC A Rotate Right RR A Rotate Right Carry RRC A Mnemonic <dest>, <src>(1) A, Rn ANL ORL XRL dest opnd ← dest opnd Λ src opnd dest opnd ← dest opnd ς src opnd dest opnd ← dest opnd ∀ src opnd (A) ← 0 (A) ← ∅ (A) (A)n+1 ← (A)n, n= 0..6 (A)0 ← (A)7 (A)n+1 ← (A)n, n= 0..6 (CY) ← (A)7 (A)0 ← (CY) (A)n-1 ← (A)n, n= 7..1 (A)7 ← (A)0 (A)n-1 ← (A)n, n= 7..1 (CY) ← (A)0 (A)7 ← (CY) Binary Mode Source Mode Bytes States Bytes States 1 1 2 2 2 1(3) 2 3 Comments register to ACC A, dir8 Direct address (on-chip RAM or SFR) to ACC 2 1(3) A, @Ri Indirect address to ACC 1 2 A, #data Immediate data to ACC 2 1 2 1 dir8, A ACC to direct address 2 2(4) 2 2(4) dir8, #data Immediate 8-bit data to direct address 3 3(4) 3 3(4) Rmd, Rms Byte register to byte register 3 2 2 1 WRjd, WRjs Word register to word register 3 3 2 2 Rm, #data Immediate 8-bit data to byte register 4 3 3 2 WRj, #data16 Immediate 16-bit data to word register 5 4 4 3 Rm, dir8 Direct address (on-chip RAM or SFR) to byte register 4 3(3) 3 2(3) WRj, dir8 Direct address (on-chip RAM or SFR) to word register 4 4 3 3 Rm, dir16 Direct address (64K) to byte register 5 3(5) 4 2(5) WRj, dir16 Direct address (64K) to word register 5 4(6) 4 3(6) Rm, @WRj Indirect address (64K) to byte register 4 3(5) 3 2(5) 3 3(5) 1 1 Rm, @DRk Indirect address (16M) to byte register 4 4(5) CLR A Clear ACC 1 1 CPL A Complement ACC 1 1 1 1 RL A Rotate ACC left 1 1 1 1 RLC A Rotate ACC left through CY 1 1 1 1 RR A Rotate ACC right 1 1 1 1 RRC A Rotate ACC right through CY 1 1 1 1 Notes: 1. Logical instructions that affect a bit are in Table 29. 2. A shaded cell denotes an instruction in the C51 Architecture. 3. If this instruction addresses an I/O Port (Px, x= 0-3), add 1 to the number of states. Add 2 if it addresses a Peripheral SFR. 4. If this instruction addresses an I/O Port (Px, x= 0-3), add 2 to the number of states. Add 3 if it addresses a Peripheral SFR. 5. If this instruction addresses external memory location, add N+2 to the number of states (N: number of wait states). 6. If this instruction addresses external memory location, add 2(N+2) to the number of states (N: number of wait states). Rev. A - May 7, 1999 20 TSC80251G2D Table 24. Summary of Logical Instructions (2/2) Shift Left Logical SLL <dest> Shift Right Arithmetic SRA <dest> Shift Right Logical SRL <dest> Swap SWAP A Mnemonic SLL SRA SRL SWAP <dest>, <src>(1) <dest>0 ← 0 <dest>n+1 ← <dest>n, n= 0..msb-1 (CY) ← <dest>msb <dest>msb ← <dest>msb <dest>n-1 ← <dest>n, n= msb..1 (CY) ← <dest>0 <dest>msb ← 0 <dest>n-1 ← <dest>n, n= msb..1 (CY) ← <dest>0 A3:0 A7:4 Binary Mode Source Mode Bytes Bytes Comments States States Rm Shift byte register left through the MSB 3 2 2 1 WRj Shift word register left through the MSB 3 2 2 1 Rm Shift byte register right 3 2 2 1 WRj Shift word register right 3 2 2 1 Rm Shift byte register left 3 2 2 1 WRj Shift word register left 3 2 2 1 A Swap nibbles within ACC 1 2 1 2 Note: 1. A shaded cell denotes an instruction in the C51 Architecture. Table 25. Summary of Multiply, Divide and Decimal-adjust Instructions Multiply Divide MUL AB MUL <dest>, <src> DIV AB Divide DIV <dest>, <src> Decimal-adjust ACC for Addition (BCD) DA A Mnemonic MUL DIV DA <dest>, <src>(1) (B:A) ← (A)×(B) extended dest opnd ← dest opnd × src opnd (A) ← Quotient ((A) ⁄ (B)) (B) ← Remainder ((A) ⁄ (B)) ext. dest opnd high ← Quotient (dest opnd ⁄ src opnd) ext. dest opnd low ← Remainder (dest opnd ⁄ src opnd) IF [[(A)3:0 > 9] ∨ [(AC)= 1]] THEN (A)3:0 ← (A)3:0 + 6 !affects CY; IF [[(A)7:4 > 9] ∨ [(CY)= 1]] THEN (A)7:4 ← (A)7:4 + 6 Binary Mode Source Mode Bytes States Bytes States Comments AB Multiply A and B 1 5 1 5 Rmd, Rms Multiply byte register and byte register 3 6 2 5 WRjd, WRjs Multiply word register and word register 3 12 2 11 AB Divide A and B 1 10 1 10 Rmd, Rms Divide byte register and byte register 3 11 2 10 WRjd, WRjs Divide word register and word register 3 21 2 20 A Decimal adjust ACC 1 1 1 1 Note: 1. A shaded cell denotes an instruction in the C51 Architecture. 21 Rev. A - May 7, 1999 TSC80251G2D Table 26. Summary of Move Instructions (1/3) Move Move Move Move Move to High word with Sign extension with Zero extension Code eXtended Mnemonic dest opnd31:16 ← src opnd dest opnd ← src opnd with sign extend dest opnd ← src opnd with zero extend (A) ← src opnd dest opnd ← src opnd MOVH <dest>, <src> MOVS <dest>, <src> MOVZ <dest>, <src> MOVC A, <src> MOVX <dest>, <src> <dest>, <src>(2) Binary Mode Source Mode Bytes States Bytes States 5 3 4 2 Comments MOVH DRk, #data16 16-bit immediate data into upper word of dword register MOVS WRj, Rm Byte register to word register with sign extension 3 2 2 1 MOVZ WRj, Rm Byte register to word register with zeros extension 3 2 2 1 A, @A +DPTR Code byte relative to DPTR to ACC 1 6(3) 1 6(3) A, @A +PC Code byte relative to PC to ACC 1 6(3) 1 6(3) MOVC MOVX ACC(2) A, @Ri Extended memory (8-bit address) to 1 4 1 5 A, @DPTR Extended memory (16-bit address) to ACC(2) 1 3(4) 1 3(4) @Ri, A ACC to extended memory (8-bit address)(2) 1 4 1 4 @DPTR, A ACC to extended memory (16-bit address)(2) 1 4(3) 1 4(3) Notes: 1. A shaded cell denotes an instruction in the C51 Architecture. 2. Extended memory addressed is in the region specified by DPXL (reset value= 01h). 3. If this instruction addresses external memory location, add N+1 to the number of states (N: number of wait states). 4. If this instruction addresses external memory location, add N+2 to the number of states (N: number of wait states). Table 27. Summary of Move Instructions (2/3) Move(1) Mnemonic <dest>, <src>(2) A, Rn MOV dest opnd ← src opnd MOV <dest>, <src> Binary Mode Source Mode Bytes States Bytes States 1 1 2 2 2 1(3) Comments Register to ACC A, dir8 Direct address (on-chip RAM or SFR) to ACC 2 1(3) A, @Ri Indirect address to ACC 1 2 2 3 A, #data Immediate data to ACC 2 1 2 1 Rn, A ACC to register 1 1 2 2 3 2(3) Rn, dir8 Direct address (on-chip RAM or SFR) to register 2 1(3) Rn, #data Immediate data to register 2 1 3 2 2 2(3) dir8, A ACC to direct address (on-chip RAM or SFR) 2 2(3) dir8, Rn Register to direct address (on-chip RAM or SFR) 2 2(3) 3 3(3) 3 3(4) dir8, dir8 Direct address to direct address (on-chip RAM or SFR) 3 3(4) dir8, @Ri Indirect address to direct address (on-chip RAM or SFR) 2 3(3) 3 4(3) 3 3(3) dir8, #data Immediate data to direct address (on-chip RAM or SFR) 3 3(3) @Ri, A ACC to indirect address 1 3 2 4 3 4(3) @Ri, dir8 Direct address (on-chip RAM or SFR) to indirect address 2 3(3) @Ri, #data Immediate data to indirect address 2 3 3 4 DPTR, #data16 Load Data Pointer with a 16-bit constant 3 2 3 2 Notes: 1. Instructions that move bits are in Table 29. 2. Move instructions from the C51 Architecture. 3. If this instruction addresses an I/O Port (Px, x= 0-3), add 1 to the number of states. Add 2 if it addresses a Peripheral SFR. 4. Apply note 3 for each dir8 operand. Rev. A - May 7, 1999 22 TSC80251G2D Table 28. Summary of Move Instructions (3/3) Move(1) Mnemonic <dest>, <src>(1) Binary Mode Source Mode Bytes Bytes Comments States States Rmd, Rms Byte register to byte register 3 2 2 1 WRjd, WRjs Word register to word register 3 2 2 1 DRkd, DRks Dword register to dword register 3 3 2 2 Rm, #data Immediate 8-bit data to byte register 4 3 3 2 WRj, #data16 Immediate 16-bit data to word register 5 3 4 2 DRk, #0data16 zero-ext 16bit immediate data to dword register 5 5 4 4 DRk, #1data16 one-ext 16bit immediate data to dword register 5 5 4 4 Rm, dir8 Direct address (on-chip RAM or SFR) to byte register 4 3(3) 3 2(3) WRj, dir8 Direct address (on-chip RAM or SFR) to word register 4 4 3 3 DRk, dir8 Direct address (on-chip RAM or SFR) to dword register 4 6 3 5 5 (4) 4 2(4) (5) Rm, dir16 MOV dest opnd ← src opnd MOV <dest>, <src> Direct address (64K) to byte register 3 WRj, dir16 Direct address (64K) to word register 5 4 4 3(5) DRk, dir16 Direct address (64K) to dword register 5 6(6) 4 5(6) (4) Rm, @WRj Indirect address (64K) to byte register 4 3 3 2(4) Rm, @DRk Indirect address (16M) to byte register 4 4(4) 3 3(4) (5) WRjd, @WRjs Indirect address (64K) to word register 4 4 3 3(5) WRj, @DRk Indirect address (16M) to word register 4 5(5) 3 4(5) (3) 3 3(3) dir8, Rm Byte register to direct address (on-chip RAM or SFR) 4 dir8, WRj Word register to direct address (on-chip RAM or SFR) 4 5 3 4 dir8, DRk Dword register to direct address (on-chip RAM or SFR) 4 7 3 6 5 (4) 4 3(4) (5) dir16, Rm Byte register to direct address (64K) 4 4 dir16, WRj Word register to direct address (64K) 5 5 4 4(5) dir16, DRk Dword register to direct address (64K) 5 7(6) 4 6(6) (4) @WRj, Rm Byte register to indirect address (64K) 4 4 3 3(4) @DRk, Rm Byte register to indirect address (16M) 4 5(4) 3 4(4) 3 4(5) @WRjd, WRjs Word register to indirect address (64K) 4 5(5) @DRk, WRj Word register to indirect address (16M) 4 6(5) 3 5(5) 5 6(4) 4 5(4) 5 7(5) 4 6(5) 5 7(4) 4 6(4) 5 8(5) 4 7(5) 5 6(4) 4 5(4) 5 7(5) 4 6(5) 5 7(4) 4 6(4) 5 8(5) 4 7(5) Rm, @WRj +dis16 Indirect with 16-bit displacement (64K) to byte register WRj, @WRj +dis16 Indirect with 16-bit displacement (64K) to word register Rm, @DRk +dis24 Indirect with 16-bit displacement (16M) to byte register WRj, @WRj +dis24 Indirect with 16-bit displacement (16M) to word register @WRj +dis16, Rm Byte register to indirect with 16-bit displacement (64K) @WRj +dis16, WRj Word register to indirect with 16-bit displacement (64K) @DRk +dis24, Rm Byte register to indirect with 16-bit displacement (16M) @DRk +dis24, WRj Word register to indirect with 16-bit displacement (16M) Notes: 1. Instructions that move bits are in Table 29. 2. Move instructions unique to the C251 Architecture. 3. If this instruction addresses an I/O Port (Px, x= 0-3), add 1 to the number of states. Add 2 if it addresses a Peripheral SFR. 4. If this instruction addresses external memory location, add N+2 to the number of states (N: number of wait states). 5. If this instruction addresses external memory location, add 2(N+1) to the number of states (N: number of wait states). 6. If this instruction addresses external memory location, add 4(N+2) to the number of states (N: number of wait states). 23 Rev. A - May 7, 1999 TSC80251G2D Table 29. Summary of Bit Instructions Clear Bit Set Bit Complement Bit AND Carry with Bit AND Carry with Complement of Bit OR Carry with Bit OR Carry with Complement of Bit Move Bit to Carry Move Bit from Carry Mnemonic <dest>, <src>(1) CY CLR SETB CPL ANL ORL MOV dest opnd ← 0 dest opnd ← 1 dest opnd ← ∅ bit (CY) ← (CY) ∧ src opnd (CY) ← (CY) ∧ ∅ src opnd (CY) ← (CY) ∨ src opnd (CY) ← (CY) ∨ ∅ src opnd (CY) ← src opnd dest opnd ← (CY) CLR <dest> SETB <dest> CPL <dest> ANL CY, <src> ANL CY, /<src> ORL CY, <src> ORL CY, /<src> MOV CY, <src> MOV <dest>, CY Binary Mode Source Mode Bytes States Bytes States 1 1 1 1 2 2(3) 3 3(3) Comments Clear carry bit51 Clear direct bit 2 2(3) bit Clear direct bit 4 4(3) CY Set carry 1 1 1 1 bit51 Set direct bit 2 2(3) 2 2(3) bit Set direct bit 4 4(3) 3 3(3) CY Complement carry 1 1 1 1 2 2(3) bit51 Complement direct bit 2 2(3) bit Complement direct bit 4 4(3) 3 3(3) 2 1(2) CY, bit51 And direct bit to carry 2 1(2) CY, bit And direct bit to carry 4 3(2) 3 2(2) 2 1(2) CY, /bit51 And complemented direct bit to carry 2 1(2) CY, /bit And complemented direct bit to carry 4 3(2) 3 2(2) 2 1(2) CY, bit51 Or direct bit to carry 2 1(2) CY, bit Or direct bit to carry 4 3(2) 3 2(2) 2 1(2) CY, /bit51 Or complemented direct bit to carry 2 1(2) CY, /bit Or complemented direct bit to carry 4 3(2) 3 2(2) 2 1(2) CY, bit51 Move direct bit to carry 2 1(2) CY, bit Move direct bit to carry 4 3(2) 3 2(2) 2 2(3) 3 3(3) bit51, CY Move carry to direct bit 2 2(3) bit, CY Move carry to direct bit 4 4(3) Notes: 1. A shaded cell denotes an instruction in the C51 Architecture. 2. If this instruction addresses an I/O Port (Px, x= 0-3), add 1 to the number of states. Add 2 if it addresses a Peripheral SFR. 3. If this instruction addresses an I/O Port (Px, x= 0-3), add 2 to the number of states. Add 3 if it addresses a Peripheral SFR. Rev. A - May 7, 1999 24 TSC80251G2D Table 30. Summary of Exchange, Push and Pop Instructions Exchange bytes Exchange Digit Push XCH A, <src> XCHD A, <src> PUSH <src> Pop POP <dest> Mnemonic <dest>, <src>(1) A, Rn XCH XCHD PUSH POP (A) ↔ src opnd (A)3:0 ↔ src opnd3:0 (SP) ← (SP) +1; ((SP)) ← src opnd; (SP) ← (SP) + size (src opnd) - 1 (SP) ← (SP) - size (dest opnd) + 1; dest opnd ← ((SP)); (SP) ← (SP) -1 Binary Mode Source Mode Bytes States Bytes States 1 3 2 4 (3) 2 3(3) 4 2 5 Comments ACC and register A, dir8 ACC and direct address (on-chip RAM or SFR) 2 3 A, @Ri ACC and indirect address 1 A, @Ri ACC low nibble and indirect address (256 bytes) 1 4 2 5 dir8 Push direct address onto stack 2 2(2) 2 2(2) #data Push immediate data onto stack 4 4 3 3 #data16 Push 16-bit immediate data onto stack 5 5 4 5 Rm Push byte register onto stack 3 4 2 3 WRj Push word register onto stack 3 5 2 4 DRk Push double word register onto stack 3 9 2 8 dir8 Pop direct address (on-chip RAM or SFR) from stack 2 3(2) 2 3(2) Rm Pop byte register from stack 3 3 2 2 WRj Pop word register from stack 3 5 2 4 DRk Pop double word register from stack 3 9 2 8 Notes: 1. A shaded cell denotes an instruction in the C51 Architecture. 2. If this instruction addresses an I/O Port (Px, x= 0-3), add 1 to the number of states. Add 2 if it addresses a Peripheral SFR. 3. If this instruction addresses an I/O Port (Px, x= 0-3), add 2 to the number of states. Add 3 if it addresses a Peripheral SFR. Table 31. Summary of Conditional Jump Instructions (1/2) Jump conditional on status Mnemonic JC <dest>, <src>(1) rel (PC) ← (PC) + size (instr); IF [cc] THEN (PC) ← (PC) + rel Jcc rel Binary Mode Source Mode Bytes States Bytes States 2 1/4(3) 2 1/4(3) 2 1/4(3) Comments Jump if carry JNC rel Jump if not carry 2 1/4(3) JE rel Jump if equal 3 2/5(3) 2 1/4(3) 2 1/4(3) JNE rel Jump if not equal 3 2/5(3) JG rel Jump if greater than 3 2/5(3) 2 1/4(3) 2 1/4(3) JLE rel Jump if less than, or equal 3 2/5(3) JSL rel Jump if less than (signed) 3 2/5(3) 2 1/4(3) 2 1/4(3) JSLE rel Jump if less than, or equal (signed) 3 2/5(3) JSG rel Jump if greater than (signed) 3 2/5(3) 2 1/4(3) 3 2/5(3) 2 1/4(3) JSGE rel Jump if greater than or equal (signed) Notes: 1. A shaded cell denotes an instruction in the C51 Architecture. 2. States are given as jump not-taken/taken. 3. In internal execution only, add 1 to the number of states of the ‘jump taken’ if the destination address is internal and odd. 25 Rev. A - May 7, 1999 TSC80251G2D Table 32. Summary of Conditional Jump Instructions (2/2) Jump if bit JB <src>, rel Jump if not bit JNB <src>, rel Jump if bit and clear JBC <dest>, rel Jump if accumulator is zero JZ rel Jump if accumulator is not zero JNZ rel Compare and jump if not equal CJNE <src1>, <src2>, rel Decrement and jump if not zero DJNZ <dest>, rel Mnemonic JB JNB JBC <dest>, <src>(1) (PC) ← (PC) + size (instr); IF [src opnd= 1] THEN (PC) ← (PC) + rel (PC) ← (PC) + size (instr); IF [src opnd= 0] THEN (PC) ← (PC) + rel (PC) ← (PC) + size (instr); IF [dest opnd= 1] THEN dest opnd ← 0 (PC) ← (PC) + rel (PC) ← (PC) + size (instr); IF [(A)= 0] THEN (PC) ← (PC) + rel (PC) ← (PC) + size (instr); IF [(A) ≠ 0] THEN (PC) ← (PC) + rel (PC) ← (PC) + size (instr); IF [src opnd1 < src opnd2] THEN (CY) ← 1 IF [src opnd1 ≥ src opnd2] THEN (CY) ← 0 IF [src opnd1 ≠ src opnd2] THEN (PC) ← (PC) + rel (PC) ← (PC) + size (instr); dest opnd ← dest opnd -1; IF [ϕ (Z)] THEN (PC) ← (PC) + rel Binary Mode(2) Source Mode(2) Bytes States Bytes States 3 2/5(3)(6) Comments bit51, rel Jump if direct bit is set 3 2/5(3)(6) bit, rel Jump if direct bit of 8-bit address location is set 5 4/7(3)(6) 4 3/6(3)(6) 3 2/5(3)(6) bit51, rel Jump if direct bit is not set 3 2/5(3)(6) bit, rel Jump if direct bit of 8-bit address location is not set 5 4/7(3)(6) 4 3/6(3) 3 4/7(5)(6) bit51, rel Jump if direct bit is set & clear bit 3 4/7(5)(6) bit, rel Jump if direct bit of 8-bit address location is set and clear 5 7/10(5)(6) 4 6/9(5)(6) 2 2/5(6) JZ rel Jump if ACC is zero 2 2/5(6) JNZ rel Jump if ACC is not zero 2 2/5(6) 2 2/5(6) 3 2/5(3)(6) CJNE DJNZ A, dir8, rel Compare direct address to ACC and jump if not equal 3 2/5(3)(6) A, #data, rel Compare immediate to ACC and jump if not equal 3 2/5(6) 3 2/5(6) 4 3/6(6) Rn, #data, rel Compare immediate to register and jump if not equal 3 2/5(6) @Ri, #data, rel Compare immediate to indirect and jump if not equal 3 3/6(6) 4 4/7(6) 3 3/6(6) 3 3/6(4)(6) Rn, rel Decrement register and jump if not zero 2 2/5(6) dir8, rel Decrement direct address and jump if not zero 3 3/6(4)(6) Notes: 1. A shaded cell denotes an instruction in the C51 Architecture. 2. States are given as jump not-taken/taken. 3. If this instruction addresses an I/O Port (Px, x= 0-3), add 1 to 4. If this instruction addresses an I/O Port (Px, x= 0-3), add 2 to 5. If this instruction addresses an I/O Port (Px, x= 0-3), add 3 to 6. In internal execution only, add 1 to the number of states of the Rev. A - May 7, 1999 the number of states. Add 2 if the number of states. Add 3 if the number of states. Add 5 if ‘jump taken’ if the destination it addresses a Peripheral SFR. it addresses a Peripheral SFR. it addresses a Peripheral SFR. address is internal and odd. 26 TSC80251G2D Table 33. Summary of unconditional Jump Instructions Absolute jump Extended jump Long jump Short jump Jump indirect No operation Mnemonic AJMP EJMP LJMP SJMP JMP (PC) ← (PC) +2; (PC)10:0 ← src opnd (PC) ← (PC) + size (instr); (PC)23:0 ← src opnd (PC) ← (PC) + size (instr); (PC)15:0 ← src opnd (PC) ← (PC) +2; (PC) ← (PC) +rel (PC)23:16 ← FFh; (PC)15:0 ← (A) + (DPTR) (PC) ← (PC) +1 AJMP <src> EJMP <src> LJMP <src> SJMP rel JMP @A +DPTR NOP <dest>, <src>(1) Binary Mode Source Mode Bytes States Bytes States 2 3(2)(3) Comments addr11 Absolute jump 2 3(2)(3) addr24 Extended jump 5 6(2)(4) 4 5(2)(4) 2 6(2)(4) @DRk Extended jump (indirect) 3 7(2)(4) @WRj Long jump (indirect) 3 6(2)(4) 2 5(2)(4) 3 5(2)(4) addr16 Long jump (direct address) 3 5(2)(4) rel Short jump (relative address) 2 4(2)(4) 2 4(2)(4) Jump indirect relative to the DPTR 1 5(2)(4) 1 5(2)(4) No operation (Jump never) 1 1 1 1 @A +DPTR NOP Notes: 1. A shaded cell denotes an instruction in the C51 Architecture. 2. In internal execution only, add 1 to the number of states if the destination address is internal and odd. 3. Add 2 to the number of states if the destination address is external. 4. Add 3 to the number of states if the destination address is external. Table 34. Summary of Call and Return Instructions Absolute call ACALL <src> Extended call ECALL <src> Long call LCALL <src> Return from subroutine Extended return from subroutine Return from interrupt RET ERET RETI Trap interrupt TRAP Mnemonic ACALL ECALL LCALL RET <dest>, <src>(1) (PC) ← (PC) +2; push (PC)15:0; (PC)10:0 ← src opnd (PC) ← (PC) + size (instr); push (PC)23:0; (PC)23:0 ← src opnd (PC) ← (PC) + size (instr); push (PC)15:0; (PC)15:0 ← src opnd pop (PC)15:0 pop (PC)23:0 IF [INTR= 0] THEN pop (PC)15:0 IF [INTR= 1] THEN pop (PC)23:0; pop (PSW1) (PC) ← (PC) + size (instr); IF [INTR= 0] THEN push (PC)15:0 IF [INTR= 1] THEN push (PSW1); push (PC)23:0 Binary Mode Source Mode Bytes States Bytes States 2 9(2)(3) Comments addr11 Absolute subroutine call 2 9(2)(3) @DRk Extended subroutine call (indirect) 3 14(2)(3) 2 13(2)(3) 4 13(2)(3) addr24 Extended subroutine call 5 14(2)(3) @WRj Long subroutine call (indirect) 3 10(2)(3) 2 9(2)(3) Long subroutine call 3 9(2)(3) 3 9(2)(3) Return from subroutine 1 7(2) 1 7(2) 2 8(2) addr16 ERET Extended subroutine return 3 9(2) RETI Return from interrupt 1 7(2)(4) 1 7(2)(4) 2 12(4) 1 11(4) TRAP Jump to the trap interrupt vector Notes: 1. A shaded cell denotes an instruction in the C51 Architecture. 2. In internal execution only, add 1 to the number of states if the destination/return address is internal and odd. 3. Add 2 to the number of states if the destination address is external. 4. Add 5 to the number of states if INTR= 1. 27 Rev. A - May 7, 1999 TSC80251G2D 8. Programming and Verifying Non-Volatile Memory 8.1 Internal Features The internal non-volatile memory of the TSC80251G2D derivatives contains five different areas: ● Code Memory ● Configuration Bytes ● Lock Bits ● Encryption Array ● Signature Bytes 8.1.1 EPROM/OTPROM Devices All the internal non-volatile memory but the Signature Bytes of the TSC87251G2D products is made of EPROM cells. The Signature Bytes of the TSC87251G2D products are made of Mask ROM. The TSC87251G2D products are programmed and verified in the same manner as TEMIC’s TSC87251G1A, using a SINGLE-PULSE algorithm, which programs at VPP= 12.75V using only one 100 µs pulse per byte. This results in a programming time of less than 10 seconds for the 32 Kbytes on-chip code memory. The EPROM of the TSC87251G2D products in Window package is erasable by Ultra-Violet radiation(1) (UV). UV erasure set all the EPROM memory cells to one and allows a reprogramming. The quartz window must be covered with an opaque label(2) when the device is in operation. This is not so much to protect the EPROM array from inadvertent erasure, as to protect the RAM and other on-chip logic. Allowing light to impinge on the silicon die during device operation may cause a logical malfunction. The TSC87251G2D products in plastic packages are One Time Programmable (OTP). Then an EPROM cell cannot be reset by UV once programmed to zero. Notes: 1. The recommended erasure procedure is exposure to ultra-violet light (at 2537 Å) to an integrated dose of at least 20 W-sec/cm2. Exposing the EPROM to an ultra-violet lamp of 12000 µW/cm2 rating for 30 minutes should be sufficient. 2. Erasure of the EPROM begins to occur when the chip is exposed to light wavelength shorter than 4000 Å. Since sunlight and fluorescent light have wavelength in this range, exposure to these light sources over an extended time (1 week in sunlight or 3 years in room-level fluorescent lighting) could cause inadvertent erasure. 8.1.2 Mask ROM Devices All the internal non-volatile memory of TSC83251G2D products is made of Mask ROM cells. They can only be verified by the user, using the same algorithm as the EPROM/OTPROM devices. 8.1.3 ROMless Devices The TSC80251G2D products do not include on-chip Configuration Bytes, Code Memory and Encryption Array. They only include Signature Bytes made of Mask ROM cells which can be read using the same algorithm as the EPROM/OTPROM devices. 8.2 Security Features In some microcontrollers applications, it is desirable that the user’s program code be secured from unauthorized access. The TSC83251G2D and TSC87251G2D offer two kinds of protection for program code stored in the onchip array: ● Program code in the on-chip Code Memory is encrypted when read out for verification if the Encryption Array is programmed. ● A three-level lock bit system restricts external access to the on-chip code memory. Rev. A - May 7, 1999 28 TSC80251G2D 8.2.1 Lock Bit System The TSC87251G2D products implement 3 levels of security for User’s program as described in Table 35. The TSC83251G2D products implement only the first level of security. Level 0 is the level of an erased part and does not enable any security features. Level 1 locks the programming of the User’s internal Code Memory, the Configuration Bytes and the Encryption Array. Level 2 locks the verifying of the User’s internal Code Memory. It is always possible to verify the Configuration Bytes and the Lock Bits. It is never possible to verify the Encryption Array. Level 3 locks the external execution. Table 35. Lock Bits Programming Level Lock bits LB[2:0] Internal Execution External Execution Verification Programming External PROM read (MOVC) 0 000 Enable Enable Enable(1) Enable Enable(2) 1 001 Enable Enable Enable(1) Disable Disable 2 01x(3) Enable Enable Disable Disable Disable 3 1xx(3) Enable Disable Disable Disable Disable Notes: 1. Returns encrypted data if Encryption Array is programmed. 2. Returns non encrypted data. 3. x means don’t care. Level 2 always enables level 1, and level 3 always enables levels 1 and 2. The security level may be verified according to Table 36. Table 36. Lock Bits Verifying Level Lock bits Data(1) 0 xxxxx000 1 xxxxx001 2 xxxxx01x 3 xxxxx1xx Note: 1. x means don’t care. 8.2.2 Encryption Array The TSC83251G2D and TSC87251G2D products include a 128-byte Encryption Array located in non-volatile memory outside the memory address space. During verification of the on-chip code memory, the seven low-order address bits also address the Encryption Array. As the byte of the code memory is read, it is exclusive-NOR’ed (XNOR) with the key byte from the Encryption Array. If the Encryption Array is not programmed (still all 1s), the user program code is placed on the data bus in its original, unencrypted form. If the Encryption Array is programmed with key bytes, the user program code is encrypted and cannot be used without knowledge of the key byte sequence. To preserve the secrecy of the encryption key byte sequence, the Encryption Array can not be verified. Cautions: 1. When a MOVC instruction is executed, the content of the ROM is not encrypted. In order to fully protect the user program code, the lock bit level 1 (see Table 35) must always be set when encryption is used. 2. If the encryption feature is implemented, the portion of the on-chip code memory that does not contain program code should be filled with “random” byte values to prevent the encryption key sequence from being revealed. 29 Rev. A - May 7, 1999 TSC80251G2D 8.3 Signature Bytes The TSC80251G2D derivatives contain factory-programmed Signature Bytes. These bytes are located in non-volatile memory outside the memory address space at 30h, 31h, 60h and 61h. To read the Signature Bytes, perform the procedure described in section 8.5, using the verify signature mode (see Table 39). Signature byte values are listed in Table 37. Table 37. Signature Bytes (Electronic ID) Vendor Architecture Memory Revision Signature Address Signature Data TEMIC 30h 58h C251 31h 32 Kbytes EPROM or OTPROM 32 Kbytes MaskROM or ROMless TSC80251G2D derivative 60h 61h 40h F7h 77h FDh 8.4 Programming Algorithm Figure 9 shows the hardware setup needed to program the TSC87251G2D EPROM/OTPROM areas: ● The chip has to be put under reset and maintained in this state until the completion of the programming sequence. ● PSEN# and the other control signals (ALE and Port 0) have to be set to a high level. ● Then PSEN# has to be to forced to a low level after two clock cycles or more and it has to be maintained in this state until the completion of the programming sequence (see below). ● The voltage on the EA# pin must be set to VDD. ● The programming mode is selected according to the code applied on Port 0 (see Table 38). It has to be applied until the completion of this programming operation. ● The programming address is applied on Ports 1 and 3 which are respectively the Most Significant Byte (MSB) and the Least Significant Byte (LSB) of the address. ● The programming data are applied on Port 2. ● The EPROM Programming is done by raising the voltage on the EA# pin to VPP, then by generating a low level pulse on ALE/PROG# pin. ● The voltage on the EA# pin must be lowered to VDD before completing the programming operation. ● It is possible to alternate programming and verifying operation (See Paragraph 8.5). Please make sure the voltage on the EA# pin has actually been lowered to VDD before performing the verifying operation. ● PSEN# and the other control signals have to be released to complete a sequence of programming operations or a sequence of programming and verifying operations. Rev. A - May 7, 1999 30 TSC80251G2D VDD VDD RST EA#/VPP ALE/PROG# PSEN# VPP 100 µs pulses VDD TSC87251G2D Mode P0[7:0] A[7:0] P3[7:0] A[14:8] P1[7:0] Data P2[7:0] 4 to 12 MHz XTAL1 VSS/VSS1/VSS2 Figure 9. Setup for Programming Table 38. Programming Modes ROM Area(1) PSEN# ALE/PROG#(2) RST EA#/VPP P0 P2 P1(MSB) P3(LSB) On-chip Code Memory 1 VPP 0 1 Pulse 68h Data 16-bit Address 0000h-7FFFh (32 Kbytes) Configuration Bytes 1 VPP 0 1 Pulse 69h Data CONFIG0: FFF8h CONFIG1: FFF9h Lock Bits 1 VPP 0 1 Pulse 6Bh X LB0: 0001h LB1: 0002h LB2: 0003h Encryption Array 1 VPP 0 1 Pulse 6Ch Data 0000h-007Fh Notes: 1. Signature Bytes are not user-programmable. 2. The ALE/PROG# pulse waveform is shown in Figure 31 page 54. 8.5 Verify Algorithm Figure 10 shows the hardware setup needed to verify the TSC87251G2D EPROM/OTPROM or TSC83251G2D ROM areas: ● The chip has to be put under reset and maintained in this state until the completion of the verifying sequence. ● PSEN# and the other control signals (ALE and Port 0) have to be set to a high level. ● Then PSEN# has to be to forced to a low level after two clock cycles or more and it has to be maintained in this state until the completion of the verifying sequence (see below). ● The voltage on the EA# pin must be set to VDD and ALE must be set to a high level. ● The Verifying Mode is selected according to the code applied on Port 0. It has to be applied until the completion of this verifying operation. ● The verifying address is applied on Ports 1 and 3 which are respectively the MSB and the LSB of the address. ● Then device is driving the data on Port 2. ● It is possible to alternate programming and verification operation (see Paragraph 8.4). Please make sure the voltage on the EA# pin has actually been lowered to VDD before performing the verifying operation. ● PSEN# and the other control signals have to be released to complete a sequence of verifying operations or a sequence of programming and verifying operations. 31 Rev. A - May 7, 1999 TSC80251G2D Table 39. Verifying Modes ROM Area(1) RST EA#/VPP PSEN# ALE/PROG# P0 P2 P1(MSB) P3(LSB) On-chip code memory 1 1 0 1 28h Data 16-bit Address 0000h-7FFFh (32 Kbytes) Configuration Bytes 1 1 0 1 29h Data CONFIG0: FFF8h CONFIG1: FFF9h Lock Bits 1 1 0 1 2Bh Data 0000h Signature Bytes 1 1 0 1 29h Data 0030h, 0031h, 0060h, 0061h Note: 1. To preserve the secrecy of on-chip code memory when encrypted, the Encryption Array can not be verified. VDD VDD RST EA#/VPP ALE/PROG# PSEN# VDD TSC8x251G2D Mode P0[7:0] A[7:0] P3[7:0] A[14:8] P1[7:0] P2[7:0] Data XTAL1 4 to 12 MHz VSS/VSS1/VSS2 Figure 10. Setup for Verifying Rev. A - May 7, 1999 32 TSC80251G2D 9. Absolute Maximum Rating and Operating Conditions 9.1 Absolute Maximum Rating Table 40. Absolute Maximum Ratings ● Storage Temperature ......................... -65 to +150°C ● Voltage on any other Pin to VSS.... -0.5 to +6.5 V ● IOL per I/O Pin ................................. 15 mA ● Power Dissipation ............................. 1.5 W 9.2 Operating Conditions Table 41. Operating Conditions ● Ambient Temperature Under Bias Commercial ....................................... 0 to +70°C Industrial............................................ -40 to +85°C ● VDD High Speed versions ......................... 4.5 to 5.5 V Low Voltage versions....................... 2.7 to 5.5 V Note: 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. Rev. A - May 7, 1999 33 TSC80251G2D 10. DC Characteristics - Commercial & Industrial 10.1 DC Characteristics: High Speed versions - Commercial & Industrial Table 42. DC Characteristics; VDD= 4.5 to 5.5 V, TA= -40 to +85°C Symbol Parameter Min Input Low Voltage (except EA#, SCL, SDA) VIL1(5) Max Units -0.5 0.2·VDD - 0.1 V Input Low Voltage (SCL, SDA) -0.5 0.3·VDD V VIL2 Input Low Voltage (EA#) 0 0.2·VDD - 0.3 V VIH Input high Voltage (except XTAL1, RST, SCL, SDA) 0.2·VDD + 0.9 VDD + 0.5 V 0.7·VDD VDD + 0.5 V VIL VIH1(5) Input high Voltage (XTAL1, RST, SCL, SDA) Test Conditions VOL Output Low Voltage (Ports 1, 2, 3) 0.3 0.45 1.0 V IOL= 100 µA(1)(2) IOL= 1.6 mA(1)(2) IOL= 3.5 mA(1)(2) VOL1 Output Low Voltage (Ports 0, ALE, PSEN#, Port 2 in Page Mode during External Address) 0.3 0.45 1.0 V IOL= 200 µA(1)(2) IOL= 3.2 mA(1)(2) IOL= 7.0 mA(1)(2) VOH Output high Voltage (Ports 1, 2, 3, ALE, PSEN#) VDD - 0.3 VDD - 0.7 VDD - 1.5 V IOH= -10 µA(3) IOH= -30 µA(3) IOH= -60 µA(3) VOH1 Output high Voltage (Port 0, Port 2 in Page Mode during External Address) VDD - 0.3 VDD - 0.7 VDD - 1.5 V IOH= -200 µA IOH= -3.2 mA IOH= -7.0 mA VRET VDD data retention limit 1.8 V IIL0 Logical 0 Input Current (Ports 1, 2, 3) - 50 µA VIN= 0.45 V IIL1 Logical 1 Input Current (NMI) + 50 µA VIN= VDD ILI Input Leakage Current (Port 0) ± 10 µA 0.45 V < VIN < VDD ITL Logical 1-to-0 Transition Current (Ports 1, 2, 3 - AWAIT#) - 650 µA VIN= 2.0 V 225 kΩ RRST 34 Typical(4) RST Pull-Down Resistor 40 110 CIO Pin Capacitance 10 IDD Operating Current 20 25 35 IDL Idle Mode Current 5 6.5 9.5 IPD Power-Down Current VPP Programming supply voltage IPP Programming supply current 2 12.5 pF TA= 25°C 25 30 40 mA FOSC= 12 MHz FOSC= 16 MHz FOSC= 24 MHz 6 8 12 mA FOSC= 12 MHz FOSC= 16 MHz FOSC= 24 MHz 20 µA VRET < VDD < 5.5 V 13 V TA= 0 to +40°C 75 mA TA= 0 to +40°C Rev. A - May 7, 1999 TSC80251G2D Notes: 1. Under steady-state (non-transient) conditions, IOL must be externally limited as follows: Maximum IOL per port pin: ............................................. 10 mA Maximum IOL per 8-bit port: Port 0................. 26 mA Ports 1-3............ 15 mA Maximum Total IOL for all: Output Pins ....... 71 mA If IOL exceeds the test conditions, VOL may exceed the related specification. Pins are not guaranteed to sink current greater than the listed test conditions. 2. Capacitive loading on Ports 0 and 2 may cause spurious noise pulses above 0.4 V on the low-level outputs of ALE and Ports 1, 2, and 3. The noise is due to external bus capacitance discharging into the Port 0 and Port 2 pins when these pins change from high to low. In applications where capacitive loading exceeds 100 pF, the noise pulses on these signals may exceed 0.8 V. It may be desirable to qualify ALE or other signals with a Schmitt Trigger or CMOS-level input logic. 3. Capacitive loading on Ports 0 and 2 causes the VOH on ALE and PSEN# to drop below the specification when the address lines are stabilizing. 4. Typical values are obtained using VDD= 5 V and TA= 25°C. They are not tested and there is not guarantee on these values. 5. The input threshold voltage of SCL and SDA meets the I2C specification, so an input voltage below 0.3·VDD will be recognized as a logic 0 while an input voltage above 0.7·VDD will be recognized as a logic 1. 40 IDD/IDL (mA) 30 20 10 0 2 4 6 max Active mode (mA) typ Active mode (mA) max Idle mode (mA) typ Idle mode (mA) 8 10 12 Frequency at XTAL 14 (1) 16 18 20 22 24 (MHz) Note: 1. The clock prescaler is not used: FOSC= FXTAL. Figure 11. IDD/IDL Versus Frequency; VDD= 4.5 to 5.5 V Rev. A - May 7, 1999 35 TSC80251G2D 10.2 DC Characteristics: Low Voltage versions - Commercial & Industrial Table 43. DC Characteristics; VDD= 2.7 to 5.5 V, TA= -40 to +85°C Symbol Parameter Min Input Low Voltage (except EA#, SCL, SDA) VIL1(5) Max Units -0.5 0.2·VDD - 0.1 V Input Low Voltage (SCL, SDA) -0.5 0.3·VDD V VIL2 Input Low Voltage (EA#) 0 0.2·VDD - 0.3 V VIH Input high Voltage (except XTAL1, RST, SCL, SDA) 0.2·VDD + 0.9 VDD + 0.5 V 0.7·VDD VDD + 0.5 V VIL VIH1(5) Input high Voltage (XTAL1, RST, SCL, SDA) Test Conditions VOL Output Low Voltage (Ports 1, 2, 3) 0.45 V IOL= 0.8 mA(1)(2) VOL1 Output Low Voltage (Ports 0, ALE, PSEN#, Port 2 in Page Mode during External Address) 0.45 V IOL= 1.6 mA(1)(2) VOH Output high Voltage (Ports 1, 2, 3, ALE, PSEN#) 0.9·VDD V IOH= -10 µA(3) VOH1 Output high Voltage (Port 0, Port 2 in Page Mode during External Address) 0.9·VDD V IOH= -40 µA VRET VDD data retention limit 1.8 V IIL0 Logical 0 Input Current (Ports 1, 2, 3 - AWAIT#) - 50 µA VIN= 0.45 V IIL1 Logical 1 Input Current (NMI) + 50 µA VIN= VDD ILI Input Leakage Current (Port 0) ± 10 µA 0.45 V < VIN < VDD ITL Logical 1-to-0 Transition Current (Ports 1, 2, 3) - 650 µA VIN= 2.0 V 225 kΩ RRST 36 Typical(4) RST Pull-Down Resistor 40 110 CIO Pin Capacitance 10 pF TA= 25°C IDD Operating Current 4 8 9 11 8 11 12 14 mA 5 MHz, VDD < 3.6 V 10 MHz, VDD < 3.6 V 12 MHz, VDD < 3.6 V 16 MHz, VDD < 3.6 V IDL Idle Mode Current 0.5 1.5 2 3 1 4 5 7 mA 5 MHz, VDD < 3.6 V 10 MHz, VDD < 3.6 V 12 MHz, VDD < 3.6 V 16 MHz, VDD < 3.6 V IPD Power-Down Current 1 10 µA VRET < VDD < 3.6 V Rev. A - May 7, 1999 TSC80251G2D Notes: 1. Under steady-state (non-transient) conditions, IOL must be externally limited as follows: Maximum IOL per port pin: ............................................. 10 mA Maximum IOL per 8-bit port: Port 0................. 26 mA Ports 1-3............ 15 mA Maximum Total IOL for all: Output Pins ....... 71 mA If IOL exceeds the test conditions, VOL may exceed the related specification. Pins are not guaranteed to sink current greater than the listed test conditions. 2. Capacitive loading on Ports 0 and 2 may cause spurious noise pulses above 0.4 V on the low-level outputs of ALE and Ports 1, 2, and 3. The noise is due to external bus capacitance discharging into the Port 0 and Port 2 pins when these pins change from high to low. In applications where capacitive loading exceeds 100 pF, the noise pulses on these signals may exceed 0.8 V. It may be desirable to qualify ALE or other signals with a Schmitt Trigger or CMOS-level input logic. 3. Capacitive loading on Ports 0 and 2 causes the VOH on ALE and PSEN# to drop below the specification when the address lines are stabilizing. 4. Typical values are obtained using VDD= 3 V and TA= 25°C. They are not tested and there is not guarantee on these values. 5. The input threshold voltage of SCL and SDA meets the I2C specification, so an input voltage below 0.3·VDD will be recognized as a logic 0 while an input voltage above 0.7·VDD will be recognized as a logic 1. IDD/IDL (mA) 15 10 5 0 2 max Active mode (mA) typ Active mode (mA) max Idle mode (mA) typ Idle mode (mA) 4 6 8 10 12 14 16 Frequency at XTAL(1) (MHz) Note: 1. The clock prescaler is not used: FOSC= FXTAL. Figure 12. IDD/IDL Versus XTAL Frequency; VDD= 2.7 to 3.6 V Rev. A - May 7, 1999 37 TSC80251G2D 10.3 DC Characteristics: IDD, IDL and IPD Test Conditions VDD VDD RST VDD IDD VDD TSC80251G2D P0 (NC) Clock Signal XTAL2 XTAL1 EA# VSS All other pins are unconnected Figure 13. IDD Test Condition, Active Mode VDD RST VDD IDL VDD TSC80251G2D P0 (NC) Clock Signal XTAL2 XTAL1 EA# VSS All other pins are unconnected Figure 14. IDL Test Condition, Idle Mode VDD RST VDD IPD VDD TSC80251G2D P0 (NC) XTAL2 XTAL1 EA# VSS All other pins are unconnected Figure 15. IPD Test Condition, Power-Down Mode 38 Rev. A - May 7, 1999 TSC80251G2D 11. AC Characteristics - Commercial & Industrial 11.1 AC Characteristics - External Bus Cycles Definition of symbols Table 44. External Bus Cycles Timing Symbol Definitions Signals Conditions A Address H High D Data In L Low L ALE V Valid Q Data Out X No Longer Valid R RD#/PSEN# Z Floating W WR# Timings Test conditions: capacitive load on all pins= 50 pF. Table 45 and Table 46 list the AC timing parameters for the TSC80251G2D derivatives with no wait states. External wait states can be added by extending PSEN#/RD#/WR# and or by extending ALE. In these tables, Note 2 marks parameters affected by one ALE wait state, and Note 3 marks parameters affected by PSEN#/RD#/WR# wait states. Figure 16 to Figure 21 show the bus cycles with the timing parameters. Rev. A - May 7, 1999 39 TSC80251G2D Table 45. Bus Cycles AC Timings; VDD= 4.5 to 5.5 V, TA= -40 to 85°C 12 MHz Symbol 16 MHz 24 MHz Parameter Unit Min Max Min Max Min Max TOSC 1/FOSC 83 62 41 ns TLHLL ALE Pulse Width 78 58 38 ns(2) TAVLL Address Valid to ALE Low 78 58 37 ns(2) TLLAX Address hold after ALE Low 19 11 3 ns RD#/PSEN# Pulse Width 162 121 78 ns(3) WR# Pulse Width 165 124 81 ns(3) TRLRH (1) TWLWH TLLRL (1) TLHAX ALE Low to RD#/PSEN# Low 22 14 6 ns ALE High to Address Hold 99 70 40 ns(2) TRLDV(1) RD#/PSEN# Low to Valid Data TRHDX(1) Data Hold After RD#/PSEN# High 0 TRHAX Address Hold After RD#/PSEN# High 0 TRLAZ(1) RD#/PSEN# Low to Address Float TRHDZ1 Instruction Float After RD#/PSEN# High 45 TRHDZ2 Data Float After RD#/PSEN# High 215 TRHLH1 RD#/PSEN# high to ALE High (Instruction) 49 43 31 ns TRHLH2 RD#/PSEN# high to ALE High (Data) 215 169 115 ns 215 (1) 146 104 0 0 0 0 61 ns 0 0 ns(3) ns 0 ns 40 30 ns 165 115 ns TWHLH WR# High to ALE High TAVDV1 Address (P0) Valid to Valid Data In 250 169 175 115 105 ns(2)(3) ns TAVDV2 Address (P2) Valid to Valid Data In 306 223 140 ns(2)(3) TAVDV3 Address (P0) Valid to Valid Instruction In 150 109 68 ns(3) TAXDX Data Hold after Address Hold 0 0 0 ns TAVRL(1) Address Valid to RD# Low 100 70 40 ns(2) TAVWL1 Address (P0) Valid to WR# Low 100 70 40 ns(2) TAVWL2 Address (P2) Valid to WR# Low 158 115 74 ns(2) TWHQX Data Hold after WR# High 90 69 32 ns TQVWH Data Valid to WR# High 133 102 72 ns(3) TWHAX WR# High to Address Hold 167 125 84 ns Notes: 1. Specification for PSEN# are identical to those for RD#. 2. If a wait state is added by extending ALE, add 2·TOSC. 3. If wait states are added by extending RD#/PSEN#/WR#, add 2N·TOSC (N= 1..3). 40 Rev. A - May 7, 1999 TSC80251G2D Table 46. Bus Cycles AC Timings; VDD= 2.7 to 5.5 V, TA= -40 to 85°C 12 MHz Symbol 16 MHz Parameter Unit Min Max Min Max TOSC 1/FOSC 83 62 ns TLHLL ALE Pulse Width 72 52 ns(2) TAVLL Address Valid to ALE Low 71 51 ns(2) TLLAX Address hold after ALE Low 14 6 ns TRLRH RD#/PSEN# Pulse Width 163 121 ns(3) TWLWH WR# Pulse Width 165 124 ns(3) (1) TLLRL (1) TLHAX ALE Low to RD#/PSEN# Low 17 11 ns ALE High to Address Hold 90 57 ns(2) TRLDV(1) RD#/PSEN# Low to Valid Data TRHDX(1) Data Hold After RD#/PSEN# High 0 TRHAX(1) TRLAZ(1) Address Hold After RD#/PSEN# High 0 133 RD#/PSEN# Low to Address Float 92 0 ns 0 0 ns(3) ns 0 ns TRHDZ1 Instruction Float After RD#/PSEN# High 59 48 ns TRHDZ2 Data Float After RD#/PSEN# High 225 175 ns TRHLH1 RD#/PSEN# high to ALE High (Instruction) 60 47 ns TRHLH2 RD#/PSEN# high to ALE High (Data) 226 172 ns 226 TWHLH WR# High to ALE High TAVDV1 Address (P0) Valid to Valid Data In 289 172 160 ns(2)(3) ns TAVDV2 Address (P2) Valid to Valid Data In 296 211 ns(2)(3) TAVDV3 Address (P0) Valid to Valid Instruction In 144 98 ns(3) TAXDX Data Hold after Address Hold 0 0 ns TAVRL(1) Address Valid to RD# Low 111 64 ns(2) TAVWL1 Address (P0) Valid to WR# Low 111 64 ns(2) TAVWL2 Address (P2) Valid to WR# Low 158 116 ns(2) TWHQX Data Hold after WR# High 82 66 ns TQVWH Data Valid to WR# High 135 103 ns(3) TWHAX WR# High to Address Hold 168 125 ns Notes: 1. Specification for PSEN# are identical to those for RD#. 2. If a wait state is added by extending ALE, add 2·TOSC. 3. If wait states are added by extending RD#/PSEN#/WR#, add 2N·TOSC (N= 1..3). Rev. A - May 7, 1999 41 TSC80251G2D Waveforms in Non-Page Mode ALE TLHLL(1) TLLRL(1) TRLRH(1) TRHLH1 PSEN# TRLDV(1) TRLAZ TLHAX(1) TAVLL (1) P0 TLLAX A7:0 TAVRL (1) TAVDV1(1) TRHDZ1 TRHDX D7:0 Instruction In TRHAX TAVDV2(1) P2/A16/A17 A15:8/A16/A17 Note: 1. The value of this parameter depends on wait states. See Table 45 and Table 46. Figure 16. External Bus Cycle: Code Fetch (Non-Page Mode) ALE TLHLL(1) TLLRL(1) TRLRH(1) TRHLH2 RD#/PSEN# TRLDV(1) TRLAZ TLHAX(1) TAVLL(1) P0 P2/A16/A17 TLLAX TRHDZ2 TRHDX A7:0 D7:0 TAVRL (1) Data In TAVDV1(1) TAVDV2(1) TRHAX A15:8/A16/A17 Note: 1. The value of this parameter depends on wait states. See Table 45 and Table 46. Figure 17. External Bus Cycle: Data Read (Non-Page Mode) 42 Rev. A - May 7, 1999 TSC80251G2D ALE TLHLL(1) TWLWH(1) TWHLH WR# TLHAX(1) TAVLL(1) P0 TQVWH TLLAX TWHQX A7:0 D7:0 Data Out TAVWL1(1) TAVWL2(1) P2/A16/A17 TWHAX A15:8/A16/A17 Note: 1. The value of this parameter depends on wait states. See Table 45 and Table 46. Figure 18. External Bus Cycle: Data Write (Non-Page Mode) Waveforms in Page Mode ALE TLHLL(1) TLLRL(1) PSEN#(3) TRLDV(1) TRLAZ TLHAX(1) TAVLL(1) P2 A15:8 TAVRL (1) TAVDV1(1) TAVDV2(1) P0/A16/A17 A7:0/A16/A17 Page TRHDZ1 TLLAX Miss(2) TRHDX D7:0 D7:0 Instruction In Instruction In TAXDX TAVDV3(1) TRHAX A7:0/A16/A17 Page Hit(2) Notes: 1. The value of this parameter depends on wait states. See Table 45 and Table 46. 2. A page hit (i.e., a code fetch to the same 256-byte “page” as the previous code fetch) requires one state (2·TOSC); a page miss requires two states (4·TOSC). 3. During a sequence of page hits, PSEN# remains low until the end of the last page-hit cycle. Figure 19. External Bus Cycle: Code Fetch (Page Mode) Rev. A - May 7, 1999 43 TSC80251G2D ALE TLHLL(1) TLLRL(1) TRLRH(1) TRHLH2 RD#/PSEN# TRLDV(1) TRLAZ TLHAX(1) TAVLL(1) P2 TRHDZ2 TLLAX TRHDX A15:8 D7:0 TAVRL(1) Data In TAVDV1(1) TAVDV2(1) TRHAX P0/A16/A17 A7:0/A16/A17 Note: 1. The value of this parameter depends on wait states. See Table 45 and Table 46. Figure 20. External Bus Cycle: Data Read (Page Mode) ALE TLHLL(1) TWLWH(1) TWHLH WR# TLHAX(1) TAVLL(1) P2 TQVWH TLLAX A15:8 TAVWL1 D7:0 Data Out (1) TAVWL2(1) P0/A16/A17 TWHQX TWHAX A7:0/A16/A17 Note: 1. The value of this parameter depends on wait states. See Table 45 and Table 46. Figure 21. External Bus Cycle: Data Write (Page Mode) 44 Rev. A - May 7, 1999 TSC80251G2D 11.2 AC Characteristics - Real-Time Synchronous Wait State Definition of symbols Table 47. Real-Time Synchronous Wait Timing Symbol Definitions Signals C Conditions WCLK L Low R RD#/PSEN# V Valid W WR# X No Longer Valid Y WAIT# Timings Table 48. Real-Time Synchronous Wait AC Timings; VDD= 2.7 to 5.5 V, TA= -40 to 85°C Symbol Parameter Min Max Unit TCLYV Wait Clock Low to Wait Set-up 0 TOSC - 20 ns TCLYX Wait Hold after Wait Clock Low 2W·TOSC + 5 (1+2W)·TOSC - 20 ns TRLYV PSEN#/RD# Low to Wait Set-up 0 TOSC - 20 ns TRLYX Wait Hold after PSEN#/RD# Low 2W·TOSC + 5 (1+2W)·TOSC - 20 ns TWLYV WR# Low to Wait Set-up 0 TOSC - 20 ns TWLYX Wait Hold after WR# Low 2W·TOSC + 5 (1+2W)·TOSC - 20 ns State 3 State 1 (next cycle) Waveforms State 1 State 2 WCLK TCLYXmin ALE TCLYXmax TCLYV RD#/PSEN# RD#/PSEN# stretched TRLYXmax TRLYXmin TRLYV WAIT# P0 A7:0 P2 D7:0 A15:8 stretched stretched A7:0 A15:8 Figure 22. Real-time Synchronous Wait State: Code Fetch/Data Read Rev. A - May 7, 1999 45 TSC80251G2D State 1 State 2 State 3 State 1 (next cycle) WCLK TCLYXmin ALE TCLYXmax TCLYV RD#/PSEN# WR# stretched TWLYXmax TWLYXmin TWLYV WAIT# P0 A7:0 D7:0 P2 stretched A15:8 stretched Figure 23. Real-time Synchronous Wait State: Data Write 11.3 AC Characteristics - Real-Time Asynchronous Wait State Definition of symbols Table 49. Real-Time Asynchronous Wait Timing Symbol Definitions Signals Conditions S PSEN#/RD#/WR# L Low Y AWAIT# V Valid X No Longer Valid Timings Table 50. Real-Time Asynchronous Wait AC Timings; VDD= 2.7 to 5.5 V, TA= -40 to 85°C Symbol Parameter Min TSLYV PSEN#/RD#/WR# Low to Wait Set-up TSLYX Wait Hold after PSEN#/RD#/WR# Low (2N-1)·TOSC + 10 Max Unit TOSC - 10 ns ns(1) Note: 1. N is the number of wait states added (N≥ 1). Waveforms RD#/PSEN#/WR# TSLYX TSLYV AWAIT# Figure 24. Real-time Asynchronous Wait State Timings 46 Rev. A - May 7, 1999 TSC80251G2D 11.4 AC Characteristics - Serial Port in Shift Register Mode Definition of symbols Table 51. Serial Port Timing Symbol Definitions Signals Conditions D Data In H High Q Data Out L Low X Clock V Valid X No Longer Valid Timings Table 52. Serial Port AC Timing -Shift Register Mode; VDD= 2.7 to 5.5 V, TA= -40 to 85°C 12 MHz Symbol 24 MHz(1) 16 MHz Parameter Unit Min TXLXL Serial Port Clock Cycle Time TQVXH Output Data Setup to Clock Rising Edge TXHQX Output Data hold after Clock Rising Edge TXHDX Input Data Hold after Clock Rising Edge 0 TXHDV Clock Rising Edge to Input Data Valid Max 998 Min Max Min Max 749 500 833 625 417 ns 165 124 82 ns 0 ns 0 974 732 ns 482 ns Note: 1. For high speed versions only. Waveforms TXLXL TXD TQVXH TXHQX RXD (Out) 0 1 2 Valid 3 4 5 6 7 Set RI(1) TXHDX TXHDV RXD (In) Set TI(1) Valid Valid Valid Valid Valid Valid Valid Note: 1. TI and RI are set during S1P1 of the peripheral cycle following the shift of the eight bit. Figure 25. Serial Port Waveforms - Shift Register Mode Rev. A - May 7, 1999 47 TSC80251G2D 11.5 AC Characteristics - SSLC: I2C Interface Timings Table 53. I2C Interface AC Timing; VDD= 2.7 to 5.5 V, TA= -40 to 85°C Symbol INPUT Parameter THD; STA TLOW OUTPUT Min Max Min (4) Start condition hold time 14·TCLCL SCL low time 16·TCLCL(4) 4.7 µs(1) (4) 4.0 µs(1) 14·TCLCL 4.0 Max µs(1) THIGH SCL high time TRC SCL rise time 1 µs -(2) TFC SCL fall time 0.3 µs 0.3 µs(3) TSU; DAT1 Data set-up time 250 ns 20·TCLCL(4)- TRD TSU; DAT2 SDA set-up time (before repeated START condition) 250 ns 1 µs(1) TSU; DAT3 SDA set-up time (before STOP condition) 250 ns 8·TCLCL(4) THD; DAT Data hold time 0 ns 8·TCLCL(4) - TFC TSU; STA Repeated START set-up time 14·TCLCL(4) 4.7 µs(1) STOP condition set-up time 14·TCLCL(4) 4.0 µs(1) TBUF Bus free time 14·TCLCL(4) 4.7 µs(1) TRD SDA rise time 1 µs -(2) TFD SDA fall time 0.3 µs 0.3 µs(3) TSU; STO Notes: 1. At 100 kbit/s. At other bit-rates this value is inversely proportional to the bit-rate of 100 kbit/s. 2. Determined by the external bus-line capacitance and the external bus-line pull-up resistor, this must be < 1 µs. 3. Spikes on the SDA and SCL lines with a duration of less than 3·TCLCL will be filtered out. Maximum capacitance on bus-lines SDA and SCL= 400 pF. 4. TCLCL= TOSC= one oscillator clock period. Waveforms Repeated START condition START or Repeated START condition START condition STOP condition TRD TSU;STA 0.7 VDD SDA (INPUT/OUTPUT) 0.3 VDD TFD TSU;STO TRC TFC TBUF TSU;DAT3 0.7 VDD SCL (INPUT/OUTPUT) 0.3 VDD THD;STA TLOW THIGH TSU;DAT1 THD;DAT TSU;DAT2 Figure 26. I2C Waveforms 48 Rev. A - May 7, 1999 TSC80251G2D 11.6 AC Characteristics - SSLC: SPI Interface Definition of symbols Table 54. SPI Interface Timing Symbol Definitions Signals Conditions C Clock H High I Data In L Low O Data Out V Valid S SS# X No Longer Valid Z Floating Timings Table 55. SPI Interface AC Timing; VDD= 2.7 to 5.5 V, TA= -40 to 85°C Symbol Slave mode Parameter Min Max Unit (1) TCHCH Clock Period TCHCX Clock High Time 8 TOSC 3.2 TOSC TCLCX TSLCH, TSLCL TIVCL, TIVCH Clock Low Time 3.2 TOSC SS# Low to Clock edge 200 ns Input Data Valid to Clock Edge 100 ns TCLIX, TCHIX TCLOV, TCHOV Input Data Hold after Clock Edge 100 ns TCLOX, TCHOX Output Data Hold Time after Clock Edge TCLSH, TCHSH SS# High after Clock Edge TIVCL, TIVCH TCLIX, TCHIX Input Data Valid to Clock Edge Input Data Hold after Clock Edge 100 TSLOV SS# Low to Output Data Valid TSHOX Output Data Hold after SS# High TSHSL SS# High to SS# Low TILIH TIHIL Output Data Valid after Clock Edge 100 ns 0 ns 0 ns 100 ns ns 130 ns 130 ns Input Rise Time 2 µs Input Fall Time 2 µs TOLOH Output Rise time 100 ns TOHOL Output Fall Time 100 ns Rev. A - May 7, 1999 (2) 49 TSC80251G2D Symbol Master mode Parameter Min Max Unit (3) TCHCH Clock Period 4 TOSC TCHCX TCLCX Clock High Time 1.6 TOSC Clock Low Time 1.6 TOSC TIVCL, TIVCH Input Data Valid to Clock Edge 50 ns TCLIX, TCHIX TCLOV, TCHOV Input Data Hold after Clock Edge 50 ns TCLOX, TCHOX TILIH Output Data Hold Time after Clock Edge Input Data Rise Time 2 µs TIHIL Input Data Fall Time 2 µs TOLOH Output Data Rise time Output Data Valid after Clock Edge 65 0 ns ns TOHOL Output Data Fall Time Notes: 1. Capacitive load on all pins= 200 pF in slave mode. 2. The value of this parameter depends on software. 3. Capacitive load on all pins= 100 pF in master mode. 50 ns 50 ns Waveforms SS#(1) (output) TCHCH SCK (SSCPOL= 0) (output) TCHCX TCLCH TCLCX TCHCL SCK (SSCPOL= 1) (output) TIVCH TCHIX TIVCL TCLIX MISO (input) MSB IN BIT 6 LSB IN TCLOX TCHOX TCLOV TCHOV MOSI (output) Port Data MSB OUT BIT 6 LSB OUT Port Data Note: 1. SS# handled by software. Figure 27. SPI Master Waveforms (SSCPHA= 0) 50 Rev. A - May 7, 1999 TSC80251G2D SS#(1) (output) TCHCH SCK (SSCPOL= 0) (output) TCHCX TCLCH TCLCX TCHCL SCK (SSCPOL= 1) (output) TIVCH TCHIX TIVCL TCLIX MISO (input) MSB IN BIT 6 TCLOX TCHOX TCLOV TCHOV MOSI (output) Port Data LSB IN MSB OUT BIT 6 LSB OUT Port Data Note: 1. SS# handled by software. Figure 28. SPI Master Waveforms (SSCPHA= 1) SS# (input) TSLCH TSLCL SCK (SSCPOL= 0) (input) TCHCH TCHCX TSHSL TCLCX TCHCL SCK (SSCPOL= 1) (input) TSLOV MISO (output) TCLCH TCLSH TCHSH SLAVE MSB OUT TCLOV TCHOV BIT 6 TCLOX TCHOX SLAVE LSB OUT TSHOX (1) TIVCH TCHIX TIVCL TCLIX MOSI (input) MSB IN BIT 6 LSB IN Note: 1. Not Defined but normally MSB of character just received. Figure 29. SPI Slave Waveforms (SSCPHA= 0) Rev. A - May 7, 1999 51 TSC80251G2D SS# (input) TSLCH TSLCL SCK (SSCPOL= 0) (input) TCHCH TCHCX TSHSL TCLCX TCHCL SCK (SSCPOL= 1) (input) TCHOV TCLOV TSLOV MISO (output) TCLCH TCLSH TCHSH (1) SLAVE MSB OUT BIT 6 TCHOX TCLOX TSHOX SLAVE LSB OUT TIVCH TCHIX TIVCL TCLIX MOSI (input) MSB IN BIT 6 LSB IN Note: 1. Not Defined but generally the LSB of the character which has just been received. Figure 30. SPI Slave Waveforms (SSCPHA= 1) 52 Rev. A - May 7, 1999 TSC80251G2D 11.7 AC Characteristics - EPROM Programming and Verifying Definition of symbols Table 56. EPROM Programming and Verifying Timing Symbol Definitions Signals Conditions A Address H High E Enable: mode set on Port 0 L Low G Program V Valid Q Data Out X No Longer Valid S Supply (VPP) Z Floating Timings Table 57. EPROM Programming AC timings; VDD= 4.5 to 5.5 V, TA= 0 to 40°C Symbol TOSC Parameter XTAL1 Period Min Max Unit 83.5 250 ns TAVGL Address Setup to PROG# low 48 TOSC TGHAX Address Hold after PROG# low 48 TOSC TDVGL Data Setup to PROG# low 48 TOSC TGHDX Data Hold after PROG# 48 TOSC TELSH ENABLE High to VPP 48 TOSC TSHGL VPP Setup to PROG# low 10 µs TGHSL VPP Hold after PROG# 10 µs TSLEH ENABLE Hold after VPP 0 ns TGLGH PROG# Width 90 110 µs Table 58. EPROM Verifying AC timings; VDD= 4.5 to 5.5 V, VDD= 2.7 to 5.5 V, TA= 0 to 40°C Symbol TOSC Parameter XTAL1 Period Min Max Unit 83.5 250 ns 48 TOSC TAVQV Address to Data Valid TAXQX Address to Data Invalid 0 TELQV ENABLE low to Data Valid 0 48 TOSC TEHQZ Data Float after ENABLE 0 48 TOSC Rev. A - May 7, 1999 ns 53 TSC80251G2D Waveforms P1= A15:8 P3= A7:0 Address TAVGL TGHAX Data P2= D7:0 TDVGL TGHDX VPP EA#/VPP VDD TSHGL TGLGH TGHSL VSS ALE/PROG# TELSH TSLEH Mode= 68h, 69h, 6Bh or 6Ch P0 Figure 31. EPROM Programming Waveforms P1= A15:8 P3= A7:0 Address TAVQV P2= D7:0 Data TELQV P0 TAXQX TEHQZ Mode= 28h, 29h or 2Bh Figure 32. EPROM Verifying Waveforms 54 Rev. A - May 7, 1999 TSC80251G2D 11.8 AC Characteristics - External Clock Drive and Logic Level References Definition of symbols Table 59. External Clock Timing Symbol Definitions Signals C Conditions Clock H High L Low X No Longer Valid Timings Table 60. External Clock AC Timings; VDD= 4.5 to 5.5 V, TA= -40 to +85°C Symbol Parameter FOSC Min Oscillator Frequency Max Unit 24 MHz TCHCX High Time 10 ns TCLCX Low Time 10 ns TCLCH Rise Time 3 ns TCHCL Fall Time 3 ns Waveforms TCLCH VDD - 0.5 VIH1 TCHCX TCLCX VIL 0.45 V TCHCL TCLCL Figure 33. External Clock Waveform INPUTS VDD - 0.5 0.45 V OUTPUTS 0.2 VDD + 0.9 VIH min 0.2 VDD - 0.1 VIL max Note: During AC testing, all inputs are driven at VDD -0.5 V for a logic 1 and 0.45 V for a logic 0. Timing measurements are made on all outputs at VIH min for a logic 1 and VIL max for a logic 0. Figure 34. AC Testing Input/Output Waveforms VLOAD VLOAD + 0.1 V Timing Reference Points VLOAD - 0.1 V VOH - 0.1 V VOL + 0.1 V Note: 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 loading VOH/VOL level occurs with IOL/IOH= ±20 mA. Figure 35. Float Waveforms Rev. A - May 7, 1999 55 TSC80251G2D 12. Packages 12.1 List of Packages ● PDIL 40 ● CDIL 40 with window ● PLCC 44 ● CQPJ 44 with window ● VQFP 44 (10x10) 12.2 PDIL 40 - Mechanical Outline Figure 36. Plastic Dual In Line Table 61. PDIL Package Size MM INCH Min Max Min Max A - 5.08 - .200 A1 0.38 - .015 - A2 3.18 4.95 .125 .195 B 0.36 0.56 .014 .022 B1 0.76 1.78 .030 .070 C 0.20 0.38 .008 .015 D 50.29 53.21 1.980 2.095 E 15.24 15.87 .600 .625 E1 12.32 14.73 .485 .580 e 2.54 B.S.C. .100 B.S.C. eA 15.24 B.S.C. .600 B.S.C. eB - 17.78 - .700 L 2.93 3.81 .115 .150 D1 0.13 - .005 - Rev. A - May 7, 1999 56 TSC80251G2D 12.3 CDIL 40 with Window - Mechanical Outline Figure 37. Ceramic Dual In Line Table 62. CDIL Package Size MM Min Max Min Max A - 5.71 - .225 b 0.36 0.58 .014 .023 b2 1.14 1.65 .045 .065 c 0.20 0.38 .008 .015 D - 53.47 - 2.105 E 13.06 15.37 .514 .605 e 2.54 B.S.C. .100 B.S.C. eA 15.24 B.S.C. .600 B.S.C. L 3.18 5.08 .125 .200 Q 0.38 1.40 .015 .055 S1 0.13 - .005 a N 57 INCH 0 - 15 0 - 15 40 Rev. A - May 7, 1999 TSC80251G2D 12.4 PLCC 44 - Mechanical Outline Figure 38. Plastic Lead Chip Carrier Table 63. PLCC Package Size MM A INCH Min Max Min Max 4.20 4.57 .165 .180 A1 2.29 3.04 .090 .120 D 17.40 17.65 .685 .695 D1 16.44 16.66 .647 .656 D2 14.99 16.00 .590 .630 E 17.40 17.65 .685 .695 E1 16.44 16.66 .647 .656 E2 14.99 16.00 .590 e 1.27 BSC .630 .050 BSC G 1.07 1.22 .042 .048 H 1.07 1.42 .042 .056 J 0.51 - .020 - K 0.33 0.53 .013 .021 Nd 11 11 Ne 11 11 Rev. A - May 7, 1999 58 TSC80251G2D 12.5 CQPJ 44 with Window - Mechanical Outline Figure 39. Ceramic Quad Pack J Table 64. CQPJ Package size MM A Min Max Min Max - 4.90 - .193 C 0.15 0.25 .006 .010 D-E 17.40 17.55 .685 .691 D1 - E1 16.36 16.66 .644 e 59 INCH 1.27 TYP .656 .050 TYP f 0.43 0.53 .017 .021 J 0.86 1.12 .034 .044 Q 15.49 16.00 .610 .630 R 0.86 TYP .034 TYP N1 11 11 N2 11 11 Rev. A - May 7, 1999 TSC80251G2D 12.6 VQFP 44 (10x10) - Mechanical Outline Figure 40. Shrink Quad Flat Pack (Plastic) Table 65. VQFP Package Size MM Min A - A1 INCH Max Min 1.60 - 0.64 REF A2 Max .063 .025 REF 0.64 REF .025REF A3 1.35 1.45 .053 .057 D 11.90 12.10 .468 .476 D1 9.90 10.10 .390 .398 E 11.90 12.10 .468 .476 E1 9.90 10.10 .390 .398 J 0.05 - .002 6 L 0.45 0.75 .018 .030 e 0.80 BSC .0315 BSC f 0.35 BSC .014 BSC Rev. A - May 7, 1999 60 TSC80251G2D 13. Ordering Information 13.1 TSC80251G2D ROMless TEMIC Part Number ROM Description High Speed Versions 4.5 to 5.5 V, Commercial and Industrial TSC80251G2D-16CB ROMless 16 MHz, Commercial 0° to 70°C, PLCC 44 TSC80251G2D-24CB ROMless 24 MHz, Commercial 0° to 70°C, PLCC 44 TSC80251G2D-24CED ROMless 24 MHz, Commercial 0° to 70°C, VQFP 44, Dry pack(1) TSC80251G2D-24IA ROMless 24 MHz, Industrial -40° to 85°C, PDIL 40 TSC80251G2D-24IB ROMless 24 MHz, Industrial -40° to 85°C, PLCC 44 Low Voltage Versions 2.7 to 5.5 V, Commercial TSC80251G2D-L16CB ROMless 16 MHz, Commercial, PLCC 44 TSC80251G2D-L16CED ROMless 16 MHz, Commercial, VQFP 44, Dry pack(1) Note: 1. Dry Pack mandatory for VQFP package. 13.2 TSC83251G1D 16 Kbytes Mask ROM TEMIC Part Number(2) ROM Description High Speed Versions 4.5 to 5.5 V, Commercial and Industrial TSC251G1Dxxx-16CB 16K MaskROM 16 MHz, Commercial 0° to 70°C, PLCC 44 TSC251G1Dxxx-24CB 16K MaskROM 24 MHz, Commercial 0° to 70°C, PLCC 44 TSC251G1Dxxx-24CED 16K MaskROM 24 MHz, Commercial 0° to 70°C, VQFP 44, Dry pack(1) TSC251G1Dxxx-24IA 16K MaskROM 24 MHz, Industrial -40° to 85°C, PDIL 40 TSC251G1Dxxx-24IB 16K MaskROM 24 MHz, Industrial -40° to 85°C, PLCC 44 Low Voltage Versions 2.7 to 5.5 V, Commercial TSC251G1Dxxx-L16CB 16K MaskROM 16 MHz, Commercial 0° to 70°C, PLCC 44 TSC251G1Dxxx-L16CED 16K MaskROM 16 MHz, Commercial 0° to 70°C, VQFP 44, Dry pack(1) Notes: 1. Dry Pack mandatory for VQFP package. 2. xxx: means ROM code, is Cxxx in case of encrypted code. 13.3 TSC83251G2D 32 Kbytes MaskROM TEMIC Part Number(2) ROM Description High Speed Versions 4.5 to 5.5 V, Commercial and Industrial TSC251G2Dxxx-16CB 32K MaskROM 16 MHz, Commercial 0° to 70°C, PLCC 44 TSC251G2Dxxx-24CB 32K MaskROM 24 MHz, Commercial 0° to 70°C, PLCC 44 TSC251G2Dxxx-24CED 32K MaskROM 24 MHz, Commercial 0° to 70°C, VQFP 44, Dry pack(1) TSC251G2Dxxx-24IA 32K MaskROM 24 MHz, Industrial -40° to 85°C, PDIL 40 TSC251G2Dxxx-24IB 32K MaskROM 24 MHz, Industrial -40° to 85°C, PLCC 44 Low Voltage Versions 2.7 to 5.5 V, Commercial TSC251G2Dxxx-L16CB 32K MaskROM 16 MHz, Commercial 0° to 70°C, PLCC 44 TSC251G2Dxxx-L16CED 32K MaskROM 16 MHz, Commercial 0° to 70°C, VQFP 44, Dry pack(1) Notes: 1. Dry Pack mandatory for VQFP package. 2. xxx: means ROM code, is Cxxx in case of encrypted code. Rev. A - May 7, 1999 61 TSC80251G2D 13.4 TSC87251G2D OTPROM TEMIC Part Number ROM Description High Speed Versions 4.5 to 5.5 V, Commercial and Industrial TSC87251G2D-16CB 32K OTPROM 16 MHz, Commercial 0° to 70°C, PLCC 44 TSC87251G2D-24CB 32K OTPROM 24 MHz, Commercial 0° to 70°C, PLCC 44 TSC87251G2D-24CED 32K OTPROM 24 MHz, Commercial 0° to 70°C, VQFP 44, Dry pack(1) TSC87251G2D-24IA 32K OTPROM 24 MHz, Industrial -40° to 85°C, PDIL 40 TSC87251G2D-24IB 32K OTPROM 24 MHz, Industrial -40° to 85°C, PLCC 44 Low Voltage Versions 2.7 to 5.5 V, Commercial TSC87251G2D-L16CB 32K OTPROM 16 MHz, Commercial 0° to 70°C, PLCC 44 TSC87251G2D-L16CED 32K OTPROM 16 MHz, Commercial 0° to 70°C, VQFP 44, Dry pack(1) Note: 1. Dry Pack mandatory for VQFP package. 13.5 TSC87251G2D EPROM - UV Window package TEMIC Part Number ROM Description High Speed Versions 4.5 to 5.5 V, Industrial TSC87251G2D-24IC 32K EPROM 24 MHz, Industrial -40° to 85°C, window CQPJ 44 TSC87251G2D-24IJ 32K EPROM 24 MHz, Industrial -40° to 85°C, window CDIL 40 32K EPROM 16 MHz, Commercial -40° to 85°C, window CQPJ 44 Low Voltage Versions 2.7 to 5.5 V, Industrial TSC87251G2D-L16IC 13.6 Options (Please consult TEMIC sales) • • • • • ROM code encryption Tape & Real or Dry Pack Known good dice Ceramic packages Extended temperature range: -55°C to +125°C 13.7 Starter Kit TEMIC Part Number Description TSC80251-SK TSC80251 Starter Kit 13.8 Products Marking ROMless versions TEMIC Temic Part number(1) M C INTEL’97 YYWW . Lot Number Mask ROM versions TEMIC Customer Part number Temic Part number M C INTEL’97 YYWW . Lot Number OTP versions TEMIC Temic Part number(1) M C INTEL’97 YYWW . Lot Number Note: 1. Dry Pack letter (D) not included in the marking. 62 Rev. A - May 7, 1999 Sales Offices Sales Locations ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁ North America Sales Offices ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁ Asia Pacific / Japan Sales Offices ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ Europe Sales Offices Finland Germany Italy United Kingdom TEMIC Nordic AB c/o Atmel OY Kappelitie 6B FIN–02200 Tel: 358 9 4520 8219 Fax: 358 9 529 619 TEMIC Semiconductor GmbH Erfurter Strasse 31 85386 Eching Tel: 49 89 3 19 70 0 Fax: 49 89 3 19 46 21 TEMIC Italiana Via Grosio, 10/8 20151 Milano Tel: 39 02 38 03 71 Fax: 39 02 38 03 72 34 TEMIC U.K. Ltd. Easthampstead Road Bracknell, Berkshire RG12 1LX Tel: 44 1344 707 300 Fax: 44 1344 427 371 France TEMIC France Les Quadrants – 3, avenue du centre B.P. 309 78054 St.–Quentin–en–Yvelines Cedex Tel: 33 1 30 60 70 00 Fax: 33 1 30 60 71 11 TEMIC Semiconductor GmbH Kruppstrasse 6 45128 Essen Tel: 49 2 01 24 73 00 Fax: 49 2 01 2 47 30 47 TEMIC Semiconductor GmbH Theresienstrasse 2 74072 Heilbronn Tel: 49 71 31 67 3636 Fax: 49 71 31 67 3163 Spain TEMIC Iberica Principe de Vergara, 112 28002 Madrid Tel: 34 91 564 51 81 Fax: 34 91 562 75 14 Sweden TEMIC Nordic AB Kavallerivaegen 24, Rissne Box 2042 17202 Sundbyberg Tel: 46 8 587 48 800 Fax: 46 8 587 48 850 Western Eastern TEMIC North America c/o Atmel Corporation 2325 Orchard Parkway San Jose California 95131 Tel: 1 408 441 0311 Fax: 1 408 436 4200 TEMIC North America Inc. 180 Mount Airy Road, Ste. 100 Basking Ridge New Jersey 07920 Tel: 1 908 630 9200 Fax: 1 908 630 9201 China Japan Korea Taiwan, R.O.C. TEMIC Shanghai c/o Atmel Corp 4th floor, Block A Shanghai Eastern Business Bldg 586 Fanyu Road, Shanghai 200052 China Tel: 86 21 6280 9241 Fax: 86 21 6283 8816 TEMIC Semiconductors c/o Atmel Japan K.K. Tonetsushinkawa Bldg. 1–24–8, Shinkawa, chuku Tokyo 104–0033 Tel: 81 3 3523 3551 Fax: 81 3 3523 7581 TEMIC Korea Ltd. Suite 605, Singsong Bldg. 25–4 Yoido–dong Youngdeungpo–Ku 150–010 Seoul Tel: 82 2 785 1136 Fax: 82 2 785 1137 TEMIC Taiwan, c/o Atmel Corp. 9F–1 NO.266 SEC.1 Wen HWA 2RD Lin Kon Hsiang Taipei Hsien Tel: 886 2 2609 5581 Fax: 886 2 2600 2735 Hong Kong Rep. of Singapore TEMIC Hong Kong Ltd. c/o Atmel Asia Ltd # 1216, Chinachem Golden Plaza 77 Mody Road Tsimhatsui East Kowloon, Hong Kong Tel: 852 23 789 789 Fax: 852 23 755 733 TEMIC Singapore Pte Ltd Keppel Building, #03–00 25 Tampines Street 92 Singapore 528877 Tel: 65 260 8223 Fax: 65 787 9819 May 1999 63