Professional Documents
Culture Documents
Dsa 255459
Dsa 255459
GMS90C31/51/31B/51B, GMS97C51
GMS90L31/51/31B/51B, GMS97L51 (Low voltage versions)
RAM I/O
PORT 0
128 x 8
T0 PORT 1 I/O
8-BIT
CPU
USART
T1 PORT 2 I/O
ROM / EPROM
PORT 3 I/O
4K x 8
Block Diagram
GMS90C32/52/32B/52B, GMS97C52
GMS90L32/52/32B/52B, GMS97L52 (Low voltage versions)
RAM I/O
PORT 0
256 x 8
T0 PORT 1 I/O
8-BIT
T2 CPU
USART
T1 PORT 2 I/O
ROM / EPROM
PORT 3 I/O
8K x 8
Block Diagram
GMS90C54/56/58, GMS97C54/56/58
GMS90L54/56/58, GMS97L54/56/58 (Low voltage versions)
RAM I/O
PORT 0
256 x 8
T0 PORT 1 I/O
8-BIT
T2 CPU
USART
T1 PORT 2 I/O
Block Diagram
128 GMS90L31
128 GMS90L31B
ROM-less 12
256 GMS90L32
256 GMS90L32B
4K 128 GMS90L51
4K 128 GMS90L51B
8K 256 GMS90L52
2.7~5.5 8K 256 GMS90L52B 12
16K 256 *GMS90L54
24K 256 *GMS90L56
32K 256 *GMS90L58
(P-LCC-44)
(P-DIP-40)
(P-MQFP-44)
Logic Symbol
Functional Description
The GMS90 series is fully compatible to the standard 8051 microcontroller family.
It is compatible with the general 8051 family. While maintaining all architectural and operational
characteristics of the general 8051 family.
4/8/1624/32K
Figure 1
Block Diagram of the GMS90 series
CPU
The GMS90 series is efficient both as a controller and as an arithmetic processor. It has extensive facilities
for binary and BCD arithmetic and excels in its bit-handling capabilities. Efficient use of program memory
results from an instruction set consisting of 44% one-byte, 41% two-byte, and 15% three-byte instructions.
With a 12 MHz crystal, 58% of the instructions are executed in 1.0§Á.
MSB LSB
Bit No. 7 6 5 4 3 2 1 0
Addr. D0H CY AC F0 RS1 RS0 OV F1 P PSW
Bit Function
CY Carry Flag
AC Auxiliary Carry Flag (for BCD operations)
OV Overflow Flag
P Parity Flag
Set/cleared by hardware each instruction cycle to indicate an odd/even number
of "one" bits in the accumulator, i.e. even parity.
Table 1
Special Function Registers in Numeric Order of their Addresses
Contents Contents
Address Register Address Register
after Reset after Reset
1)
: Bit-addressable Special Function Register.
2)
: X means that the value is indeterminate and the location is reserved.
3)
: The GMS9xC54/56/58 have the AUXR0 register at address 8EH.
GMS9xC51/52 GMS9xC54/56/58
Contents Contents
Address Register Address Register
after Reset after Reset
Table 2
Special Function Registers - Functional Blocks
1)
Bit-addressable Special Function register
2)
This special function register is listed repeatedly since some bit of it also belong to other functional blocks
3)
X means that the value is indeterminate and the location is reserved
4)
: The AUXR0 is in the GMS9xC54/56/58 only.
Table 3
Contents of SFRS, SFRS in Numeric Order
81H SP
82H DPL
83H DPH
8BH TL1
8CH TH0
8DH TH1
8EH AUXR0 1) - - - - - - - A0 1)
90H P1
A0H P2
B0H P3
C8H T2CON TF2 EXF2 RCLK TCLK EXEN2 TR2 C/T2 CP/RL2
1)
C9H T2MOD - - - - - - T2OE DCEN
Table 3
Contents of SFRS, SFRS in Numeric Order (continued)
CBH RC2H
CCH TL2
CDH TH2
F0H B
In the "counter" function the register is incremented in response to a 1-to-0 transition at its corresponding
external input pin (P3.4/T0, P3.5/T1). Since it takes two machine cycles to detect a falling edge the max.
count rate is fOSC/24. External inputs INT0 and INT1 (P3.2, P3.3) can be programmed to function as a gate
to facilitate pulse width measurements. Figure 2 illustrates the input clock logic.
Figure 2
Timer/Counter 0 and 1 Input Clock Logic
Timer 2
Timer 2 is a 16-bit timer/Counter with an up/down count feature. It can operate either as timer or as an
event counter which is selected by bit C/T2 (T2CON.1). It has three operating modes as shown in
table 5.
Table 5
Timer/Counter 2 Operating Modes
Baud no overflow
Rate 1 X 1 X 0 X interrupt
Gene- request (TF2)
rator 1 X 1 X 1 ¡é extra external max
fOSC/ 2
interrupt fOSC/ 24
("Timer 2")
Table 6
USART Operating Modes
SCON
Mode Baud rate Description
SM0 SM1
Serial data enters and exits through RxD.
0 0 0 fOSC/ 12 TxD outputs the shift clock. 8-bit are
transmitted/received (LSB first)
8-bit UART
1 0 1 Timer 1/2 overflow rate 10 bits are transmitted (through TxD) or
received (RxD)
9-bit UART
2 1 0 fOSC/ 32 or fOSC/ 64 11bits are transmitted (TxD) or
received (RxD)
9-bit UART
3 1 1 Timer 1/2 overflow rate
Like mode 2 except the variable baud rate
Table 7
Formulas for Calculating Baud rates
Baud Rate
Interface Mode Baud rate
derived from
0 fOSC/ 12
Oscillator
2 (2SMOD ¡¿ fOSC) / 64
Interrupt System
The GMS90 series provides 5 or 6 interrupt sources with two priority levels. Figure 3 gives a general
overview of the interrupt sources and illustrates the request and control flags.
Figure 3
Interrupt Request Sources
Table 8
Interrupt Sources and their Corresponding Interrupt Vectors
A low-priority interrupt can itself be interrupted by a high-priority interrupt, but not by another low priority
interrupt. A high-priority interrupt cannot be interrupted by any other interrupt source.
If two requests of different priority level are received simultaneously, the request of higher priority is
serviced. If requests of the same priority are received simultaneously, an internal polling sequence
determines which request is serviced. Thus within each priority level there is a second priority structure
determined by the polling sequence as shown in table 9.
Table 9
Interrupt Priority-Within-Level
Two power down modes are available, the Idle Mode and Power Down Mode.
The bits PDE and IDLE of the register PCON select the Power Down mode or the Idle mode, respectively.
If the Power Down mode and the Idle mode are set at the same time, the Power Down mode takes
precedence. Table 10 gives a general overview of the power saving modes.
Table 10
Power Saving Modes Overview
Entering
Mode Instruction Leaving by Remarks
Example
CPU is gated off
- Enabled interrupt CPU status registers maintain
Idle mode ORL PCON, #01H
- Hardware Reset their data.
Peripherals are active
In the Power Down mode of operation, VCC can be reduced to minimize power consumption. It must be
ensured, however, that VCC is not reduced before the Power Down Mode is invoked, and that VCC is
restored to its normal operating level, before the Power Down mode is terminated. The reset signal that
terminates the Power Down Mode also restarts the oscillator. The reset should not be activated before
VCC is restored to its normal operating level and must be held active long enough to allow the oscillator to
restart and stabilize (similar to power-on reset).
Note : Stresses above those listed under "Absolute Maximum Ratings" may cause permanent damage of
the device. This is a stress rating only and functional operation of the device at these or any other
conditions above those indicated in the operational sections of this specification is not implied. Exposure
to absolute maximum rating conditions for longer periods may affect device reliability. During overload
conditions (VIN > VCC or VIN < VSS) the Voltage on VCC pins with respect to ground (VSS) must not exceed
the values defined by the absolute maximum ratings.
Limit Values
Parameter Symbol Unit Test Condition
min. max.
Input low voltage
VIL -0.5 0.2 V CC - 0.1 V -
(except EA, RESET)
Limit Values
Parameter Symbol Unit Test Condition
min. max.
Input low voltage
VIL -0.5 0.2 VCC - 0.1 V -
(except EA, RESET)
Limit Values
Parameter Symbol Unit Test Condition
min. max.
Input low voltage
VIL -0.5 0.2 V CC - 0.1 V -
(except EA, RESET)
Limit Values
Parameter Symbol Unit Test Condition
min. max.
Input low voltage VIL -0.5 0.8 V -
Limit Values
Parameter Symbol Unit Test Condition
min. max.
Input low voltage VIL -0.5 0.8 V -
Limit Values
Parameter Symbol Unit Test Condition
min. max.
Input low voltage VIL -0.5 0.8 V -
1) Capacitive loading on ports 0 and 2 may cause spurious noise pulses to be superimposed on the VOL
of ALE and port 3. The noise is due to external bus capacitance discharging into the port 0 and
port 2 pins when these pins make 1-to-0 transitions during bus operation. In the worst case
(capacitive loading: > 50pF at 3.3V, > 100pF at 5V), the noise pulse on ALE line may exceed 0.8V.
In such cases it may be desirable to qualify ALE with a schmitt-trigger, or use an address latch
with a schmitt-trigger strobe input.
2)
Capacitive loading on ports0 and 2 may cause the VOH on ALE and PSEN to momentarily fall below
the 0.9VCC specification when the address lines are stabilizing.
3)
IPD (Power Down Mode) is measured under following conditions:
EA = Port0 = VCC; RESET = VSS; XTAL2 = N.C.; XTAL1 = VSS; all other pins are disconnected.
4)
ICC (active mode) is measured with:
XTAL1 driven with tCLCH, tCHCL = 5ns, VIL = VSS + 0.5V, VIH = VCC - 0.5V; XTAL2 = N.C.;
EA = Port0 = RESET = VCC; all other pins are disconnected. ICC would be slightly higher if a crystal
oscillator is used (appr. 1mA).
5)
ICC (Idle mode) is measured with all output pins disconnected and with all peripherals disabled;
XTAL1 driven with tCLCH, tCHCL = 5ns, VIL = VSS + 0.5V, VIH = VCC - 0.5V; XTAL2 = N.C.;
RESET = EA = VSS; Port0 = VCC; all other pins are disconnected;
6)
ICC max at other frequencies is given by:
active mode: ICC = 1.27 ¡¿ fOSC + 5.73
idle mode: ICC = 0.28 ¡¿ fOSC + 1.45 (except OTP devices)
where fOSC is the oscillator frequency in MHz. ICC values are given in mA and measured at VCC = 5V.
Limit Values
Limit Values
Limit Values
Parameter Symbol Variable clock Unit
min. max.
Oscillator period(Vcc=5V) tCLCL 83.3 285.7 ns
Oscillator period(Vcc=3.3V) tCLCL 83.3 1 us
Limit Values
*) Interfacing the GMS90 series to devices with float times up to 35 ns is permissible. This limited bus
contention will not cause any damage to port 0 Drivers.
Limit Values
Limit Values
Limit Values
*) Interfacing the GMS90 series to devices with float times up to 35 ns is permissible. This limited bus contention
will not cause any damage to port 0 Drivers.
Limit Values
Limit Values
Limit Values
*) Interfacing the GMS90 series to devices with float times up to 35 ns is permissible. This limited bus contention
will not cause any damage to port 0 Drivers.
Limit Values
Limit Values
Figure 4
Program Memory Read Cycle
Figure 5
Data Memory Read Cycle
Figure 6
Data Memory Write Cycle
P1.0~P1.7 Address
P2.0~P2.5
P3.4
tAVQV
tELQV tEHQZ
P2.7
ENABLE
Figure 7
OTP ROM Verification Mode 1
VCC - 0.5 V
0.2VCC + 0.9
Test Point
0.2VCC - 0.1
0.45 V
AC Inputs during testing are driven at VCC - 0.5V for a logic "1" and 0.45V for a logic "0". Timing measurements
are made at VIHmin for a logic "1" and VILmax for a logic "0".
Figure 8
AC Testing : Input, Output Waveforms
For timing purposes a port pin is no longer floating when a 100mV change from load voltage occurs and begins to
float when a 100mV change from the loaded VOH / VOL level occurs.
IOL / IOH ¡Ã 20mA.
Figure 9
AC Testing : Float Waveforms
Figure 10
External Clock Cycle
XTAL2 XTAL2
C1 P-LCC-44/Pin 20 N.C. P-LCC-44/Pin 20
P-DIP-40/Pin 18 P-DIP-40/Pin 18
1~40MHz M-QFP-44/Pin 14 M-QFP-44/Pin 14
C2 External Oscillator
XTAL1 XTAL1
Signal
P-LCC-44/Pin 21 P-LCC-44/Pin 21
P-DIP-40/Pin 19 P-DIP-40/Pin 19
M-QFP-44/Pin 15 M-QFP-44/Pin 15
Recommend:
C1,C2 = 30 pF ± 10 pF
(Include stray capacitance)
Figure 11
Recommended Oscillator Circuits
EPROM Characteristics
The GMS97C5x, 97L5x are programmed by using a modified Quick-Pulse ProgrammingTM algorithm. It
differs from older methods in the value used for Vpp (programming supply voltage) and in the width and
number of the ALE/PROG pulses. The GMS97C5x, 97L5x contains two signature bytes that can be read
and used by an EPROM programming system to identify the device. The signature bytes identify the device
as an manufactured by LGS. Table 11 shows the logic levels for reading the signature byte, and for
programming the program memory, the encryption table, and the security bits. The circuit configuration
and waveforms for quick-pulse programming are shown in Figures 12 and 13. Figure 14 shows the circuit
configuration for normal program memory verification.
Quick-pulse programming
The setup for microcontroller quick-pulse programming is shown in Figure 13. Note that the GMS97C5x,
97L5x is running with a 4 to 6MHz oscillator. The reason the oscillator needs to be running is that the
device is executing internal address and program data transfers. The address of the EPROM location to
be programmed is applied to ports 1 and 2, as shown in Figure 12. The code byte to be programmed into
that location is applied to port 0, RST, PSEN and pins of port 2 and 3 in Table 11 are held at the "Program
Data" levels indicated in Table 11. The ALE/PROG is pulsed low 25 times as shown Figure 13. To program
the encryption table, repeat the 25 pulses (10 pulses for 97x54/56/58) programming sequence for
addresses 0 through 1FH(3FH for 97x54/56/58), using the "Pgm Encryption Table" levels. Do not forget
that after the encryption table is programmed, verification cycles will produce only encrypted data. To
program the security bits, repeat the 25 pulses (10 pulses for 97x54/56/58) programming sequence using
the "Pgm Security Bit" levels after one security bit is programmed, further programming of the code memory
and encryption table is disabled. However, the other security bit can still be programmed. Note that the
EA/VPP pin must not be allowed to go above the maximum specified Vpp level for any amount of time.
Even a narrow glitch above that voltage can cause permanent damage to the device. The VPP source
should be well regulated and free glitches and overshoot.
Program Verification
If security bit 2 has not been programmed, the on-chip program memory can be read out for program
verification. The address of the program memory location to be read is applied to ports 1 and 2 as shown
in Figure 15. The other pins are held at the "Verify Code Data" levels indicated in Table 11. The contents
of the address location will be emitted on port 0 for this operation. If the encryption table has been
programmed, the data presented at port 0 will be the exclusive NOR of the program byte with one of the
encryption bytes. The user will have to know the encryption table contents in order to correctly decode the
verification data. The encryption table itself cannot be read out.
GMS97C52/L52 71H
GMS97C56/L56 56H
GMS97C58/L58 58H
Any algorithm in agreement with the conditions listed in Table 11, and which satisfies the timing
specifications is suitable.
Read Signature 1 0 1 1 0 0 0 0
Notes :
1. "0" = Valid low for that pin, "1" = valid high for that pin.
2. Vpp = 12.75V ± 0.25V
3. Vcc = 5V ± 10% during programming and verification.
4. ALE/PROG receives 25 (10 for GMS97x54/56/58) programming pulses while VPP is held at 12.75.
Each programming pulse is low for 100us (± 10us) and high for a minimum of 10us.
or 10
P2.0~P2.5 A8~A13
P3.4 A14
Figure 12
Programming Configuration
25 Pulses
In the GMS97x51/52
ALE/PROG
10uS min.
10 Pulses
In the GMS97x54/56/58
ALE/PROG
Figure 13
PROG Waveform
P2.0~P2.5 A8~A13
P3.4 A14
Figure 14
Program Verification
P1.0~P1.7
P2.0~P2.5
P3.4
Figure 15
EPROM Programming and Verification
Dimensions in mm
Dimensions in mm
* Does not include plastic or metal protrusions of 0.25 max per side
Dimensions in mm