DS2250(T) Soft Microcontroller Module www.dalsemi.com FEATURES PIN ASSIGNMENT 8-bit 8051-compatible microcontroller adapts to task-at-hand: - 8, 32, or 64 kbytes of nonvolatile RAM for program and/or data memory storage - Initial downloading of software in end system via on-chip serial port - Capable of modifying its own program and/or data memory in end use High-reliability operation: - Maintains all nonvolatile resources for 10 years in the absence of VCC - Power-fail reset - Early warning power-fail interrupt - Watchdog timer Software Security Feature: - Executes encrypted software to prevent unauthorized disclosure On-chip, full-duplex serial I/O ports Two on-chip timer/event counters 32 parallel I/O lines Compatible with industry standard 8051 instruction set Permanently powered real time clock 1 20 21 40 40-Pin SIMM DESCRIPTION The DS2250(T) Soft Microcontroller Module is a fully 8051-compatible 8-bit CMOS microcontroller that offers “softness” in all aspects of its application. This is accomplished through the comprehensive use of nonvolatile technology to preserve all information in the absence of system VCC. The internal program/data memory space is implemented using 8, 32, or 64 kbytes of nonvolatile CMOS SRAM. Furthermore, internal data registers and key configuration registers are also nonvolatile. An optional real time clock gives permanently powered timekeeping. The clock keeps time to a hundredth of a second using an on-board crystal. All nonvolatile memory and resources are maintained for over 10 years at room temperature in the absence of power. 1 of 20 112099 DS2250(T) ORDERING INFORMATION DS2250-8-16 8 kbytes MAX CRYSTAL SPEED 16 MHz DS2250-32-16 32 kbytes 16 MHz No DS2250-64-16 64 kbytes 16 MHz No DS2250T-8-16 8 kbytes 16 MHz Yes DS2250T-32-16 32 kbytes 16 MHz Yes DS2250T-64-16 64 kbytes 16 MHz Yes PART NUMBER RAM SIZE TIMEKEEPING? No Operating information is contained in the User’s Guide section of the Secure Microcontroller Data Book. This data sheet provides ordering information, pinout, and electrical specifications. 2 of 20 DS2250(T) DS2250(T) BLOCK DIAGRAM Figure 1 3 of 20 DS2250(T) PIN DESCRIPTION PIN 1, 3, 5, 7, 9, 11, 13, 15 17 DESCRIPTION P1.0 - P1.7. General purpose I/O Port 1 RST - Active high reset input. A logic 1 applied to this pin will activate a reset state. This pin is pulled down internally so this pin can be left unconnected if not used. An RC power-on reset circuit is not needed and is not recommended. P3.0 RXD. General purpose I/O port pin 3.0. Also serves as the receive signal for the 19 on board UART. This pin should not be connected directly to a PC COM port. 21 P3.1 TXD. General purpose I/O port pin 3.1. Also serves as the transmit signal for the on board UART. This pin should not be connected directly to a PC COM port. 23 P3.2 INT0 . General purpose I/O port pin 3.2. Also serves as the active low External Interrupt 0. 25 P3.3 INT1 . General purpose I/O port pin 3.3. Also serves as the active low External Interrupt 1. 27 P3.4 T0. General purpose I/O port pin 3.4. Also serves as the Timer 0 input. 29 P3.5 T1. General purpose I/O port pin 3.5. Also serves as the Timer 1 input. 31 P3.6 WR . General purpose I/O port pin. Also serves as the write strobe for Expanded bus operation. 33 P3.7 RD . General purpose I/O port pin. Also serves as the read strobe for Expanded bus operation. 35, 37 XTAL2, XTAL1. Used to connect an external crystal to the internal oscillator. XTAL1 is the input to an inverting amplifier and XTAL2 is the output. 39 GND - Logic ground. 26, 28, 30, 32, P2.7-P2.0. General purpose I/O Port 2. Also serves as the MSB of the Expanded 34, 36, 38, 40 Address bus. 24 PSEN - Program Store Enable. This active low signal is used to enable an external program memory when using the Expanded bus. It is normally an output and should be unconnected if not used. PSEN also is used to invoke the Bootstrap Loader. At this time, PSEN will be pulled down externally. This should only be done once the DS2250(T) is already in a reset state. The device that pulls down should be open-drain since it must not interfere with PSEN under normal operation. ALE - Address Latch Enable. Used to de-multiplex the multiplexed Expanded 22 Address/Data bus on Port 0. This pin is normally connected to the clock input on a ’373 type transparent latch. When using a parallel programmer, this pin also assumes the PROG function for programming pulses. 20 EA - External Access. This pin forces the DS2250(T) to behave like an 8031. No internal memory (or clock) will be available when this pin is at a logic low. Since this pin is pulled down internally, it should be connected to +5V to use NV RAM. In a parallel programmer, this pin also serves as VPP for super voltage pulses. 4, 6, 8, 10, 12, P0.0-P0.7. General purpose I/O Port 0. This port is open-drain and can not drive a 14, 16, 18 logic 1. It requires external pullups. Port 0 is also the multiplexed Expanded Address/Data bus. When used in this mode, it does not require pullups. 2 VCC + - 5 volts. 4 of 20 DS2250(T) INSTRUCTION SET The DS2250(T) executes an instruction set which is object code-compatible with the industry standard 8051 microcontroller. As a result, software development packages which have been written for the 8051 are compatible with the DS2250(T), including cross-assemblers, high-level language compilers, and debugging tools. Note that the DS2250(T) is functionally identical to the DS5000(T) except for package and the 64k memory option. A complete description for the DS2250(T) instruction set is available in the User’s Guide section of the Secure Microcontroller Data Book. MEMORY ORGANIZATION Figure 2 illustrates the address spaces which are accessed by the DS2250(T). As illustrated in the figure, separate address spaces exist for program and data memory. Since the basic addressing capability of the machine is 16 bits, a maximum of 64 kbytes of program memory and 64 kbytes of data memory can be accessed by the DS2250(T) CPU. The 8- or 32-kbyte RAM area inside of the DS2250(T) can be used to contain both program and data memory. A second 32k RAM is available for data only. The Real Time Clock (RTC) in the DS2250(T) is reached in the memory map by setting a SFR bit. The MCON.2 bit (ECE2) is used to select an alternate data memory map. While ECE2=1, all MOVXs will be routed to this alternate memory map. The real time clock is a serial device that resides in this area. A full description of the RTC access and example software is given in the User’s Guide section of the Secure Microcontroller Data Book. 5 of 20 DS2250(T) DS2250(T) MEMORY MAP Figure 2 DATA MEMORY (MOVX) PROGRAM LOADING The Program Load Modes allow initialization of the NV RAM Program/Data Memory. This initialization may be performed in one of two ways: 1. Serial Program Loading which is capable of performing Bootstrap Loading of the DS2250(T). This feature allows the loading of the application program to be delayed until the DS2250(T) is installed in the end system. 2. Parallel Program Load cycles which perform the initial loading from parallel address/data information presented on the I/O port pins. This mode is timing set-compatible with the 87C51H microcontroller programming mode. The DS2250(T) is placed in its Program Load configuration by simultaneously applying a logic 1 to the RST pin and forcing the PSEN line to a logic 0 level. Immediately following this action, the DS2250(T) will look for a parallel Program Load pulse, or a serial ASCII carriage return (0DH) character received at 9600, 2400, 1200, or 300 bps over the serial port. The hardware configurations used to select these modes of operation are illustrated in Figure 3. 6 of 20 DS2250(T) PROGRAM LOADING CONFIGURATIONS Figure 3 SERIAL BOOTSTRAP LOADER The Serial Program Load Mode is the easiest, fastest, most reliable, and most complete method of initially loading application software into the DS2250(T) nonvolatile RAM. Communication can be performed over a standard asynchronous serial communications port. A typical application would use a simple RS232C serial interface to program the DS2250(T) as a final production procedure. The hardware configuration which is required for the Serial Program Load Mode is illustrated in Figure 3. Port pins 2.7 and 2.6 must be either open or pulled high to avoid placing the device in a parallel load cycle. Although an 11.0592 MHz crystal is shown in Figure 3, a variety of crystal frequencies and loader baud rates are supported, shown in Table 2. The serial loader is designed to operate across a 3-wire interface from a standard UART. The receive, transmit, and ground wires are all that are necessary to establish communication with the DS2250(T). The Serial Bootstrap Loader implements an easy-to-use command line interface which allows an application program in an Intel hex representation to be loaded into and read back from the device. Intel hex is the typical format which existing 8051 cross-assemblers output. The serial loader responds to single character commands which are summarized below: 7 of 20 DS2250(T) COMMAND C D F K L R T U V W Z P G FUNCTION Return CRC-16 checksum of embedded RAM Dump Intel hex File Fill embedded RAM block with constant Load 40-bit encryption key Load Intel hex file Read MCON register Trace (Echo) incoming Intel hex data Clear Security Lock Verify Embedded RAM with incoming Intel hex Write MCON register Set security lock Put a value to a port Get a value from a port Table 1 summarizes the selection of the available Parallel Program Load cycles. The timing associated with these cycles is illustrated in the electrical specs. PARALLEL PROGRAM LOAD CYCLES Table 1 MODE RST PSEN PROG EA P2.7 P2.6 P2.5 Program Security Set Verify Prog Expanded Verify Expanded Prog MCON or Key registers Verify MCON registers 1 1 1 1 1 1 1 0 0 X 0 0 0 0 0 0 X 0 1 0 1 VPP VPP 1 VPP 1 VPP 1 1 1 0 0 0 0 0 0 1 0 1 1 1 1 X X X 0 0 1 1 The Parallel Program cycle is used to load a byte of data into a register or memory location within the DS2250(T). The Verify cycle is used to read this byte back for comparison with the originally loaded value to verify proper loading. The Security Set cycle may be used to enable and the software security feature. One may also enter bytes for the MCON register or for the five encryption registers using the Program MCON cycle. When using this cycle, the absolute register address must be presented at Ports 1 and 2 as in the normal program cycle (Port 2 should be 00H). The MCON contents can likewise be verified using the Verify MCON cycle. When the DS2250(T) first detects a Parallel Program Strobe pulse or a Security Set Strobe pulse while in the Program Load Mode following a power-on reset, the internal hardware of the device is initialized so that an existing 4-kbyte program can be programmed into a DS2250(T) with little or no modification. This initialization automatically sets the range address for 8 kbytes and maps the lowest 4-kbyte bank of embedded RAM as program memory. The next 4 kbytes of embedded RAM are mapped as data memory. In order to program more than 4 kbytes of program code, the Program/Verify Expanded cycles can be used. Up to 32 kbytes of program code can be entered and verified. Note that the expanded 32 kbyte Program/Verify cycles take much longer than the normal 4 kbyte Program/Verify cycles. 8 of 20 DS2250(T) A typical parallel loading session would follow this procedure. First, set the contents of the MCON register with the correct range and partition only if using expanded programming cycles. Next, the encryption registers can be loaded to enable encryption of the program/data memory (not required). Then, program the DS2250(T) using either normal or expanded program cycles and check the memory contents using Verify cycles. The last operation would be to turn on the security lock feature by either a Security Set cycle or by explicitly writing to the MCON register and setting MCON.0 to a 1. SERIAL LOADER BAUD RATES FOR DIFFERENT CRYSTAL FREQUENCIES Table 2 CRYSTAL FREQ (MHz) 14.7456 11.0592 9.21600 7.37280 5.52960 1.84320 BAUD RATE 300 1200 2400 9600 19200 57600 Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y ADDITIONAL INFORMATION A complete description for all operational aspects of the DS2250(T) is provided in the User’s Guide section of the Secure Microcontroller Data Book. DEVELOPMENT SUPPORT Dallas Semiconductor offers a kit package for developing and testing user code. The DS5000TK Evaluation Kit allows the user to download Intel hex formatted code directly to the DS2250(T) from a PC-XT/AT or compatible computer. The kit consists of a DS5000T-32-12, an interface pod, demo software, and an RS232 connector that attaches to the COM1 or COM2 serial port of a PC. The kit can be used with a DS2250(T). A mechanical adapter, the DS9075-40V, allows a DS2250(T) to be used in the DS5000TK. See the Secure microcontroller User’s Guide for further details. 9 of 20 DS2250(T) ABSOLUTE MAXIMUM RATINGS* Voltage on Any Pin Relative to Ground Operating Temperature Storage Temperature Soldering Temperature * -0.3V to +7.0V 0°C to 70°C -40°C to +70°C 260°C for 10 seconds This is a stress rating only and functional operation of the device at these or any other conditions above those indicated in the operation sections of this specification is not implied. Exposure to absolute maximum rating conditions for extended periods of time may affect reliability. (tA=0°C to70°C; VCC=5V ± 5%) DC CHARACTERISTICS PARAMETER Input Low Voltage SYMBOL VIL MIN -0.3 Input High Voltage VIH1 Input High Voltage RST, XTAL1 VIH2 Output Low Voltage @ IOL=1.6 mA (Ports 1, 2, 3) VOL1 Output Low Voltage @ IOL=3.2 mA (Ports 0, ALE, PSEN ) VOL2 Output High Voltage @ IOH=-80 µA (Ports 1, 2, 3) VOH1 2.4 Output High Voltage @ IOH=-400 µA (Ports 0, ALE, PSEN ) VOH2 2.4 TYP MAX +0.8 UNITS V NOTES 1 2.0 VCC+0.3 V 1 3.5 VCC+0.3 V 1 0.15 0.45 V 0.15 0.45 V 1 4.8 V 1 4.8 V 1 Input Low Current VIN = 0.45V (Ports 1, 2, 3) IIL -50 µA Transition Current; 1 to 0 VIN=2.0V (Ports 1, 2, 3) ITL -500 µA Input Leakage Current 0.45 < VIN < VCC (Port 0) IL ±10 µA 125 kΩ 80 µA 4 RST, EA Pulldown Resistor RRE Stop Mode Current ISM 40 Power Fail Warning Voltage VPFW 4.15 4.6 4.75 V 1 Minimum Operating Voltage VCCmin 4.05 4.5 4.65 V 1 Programming Supply Voltage (Parallel Program Mode) VPP 12.5 13 V 1 Program Supply Current IPP 20 mA Operating Current DS2250-8k DS2250-32k @ 12 MHz DS2250(T)-64-16 @ 16 MHz ICC 43 48 54 mA 2 Idle Mode Current @ 8 MHz ICC 6.2 mA 3 10 of 20 15 DS2250(T) AC CHARACTERISTICS: EXPANDED BUS MODE TIMING SPECIFICATIONS # 1 PARAMETER Oscillator Frequency 2 (tA=0°C to70°C; VCC=5V ± 5%) SYMBOL 1/tCLK MIN 1.0 ALE Pulse Width tALPW 2tCLK -40 ns 3 Address Valid to ALE Low tAVALL tCLK -40 ns 4 Address Hold After ALE Low tAVAAV tCLK -35 ns 5 ALE Low to Valid Instr. In 6 ALE Low to PSEN Low tALLPSL tCLK -25 ns 7 PSEN Pulse Width tPSPW 3tCLK -35 ns 8 PSEN Low to Valid Instr. In 9 Input Instr. Hold after PSEN Going High tPSIV 10 Input Instr. Float after PSEN Going High tPSIX 11 Address Hold after PSEN Going High tPSAV 12 Address Valid to Valid Instr. In @ 12 MHz @ 16 MHz tAVVI 13 PSEN 14 RD 15 @ 12 MHz @ 16 MHz tALLVI 4tCLK -150 4tCLK -90 tPSLVI @ 12 MHz @ 16 MHz MAX 16 (-16) 3tCLK -150 3tCLK -90 0 UNITS MHz ns ns ns ns tCLK -20 tCLK -8 ns ns 5tCLK -150 5tCLK -90 ns ns tPSLAZ 0 ns Pulse Width tRDPW 6tCLK -100 ns WR Pulse Width tWRPW 6tCLK -100 ns 16 RD Low to Valid Data In 17 Data Hold after RD High tRDHDV 18 Data Float after RD High tRDHDZ 2tCLK -70 ns 19 ALE Low to Valid Data In @ 12 MHz @ 16 MHz tALLVD 8CLK -150 8tCLK -90 ns ns 20 Valid Addr. to Valid Data In @ 12 MHz @ 16 MHz tAVDV 9tCLK -165 9tCLK -105 ns ns 21 ALE Low to RD or WR Low tALLRDL 3tCLK -50 3tCLK +50 ns 22 Address Valid to RD or WR Low tAVRDL 4tCLK -130 ns 23 Data Valid to WR Going Low tDVWRL tCLK -60 ns 24 Data Valid to WR High tDVWRH 7tCLK -150 7tCLK -90 ns ns 25 Data Valid after WR High tWRHDV tCLK -50 ns 26 RD Low to Address Float tRDLAZ 27 RD or WR High to ALE High tRDHALH Low to Address Float @ 12 MHz @ 16 MHz @ 12 MHz @ 16 MHz 5tCLK -165 5tCLK -105 tRDLDV 11 of 20 0 tCLK -40 ns ns ns 0 ns tCLK +50 ns DS2250(T) EXPANDED PROGRAM MEMORY READ CYCLE EXPANDED DATA MEMORY READ CYCLE 12 of 20 DS2250(T) EXPANDED DATA MEMORY WRITE CYCLE EXTERNAL CLOCK TIMING 13 of 20 DS2250(T) AC CHARACTERISTICS (cont'd) EXTERNAL CLOCK DRIVE (tA=0°C to70°C; VCC=5V ± 5%) # 28 PARAMETER SYMBOL tCLKHPW MIN External Clock High Time @ 12 MHz @ 16 MHz 29 External Clock Low Time 30 31 20 15 ns ns @ 12 MHz @ 16 MHz tCLKLPW 20 15 ns ns External Clock Rise Time @ 12 MHz @ 16 MHz tCLKR 20 15 ns ns External Clock Fall Time @ 12 MHz @ 16 MHz tCLKF 20 15 ns ns AC CHARACTERISTICS (cont'd) SERIAL PORT TIMING - MODE 0 # 35 PARAMETER Serial Port Cycle Time 36 MAX UNITS (tA=0°C to70°C; VCC=5V ± 5%) SYMBOL tSPCLK MIN 12tCLK Output Data Setup to Rising Clock Edge tDOCH 10tCLK -133 ns 37 Output Data Hold after Rising Clock Edge tCHDO 2tCLK -117 ns 38 Clock Rising Edge to Input Data Valid tCHDV 39 Input Data Hold after Rising Clock Edge tCHDIV SERIAL PORT TIMING - MODE 0 14 of 20 MAX µs 10tCLK -133 0 UNITS ns ns DS2250(T) AC CHARACTERISTICS (cont'd) POWER CYCLING TIMING (tA=0°C to70°C; VCC=5V ± 5%) # 32 PARAMETER Slew Rate from VCCmin to 3.3V SYMBOL tF 33 Crystal Start-up Time tCSU (note 5) 34 Power-On Reset Delay tPOR 21504 POWER CYCLE TIMING 15 of 20 MIN 40 MAX UNITS µs tCLK DS2250(T) AC CHARACTERISTICS (cont'd) PARALLEL PROGRAM LOAD TIMING # 40 PARAMETER Oscillator Frequency 41 (tA=0°C to70°C; VCC=5V ± 5%) SYMBOL 1/tCLK MIN 1.0 Address Setup to PROG Low tAVPRL 0 42 Address Hold after PROG High tPRHAV 0 43 Data Setup to PROG Low tDVPRL 0 44 Data Hold after PROG High tPRHDV 0 45 P2.7, 2.6, 2.5 Setup to VPP tP27HVP 0 46 VPP Setup to PROG Low tVPHPRL 0 47 VPP Hold after PROG Low tPRHVPL 0 48 PROG Width Low tPRW 2400 49 Data Output from Address Valid tAVDV 48 1800* tCLK 50 Data Output from P2.7 Low tDVP27L 48 1800* tCLK 51 Data Float after P2.7 High tP27HDZ 0 48 1800* tCLK 52 Delay to Reset/ PSEN Active after Power On tPORPV 21504 tCLK 53 Reset/ PSEN Active (or Verify Inactive) to VPP High tRAVPH 1200 tCLK 54 VPP Inactive (Between Program Cycles) tVPPPC 1200 tCLK 55 Verify Active Time tVFT 48 2400* tCLK * Second set of numbers refers to expanded memory programming up to 32k bytes. 16 of 20 MAX 12.0 UNITS MHz tCLK DS2250(T) PARALLEL PROGRAM LOAD TIMING CAPACITANCE PARAMETER (test frequency=1MHz; tA=25°C) SYMBOL MIN TYP MAX UNITS Output Capacitance CO 10 pF Input Capacitance CI 10 pF 17 of 20 NOTES DS2250(T) DS2250(T) TYPICAL ICC VS. FREQUENCY FREQUENCY OF OPERATION (MHz) (VCC=+5V, tA=25°C) Normal operation is measured using: 1) External crystals on XTAL1 and 2 2) All port pins disconnected 3) RST=0 volts and EA=VCC 4) Part performing endless loop writing to internal memory Idle mode operation is measured using: 1) External clock source at XTAL1; XTAL2 floating 2) All port pins disconnected 3) RST=0 volts and EA=VCC 4) Part set in IDLE mode by software NOTES: 1. All voltages are referenced to ground. 2. Maximum operating ICC is measured with all output pins disconnected; XTAL1 driven with tCLKR, tCLKF = 10 ns, VIL = 0.5V; XTAL2 disconnected; EA = RST = PORT0 = VCC. 3. Idle mode ICC is measured with all output pins disconnected; XTAL1 driven at 8 MHz with tCLKR, tCLKF = 10 ns, VIL = 0.5V; XTAL2 disconnected; EA = PORT0 = VCC, RST = VSS. 4. Stop mode ICC is measured with all output pins disconnected; EA = PORT0 = VCC; XTAL2 not connected; RST = VSS. 5. Crystal start-up time is the time required to get the mass of the crystal into vibrational motion from the time that power is first applied to the circuit until the first clock pulse is produced by the on-chip oscillator. The user should check with the crystal vendor for the worst case spec on this time. 18 of 20 DS2250(T) PACKAGE DRAWING PKG DIM INCHES MIN MAX A 2.645 2.655 B 2.379 2.389 C 0.845 0.855 D 0.395 0.405 E 0.245 0.255 F 0.050 BSC G 0.075 0.085 H 0.245 0.255 I 0.950 BSC J 0.120 0.130 K 1.320 1.330 L 1.445 1.455 M 0.057 0.067 N - 0.160 O - 0.195 P 0.047 0.054 19 of 20 DS2250(T) DATA SHEET REVISION SUMMARY The following represent the key differences between 12/13/95 and 08/16/96 version of the DS2250(T) data sheet. Please review this summary carefully. 1. Correct Figure 3 to show RST active high. 2. Add minimum value to PCB thickness. 20 of 20