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