1. Features • MPEGI/II-Layer 3 Hardwired Decoder • • • • • • • • • • • • • • • • • • • • – Stand-alone MP3 decoder – 48, 44.1, 32, 24, 22.05, 16 KHz sampling freq. – Separated digital volume control on left and right channels (software control using 31 steps) – Bass, medium, and Treble Control (31 steps) – Bass Boost sound effect. – Ancillary data extraction – “CRC Error” and “MPEG Frame Synchronization” indicators Programmable Audio Output for interfacing with common audio DAC available on the market – PCM format compatible – I2S format compatible 8-bit MCU C51 core based (FMAX= 20 MHz) 2304 bytes of Internal RAM 64 Kbytes of Code Memory – FLASH: T89C51SND1, ROM: T83C51SND1 4 Kbytes of Boot Flash Memory (T89C51SND1) – ISP: download from USB or UART to any external memory cards USB Rev 1.1 controller – “Full speed” data transmission Built-in PLL – MP3 Audio clocks – USB clock MultiMediaCard Interface Compatibility Atmel DataFlash SPI Interface Compatibility IDE/ATAPI Interface 2 Channels 10-bit ADC, 8KHz (8 true bit) – Battery voltage Monitoring – Voice recording controlled by software Up to 44 bits of General Purpose I/Os for: – 4-bit interrupt keyboard port for a 4 x n matrix – Smartmedia software interface Standard Two 16-bit Timers/Counters Hardware Watchdog Timer Standard Full Duplex UART with Baud Rate Generator 2-wire Master and Slave Modes Controller SPI Master and Slave Modes Controller Power Management – Power-On reset – Software programmable MCU clock – Idle mode, Power-Down mode Operating conditions: – 3V, ±10%, 25 mA typical operating at 25°C – -40°C to +85°C Packages – TQFP80, PLCC84 (development board) – Dice Single Chip Microcontroller with MP3 Decoder and Man Machine Interface T8xC51SND1 Rev. D – 15-Nov-01 1 2. Description The T8xC51SND1 product is a fully integrated stand-alone hardwired MPEGI/II-Layer 3 decoder with a C51 microcontroller core handling data flow and MP3-player control. The T89C51SND1 includes 64 Kbytes of FLASH memory and allows In System Programming through an embedded 4 Kbytes of Boot FLASH Memory. The T83C51SND1 includes 64 Kbytes of ROM memory. The T8xC51SND1 includes 2304 bytes of RAM memory. The T8xC51SND1 provides all necessary features for man machine interface like timers, keyboard port, serial or parallel interface (USB, 2-wire, SPI, IDE), ADC input, I2S output, and all external memory interface (NAND or NOR FLASH, SmartMedia, MultiMedia). 3. Typical Applications 2 • MP3-Player • PDA, Camera, Mobile Phone MP3 • Car Audio/Multimedia MP3 • Home Audio/Multimedia MP3 T8xC51SND1 Rev. D – 15-Nov-01 T8xC51SND1 4. Pin Description 4.1 Pinouts 80 79 78 77 76 75 74 73 72 71 70 69 68 67 66 65 64 63 62 61 P5.1 P5.0 P0.0/AD0 P0.1/AD1 P0.2/AD2 P0.3/AD3 P0.4/AD4 P0.5/AD5 VSS VDD P0.6/AD6 P0.7/AD7 P4.3/SS# P4.2/SCK P4.1/MOSI P4.0/MISO P2.0/A8 P2.1/A9 P4.7 P4.6 Figure 1. T8xC51SND1 80-pin QFP Package 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 T89C51SND1-RO (FLASH) T83C51SND1-RO (ROM) 60 59 58 57 56 55 54 53 52 51 50 49 48 47 46 45 44 43 42 41 P4.5 P4.4 P2.2/A10 P2.3/A11 P2.4/A12 P2.5/A13 P2.6/A14 P2.7/A15 VSS VDD MCLK MDAT MCMD RST SCLK DSEL DCLK DOUT VSS VDD D+ DVDD VSS P3.0/RXD P3.1/TXD P3.2/INT0# P3.3/INT1# P3.4/T0 P3.5/T1 P3.6/WR# P3.7/RD# AVDD AVSS AREFP AREFN AIN0 AIN1 P5.2 P5.3 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 ALE ISP# P1.0/KIN0 P1.1/KIN1 P1.2/KIN2 P1.3/KIN3 P1.4 P1.5 P1.6/SCL P1.7/SDA VDD PVDD FILT PVSS VSS X2 X1 TST# UVDD UVSS 3 Rev. D – 15-Nov-01 11 10 9 8 7 6 5 4 3 2 1 84 83 82 81 80 79 78 77 76 75 NC P5.1 P5.0 P0.0/AD0 P0.1/AD1 P0.2/AD2 P0.3/AD3 P0.4/AD4 P0.5/AD5 VSS VDD P0.6/AD6 P0.7/AD7 P4.3/SS# P4.2/SCK P4.1/MOSI P4.0/MISO P2.0/A8 P2.1/A9 P4.7 P4.6 Figure 2. T8xC51SND1 84-pin PLCC Package 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 T89C51SND1-SR (FLASH) 74 73 72 71 70 69 68 67 66 65 64 63 62 61 60 59 58 57 56 55 54 NC P4.5 P4.4 P2.2/A10 P2.3/A11 P2.4/A12 P2.5/A13 P2.6/A14 P2.7/A15 VSS VDD MCLK MDAT MCMD RST SCLK DSEL DCLK DOUT VSS VDD D+ DVDD VSS P3.0/RXD P3.1/TXD P3.2/INT0# P3.3/INT1# P3.4/T0 P3.5/T1 P3.6/WR# P3.7/RD# AVDD AVSS AREFP AREFN AIN0 AIN1 P5.2 P5.3 NC 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 ALE ISP# P1.0/KIN0 P1.1/KIN1 P1.2/KIN2 P1.3/KIN3 P1.4 P1.5 P1.6/SCL P1.7/SDA VDD PAVDD FILT PAVSS VSS X2 NC X1 TST# UVDD UVSS 4.2 Signals All the T8xC51SND1 signals are detailed by functionality in Table 1 to Table 14. Table 1. Ports Signal Description Signal Name 4 Alternate Function Type Description P0.7:0 I/O Port 0 P0 is an 8-bit open-drain bidirectional I/O port. Port 0 pins that have 1s written to them float and can be used as high impedance inputs. To avoid any parasitic current consumption, floating P0 inputs must be polarized to VDD or VSS. AD7:0 P1.7:0 I/O Port 1 P1 is an 8-bit bidirectional I/O port with internal pull-ups. KIN3:0 SCL SDA T8xC51SND1 Rev. D – 15-Nov-01 T8xC51SND1 Signal Name Type P2.7:0 I/O Description Port 2 P2 is an 8-bit bidirectional I/O port with internal pull-ups. Alternate Function A15:8 RXD TXD INT0# INT1# T0 T1 WR# RD# I/O Port 3 P3 is an 8-bit bidirectional I/O port with internal pull-ups. P4.7:0 I/O Port 4 P4 is an 8-bit bidirectional I/O port with internal pull-ups. MISO MOSI SCK SS# P5.3:0 I/O Port 5 P5 is a 4-bit bidirectional I/O port with internal pull-ups. - P3.7:0 Table 2. Clock Signal Description Signal Name Alternate Function Type Description X1 I Input to the on-chip inverting oscillator amplifier To use the internal oscillator, a crystal/resonator circuit is connected to this pin. If an external oscillator is used, its output is connected to this pin. X1 is the clock source for internal timing. - X2 O Output of the on-chip inverting oscillator amplifier To use the internal oscillator, a crystal/resonator circuit is connected to this pin. If an external oscillator is used, leave X2 unconnected. - FILT I PLL Low Pass Filter input FILT receives the RC network of the PLL low pass filter. - Table 3. Timer 0 and Timer 1 Signal Description Signal Name Type Description Alternate Function Timer 0 Gate Input INT0# serves as external run control for timer 0, when selected by GATE0 bit in TCON register. INT0# I External Interrupt 0 INT0# input sets IE0 in the TCON register. If bit IT0 in this register is set, bit IE0 is set by a falling edge on INT0#. If bit IT0 is cleared, bit IE0 is set by a low level on INT0#. P3.2 Timer 1 Gate Input INT1# serves as external run control for timer 1, when selected by GATE1 bit in TCON register. INT1# I External Interrupt 1 INT1# input sets IE1 in the TCON register. If bit IT1 in this register is set, bit IE1 is set by a falling edge on INT1#. If bit IT1 is cleared, bit IE1 is set by a low level on INT1#. P3.3 5 Rev. D – 15-Nov-01 Signal Name Type Alternate Function T0 I Timer 0 External Clock Input When timer 0 operates as a counter, a falling edge on the T0 pin increments the count. P3.4 T1 I Timer 1 External Clock Input When timer 1 operates as a counter, a falling edge on the T1 pin increments the count. P3.5 Description Table 4. Audio Interface Signal Description Signal Name Type Alternate Function DCLK O DAC Data Bit Clock - DOUT O DAC Audio Data - DSEL O DAC Channel Select Signal DSEL is the sample rate clock output. - SCLK O DAC System Clock SCLK is the oversampling clock synchronized to the digital audio data (DOUT) and the channel selection signal (DSEL). - Description Table 5. USB Controller Signal Description Signal Name Type Alternate Function D+ I/O USB Positive Data Upstream Port This pin requires an external 1.5 KΩ pull-up to VDD for full speed operation. - D- I/O USB Negative Data Upstream Port - Description Table 6. MutiMediaCard Interface Signal Description 6 Signal Name Type Alternate Function MCLK O MMC Clock output Data or command clock transfer. - MCMD I/O MMC Command line Bidirectional command channel used for card initialization and data transfer commands. To avoid any parasitic current consumption, unused MCMD input must be polarized to VDD or VSS. - MDAT I/O MMC Data line Bidirectional data channel. To avoid any parasitic current consumption, unused MDAT input must be polarized to VDD or VSS. - Description T8xC51SND1 Rev. D – 15-Nov-01 T8xC51SND1 Table 7. UART Signal Description Signal Name Type Description Alternate Function RXD I/O Receive Serial Data RXD sends and receives data in serial I/O mode 0 and receives data in serial I/O modes 1, 2 and 3. P3.0 TXD O Transmit Serial Data TXD outputs the shift clock in serial I/O mode 0 and transmits data in serial I/O modes 1, 2 and 3. P3.1 Table 8. SPI Controller Signal Description Signal Name Type MISO I/O SPI Master Input Slave Output Data Line When in master mode, MISO receives data from the slave peripheral. When in slave mode, MISO outputs data to the master controller. P4.0 MOSI I/O SPI Master Output Slave Input Data Line When in master mode, MOSI outputs data to the slave peripheral. When in slave mode, MOSI receives data from the master controller. P4.1 SCK I/O SPI Clock Line When in master mode, SCK outputs clock to the slave peripheral. When in slave mode, SCK receives clock from the master controller. P4.2 SS# I SPI Slave Select Line When in controlled slave mode, SS# enables the slave mode. P4.3 Description Alternate Function Table 9. 2-wire Controller Signal Description Signal Name Alternate Function Type Description SCL I/O 2-wire Serial Clock When 2-wire controller is in master mode, SCL outputs the serial clock to the slave peripherals. When 2-wire controller is in slave mode, SCL receives clock from the master controller. P1.6 SDA I/O 2-wire Serial Data SDA is the bidirectional 2-wire data line. P1.7 Table 10. A/D Converter Signal Description Signal Name Type AIN1:0 I A/D Converter Analog Inputs - AREFP I Analog Positive Voltage Reference Input - AREFN I Analog Negative Voltage Reference Input This pin is internally connected to AVSS. - Description Alternate Function 7 Rev. D – 15-Nov-01 Table 11. Keypad Interface Signal Description Signal Name Type Description Alternate Function KIN3:0 I Keypad Input Lines Holding one of these pins high or low for 24 oscillator periods triggers a keypad interrupt. P1.3:0 Table 12. External Access Signal Description Signal Name Type Alternate Function A15:8 I/O Address Lines Upper address lines for the external bus. Multiplexed higher address and data lines for the IDE interface. P2.7:0 AD7:0 I/O Address/Data Lines Multiplexed lower address and data lines for the external memory or the IDE interface. P0.7:0 ALE O Address Latch Enable Output ALE signals the start of an external bus cycle and indicates that valid address information is available on lines A7:0. An external latch is used to demultiplex the address from address/data bus. - ISP# I/O ISP Enable Input This signal must be held to GND through a pull-down resistor at the falling reset to force execution of the internal bootloader. - RD# O Read Signal Read signal asserted during external data memory read operation. P3.7 WR# O Write Signal Write signal asserted during external data memory write operation. P3.6 Description Table 13. System Signal Description Signal Name 8 Type Alternate Function Description RST I Reset Input Holding this pin high for 64 oscillator periods while the oscillator is running resets the device. The Port pins are driven to their reset conditions when a voltage lower than VIL is applied, whether or not the oscillator is running. This pin has an internal pull-down resistor which allows the device to be reset by connecting a capacitor between this pin and VDD. Asserting RST when the chip is in Idle mode or Power-Down mode returns the chip to normal operation. TST# I Test Input Test mode entry signal. This pin must be set to VDD. - - T8xC51SND1 Rev. D – 15-Nov-01 T8xC51SND1 Table 14. Power Signal Description Signal Name Type Description Alternate Function VDD PWR Digital Supply Voltage Connect these pins to +3V supply voltage. - VSS GND Circuit Ground Connect these pins to ground. - AVDD PWR Analog Supply Voltage Connect this pin to +3V supply voltage. - AVSS GND Analog Ground Connect this pin to ground. - PVDD PWR PLL Supply voltage Connect this pin to +3V supply voltage. - PVSS GND PLL Circuit Ground Connect this pin to ground. - UVDD PWR USB Supply Voltage Connect this pin to +3V supply voltage. - UVSS GND USB Ground Connect this pin to ground. - 9 Rev. D – 15-Nov-01 4.3 Internal Pin Structure Table 15. Detailed Internal Pin Structure Circuit1 Type Pins Input TST# Input/Output RST Input/Output P12 P23 P3 P4 P53:0 RTST VDD VDD P RRST Watchdog Output VSS 2 osc periods Latch Output VDD VDD VDD P1 P2 P3 N VSS VDD P Input/Output N P0 MCMD MDAT ISP# VSS ALE SCLK DCLK VDD P Output N DOUT DSEL MCLK VSS D+ Input/Output D+ D- D- Notes: 10 1. For information on resistors value, input/output levels, and drive capability, refer to the Section “DC Characteristics”, page 34. 2. When the 2-wire controller is enabled, P1, P2, and P3 transistors are disabled allowing pseudo open-drain structure. 3. In Port 2, P1 transistor is continuously driven when outputting a high level bit address (A15:8). T8xC51SND1 Rev. D – 15-Nov-01 T8xC51SND1 5. Block Diagram Figure 3. T8xC51SND1 Block Diagram INT0# 3 INT1# VDD VSS UVDD UVSS AVDD AVSS AREF AIN1:0 3 Interrupt Handler Unit RAM 2304 bytes C51 (X2 CORE) 10-bit A to D Converter T0 T1 SS# MISO MOSI SCK SCL SDA 3 3 3 4 1 3 UART & BRG Timers 0/1 Watchdog 4 4 4 SPI / DataFlash Controller 1 2-wire Controller 8-BIT INTERNAL BUS MP3 Decoder Unit Clock & PLL Unit FLASH ROM 64 Kbytes FLASH Boot 4 Kbytes TXD RXD I2S / PCM Audio Interface USB Controller MMC Interface Keyboard Interface MCLK MDAT MCMD KIN3:0 I/O Ports IDE Interface 1 FILT X1 X2 RST ISP# ALE DOUT DCLK DSEL SCLK D+ D- P0-P5 1 Alternate function of Port 1 3 Alternate function of Port 3 4 Alternate function of Port 4 11 Rev. D – 15-Nov-01 6. Application Information RST VDD AVDD VREFP Ref. VREFN P1.0/KIN0 P1.1/KIN1 P1.2/KIN2 P1.3/KIN3 P0.0 P0.1 P0.2 P0.3 AIN1 P1.6/SCL P1.7/SDA LCD AIN0 Battery Figure 4. T8xC51SND1 Typical Application with On-Board Atmel DataFlash and 2-wire LCD MCLK MDAT MCMD T8xC51SND1 D+ D- DataFlash Memories USB PORT AVSS VSS P1.5 P1.4 DOUT DCLK DSEL SCLK P4.0/SI UVSS P4.1/SO P4n FILT P4.2/SCK X2 12 MMC2 UVDD X1 PVSS MMC1 Audio DAC T8xC51SND1 Rev. D – 15-Nov-01 T8xC51SND1 RST VDD AVDD VREFP Ref. VREFN P1.0/KIN0 P1.1/KIN1 P1.2/KIN2 P0.0 P0.1 P0.2 P0.3 AIN1 P1.3 P0.4 P0.5 P0.6 P0.7 P1.6/SCL P1.7/SDA LCD AIN0 Battery Figure 5. T8xC51SND1 Typical Application with On-Board Atmel DataFlash and // LCD MMC1 MCLK MDAT MCMD T8xC51SND1 UVDD D+ D- X1 X2 DataFlash Memories USB PORT AVSS VSS P1.5 P1.4 DOUT DCLK DSEL SCLK P4.0/SI P4.1/SO P4.n FILT P4.2/SCK UVSS PVSS MMC2 Audio DAC RST AVDD VDD VREFP Ref. VREFN AIN1 P1.0/KIN0 P1.1/KIN1 P1.2/KIN2 P1.3/KIN3 P0.0 P0.1 P0.2 P0.3 P4.0 P4.1 P4.2 P4.4 P4.5 P4.6 P4.7 LCD AIN0 Battery Figure 6. T8xC51SND1 Typical Application with On-Board SSFDC Flash MMC1 MCLK MDAT MCMD T8xC51SND1 UVDD D+ D- X1 X2 USB PORT AVSS VSS P3.5 P3.4 DOUT DCLK DSEL SCLK P3.7/RD# P0 P2 FILT P3.6/WR# UVSS PVSS MMC2 Audio DAC SSFDC Memories or SmartMedia Cards SmartMedia 13 Rev. D – 15-Nov-01 RST VDD AVDD VREFP Ref. VREFN P1.0/KIN0 P1.1/KIN1 P1.2/KIN2 P0.0 P0.1 P0.2 P0.3 AIN1 P4.0 P4.1 P4.2 P4.4 P4.5 P4.6 P4.7 P1.6/SCL P1.7/SDA LCD AIN0 Battery Figure 7. T8xC51SND1 Typical Application with IDE CD-ROM Drive MMC1 MCLK MDAT MCMD T8xC51SND1 UVDD X1 D+ D- USB PORT AVSS VSS P3.5 P3.4 UVSS DOUT DCLK DSEL SCLK P3.7/RD# P0 P2 FILT P3.6/WR# X2 PVSS MMC2 Audio DAC IDE CD-ROM 14 T8xC51SND1 Rev. D – 15-Nov-01 T8xC51SND1 7. Address Spaces The T8xC51SND1 derivatives implement four different address spaces: • Program/Code Memory • Boot Memory • Data Memory • Special Function Registers (SFRs) 7.1 Code Memory The T89C51SND1 and T83C51SND1 implement 64 Kbytes of on-chip program/code memory. The T83C51SND1 product provides the internal program/code memory in ROM technology while the T89C51SND1 product provides it in FLASH technology. The FLASH memory increases EPROM and ROM functionality by in-circuit electrical erasure and programming. Thanks to the internal charge pump, the high voltage needed for programming or erasing FLASH cells is generated on-chip using the standard VDD voltage. Thus, the T89C51SND1 can be programmed using only one voltage and allows in application software programming commonly known as IAP. Hardware programming mode is also available using specific programming tool. 7.2 Boot Memory The T89C51SND1 implements 4 Kbytes of on-chip boot memory provided in FLASH technology. This boot memory is delivered programmed with a standard boot loader software allowing in system programming commonly known as ISP. It also contains some Application Programming Interfaces routines commonly known as API allowing user to develop its own boot loader. 7.3 Data Memory The T89C51CC01 derivatives implement 2304 bytes of on-chip data RAM. This memory is divided in two separate areas: • 256 bytes of on-chip RAM memory (standard C51 memory). • 2048 bytes of on-chip expanded RAM memory (ERAM accessible via MOVX instructions). 7.4 Special Function Registers The Special Function Registers (SFRs) of the T89C51CC01 derivatives fall into the categories detailed in Table 16 to Table 32. The relative addresses of these SFRs are provided together with their reset values in Table 33. In this table, the bit-addressable registers are identified by Note 1. 15 Rev. D – 15-Nov-01 Table 16. C51 Core SFRs Mnemonic Add Name ACC E0h Accumulator B F0h B Register PSW D0h Program Status Word SP 81h Stack Pointer DPL 82h Data Pointer Low byte DPH 83h Data Pointer High byte 7 6 5 4 3 2 1 0 CY AC F0 RS1 RS0 OV F1 P Table 17. System Management SFRs Mnemonic Add Name 7 6 5 4 3 2 1 0 PCON 87h Power Control SMOD1 SMOD0 - - GF1 GF0 PD IDL AUXR 8Eh Auxiliary Register 0 - EXT16 M0 DPHDIS XRS1 XRS0 EXTRAM AO AUXR1 A2h Auxiliary Register 1 - - ENBOOT - GF3 0 - DPS NVERS FBh Version Number NV7 NV6 NV5 NV4 NV3 NV2 NV1 NV0 Table 18. PLL & System Clock SFRs Mnemonic Add Name 7 6 5 4 3 2 1 0 CKCON 8Fh Clock Control - - - - - - - X2 PLLCON E9h PLL Control R1 R0 - - PLLRES - PLLEN PLOCK PLLNDIV EEh PLL N Divider - N6 N5 N4 N3 N2 N1 N0 PLLRDIV EFh PLL R Divider R9 R8 R7 R6 R5 R4 R3 R2 Table 19. Interrupt SFRs Mnemonic Add IEN0 A8h IEN1 7 6 5 4 3 2 1 0 Interrupt Enable Control 0 EA EAUD EMP3 ES ET1 EX1 ET0 EX0 B1h Interrupt Enable Control 1 - EUSB - EKB EADC ESPI EI2C EMMC IPH0 B7h Interrupt Priority Control High 0 - IPHAUD IPHMP3 IPHS IPHT1 IPHX1 IPHT0 IPHX0 IPL0 B8h Interrupt Priority Control Low 0 - IPLAUD IPLMP3 IPLS IPLT1 IPLX1 IPLT0 IPLX0 IPH1 B3h Interrupt Priority Control High 1 - IPHUSB - IPHKB IPHADC IPHSPI IPHI2C IPHMMC IPL1 B2h Interrupt Priority Control Low 1 - IPLUSB - IPLKB IPLADC IPLSPI IPLI2C IPLMMC 16 Name T8xC51SND1 Rev. D – 15-Nov-01 T8xC51SND1 Table 20. Port SFRs Mnemonic Add Name P0 80h 8-bit Port 0 P1 90h 8-bit Port 1 P2 A0h 8-bit Port 2 P3 B0h 8-bit Port 3 P4 C0h 8-bit Port 4 P5 D8h 4-bit Port 5 7 6 5 4 3 2 1 0 Table 21. Flash Memory SFR Mnemonic Add Name FCON D1h Flash Control 7 6 5 4 3 2 1 0 FPL3 FPL2 FPL1 FPL0 FPS FMOD1 FMOD0 FBUSY Table 22. Timer SFRs Mnemonic Add Name 7 6 5 4 3 2 1 0 TCON 88h Timer/Counter 0 and 1 Control TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0 TMOD 89h Timer/Counter 0 and 1 Modes GATE1 C/T1# M11 M01 GATE0 C/T0# M10 M00 TL0 8Ah Timer/Counter 0 Low Byte TH0 8Ch Timer/Counter 0 High Byte TL1 8Bh Timer/Counter 1 Low Byte TH1 8Dh Timer/Counter 1 High Byte WDTRST A6h WatchDog Timer Reset WDTPRG A7h WatchDog Timer Program - - - - - WTO2 WTO1 WTO0 Table 23. MP3 Decoder SFRs Mnemonic Add MP3CON Name 7 6 5 4 3 2 1 0 AAh MP3 Control MPEN MPBBST CRCEN MSKANC MSKREQ MSKLAY MSKSYN MSKCRC MP3STA C8h MP3 Status MPAN C MPREQ ERRLAY ERRSYN ERRCRC MPFS1 MPFS0 MPVER MP3STA1 AFh MP3 Status 1 - - - MPFREQ MPBREQ - - - 17 Rev. D – 15-Nov-01 Mnemonic Add MP3DAT Name 7 6 5 4 3 2 1 0 ACh MP3 Data MPD7 MPD6 MPD5 MPD4 MPD3 MPD2 MPD1 MPD0 MP3ANC ADh MP3 Ancillary Data AND7 AND6 AND5 AND4 AND3 AND2 AND1 AND0 MP3VOL 9Eh MP3 Audio Volume Control Left - - - VOL4 VOL3 VOL2 VOL1 VOL0 MP3VOR 9Fh MP3 Audio Volume Control Right - - - VOR4 VOR3 VOR2 VOR1 VOR0 MP3BAS B4h MP3 Audio Bass Control - - - BAS4 BAS3 BAS2 BAS1 BAS0 MP3MED B5h MP3 Audio Medium Control - - - MED4 MED3 MED2 MED1 MED0 MP3TRE B6h MP3 Audio Treble Control - - - TRE4 TRE3 TRE2 TRE1 TRE0 MP3CLK EBh MP3 Clock Divider - - - MPCD4 MPCD3 MPCD2 MPCD1 MPCD0 Table 24. Audio Interface SFRs Mnemonic Add AUDCON0 Name 7 6 5 4 3 2 1 0 9Ah Audio Control 0 JUST4 JUST3 JUST2 JUST1 JUST0 POL DSIZ HLR AUDCON1 9Bh Audio Control 1 SRC DRQEN MSREQ MUDRN - DUP1 DUP0 AUDEN AUDSTA 9Ch Audio Status SREQ UDRN AUBUSY - - - - - AUDDAT 9Dh Audio Data AUD7 AUD6 AUD5 AUD4 AUD3 AUD2 AUD1 AUD0 AUDCLK ECh Audio Clock Divider - - - AUCD4 AUCD3 AUCD2 AUCD1 AUCD0 Table 25. USB Controller SFRs Mnemonic Add 7 6 5 4 3 2 1 0 USBCON BCh USB Global Control USBE SUSPCLK SDRMWUP - UPRSM RMWUPE CONFG FADDEN USBADDR C6h USB Address FEN UADD6 UADD5 UADD4 UADD3 UADD2 UADD1 UADD0 USBINT BDh USB Global Interrupt - - WUPCPU EORINT SOFINT - - SPINT USBIEN BEh USB Global Interrupt Enable - - EWUPCPU EEORINT ESOFINT - - ESPINT UEPNUM C7h USB Endpoint Number - - - - - - EPNUM1 EPNUM0 UEPCONX D4h USB Endpoint X Control EPEN - - - DTGL EPDIR EPTYPE1 EPTYPE0 UEPSTAX CEh USB Endpoint X Status DIR - STALLRQ TXRDY STLCRC RXSETUP RXOUT TXCMP UEPRST D5h USB Endpoint Reset - - - - EP3RST EP2RST EP1RST EP0RST UEPINT F8h USB Endpoint Interrupt - - - - EP3INT EP2INT EP1INT EP0INT UEPIEN C2h USB Endpoint Interrupt Enable - - - - EP3INTE EP2INTE EP1INTE EP0INTE 18 Name T8xC51SND1 Rev. D – 15-Nov-01 T8xC51SND1 Mnemonic Add Name 7 6 5 4 3 2 1 0 UEPDATX CFh USB Endpoint X Fifo Data FDAT7 FDAT6 FDAT5 FDAT4 FDAT3 FDAT2 FDAT1 FDAT0 UBYCTX E2h USB Endpoint X Byte Counter - BYCT6 BYCT5 BYCT4 BYCT3 BYCT2 BYCT1 BYCT0 UFNUML BAh USB Frame Number Low FNUM7 FNUM6 FNUM5 FNUM4 FNUM3 FNUM2 FNUM1 FNUM0 UFNUMH BBh USB Frame Number High - - CRCOK CRCERR - FNUM10 FNUM9 FNUM8 USBCLK EAh USB Clock Divider - - - - - - USBCD1 USBCD0 Table 26. MMC Controller SFRs Mnemonic Add MMCON0 Name 7 6 5 4 3 2 1 0 E4h MMC Control 0 DRPTR DTPTR CRPTR CTPTR MBLOCK DFMT RFMT CRCDIS MMCON1 E5h MMC Control 1 BLEN3 BLEN2 BLEN1 BLEN0 DATDIR DATEN RESPEN CMDEN MMCON2 E6h MMC Control 2 MMCE N DCR CCR - - DATD1 DATD0 FLOWC MMSTA DEh - - CBUSY CRC16S DATFS CRC7S RESPFS CFLCK MMINT E7h MMC Interrupt MCBI EORI EOCI EOFI F2FI F1FI F2EI F1EI MMMSK DFh MMC Interrupt Mask MCBM EORM EOCM EOFM F2FM F1FM F2EM F1EM MMCMD DDh MMC Command MC7 MC6 MC5 MC4 MC3 MC2 MC1 MC0 MMDAT DCh MMC Data MD7 MD6 MD5 MD4 MD3 MD2 MD1 MD0 MMCLK EDh MMC Clock Divider MMCD 7 MMCD6 MMCD5 MMCD4 MMCD3 MMCD2 MMCD1 MMCD0 MMC Control and Status Table 27. IDE Interface SFR Mnemonic DAT16H Add F9h Name High Order Data Byte 7 6 5 4 3 2 1 0 D15 D14 D13 D12 D11 D10 D9 D8 Table 28. Serial I/O Port SFRs Mnemonic Add Name SCON 98h Serial Control SBUF 99h Serial Data Buffer SADEN B9h Slave Address Mask SADDR A9h Slave Address BDRCON 92h Baud Rate Control BRL 91h Baud Rate Reload 7 6 5 4 3 2 1 0 FE/SM 0 SM1 SM2 REN TB8 RB8 TI RI BRR TBCK RBCK SPD SRC 19 Rev. D – 15-Nov-01 Table 29. SPI Controller SFRs Mnemonic Add SPCON Name 7 6 5 4 3 2 1 0 C3h SPI Control SPR2 SPEN SSDIS MSTR CPOL CPHA SPR1 SPR0 SPSTA C4h SPI Status SPIF WCOL - MODF - - - - SPDAT C5h SPI Data SPD7 SPD6 SPD5 SPD4 SPD3 SPD2 SPD1 SPD0 Table 30. 2-wire Controller SFRs Mnemonic Add Name 7 6 5 4 3 2 1 0 SSCON 93h Synchronous Serial control SSCR2 SSPE SSSTA SSSTO SSI SSAA SSCR1 SSCR0 SSSTA 94h Synchronous Serial Status SSC4 SSC3 SSC2 SSC1 SSC0 0 0 0 SSDAT 95h Synchronous Serial Data SSD7 SSD6 SSD5 SSD4 SSD3 SSD2 SSD1 SSD0 SSADR 96h Synchronous Serial Address SSA7 SSA6 SSA5 SSA4 SSA3 SSA2 SSA1 SSGC Table 31. Keyboard Interface SFRs Mnemonic Add KBCON KBSTA Name 7 6 5 4 3 2 1 0 A3h Keyboard Control KINL3 KINL2 KINL1 KINL0 KINM3 KINM2 KINM1 KINM0 A4h Keyboard Status KPDE - - - KINF3 KINF2 KINF1 KINF0 Table 32. A/D Controller SFRs Mnemonic Add ADCON F3h ADCLK 7 6 5 4 3 2 1 0 ADC Control - ADIDL ADEN ADEOC ADSST - - ADCS F2h ADC Clock Divider - - - ADCD4 ADCD3 ADCD2 ADCD1 ADCD0 ADDL F4h ADC Data Low Byte - - - - - - ADAT1 ADAT0 ADDH F5h ADC Data High Byte ADAT9 ADAT8 ADAT7 ADAT6 ADAT5 ADAT4 ADAT3 ADAT2 20 Name T8xC51SND1 Rev. D – 15-Nov-01 T8xC51SND1 Table 33. SFR Addresses and Reset Values 0/8 1/9 F8h UEPINT 0000 0000 DAT16H XXXX XXXX F0h B1 0000 0000 PLLCON 0000 1000 E8h E0h ACC1 0000 0000 D8h P51 XXXX 1111 D0h PSW1 0000 0000 C8h MP3STA1 0000 0001 C0h P41 1111 1111 B8h IPL01 X000 0000 B0h 2/A 3/B 4/C 5/D 6/E 7/F NVERS2 1000 0010 FFh ADCLK 0000 0000 ADCON 0000 0000 ADDL 0000 0000 ADDH 0000 0000 USBCLK 0000 0000 MP3CLK 0000 0000 AUDCLK 0000 0000 MMCLK 0000 0000 PLLNDIV 0000 0000 PLLRDIV 0000 0000 EFh MMCON0 0000 0000 MMCON1 0000 0000 MMCON2 0000 0000 MMINT 0000 0011 E7h MMDAT 1111 1111 MMCMD 1111 1111 MMSTA 0000 0000 MMMSK 1111 1111 DFh UEPCONX 0000 0000 UEPRST 0000 0000 UBYCTLX 0000 0000 FCON3 1111 00004 F7h D7h UEPSTAX 0000 0000 UEPDATX 0000 0000 CFh UEPNUM 0000 0000 C7h UEPIEN 0000 0000 SPCON 0001 0100 SPSTA 0000 0000 SPDAT XXXX XXXX USBADDR 1000 0000 SADEN 0000 0000 UFNUML 0000 0000 UFNUMH 0000 0000 USBCON 0000 0000 USBINT 0000 0000 USBIEN 0001 0000 P31 1111 1111 IEN1 0000 0000 IPL1 0000 0000 IPH1 0000 0000 MP3BAS 0000 0000 MP3MED 0000 0000 MP3TRE 0000 0000 A8h IEN01 0000 0000 SADDR 0000 0000 MP3CON 0011 1111 MP3DAT 0000 0000 MP3ANC 0000 0000 A0h P21 1111 1111 98h SCON 0000 0000 90h IPH0 X000 0000 B7h MP3STA1 0100 0001 AFh WDTRST 0000 1000 WDTPRG 0000 1000 A7h MP3VOR 0000 0000 9Fh AUXR1 XXXX 00X0 KBCON 0000 1111 KBSTA 0000 0000 SBUF XXXX XXXX AUDCON0 0000 1000 AUDCON1 1011 0010 AUDSTA 1100 0000 AUDDAT 1111 1111 MP3VOL 0000 0000 P11 1111 1111 BRL 0000 0000 BDRCON XXX0 0000 SSCON 0000 0000 SSSTA 1111 1000 SSDAT 1111 1111 SSADR 1111 1110 88h TCON1 0000 0000 TMOD 0000 0000 TL0 0000 0000 TL1 0000 0000 TH0 0000 0000 TH1 0000 0000 AUXR X000 1101 80h P01 1111 1111 SP 0000 0111 DPL 0000 0000 DPH 0000 0000 0/8 1/9 2/A 3/B 4/C 5/D BFh 6/E 97h CKCON 0000 000X5 8Fh PCON XXXX 0000 87h 7/F Reserved Notes: 1. SFR registers with least significant nibble address equal to 0 or 8 are bitaddressable. 2. NVERS reset value depends on the silicon version. 3. FCON register is only available in T89C51SND1 product. 4. FCON reset value is 00h in case of reset with hardware condition. 5. CKCON reset value depends on the X2B bit (programmed or unprogrammed) in the Hardware Byte. 21 Rev. D – 15-Nov-01 8. In System & In Application Programming 8.1 Introduction As described in the section “Program/Code Memory” of the T8xC51SND1 design guide, The T89C51SND1 implements a 4 Kbytes FLASH boot memory. This boot memory is delivered programmed with a standard boot loader software allowing In System Programming (ISP). It also contains some Application Programming Interface routines named API routines allowing In Application Programming (IAP) by using user’s own boot loader. 8.2 In System Programming The ISP boot process is divided in two different processes: the hardware and software boot process detailed in the following sections. 8.3.1 Hardware Boot Process As detailed in Figure 8 there are two hardware conditions that allow user executing the boot loader: the hardware and the programmed conditions. Hardware condition The hardware condition is based on the ISP# pin. When driving this pin to low level, the chip reset forces the execution of the boot loader software. The hardware condition takes precedence on the programmed condition and always allows in system recovery when user’s memory has been corrupted. Programmed Condition The programmed condition is based on the Boot Loader Jump Bit (BLJB) in the hardware security bytes (HSB). When this bit is programmed (by hardware or software programming mode), the chip reset forces the execution of the boot loader software. 8.4.2 Software Boot Process Whatever the physical medium may be, the boot loader software always starts execution by testing FCON to know if execution comes from hardware or programmed condition. If it is from hardware condition, the Atmel’s boot loader is executed. If it is from programmed condition, the Software Boot Vector (SBV) is used to build a 16-bit address, SBV content being the MSB and the LSB being 00h. If this address is valid (< F000h), jump is done to this address to execute user’s boot loader. Otherwise jump is done to the Atmel’s boot loader. This implies that user’s boot loader does not execute any code mapped from F000h to FFFFh. 22 T8xC51SND1 Rev. D – 15-Nov-01 T8xC51SND1 Figure 8. Boot Process Algorithm RESET Hardware Process Hard Cond? ISP#= L? Prog Cond? BLJB= P? Standard Init ENBOOT= 0 PC= 0000h FCON= F0h Hard Cond Init ENBOOT= 1 PC= F000h FCON= 00h Prog Cond Init ENBOOT= 1 PC= F000h FCON= F0h Software Process Hard Cond? FCON= 00h? User Vector? SBV< F0h? User Init PCH= SBV PCL= 00h User’s Application User’s Boot Loader Atmel’s Boot Loader 23 Rev. D – 15-Nov-01 8.5 Serial Boot Loader 8.6.1 Configuration The serial boot loader is based on the internal UART and needs only 3 pins: the TXD and RXD pins of the UART and the VSS pin. The data transmission format on the serial link must be set to 8 data bits with 1 stop bit. The baud rate is automatically recognized during the synchronization phase. 8.7.2 Synchronization Phase Before any data may be sent to the boot loader, a synchronization must be achieved with the host so that both side converse at the same baud rate. This is done by sending the “U” character (ASCII 35h) to the boot loader. The boot loader acknowledges the synchronization by responding the same “U” character. At this time, the boot loader is able to receive data, then all data received are echoed to the host. 8.8.3 Command Protocol Definition The protocol is based on the INTEL‚ HEX type records. These records are composed of seven fields of ASCII characters as detailed in Table 34. All fields except SOR (Start Of Record) end EOR (End Of Record) are ASCII coded hexadecimal values. The SOR field is always a “:” character. The EOR field is always a Carriage Return (ASCII 13h) followed by a Line Feed (ASCII 0Ah). The SIZE field is the size of the DATA field. The ADDRESS field is the address where to store data contained in the DATA field. The TYPE field is the record type detailed in Table 35. The DATA field contains the data and must never exceed 128 data bytes (256 ASCII characters). The CKSUM field is the checksum computed on the SIZE, ADDRESS, TYPE, DATA fields. Table 34. Hex Record Format SOR SIZE ADDRESS TYPE DATA CKSUM EOR : NN AAAA RR DD…DD CC CR LF Error Handling All received records that present a checksum error, a data length greater than 128 bytes or a bad type record are immediately acknowledged to the host by sending a “X” character followed by a CRLF sequence. Command description Table 35. Hex Record Commands TYPE 00h 01h 24 SIZE 01h to 80h 00h ADDRESS 0000h to FFFFh 0000h Description Program Data Program the data in the DATA field at the address contained in the ADDRESS field. Return “.” “P” Done. Not done. Part protected (secured by level 1 or 2). End of File No operation. Return “.” T8xC51SND1 Rev. D – 15-Nov-01 T8xC51SND1 TYPE SIZE 02h ADDRESS XXXX Description Block Erase: DATA[0]= 01h DATA[1]= 00h Erase block 0 from address 0000h to 1FFFh. DATA[1]= 20h Erase block 1 from address 2000h to 3FFFh. DATA[1]= 40h Erase block 2 from address 4000h to 7FFFh. DATA[1]= 80h Erase block 3 from address 8000h to BFFFh. DATA[1]= C0h Erase block 4 from address C000h to FFFFh. Return “.” “P” 01h 02h XXXX XXXX Reset Software Boot Vector and Boot Status Byte: DATA[0]= 04h Set SBV to F0h and BSB to FFh. Return “.” “P” 03h XXXX XXXX Done. Not done. Part protected (secured by level 1 or 2). Program Software Boot Vector or Boot Status Byte: DATA[0]= 06h DATA[1]= 00h Program BSB with DATA[2]. DATA[1]= 01h Program SBV with DATA[2]. Return “.” “P” 01h Done. Not done. Part protected (secured by level 1 or 2). Program Software Security Bits: DATA[0]= 05h DATA[1]= 00h Program level 1. Disable FLASH programming. DATA[1]= 01h Program level 2. Disable FLASH programming & verifying. Return “.” “P” 03h Done. Not done. Part protected (secured by level 1 or 2). Done. Not done. Part already protected (secured by level 2). Full Chip Erase: DATA[0]= 07h Erase user memory from address 0000h to FFFFh. Set SBV to F0h and BSB to FFh. Program software security to level 0. Return “.” 03h XXXX Program Fuse bits: DATA[0]= 0Ah DATA[1]= 04h DATA[2]= 00h Program BLJB bit. DATA[2]= 01h Erase BLJB bit. DATA[1]= 08h DATA[2]= 00h Program X2 bit. DATA[2]= 01h Erase X2 bit. Return “.” “P” Done. Not done. Part protected (secured by level 1 or 2). 25 Rev. D – 15-Nov-01 TYPE SIZE 05h ADDRESS XXXX Description Read Data: DATA[4]= 00h Read data from address given by DATA[1:0] (start address) to address given by DATA[3:2] (end address). Return “AAAA=DD…DD” up to 16 data bytes by line. 04h 05h 02h XXXX XXXX Blank Check: DATA[4]= 01h Check blanked data from address given by DATA[1:0] (start address) to address given by DATA[3:2] (end address). Return “.” “XXXX” Read Id: DATA[0]= 00h DATA[1]= 00h Return manufacturer id. DATA[1]= 01h Return device id 1. DATA[1]= 02h Return device id 2. DATA[1]= 03h Return device id 3. Return “XX” 02h XXXX 05h 02h XXXX XXXX 26 XXXX Selected byte value. Read HSB: DATA[0]= 0Bh Return HSB. Return “XX” HSB value. Read Boot Id: DATA[0]= 0Eh DATA[1]= 00h Return boot id 1. DATA[1]= 01h Return boot id 1. Return “XX” 01h Selected id value. Read Special Bytes: DATA[0]= 07h DATA[1]= 00h Return SSB. DATA[1]= 01h Return BSB. DATA[1]= 02h Return SBV. Return “XX” 01h Done. First address not blanked. Selected id value. Read Boot Loader Version: DATA[0]= 0Fh Return boot loader version. Return “XX” Boot loader version. T8xC51SND1 Rev. D – 15-Nov-01 T8xC51SND1 8.9 In Application Programming The IAP is based on several Application Program Interface routines (APIs) that may be called by the user’s boot loader to allow programming of the FLASH memory. The APIs are executed by calling the API_CALL function at address FFF0h and by passing the API routine number in R1 register. Some other parameters may also be passed in registers as detailed in Table 36. Table 36. API Routines and Parameters R1 Description PROGRAM DATA BYTE Program a data in the FLASH memory at a given address. 02h Parameters DPTR Address of the byte to program. ACC Data to program. Return None. PROGRAM DATA PAGE Program a page of data in the FLASH memory at a given page address. 09h Parameters DPTR0 Address of the page to program. DPTR1 Address in ERAM of the first data to program. ACC Number of bytes to program limited to 128. Return None. PROGRAM SOFTWARE SECURITY BYTE Program SSB. 05h Parameters DPL 00h 01h Program level 1. Disable FLASH programming. Program level 2. Disable FLASH programming & verifying. Return None. PROGRAM BOOT STATUS BYTE Program BSB. 06h Parameters DPL 00h Select BSB programming. ACC Data to program in BSB. Return None. PROGRAM SOFTWARE BOOT VECTOR Program SBV. 06h Parameters DPL 01h Select SBV programming. ACC Data to program in SBV. Return None. PROGRAM BOOT LOADER JUMP BIT Program BLJB. 06h Parameters DPL 04h ACC 00h 01h Select BLJB programming. Program BLJB. Erase BLJB. Return None. 27 Rev. D – 15-Nov-01 R1 Description PROGRAM X2 BIT Program X2B. 06h Parameters DPL 08h ACC 00h 01h Select X2B programming. Program X2B. Erase X2B. Return None. Erase BLOCK Erase one of the 5 available blocks. 01h Parameters DPH 00h 20h 40h 80h C0h Erase block 0 from address 0000h to 1FFFh. Erase block 1 from address 2000h to 3FFFh. Erase block 2 from address 4000h to 7FFFh. Erase block 3 from address 8000h to BFFFh. Erase block 4 from address C000h to FFFFh. Return None. ERASE SOFTWARE BOOT VECTOR and BOOT STATUS BYTE Erase SBV and BSB. 04h Parameters None. Return None. READ DATA BYTE Read data at a given address. 03h Parameters DPTR Address of the byte to program. Return ACC Data read. READ MANUFACTURER ID Read manufacturer Id. 00h Parameters DPL 00h Return ACC Select manufacturer Id. Id value. READ DEVICE ID 1 Read device Id 1 00h Parameters DPL 01h Return ACC Select device Id 1. Id value. READ DEVICE ID 2 Read device Id 2. 00h Parameters DPL 02h Return ACC 28 Select device Id 2. Id value. T8xC51SND1 Rev. D – 15-Nov-01 T8xC51SND1 R1 Description READ DEVICE ID 3 Read device Id 3. 00h Parameters DPL 03h Return ACC Select device Id 3. Id value. READ SOFTWARE SECURITY BYTE Read SSB. 07h Parameters DPL 00h Return ACC Select SSB. SSB value. READ BOOT STATUS BYTE Read BSB. 07h Parameters DPL 01h Return ACC Select BSB. BSB value. READ SOFTWARE BOOT VECTOR Read SBV. 07h Parameters DPL 02h Return ACC Select SBV. SBV value. READ HARDWARE SECURITY BYTE Read HSB. 0Bh Parameters None. Return ACC HSB value. READ BOOT ID 1 Read boot Id 1. 0Eh Parameters DPL 00h Return ACC Select boot Id 1. Id value. READ BOOT ID 2 Read boot Id 2. 0Eh Parameters DPL 01h Return ACC Select boot Id 2. Id value. READ BOOT LOADER VERSION Read BLV. 0Fh Parameters None. Return ACC BLV value. 29 Rev. D – 15-Nov-01 9. Peripherals The T8xC51SND1 peripherals are briefly described in the following sections. For further details on how to interface (hardware and software) to these peripherals, please refer to the T8xC51SND1 design guide. 9.1 Clock Generator System The T8xC51SND1 internal clocks are extracted from an on-chip PLL fed by an on-chip oscillator. Four clocks are generated respectively for the C51 core, the MP3 decoder, the audio interface, and the other peripherals. The C51 and peripheral clocks are derived from the oscillator clock. The MP3 decoder clock is generated by dividing the PLL output clock. The audio interface sample rates are also obtained by dividing the PLL output clock. 9.2 Ports The T8xC51SND1 implements five 8-bit ports (P0 to P4) and one 4-bit port (P5). In addition to performing general-purpose I/O, some ports are capable of external data memory operations; others allow for alternate functions. All I/O Ports are bidirectional. Each Port contains a latch, an output driver and an input buffer. Port 0 and Port 2 output drivers and input buffers facilitate external memory operations. Some Port 1, Port 3 and Port 4 pins serve for both general-purpose I/O and alternate functions. 9.3 Timers/Counters The T8xC51SND1 implements the two general-purpose, 16-bit Timers/Counters of a standard C51. They are identified as Timer 0, Timer 1, and can independently be configured each to operate in a variety of modes as a Timer or as an event Counter. When operating as a Timer, a Timer/Counter runs for a programmed length of time, then issues an interrupt request. When operating as a Counter, a Timer/Counter counts negative transitions on an external pin. After a preset number of counts, the Counter issues an interrupt request. 9.4 Watchdog Timer The T8xC51SND1 implements a hardware Watchdog Timer that automatically resets the chip if it is allowed to time out. The WDT provides a means of recovering from routines that do not complete successfully due to software or hardware malfunctions. 9.5 MP3 Decoder The T8xC51SND1 implements a MPEG I/II audio layer 3 decoder (known as MP3 decoder). In MPEG I (ISO 11172-3) three layers of compression have been standardized supporting three sampling frequencies: 48, 44.1, and 32 KHz. Among these layers, layer 3 allows highest compression rate of about 12:1 while still maintaining CD audio quality. For example, 3 minutes of CD audio (16-bit PCM, 44.1 KHz) data, which needs about 32 MBytes of storage, can be encoded into only 2.7 MBytes of MPEG I audio layer 3 data. In MPEG II (ISO 13818-3), three additional sampling frequencies: 24, 22.05, and 16 KHz are supported for low bit rates applications. The T8xC51SND1 can decode in real-time the MPEG I audio layer 3 encoded data into a PCM audio data, and also supports MPEG II audio layer 3 additional frequencies. 30 T8xC51SND1 Rev. D – 15-Nov-01 T8xC51SND1 Additional features are supported by the T8xC51SND1 MP3 decoder such as volume, bass, medium, and treble controls, bass boost effect and ancillary data extraction. 9.6 Audio Output Interface The T8xC51SND1 implements an audio output interface allowing the decoded audio bitstream to be output in various formats. It is compatible with right and left justification PCM and I2S formats and thanks to the on-chip PLL (see Section 9.1) allows connection of almost all of the commercial audio DAC families available on the market. 9.7 Universal Serial Bus Interface The T8xC51SND1 implements a full speed Universal Serial Bus Interface. It can be used for the following purposes: • Download of MP3 encoded audio files by supporting the USB mass storage class. • In System Programming by supporting the USB firmware upgrade class. 9.8 MultiMediaCard Interface The T8xC51SND1 implements a MultiMediaCard (MMC) interface compliant to the V2.2 specification in MultiMediaCard Mode. The MMC allows storage of MP3 encoded audio files in removable flash memory cards that can be easily plugged or removed from the application. It can also be used for In System Programming. 9.9 IDE/ATAPI interface The T8xC51SND1 provides an IDE/ATAPI interface allowing connexion of devices such as CD-ROM reader, CompactFlash cards, Hard Disk Drive… It consists in a 16-bit bidirectional bus part of the low-level ANSI ATA/ATAPI specification. It is provided for mass storage interface but could be used for In System Programming using CD-ROM. 9.10 Serial I/O Interface The T8xC51SND1 implements a serial port with its own baud rate generator providing one single synchronous communication mode and three full-duplex Universal Asynchronous Receiver Transmitter (UART) communication modes. It is provided for the following purposes: • In System Programming. • Remote control of the T8xC51SND1 by a host. 9.11 Serial Peripheral Interface The T8xC51SND1 implements a Serial Peripheral Interface (SPI) supporting master and slave modes. It is provided for the following purposes: • Interfacing DataFlash memory for MP3 encoded audio files storage. • Remote control of the T8xC51SND1 by a host. • In System Programming. 31 Rev. D – 15-Nov-01 9.12 2-wire Controller The T8xC51SND1 implements a 2-wire controller supporting the four standard master and slave modes with multimaster capability. It is provided for the following purposes: • Connection of slave devices like LCD controller, audio DAC… • Remote control of the T8xC51SND1 by a host. • In System Programming. 9.13 A/D Controller The T8xC51SND1 implements a 2-channel 10-bit (8 true bits) analog to digital converter (ADC). It is provided for the following purposes: • Battery monitoring. • Voice recording. • Corded remote control. 9.14 Keyboard Interface The T8xC51SND1 implements a keyboard interface allowing connection of 4 x n matrix keyboard. It is based on 4 inputs with programmable interrupt capability on both high or low level. These inputs are available as alternate function of P1.3:0 and allow exit from idle and power down modes. 32 T8xC51SND1 Rev. D – 15-Nov-01 T8xC51SND1 10. Absolute Maximum Rating and Operating Conditions 10.1 Absolute Maximum Rating Table 37. Absolute Maximum Ratings Storage Temperature .................................................... -65 to +150°C Voltage on any other Pin to VSS .................................... -0.3 to +4.0 V IOL per I/O Pin 5 mA Power Dissipation ......................................................... 1 W 10.2 Operating Conditions Table 38. Operating Conditions Ambient Temperature Under Bias ................................. -40 to +85°C VDD ................................................................................................................... 2.7 to 3.3V Note: Stressing the device beyond the “Absolute Maximum Ratings” may cause permanent damage. These are stress ratings only. Operation beyond the “operating conditions” is not recommended and extended exposure beyond the “Operating Conditions” may affect device reliability. 33 Rev. D – 15-Nov-01 11. DC Characteristics 11.1 DC Characteristics - Digital Logic Table 39. Digital DC Characteristics VDD= 2.7 to 3.3 V, TA= -40 to +85°C Symbol Min Typ1 Max Units -0.5 0.2·VDD - 0.1 V 0.2·VDD + 0.9 VDD V 0.7·VDD VDD + 0.5 V Test Conditions VIL Input Low Voltage VIH1 Input High Voltage (except RST) VIH2 Input High Voltage (RST) VOL1 Output Low Voltage (except P0, ALE, MCMD, MDAT, MCLK, SCLK, DCLK, DSEL, DOUT) 0.45 V IOL= 1.6 mA VOL2 Output Low Voltage (P0, ALE, MCMD, MDAT, MCLK, SCLK, DCLK, DSEL, DOUT) 0.45 V IOL= 3.2 mA VOH1 Output High Voltage (P1, P2, P3, P4 and P5) VDD - 0.7 V IOH= -30 µA VOH2 Output High Voltage (P0, P2 address mode, ALE, MCMD, MDAT, MCLK, SCLK, DCLK, DSEL, DOUT) VDD - 0.7 V IOH= -3.2 mA IIL Logical 0 Input Current (P1, P2, P3, P4 and P5) -50 µA Vin = 0.45 V ILI Input Leakage Current (P0, ALE, MCMD, MDAT, MCLK, SCLK, DCLK, DSEL, DOUT) 10 µA 0.45 < VIN < VDD ITL Logical 1 to 0 Transition Current (P1, P2, P3, P4 and P5) -650 µA Vin = 2.0 V 200 kΩ RRST CIO VRET Pull-Down Resistor Pin Capacitance 50 90 10 VDD Data Retention Limit pF 1.8 V TA= 25°C IDD Operating Current TBD TBD mA 12 MHz, VDD < 3.3 V 16 MHz, VDD < 3.3 V 20 MHz, VDD < 3.3 V IDL Idle Mode Current TBD TBD mA 12 MHz, VDD < 3.3 V 16 MHz, VDD < 3.3 V 20 MHz, VDD < 3.3 V IPD Power-Down Current TBD TBD µA VRET < VDD < 3.3 V Notes: 34 Parameter 1. Typical values are obtained using VDD= 3 V and TA= 25°C. They are not tested and there is no guarantee on these values. T8xC51SND1 Rev. D – 15-Nov-01 T8xC51SND1 Figure 9. IDD/IDL Versus XTAL Frequency; VDD= 2.7 to 3.3 V IDD/IDL (mA) TBD TBD TBD 0 2 4 6 8 max Active mode (mA) typ Active mode (mA) max Idle mode (mA) typ Idle mode (mA) 10 12 14 16 18 20 Frequency at XTAL (MHz) 11.2 DC Characteristics - IDD, IDL and IPD Test Conditions Figure 10. IDD Test Condition, Active Mode VDD VDD RST IDD VDD VDD P0 (NC) Clock Signal X2 X1 TST# VSS VSS All other pins are unconnected Figure 11. IDL Test Condition, Idle Mode VDD RST VDD VSS IDL VDD P0 (NC) Clock Signal X2 X1 TST# VSS VSS All other pins are unconnected 35 Rev. D – 15-Nov-01 Figure 12. IPD Test Condition, Power-Down Mode VDD RST VDD VSS IPD VDD P0 (NC) X2 X1 VSS MCMD MDAT TST# VSS All other pins are unconnected 36 T8xC51SND1 Rev. D – 15-Nov-01 T8xC51SND1 11.3 DC Characteristics - A to D Converter Table 40. A to D Converter DC Characteristics VDD= 2.7 to 3.3 V, TA= -40 to +85°C Symbol Parameter Min Typ Max Units 3.3 V Test Conditions AVDD Analog Supply Voltage AIDD Analog Operating Supply Current 600 µA AVDD= 3.3V AIN1:0= 0 to AVDD AIPD Analog Standby Current 2 µA AVDD= 3.3V ADEN= 0 or PD= 1 AVIN Analog Input Voltage AVSS AVDD V Reference Voltage AREFN AREFP AVSS 2.4 AVDD V V 10 30 KΩ TA= 25°C 10 pF TA= 25°C AVREF RREF AREF Input Resistance CIA 2.7 Analog Input capacitance 11.4 DC Characteristics - Oscillator & Crystal 11.5.1 Schematic Figure 13. Crystal Connection X1 C1 Q C2 VSS X2 Note: 11.6.2 Parameters For operation with most standard crystals, no external components are needed on X1 and X2. It may be necessary to add external capacitors on X1 and X2 to ground in special cases (max 10 pF). X1 and X2 may not be used to drive other circuits. Table 41. Oscillator & Crystal Characteristics VDD= 2.7 to 3.3 V, TA= -40 to +85°C Symbol Parameter Min Typ Max Unit CX1 Internal Capacitance (X1 - VSS) 10 pF CX2 Internal Capacitance (X2 - VSS) 10 pF CL Equivalent Load Capacitance (X1 - X2) 5 pF DL Drive Level 50 µW Crystal Frequency 20 MHz RS Crystal Series Resistance 40 Ω CS Crystal Shunt Capacitance 6 pF F 37 Rev. D – 15-Nov-01 11.7 DC Characteristics - Phase Lock Loop 11.8.1 Schematic Figure 14. PLL Filter Connection PFILT R C2 C1 VSS 11.9.2 Parameters VSS Table 42. PLL Filter Characteristics VDD= 2.7 to 3.3 V, TA= -40 to +85°C Symbol Parameter Min Typ Max Unit R Filter Resistor 100 Ω C1 Filter Capacitance 1 10 nF C2 Filter Capacitance 2 2.2 nF 11.10 DC Characteristics - In System Programming 11.11.1 Schematic Figure 15. ISP Pull-Down Connection ISP# RISP VSS 11.12.2 Parameters Table 43. ISP Pull-Down Characteristics VDD= 2.7 to 3.3 V, TA= -40 to +85°C Symbol RISP 38 Parameter ISP Pull-Down Resistor Min Typ 2.2 Max Unit KΩ T8xC51SND1 Rev. D – 15-Nov-01 T8xC51SND1 12. AC Characteristics 12.1 AC Characteristics - External 8-bit Bus Cycles 12.2.1 Definition of symbols Table 44. External 8-bit Bus Cycles Timing Symbol Definitions Signals 12.3.2 Timings Conditions A Address H High D Data In L Low L ALE V Valid Q Data Out X No Longer Valid R RD# Z Floating W WR# Test conditions: capacitive load on all pins= 50 pF. Table 45. External 8-bit Bus Cycle - Data Read AC Timings VDD= 2.7 to 3.3 V, TA= -40 to +85°C Variable Clock Standard Mode Symbol Parameter TCLCL Clock Period TLHLL ALE Pulse Width TAVLL Min Max Variable Clock X2 Mode Min Max Unit 50 50 ns 2·TCLCL-15 TCLCL-15 ns Address Valid to ALE Low TCLCL-20 0.5·TCLCL-20 ns TLLAX Address hold after ALE Low TCLCL-20 0.5·TCLCL-20 ns TLLRL ALE Low to RD# Low 3·TCLCL-30 1.5·TCLCL-30 ns TRLRH RD# Pulse Width 6·TCLCL-25 3·TCLCL-25 ns TRHLH RD# high to ALE High TAVDV Address Valid to Valid Data In TAVRL Address Valid to RD# Low TRLDV RD# Low to Valid Data TRLAZ RD# Low to Address Float TRHDX Data Hold After RD# High TRHDZ Instruction Float After RD# High TCLCL-20 TCLCL+20 0.5·TCLCL-20 9·TCLCL-65 4·TCLCL-30 0.5·TCLCL+20 ns 4.5·TCLCL-65 ns 2·TCLCL-30 ns 5·TCLCL-30 2.5·TCLCL-30 ns 0 0 ns 0 0 2·TCLCL-25 ns TCLCL-25 ns 39 Rev. D – 15-Nov-01 Table 46. External 8-bit Bus Cycle - Data Write AC Timings VDD= 2.7 to 3.3 V, TA= -40 to +85°C Variable Clock Standard Mode Symbol 12.4.3 Waveforms Parameter TCLCL Clock Period TLHLL ALE Pulse Width TAVLL Min Variable Clock X2 Mode Max Min Max Unit 50 50 ns 2·TCLCL-15 TCLCL-15 ns Address Valid to ALE Low TCLCL-20 0.5·TCLCL-20 ns TLLAX Address hold after ALE Low TCLCL-20 0.5·TCLCL-20 ns TLLWL ALE Low to WR# Low 3·TCLCL-30 1.5·TCLCL-30 ns TWLWH WR# Pulse Width 6·TCLCL-25 3·TCLCL-25 ns TWHLH WR# High to ALE High TCLCL-20 TAVWL Address Valid to WR# Low 4·TCLCL-30 2·TCLCL-30 ns TQVWH Data Valid to WR# High 7·TCLCL-20 3.5·TCLCL-20 ns TWHQX Data Hold after WR# High TCLCL-15 0.5·TCLCL-15 ns TCLCL+20 0.5·TCLCL-20 0.5·TCLCL+20 ns Figure 16. External 8-bit Bus Cycle - Data Read Waveforms ALE TLHLL TLLRL TRLRH TRHLH RD# TRLDV TRHDZ TRLAZ TAVLL P0 TLLAX TRHDX A7:0 D7:0 TAVRL Data In TAVDV P2 A15:8 Figure 17. External 8-bit Bus Cycle - Data Write Waveforms 40 T8xC51SND1 Rev. D – 15-Nov-01 T8xC51SND1 ALE TLHLL TLLWL TWLWH TWHLH WR# TAVWL TAVLL P0 TLLAX TQVWH A7:0 TWHQX D7:0 Data Out P2 A15:8 41 Rev. D – 15-Nov-01 12.5 AC Characteristics - External IDE 16-bit Bus Cycles 12.6.1 Definition of symbols Table 47. External IDE 16-bit Bus Cycles Timing Symbol Definitions Signals 12.7.2 Timings Conditions A Address H High D Data In L Low L ALE V Valid Q Data Out X No Longer Valid R RD# Z Floating W WR# Test conditions: capacitive load on all pins= 50 pF. Table 48. External IDE 16-bit Bus Cycle - Data Read AC Timings VDD= 2.7 to 3.3 V, TA= -40 to +85°C Variable Clock Standard Mode Symbo l 42 Parameter TCLCL Clock Period TLHLL ALE Pulse Width TAVLL Min Max Variable Clock X2 Mode Min Max Unit 50 50 ns 2·TCLCL-15 TCLCL-15 ns Address Valid to ALE Low TCLCL-20 0.5·TCLCL-20 ns TLLAX Address hold after ALE Low TCLCL-20 0.5·TCLCL-20 ns TLLRL ALE Low to RD# Low 3·TCLCL-30 1.5·TCLCL-30 ns TRLRH RD# Pulse Width 6·TCLCL-25 3·TCLCL-25 ns TRHLH RD# high to ALE High TAVDV Address Valid to Valid Data In TAVRL Address Valid to RD# Low TRLDV RD# Low to Valid Data TRLAZ RD# Low to Address Float TRHDX Data Hold After RD# High TRHDZ Instruction Float After RD# High TCLCL-20 TCLCL+20 0.5·TCLCL-20 9·TCLCL-65 4·TCLCL-30 0.5·TCLCL+20 ns 4.5·TCLCL-65 ns 2·TCLCL-30 ns 5·TCLCL-30 2.5·TCLCL-30 ns 0 0 ns 0 0 2·TCLCL-25 ns TCLCL-25 ns T8xC51SND1 Rev. D – 15-Nov-01 T8xC51SND1 Table 49. External IDE 16-bit Bus Cycle - Data Write AC Timings VDD= 2.7 to 3.3 V, TA= -40 to +85°C Variable Clock Standard Mode Symbol 12.8.3 Waveforms Parameter TCLCL Clock Period TLHLL ALE Pulse Width TAVLL Min Variable Clock X2 Mode Max Min Max Unit 50 50 ns 2·TCLCL-15 TCLCL-15 ns Address Valid to ALE Low TCLCL-20 0.5·TCLCL-20 ns TLLAX Address hold after ALE Low TCLCL-20 0.5·TCLCL-20 ns TLLWL ALE Low to WR# Low 3·TCLCL-30 1.5·TCLCL-30 ns TWLWH WR# Pulse Width 6·TCLCL-25 3·TCLCL-25 ns TWHLH WR# High to ALE High TAVWL Address Valid to WR# Low 4·TCLCL-30 2·TCLCL-30 ns TQVWH Data Valid to WR# High 7·TCLCL-20 3.5·TCLCL-20 ns TWHQX Data Hold after WR# High TCLCL-15 0.5·TCLCL-15 ns TCLCL-20 TCLCL+20 0.5·TCLCL-20 0.5·TCLCL+20 ns Figure 18. External IDE 16-bit Bus Cycle - Data Read Waveforms ALE TLHLL TLLRL TRLRH TRHLH RD# TRLDV TRHDZ TRLAZ TAVLL P0 TLLAX TRHDX A7:0 D7:0 TAVRL Data In TAVDV P2 A15:8 D15:81 Data In Note: D15:8 is written in DAT16H SFR. 43 Rev. D – 15-Nov-01 Figure 19. External IDE 16-bit Bus Cycle - Data Write Waveforms ALE TLHLL TLLWL TWHLH TWLWH WR# TAVWL TAVLL TLLAX P0 A7:0 TQVWH TWHQX D7:0 Data Out P2 A15:8 D15:81 Data Out Note: D15:8 is the content of DAT16H SFR. 12.9 AC Characteristics - SPI Interface 12.10.1 Definition of symbols Table 50. SPI Interface Timing Symbol Definitions Signals 44 Conditions C Clock H High I Data In L Low O Data Out V Valid X No Longer Valid Z Floating T8xC51SND1 Rev. D – 15-Nov-01 T8xC51SND1 12.11.2 Timings Test conditions: capacitive load on all pins= 100 pF. Table 51. SPI Interface Master AC Timing VDD= 2.7 to 3.3 V, TA= -40 to +85°C Symbol Parameter Min Max Unit Slave mode TCHCH Clock Period TCHCX 8 TOSC Clock High Time 3.2 TOSC TCLCX Clock Low Time 3.2 TOSC TSLCH, TSLCL SS# Low to Clock edge 200 ns TIVCL, TIVCH Input Data Valid to Clock Edge 100 ns TCLIX, TCHIX Input Data Hold after Clock Edge 100 ns TCLOV, TCHOV Output Data Valid after Clock Edge TCLOX, TCHOX Output Data Hold Time after Clock Edge 0 ns TCLSH, TCHSH SS# High after Clock Edge 0 ns TIVCL, TIVCH Input Data Valid to Clock Edge 100 ns TCLIX, TCHIX Input Data Hold after Clock Edge 100 ns TSLOV SS# Low to Output Data Valid 130 ns TSHOX Output Data Hold after SS# High 130 ns TSHSL SS# High to SS# Low TILIH Input Rise Time 2 µs TIHIL Input Fall Time 2 µs TOLOH Output Rise time 100 ns TOHOL Output Fall Time 100 ns 100 ns (1) Master mode TCHCH Clock Period TCHCX 4 TOSC Clock High Time 1.6 TOSC TCLCX Clock Low Time 1.6 TOSC TIVCL, TIVCH Input Data Valid to Clock Edge 50 ns TCLIX, TCHIX Input Data Hold after Clock Edge 50 ns TCLOV, TCHOV Output Data Valid after Clock Edge TCLOX, TCHOX Output Data Hold Time after Clock Edge TILIH Input Data Rise Time 2 µs TIHIL Input Data Fall Time 2 µs TOLOH Output Data Rise time 50 ns TOHOL Output Data Fall Time 50 ns Notes: 65 0 ns ns 1. Value of this parameter depends on software. 45 Rev. D – 15-Nov-01 12.12.3 Waveforms Figure 20. SPI Slave Waveforms (SSCPHA= 0) SS# (input) TSLCH TSLCL SCK (SSCPOL= 0) (input) TCHCH TCHCX TCLCH TCLSH TCHSH TSHSL TCLCX TCHCL SCK (SSCPOL= 1) (input) MISO (output) SLAVE MSB OUT TIVCH TIVCL MOSI (input) BIT 6 TSHOX SLAVE LSB OUT 1 TCHIX TCLIX MSB IN Note: TCLOX TCHOX TCLOV TCHOV TSLOV BIT 6 LSB IN Not Defined but generally the MSB of the character which has just been received. Figure 21. SPI Slave Waveforms (SSCPHA= 1) SS#1 (output) TCHCH SCK (SSCPOL= 0) (output) TCHCX TCLCH TCLCX TCHCL SCK (SSCPOL= 1) (output) TIVCH TCHIX TIVCL TCLIX SI (input) MSB IN BIT 6 LSB IN TCLOX TCLOV TCHOV SO (output) Port Data Note: 46 MSB OUT BIT 6 TCHOX LSB OUT Port Data Not Defined but generally the LSB of the character which has just been received. T8xC51SND1 Rev. D – 15-Nov-01 T8xC51SND1 Figure 22. SPI Master Waveforms (SSCPHA= 0) SS#1 (input) TSLCH TSLCL SCK (SSCPOL= 0) (input) TCHCH TCHCX TCLCH TCLSH TCHSH TSHSL TCLCX TCHCL SCK (SSCPOL= 1) (input) TCHOV TCLOV TSLOV MISO (output) 1 SLAVE MSB OUT BIT 6 TCHOX TCLOX TSHOX SLAVE LSB OUT TIVCH TCHIX TIVCL TCLIX MOSI (input) Note: MSB IN BIT 6 LSB IN SS# handled by software using general purpose port pin. Figure 23. SPI Master Waveforms (SSCPHA= 1) SS#1 (output) TCHCH SCK (SSCPOL= 0) (output) TCHCX TCLCH TCLCX TCHCL SCK (SSCPOL= 1) (output) TIVCH TCHIX TIVCL TCLIX SI (input) SO (output) Note: MSB IN BIT 6 TCLOV TCLOX TCHOX TCHOV Port Data MSB OUT BIT 6 LSB IN LSB OUT Port Data SS# handled by software using general purpose port pin. 47 Rev. D – 15-Nov-01 12.13 AC Characteristics - 2-wire Interface 12.14.1 Timings Table 52. 2-wire Interface AC Timing VDD= 2.7 to 3.3 V, TA= -40 to +85°C INPUT Min Max OUTPUT Min Max Start condition hold time 14·TCLCL(4) 4.0 µs(1) TLOW SCL low time 16·TCLCL(4) 4.7 µs(1) THIGH SCL high time 14·TCLCL(4) 4.0 µs(1) TRC SCL rise time 1 µs -(2) TFC SCL fall time 0.3 µs 0.3 µs(3) TSU; DAT1 Data set-up time 250 ns 20·TCLCL(4)- TRD TSU; DAT2 SDA set-up time (before repeated START condition) 250 ns 1 µs(1) TSU; DAT3 SDA set-up time (before STOP condition) 250 ns 8·TCLCL(4) THD; DAT Data hold time 0 ns 8·TCLCL(4) - TFC TSU; STA Repeated START set-up time 14·TCLCL(4) 4.7 µs(1) TSU; STO STOP condition set-up time 14·TCLCL(4) 4.0 µs(1) TBUF Bus free time 14·TCLCL(4) 4.7 µs(1) TRD SDA rise time 1 µs -(2) TFD SDA fall time 0.3 µs 0.3 µs(3) Symbol Parameter THD; STA Notes: 12.15.2 Waveforms 1. At 100 kbit/s. At other bit-rates this value is inversely proportional to the bit-rate of 100 kbit/s. 2. Determined by the external bus-line capacitance and the external bus-line pull-up resistor, this must be < 1 µs. 3. Spikes on the SDA and SCL lines with a duration of less than 3·TCLCL will be filtered out. Maximum capacitance on bus-lines SDA and SCL= 400 pF. 4. TCLCL= TOSC= one oscillator clock period. Figure 24. 2-wire Waveforms Repeated START condition START or Repeated START condition START condition STOP condition Trd Tsu;STA 0.7 VDD 0.3 VDD SDA (INPUT/OUTPUT) Tsu;STO Tfd Trc Tfc 0.7 VDD 0.3 VDD SCL (INPUT/OUTPUT) Thd;STA 48 Tbuf Tsu;DAT3 Tlow Thigh Tsu;DAT1 Thd;DAT Tsu;DAT T8xC51SND1 Rev. D – 15-Nov-01 T8xC51SND1 12.16 AC Characteristics - MMC Interface 12.17.1 Definition of symbols Table 53. MMC Interface Timing Symbol Definitions Signals 12.18.2 Timings Conditions C Clock H High D Data In L Low O Data Out V Valid X No Longer Valid Table 54. MMC Interface AC timings VDD= 2.7 to 3.3 V, TA= 0 to 70°C, CL ≤ 100pF (10 cards) Symbol 12.19.3 Waveforms Parameter Min Max Unit TCHCH Clock Period 50 ns TCHCX Clock High Time 10 ns TCLCX Clock Low Time 10 ns TCLCH Clock Rise Time 10 ns TCHCL Clock Fall Time 10 ns TDVCH Input Data Valid to Clock High 3 ns TCHDX Input Data Hold after Clock High 3 ns TCHOX Output Data Hold after Clock High 5 ns TOVCH Output Data Valid to Clock High 5 ns Figure 25. MMC Input-Output Waveforms TCHCH TCHCX TCLCX MCLK TCHCL TCHIX TCLCH TIVCH MCMD Input MDAT Input TCHOX TOVCH MCMD Output MDAT Output 49 Rev. D – 15-Nov-01 12.20 AC Characteristics - Audio Interface 12.21.1 Definition of symbols Table 55. Audio Interface Timing Symbol Definitions Signals 12.22.2 Timings Conditions C Clock H High O Data Out L Low S Data Select V Valid X No Longer Valid Table 56. Audio Interface AC timings VDD= 2.7 to 3.3 V, TA= 0 to 70°C, CL≤ 30pF Symbol Min Max Unit 325.5(1) ns TCHCH Clock Period TCHCX Clock High Time 30 ns TCLCX Clock Low Time 30 ns TCLCH Clock Rise Time 10 ns TCHCL Clock Fall Time 10 ns TCLSV Clock Low to Select Valid 10 ns TCLOV Clock Low to Data Valid 10 ns Notes: 12.23.3 Waveforms Parameter 1. 32-bit format with Fs= 48 KHz. Figure 26. Audio Interface Waveforms TCHCH TCHCX TCLCX DCLK TCHCL TCLCH TCLSV DSEL Right Left TCLOV DDAT 50 T8xC51SND1 Rev. D – 15-Nov-01 T8xC51SND1 12.24 AC Characteristics - Analog to Digital Converter 12.25.1 Definition of symbols Table 57. Analog to Digital Converter Timing Symbol Definitions Signals 12.26.2 Characteristics Conditions C Clock H High E Enable (ADEN bit) L Low S Start Conversion (ADSST bit) Table 58. Analog to Digital Converter AC Characteristics VDD= 2.7 to 3.3 V, TA= 0 to 70°C Symbol TCLCL Clock Period TEHSH Start-up Time TSHSL Min Max Unit µs 1.43 4 µs Conversion Time 11·TCLCL µs DLe Differential nonlinearity error1, 2 TBD LSB ILe Integral nonlinearity error1, 3 TBD LSB OSe Offset error1, 4 TBD LSB Ge Gain error1, 5 TBD % Notes: 12.27.3 Waveforms Parameter 1. AVDD= AVREFP= 3.0 V, AVSS= AVREFN= 0 V. ADC is monotonic with no missing code. 2. The differential non-linearity is the difference between the actual step width and the ideal step width (see Figure 28). 3. The integral non-linearity is the peak difference between the center of the actual step and the ideal transfer curve after appropriate adjustment of gain and offset errors (see Figure 28). 4. The offset error is the absolute difference between the straight line which fits the actual transfer curve (after removing of gain error), and the straight line which fits the ideal transfer curve (see Figure 28). 5. The gain error is the relative difference in percent between the straight line which fits the actual transfer curve (after removing of offset error), and the straight line which fits the ideal transfer curve (see Figure 28). Figure 27. Analog to Digital Converter Internal Waveforms CLK TCLCL ADEN Bit TEHSH ADSST Bit TSHSL 51 Rev. D – 15-Nov-01 Figure 28. Analog to Digital Converter Characteristics Offset Gain Error Error OSe Ge Code Out 1023 1022 1021 1020 1019 1018 Ideal Transfer curve 7 Example of an actual transfer curve 6 5 Center of a step 4 Integral non-linearity (ILe) 3 Differential non-linearity (DLe) 2 1 1 LSB (ideal) AVIN (LSBideal) 0 0 1 2 3 4 5 6 7 1018 1019 1020 1021 1022 1023 1024 Offset Error OSe 12.28 AC Characteristics - FLASH Memory 12.29.1 Definition of symbols Table 59. FLASH Memory Timing Symbol Definitions Signals 12.30.2 Timings Conditions S ISP# L Low R RST V Valid B FBUSY flag X No Longer Valid Table 60. FLASH Memory AC Timing VDD= 2.7 to 3.3 V, TA= -40 to +85°C Symbol 52 Parameter Min Typ Max Unit TSVRL Input ISP# Valid to RST Edge 50 ns TRLSX Input ISP# Hold after RST Edge 50 ns TBHBL FLASH Internal Busy (Programming) Time 10 ms T8xC51SND1 Rev. D – 15-Nov-01 T8xC51SND1 12.31.3 Waveforms Figure 29. FLASH Memory - ISP Waveforms RST TSVRL TRLSX ISP#1 Note: ISP# must be driven through a pull-down resistor (see Section 11.10, page 38). Figure 30. FLASH Memory - Internal Busy Waveforms FBUSY bit TBHBL 12.32 AC Characteristics - External Clock Drive and Logic Level References 12.33.1 Definition of symbols Table 61. External Clock Timing Symbol Definitions Signals C 12.34.2 Timings Conditions Clock H High L Low X No Longer Valid Table 62. External Clock AC Timings VDD= 2.7 to 3.3 V, TA= 0 to 70°C Symbol Parameter Min Max Unit TCLCL Clock Period 50 ns TCHCX High Time 10 ns TCLCX Low Time 10 ns TCLCH Rise Time 3 ns TCHCL Fall Time 3 ns Cyclic Ratio in X2 mode 40 TCR 60 % 12.35.3 Waveforms Figure 31. External Clock Waveform TCLCH VDD - 0.5 0.45 V VIH1 TCHCX TCLCX VIL TCHCL TCLCL 53 Rev. D – 15-Nov-01 Figure 32. AC Testing Input/Output Waveforms INPUTS VDD - 0.5 0.45 V Note: OUTPUTS 0.7 VDD VIH min 0.3 VDD VIL max 1. During AC testing, all inputs are driven at VDD -0.5 V for a logic 1 and 0.45 V for a logic 0. 2. Timing measurements are made on all outputs at VIH min for a logic 1 and VIL max for a logic 0. Figure 33. Float Waveforms VLOAD VLOAD + 0.1 V VLOAD - 0.1 V Note: 54 Timing Reference Points VOH - 0.1 V VOL + 0.1 V For timing purposes, a port pin is no longer floating when a 100 mV change from load voltage occurs and begins to float when a 100 mV change from the loading VOH/VOL level occurs with IOL/IOH= ±20 mA. T8xC51SND1 Rev. D – 15-Nov-01 T8xC51SND1 13. Packages 13.1 List of Packages • TQFP80 • PLCC84 13.2 TQFP80 - Mechanical Outline Figure 34. TQFP80 - Mechanical Outline 55 Rev. D – 15-Nov-01 13.3 PLCC84 - Mechanical Outline Figure 35. PLCC84 - Mechanical Outline 56 T8xC51SND1 Rev. D – 15-Nov-01 T8xC51SND1 14. Ordering Information Part-number Memory size Supply voltage Temperature range Max frequency Package T89C51SND1ROTIL 64K Flash 3V Industrial 40MHZ TQFP80 Tray T83C51SND1*ROTIL 64K ROM 3V Industrial 40MHZ TQFP80 Tray Packing (*)check for availability. PLCC84 package only available for development board. 57 Rev. D – 15-Nov-01 T8xC51SND1 Table of Contents 1. Features ..........................................................................................................1 2. Description ......................................................................................................2 3. Typical Applications .........................................................................................2 4. Pin Description ................................................................................................3 4.1 Pinouts ......................................................................................................3 4.2 Signals........................................................................................................4 4.3 Internal Pin Structure .................................................................................10 5. Block Diagram .................................................................................................11 6. Application Information ....................................................................................12 7. Address Spaces ..............................................................................................15 7.1 Code Memory ............................................................................................15 7.2 Boot Memory .............................................................................................15 7.3 Data Memory .............................................................................................15 7.4 Special Function Registers ........................................................................15 8. In System & In Application Programming ........................................................22 8.1 Introduction ................................................................................................22 8.2 In System Programming ............................................................................22 8.3 Serial Boot Loader .....................................................................................24 8.4 In Application Programming ......................................................................27 9. Peripherals ......................................................................................................30 9.1 Clock Generator System ...........................................................................30 9.2 Ports ..........................................................................................................30 9.3 Timers/Counters ........................................................................................30 9.4 Watchdog Timer ........................................................................................30 9.5 MP3 Decoder ............................................................................................30 9.6 Audio Output Interface ..............................................................................31 9.7 Universal Serial Bus Interface ...................................................................31 9.8 MultiMediaCard Interface ..........................................................................31 9.9 IDE/ATAPI interface ..................................................................................31 9.10 Serial I/O Interface ..................................................................................31 9.11 Serial Peripheral Interface .......................................................................31 9.12 2-wire Controller ......................................................................................32 9.13 A/D Controller ..........................................................................................32 9.14 Keyboard Interface ..................................................................................32 10. Absolute Maximum Rating and Operating Conditions ...................................33 10.1 Absolute Maximum Rating ......................................................................33 10.2 Operating Conditions ...............................................................................33 11. DC Characteristics ........................................................................................34 11.1 DC Characteristics - Digital Logic ............................................................34 11.2 DC Characteristics - IDD, IDL and IPD Test Conditions ..........................35 11.3 DC Characteristics - A to D Converter .....................................................37 11.4 DC Characteristics - Oscillator & Crystal .................................................37 11.5 DC Characteristics - Phase Lock Loop ....................................................38 11.6 DC Characteristics - In System Programming .........................................38 12. AC Characteristics .........................................................................................39 12.1 AC Characteristics - External 8-bit Bus Cycles .......................................39 12.2 AC Characteristics - External IDE 16-bit Bus Cycles ..............................41 12.3 AC Characteristics - SPI Interface ...........................................................44 12.4 AC Characteristics - 2-wire Interface .......................................................48 12.5 AC Characteristics - MMC Interface ........................................................49 12.6 AC Characteristics - Audio Interface .......................................................50 12.7 AC Characteristics - Analog to Digital Converter .....................................51 i Rev. D – 15-Nov-01 12.8 AC Characteristics - FLASH Memory ......................................................52 12.9 AC Characteristics - External Clock Drive and Logic Level References .53 13. Packages .......................................................................................................55 13.1 List of Packages ......................................................................................55 13.2 TQFP80 - Mechanical Outline .................................................................55 13.3 PLCC84 - Mechanical Outline .................................................................56 14. Ordering Information .....................................................................................57 ii T8xC51SND1 Rev. D – 15-Nov-01 Atmel Sales Offices France 3, Avenue du Centre 78054 St.-Quentin-en-Yvelines Cedex France Tel: 33130 60 70 00 Fax: 33130 60 71 11 Germany Erfurter Strasse 31 85386 Eching Germany Tel: 49893 19 70 0 Fax: 49893 19 46 21 Kruppstrasse 6 45128 Essen Germany Tel: 492 012 47 30 0 Fax: 492 012 47 30 47 Theresienstrasse 2 74072 Heilbronn Germany Tel: 4971 3167 36 36 Fax: 4971 3167 31 63 Italy Via Grosio, 10/8 20151 Milano Italy Tel: 390238037-1 Fax: 390238037-234 Spain Principe de Vergara, 112 28002 Madrid Spain Tel: 3491564 51 81 Fax: 3491562 75 14 Sweden Kavallerivaegen 24, Rissne 17402 Sundbyberg Sweden Tel: 468587 48 800 Fax: 468587 48 850 United Kingdom Easthampstead Road Bracknell, Berkshire RG12 1LX United Kingdom Tel: 441344707 300 Fax: 441344427 371 USA 2325 Orchard Parkway San Jose California 95131 USA-California Tel: 1408441 0311 Fax: 1408436 4200 1465 Route 31, 5th Floor Annandale New Jersey 08801 USA-New Jersey Tel: 1908848 5208 Fax: 1908848 5232 Hong Kong 77 Mody Rd., Tsimshatsui East, Rm.1219 East Kowloon Hong Kong Tel: 85223789 789 Fax: 85223755 733 Korea Ste.605,Singsong Bldg. Youngdeungpo-ku 150-010 Seoul Korea Tel: 8227851136 Fax: 8227851137 Singapore 25 Tampines Street 92 Singapore 528877 Rep. of Singapore Tel: 65260 8223 Fax: 65787 9819 Taiwan Wen Hwa 2 Road, Lin Kou Hsiang 244 Taipei Hsien 244 Taiwan, R.O.C. Tel: 88622609 5581 Fax: 88622600 2735 Japan 1-24-8 Shinkawa, Chuo-Ku 104-0033 Tokyo Japan Tel: 8133523 3551 Fax: 8133523 7581 Web site http://www.atmel-wm.com © Atmel Nantes SA, 2001. Atmel Corporation makes no warranty for the use of its products, other than those expressly contained in the Company’s standard warranty which is detailed in Atmel’s Terms and Conditions located on the Company’s web site. The Company assumes no responsibility for any errors which may appear in this document, reserves the right to change devices or specifications detailed herein at any time without notice, and does not make any commitment to update the information contained herein. No licenses to patents or other intellectual property of Atmel are granted by the Company in connection with the sale of Atmel products, expressly or by implication. Atmel’s products are not authorized for use as critical components in life support devices or systems. Printed on recycled paper.