EM78M680

EM78M680
On-Board Programming Application Note
1 Introduction
By using Elan’s MTP (Multiple Time Programmable) Writer, it’s easy to perform the in-circuit
programming for Elan’s EM78M680 MTP micro-controllers.
2 About EM78M680
General Description
The EM78M680 is a series of Universal Serial Bus 8-bit RISC Multi-Time Programming (MTP)
micro-controllers. It is specifically designed for USB full-speed device application and to support legacy
device such as keyboard. The EM78M680 also support one device address and five endpoints.
The EM78M680 is implemented on RISC architecture. It has eight-level stack and twelve interrupt
sources. The amount of General-purpose Input/Output pins is up to 36. Each device has 271 bytes SRAM
and is embedded with 32 bytes of E2PROM. The ROM size of the EM78M680 is 6K.
These series of chips have special features that accommodate your needs. These features are:
Dual Clock mode which allows the device to run on very low power saving frequency
Pattern Detecting Application function which is used in a serial transmission to count waveform
width
Width Modulation that can generate a duty-cycle-programmable signal
AD converter with up to 10 bits resolution.
Package Type
40 pin PDIP(600mil)
44 pin QFP(10*10*3.2mm)
20 pin PDIP(300mil)/SOP(300mil)
24 pin PDIP(600mil) /SOP(300mil)
EM78M680(A/D) AP
EM78M680(A/D) AQ
EM78M680(A/D) BP/BM
EM78M680(A/D) CP/CM
Function Type Description
The EM78M680 series has 4 types of packaging. Each type is divided into 2 modules, namely;
original, (without E2PROM and A/D converter), and with both E2PROM and A/D converter. The
Table below summarizes which series of the EM78M680 belong to which module.
Original
EM78M680A
1
With Both
EM78M680D
The contents in this document is subject to be changed without notice
Revision1.4
2007/8/2
EM78M680
On-Board Programming Application Note
3 EM78M680 Program Pin List
Program
Pin Name
IC Pin
Name
I/O
44 Pin
Package
40 Pin
Package
24 Pin
Package
20 Pin
Package
VPP
P94
P
4
9
8
17
Programming Voltage Input = +10V
CLK
P57
I
15
18
13
2
CLK for DATA Pin
DATA
P56
I/O
14
17
12
1
ROM series data Input/Output Pin
PGM
P55
I
13
16
11
20
Program Enable Control Pin
VSS
VSS
P
40
1
2
11
Ground
VNN
VNN
P
7
10
9
18
Programming Voltage Input = -10V
OSC
OSCO
I
39
40
1
10
CLK for MTP memory address increment
VDD
VDD
P
37
38
23
8
Programming Voltage Input = +4V or +2V
/OEB
P54
I
12
15
10
19
Output Enable Control Pin for DATA
4 EM78M680 Dice Pad Vector
3' 3' !#"$! %&('*) ++
#,
Function During Programming Mode
#,,
#,
#,
#,
,
01
.-0
.-0
2
.-/
.-(
.-0
.-
.-21
.-0
The contents in this document is subject to be changed without notice
Revision1.4
2007/8/2
EM78M680
On-Board Programming Application Note
5 ELAN EM78M680 MTPWTR
MTPWTR Front View
MTPWTR Back View
3
The contents in this document is subject to be changed without notice
Revision1.4
2007/8/2
EM78M680
On-Board Programming Application Note
Resister Card View
There are three types of the resister cards for MTPWTR Programming EM78M680.
EM78M680XAP (40Pin Package)
EM78M680XBP (20Pin Package)
EM78M680XCP (24Pin Package)
4
The contents in this document is subject to be changed without notice
Revision1.4
2007/8/2
EM78M680
On-Board Programming Application Note
6 MTPWTR Programming Socket Diagram
EM78M680XAP
1
2
3
4
5
6
7
8
P94(VPP)-9 9
VNN(VNN)-10 10
11
12
13 XAP
14
P54(/OEB)-15 15
P55(PGM)-16 16
P56(DATA)-17 17
P57(CLK)-18 18
19
20
VSS(VSS)-1
EM78M680XBP
40 40-OSCO(OSC)
39
38 38-VDD(VDD)
37
36
35
34
33
32
31
30
29
28
27
26
25
24
23
22
21
1
2
3
4
5
6
7
8
9
10
P56(DATA)-1 11
P57(CLK)-2 12
13 XBP
14
15
16
17
VDD(VDD)-8 18
19
OSCO(OSC)-10 20
40
39
38
37
36
35
34
33
32
31
30 20-P55(PGM)
29 19-P54(/OEB)
28 18-VNN(VNN)
27 17-P94(VPP)
26
25
24
23
22
21 11-VSS(VSS)
EM78M680XCP
1
2
3
4
5
6
7
8
OSCO(OSC)-1 9
VSS(VSS)-2 10
11 XCP
12
13
14
15
P94(VPP)-8 16
VNN(VNN)-9 17
P54(/OEB)-10 18
P55(PGM)-11 19
P56(DATA)-12 20
5
40
39
38
37
36
35
34
33
32
31 23-VDD(VDD)
30
29
28
27
26
25
24
23
22
21 13-P57(CLK)
The contents in this document is subject to be changed without notice
Revision1.4
2007/8/2
EM78M680
On-Board Programming Application Note
7 Application Note
On-Board Programming with EM78M680
The following issues must be carefully noted during on-board programming with EM78M680:
1. Isolation of all programming signal pins from the surrounding circuit.
2. Minimum and maximum operating voltage for VNN, VDD and VPP.
3. Choose the right type of the resister card (XAP/XBP/XCP) for programming.
In a typical application circuit, each pin of the MCU may be connected with several active and/or
passive components. Any component that is still connected to programming pins during programming
could cause an MTP programming error. For example, capacitive loading on a programming signal pin
could negatively affect the programming signal required rise time. Resistive loading will reduce the
necessary programming signal voltages. Therefore, the first step to be taken when implementing the ICP
circuit is to isolate all the programming pins. When the EM78M680 is programmed, the P94/VPP pin must
be supplied with an external 10V DC level and the VNN pin must be supplied with an external –10V DC
level. The VPP pin of EM78M680 also functions as INPUT pin (P94) during normal operation, and is
normally connected to an external Pull-up/Pull-down resister. Therefore, it is recommended to disconnect
the resister to isolate the VPP pin. Another important issue to be noted is the power supply voltage. The
MTP programming specification states that the MCU should be programmed at 5V. When the application
circuit’s operating voltage is other than 5V, the VDD pin should be isolated.
MTP Programming
Precaution should also be exercised when performing MTP programming with its driver capabilities.
The MTPWTR is not designed to drive signals over long connectors. It is therefore recommended that the
cable length between the MTPWTR and the application circuit should be no longer than 20 centimeters. If
the cable length is too long, programming may fail due to signal attenuation.
6
The contents in this document is subject to be changed without notice
Revision1.4
2007/8/2