SyncMOS Technologies International, Inc. SM59128 8-Bits Micro-controller Embedded 128KB flash & 1KB RAM & IIC & SPWM Product List Features SM59128C25, 25MHz 128KB internal flash MCU SM59128C40, 40MHz 128KB internal flash MCU z z z z Description z The SM59128 series product is an 8-bit single chip microcontroller embedded with 128KB on-chip flash with z In-System Programming (ISP) capability and z 1024 bytes RAM. It is a derivative of the 8052 microcontroller z family. In addition, SM59128 has IIC interface which is z compatible with standard VESA DDC/CI and built in 4-channel z SPWM. User can access on-chip expanded RAM by its ‘bank z mapping direct addressing mode’ scheme. With its hardware z features and powerful instruction sets, it’s straight forward to z make it a versatile and cost effective controller for those applications which demand up to 32 I/O pins for PDIP package or z z up to 36 I/O pins for PLCC or QFP package, or applications which need up to 64K bytes flash memory for program and/or for z z data. z To program the on-chip flash memory, commercial writers are available by parallel programming method. On the other hand, z z the on-chip flash memory can be programmed through either z parallel or serial interface with its ISP feature. z Ordering Information z z z yymmv SM59128ihhkL z yy: year, mm: month v: version identifier{ , A, B,…} i: process identifier {L=3.0V~3.6V,C=4.5V~ 5.5V} hh: working clock in MHz {25, 40} k: package type postfix {as below table} L: PB Free identifier {No text is Non-PB Free,”P”is PB Free} Postfix P J Q Package 40L PDIP 44L PLCC 44L QFP Working Voltage: 4.5V to 5.5 V General 8052 family compatible 12 clocks per machine cycle 128K bytes on-chip flash with In-System Programming (ISP) capability IIC (Two wire serial bus) interface compliant with VESA DDC 2B/2Bi/2B+ standard On-chip 1024 bytes RAM Three 16-bit Timers/Counters One Watch Dog Timer Four 8-bit I/O ports for PDIP package Four 8-bit I/O ports + one 4-bit I/O ports for PLCC or QFP package Full duplex serial channel Bit operation instruction Temperature range of Industrial level 8-bit Unsigned Division 8-bit Unsigned Multiply BCD arithmetic Direct Addressing Indirect Addressing Nested Interrupt Two priority level interrupt A serial I/O port Power-Saving mode: Idle mode and Power-down mode Code protection function Low EMI (inhibit ALE) Reset with address $0000 blank initiate ISP service program Configurable ISP service program space with N*512 bytes (N=0 to 8) size z 4-channel SPWM function z Flash Memory Endurance : 100K erase and write cycles each byte at TA=25℃ z Flash Memory Data Retention :10 years Taiwan 6F, No.10-2 Li- Hsin 1st Road , Science-based Industrial Park, Hsinchu, Taiwan 30078 Pin / Pad Configuration Page 2 Page 3 Page 4 TEL: 886-3-567-1820 886-3-567-1880 FAX: 886-3-567-1891 886-3-567-1894 Specifications subject to change without notice contact your sales representatives for the most recent information. ISSFD-M027Ver: B SM59128 1 06/2009 SyncMOS Technologies International, Inc. SM59128 8-Bits Micro-controller Embedded 128KB flash & 1KB RAM & IIC & SPWM Pin Configuration 1 40 VDD T2EX/P1.1 2 39 P0.0/AD0 SPWM0/P1.2 3 38 P0.1/AD1 SPWM1/P1.3 4 37 P0.2/AD2 SPWM2/P1.4 5 36 P0.3/AD3 SPWM3/P1.5 6 35 P0.4/AD4 SCL/P1.6 7 34 P0.5/AD5 SDA/P1.7 8 33 P0.6/AD6 RESET 9 32 P0.7/AD7 RXD/P3.0 10 31 EA TXD/P3.1 11 30 ALE INT0/P3.2 12 29 PSEN INT1/P3.3 13 28 P2.7/A15 T0/P3.4 14 27 P2.6/A14 T1/P3.5 15 26 P2.5/A13 WR/P3.6 16 25 P2.4/A12 RD/P3.7 17 24 P2.3/A11 XTAL2 18 23 P2.2/A10 XTAL1 19 22 P2.1/A9 VSS 20 21 P2.0/A8 SyncMOS T2/P1.0 Specifications subject to change without notice contact your sales representatives for the most recent information. ISSFD-M027Ver: B SM59128 2 06/2009 SyncMOS Technologies International, Inc. SM59128 39 38 P0.3/AD3 P2.7/A15 T0/P3.4 P2.6/A14 T1/P3.5 P2.5/A13 18 19 20 21 22 23 24 25 26 27 28 A12/P2.4 37 P0.2/AD2 INT1/P3.3 A11/P2.3 36 P0.1/AD1 PSEN A10/P2.2 35 P0.0/AD0 INT0/P3.2 A9/P2.1 34 VDD ALE A8/P2.0 TXD/P3.1 33 P4.2 P4.1 P4.0 P4.3 32 P1.0/T2 EA VSS RXD/P3.0 31 P1.1/T2EX P0.7/AD7 XTAL1 RESET 30 P1.2/SPWM0 P0.6/AD6 XTAL2 SDA/P1.7 SCL/P1.6 RD/P3.7 P0.5/AD5 SPWM3/P1.5 WR/P3.6 P0.4/AD4 29 P1.3/SPWM1 40 7 41 8 42 9 43 10 44 11 1 12 2 13 3 14 4 15 5 16 6 17 P1.4/SPWM2 8-Bits Micro-controller Embedded 128KB flash & 1KB RAM & IIC & SPWM Specifications subject to change without notice contact your sales representatives for the most recent information. ISSFD-M027Ver: B SM59128 3 06/2009 SyncMOS Technologies International, Inc. SM59128 P0.4/AD4 P0.5/AD5 P0.6/AD6 P0.7/AD7 EA P4.1 ALE PSEN P2.7/A15 P2.6/A14 P2.5/A13 33 32 31 30 29 28 27 26 25 24 23 8-Bits Micro-controller Embedded 128KB flash & 1KB RAM & IIC & SPWM 17 P4.0 T2/P1.0 40 16 VSS T2EX/P1.1 41 15 XTAL1 SPWM0/P1.2 42 14 XTAL2 SPWM1/P1.3 43 13 P3.7/RD SPWM2/P1.4 44 12 P3.6/WR 11 39 T1/P3.5 P4.2 10 P2.0/A8 T0/P3.4 18 9 38 INT1/P3.3 VDD 8 P2.1/A9 INT0/P3.2 19 7 37 TXD/P3.1 AD0/P0.0 6 P2.2/A10 P4.3 20 5 36 RXD/P3.0 AD1/P0.1 4 P2.3/A11 RESET 21 3 35 SDA/P1.7 AD2/P0.2 2 P2.4/A12 SCL/P1.6 22 1 34 SPWM3/P1.5 AD3/P0.3 Specifications subject to change without notice contact your sales representatives for the most recent information. ISSFD-M027Ver: B SM59128 4 06/2009 SyncMOS Technologies International, Inc. SM59128 8-Bits Micro-controller Embedded 128KB flash & 1KB RAM & IIC & SPWM Block Diagram Timer 2 Timer 1 Timer 0 Stack Pointer Decoder & Register 1024 Bytes Ram Buffer WDT ACC Reset Circuit Power Circuit Xtal2 Xtal1 #EA ALE #PSEN DPTR To pertinent blocks To whole chip Interrupt Circuit To pertinent blocks Timing Generator To whole system Buffer2 PC Incrementer Buffer1 ALU Timer 2 PSW Timer 2 Instruction Register ISP Port 0 Latch Port 1 Latch Port 2 Latch Port 3 Latch Port 4 Latch SPWM & IIC Port 0 Driver & Mux Port 1 Driver & Mux Port 2 Driver & Mux Port 3 Driver & Mux Port 4 Driver & Mux 8 8 8 8 8 1FFFFH 64 K Bytes Program Flash Bank 1 ISP 10000H FFFFH 64 K Bytes Program Flash Bank 0 0000H Specifications subject to change without notice contact your sales representatives for the most recent information. ISSFD-M027Ver: B SM59128 5 06/2009 SyncMOS Technologies International, Inc. SM59128 8-Bits Micro-controller Embedded 128KB flash & 1KB RAM & IIC & SPWM Pin Description 40L PDIP Pin# 44L QFP Pin# 44L PLCC Pin# Symbol 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 40 41 42 43 44 1 2 3 4 5 7 8 9 10 11 12 13 14 15 16 18 19 20 21 22 23 24 25 26 27 29 30 31 32 33 34 35 36 37 38 17 28 39 6 2 3 4 5 6 7 8 9 10 11 13 14 15 16 17 18 19 20 21 22 24 25 26 27 28 29 30 31 32 33 35 36 37 38 39 40 41 42 43 44 23 34 1 12 P1.0/T2 P1.1/T2EX P1.2 P1.3/SPWM0 P1.4/SPWM1 P1.5/SPWM2 P1.6/SCL P1.7/SDA RES P3.0/RXD P3.1/TXD P3.2/#INT0 P3.3/#INT1 P3.4/T0 P3.5/T1 P3.6/#WR P3.7/#RD XTAL2 XTAL1 VSS 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 #EA 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 P4.0 P4.1 P4.2 P4.3 Active H L/L/- L I/O Names i/o i/o i/o i/o i/o i/o i/o i/o i i/o i/o i/o i/o i/o i/o i/o i/o o i bit 0 of port 1 & timer 2 clock out bit 1 of port 1 & timer 2 control bit 2 of port 1 bit 3 of port 1 & SPWM channel 0 bit 4 of port 1 & SPWM channel 1 bit 5 of port 1 & SPWM channel 2 bit 6 of port 1 & IIC Bus Clock bit 7 of port 1 & IIC Bus Data Reset bit 0 of port 3 & Receiver data bit 1 of port 3 & Transmit data bit 2 of port 3 & low true interrupt 0 bit 3 of port 3 & low true interrupt 1 bit 4 of port 3 & Timer 0 bit 5 of port 3 & Timer 1 bit 6 of port 3 & ext. memory write bit 7 of port 3 & ext. memory Read Crystal out Crystal in Sink Voltage, Ground bit 0 of port 2 & bit 8 of ext. memory address bit 1 of port 2 & bit 9 of ext. memory address bit 2 of port 2 & bit 10 of ext. memory address bit 3 of port 2 & bit 11 of ext. memory address bit 4 of port 2 & bit 12 of ext. memory address bit 5 of port 2 & bit 13 of ext. memory address bit 6 of port 2 & bit 14 of ext. memory address bit 7 of port 2 & bit 15 of ext. memory address program storage enable address latch enable external access bit 7 of port 0 & data/address bit 7 of ext. memory bit 6 of port 0 & data/address bit 6 of ext. memory bit 5 of port 0 & data/address bit 5 of ext. memory bit 4 of port 0 & data/address bit 4 of ext. memory bit 3 of port 0 & data/address bit 3 of ext. memory bit 2 of port 0 & data/address bit 2 of ext. memory bit 1 of port 0 & data/address bit 1 of ext. memory bit 0 of port 0 & data/address bit 0 of ext. memory Drive Voltage, +5 Vcc bit 0 of Port 4 bit 1 of Port 4 bit 2 of Port 4 bit 3 of port 4 i/o i/o i/o i/o i/o i/o i/o i/o o o I i/o i/o i/o i/o i/o i/o i/o i/o i/o i/o i/o i/o Specifications subject to change without notice contact your sales representatives for the most recent information. ISSFD-M027Ver: B SM59128 6 06/2009 SyncMOS Technologies International, Inc. SM59128 8-Bits Micro-controller Embedded 128KB flash & 1KB RAM & IIC & SPWM Special Function Register (SFR) The address $80 to $FF can be accessed by direct addressing mode only. Address $80 to $FF is SFR area. The following table lists the SFR’s, which are identical to general 8052, as well as SM59128 Extension SFR’s. Special Function Register (SFR) Memory Map $F8 $F0 $E8 $E0 $D8 $D0 $C8 $C0 $B8 $B0 $A8 $A0 $98 $90 $88 $80 B ACC P4 PSW T2CON IICS IP P3 IE P2 SCON P1 TCON P0 T2MOD IICA IP1 RCAP2L IICC1 IE1 IFR RCAP2H IICC2 ISPFAL TL2 IICTxD TH2 IICRxD ISPFD ISPC SCONF SBUF TMOD SP ISPFAH TL0 DPL SPWMC P1CON SPWMD0 SPWMD1 TL1 DPH TH0 TH1 RCON SPWMD2 SPWMD3 WDTC WDTKEY PCON $FF $F7 $EF $E7 $DF $D7 $CF $C7 $BF $B7 $AF $A7 $9F $97 $8F $87 Note: The text of SFRs with bold type characters are Extension Special Function Registers for SM59128 Addr SFR Reset 7 6 5 4 3 2 1 0 85H RCON 00H RAMS7 RAMS6 RAMS5 RAMS4 RAMS3 RAMS2 RAMS1 RAMS0 WDTKEY1 WDTKEY0 PS2 PS1 PS0 97H WDTKEY 00H WDTKEY7 WDTKEY6 WDTKEY5 WDTKEY4 WDTKEY3 WDTKEY2 9BH P1CON **0000** IICSDAE IICSCLE SPWME3 SPWME2 SPWME1 SPWME0 9FH WDTC 0*0**000 WDTE A3H SPWMC ******00 SPFS1 SPFS0 A4H SPWMD0 00H SPWMD04 SPWMD03 SPWMD02 SPWMD01 SPWMD00 BRM02 BRM01 BRM00 A5H SPWMD1 00H SPWMD14 SPWMD13 SPWMD12 SPWMD11 SPWMD10 BRM12 BRM11 BRM10 A6H SPWMD2 00H SPWMD24 SPWMD23 SPWMD22 SPWMD21 SPWMD20 BRM22 BRM21 BRM20 A7H SPWMD3 00H SPWMD34 SPWMD33 SPWMD32 SPWMD31 SPWMD30 BRM32 BRM31 BRM30 BFH SCONF 0***0000 WDR BANK ISPE OME ALEI CLEAR C0H IICS 0000*100 RXIF TXIF TFIF NAKIF C1H IICA 10100000 IICA7 IICA6 IICA5 IICA4 C2H IICC1 0***0001 IICE C3H IICC2 00H Match SRW C4H IICTxD FFH IICTxD7 IICTxD6 RXAK MASTER TXAK IICA3 IICA2 IICA1 EXT ADDR Bus Busy IICFS2 IICFS1 IICFS0 RESTART IICTxD5 IICTxD4 IICTxD3 MRW IICTxD2 IICTxD1 Specifications subject to change without notice contact your sales representatives for the most recent information. ISSFD-M027Ver: B SM59128 7 06/2009 IICTxD0 SyncMOS Technologies International, Inc. SM59128 8-Bits Micro-controller Embedded 128KB flash & 1KB RAM & IIC & SPWM C5H IICRxD 00H A9H IE1 IICRxD7 IICRxD6 IICRxD5 IICRxD4 IICRxD3 IICRxD2 00 EIIC AAH IFR 00 IICF IICRxD1 IICRxD0 BAH IP1 00 C8H T2CON 00H TF2 EXF2 RCLK TCLK EXEN2 TR2 C/T2 PIIC CP/RL2 C9H T2MOD ******00 * * * * * * T2OE DCEN D8H P4 ****1111 P4.3 P4.2 P4.1 P4.0 F4H ISPFAH 00H FA15 FA14 FA13 FA12 FA11 FA10 FA9 FA8 F5H ISPFAL 00H FA7 FA6 FA5 FA4 FA3 FA2 FA1 FA0 F6H ISPFD 00H FD7 FD6 FD5 FD4 FD3 FD2 FD1 FD0 F7H ISPC 0*0***00 START F1 F0 FAU0 Extension Function Description 1. Memory Structure The SM59128 has the general 8052 hardware core integration of expanded 768 bytes data RAM and 128K bytes flash. The 128K bytes on-chip flash is divided in two 64K bytes program memory space. 1.1 Program Memory The SM59128 has two 64K bytes on-chip flash memory space as general program memory denoted by bank0 and bank1. Both bank0 and bank1 have up to 4K bytes specific ISP service program memory space. The address range of the 128K bytes is from $0000H to $1FFFFH, the total available ISP service program space is from $F000H to $FFFFH in bank0 and $1F000H to $1FFFFH in bank1. The ISP service program size can be partitioned to N blocks of 512 bytes (N=0 to 8). When N=0 means no ISP service program space is available, total 128K bytes flash memory space is for main program. When N=1 means memory address $FE00H to $FFFFH and $1FE00H to $1FFFFH are reserved for ISP service program. When N=2 means memory address $FC00H to $FFFFH and $1FC00H to $1FFFFH are reserved for ISP service program...etc. User is able to select and program the number of N by writer. The feature of FLASH memory is shown as following: READ: byte-wise WRITE: byte-wise within 30us (previously erased by a chip erase). ERASE: Full Erase (64K bytes) within 2 sec. Erased bytes contain FFH Endurance : 100K erase and write cycles each byte at TA=25℃ Retention : 10 years 1.1.1 Program Code Security MOVC instruction executed from external program memory space will not be able to fetch internal codes from on-chip program memory space when the chip is protected. Specifications subject to change without notice contact your sales representatives for the most recent information. ISSFD-M027Ver: B SM59128 8 06/2009 SyncMOS Technologies International, Inc. SM59128 8-Bits Micro-controller Embedded 128KB flash & 1KB RAM & IIC & SPWM 64 K Bytes Program Flash Bank 1 64 K Bytes Program Flash Bank 0 1FFFFH (N=0) 1FE00H (N=1) 1FC00H (N=2) 1FA00H (N=3) 1F800H (N=4) 1F600H (N=5) 1F400H (N=6) 1F200H (N=7) 1F000H (N=8) ISP service program space up to 4K 10000H FFFFH (N=0) FE00H (N=1) FC00H (N=2) FA00H (N=3) F800H (N=4) F600H (N=5) F400H (N=6) F200H (N=7) F000H (N=8) ISP service program space up to 4K 0000H Note: The single flash block address structure of doing the ISP function for the on-chip data flash as well as program flash. BANK 0 1 128K Program Flash BANK0 (64K Flash) BANK1 (64K Flash) ISP Code ISP Code 64K Bytes Program Flash 64K Bytes Program Flash BANK0 BANK1 Main Code Main Code Specifications subject to change without notice contact your sales representatives for the most recent information. ISSFD-M027Ver: B SM59128 9 06/2009 SyncMOS Technologies International, Inc. SM59128 8-Bits Micro-controller Embedded 128KB flash & 1KB RAM & IIC & SPWM 1.2 Data Memory The SM59128 has 1024 bytes on-chip RAM consists of 256 bytes as same as 8052 internal memory structure and expanded 768 bytes on-chip RAM that can be accessed by external memory addressing method (by instruction MOVX), or by ‘Bank mapping direct addressing mode’. User can use MOVX instruction to access internal RAM or external memory by setting OME. The different setting of OME will map to different memory block. OME address of MOVX below 768 address of MOVX over 768 0 external memory external memory 1 internal RAM external memory 1.2.1 Data Memory - Lower 128 byte ($00 to $7F) Data Memory $00 to $FF follow 8052. The address $00 to $7F can be accessed by direct and indirect addressing modes. Address $00 to $1F is register area. Address $20 to $2F is memory bit area. Address $30 to $7F is general memory area. 1.2.2 Data Memory - Higher 128 byte ($80 to $FF) The address $80 to $FF can be accessed by indirect addressing mode or by bank mapping direct addressing mode. Address $80 to $FF is data area. Specifications subject to change without notice contact your sales representatives for the most recent information. ISSFD-M027Ver: B SM59128 10 06/2009 SyncMOS Technologies International, Inc. SM59128 8-Bits Micro-controller Embedded 128KB flash & 1KB RAM & IIC & SPWM 1.3 I/O Pin Configuration The ports 1, 2 and 3 of standard 8051 have internal pull-up resistor, and port 0 has open-drain output. Each I/O pin can be used independently as an input or an output. When an I/O port used as an input pin, the port bit latch must contain a ‘1’ to turn off the output driver FET. Port 1, 2 and 3 pins are pulled high by a weak internal pull-up, and can be pulled low by an external source. The port 0 has open-drain output which means its pull-ups are not active during normal port operation. Writing ‘1’ to the port 0 bit latch will cause bit floating so that it can be used as a high-impedance input. The port 4 can be used as GPIO has the same function as port 1, 2 and 3. 2. Port 4 for PLCC or QFP package: The bit addressable port 4 is available with PLCC or QFP package. The port 4 has only 4 pins and port address is located at 0D8H. The function of port 4 is as same as port 1, port 2 and port 3. Port4 (P4, $D8) bit-7 Read / Write: bit-0 Unused Unused Unused Unused P4.3 P4.2 P4.1 P4.0 - - - - R/W R/W R/W R/W 1 1 Reset value: * * * * 1 1 The bit 3, bit 2, bit 1, bit 0 out put the setting to pin P4.3, P4.2, P4.1, P4.0, respectively. 3. In-System Programming (ISP) Function The SM59128 can generate flash control signals by internal hardware circuit. User is able to utilize flash control register, flash address register and flash data register to execute the in-system programming (ISP) function without removing the SM59128 from system board. The SM59128 provides internal flash control signals for users who would like to perform on-line data update by utilizing ISP service program to execute the flash program/chip erase/page erase/protect functions. Specifications subject to change without notice contact your sales representatives for the most recent information. ISSFD-M027Ver: B SM59128 11 06/2009 SyncMOS Technologies International, Inc. SM59128 8-Bits Micro-controller Embedded 128KB flash & 1KB RAM & IIC & SPWM 3.1 ISP Service Program The ISP service program is a user-develop firmware program, which resides in the ISP service program space that is reserved by N*512 bytes (N=0 to 8). After user develops the ISP service program, user shall determine the size of the ISP service program space by setting a fittest N value before programming the ISP program code into the SM59128. The ISP service program is developed by either IC vendor or user his own, and it shall include the features which relate to the flash memory programming function as well as communication protocol between SM59128 and host device. For example, if user utilizes UART interface to receive/transmit data between SM59128 and host device, the ISP service program shall include baud rate, checksum, parity check or any error-checking mechanism to avoid data transmission error. User shall note the ISP service program can be initiated under active or idle mode, cannot be initiated under power down mode. 3.2 Lock Bit (N) The Lock Bit, N represents two functions, the first is for service program size configuration and the second is to protect and prevent the ISP service program space from erase. The address range for the ISP service program is from $F000H to $FFFFH of bank0 and $1F000H to $1FFFFH of bank1. It can be divided to blocks of N*512 bytes (N=0 to 8). When N=0 means no ISP space, all of 128K byte flash memory can be only used as program memory. When N=1 means ISP service program occupies 512 bytes , the rest of 63.5K bytes in both bank0 and bank1 can be used as program memory. The allowed maxima ISP service program space is 4K bytes (N=8). Under such configuration, the usable program memory space is 60K bytes in each bank. After the lock bit N is determined, SM59128 will reserve the ISP service program space downward from the top of the program address $FFFFH of bank0 and $1FFFFH of bank1. The starting address of the ISP service program locates at $Fx00H and $1Fx00H while x is an even number depending on the lock bit N. Please see page 7 to refer ISP service program space structure. The setting of lock bit N is different from the setting of flash protect function. The ISP chip erase function is able to erase all of the 128KB flash memory space except the locked ISP service program space of bank0 ( Note: The locked ISP service program space of bank1 will be erased if user executes ISP chip erase function). If SM59128 is not protected, the content of flash data is readable. If SM59128 is protected, the whole flash program memory space including ISP service program can not be read. 3.3 Program the ISP Service Program After setting the lock bit N and ISP service program has been programmed, the ISP service program memory will be protected (locked) automatically. The lock bit N internally is controlled by a specific program/erase timing which is different from the program/erase timing of flash function. User can erase the locked ISP service program by writer only. The ISP chip erase function is able to erase all of the 128KB flash memory space except the locked ISP service program space of bank0 ( Note: The locked ISP service program space of bank1 will be erased if user executes ISP chip erase function). User can not update any ISP service program code while SM59128 residents on system board. 3.4 Initiate ISP Service Program To initiate the ISP service program means to load the program counter (PC) with starting address of ISP service program and execute. There are three ways to approach: (1) Blank reset: When Hardware resets and the first address is blank ($0000=#FFH) will automatically load the PC with starting address of ISP service program and execute. Specifications subject to change without notice contact your sales representatives for the most recent information. ISSFD-M027Ver: B SM59128 12 06/2009 SyncMOS Technologies International, Inc. SM59128 8-Bits Micro-controller Embedded 128KB flash & 1KB RAM & IIC & SPWM (2) ‘JUMP’ instruction: Load the starting address of the ISP service program to PC and execute. (3) Hardware setting: User can force SM59128 to enter/execute ISP service program by setting P2.6, P2.7 as “low” or setting P4.3 as “low” during hardware reset period. User must be careful on setting of P2.6, P2.7 and P4.3 during reset period to prevent SM59128 from accidentally entering ISP service program. Hardware setting to enter/execute ISP service program: User can initiate general 8052 UART function to initiate the ISP service program. After ISP service program executed, user needs to reset the SM59128, either by hardware reset or by WDT, or jump to the address $0000 to re-start the firmware program. 3.5 ISP Registers - System Control Register (SCONF, $BF) bit-7 Read / Write: bit-0 WDTE Unused Unused Unused BANK ISPE OME ALEI R/W - - - R/W R/W R/W R/W Reset value: 0 * * * 0 0 0 0 The bit 2 (ISPE) of SCONF is the bit for ISP enable. User can enable overall ISP function by setting ISPE bit to ‘1’, setting ISPE to ‘0’ will disable overall ISP function. The function of ISPE is like a security key. User can disable overall ISP function to prevent user’s software program be erased accidentally. 3.6 ISP Registers: ISPFAH, ISPFAL, ISPFD and ISPC registers The ISPFAH & ISPFAL provide the 16-bit flash memory addressing for ISP function. The flash memory address should not include the ISP service program space address. If the address of ISPFAH & ISPFAL registers overlay the ISP service program space that is under protection, the ISP function of flash program/page erase can not be executed effectively. When performing byte program ISP function, the content of ISPFD register will be programmed to the flash Specifications subject to change without notice contact your sales representatives for the most recent information. ISSFD-M027Ver: B SM59128 13 06/2009 SyncMOS Technologies International, Inc. SM59128 8-Bits Micro-controller Embedded 128KB flash & 1KB RAM & IIC & SPWM address, which is pointed by ISPFAH and ISPFAL registers. ISP Registers- Flash Address-High Register (ISPFAH, $F4) bit-7 Read / Write: bit-0 FA15 FA14 FA13 FA12 FA11 FA10 FA9 FA8 R/W R/W R/W R/W R/W R/W R/W R/W 0 0 0 0 0 Reset value: 0 0 0 FA15 ~ FA8: flash address (high) for ISP function ISP Registers - Flash Address-Low Register (ISPFAL, $F5) bit-7 Read / Write: bit-0 FA7 FA6 FA5 FA4 FA3 FA2 FA1 FA0 R/W R/W R/W R/W R/W R/W R/W R/W 0 0 0 0 0 Reset value: 0 0 0 FA7 ~ FA0: flash address (low) for ISP function The ISPFAH & ISPFAL provide the 16-bit flash memory addressing for ISP function. The flash memory address should not include the ISP service program space address. If the address of ISPFAH & ISPFAL registers overlay the ISP service program space that is under protection, the ISP function of flash program/page erase can not be executed effectively. ISP Registers - Flash Data Register (ISPFD, $F6) bit-7 Read / Write: bit-0 FD7 FD6 FD5 FD4 FD3 FD2 FD1 FD0 R/W R/W R/W R/W R/W R/W R/W R/W 0 0 0 0 0 0 Reset value: 0 0 FD7 ~FD0: flash data for ISP function The ISPFD provides the 8-bit data for ISP function ISP Registers -Flash Control Register (ISPC, $F7) bit-7 bit-0 START Unused FAU0 Unused Unused Unused ISPF1 ISPF0 Read / Write: R/W - R/W - - - R/W R/W Reset value: 0 * 0 * * * 0 0 ISPF [1:0]: ISP function select bit Specifications subject to change without notice contact your sales representatives for the most recent information. ISSFD-M027Ver: B SM59128 14 06/2009 SyncMOS Technologies International, Inc. SM59128 8-Bits Micro-controller Embedded 128KB flash & 1KB RAM & IIC & SPWM ISPF [1:0] ISP function 00 Byte program 01 Chip protect 10 Page erase (512Byte) 11 Chip erase ※The ISP chip erase function is able to erase all of the 128KB flash memory space except the locked ISP service program space of bank0 ( Note: The locked ISP service program space of bank1 will be erased if user executes ISP chip erase function). START: ISP function start bit = 1: start ISP function which indicated by bit 1, bit 0 (ISPF1, ISPF0) = 0: no operation FAU0: 64K program Flash bank select bit (only in ISP mode used) = 1: selected 64K bank1 flash = 0: selected 64K bank0 flash Note: The default START bit is read-only , user’s software must write three specific values 55H, AAH and 55H sequentially to the ISPFD register to enable the START bit write attribute. That is: MOV ISPFD, #55H MOV ISPFD, #0AAH MOV ISPFD, #55H After START bit is set to 1 then the SM59128 hardware circuit will latch flash address and data bus and hold the program counter until the START bit reset to 0 when ISP function was finished. The program counter (PC) will point to next instruction after START bit reset to 0. User does not need to check START bit status by software method. Before executing byte program/page erase ISP function, user needs to specify flash address at first. When executing page erase function, SM59128 will erase whole page of flash address indicated by ISPFAH & ISPFAL registers within the page. Example: flash address: $XYMN Page erase function will erase address from $XY00 to $X(Y+1)FF (Y: even number), or Page erase function will erase address from $X(Y-1)00 to $XYFF (Y: odd number) To perform the ISP chip erase function, SM59128 will erase all the flash program memory and data flash memory except the ISP service program space if lock bit N has been configured. Also, SM59128 will de-protect the flash memory automatically. After chip protect ISP function is executed, all the flash memory will be read as #00H. Example: ISP service program performs the “byte program” - to program #22H to the address $1005H MOV ISPFD, #55H MOV ISPFD, #0AAH MOV ISPFD, #55H MOV 0BFh, #04H MOV 0F4h, #10H MOV 0F5h, #05H MOV 0F6h, #22H MOV 0F7h, #80H ; enable SM59128 ISP function ; set flash address-high, 10H ; set flash address-low, 05H ; set flash data to be programmed, data = 22H ; start to program #22H to the flash address $1005H ; after byte program finished, START bit of FCR will be reset to 0 automatically ; program counter then point to the next instruction Specifications subject to change without notice contact your sales representatives for the most recent information. ISSFD-M027Ver: B SM59128 15 06/2009 SyncMOS Technologies International, Inc. SM59128 8-Bits Micro-controller Embedded 128KB flash & 1KB RAM & IIC & SPWM 4. Watch Dog Timer The Watch Dog Timer (WDT) is a 16-bit free-running counter that generate reset signal if the counter overflows. The WDT is useful for systems, which are susceptible to noise, power glitches, or electronics discharge which causing software dead loop or runaway. The WDT function can help user software recover from abnormal software condition. The WDT is different from Timer0, Timer1 and Timer2 of general 8052. To prevent a WDT reset can be done by software periodically clearing the WDT counter. User should check WDR bit of SCONF register whenever un-predicted reset happened The purpose of the secure procedure is to prevent the WDTC value from being changed when system runaway. There is a 250KHz RC oscillator embedded in chip. Set WDTE = “1” will enable the RC oscillator and the frequency is independent to the system frequency. To enable the WDT is done by setting 1 to the bit 7 (WDTE) of WDTC. After WDTE set to 1, the 16-bit counter starts to count with the RC oscillator. It will generate a reset signal when overflows. The WDTE bit will be cleared to 0 automatically when SM59128 been reset, either hardware reset or WDT reset. To reset the WDT is done by setting 1 to the CLEAR bit of WDTC before the counter overflow. This will clear the content of the 16-bit counter and let the counter re-start to count from the beginning. 4.1 Watch Dog Timer Registers: Watch Dog Timer Registers - WDT Control Register (WDTC, $9F) bit-7 bit-0 WDTE Reserve Clear Unused Unused PS2 PS1 PS0 Read / Write: R/W - R/W - - R/W R/W R/W Reset value: 0 * 0 * * 0 0 0 WDTE : Watch Dog Timer enable bit CLEAR : Watch Dog Timer reset bit PS[2:0] : Overflow period select bits PS [2:0] Overflow Period (ms) 000 2.048 001 4.096 010 8.192 011 16.384 100 32.768 101 65.536 110 131.072 111 262.144 Specifications subject to change without notice contact your sales representatives for the most recent information. ISSFD-M027Ver: B SM59128 16 06/2009 SyncMOS Technologies International, Inc. SM59128 8-Bits Micro-controller Embedded 128KB flash & 1KB RAM & IIC & SPWM Watch Dog Key Register - (WDTKEY, $97H) bit-7 bit-0 Read / Write: WDT KEY7 W WDT KEY6 W WDT KEY5 W WDT KEY4 W WDT KEY3 W WDT KEY2 W WDT KEY1 W WDT KEY0 W Reset value: 0 0 0 0 0 0 0 0 By default, the WDTC is read only. User need to write values 1EH, E1H sequentially to the WDTKEY($97H) register to enable the WDTC write attribute, That is MOV WDTKEY, # 1EH MOV WDTKEY, # 0E1H When WDTC is set, user need to write another values E1H, 1EH sequentially to the WDTKEY($97H) register to disable the WDTC write attribute, That is MOV WDTKEY, # 0E1H MOV WDTKEY, # 1EH Watch Dog Timer Register - System Control Register (SCONF, $BF) Read / Write: bit-7 WDR Unused Unused Unused BANK ISPE OME bit-0 ALEI R/W - - - R/W R/W R/W R/W Reset value: 0 * * * 0 0 0 0 The bit 7 (WDR) of SCONF is Watch Dog Timer Reset bit. It will be set to “1” when reset signal generated by WDT overflow. User should check WDR bit whenever un-predicted reset happened 5. Reduce EMI Function The SM59128 allows user to reduce the EMI emission by setting 1 to the bit 0 (ALEI) of SCONF register. This function will inhibit the clock signal in Fosc/6Hz output to the ALE pin. 6. Specific Pulse Width Modulation (SPWM) The Specific Pulse Width Modulation (SPWM) module contains 1 kind of PWM sub module: SPWM (Specific PWM). SPWM has five 8-bit channels. 6.1 SPWM Function Description: The 8-bit SPWM channel is composed of an 8-bit register, which contains a 5-bit SPWM in MSB portion and a 3-bit binary rate multiplier (BRM) in LSB portion. The value that programmed in the 5-bit SPWM portion will determine the pulse length of the output. The 3-bit BRM portion will generate and insert certain narrow pulses among an 8-SPWM-cycle frame. The number of pulses generated is equal to the number programmed in the 3-bit BRM portion. The usage of the BRM is to generate equivalent 8-bit resolution SPWM type DAC with reasonably high repetition rate through 5-bit SPWM clock speed. The SPFS[1:0] settings of SPWMC ($A3) register are dividend of Fosc to be SPWM clock, Fosc/2^(SPFS[1:0]+1). The SPWM output cycle frame repetition rate (frequency) equals (SPWM clock)/32 which is [Fosc/2^(SPFS[1:0]+1)]/32. Specifications subject to change without notice contact your sales representatives for the most recent information. ISSFD-M027Ver: B SM59128 17 06/2009 SyncMOS Technologies International, Inc. SM59128 8-Bits Micro-controller Embedded 128KB flash & 1KB RAM & IIC & SPWM 6.2 SPWM Registers - P1CON, SPWMC, SPWMD[3:0] SPWM Registers - Port1 Configuration Register (P1CON, $9B) bit-7 IICDAE IICCLE SPWME3 SPWME2 SPWME1 SPWME0 Unused bit-0 Unused Read / Write: R/W R/W R/W R/W R/W R/W - - Reset value: 0 0 0 0 0 0 * * IICDAE: When the bit set to one, the corresponding IICDA pin is active as IICDA function. When the bit reset to zero, the corresponding IICDA pin is active as I/O pin. Four bits are cleared upon reset. IICCLE: When the bit set to one, the corresponding IICCLE pin is active as IICCLE function. When the bit reset to zero, the corresponding IICCLE pin is active as I/O pin. Four bits are cleared upon reset. SPWME[3:0]: When the bit set to one, the corresponding SPWM pin is active as SPWM function. When the bit reset to zero, the corresponding SPWM pin is active as I/O pin. Four bits are cleared upon reset. SPWM Registers -SPWM Control Register (SPWMC, $A3) bit-7 bit-0 Unused Unused Unused Unused Unused Unused SPFS1 SPFS0 Read / Write: - - - - - - R/W R/W Reset value: * * * * * * 0 0 SPFS[1:0] : These two bits is 2’s power parameter to form a frequency divider for input clock. SPFS1 SPFS0 Divider SPWM clock, Fosc=20MHz SPWM clock, Fosc=24MHz 0 0 2 10MHz 12MHz 0 1 4 5MHz 6MHz 1 0 8 2.5MHz 3MHz 1 1 16 1.25MHz 1.5MHz SPWM Registers -SPWM Data Register (SPWMD[4:0], $AC, $A7 ~$A4) bit-7 bit-0 Read / Write: SPWMD [4:0]4 R/W SPWMD [4:0]3 R/W SPWMD [4:0]2 R/W SPWMD [4:0]1 R/W SPWMD [4:0]0 R/W BRM [2:0]2 R/W BRM [2:0]1 R/W BRM [2:0]0 R/W Reset value: 0 0 0 0 0 0 0 0 SPWMD[4:0] : content of SPWM Data Register. It determines duty cycle of SPWM output waveform. BRM[2:0] : will insert certain narrow pulses among an 8-SPWM-cycle frame Specifications subject to change without notice contact your sales representatives for the most recent information. ISSFD-M027Ver: B SM59128 18 06/2009 SyncMOS Technologies International, Inc. SM59128 8-Bits Micro-controller Embedded 128KB flash & 1KB RAM & IIC & SPWM N = BRM[2:0] Number of SPWM cycles inserted in an 8-cycle frame 000 0 001 1 010 2 011 3 100 4 101 5 110 6 111 7 Example of SPWM timing diagram: MOV SPWMD0 , #83H MOV P1CON , #08H ; SPWMD0[4:0]=10h (=16T high, 16T low), BRM[2:0] = 3 ; Enable P1.3 as SPWM output pin (narrow pulse inserted by BRM0[2:0] setting, here BRM0[2:0]=3) SPWM clock = 1 / T = Fosc / 2^(SPFS[1:0]+1) The SPWM output cycle frame frequency = SPWM clock / 32 = [Fosc/2^(SPFS[1:0]+1)]/32 If user use Fosc=20MHz, SPFS[1:0] of SPWMC=#03H, then SPWM clock = 20MHz/2^4 = 20MHz/16 = 1.25MHz SPWM output cycle frame frequency = (20MHz/2^4)/32=39.1KHz Specifications subject to change without notice contact your sales representatives for the most recent information. ISSFD-M027Ver: B SM59128 19 06/2009 SyncMOS Technologies International, Inc. SM59128 8-Bits Micro-controller Embedded 128KB flash & 1KB RAM & IIC & SPWM 7. IIC Interface (Inter-Integrated Circuit) The IIC module uses the SCL (clock) and the SDA (data) line to communicate with external IIC interface. User can select speed to 6.25K~400Kbps by setting the BR[2..0] control bit in software. The IIC module provide 4 interrupts (Rx, Tx, NonAck, TxFail). It will generate and/or detects START, repeated START and STOP signals automatically in master mode. The maximum communication length and the number of devices that can be connected are limited by a maximum bus capacitance of 400pF. 7.1 IIC Registers IIC Status Register (IICS, $C0) bit-7 bit-0 RXIF TXIF TFIF NAKIF Read / Write: Note1 Note1 Note1 Note1 Reset value: 0 0 0 0 Unused RXAK MASTER TXAK Note2 Note3 Note3 1 0 0 Note1:Read and Writer’0’ only Note2:Read only Note3:Read and Writer RXIF: The data Receive Interrupt Flag (RXIF) is set after the IICRDB (IIC Receive Data Buffer) is loaded with a newly receive data. Once the IRDB is loaded with received data, no more received data can be loaded to the IICRDB register again. TXIF: The data Transmit Interrupt Flag is set when the data of the IICTDB register is downloaded to the shift register or Master Transmit mode the IADR is downloaded to the shift register. It is software’s responsibility to fill the IICTDB register with new data when this bit is set. This bit is cleared by writing zero to it, write data to IICTDB or when reset. TFIF: The Transmit Fail Interrupt Flag is set when the data transmit is fail, which as set MASTER bit when the BB has been set by detecting the start condition on the lines or when the module is transmitting a One to SDA line but detected a Zero from SDA line in master mode, which is also called arbitration loss. This bit is cleared by writing Zero to it or by reset. NAKIF: The NonAcknowledge Interrupt Flag is only set in the master transmit mode when there is no acknowledge bi detected after one byte data or calling address is transferred. This bit is cleared by writing Zero to it or by reset. RXAK: If the received acknowledge bit (RXAK) is low, it indicates an acknowledge signal has been received after the completion of 8 data bits transmission on the bus. If RXAK is high, it indicates no acknowledge signal has been detected at the 9th clock. Then the module will release the SDA line for the master to generate Stop or Repeated Start condition. It is set upon reset. Specifications subject to change without notice contact your sales representatives for the most recent information. ISSFD-M027Ver: B SM59128 20 06/2009 SyncMOS Technologies International, Inc. SM59128 8-Bits Micro-controller Embedded 128KB flash & 1KB RAM & IIC & SPWM MASTER: If set the MASTER bit, the module will generate a start condition to the SDA and SCL lines and send out the calling address which is stored in the IADR register. But if the TFIF flag is set when transmit fail occurs on the lines, the module will discard the master mode by clearing the MASTER bit and release both SDA and SCL lines immediately. This bit can also be cleared by writing zero to it or when the NAKIF is set. When the MASTER bit is cleared either by set NAKIF or software the module will generate a stop condition to the lines after the current byte transmission is done, and IGNORE the IICTDB data when next IIC transmit cycle if this data had not been transmit out. Reset clears this bit. TXAK: The bit (TXAK) control the acknowledge transmit in RECEIVE mode, if it is cleared, a low (Ack) will be generated at the 9th clock after receiving 8 bits data. When TXAK is set, a high (NoAck) will be generated at the 9th clock after receiving 8 bits data. Reset clears this bit. IIC Address Register (IICA, $C1) bit-7 Read: Write: IICA.7 bit-0 IICA.6 IICA.5 IICA.4 IICA.3 IICA.2 IICA.1 EXTADDR Reset value: 1 0 1 0 0 0 0 0 IICA[7:1] : These 7 bits can be the chip address in slave mode or the calling address when in master mode. This register is set as $A0 upon reset. EXTADDR : The EXTAD bit is set to expand the chip address of this module. When it is one, the module will acknowledge the general call address $00 and the address comparison circuit will only compare the 4 MSB bits in the LADR register. When it is zero, the module will only acknowledge to the specific address which is stored in the IADR register. It is zero after reset. IIC Control Register (IICC1, $C2) bit-7 Read: Write: IICE bit-0 - - - BB IICFS2 IICFS1 IICFS0 Reset value: 0 0 0 0 0 0 0 1 IICE: If this IIC module Enable bit (IE1) is set, the IIC module is enable. If the IE1 is clear, the interface is disable and all flags will restore its reset default states. Reset to clear this bit. BB : The Bus Busy Flag is set after a start condition is detected, and is reset when a stop condition is detected. Reset clears this bit. IICFS[2:0] :The three Baud Rate select bits will select one of the eight clock rates as the master clock when the module is in master mode. The serial clock frequency is equal to the external clock divided by the certain divider. These bits are cleared upon reset. Specifications subject to change without notice contact your sales representatives for the most recent information. ISSFD-M027Ver: B SM59128 21 06/2009 SyncMOS Technologies International, Inc. SM59128 8-Bits Micro-controller Embedded 128KB flash & 1KB RAM & IIC & SPWM IICFS[2:0] Baud Rate 0:0:0 Unused 0:0:1 400K 0:1:0 200K 0:1:1 100K 1:0:0 50K 1:0:1 25K 1:1:0 12.5K 1:1:1 6.25K Note: clock source is from external (12M Hz). IIC Control Register 2 (IICC2, $C3) bit-7 bit-0 Read/Write: MATCH Note1 SRW Note1 - - RSTART Note2 - - MRW Note3 Reset value: 1 0 0 0 0 0 0 0 Note1: Read and Writer’0’ only Note2: Read only Note3: Read and Writer MATCH: The MATCH flag is set when the first received data (following START signal) in the IRDB register which matches with the address or its extended addresses (EXTAD=1) specified in the IADR. SRW: The Slave Rw bit will indicate the data direction of IIC protocol. It is updated after the calling address is received in the SLAVE mode. When it is one, the master will read the data from IIC module, so the module is in transmit mode. When it is zero, the master will send data to the IIC module, and the module is in receiving mode. The reset clears it. RESTART: If user sets RESTART bit in master mode (MASTER=1), the module will generate a start condition to the SDA and SCL lines (after current ACK bit) and send out the calling address which is stored in the IICADR register. But if the TFIF flag is set when transmit fail occurs on the lines, the module will discard the master mode by clearing the MASTER bit and release bit SDA and SCL lines immediately. This bit will be cleared automatically after generate a start condition to the SDA and SCL lines. Reset clears this bit. MRW: This MRW bit will be transmitted out to be the bit 0 of the calling address when the module sets the MAS TER bit to enter the master mode. It will also determine the transfer direction of the following data bytes. When it is one, the module is in master receive mode. When it is zero, the module is in master transmit mode. Reset clears this bit. Specifications subject to change without notice contact your sales representatives for the most recent information. ISSFD-M027Ver: B SM59128 22 06/2009 SyncMOS Technologies International, Inc. SM59128 8-Bits Micro-controller Embedded 128KB flash & 1KB RAM & IIC & SPWM IIC Transmit Data Buffer (IICTxD, $C4) Bit-7 Read: bit-0 Write: IICTx D.7 IICTxD.6 IICTxD.5 IICTxD.4 IICTxD.3 IICTxD.2 IICTxD.1 IICTxD.0 Reset value: 0 0 0 0 0 0 0 0 The data written into this register will be automatically downloaded to the shift register when the module detects a calling address is matched and the bit 0 of the received data is one (Slave transmit mode) or when the data in the shift register has been transmitted with received acknowledge bit (RXAK) =0 in transmit mode. So if the program doesn’t write the data into the IICTDB register before the matched calling address is detected or the shift register has been transmitted out, the module will pull down the SCL line (after receive acknowledge bit). If write a data to the IICTxD register, then the written data will be downloaded to the shift register immediately and the module will release the SCL line, and the TXIF flag is set to generate another interrupt request for next data. So the S/W may need to write the next data to the IICTxD register and for the auto downloading of data to the shift register after the data in the shift register is transmitted over again with RXAK=0. If the module receiver non-acknowledge (RXAK=1), the module will release the SDA line for master to generate Stop or Repeated Start conditions. IIC Receive Data Buffer (IICRxD, $C5) Bit-7 Read: bit-0 IICRD.7 IICRD.6 IICRD.5 IICRD.4 IICRD.3 IICRD.2 IICRD.1 IICRD.0 0 0 0 0 0 0 0 0 Write: Reset value: The IIC Receive Data Buffer (IICRxD) contains the last received data when the MATCH flag is one or the calling address from master when the MATCH flag is zero. The IICRxD register will be updated after a data byte is received and the previous received data had been read out, otherwise the DDC module will pull down to SCL line to inhabit the next data transfer. It is a read-only register. The read operation of this register will clear the RXIF flag. After the RXIF flag is cleared, the register can load the received data again and set the RXIF flag the venerate interrupt request for reading the newly received data. 7.2 IIC Interrupt The IIC module will generate IIC interrupt while hardware circuit detects START signal of IICSDA and IICSCL. The IIC interrupt vector locates at $3B. There are three SFRs for configuring IIC interrupt: IP1, IE1 and IFR. To use IIC interrupt is the same as to use other generic 8052 interrupts. That means using EIIC of IE1 for enable/disable IIC interrupt, using PIIC for assign IIC interrupt priority. Whenever IIC interrupt occurs, IICIF will be set to 1. After IIC interrupt subroutine (vector) been executed, IICIF will be cleared to 0. Specifications subject to change without notice contact your sales representatives for the most recent information. ISSFD-M027Ver: B SM59128 23 06/2009 SyncMOS Technologies International, Inc. SM59128 8-Bits Micro-controller Embedded 128KB flash & 1KB RAM & IIC & SPWM Interrupt Priority I Register (IP1, $B9) Bit-7 Read: Write: Reset value: bit-0 R R R R R R PIIC R 0 0 0 0 0 0 0 0 Interrupt priority bit PIIC = 1 assigns high interrupt priority Interrupt priority bit PIIC = 0 assigns low interrupt priority Interrupt Enable I Register (IE1, $A9) Bit-7 Read: Write: Reset value: bit-0 R R R R R R EIIC R 0 0 0 0 0 0 0 0 Interrupt enable bit EIIC = 1 enables the IIC interrupt Interrupt enable bit EIIC = 0 disables the IIC interrupt Interrupt Flag Register (IFR, $AA) Bit-7 Read: Write: Reset value: bit-0 R R R R R R IICIF R 0 0 0 0 0 0 0 0 Interrupt flag bit IICIF will be set to 1 when IIC interrupt occurs. Interrupt flag bit IICIF will be clear to 0 if IIC interrupt subroutine executed. 7.2 PROGRAM ALGORITHM When the IIC module detects an arbitration loss in master, it will release both SDA and SCL lines immediately. But if there is no further Stop condition detected, the module will be hanged up. Specifications subject to change without notice contact your sales representatives for the most recent information. ISSFD-M027Ver: B SM59128 24 06/2009 SyncMOS Technologies International, Inc. SM59128 8-Bits Micro-controller Embedded 128KB flash & 1KB RAM & IIC & SPWM Operating Conditions Symbol Description Min. Typ. Max. Unit. Remarks TA Operating temperature -40 25 85 ℃ Ambient temperature under bias VCC5 Supply voltage 4.5 5.0 5.5 V Fosc 40 Oscillator Frequency 3.0 40 40 MHz For 5V application DC Characteristics (TA = -40 degree C to 85 degree C, Vcc = 5.5V) Symbol Parameter Valid VIL1 VIL2 Input Low Voltage Input Low Voltage port 0,1,2,3,4,#EA RES, XTAL1 VIH1 Input High Voltage port 0,1,2,3,4,#EA VIH2 Input High Voltage RES, XTAL1 VOL1 Output Low Voltage port 0, ALE, #PSEN VOL2 VOH1 Output Low Voltage Output High Voltage port 1,2,3,4 port 0 VOH2 Output High Voltage Min. -0.5 port 1,2,3,4,ALE,#PSEN Max. Test Conditions Unit 0.8 V 0 0.8 Vcc=5V 2.0 Vcc+0.5 V V 70%Vcc Vcc+0.5 V 0.45 V IOL=3.2mA 0.45 IOL=1.6mA 2.4 V V IOH=-800uA 90%Vcc V IOH=-80uA 2.4 90%Vcc V V IOH=-10uA IOH=-60uA IIL Logical 0 Input Current port 1,2,3,4 -75 uA Vin=0.45V ITL Logical Transition Current port 1,2,3,4 -650 uA Vin=2.0V ILI Input Leakage Current port 0, #EA ±10 uA 0.45V<Vin<Vcc 300 Kohm R RES C IO I CC Reset Pull-down Resistance Pin Capacitance Power Supply Current RES 50 Vdd 10 pF Freq=1MHz, Ta=25 ℃ 20 mA Active mode, 16MHz 6.5 mA Idle mode, 16MHz 50 uA Power down mode Note1:Under steady state (non-transient) conditions, IOL must be externally Limited as follows : Maximum IOL per port pin : 10mA Maximum IOL per 8-bit port : port 0 :26mA port 1,2,3 :15mA Maximum total IOL for all output pins : 71mA If IOL exceeds the condition, VOL may exceed the related specification. Pins are not guaranteed to sink current greater than the listed test conditions. Note2 : Minimum VCC for Power-down is 2V. Specifications subject to change without notice contact your sales representatives for the most recent information. ISSFD-M027Ver: B SM59128 25 06/2009 SyncMOS Technologies International, Inc. SM59128 8-Bits Micro-controller Embedded 128KB flash & 1KB RAM & IIC & SPWM Icc Active Mode Test Circuit Icc VDD NC Clock Signal XTAL2 SM59128 P0 EA XTAL1 RST VSS AC Characteristics (16/25/40MHz, operating conditions; CL for Port 0, ALE and PSEN Outputs=150pF; CL for all Other Output=80pF) Symbol Parameter Valid Cycle fosc=16MHz Min. Typ. Max Variable fosc Min. Typ. Unit T LHLL ALE pulse width RD/WRT 115 2xT - 10 nS T AVLL Address Valid to ALE low RD/WRT 43 T - 20 nS T LLAX Address Hold after ALE low RD/WRT 53 T - 10 nS 240 T LLIV ALE low to Valid Instruction In RD T LLPL ALE low to #PSEN low RD 53 T - 10 4xT-10 nS T PLPH #PSEN pulse width RD 173 3xT - 15 nS T PLIV #PSEN low to Valid Instruction In RD T PXIX Instruction Hold after #PSEN RD 177 0 3xT-10 0 nS nS nS T PXIZ Instruction Float after #PSEN RD 87 T + 25 nS T AVIV Address to Valid Instruction In RD 292 5xT -20 nS T PLAZ #PSEN low to Address Float RD 10 10 nS T RLRH #RD pulse width RD 365 6xT - 10 nS T WLWH #WR pulse width WRT 365 6xT - 10 nS T RLDV #RD low to Valid Data In RD T RHDX Data Hold after #RD RD 302 T RHDZ Data Float after #RD RD 145 2xT+20 nS T LLDV ALE low to Valid Data In RD 590 8xT - 10 nS T AVDV Address to Valid Data In RD 542 9xT - 20 nS 3xT+10 nS 0 5xT - 10 0 197 nS nS T LLYL ALE low to #WR High or #RD low RD/WRT 178 T AVYL Address Valid to #WR or #RD low RD/WRT 230 4xT-20 nS T QVWH Data Valid to #WR High WRT 403 7xT-35 nS T QVWX Data Valid to #WR transition WRT 38 T - 25 nS T WHQX Data hold after #WR WRT 73 T + 10 nS T RLAZ #RD low to Address Float RD RD/WRT 53 72 3xT-10 T -10 5 nS T + 10 nS T YALH #WR or #RD high to ALE high T CHCL clock fall time nS T CLCX clock low time nS T CLCH clock rise time nS T CHCX clock high time nS T, TCLCL clock period 63 Remarks Max 1/fosc nS Specifications subject to change without notice contact your sales representatives for the most recent information. ISSFD-M027Ver: B SM59128 26 06/2009 SyncMOS Technologies International, Inc. SM59128 8-Bits Micro-controller Embedded 128KB flash & 1KB RAM & IIC & SPWM ISP Test Conditions (40 MHZ, typical operating conditions, valid for SM59128 series) Symbol MAX Remark Chip erase 3000ms Vcc = 5V Page erase 10ms “ Program 30us “ Protect 400us “ Application Reference Valid for SM59128 X'tal C1 C2 R X'tal C1 C2 R 3MHz 30 pF 30 pF open 16MHz 30 pF 30 pF open 6MHz 30 pF 30 pF open 25MHz 15 pF 15 pF 62KΩ 9MHz 30 pF 30 pF open 33MHz 5 pF 5 pF 6.8KΩ XTAL2 12MHz 30 pF 30 pF open Crystal SM59128 R 40MHz 2 pF 2 pF 4.7KΩ C1 C2 XTAL1 VSS NOTE: Oscillation circuit is varied with different crystal or ceramic resonator in higher oscillation frequency, it depends on crystal, or ceramic resonator of its own characteristics. User should check the crystal or ceramic resonator manufacture for appropriate value of external components. Please see SM59128 application note for details. Specifications subject to change without notice contact your sales representatives for the most recent information. ISSFD-M027Ver: B SM59128 27 06/2009 SyncMOS Technologies International, Inc. SM59128 8-Bits Micro-controller Embedded 128KB flash & 1KB RAM & IIC & SPWM Data Memory Read Cycle Timing Program Memory Read Cycle Timing Specifications subject to change without notice contact your sales representatives for the most recent information. ISSFD-M027Ver: B SM59128 28 06/2009 SyncMOS Technologies International, Inc. SM59128 8-Bits Micro-controller Embedded 128KB flash & 1KB RAM & IIC & SPWM Data Memory Write Cycle Timing I/O Ports Timing Specifications subject to change without notice contact your sales representatives for the most recent information. ISSFD-M027Ver: B SM59128 29 06/2009 SyncMOS Technologies International, Inc. SM59128 8-Bits Micro-controller Embedded 128KB flash & 1KB RAM & IIC & SPWM Timing Critical, Requirement of External Clock (Vss=0.0V is assumed) Tm.I External Program Memory Read Cycle Tm.II External Data Memory Read Cycle Specifications subject to change without notice contact your sales representatives for the most recent information. ISSFD-M027Ver: B SM59128 30 06/2009 SyncMOS Technologies International, Inc. SM59128 8-Bits Micro-controller Embedded 128KB flash & 1KB RAM & IIC & SPWM Tm.III External Data Memory Write Cycle Specifications subject to change without notice contact your sales representatives for the most recent information. ISSFD-M027Ver: B SM59128 31 06/2009 SyncMOS Technologies International, Inc. SM59128 8-Bits Micro-controller Embedded 128KB flash & 1KB RAM & IIC & SPWM MCU writer list Company Advantech 7F, No.98, Ming-Chung Rd., Shin-Tien City, Taipei, Taiwan, ROC Web site: http://www.aec.com.tw Contact info Tel:02-22182325 Fax:02-22182435 E-mail: [email protected] Programmer Model Number Lab Tool - 48XP/UXP Lab Tool – 848/848XP Hi-Lo 4F.,No.18,Lane 79,Rueiguang Rd.,Neihu,Taipei,Taiwan R.O.C. Web site: http://www.hilosystems.com.tw Tel: 02-87923301 Fax:02-87923285 E-mail: [email protected] All - 100 series Leap 6th F1-4, Lane 609, Chunghsin Rd., Sec. 5, Sanchung, Taipei , Taiwan, ROC Web site: http://www.leap.com.tw Tel: 886-2-29991860 Fax:02-29990015 E-mail: [email protected] Leap-48 Xeltek Electronic Co., Ltd Bldg 6-31 Meizhiguo garden, #2 Jiangjun Ave., Jiangning, Nanjing, China 211100 Web site: http://www.xeltek-cn.com Tel: + 86-25-52765201, E-mail: [email protected] [email protected] Superpro 280U Superpro 580U Superpro 3000U Superpro 9000U Guangzhou Zhiyuan Electronic Co.,Ltd Floor 2,No.7 building,Huangzhou Industrial Estate,Chebei Road,Tianhe district,Guangzhou,China 510660 Web site: http://www.embedtools.com/ TEL: +86-20-28872449 E-mail: [email protected] SmartPRO 5000U/X8 TianJin Weilei technology ltd Rm 357,Venturetech Center,12 Keyan West Road Nankai District,Tianjin,P.R.C, 300192 Web site: http://www.weilei.com.cn/ TEL: + 86-22-87891218#801 E-mail: [email protected] [email protected] VP-890;VP-980;VP-880;VP-680 VP-480;VP-380;VP-280;VP-190 GuangZhou Chang Xingjinggong Technology Development Co ., Ltd. Room 102 , No.167 , CuiJing street , ChangXing road , TianHe district , GuangZhou. Web site: http://www.top2048.com/ TEL: + 86-20-61391469 E-mail: [email protected] TOP-2007 Specifications subject to change without notice contact your sales representatives for the most recent information. ISSFD-M027Ver: B SM59128 32 06/2009