INTEGRATED CIRCUITS XA-S3 XA 16-bit microcontroller 32K/1K OTP/ROM/ROMless, 8-channel 8-bit A/D, low voltage (2.7 V–5.5 V), I2C, 2 UARTs, 16MB address range Preliminary specification Supersedes data of 1999 Oct 29 2000 Mar 09 Philips Semiconductors Preliminary specification XA 16-bit microcontroller XA-S3 32K/1K OTP/ROM/ROMless, 8-channel 8-bit A/D, low voltage (2.7 V–5.5 V), I2C, 2 UARTs, 16 MB address range • Three standard counter/timers with enhanced features. All timers GENERAL DESCRIPTION The XA-S3 device is a member of Philips Semiconductors’ XA (eXtended Architecture) family of high performance 16-bit single-chip microcontrollers. have a toggle output capability. • Watchdog timer. • 5-channel 16-bit Programmable Counter Array (PCA). • I2C-bus serial I/O port with byte-oriented master and slave The XA-S3 device combines many powerful peripherals on one chip. With its high performance A/D converter, timers/counters, watchdog, Programmable Counter Array (PCA), I2C interface, dual UARTs, and multiple general purpose I/O ports, it is suited for general multipurpose high performance embedded control functions. functions. • Two enhanced UARTs with independent baud rates. • Seven software interrupts. • Active low reset output pin indicates all reset occurrences Specific features of the XA-S3 • 2.7 V to 5.5 V operation. • 32 K bytes of on-chip EPROM/ROM program memory. • 1024 bytes of on-chip data RAM. • Supports off-chip addressing up to 16 megabytes (24 address (external reset, watchdog reset and the RESET instruction). A reset source register allows program determination of the cause of the most recent reset. • 50 I/O pins, each with 4 programmable output configurations. • 30 MHz operating frequency at 2.7–5.5 V VDD. • Power saving operating modes: Idle and Power-down. Wake-up lines). A clock output reference is added to simplify external bus interfacing. • High performance 8-channel 8-bit A/D converter with automatic from power-down via an external interrupt is supported. channel scan and repeated read functions. Completes a conversion in 4.46 microseconds at 30 MHz. Alternate operating mode allows 10-bit conversion results. • 68-pin PLCC and 80-pin PQFP packages. ORDERING INFORMATION ROMless ROM PXAS30KBA PXAS33KBA PXAS37KBA PXAS30KBBE PXAS33KBBE PXAS30KFA PXAS30KFBE 2000 Mar 09 EPROM TEMPERATURE RANGE (°C) AND PACKAGE FREQ. (MHz) DRAWING NUMBER OTP 0 to +70, Commercial 68-pin Plastic Leaded Chip Carrier 30 SOT188-3 PXAS37KBBE OTP 0 to +70, Commercial 80-pin Plastic Low Profile Quad Flat Pack 30 SOT315-1 PXAS83XFA PXAS31KFA OTP –40°C to +85°C, Industrial 68-pin Plastic Leaded Chip Carrier 30 SOT188-3 PXAS83XFBE PXAS31KFBE OTP –40°C to +85°C, Industrial 80-pin Plastic Low Profile Quad Flat Pack 30 SOT315-1 2 Philips Semiconductors Preliminary specification XA 16-bit microcontroller XA-S3 32K/1K OTP/ROM/ROMless, 8-channel 8-bit A/D, low voltage (2.7 V–5.5 V), I2C, 2 UARTs, 16 MB address range PIN CONFIGURATIONS P2.2/A14D10 2 P2.3/A15D11 V DD 3 P2.4/A16D12 P4.0/ECI 4 P2.5/A17D13 P4.1/CEX0 5 P2.6/A18D14 P4.2/CEX1 6 P2.7/A19D15 P4.3/CEX2 7 XTAL2 P4.4/CEX3 8 V SS P4.5/CEX4 9 XTAL1 P4.6/A20 68-pin PLCC package 1 68 67 66 65 64 63 62 61 P4.7/A21 10 60 P2.1/A13D9 11 59 P2.0/A12D8 P3.1/TxD0 12 58 P0.7/A11D7 P3.2/INT0 13 57 P0.6/A10D6 P3.3/INT1 14 56 P0.5/A9D5 P3.0/RxD0 P3.4/T0 15 55 VSS P3.5/T1/BUSW 16 54 VDD P3.6/WRL 17 53 P0.4/A8D4 PLASTIC LEADED CHIP CARRIER P3.7/RD 18 52 P0.3/A7D3 RSTOUT 19 51 P0.2/A6D2 VSS 20 50 RST VDD 21 49 CLKOUT EA/WAIT/VPP 22 48 P5.0/AD0 23 47 ALE/PROG P5.1/AD1 24 46 P5.2/AD2 25 45 P0.0/A4D0 P0.1/A5D1 44 P6.1/A23 3 35 36 37 38 39 40 41 42 43 P1.3/A3 P1.4/RxD1 P1.5/TxD1 P1.6/T2 P1.7/T2EX P6.0/A22 34 P1.2/A2 33 P1.1/A1 P5.6/AD6/SCL P5.7/AD7/SDA 32 P1.0/A0/WRH P5.5/AD5 31 AVSS 30 AVDD 29 AVREF+ 28 AVREF– 27 P5.4/AD4 P5.3/AD3 26 2000 Mar 09 PSEN SU00936 Philips Semiconductors Preliminary specification XA 16-bit microcontroller XA-S3 32K/1K OTP/ROM/ROMless, 8-channel 8-bit A/D, low voltage (2.7 V–5.5 V), I2C, 2 UARTs, 16 MB address range P2.2/A14D10 69 P2.3/A15D11 70 P2.4/A16D12 71 P2.5/A17D13 72 P2.6/A18D14 73 P2.7/A19D15 74 XTAL2 P4.0/ECI 75 XTAL1 P4.1/CEX0 76 V SS P4.2/CEX1 77 V SS P4.3/CEX2 78 V DD P4.4/CEX3 79 V DD P4.5/CEX4 80 P4.6/A20 NC 80-pin LQFP package 68 67 66 65 64 63 62 61 NC 1 60 NC P4.7/A21 2 59 P2.1/A13D9 P3.0/RxD0 3 58 P2.0/A12D8 P3.1/TxD0 4 57 P0.7/A11D7 P3.2/INT0 5 56 P0.6/A10D6 P3.3/INT1 6 55 P0.5/A9D5 P3.4/T0 7 54 VSS P3.5/T1/BUSW 8 53 VSS P3.6/WRL 9 52 VDD P3.7/RD 10 51 VDD LOW PROFILE PLASTIC QUAD FLAT PACK RSTOUT 11 50 P0.4/A8D4 VSS 12 49 P0.3/A7D3 VSS 13 48 P0.2/A6D2 VDD 14 47 RST VDD 15 46 CLKOUT EA/WAIT/VPP 16 2000 Mar 09 45 PSEN 30 31 32 33 34 35 36 37 38 39 40 P1.3/A3 P1.4/RxD1 P1.5/TxD1 P1.6/T2 P1.7/T2EX P6.0/A22 29 P1.1/A1 28 P1.2/A2 27 AVSS 26 P1.0/A0/WRH 25 AV DD 24 AV DD 23 AVREF+ 22 AVREF– 21 AVSS 41 P6.1/A23 P5.7/AD7/SDA 42 P0.0/A4D0 P5.6/AD6/SCL P5.2/AD2 19 P5.3/AD3 20 P5.5/AD5 43 P0.1/A5D1 P5.4/AD4 44 ALE/PROG P5.1/AD1 18 NC P5.0/AD0 17 4 SU00937 Philips Semiconductors Preliminary specification XA 16-bit microcontroller XA-S3 32K/1K OTP/ROM/ROMless, 8-channel 8-bit A/D, low voltage (2.7 V–5.5 V), I2C, 2 UARTs, 16 MB address range LOGIC SYMBOL VDD VSS XTAL1 ECI CEX0 PORT4 CEX1 XTAL2 CEX2 CEX3 CEX4 A20 AVDD A21 AVREF+ AVREF– PORT5 AVSS CLKOUT A/D INPUTS ALE PSEN SCL RSTOUT SDA PORT6 RST EA/WAIT A22 A23 WRH/A0 A1 PORT0 PORT2 TxD1 T2 T2EX RxD0 TxD0 INT0 INT1 T0 ADDRESS AND DATA BUS PORT1 A3 RxD1 PORT3 A2 T1/BUSW WRL RD SU00847A 2000 Mar 09 5 Philips Semiconductors Preliminary specification XA 16-bit microcontroller 32K/1K OTP/ROM/ROMless, 8-channel 8-bit A/D, low voltage (2.7 V–5.5 V), I2C, 2 UARTs, 16 MB address range BLOCK DIAGRAM XA CPU Core Program Memory Bus SFR bus UART 0 32K Bytes ROM/EPROM 1024 Bytes Static RAM Data Bus UART 1 I2C Port 0 Timer 0, 1 Port 1 Timer 2 Port 2 Port 3 Watchdog Timer Port 4 PCA Port 5 Input Port/ A/D Port 6 SU00846 2000 Mar 09 6 XA-S3 Philips Semiconductors Preliminary specification XA 16-bit microcontroller 32K/1K OTP/ROM/ROMless, 8-channel 8-bit A/D, low voltage (2.7 V–5.5 V), I2C, 2 UARTs, 16 MB address range XA-S3 PIN DESCRIPTIONS PIN NUMBER MNEMONIC TYPE NAME AND FUNCTION PLCC LQFP VSS 1, 20, 55 12, 13, 53, 54, 69, 70 I Ground: 0V reference. VDD 2, 21, 54 14, 15, 51, 52, 71, 72 I Power Supply: This is the power supply voltage for normal, idle, and power down operation. RST 50 47 I Reset: A low on this pin resets the microcontroller, causing I/O ports and peripherals to take on their default states, and the processor to begin execution at the address contained in the reset vector. RSTOUT 19 11 O Reset Output: This pin outputs a low whenever the XA-S3 processor is reset for any reason. This includes an external reset via the RST pin, watchdog reset, and the RESET instruction. ALE/PROG 47 44 I/O Address Latch Enable/Program Pulse: A high output on the ALE pin signals external circuitry to latch the address portion of the multiplexed address/data bus. A pulse on ALE occurs only when it is needed in order to process a bus cycle. PSEN 48 45 O Program Store Enable: The read strobe for external program memory. When the microcontroller accesses external program memory, PSEN is driven low in order to enable memory devices. PSEN is only active when external code accesses are performed. EA/WAIT/VPP 22 16 I External Access/Bus Wait: The EA input determines whether the internal program memory of the microcontroller is used for code execution. The value on the EA pin is latched as the external reset input is released and applies during later execution. When latched as a 0, external program memory is used exclusively. When latched as a 1, internal program memory will be used up to its limit, and external program memory used above that point. After reset is released, this pin takes on the function of bus WAIT input. If WAIT is asserted high during an external bus access, that cycle will be extended until WAIT is released. XTAL1 68 68 I Crystal 1: Input to the inverting amplifier used in the oscillator circuit and input to the internal clock generator circuits. XTAL2 67 67 I Crystal 2: Output from the oscillator amplifier. CLKOUT 49 46 O Clock Output: This pin outputs a buffered version of the internal CPU clock. The clock output may be used in conjunction with the external bus to synchronize WAIT state generators, etc. The clock output may be disabled by software. AVDD 33 28, 29 I Analog Power Supply: Positive power supply input for the A/D converter. AVSS 34 30, 31 I Analog Ground. AVREF+ 32 27 I A/D Positive Reference Voltage: High end reference for the A/D converter. AVREF– 31 26 I A/D Negative Reference Voltage: Low end reference for the A/D converter. P0.0 – P0.7 45, 46, 51–53, 56–58 42, 43, 48–50, 55–57 I/O Port 0: Port 0 is an 8-bit I/O port with a user-configurable output type. Port 0 latches have 1s written to them and are configured in the quasi-bidirectional mode during reset. The operation of port 0 pins as inputs and outputs depends upon the port configuration selected. Each port pin is configured independently. Refer to the section on I/O port configuration and the DC Electrical Characteristics for details. When the external program/data bus is used, Port 0 becomes the multiplexed low data/instruction byte and address lines 4 through 11. 2000 Mar 09 7 Philips Semiconductors Preliminary specification XA 16-bit microcontroller 32K/1K OTP/ROM/ROMless, 8-channel 8-bit A/D, low voltage (2.7 V–5.5 V), I2C, 2 UARTs, 16 MB address range XA-S3 PIN NUMBER MNEMONIC P1.0 – P1.7 P2.0 – P2.7 TYPE NAME AND FUNCTION 32–39 I/O Port 1: Port 1 is an 8-bit I/O port with a user-configurable output type. Port 1 latches have 1s written to them and are configured in the quasi-bidirectional mode during reset. The operation of port 1 pins as inputs and outputs depends upon the port configuration selected. Each port pin is configured independently. Refer to the section on I/O port configuration and the DC Electrical Characteristics for details. 35 32 O 36 37 38 39 40 41 42 33 34 35 36 37 38 39 O O O I O I/O O 59–66 58, 59, 61–66 I/O PLCC LQFP 35–42 Port 1 also provides various special functions as described below: A0/WRH (P1.0) Address bit 0 of the external address bus when the eternal data bus is configured for an 8-bit width. When the external data bus is configured for a 16-bit width, this pin becomes the high byte write strobe. A1 (P1.1): Address bit 1 of the external address bus. A2 (P1.2): Address bit 2 of the external address bus. A3 (P1.3): Address bit 3 of the external address bus. RxD1 (P1.4): Serial port 1 receiver input. TxD1 (P1.5): Serial port 1 transmitter output. T2 (P1.6): Timer/counter 2 external count input or overflow output. T2EX (P1.7): Timer/counter 2 reload/capture/direction control. Port 2: Port 2 is an 8-bit I/O port with a user-configurable output type. Port 2 latches have 1s written to them and are configured in the quasi-bidirectional mode during reset. The operation of port 2 pins as inputs and outputs depends upon the port configuration selected. Each port pin is configured independently. Refer to the section on I/O port configuration and the DC Electrical Characteristics for details. When the external program/data bus is used in 16-bit mode, Port 2 becomes the multiplexed high data/instruction byte and address lines 12 through 19. When the external data/address bus is used in 8-bit mode, the number of address lines that appear on Port 2 is user programmable in groups of 4 bits. P3.0 – P3.7 P4.0 – P4.7 2000 Mar 09 11–18 3–10 I/O 11 12 13 14 15 16 3 4 5 6 7 8 I O I I I/O I/O 17 18 9 10 O O 3–10 73–79, 2 I/O 3 4 5 6 7 8 9 10 73 74 75 76 77 78 79 2 I I/O I/O I/O I/O I/O O O Port 3: Port 3 is an 8-bit I/O port with a user-configurable output type. Port 3 latches have 1s written to them and are configured in the quasi-bidirectional mode during reset. The operation of port 3 pins as inputs and outputs depends upon the port configuration selected. Each port pin is configured independently. Refer to the section on I/O port configuration and the DC Electrical Characteristics for details. Port 3 also provides the various special functions as described below: RxD0 (P3.0): Receiver input for serial port 0. TxD0 (P3.1): Transmitter output for serial port 0. INT0 (P3.2): External interrupt 0 input. INT1 (P3.3): External interrupt 1 input. T0 (P3.4): Timer/counter 0 external count input or overflow output. T1 / BUSW (P3.5): Timer/counter 1 external count input or overflow output. The value on this pin is latched as an external chip reset is completed and defines the default external data bus width. WRL (P3.6): RD (P3.7): External data memory low byte write strobe. External data memory read strobe. Port 4: Port 4 is an 8-bit I/O port with a user-configurable output type. Port 4 latches have 1s written to them and are configured in the quasi-bidirectional mode during reset. The operation of Port 4 pins as inputs and outputs depends upon the port configuration selected. Each port pin is configured independently. Refer to the section on I/O port configuration and the DC Electrical Characteristics for details. Port 4 also provides various special functions as described below: ECI (P4.0): PCA External clock input. CEX0 (P4.1): Capture/compare external I/O for PCA module 0. CEX1 (P4.2): Capture/compare external I/O for PCA module 1. CEX2 (P4.3): Capture/compare external I/O for PCA module 2. CEX3 (P4.4): Capture/compare external I/O for PCA module 3. CEX4 (P4.5): Capture/compare external I/O for PCA module 4. A20 (P4.6): Address bit 20 of the external address bus. A21 (P4.7): Address bit 21 of the external address bus. 8 Philips Semiconductors Preliminary specification XA 16-bit microcontroller XA-S3 32K/1K OTP/ROM/ROMless, 8-channel 8-bit A/D, low voltage (2.7 V–5.5 V), I2C, 2 UARTs, 16 MB address range PIN NUMBER MNEMONIC P5.0 – P5.7 PLCC LQFP 23–30 17–20, 22–25 TYPE NAME AND FUNCTION I/O Port 5: Port 5 is an 8-bit I/O port with a user-configurable output type. Port 5 latches have 1s written to them and are configured in the quasi-bidirectional mode during reset. The operation of Port 5 pins as inputs and outputs depends upon the port configuration selected. Each port pin is configured independently. Refer to the section on I/O port configuration and the DC Electrical Characteristics for details. Port 5 also provides various special functions as described below. Port 5 pins used as A/D inputs must be configured by the user to the high impedance mode. P6.0 – P6.7 23 24 25 26 27 28 29 30 17 18 19 20 22 23 24 25 I I I I I I I/O I/O 43, 44 40, 41 I/O 43 44 40 41 O O AD0 (P5.0): AD1 (P5.1): AD2 (P5.2): AD3 (P5.3): AD4 (P5.4): AD5 (P5.5): AD6/SCL (P5.6): AD7/SDA (P5.7): A/D channel 0 input. A/D channel 1 input. A/D channel 2 input. A/D channel 3 input. A/D channel 4 input. A/D channel 5 input. A/D channel 6 input. I2C serial clock input/output. A/D channel 7 input. I2C serial data input/output. Port 6: Port 6 is a 2-bit I/O port with a user-configurable output type. Port 6 latches have 1s written to them and are configured in the quasi-bidirectional mode during reset. The operation of Port 6 pins as inputs and outputs depends upon the port configuration selected. Each port pin is configured independently. Refer to the section on I/O port configuration and the DC Electrical Characteristics for details. Port 6 also provides special functions as described below: A22 (P6.0): Address bit 22 of the external address bus. A23 (P6.1): Address bit 23 of the external address bus. Table 1. Special Function Registers NAME DESCRIPTION SFR Address BIT FUNCTIONS AND ADDRESSES MSB LSB Reset Value 3F7 3F6 3F5 3F4 3F3 3F2 3F1 3F0 ADCON#* A/D control register 43E – – – – ADRES ADMOD ADSST ADINT 3FF 3FE 3FD 3FC 3FB 3FA 3F9 3F8 ADCS#* A/D channel select register 43F ADCS7 ADCS6 ADCS5 ADCS4 ADCS3 ADCS2 ADCS1 ADCS0 ADCFG# A/D timing configuration 4B9 – – – – ADRSH0# ADRSH1# ADRSH2# ADRSH3# ADRSH4# ADRSH5# ADRSH6# ADRSH7# ADRSL# A/D high byte result, channel 0 A/D high byte result, channel 1 A/D high byte result, channel 2 A/D high byte result, channel 3 A/D high byte result, channel 4 A/D high byte result, channel 5 A/D high byte result, channel 6 A/D high byte result, channel 7 Two LSBs of 10-bit A/D result 4B0 4B1 4B2 4B3 4B4 4B5 4B6 4B7 4B8 BCR# Bus configuration register 46A BTRH Bus timing register high byte 469 BTRL Bus timing register low byte 468 CCON#* PCA counter control 41A CMOD# PCA mode control 490 CH# PCA counter high byte 48B 00h CL# PCA counter low byte 48A 00h CCAPM0# PCA module 0 mode 491 – ECOM0 CAPP0 CAPN0 MAT0 TOG0 PWM0 ECCF0 00h CCAPM1# PCA module 1 mode 492 – ECOM1 CAPP1 CAPN1 MAT1 TOG1 PWM1 ECCF1 00h 2000 Mar 09 A/D Timing Configuration 00h 00h 0Fh xx xx xx xx xx xx xx xx xx – – CLKD WAITD BUSD BC2 BC1 BC0 DW1 DW0 DWA1 DWA0 DR1 DR0 DRA1 DRA0 FFh WM1 WM0 ALEW – CR1 CR0 CRA1 CRA0 EFh 2D7 2D6 2D5 2D4 2D3 2D2 2D1 2D0 CF CR – CCF4 CCF3 CCF2 CCF1 CCF0 00h CIDL WDTE – – – CPS1 CPS0 ECF 00h 9 Note 1 Philips Semiconductors Preliminary specification XA 16-bit microcontroller XA-S3 32K/1K OTP/ROM/ROMless, 8-channel 8-bit A/D, low voltage (2.7 V–5.5 V), I2C, 2 UARTs, 16 MB address range NAME DESCRIPTION SFR Address MSB BIT FUNCTIONS AND ADDRESSES LSB Reset Value CCAPM2# PCA module 2 mode 493 – ECOM2 CAPP2 CAPN2 MAT2 TOG2 PWM2 ECCF2 00h CCAPM3# PCA module 3 mode 494 – ECOM3 CAPP3 CAPN3 MAT3 TOG3 PWM3 ECCF3 00h CCAPM4# PCA module 4 mode 495 – ECOM4 CAPP4 CAPN4 MAT4 TOG4 PWM4 ECCF4 00h CCAP0H# CCAP1H# CCAP2H# CCAP3H# CCAP4H# CCAP0L# CCAP1L# CCAP2L# CCAP3L# CCAP4L# CS DS ES PCA module 0 capture high byte PCA module 1 capture high byte PCA module 2 capture high byte PCA module 3 capture high byte PCA module 4 capture high byte PCA module 0 capture low byte PCA module 1 capture low byte PCA module 2 capture low byte PCA module 3 capture low byte PCA module 4 capture low byte Code segment Data segment Extra segment 497 499 49B 49D 49F 496 498 49A 49C 49E 443 441 442 I2CON#* I2C control register 42C I2STAT# I2C status register 46C I2DAT# I2C data register 46D I2ADDR# I2C address register 46E IEH* Interrupt enable high byte 427 IEL#* Interrupt enable low byte 426 xx xx xx xx xx xx xx xx xx xx 00h 00h 00h 367 366 365 364 363 362 361 360 CR2 ENA STA STO SI AA CR1 CR0 00h 0 0 0 F8h I2C Status Code/Vector xx I2C Slave Address GC 33F 33E 33D 33C 33B 33A 339 338 – – – – ETI1 ERI1 ETI0 ERI0 337 336 335 334 333 332 331 330 EA EAD EPC ET2 ET1 EX1 ET0 EX0 377 376 375 374 373 372 371 370 – EI2 EC4 EC3 EC2 EC1 EC0 00h 00h 00h IELB#* Interrupt enable B low byte 42E – IPA0 Interrupt priority A0 4A0 – PT0 – PX0 00h IPA1 Interrupt priority A1 4A1 – PT1 – PX1 00h IPA2# Interrupt priority A2 4A2 – PPC – PT2 00h IPA3# Interrupt priority A3 4A3 – – – PAD 00h IPA4 Interrupt priority A4 4A4 – PTI0 – PRI0 00h IPA5 Interrupt priority A5 4A5 – PTI1 – PRI1 00h IPB0# Interrupt priority B0 4A8 – PC1 – PC0 00h IPB1# Interrupt priority B1 4A9 – PC3 – PC2 00h IPB2# Interrupt priority B2 4AA – PI2 – PC4 P0* P1* Port 0 Port 1 430 431 P2* Port 2 432 P3* Port 3 433 P4#* 2000 Mar 09 Port 4 434 00h 387 386 385 384 383 382 381 380 A11D7 A10D6 A9D5 A8D4 A7D3 A6D2 A5D1 A4D0 38F 38E 38D 38C 38B 38A 389 388 T2EX T2 TxD1 RxD1 A3 A2 A1 A0/WRH 397 396 395 394 393 392 391 390 A19D15 A18D14 A17D13 A16D12 A15D11 A14D10 A13D9 A12D8 39F 39E 39D 39C 39B 39A 399 398 RD WRL T1 T0 INT1 INT0 TxD0 RxD0 3A7 3A6 3A5 3A4 3A3 3A2 3A1 3A0 A21 A20 CEX4 CEX3 CEX2 CEX1 CEX0 ECI 10 00h FFh FFh FFh FFh FFh Philips Semiconductors Preliminary specification XA 16-bit microcontroller XA-S3 32K/1K OTP/ROM/ROMless, 8-channel 8-bit A/D, low voltage (2.7 V–5.5 V), I2C, 2 UARTs, 16 MB address range NAME P5#* DESCRIPTION Port 5 SFR Address MSB 3AF 3AE 3AD 3AC 3AB 3AA 3A9 3A8 435 AD7/SDA AD6/SCL AD5 AD4 AD3 AD2 AD1 AD0 3B1 3B0 A23 A22 BIT FUNCTIONS AND ADDRESSES – LSB – – – – – Reset Value FFh P6#* Port 6 436 FFh P0CFGA Port 0 configuration A 470 Note 5 P1CFGA Port 1 configuration A 471 Note 5 P2CFGA Port 2 configuration A 472 Note 5 P3CFGA Port 3 configuration A 473 Note 5 P4CFGA# Port 4 configuration A 474 Note 5 P5CFGA# Port 5 configuration A 475 Note 5 P6CFGA# Port 6 configuration A 476 P0CFGB Port 0 configuration B 4F0 Note 5 P1CFGB Port 1 configuration B 4F1 Note 5 P2CFGB Port 2 configuration B 4F2 Note 5 P3CFGB Port 3 configuration B 4F3 Note 5 P4CFGB# Port 4 configuration B 4F4 Note 5 P5CFGB# Port 5 configuration B 4F5 Note 5 P6CFGB# Port 6 configuration B 4F6 PCON* Power control register 404 PSWH* Program status word (high byte) 401 PSWL* – – – – Note 5 – – – – – – 227 226 225 224 223 222 221 220 Note 5 – – – – – – PD IDL 20F 20E 20D 20C 20B 20A 209 208 SM TM RS1 RS0 IM3 IM2 IM1 IM0 207 206 205 204 203 202 201 200 00h Note 2 C AC – – – V N Z 216 215 214 213 212 211 210 402 C AC F0 RS1 RS0 V F1 P Note 3 RSTSRC# Reset source register 463 – – – – – R_WD R_CMD R_EXT Note 7 RTH0 RTH1 RTL0 RTL1 455 457 454 456 S0CON* 80C51 compatible PSW Timer 0 reload register, high byte Timer 1 reload register, high byte Timer 0 reload register, low byte Timer 1 reload register, low byte Serial port 0 control register 400 – 217 PSW51* Program status word (low byte) – 420 S0STAT#* Serial port 0 extended status 421 S0BUF S0ADDR S0ADEN Serial port 0 data buffer register Serial port 0 address register Serial port 0 address enable 460 461 462 S1CON* Serial port 1 control register 424 S1STAT#* S1BUF S1ADDR Serial port 1 extended status Serial port 1 data buffer register Serial port 1 address register 425 464 465 2000 Mar 09 Note 2 00h 00h 00h 00h 307 306 305 304 303 302 301 300 SM0_0 SM1_0 SM2_0 REN_0 TB8_0 RB8_0 TI_0 RI_0 30F 30E 30D 30C 30B 30A 309 308 – – – ERR0 FE0 BR0 OE0 STINT0 00h 00h xx 00h 00h 327 326 325 324 323 322 321 320 SM0_1 SM1_1 SM2_1 REN_1 TB8_1 RB8_1 TI_1 RI_1 32F 32E 32D 32C 32B 32A 329 328 – – – ERR1 FE1 BR1 OE1 STINT1 11 00H 00h xx 00h Philips Semiconductors Preliminary specification XA 16-bit microcontroller XA-S3 32K/1K OTP/ROM/ROMless, 8-channel 8-bit A/D, low voltage (2.7 V–5.5 V), I2C, 2 UARTs, 16 MB address range NAME DESCRIPTION SFR Address S1ADEN Serial port 1 address enable 466 SCR System configuration register 440 BIT FUNCTIONS AND ADDRESSES MSB LSB Reset Value 00h – – – – PT1 PT0 CM PZ 21F 21E 21D 21C 21B 21A 219 218 00h SSEL* Segment selection register 403 ESWEN R6SEG R5SEG R4SEG R3SEG R2SEG R1SEG R0SEG 00h SWE Software interrupt enable 47A – SWE7 SWE6 SWE5 SWE4 SWE3 SWE2 SWE1 00h SWR* Software interrupt request 42A T2CON* Timer 2 control register 418 357 356 355 354 353 352 351 350 – SWR7 SWR6 SWR5 SWR4 SWR3 SWR2 SWR1 2C7 2C6 2C5 2C4 2C3 2C2 2C1 2C0 TF2 EXF2 RCLK0 TCLK0 EXEN2 TR2 C/T2 CP/RL2 2CF 2CE 2CD 2CC 2CB 2CA 2C9 2C8 – – RCLK1 TCLK1 – – T2OE DCEN T2MOD* Timer 2 mode control 419 TH2 TL2 T2CAPH T2CAPL Timer 2 high byte Timer 2 low byte Timer 2 capture, high byte Timer 2 capture, low byte 459 458 45B 45A TCON* Timer 0 and 1 control register 410 TH0 TH1 TL0 TL1 Timer 0 high byte Timer 1 high byte Timer 0 low byte Timer 1 low byte 451 453 450 452 TMOD Timer 0 and 1 mode control 45C TSTAT* Timer 0 and 1 extended status 411 2FF WDCON* Watchdog control register 41F PEW2 WDL WFEED1 WFEED2 Watchdog timer reload Watchdog feed 1 Watchdog feed 2 45F 45D 45E 00h 00h 00h 00h 00h 00h 00h 287 286 285 284 283 282 281 280 TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0 00h 00h 00h 00h 00h GATE C/T M1 M0 GATE C/T M1 28F 28E 28D 28C – – – – 2FE 2FD 2FC 2FB PRE1 PRE0 – – M0 28B 28A 289 288 – T1OE – T0OE 2FA 2F9 2F8 WDRUN WDTOF – 00h 00h Note 6 00h xx xx NOTES: * SFRs are bit addressable. # SFRs are modified from or added to XA-G3 SFRs. 1. At reset, the BCR is loaded with the binary value 00000a11, where “a’ is the value on the BUSW pin. This defaults the address bus size to 24 bits. 2. SFR is loaded from the reset vector. 3. All bits except F1, F0, and P are loaded from the reset vector. Those bits are all 0. 4. Unimplemented bits in SFRs are X (unknown) at all times. Ones should not be written to these bits since they may be used for other purposes in future XA derivatives. The reset value shown for these bits is 0. 5. Port configurations default to quasi-bidirectional when the XA begins execution from internal code memory after reset, based on the condition found on the EA pin. Thus, all PnCFGA registers will contain FF, and PnCFGB register will contain 00 when the XA begins execution using internal code memory. When the XA begins execution using external code memory, the default configuration for pins that are associated with the external bus will be push-pull. The PnCFGA and PnCFGB register contents will reflect this difference. 6. The WDCON reset value is E6 for a Watchdog reset, E4 for all other reset causes. 7. The RSTSRC register reflects the cause of the last XA-S3 reset. One bit will be set to 1, the others will be cleared to 0. 8. The XA guards writes to certain bits (typically interrupt flags) that may be altered directly by a peripheral function. This prevents loss of an interrupt or other status if a bit was written directly by a peripheral action during the time between the read and write portions of an instruction that performs a read-modify-write operation. Examples of such instructions are: and s0con,#$fb clr tr0 setb ti_0 XA-S3 SFR bits that are guarded in this manner are: ADINT (in ADCON); CF, CCF4, CCF3, CCF2, CCF1, and CCF0 (in CCON); SI (in I2CON); TI_0 and RI_0 (in S0CON); TI_1 and RI_1 (in S1CON); FE0, BR0, and OE0 (in S0STAT); FE1, BR1, and OE1 (in S1STAT); TF2 (in T2CON); TF1, TF0, IE1, and IE0 (in TCON); and WDTOF (in WDCON). 9. The XA-S3 implements an 8-bit SFR bus, as stated in Chapter 8 of the XA User Guide. All SFR accesses must be 8-bit operations. Attempts to write 16 bits to an SFR will actually write only the lower 8 bits. Sixteen bit SFR reads will return undefined data in the upper byte. 2000 Mar 09 12 Philips Semiconductors Preliminary specification XA 16-bit microcontroller XA-S3 32K/1K OTP/ROM/ROMless, 8-channel 8-bit A/D, low voltage (2.7 V–5.5 V), I2C, 2 UARTs, 16 MB address range FFFFFh Up to 16 MB Total Code Memory 8000h 7FFFh 32 kB On-chip Code Memory 0000h SU01219 Figure 1. XA-S3 program memory map Data Segment 0 Other Data Segments FFFFh FFFFh Data Memory (Indirectly Addressed, Off-Chip) Data Memory (Indirectly Addressed, Off-Chip) 0400h 03FFh 0400h 03FFh Data Memory (Directly or Indirectly Addressable, On-Chip Data Memory (Directly or Indirectly Addressable, On-Chip 1 kB On-Chip Data Memory (RAM) 0040h 003Fh (Bit-Addressable Data Area) 0020h 001Fh Directly Addressed Data (1 k per Segment) 0040h 003Fh 0020h 001Fh Data Memory (Directly or Indirectly Addressable, On-Chip (Bit-Addressable Data Area) Data Memory (Directly or Indirectly Addressable, Off-Chip 0000h 0000h SU01220 Figure 2. XA-S3 data memory map 2000 Mar 09 13 Philips Semiconductors Preliminary specification XA 16-bit microcontroller XA-S3 32K/1K OTP/ROM/ROMless, 8-channel 8-bit A/D, low voltage (2.7 V–5.5 V), I2C, 2 UARTs, 16 MB address range of register ADRSL. These bits must be read before another conversion is begun. FUNCTIONAL DESCRIPTION Details of XA-S3 functions will be described in the following sections. A/D conversions are begun by setting the A/D Start and STatus bit in ADCON. In the single scan mode, all of the channels selected by bits in the ADCS register will be converted once. The ADINT flag is set when the last channel is converted. In the continuous scan mode, the A/D converter continuously converts all A/D channels selected by bits in the ADCS register. The ADINT flag is set when all channels have been converted once. Analog to Digital converter The XA-S3 has an 8-channel, 8-bit A/D converter with 8 sets of result registers, single scan and multiple scan operating modes. The A/D also has a 10-bit conversion mode that provides greater result resolution. The A/D input range is limited to 0 to AVDD (3.3 V max.). The A/D inputs are on Port 5. Analog Power and Ground as well as AVREF+ and AVREF– must be supplied in order for the A/D converter to be used. Prior to enabling the A/D converter or driving analog signals into the A/D inputs, the port configurations for the pins being used as A/D inputs must be set to the “off” (high impedance, input only) mode. The A/D converter can generate an interrupt when the ADINT flag is set. This will occur if the A/D interrupt is enabled (via the EAD bit in IEL), the interrupt system is enabled (via the EA bit in IEL), and the A/D interrupt priority (specified in IPA3 bits 3 to 0) is higher than the currently running code (PSW bits IM3 through IM0) and any other pending interrupt. ADINT must be cleared by software. A/D timing can be adapted to the application clock frequency in order to provide the fastest possible conversion. A/D converter operation is controlled through the ADCON (A/D Control) register, see Figure 1. Bits in ADCON start and stop the A/D, flag conversion completion, and select the converter operating modes. When 10-bit resolution is needed, the A/D mode may be set to give 10 result bits by setting the ADRES bit to 1. In this mode, the A/D takes longer to complete a conversion, and the timing must be set differently in ADCFG. A/D Timing Configuration The A/D sampling and conversion timing may be optimized for the particular oscillator frequency and input drive characteristics of the application. Because A/D operation is mostly dependent on real-time effects (charging time of sampling capacitors, settling time of the comparator, etc.), A/D conversion times are not necessarily much longer at slower clock frequencies. The A/D timing is controlled by the ADCFG register, as shown in Figure 3, Table 2 and Table 3. A/D Conversion Modes The A/D converter supports a single scan mode and a continuous scan mode. In either mode, one or more A/D channels may be converted. The ADCS register determines which channels are converted. If the corresponding bit in the ADCS register is set, that channel is selected for conversions, otherwise that channel is skipped. The ADCS register is detailed in Figure 2. The primary effect of ADCFG settings is to adjust the A/D sample and hold time to be relatively constant over various clock frequencies. Two settings (value 6 and B) are provided to allow fast conversions with a lower external source driving the A/D inputs. These settings provide double the sample time at the same frequency. Of course, settings intended for lower frequencies may also be used at higher frequencies in order to increase the A/D sampling time, but this method has the side effect of significantly increasing A/D conversion times. For any A/D conversion, the results are stored in ADRSHn, corresponding to the A/D channel just converted. For a 10-bit conversion, the two least significant bits are read from the upper end ADCON Address:43Eh Bit Addressable Reset Value: 00h BIT ADCON.7 ADCON.6 ADCON.5 ADCON.4 ADCON.3 ADCON.2 SYMBOL — — — — ADRES ADMOD ADCON.1 ADSST ADCON.0 ADINT MSB — LSB — — — ADRES ADMOD ADSST ADINT FUNCTION Reserved for future use. Should not be set to 1 by user programs. Reserved for future use. Should not be set to 1 by user programs. Reserved for future use. Should not be set to 1 by user programs. Reserved for future use. Should not be set to 1 by user programs. Selects 8-bit (0) or 10-bit (1) conversion mode. A/D mode select. 1 = continuous scan of selected inputs after a start of the A/D. 0 = single scan of selected inputs after a start of the A/D. A/D start and status. Setting this bit by software starts the A/D conversion of the selected A/D inputs. ADSST remains set as long as the A/D is in operation. In continuous conversion mode, ADSST will remain set unless the A/D is stopped by software. While ADSST is set, new start commands are ignored. An A/D conversion is progress may be aborted by software clearing ADSST. A/D conversion complete/interrupt flag. This flag is set when all selected A/D channels are converted in either the single scan or continuous scan modes. Must be cleared by software. SU01229 Figure 1. A/D Control Register (ADCON) 2000 Mar 09 14 Philips Semiconductors Preliminary specification XA 16-bit microcontroller XA-S3 32K/1K OTP/ROM/ROMless, 8-channel 8-bit A/D, low voltage (2.7 V–5.5 V), I2C, 2 UARTs, 16 MB address range ADCS Address:43Fh Bit Addressable Reset Value: 00h BIT ADCS.7 ADCS.6 ADCS.5 ADCS.4 ADCS.3 ADCS.2 ADCS.1 ADCS.0 MSB LSB ADCS7 ADCS6 ADCS5 ADCS4 ADCS3 ADCS2 ADCS1 ADCS0 SYMBOL ADCS7 ADCS6 ADCS5 ADCS4 ADCS3 ADCS2 ADCS1 ADCS0 FUNCTION A/D channel 7 select bit. A/D channel 6 select bit. A/D channel 5 select bit. A/D channel 4 select bit. A/D channel 3 select bit. A/D channel 2 select bit. A/D channel 1 select bit. A/D channel 0 select bit. SU00939 Figure 2. A/D Channel Select Register (ADCS) ADCFG Address:4B9h Not bit Addressable Reset Value: 00h BIT ADCFG.7 ADCFG.6 ADCFG.5 ADCFG.4 ADCFG.3–0 MSB — SYMBOL — — — — ADCFG LSB — — — A/D Timing Configuration FUNCTION Reserved for future use. Should not be set to 1 by user programs. Reserved for future use. Should not be set to 1 by user programs. Reserved for future use. Should not be set to 1 by user programs. Reserved for future use. Should not be set to 1 by user programs. A/D timing configuration (see text and table). SU00940 Figure 3. A/D Timing Configuration Register (ADCFG) Table 2. A/D Timing Configuration Conversion Time Max. Oscillator Frequency (MHz) Osc. Clocks µsec at max. Osc. Sampling p g Time (Osc. Clocks) 6.66 72 10.81 4 1h (0001) 10 76 7.6 6 2h (0010) 11.11 80 7.2 8 3h (0011) 13.33 96 7.2 8 4h (0100) 16.66 100 6.0 10 5h (0101) 20 104 5.2 12 6h (0110)1 20 116 5.8 24 7h (0111) 22.2 108 4.86 14 8h (1000) 23.3 124 5.32 14 9h (1001) 26.6 128 4.81 16 Ah (1010) 30 132 4.4 18 ADCFG 3 0 ADCFG.3–0 0h (0000) Bh (1011)1 30 146 4.87 32 Ch (1100) – 136 4.25 20 Dh (1101) – 152 4.56 20 Eh (1110) – 172 4.7 22 Fh (1111) – 176 4.4 24 NOTE: 1. These settings provide additional A/D input sampling time, in order to allow accurate readings with a higher external source impedance. 2000 Mar 09 15 Philips Semiconductors Preliminary specification XA 16-bit microcontroller XA-S3 32K/1K OTP/ROM/ROMless, 8-channel 8-bit A/D, low voltage (2.7 V–5.5 V), I2C, 2 UARTs, 16 MB address range Table 3. A/D Timing Configuration for 10-bit Mode Conversion Time Max. Oscillator Frequency (MHz) Osc. Clocks µsec at max. Osc. Sampling p g Time (Osc. Clocks) 0h (0000) 6.66 88 13.21 4 1h (0001) 8 92 9.2 6 ADCFG 3 0 ADCFG.3–0 2h (0010) 8 96 8.64 8 3h (0011) 12 116 8.7 8 4h (0100) 12 120 7.2 10 5h (0101) 12 124 6.2 12 6h (0110) 12 136 6.8 24 7h (0111) 12 128 5.77 14 8h (1000) 13 148 6.35 14 9h (1001) 13 152 5.71 16 Ah (1010) 13 156 5.2 18 Bh (1011) 13 170 5.67 32 Ch (1100) 13 160 5.0 20 Dh (1101) 16 180 5.41 20 Eh (1110) 20 204 5.57 22 Fh (1111) 20 208 5.2 24 A/D Inputs In order to obtain accurate measurements with the A/D Converter, the source drive must be sufficient to adequately charge the sampling capacitor during the sampling time. Figure 4 shows the equivalent resistance and capacitance related to the A/D inputs. A/D timing configurations indicated in Table 1 allow for full A/D accuracy (according to the A/D specifications) assuming a source resistance of less than or equal to 20kΩ. Larger source resistances may be accommodated by increasing the sampling time with a different A/D timing configuration. SmN+1 RmN+1 SmN RmN ADN+1 ADN TO COMPARATOR + Multiplexer RS VANALOG CS CC INPUT Rm (multiplexer resistance) CS (pin capacitance) CC (sampling capacitor) RS (source resistance) = = = = 3 kΩ maximum 10 pF maximum 2 pF maximum Recommended less than 20kΩ for full specified accuracy. This allows time for the sampling capacitor (CC) to fully charge while the multiplexer switch is closed. Please note that sampling causes the analog input to present a varying load to the pin. SU00948 Figure 4. A/D Input: Equivalent Circuit 2000 Mar 09 16 Philips Semiconductors Preliminary specification XA 16-bit microcontroller XA-S3 32K/1K OTP/ROM/ROMless, 8-channel 8-bit A/D, low voltage (2.7 V–5.5 V), I2C, 2 UARTs, 16 MB address range A/D Accuracy The XA-S3 A/D in 10 -bit mode is specified with 16 samples averaged in order to factor out on-chip noise. In an application where averaging 16 samples is not practical, the accuracy specifications may be de-rated according to the number of samples that are actually taken. The graph in Figure 5 shows the relationship of additional A/D error to the number of samples that are averaged. For example, if a single A/D reading is used with no averaging, the A/D accuracy should be de-rated by ±1.25 LSB. 1.50 Additional Error (LSB) 1.25 1.00 0.75 0.50 0.25 0.00 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Number of Samples 15 16 SU01227 Figure 5. A/D accuracy by number of averaging samples (Pertains to 10-bit mode only. Note that 10-bit mode is only specified up to fC = 20 MHz.) I2CON Address:42Ch Bit Addressable Reset Value: 00h BIT I2CON.7 I2CON.6 I2CON.5 SYMBOL CR2 ENA STA I2CON.4 I2CON.3 STO SI I2CON.2 AA I2CON.1 I2CON.0 CR1 CR0 MSB CR2 LSB ENA STA STO SI AA CR1 CR0 FUNCTION I2C Rate Control, with CR1 and CR0. See text and table. Enable I2C port. When ENA = 1, the I2C port is enabled. Start flag. Setting STA to 1 causes the I2C interface to attempt to gain mastership of the bus by generating a Start condition. Stop flag. Setting STO to 1 causes the I2C interface to attempt to generate a Stop condition. Serial Interrupt. SI is set by the I2C hardware when a new I2C state is entered, indicating that software needs to respond. SI causes an I2C interrupt if enabled and of sufficient priority. Assert Acknowledge. Setting AA to 1 causes the I2C hardware to automatically generate acknowledge pulses for various conditions (see text). I2C Rate Control, with CR2 and CR0. See text and table. I2C Rate Control, with CR2 and CR1. See text and table. SU00941 Figure 6. 2000 Mar 09 I2 C Control Register (I2CON) 17 Philips Semiconductors Preliminary specification XA 16-bit microcontroller 32K/1K OTP/ROM/ROMless, 8-channel 8-bit A/D, low voltage (2.7 V–5.5 V), I2C, 2 UARTs, 16 MB address range I2C Interface If the STA and STO bits are both set, then a STOP condition is transmitted to the I2C bus if the interface is in a master mode (in a slave mode, the hardware generates an internal STOP condition which is not transmitted). The I2C interface then transmits a START condition. The I2C interface on the XA-S3 is identical to the standard byte-style I2C interface found on devices such as the 8xC552 except for the rate selection. The I 2C interface conforms to the 100 kHz I 2C specification, but may be used at rates up to 400 kHz (non-conforming). STO = 0: When the STO bit is reset, no STOP condition will be generated. Important: Before the I2C interface may be used, the port pins P5.6 and 5.7, which correspond to the I2C functions SCL and SDA respectively, must be set to the open drain mode. SI, the Serial Interrupt flag SI = 1: When the SI flag is set, and the EA (interrupt system enable) and EI2 (I2C interrupt enable) bits are also set, an I2C interrupt is requested. SI is set by hardware when one of 25 of the 26 possible I2C interface states is entered. The only state that does not cause SI to be set is state F8H, which indicates that no relevant state information is available. The processor interfaces to the I2C logic via the following four special function registers: I2CON (I2C control register), I2STA (I2C status register), I2DAT (I2C data register), and I2ADR (I2C slave address register). The I2C control logic interfaces to the external I2C bus via two port 5 pins: P5.6/SCL (serial clock line) and P5.7/SDA (serial data line). While SI is set, the low period of the serial clock on the SCL line is stretched, and the serial transfer is suspended. A high level on the SCL line is unaffected by the serial interrupt flag. SI must be reset by software. The Control Register, I2CON This register is shown in Figure 6. Two bits are affected by the I2C hardware: the SI bit is set when a serial interrupt is requested, and the STO bit is cleared when a STOP condition is present on the I2C bus. The STO bit is also cleared when ENA = “0”. SI = 0: When the SI flag is reset, no serial interrupt is requested, and there is no stretching of the serial clock on the SCL line. ENA, the I2C Enable Bit ENA = 0: When ENA is “0”, the SDA and SCL outputs are not driven. SDA and SCL input signals are ignored, SIO1 is in the “not addressed” slave state, and the STO bit in I2CON is forced to “0”. No other bits are affected. P5.6 and P5.7 may be used as open drain I/O ports. AA, the Assert Acknowledge flag AA = 1: If the AA flag is set, an acknowledge (low level to SDA) will be returned during the acknowledge clock pulse on the SCL line when: • The “own slave address” has been received. • The general call address has been received while the general call ENA = 1: When ENA is “1”, SIO1 is enabled. The P5.6 and P5.7 port latches must be set to logic 1. bit (GC) in I2ADR is set. • A data byte has been received while the I2C interface is in the ENA should not be used to temporarily release the I2C-bus since, when ENA is reset, the I2C-bus status is lost. The AA flag should be used instead (see description of the AA flag in the following text). master receiver mode. • A data byte has been received while the I2C interface is in the addressed slave receiver mode. In the following text, it is assumed the ENA = “1”. AA = 0: If the AA flag is reset, a not acknowledge (high level to SDA) will be returned during the acknowledge clock pulse on the SCL line when: STA, the START flag STA = 1: When the STA bit is set to enter a master mode, the I2C hardware checks the status of the I2C bus and generates a START condition if the bus is free. If the bus is not free, the I2C interface waits for a STOP condition (which will free the bus) and generates a START condition after a delay of a half clock period of the internal serial clock generator. • A data byte has been received while the I2C interface is in the master receiver mode. • A data byte has been received while the I2C interface is in the addressed slave receiver mode. If STA is set while the I2C interface is already in a master mode and one or more bytes are transmitted or received, the hardware transmits a repeated START condition. STA may be set at any time. STA may also be set when the I2C interface is an addressed slave. When the I2C interface is in the addressed slave transmitter mode, state C8H will be entered after the last serial data byte is transmitted. When SI is cleared, the I2C interface leaves state C8H, enters the not addressed slave receiver mode, and the SDA line remains at a high level. In state C8H, the AA flag can be set again for future address recognition. STA = 0: When the STA bit is reset, no START condition or repeated START condition will be generated. When the I2C interface is in the not addressed slave mode, its own slave address and the general call address are ignored. Consequently, no acknowledge is returned, and a serial interrupt is not requested. Thus, the hardware can be temporarily released from the I2C bus while the bus status is monitored. While the hardware is released from the bus, START and STOP conditions are detected, and serial data is shifted in. Address recognition can be resumed at any time by setting the AA flag. If the AA flag is set when the part’s own slave address or the general call address has been partly received, the address will be recognized at the end of the byte transmission. STO, the STOP flag STO = 1: When the STO bit is set while the I2C interface is in a master mode, a STOP condition is transmitted to the I2C bus. When the STOP condition is detected on the bus, the hardware clears the STO flag. In a slave mode, the STO flag may be set to recover from an error condition. In this case, no STOP condition is transmitted to the I2C bus. However, the hardware behaves as if a STOP condition has been received and switches to the defined “not addressed” slave receiver mode. The STO flag is automatically cleared by hardware. 2000 Mar 09 XA-S3 18 Philips Semiconductors Preliminary specification XA 16-bit microcontroller XA-S3 32K/1K OTP/ROM/ROMless, 8-channel 8-bit A/D, low voltage (2.7 V–5.5 V), I2C, 2 UARTs, 16 MB address range The I2C Status Register, I2STA CR0, CR1, and CR2, the Clock Rate Bits These three bits determine the serial clock frequency when the I2C interface is in a master mode. An I2C rate of 100kHz or lower is typical and can be derived from many oscillator frequencies. The various serial rates are shown in Table 4. A variable bit rate may also be used if Timer 1 is not required for any other purpose while the I2C hardware is in a master mode. The frequencies shown in Table 4 are unimportant when the I2C hardware is in a slave mode. In the slave modes, the hardware will automatically synchronize with the incoming clock frequency. I2STA is an 8-bit read-only special function register. The three least significant bits are always zero. The five most significant bits contain the status code. There are 26 possible status codes. When I2STA contains F8H, no relevant state information is available and no serial interrupt is requested. All other I2STA values correspond to defined hardware interface states. When each of these states is entered, a serial interrupt is requested (SI = “1”). NOTE: A detailed I2C interface description and usage information, including example driver code, will be provided in a separate document. Table 4. I2C Rate Control Frequency q y Select (CR2, CR1, CR0) Example I2C Rates at Specific Oscillator Frequencies Clock Divisor 8 MHz 12 MHz 16 MHz 20 MHz 24 MHz 30 MHz 20 (400)1 – – – – – 1h (0001) 40 (200)1 (300)1 (400)1 – – – 2h (0010) 68 (116.65)1 (176.46)1 (235.29)1 (294.12)1 (352.94)1 – (181.82)1 (227.27)1 (272.73)1 (340.91)1 0h (0000) 3h (0011) 88 90.91 (136.36)1 4h (0100) 160 50 75 100 (125)1 (150)1 (187.5)1 5h (0101) 272 29.41 44.12 58.82 73.53 88.24 (110.29)1 6h (0110) 352 22.73 34.09 45.45 56.82 68.18 85.23 7h (0111) (Timer 1)2 (Timer 1)2 (Timer 1)2 (Timer 1)2 (Timer 1)2 (Timer 1)2 (Timer 1)2 NOTES: 1. The XA-S3 I2C interface does not conform to the 400kHz I2C specification (which applies to rates greater than 100kHz) in all details, but may be used with care where higher rates are required by the application. 2. The timer 1 overflow is used to clock the I2C interface. The resulting bit rate is 1/2 of the timer overflow rate. 2000 Mar 09 19 Philips Semiconductors Preliminary specification XA 16-bit microcontroller XA-S3 32K/1K OTP/ROM/ROMless, 8-channel 8-bit A/D, low voltage (2.7 V–5.5 V), I2C, 2 UARTs, 16 MB address range The CCON SFR contains the run control bit for the PCA and the flags for the PCA timer (CF) and each module (refer to Figure 11). To run the PCA the CR bit (CCON.6) must be set by software. The PCA is shut off by clearing this bit. The CF bit (CCON.7) is set when the PCA counter overflows and an interrupt will be generated if the ECF bit in the CMOD register is set, The CF bit can only be cleared by software. Bits 0 through 4 of the CCON register are the flags for the modules (bit 0 for module 0, bit 1 for module 1, etc.) and are set by hardware when either a match or a capture occurs. These flags also can only be cleared by software. The PCA interrupt system shown in Figure 9. XA-S3 Timer/Counters The XA-S3 has three general purpose counter/timers, two of which may also be used as baud rate generators for either or both of the UARTs. Timer 0 and 1 These are identical to the standard XA-G3 timer 0 and 1. Timer 2 This is identical to the standard XA-G3 timer 2. Programmable Counter Array (PCA) The Programmable Counter Array available on the XA-S3 is a special 16-bit Timer that has five 16-bit capture/compare modules associated with it. Each of the modules can be programmed to operate in one of four modes: rising and/or falling edge capture, software timer, high-speed output, or pulse width modulator. Each module has a pin associated with it in port 1. Module 0 is connected to P4.1(CEX0), module 1 to P4.2(CEX1), etc. The basic PCA configuration is shown in Figure 7. Each module in the PCA has a special function register associated with it. These registers are: CCAPM0 for module 0, CCAPM1 for module 1, etc. (see Figure 12). The registers contain the bits that control the mode that each module will operate in. The ECCF bit (CCAPMn.0 where n=0, 1, 2, 3, or 4 depending on the module) enables the CCF flag in the CCON SFR to generate an interrupt when a match or compare occurs in the associated module. PWM (CCAPMn.1) enables the pulse width modulation mode. The TOG bit (CCAPMn.2) when set causes the CEX output associated with the module to toggle when there is a match between the PCA counter and the module’s capture/compare register. The match bit MAT (CCAPMn.3) when set will cause the CCFn bit in the CCON register to be set when there is a match between the PCA counter and the module’s capture/compare register. The PCA timer is a common time base for all five modules and can be programmed to run at: the TCLK rate (Osc/4, Osc/16, or Osc/64), the Timer 0 overflow, or the input on the ECI pin (P4.0). When the ECI input is used, the falling edge clocks the PCA counter. The timer count source is determined from the CPS1 and CPS0 bits in the CMOD SFR as follows (see Figure 10): CPS1 CPS0 PCA Timer Count Source 0 X TCLK (Osc/4, Osc/16, or Osc/64) 1 0 Timer 0 overflow 1 1 ECI (PCA External Clock Input (max rate = Osc/4) The next two bits CAPN (CCAPMn.4) and CAPP (CCAPMn.5) determine the edge that a capture input will be active on. The CAPN bit enables the negative edge, and the CAPP bit enables the positive edge. If both bits are set both edges will be enabled and a capture will occur for either transition. The last bit in the register ECOM (CCAPMn.6) when set enables the comparator function. Figure 13 shows the CCAPMn settings for the various PCA functions. In the CMOD SFR are three additional bits associated with the PCA. They are CIDL which allows the PCA to stop during idle mode, WDTE which enables or disables the watchdog function on module 4, and ECF which when set causes an interrupt and the PCA overflow flag CF (in the CCON SFR) to be set when the PCA timer overflows. These functions are shown in Figure 8. In addition, each PCA module may generate a separate interrupt. There are two additional registers associated with each of the PCA modules. They are CCAPnH and CCAPnL and these are the registers that store the 16-bit count when a capture occurs or a compare should occur. When a module is used in the PWM mode these registers are used to control the duty cycle of the output. The watchdog timer function is implemented in module 4 (see Figure 17). 16 BITS MODULE 0 P4.1/CEX0 MODULE 1 P4.2/CEX1 MODULE 2 P4.3/CEX2 MODULE 3 P4.4/CEX3 MODULE 4 P4.5/CEX4 16 BITS PCA TIMER/COUNTER TIME BASE FOR PCA MODULES MODULE FUNCTIONS: 16-BIT CAPTURE 16-BIT TIMER 16-BIT HIGH SPEED OUTPUT 8-BIT PWM WATCHDOG TIMER (MODULE 4 ONLY) SU01303 Figure 7. Programmable Counter Array (PCA) 2000 Mar 09 20 Philips Semiconductors Preliminary specification XA 16-bit microcontroller XA-S3 32K/1K OTP/ROM/ROMless, 8-channel 8-bit A/D, low voltage (2.7 V–5.5 V), I2C, 2 UARTs, 16 MB address range TO PCA MODULES TCLK (OSC/4, OSC/16, OR OSC/64) OVERFLOW CH INTERRUPT CL 16–BIT UP COUNTER TIMER 0 OVERFLOW EXTERNAL INPUT (P4.0/ECI) 01 10 11 DECODE IDLE CIDL CF WDTE –– –– –– CPS1 CPS0 ECF CMOD (490H) CR –– CCF4 CCF3 CCF2 CCF1 CCF0 CCON (41AH) SU01304 Figure 8. PCA Timer/Counter CF CR –– CCF4 CCF3 CCF2 CCF1 CCF0 CCON (41AH) PCA TIMER/COUNTER MODULE 0 IEL.5 EPC IEL.7 EA TO INTERRUPT PRIORITY DECODER MODULE 1 MODULE 2 MODULE 3 MODULE 4 CMOD.0 ECF CCAPMn.0 ECCFn SU01305 Figure 9. PCA Interrupt System 2000 Mar 09 21 Philips Semiconductors Preliminary specification XA 16-bit microcontroller XA-S3 32K/1K OTP/ROM/ROMless, 8-channel 8-bit A/D, low voltage (2.7 V–5.5 V), I2C, 2 UARTs, 16 MB address range CMOD Address = 490H Reset Value = 00H CIDL WDTE – – – CPS1 7 6 5 4 3 2 Bit: CPS0 1 ECF 0 Symbol Function CIDL Counter Idle control: CIDL = 0 programs the PCA Counter to continue functioning during idle Mode. CIDL = 1 programs it to be gated off during idle. WDTE Watchdog Timer Enable: WDTE = 0 disables Watchdog Timer function on PCA Module 4. WDTE = 1 enables it. – Not implemented, reserved for future use.* CPS1 PCA Count Pulse Select bit 1. CPS0 PCA Count Pulse Select bit 0. CPS1 0 1 1 ECF CPS0 X 0 1 PCA Timer Count Source TClk (Osc/4, Osc/16, or Osc/64) Timer 0 overflow ECI (PCA External Clock Input (max rate = Osc/4) PCA Enable Counter Overflow interrupt: ECF = 1 enables CF bit in CCON to generate an interrupt. ECF = 0 disables that function of CF. NOTE: * User software should not write 1s to reserved bits. These bits may be used in future products to invoke new features. In that case, the reset or inactive value of the new bit will be 0, and its active value will be 1. The value read from a reserved bit is indeterminate. ** fOSC = oscillator frequency SU01306 Figure 10. CMOD: PCA Counter Mode Register CCON Address = 41AH Reset Value = 00H Bit Addressable Bit: CF CR – CCF4 CCF3 CCF2 CCF1 CCF0 7 6 5 4 3 2 1 0 Symbol Function CF PCA Counter Overflow flag. Set by hardware when the counter rolls over. CF flags an interrupt if bit ECF in CMOD is set. CF may be set by either hardware or software but can only be cleared by software. CR PCA Counter Run control bit. Set by software to turn the PCA counter on. Must be cleared by software to turn the PCA counter off. – Not implemented, reserved for future use*. CCF4 PCA Module 4 interrupt flag. Set by hardware when a match or capture occurs. Must be cleared by software. May generate a separate interrupt for this module alone. CCF3 PCA Module 3 interrupt flag. Set by hardware when a match or capture occurs. Must be cleared by software. May generate a separate interrupt for this module alone. CCF2 PCA Module 2 interrupt flag. Set by hardware when a match or capture occurs. Must be cleared by software. May generate a separate interrupt for this module alone. CCF1 PCA Module 1 interrupt flag. Set by hardware when a match or capture occurs. Must be cleared by software. May generate a separate interrupt for this module alone. CCF0 PCA Module 0 interrupt flag. Set by hardware when a match or capture occurs. Must be cleared by software. May generate a separate interrupt for this module alone. Each of CCF4 through CCF0 generates its own interrupt, and has its own interrupt vector. NOTE: * User software should not write 1s to reserved bits. These bits may be used in future products to invoke new features. In that case, the reset or inactive value of the new bit will be 0, and its active value will be 1. The value read from a reserved bit is indeterminate. SU01307 Figure 11. CCON: PCA Counter Control Register 2000 Mar 09 22 Philips Semiconductors Preliminary specification XA 16-bit microcontroller XA-S3 32K/1K OTP/ROM/ROMless, 8-channel 8-bit A/D, low voltage (2.7 V–5.5 V), I2C, 2 UARTs, 16 MB address range CCAPMn Address CCAPM0 CCAPM1 CCAPM2 CCAPM3 CCAPM4 491H 492H 493H 494H 495H Reset Value = 00H Not Bit Addressable Bit: – ECOMn CAPPn CAPNn MATn TOGn PWMn ECCFn 7 6 5 4 3 2 1 0 Symbol Function – ECOMn CAPPn CAPNn MATn Not implemented, reserved for future use*. Enable Comparator. ECOMn = 1 enables the comparator function. Capture Positive, CAPPn = 1 enables positive edge capture. Capture Negative, CAPNn = 1 enables negative edge capture. Match. When MATn = 1, a match of the PCA counter with this module’s compare/capture register causes the CCFn bit in CCON to be set, flagging an interrupt. Toggle. When TOGn = 1, a match of the PCA counter with this module’s compare/capture register causes the CEXn pin to toggle. Pulse Width Modulation Mode. PWMn = 1 enables the CEXn pin to be used as a pulse width modulated output. Enable CCF interrupt. Enables compare/capture flag CCFn in the CCON register to generate an interrupt. TOGn PWMn ECCFn NOTE: *User software should not write 1s to reserved bits. These bits may be used in future products to invoke new features. In that case, the reset or inactive value of the new bit will be 0, and its active value will be 1. The value read from a reserved bit is indeterminate. SU01308 Figure 12. CCAPMn: PCA Modules Compare/Capture Registers – ECOMn CAPPn CAPNn MATn TOGn PWMn ECCFn X 0 0 0 0 0 0 0 No operation MODULE FUNCTION X X 1 0 0 0 0 X 16-bit capture by a positive-edge trigger on CEXn X X 0 1 0 0 0 X 16-bit capture by a negative trigger on CEXn X X 1 1 0 0 0 X 16-bit capture by a transition on CEXn X 1 0 0 1 0 0 X 16-bit Software Timer X 1 0 0 1 1 0 X 16-bit High Speed Output X 1 0 0 0 0 1 0 8-bit PWM X 1 0 0 1 X 0 X Watchdog Timer Figure 13. PCA Module Modes (CCAPMn Register) PCA Capture Mode To use one of the PCA modules in the capture mode either one or both of the CCAPM bits CAPN and CAPP for that module must be set. The external CEX input for the module (on port 1) is sampled for a transition. When a valid transition occurs the PCA hardware loads the value of the PCA counter registers (CH and CL) into the module’s capture registers (CCAPnL and CCAPnH). If the CCFn bit for the module in the CCON SFR and the ECCFn bit in the CCAPMn SFR are set then an interrupt will be generated. Refer to Figure 14. counter and the module’s capture registers. To activate this mode the TOG, MAT, and ECOM bits in the module’s CCAPMn SFR must be set (see Figure 16). Pulse Width Modulator Mode All of the PCA modules can be used as PWM outputs. Figure 17 shows the PWM function. The frequency of the output depends on the source for the PCA timer. All of the modules will have the same frequency of output because they all share the PCA timer. The duty cycle of each module is independently variable using the module’s capture register CCAPLn. When the value of the PCA CL SFR is less than the value in the module’s CCAPLn SFR the output will be low, when it is equal to or greater than the output will be high. When CL overflows from FF to 00, CCAPLn is reloaded with the value in CCAPHn. the allows updating the PWM without glitches. The PWM and ECOM bits in the module’s CCAPMn register must be set to enable the PWM mode. 16-bit Software Timer Mode The PCA modules can be used as software timers by setting both the ECOM and MAT bits in the modules CCAPMn register. The PCA timer will be compared to the module’s capture registers and when a match occurs an interrupt will occur if the CCFn (CCON SFR) and the ECCFn (CCAPMn SFR) bits for the module are both set (see Figure 15). High Speed Output Mode In this mode the CEX output (on port 4) associated with the PCA module will toggle each time a match occurs between the PCA 2000 Mar 09 23 Philips Semiconductors Preliminary specification XA 16-bit microcontroller XA-S3 32K/1K OTP/ROM/ROMless, 8-channel 8-bit A/D, low voltage (2.7 V–5.5 V), I2C, 2 UARTs, 16 MB address range CF CR –– CCF4 CCF3 CCF2 CCF1 CCF0 CCON (41AH) PCA INTERRUPT (TO CCFn) PCA TIMER/COUNTER CH CL CCAPnH CCAPnL CAPTURE CEXn –– ECOMn CAPPn CAPNn MATn TOGn PWMn 0 0 0 0 ECCFn CCAPMn, n= 0 to 4 (491H–495H) SU01309 Figure 14. PCA Capture Mode CF WRITE TO CCAPnH –– CCF4 CCF3 CCF2 CCF1 CCF0 CCON (41AH) RESET CCAPnH WRITE TO CCAPnL 0 CR PCA INTERRUPT CCAPnL (TO CCFn) 1 ENABLE MATCH 16–BIT COMPARATOR CH CL PCA TIMER/COUNTER –– ECOMn CAPPn CAPNn 0 0 MATn TOGn PWMn 0 0 ECCFn CCAPMn, n= 0 to 4 (491H–495H) SU01310 Figure 15. PCA Compare Mode 2000 Mar 09 24 Philips Semiconductors Preliminary specification XA 16-bit microcontroller XA-S3 32K/1K OTP/ROM/ROMless, 8-channel 8-bit A/D, low voltage (2.7 V–5.5 V), I2C, 2 UARTs, 16 MB address range CF WRITE TO CCAPnH CR CCF4 CCF3 CCF2 CCF1 CCON (41AH) CCF0 RESET CCAPnH WRITE TO CCAPnL 0 –– PCA INTERRUPT CCAPnL (TO CCFn) 1 MATCH ENABLE 16–BIT COMPARATOR TOGGLE CH CEXn CL PCA TIMER/COUNTER –– ECOMn CAPPn CAPNn 0 0 MATn TOGn PWMn 1 CCAPMn, n: 0..4 (491H–495H) ECCFn 0 SU01311 Figure 16. PCA High Speed Output Mode CCAPnH CCAPnL 0 CL < CCAPnL ENABLE 8–BIT COMPARATOR CEXn CL >= CCAPnL 1 CL OVERFLOW PCA TIMER/COUNTER –– ECOMn CAPPn CAPNn MATn TOGn 0 0 0 0 PWMn ECCFn CCAPMn, n: 0..4 (491H–495H) 0 SU01312 Figure 17. PCA PWM Mode 2000 Mar 09 25 Philips Semiconductors Preliminary specification XA 16-bit microcontroller XA-S3 32K/1K OTP/ROM/ROMless, 8-channel 8-bit A/D, low voltage (2.7 V–5.5 V), I2C, 2 UARTs, 16 MB address range CIDL WRITE TO CCAP4H –– –– –– CPS1 CPS0 ECF CMOD (490H) RESET CCAP4H WRITE TO CCAP4L 0 WDTE CCAP4L MODULE 4 1 ENABLE MATCH 16–BIT COMPARATOR CH RESET CL PCA TIMER/COUNTER –– ECOMn CAPPn CAPNn MATn 0 0 1 TOGn X PWMn ECCFn 0 X CCAPM4 (495H) SU01313 Figure 18. PCA Watchdog Timer m(Module 4 only) PCA Watchdog Timer An on-board watchdog timer is available with the PCA to improve the reliability of the system without increasing chip count. Watchdog timers are useful for systems that are susceptible to noise, power glitches, or electrostatic discharge. Module 4 is the only PCA module that can be programmed as a watchdog. However, this module can still be used for other modes if the watchdog is not needed. The first two options are more reliable because the watchdog timer is never disabled as in option #3. If the program counter ever goes astray, a match will eventually occur and cause an internal reset. The second option is also not recommended if other PCA modules are being used. Remember, the PCA timer is the time base for all modules; changing the time base for other modules would not be a good idea. Thus, in most applications the first solution is the best option. Figure 18 shows a diagram of how the watchdog works. The user pre-loads a 16-bit value in the compare registers. Just like the other compare modes, this 16-bit value is compared to the PCA timer value. If a match is allowed to occur, an internal reset will be generated. This will not cause the RST pin to be driven low. Figure 19 shows the code for initializing the watchdog timer. Module 4 can be configured in either compare mode, and the WDTE bit in CMOD must also be set. The user’s software then must periodically change (CCAP4H,CCAP4L) to keep a match from occurring with the PCA timer (CH,CL). This code is given in the WATCHDOG routine in Figure 19. In order to hold off the reset, the user has three options: 1. periodically change the compare value so it will never match the PCA timer, This routine should not be part of an interrupt service routine, because if the program counter goes astray and gets stuck in an infinite loop, interrupts will still be serviced and the watchdog will keep getting reset. Thus, the purpose of the watchdog would be defeated. Instead, call this subroutine from the main program within 216 count of the PCA timer. 2. periodically change the PCA timer value so it will never match the compare values, or 3. disable the watchdog by clearing the WDTE bit before a match occurs and then re-enable it. 2000 Mar 09 26 Philips Semiconductors Preliminary specification XA 16-bit microcontroller 32K/1K OTP/ROM/ROMless, 8-channel 8-bit A/D, low voltage (2.7 V–5.5 V), I2C, 2 UARTs, 16 MB address range INIT_WATCHDOG: MOV CCAPM4, #4CH MOV CCAP4L, #0FFH MOV CCAP4H, #0FFH OR CMOD, #40H ; ; ; ; ; ; ; ; XA-S3 Module 4 in compare mode Write to low byte first Before PCA timer counts up to FFFF Hex, these compare values must be changed Set the WDTE bit to enable the watchdog timer without changing the other bits in CMOD ; ;******************************************************************** ; ; Main program goes here, but CALL WATCHDOG periodically. ; ;******************************************************************** ; WATCHDOG: CLR EA ; Hold off interrupts MOV CCAP4L, #00 ; Next compare value is within MOV CCAP4H, CH ; 255 counts of the current PCA SETB EA ; timer value RET Figure 19. PCA Watchdog Timer Initialization Code transmit register, and reading SnBUF accesses a physically separate receive register. Watchdog Timer This is a standard XA-G3 watchdog timer. This watchdog timer always comes up running at reset. The watchdog acts the same on EPROM, ROM, and ROMless parts, as in the XA-G3. The serial port can operate in 4 modes: Mode 0: Serial I/O expansion mode. Serial data enters and exits through RxDn. TxDn outputs the shift clock. 8 bits are transmitted/received (LSB first). (The baud rate is fixed at 1/16 the oscillator frequency.) UARTs Standard XA-S3 UART0 and UART1 with double buffered transmit register. A flag has been added to SnSTAT that is set if any of the status flags (BRn, FEn, or OEn) is set for the corresponding UART channel. This allows polling for UART errors quickly at the interrupt service routine. Baud rate sources may be timer 1 or timer 2. Mode 1: Standard 8-bit UART mode. 10 bits are transmitted (through TxDn) or received (through RxDn): a start bit (0), 8 data bits (LSB first), and a stop bit (1). On receive, the stop bit goes into RB8 in Special Function Register SnCON. The baud rate is variable. The XA-S3 includes 2 UART ports that are compatible with the enhanced UART used on the XA-G3. Mode 2: Fixed rate 9-bit UART mode. 11 bits are transmitted (through TxD) or received (through RxD): start bit (0), 8 data bits (LSB first), a programmable 9th data bit, and a stop bit (1). On Transmit, the 9th data bit (TB8_n in SnCON) can be assigned the value of 0 or 1. Or, for example, the parity bit (P, in the PSW) could be moved into TB8_n. On receive, the 9th data bit goes into RB8_n in Special Function Register SnCON, while the stop bit is ignored. The baud rate is programmable to 1/32 of the oscillator frequency. The UART has separate interrupt vectors for each UART’s transmit and receive functions. The UART transmitter has been double buffered, allowing packed transmission of data with no gaps between bytes and less critical interrupt service routine timing. A break detect function has been added to the UART. This operates independently of the UART itself and provides a start-of-break status bit that the program may test. An Overrun Error flag allows detection of missed characters in the received data stream. The double buffered UART transmitter may require some software changes if code is used that was written for the original XA-G3 single buffered UART. Mode 3: Standard 9-bit UART mode. 11 bits are transmitted (through TxDn) or received (through RxDn): a start bit (0), 8 data bits (LSB first), a programmable 9th data bit, and a stop bit (1). In fact, Mode 3 is the same as Mode 2 in all respects except baud rate. The baud rate in Mode 3 is variable. Each UART baud rate is determined by either a fixed division of the oscillator (in UART modes 0 and 2) or by the timer 1 or timer 2 overflow rate (in UART modes 1 and 3). In all four modes, transmission is initiated by any instruction that uses SnBUF as a destination register. Reception is initiated in Mode 0 by the condition RI_n = 0 and REN_n = 1. Reception is initiated in the other modes by the incoming start bit if REN_n = 1. Timer 1 defaults to clock both UART0 and UART1. Timer 2 can be programmed to clock either UART0 through T2CON (via bits R0CLK and T0CLK) or UART1 through T2MOD (via bits R1CLK and T1CLK). In this case, the UART not clocked by T2 could use T1 as the clock source. The serial port receive and transmit registers are both accessed at Special Function Register SnBUF. Writing to SnBUF loads the 2000 Mar 09 27 Philips Semiconductors Preliminary specification XA 16-bit microcontroller XA-S3 32K/1K OTP/ROM/ROMless, 8-channel 8-bit A/D, low voltage (2.7 V–5.5 V), I2C, 2 UARTs, 16 MB address range Serial Port Control Register The serial port control and status register is the Special Function Register SnCON, shown in Figure 21. This register contains not only the mode selection bits, but also the 9th data bit for transmit and receive (TB8_n and RB8_n), and the serial port interrupt bits (TI_n and RI_n). CLOCKING SCHEME/BAUD RATE GENERATION The XA UARTS clock rates are determined by either a fixed division (modes 0 and 2) of the oscillator clock or by the Timer 1 or Timer 2 overflow rate (modes 1 and 3). The clock for the UARTs in XA runs at 16x the Baud rate. If the timers are used as the source for Baud Clock, since maximum speed of timers/Baud Clock is Osc/4, the maximum baud rate is timer overflow divided by 16 i.e. Osc/64. TI Flag In order to allow easy use of the double buffered UART transmitter feature, the TI_n flag is set by the UART hardware under two conditions. The first condition is the completion of any byte transmission. This occurs at the end of the stop bit in modes 1, 2, or 3, or at the end of the eighth data bit in mode 0. The second condition is when SnBUF is written while the UART transmitter is idle. In this case, the TI_n flag is set in order to indicate that the second UART transmitter buffer is still available. In Mode 0, it is fixed at Osc/16. In Mode 2, however, the fixed rate is Osc/32. Pre-scaler for all Timers T0,1,2 T0 1 2 controlled by PT1, PT0 bits in SCR Typically, UART transmitters generate one interrupt per byte transmitted. In the case of the XA UART, one additional interrupt is generated as defined by the stated conditions for setting the TI_n flag. This additional interrupt does not occur if double buffering is bypassed as explained below. Note that if a character oriented approach is used to transmit data through the UART, there could be a second interrupt for each character transmitted, depending on the timing of the writes to SBUF. For this reason, it is generally better to bypass double buffering when the UART transmitter is used in character oriented mode. This is also true if the UART is polled rather than interrupt driven, and when transmission is character oriented rather than message or string oriented. The interrupt occurs at the end of the last byte transmitted when the UART becomes idle. Among other things, this allows a program to determine when a message has been transmitted completely. The interrupt service routine should handle this additional interrupt. 00 Osc/4 01 Osc/16 10 Osc/64 11 reserved Baud Rate for UART Mode 0: Baud_Rate = Osc/16 Baud Rate calculation for UART Mode 1 and 3: Baud_Rate = Timer_Rate/16 Timer_Rate = Osc/(N*(Timer_Range– Timer_Reload_Value)) where N = the TCLK prescaler value: 4, 16, or 64. and Timer_Range = 256 for timer 1 in mode 2. 65536 for timer 1 in mode 0 and timer 2 in count up mode. The timer reload value may be calculated as follows: Timer_Reload_Value = Timer_Range–(Osc/(Baud_Rate*N*16)) NOTES: 1.. The maximum baud rate for a UART in mode 1 or 3 is Osc/64. 2.. The lowest possible baud rate (for a given oscillator frequency and N value) may be found by using a timer reload value of 0. 3.. The timer reload value may never be larger than the timer range. 4.. If a timer reload value calculation gives a negative or fractional result, the baud rate requested is not possible at the given oscillator frequency and N value. The recommended method of using the double buffering in the application program is to have the interrupt service routine handle a single byte for each interrupt occurrence. In this manner the program essentially does not require any special considerations for double buffering. Unless higher priority interrupts cause delays in the servicing of the UART transmitter interrupt, the double buffering will result in transmitted bytes being tightly packed with no intervening gaps. Baud Rate for UART Mode 2: Baud_Rate = Osc/32 9-bit Mode Please note that the ninth data bit (TB8) is not double buffered. Care must be taken to insure that the TB8 bit contains the intended data at the point where it is transmitted. Double buffering of the UART transmitter may be bypassed as a simple means of synchronizing TB8 to the rest of the data stream. Using Timer 2 to Generate Baud Rates Timer T2 is a 16-bit up/down counter in XA. As a baud rate generator, timer 2 is selected as a clock source for either/both UART0 and UART1 transmitters and/or receivers by setting TCLKn and/or RCLKn in T2CON and T2MOD. As the baud rate generator, T2 is incremented as Osc/N where N = 4, 16 or 64 depending on TCLK as programmed in the SCR bits PT1, and PTO. So, if T2 is the source of one UART, the other UART could be clocked by either T1 overflow or fixed clock, and the UARTs could run independently with different baud rates. Bypassing Double Buffering The UART transmitter may be used as if it is single buffered. The recommended UART transmitter interrupt service routine (ISR) technique to bypass double buffering first clears the TI_n flag upon entry into the ISR, as in standard practice. This clears the interrupt that activated the ISR. Secondly, the TI_n flag is cleared immediately following each write to SnBUF. This clears the interrupt flag that would otherwise direct the program to write to the second transmitter buffer. If there is any possibility that a higher priority interrupt might become active between the write to SnBUF and the clearing of the TI_n flag, the interrupt system may have to be temporarily disabled during that sequence by clearing, then setting the EA bit in the IEL register. T2CON 0x418 bit5 bit4 RCLK0 TCLK0 T2MOD 0x419 bit5 bit4 RCLK1 TCLK1 Prescaler Select for Timer Clock (TCLK) SCR 0x440 2000 Mar 09 28 bit3 bit2 PT1 PT0 Philips Semiconductors Preliminary specification XA 16-bit microcontroller XA-S3 32K/1K OTP/ROM/ROMless, 8-channel 8-bit A/D, low voltage (2.7 V–5.5 V), I2C, 2 UARTs, 16 MB address range SnSTAT Address: S0STAT 421 S1STAT 425 Bit Addressable Reset Value: 00H MSB — LSB — — — FEn BRn OEn STINTn BIT SYMBOL FUNCTION SnSTAT.3 FEn Framing Error flag is set when the receiver fails to see a valid STOP bit at the end of the frame. Cleared by software. SnSTAT.2 BRn Break Detect flag is set if a character is received with all bits (including STOP bit) being logic ‘0’. Thus it gives a “Start of Break Detect” on bit 8 for Mode 1 and bit 9 for Modes 2 and 3. The break detect feature operates independently of the UARTs and provides the START of Break Detect status bit that a user program may poll. Cleared by software. SnSTAT.1 OEn Overrun Error flag is set if a new character is received in the receiver buffer while it is still full (before the software has read the previous character from the buffer), i.e., when bit 8 of a new byte is received while RI in SnCON is still set. Cleared by software. SnSTAT.0 STINTn This flag must be set to enable any of the above status flags to generate a receive interrupt (RIn). The only way it can be cleared is by a software write to this register. SU00607B Figure 20. Serial Port Extended Status (SnSTAT) Register (See also Figure 22 regarding Framing Error flag) Error (FE) flag. In a Mode 1 reception, if SM2 = 1, the receive interrupt will not be activated unless a valid stop bit is received. UART INTERRUPT SCHEME There are separate interrupt vectors for each UART’s transmit and receive functions. Automatic Address Recognition Automatic Address Recognition is a feature which allows the UART to recognize certain addresses in the serial bit stream by using hardware to make the comparisons. This feature saves a great deal of software overhead by eliminating the need for the software to examine every serial address which passes by the serial port. This feature is enabled by setting the SM2 bit in SCON. In the 9 bit UART modes, mode 2 and mode 3, the Receive Interrupt flag (RI) will be automatically set when the received byte contains either the “Given” address or the “Broadcast” address. The 9 bit mode requires that the 9th information bit is a 1 to indicate that the received information is an address and not data. Automatic address recognition is shown in Figure 23. Table 5. Interrupt Vector Locations for UARTs Vector Address Interrupt Source Arbitration A0H – A3H UART 0 Receiver 9 A4H – A7H UART 0 Transmitter 10 A8H – ABH UART 1 Receiver 11 ACH – AFH UART 1 Transmitter 12 NOTE: The transmit and receive vectors could contain the same ISR address to work like a 8051 interrupt scheme Error Handling, Status Flags and Break Detect XA UARTs have several error flags as described in Figures 20 and 22. Using the Automatic Address Recognition feature allows a master to selectively communicate with one or more slaves by invoking the Given slave address or addresses. All of the slaves may be contacted by using the Broadcast address. Two special Function Registers are used to define the slave’s address, SADDR, and the address mask, SADEN. SADEN is used to define which bits in the SADDR are to be used and which bits are “don’t care”. The SADEN mask can be logically ANDed with the SADDR to create the “Given” address which the master will use for addressing each of the slaves. Use of the Given address allows multiple slaves to be recognized while excluding others. The following examples will help to show the versatility of this scheme: Multiprocessor Communications Modes 2 and 3 have a special provision for multiprocessor communications. In these modes, 9 data bits are received. The 9th one goes into RB8. Then comes a stop bit. The port can be programmed such that when the stop bit is received, the serial port interrupt will be activated only if RB8 = 1. This feature is enabled by setting bit SM2 in SCON. A way to use this feature in multiprocessor systems is as follows: When the master processor wants to transmit a block of data to one of several slaves, it first sends out an address byte which identifies the target slave. An address byte differs from a data byte in that the 9th bit is 1 in an address byte and 0 in a data byte. With SM2 = 1, no slave will be interrupted by a data byte. An address byte, however, will interrupt all slaves, so that each slave can examine the received byte and see if it is being addressed. The addressed slave will clear its SM2 bit and prepare to receive the data bytes that will be coming. The slaves that weren’t being addressed leave their SM2s set and go on about their business, ignoring the coming data bytes. SADDR = SADEN = Given = 1100 0000 1111 1101 1100 00X0 Slave 1 SADDR = SADEN = Given = 1100 0000 1111 1110 1100 000X In the above example SADDR is the same and the SADEN data is used to differentiate between the two slaves. Slave 0 requires a 0 in bit 0 and it ignores bit 1. Slave 1 requires a 0 in bit 1 and bit 0 is ignored. A unique address for Slave 0 would be 1100 0010 since slave 1 requires a 0 in bit 1. A unique address for slave 1 would be SM2 has no effect in Mode 0, and in Mode 1 can be used to check the validity of the stop bit although this is better done with the Framing 2000 Mar 09 Slave 0 29 Philips Semiconductors Preliminary specification XA 16-bit microcontroller XA-S3 32K/1K OTP/ROM/ROMless, 8-channel 8-bit A/D, low voltage (2.7 V–5.5 V), I2C, 2 UARTs, 16 MB address range In the above example the differentiation among the 3 slaves is in the lower 3 address bits. Slave 0 requires that bit 0 = 0 and it can be uniquely addressed by 1110 0110. Slave 1 requires that bit 1 = 0 and it can be uniquely addressed by 1110 and 0101. Slave 2 requires that bit 2 = 0 and its unique address is 1110 0011. To select Slaves 0 and 1 and exclude Slave 2 use address 1110 0100, since it is necessary to make bit 2 = 1 to exclude slave 2. 1100 0001 since a 1 in bit 0 will exclude slave 0. Both slaves can be selected at the same time by an address which has bit 0 = 0 (for slave 0) and bit 1 = 0 (for slave 1). Thus, both could be addressed with 1100 0000. In a more complex system the following could be used to select slaves 1 and 2 while excluding slave 0: Slave 0 SADDR = SADEN = Given = 1100 0000 1111 1001 1100 0XX0 Slave 1 SADDR = SADEN = Given = 1110 0000 1111 1010 1110 0X0X SADDR = SADEN = Given = 1110 0000 1111 1100 1110 00XX Slave 2 SnCON Address: S0CON 420 S1CON 424 The Broadcast Address for each slave is created by taking the logical OR of SADDR and SADEN. Zeros in this result are teated as don’t-cares. In most cases, interpreting the don’t-cares as ones, the broadcast address will be FF hexadecimal. Upon reset SADDR and SADEN are loaded with 0s. This produces a given address of all “don’t cares” as well as a Broadcast address of all “don’t cares”. This effectively disables the Automatic Addressing mode and allows the microcontroller to use standard UART drivers which do not make use of this feature. MSB SM0 Bit Addressable Reset Value: 00H LSB SM1 SM2 REN TB8 RB8 TI RI Where SM0, SM1 specify the serial port mode, as follows: SM0 0 0 1 1 SM1 0 1 0 1 Mode 0 1 2 3 Description shift register 8-bit UART 9-bit UART 9-bit UART Baud Rate fOSC/16 variable fOSC/32 variable BIT SYMBOL FUNCTION SnCON.5 SM2 Enables the multiprocessor communication feature in Modes 2 and 3. In Mode 2 or 3, if SM2 is set to 1, then RI will not be activated if the received 9th data bit (RB8) is 0. In Mode 1, if SM2=1 then RI will not be activated if a valid stop bit was not received. In Mode 0, SM2 should be 0. SnCON.4 REN Enables serial reception. Set by software to enable reception. Clear by software to disable reception. SnCON.3 TB8 The 9th data bit that will be transmitted in Modes 2 and 3. Set or clear by software as desired. The TB8 bit is not double buffered. See text for details. SnCON.2 RB8 In Modes 2 and 3, is the 9th data bit that was received. In Mode 1, if SM2=0, RB8 is the stop bit that was received. In Mode 0, RB8 is not used. SnCON.1 TI Transmit interrupt flag. Set when another byte may be written to the UART transmitter. See text for details. Must be cleared by software. SnCON.0 RI Receive interrupt flag. Set by hardware at the end of the 8th bit time in Mode 0, or at the end of the stop bit time in the other modes (except see SM2). Must be cleared by software. SU00597C Figure 21. Serial Port Control (SnCON) Register 2000 Mar 09 30 Philips Semiconductors Preliminary specification XA 16-bit microcontroller XA-S3 32K/1K OTP/ROM/ROMless, 8-channel 8-bit A/D, low voltage (2.7 V–5.5 V), I2C, 2 UARTs, 16 MB address range D0 D1 D2 D3 D4 D5 D6 D7 D8 DATA BYTE START BIT ONLY IN MODE 2, 3 STOP BIT if 0, sets FE — — — — FEn BRn OEn STINTn SnSTAT SU00598 Figure 22. UART Framing Error Detection D0 D1 D2 D3 SM0_n D4 SM1_n 1 1 D5 D6 SM2_n REN_n TB8_n 1 X 1 1 0 D7 D8 RB8_n TI_n RI_n SnCON RECEIVED ADDRESS D0 TO D7 COMPARATOR PROGRAMMED ADDRESS IN UART MODE 2 OR MODE 3 AND SM2 = 1: INTERRUPT IF REN=1, RB8=1 AND “RECEIVED ADDRESS” = “PROGRAMMED ADDRESS” – WHEN OWN ADDRESS RECEIVED, CLEAR SM2 TO RECEIVE DATA BYTES – WHEN ALL DATA BYTES HAVE BEEN RECEIVED: SET SM2 TO WAIT FOR NEXT ADDRESS. SU00613 Figure 23. UART Multiprocessor Communication, Automatic Address Recognition The latched values of EA and BUSW are NOT automatically updated when an internal reset occurs. RSTOUT may be used to apply an external reset to the XA-S3 in order to update the previously latched EA and BUSW values. However, since RSTOUT reflects ALL reset sources, it cannot simply be fed back into the RST pin without other logic. Clocking / Baud Rate Generation Same as for the XA-G3. I/O Port Output Configuration Port output configurations are the same as for the XA-G3: open drain, quasi-bidirectional, push-pull, and off. The reset source identification register (RSTSRC) indicates the cause of the most recent XA reset. The cause may have been an externally applied reset signal, execution of the RESET instruction, or a Watchdog reset. Figure 24 shows the fields in the RSTSRC register. External Bus The external bus operates in the same manner as the XA-G3, but all 24 address lines are brought out to the outside world. This allows for a maximum of 16 Mbytes of code memory and 16 Mbytes of data memory. Power Reduction Modes The XA-S3 supports Idle and Power Down modes of power reduction. The idle mode leaves some peripherals running in order to allow them to activate the processor when an interrupt is generated. The power down mode stops the oscillator in order to absolutely minimize power. The processor can be made to exit power down mode via a reset or one of the external interrupt inputs (INT0 or INT1). This will occur if the interrupt is enabled and its priority is higher than that defined by IM3 through IM0. In power down mode, the power supply voltage may be reduced to the RAM keep-alive voltage VRAM. This retains the RAM, register, and SFR contents at the point where power down mode was entered. VDD must be raised to within the operating range before power down mode is exited. Clock Output The CLKOUT pin allows easier external bus interfacing in some situations. This output reflects the X1 clock input to the XA, but is delayed to match the external bus outputs and strobes. The default is for CLKOUT to be on at reset, but it may be turned off via the CLKD bit that has been added to the BCR register. Reset Active low reset input, the same as the XA-G3. The associated RSTOUT pin provides an external indication via an active low open drain output when an internal reset occurs. The RSTOUT pin will be driven low when the RST pin is driven low, when a Watchdog reset occurs or the RESET instruction is executed. This signal may be used to inform other devices in a system that the XA-S3 has been reset. 2000 Mar 09 31 Philips Semiconductors Preliminary specification XA 16-bit microcontroller XA-S3 32K/1K OTP/ROM/ROMless, 8-channel 8-bit A/D, low voltage (2.7 V–5.5 V), I2C, 2 UARTs, 16 MB address range RSTSRC Address:463h Not bit Addressable Reset Value: see below BIT RSTSRC.7 RSTSRC.6 RSTSRC.5 RSTSRC.4 RSTSRC.3 RSTSRC.2 RSTSRC.1 RSTSRC.0 SYMBOL — — — — — R_WD R_CMD R_EXT MSB — LSB — — — — R_WD R_CMD R_EXT FUNCTION Reserved for future use. Should not be set to 1 by user programs. Reserved for future use. Should not be set to 1 by user programs. Reserved for future use. Should not be set to 1 by user programs. Reserved for future use. Should not be set to 1 by user programs. Reserved for future use. Should not be set to 1 by user programs. Indicates that the last reset was caused by a watchdog timer overflow. Indicates that the last reset was caused by execution of the RESET instruction. Indicates that the last reset was caused by the external RST input. SU00942 Figure 24. Reset source register (RSTSRC) exception interrupts (plus reset), and 16 traps. The maskable event interrupts share a global interrupt disable bit (the EA bit in the IEL register) and each also has a separate individual interrupt enable bit (in the IEL or IEH registers). Only three bits of the IPA register values are used on the XA-S3. Each event interrupt can be set to occur at one of 8 priority levels via bits in the Interrupt Priority (IP) registers, IPA0 through IPA5. The value 0 in the IPA field gives the interrupt priority 0, in effect disabling the interrupt. A value of 1 gives the interrupt a priority of 9, the value 2 gives priority 10, etc. The result is the same as if all four bits were used and the top bit set for all values except 0. Details of the priority scheme may be found in the XA User Guide. INTERRUPTS XA-S3 interrupt sources include the following: • External interrupts 0 and 1 (2) • Timer 0, 1, and 2 interrupts (3) • PCA: 1 global and 5 channel interrupts (6) • A/D interrupt (1) • UART 0 transmitter and receiver interrupts (2) • UART 1 transmitter and receiver interrupts (2) • I2C interrupt (1) • Software interrupts (7) The complete interrupt vector list for the XA-S3, including all 4 interrupt types, is shown in the following tables. The tables include the address of the vector for each interrupt, the related priority register bits (if any), and the arbitration ranking for that interrupt source. The arbitration ranking determines the order in which interrupts are processed if more than one interrupt of the same priority occurs simultaneously. There are a total of 17 hardware interrupt sources, enable bits, priority bit sets, etc. The XA-S3 supports a total of 17 maskable event interrupt sources (for the various XA peripherals), seven software interrupts, 5 EXCEPTION/TRAPS PRECEDENCE DESCRIPTION VECTOR ADDRESS ARBITRATION RANKING Reset (h/w, watchdog, s/w) 0000–0003 0 (High) Breakpoint 0004–0007 1 Trace 0008–000B 1 Stack Overflow 000C–000F 1 Divide by 0 0010–0013 1 User RETI 0014–0017 1 TRAP 0–15 (software) 0040–007F 1 2000 Mar 09 32 Philips Semiconductors Preliminary specification XA 16-bit microcontroller XA-S3 32K/1K OTP/ROM/ROMless, 8-channel 8-bit A/D, low voltage (2.7 V–5.5 V), I2C, 2 UARTs, 16 MB address range EVENT INTERRUPTS FLAG BIT VECTOR ADDRESS ENABLE BIT INTERRUPT PRIORITY ARBITRATION RANKING External Interrupt 0 IE0 0080–0083 EX0 IPA0.2–0 (PX0) 2 Timer 0 Interrupt TF0 0084–0087 ET0 IPA0.6–4 (PT0) 3 DESCRIPTION External Interrupt 1 IE1 0088–008B EX1 IPA1.2–0 (PX1) 4 Timer 1 Interrupt TF1 008C–008F ET1 IPA1.6–4 (PT1) 5 Timer 2 Interrupt TF2 (EXF2) 0090–0093 ET2 IPA2.2–0 (PT2) 6 PCA Interrupt CCF0–CCF4, CF 0094–0097 EPC IPA2.6–4 (PPC) 7 A/D Interrupt ADINT 0098–009B EAD IPA3.2–0 (PAD) 8 Serial Port 0 Rx RI_0 00A0–00A3 ERI0 IPA4.2–0 (PRI0) 9 Serial Port 0 Tx TI_0 00A4–00A7 ETI0 IPA4.6–4 (PTI0) 10 Serial Port 1 Rx RI_1 00A8–00AB ERI1 IPA5.2–0 (PRI1) 11 Serial Port 1 Tx TI_1 00AC–00AF ETI1 IPA5.6–4 (PTI1) 12 PCA channel 0 CCF0 00C0–00C3 EC0 IPB0.2–0 (PC0) 17 PCA channel 1 CCF1 00C4–00C7 EC1 IPB0.6–4 (PC1) 18 PCA channel 2 CCF2 00C8–00CB EC2 IPB1.2–0 (PC2) 19 PCA channel 3 CCF3 00CC–00CF EC3 IPB1.6–4 (PC3) 20 PCA channel 4 CCF4 00D0–00D3 EC4 IPB2.2–0 (PC4) 21 SI 00D4–00D7 EI2 IPB2.6–4 (PI2) 22 I2C Interrupt SOFTWARE INTERRUPTS FLAG BIT VECTOR ADDRESS ENABLE BIT INTERRUPT PRIORITY Software Interrupt 1 DESCRIPTION SWR1 0100–0103 SWE1 (fixed at 1) Software Interrupt 2 SWR2 0104–0107 SWE2 (fixed at 2) Software Interrupt 3 SWR3 0108–010B SWE3 (fixed at 3) Software Interrupt 4 SWR4 010C–010F SWE4 (fixed at 4) Software Interrupt 5 SWR5 0110–0113 SWE5 (fixed at 5) Software Interrupt 6 SWR6 0114–0117 SWE6 (fixed at 6) Software Interrupt 7 SWR7 0118–011B SWE7 (fixed at 7) 2000 Mar 09 33 Philips Semiconductors Preliminary specification XA 16-bit microcontroller XA-S3 32K/1K OTP/ROM/ROMless, 8-channel 8-bit A/D, low voltage (2.7 V–5.5 V), I2C, 2 UARTs, 16 MB address range ABSOLUTE MAXIMUM RATINGS PARAMETER RATING UNIT Operating temperature under bias –55 to +125 °C Storage temperature range –65 to +150 °C 0 to +13.0 V Voltage on EA/VPP pin to VSS Voltage on any other pin to VSS –0.5 to VDD+0.5 V V Maximum IOL per I/O pin 15 mA Power dissipation (based on package heat transfer, not device power consumption) 1.5 W DC ELECTRICAL CHARACTERISTICS VDD = 2.7 V to 5.5 V, unless otherwise specified. Tamb = 0 to +70°C for commercial, Tamb = –40°C to +85°C for industrial, unless otherwise specified. LIMITS SYMBOL PARAMETER TEST CONDITIONS MIN IDD Power supply current, operating 5.0 V, 30 MHz IID Power supply current, Idle mode 5.0 V, 30 MHz IPD Power supply current, Power Down mode VRAM RAM keep-alive voltage 1.5 VIL Input low voltage –0.5 VIH Input high voltage, except XTAL1, RST 5.0 V, 3.0 V TYP 5 5.0 V, 3.0 V, –40 to +85°C MAX UNIT 80 mA 35 mA 100 µA 150 µA V 0.22 VDD V VDD = 5.0 V 2.2 V VDD = 3.0 V 2.0 V For both 3.0 V and 5.0 V 0.7 VDD VIH1 Input high voltage to XTAL1, RST VOL Output low voltage, all ports, ALE, PSEN4, CLKOUT IOL = 3.2 mA, VDD = 5.0 V VOH1 Output high voltage, all ports, ALE, PSEN2, CLKOUT IOH = –100 µA, VDD = 4.5 V 2.4 V IOH = –30 µA, VDD = 2.7 V 2.0 V IOH = –3.2 mA, VDD = 4.5 V 2.4 V IOH = –1.0 mA, VDD = 2.7 V 2.2 V IOL = 1.0 mA, VDD = 3.0 V VOH2 Output high voltage, all ports ALE, PSEN3, CLKOUT capacitance1 V 0.5 V 0.4 V CIO Input/Output pin 15 pF IIL Logical 0 input current, all ports7 VIN = 0.45 V –50 µA ILI Input leakage current, all ports6 VIN = VIL or VIH ±10 µA ITL Logical 1 to 0 transition current, all ports5 At VDD = 5.5 V –650 µA At VDD = 2.7 V –250 µA NOTES: 1. Maximum 15pF for EA/VPP. 2. Ports in quasi-bidirectional mode with weak pullup (applies to ALE, PSEN only during RESET). 3. Ports in PUSH-PULL mode, both pullup and pulldown assumed to be the same strength. 4. In all output modes. 5. Port pins source a transition current when used in quasi-bidirectional mode and externally driven from 1 to 0. This current is highest when VIN is approximately 2V. 6. Measured with port in high impedance mode. 7. Measured with port in quasi-bidirectional mode. 8. Under steady state (non-transient) conditions, IOL must be externally limited as follows: 15 mA Maximum IOL per port pin: Maximum IOL per 8-bit port: 26 mA 71 mA Maximum total IOL for all outputs: If IOL exceeds the test condition, VOL may exceed the related specification. Pins are not guaranteed to sink current greater than the listed test conditions. 2000 Mar 09 34 Philips Semiconductors Preliminary specification XA 16-bit microcontroller XA-S3 32K/1K OTP/ROM/ROMless, 8-channel 8-bit A/D, low voltage (2.7 V–5.5 V), I2C, 2 UARTs, 16 MB address range 8-BIT MODE A/D CONVERTER DC ELECTRICAL CHARACTERISTICS Tamb = 0 to +70°C for commercial, Tamb = –40 to +85°C for industrial, unless otherwise specified. LIMITS SYMBOL PARAMETER AVDD Analog supply voltage AIDD Analog supply current (operating) AIID Analog supply current (Idle mode) AIPD Analog supply current (Power-Down mode) TEST CONDITIONS UNIT MIN MAX 2.7 3.3 V 2.5 mA 2.5 µA Commercial temperature range 100 µA Industrial temperature range 150 µA Port 5 = 0 to AVDD AVIN Analog input voltage RREF Resistance between VREF+ and VREF– CIA Analog input capacitance 15 pF DLe Differential non-linearity1, 2, 3 ±1 LSB ILe Integral non-linearity1, 4 ±1 LSB ±2.5 LSB ±1 % ±3 LSB ±1 LSB –60 dB error1, 5 OSe Offset Ge Gain error1, 6 error1, 7 Ae Absolute voltage MCTC Channel-to-channel matching Ct Crosstalk between inputs of port8 0 – 100 kHz AVSS –0.2 AVDD +0.2 V 125 225 kΩ NOTES: 1. Conditions: AVREF– = 0 V; AVREF+ = 3.07 V. 2. The differential non-linearity (DLe) is the difference between the actual step width and the ideal step width. See Figure 25. 3. The ADC is monotonic, there are no missing codes. 4. The integral non-linearity (ILe) is the peak difference between the center of the steps of the actual and the ideal transfer curve after appropriate adjustment of gain and offset errors. See Figure 25. 5. The offset error (OSe) is the absolute difference between the straight line which fits the actual transfer curve (after removing gain error), and the straight line which fits the ideal transfer curve. See Figure 25. 6. The gain error (Ge) is the relative difference in percent between the straight line fitting the actual transfer curve (after removing offset error), and the straight line which fits the ideal transfer curve. Gain error is constant at every point on the transfer curve. See Figure 25. 7. The absolute voltage error (Ae) is the maximum difference between the center of the steps of the actual transfer curve of the non-calibrated ADC and the ideal transfer curve. 8. This should be considered when both analog and digital signals are input simultaneously to Port 5. Parameter is guaranteed by design. 2000 Mar 09 35 Philips Semiconductors Preliminary specification XA 16-bit microcontroller XA-S3 32K/1K OTP/ROM/ROMless, 8-channel 8-bit A/D, low voltage (2.7 V–5.5 V), I2C, 2 UARTs, 16 MB address range 10-BIT10 MODE A/D CONVERTER DC ELECTRICAL CHARACTERISTICS Tamb = 0 to +70°C for commercial, Tamb = –40 to +85°C for industrial, unless otherwise specified. LIMITS SYMBOL PARAMETER AVDD Analog supply voltage AIDD Analog supply current (operating) AIID Analog supply current (Idle mode) AIPD Analog supply current (Power-Down mode) AVIN Analog input voltage RREF Resistance between VREF+ and VREF– CIA Analog input capacitance DLe Differential non-linearity1, 2, 3 ILe Integral non-linearity1, 4 Offset Ge Gain error1, 6 MAX 2.7 3.3 V 2.5 mA 2.5 µA Commercial temperature range 100 µA Industrial temperature range 150 µA Port 5 = 0 to AVDD AVDD +0.2 V 125 225 kΩ 15 pF ±1 9 LSB ±2.5 9 LSB 9 ±1 9 ±8 averaging)1, 7 Absolute voltage error (with MCTC Channel-to-channel matching Crosstalk between inputs of AVSS –0.2 ±6 Ae port8 UNIT MIN error1, 5 OSe Ct TEST CONDITIONS 0 – 100 kHz 9 LSB % LSB ±1 LSB –60 dB NOTES: 1. Conditions: AVREF– = 0 V; AVREF+ = 3.07 V. 2. The differential non-linearity (DLe) is the difference between the actual step width and the ideal step width. See Figure 25. 3. The ADC is monotonic, there are no missing codes. 4. The integral non-linearity (ILe) is the peak difference between the center of the steps of the actual and the ideal transfer curve after appropriate adjustment of gain and offset errors. See Figure 25. 5. The offset error (OSe) is the absolute difference between the straight line which fits the actual transfer curve (after removing gain error), and the straight line which fits the ideal transfer curve. See Figure 25. 6. The gain error (Ge) is the relative difference in percent between the straight line fitting the actual transfer curve (after removing offset error), and the straight line which fits the ideal transfer curve. Gain error is constant at every point on the transfer curve. See Figure 25. 7. The absolute voltage error (Ae) is the maximum difference between the center of the steps of the actual transfer curve of the non-calibrated ADC and the ideal transfer curve. 8. This should be considered when both analog and digital signals are input simultaneously to Port 5. Parameter is guaranteed by design. 9. 10-bit mode only. 10. 10-bit mode is only operational up to fC = 20 MHz. 2000 Mar 09 36 Philips Semiconductors Preliminary specification XA 16-bit microcontroller XA-S3 32K/1K OTP/ROM/ROMless, 8-channel 8-bit A/D, low voltage (2.7 V–5.5 V), I2C, 2 UARTs, 16 MB address range Offset error OSe Gain error Ge 255 Full Scale error FSe 254 253 252 251 250 (2) 7 (1) Code Out 6 5 (5) 4 (4) 3 (3) 2 1 1 LSB (ideal) 0 1 2 3 4 5 6 7 250 251 252 253 254 255 256 AVIN (LSBideal) Offset error OSe 1 LSB = AVREF+ – AVREF– 256 (1) Example of an actual transfer curve. (2) The ideal transfer curve. (3) Differential non-linearity (DLe). (4) Integral non-linearity (ILe). (5) Center of a step of the actual transfer curve. SU01010 Figure 25. ADC Conversion Characteristic 2000 Mar 09 37 Philips Semiconductors Preliminary specification XA 16-bit microcontroller XA-S3 32K/1K OTP/ROM/ROMless, 8-channel 8-bit A/D, low voltage (2.7 V–5.5 V), I2C, 2 UARTs, 16 MB address range AC ELECTRICAL CHARACTERISTICS (5 V) VDD = 4.5 V to 5.5 V; Tamb = 0 to +70°C for commercial, Tamb = –40°C to +85°C for industrial. SYMBOL FIGURE LIMITS PARAMETER MIN MAX 0 30 UNIT External Clock fC 32 Oscillator frequency tC 32 Clock period and CPU timing cycle MHz tCHCX 32 tCLCX 32 tCLCH 32 Clock rise time (Note 7) 5 ns tCHCL 32 Clock fall time (Note 7) 5 ns 1/fC ns Clock high-time (Note 7) tC * 0.5 ns Clock low time (Note 7) tC * 0.4 ns Address Cycle tLHLL 26, 28, 30 ALE pulse width (programmable) (V1 * tC) – 6 ns tAVLL 26, 28, 30 Address valid to ALE de-asserted (set-up) (V1 * tC) – 12 ns tLLAX 26, 28, 30 Address hold after ALE de-asserted (tC/2) – 10 ns (V2 * tC) – 10 ns Code Read Cycle tPLPH 26 PSEN pulse width tLLPL 26 ALE de-asserted to PSEN asserted tAVIVA 26 Address valid to instruction valid, ALE cycle (access time) (V3 * tC) – 36 ns tAVIVB 27 Address valid to instruction valid, non-ALE cycle (access time) (V4 * tC) – 29 ns tPLIV 26 PSEN asserted to instruction valid (enable time) (V2 * tC) – 29 ns tPHIX 26 Instruction hold after PSEN de-asserted tPHIZ 26 Bus 3-State after PSEN de-asserted tIXUA 26 Hold time of unlatched part of address after instruction latched (tC/2) – 7 ns 0 ns tC – 8 ns 0 ns (V7 * tC) – 10 ns Data Read Cycle tRLRH 28 RD pulse width tLLRL 28 ALE de-asserted to RD asserted tAVDVA 28 Address valid to data input valid, ALE cycle (access time) (V6 * tC) – 36 ns tAVDVB 29 Address valid to data input valid, non-ALE cycle (access time) (V5 * tC) – 29 ns tRLDV 28 RD low to valid data in (enable time) (V7 * tC) – 29 ns tRHDX 28 Data hold time after RD de–asserted tRHDZ 28 Bus 3-State after RD de-asserted (disable time) tDXUA 28 Hold time of unlatched part of address after data latched (tC/2) – 7 ns 0 ns tC – 8 ns 0 ns Data Write Cycle tWLWH 30 WR pulse width (V8 * tC) – 10 ns tLLWL 30 ALE falling edge to WR asserted (V12 * tC) – 10 ns tQVWX 30 Data valid before WR asserted (data set-up time) (V13 * tC) – 22 ns tWHQX 30 Data hold time after WR de-asserted (Note 6) (V11 * tC) – 5 ns tAVWL 30 Address valid to WR asserted (address set-up time) (Note 5) (V9 * tC) – 22 ns tUAWH 30 Hold time of unlatched part of address after WR is de-asserted (V11 * tC) – 7 ns tWTH 31 WAIT stable after bus strobe (RD, WR, or PSEN) asserted tWTL 31 WAIT hold after bus strobe (RD, WR, or PSEN) asserted Wait Input NOTES ON PAGE 41. 2000 Mar 09 38 (V10 * tC) – 30 (V10 * tC) – 5 ns ns Philips Semiconductors Preliminary specification XA 16-bit microcontroller XA-S3 32K/1K OTP/ROM/ROMless, 8-channel 8-bit A/D, low voltage (2.7 V–5.5 V), I2C, 2 UARTs, 16 MB address range AC ELECTRICAL CHARACTERISTICS (5 V RANGE) (continued) This set of parameters is referenced to the XA-S3 clock output. SYMBOL FIGURE LIMITS PARAMETER MIN MAX UNIT Address Cycle tCHLH 26 CLKOUT rising edge to ALE rising edge – 13 ns tCLLL 26 CLKOUT falling edge to ALE falling edge – 9 ns tCHAV 26 CLKOUT rising edge to address valid – 18 ns tCHAX 26 CLKOUT rising edge to address changing (hold time) 2 – ns Code Read Cycle tCHPL 26 CLKOUT rising edge to PSEN asserted – 14 ns tCHPH 26 CLKOUT rising edge to PSEN de-asserted – 12 ns tIVCH 26 Instruction valid to CLKOUT rising edge (setup time) 20 – ns tCHIX 26 CLKOUT rising edge to instruction changing (hold time) 0 – ns tCHIZ 26 CLKOUT rising edge to Bus 3-State (code read) – tC–8 ns – 12 ns Data Read Cycle tCHRL 28 CLKOUT rising edge to RD asserted tCHRH 28 CLKOUT rising edge to RD de-asserted – 10 ns tDVCH 28 Data valid to CLKOUT rising edge (setup time) 20 – ns tCHDX 28 CLKOUT rising edge to Data changing (hold time) 0 – ns tCHDZ 28 CLKOUT rising edge to Bus 3-State (data read) – tC–8 ns Data Write Cycle tCHWL 30 CLKOUT falling edge to WR asserted – 12 ns tCHWH 30 CLKOUT rising edge to WR de-asserted – 10 ns tQVCH 30 Data valid to CLKOUT rising edge (setup time) 4 – ns tCHQX 30 CLKOUT rising edge to Data changing (hold time) 0 – ns 31 WAIT valid prior to CLKOUT rising edge8 21 4 ns Wait Input tCHWTH NOTES ON PAGE 41. 2000 Mar 09 39 Philips Semiconductors Preliminary specification XA 16-bit microcontroller XA-S3 32K/1K OTP/ROM/ROMless, 8-channel 8-bit A/D, low voltage (2.7 V–5.5 V), I2C, 2 UARTs, 16 MB address range AC ELECTRICAL CHARACTERISTICS (3 V) VDD = 2.7 V to 4.5 V; Tamb = 0 to +70°C for commercial, Tamb = –40°C to +85°C for industrial. SYMBOL FIGURE LIMITS PARAMETER MIN MAX UNIT Address Cycle tLHLL 26, 28, 30 ALE pulse width (programmable) (V1 * tC) – 10 ns tAVLL 26, 28, 30 Address valid to ALE de-asserted (set-up) (V1 * tC) – 18 ns tLLAX 26, 28, 30 Address hold after ALE de-asserted (tC/2) – 12 ns (V2 * tC) – 12 ns Code Read Cycle tPLPH 26 PSEN pulse width tLLPL 26 ALE de-asserted to PSEN asserted tAVIVA 26 Address valid to instruction valid, ALE cycle (access time) (V3 * tC) – 58 ns tAVIVB 27 Address valid to instruction valid, non-ALE cycle (access time) (V4 * tC) – 52 ns tPLIV 26 PSEN asserted to instruction valid (enable time) (V2 * tC) – 52 ns tPHIX 26 Instruction hold after PSEN de-asserted tPHIZ 26 Bus 3-State after PSEN de-asserted tIXUA 26 Hold time of unlatched part of address after instruction latched (tC/2) – 9 ns 0 ns tC – 8 ns 0 ns (V7 * tC) – 12 ns (tC/2) – 9 ns Data Read Cycle tRLRH 28 RD pulse width tLLRL 28 ALE de-asserted to RD asserted tAVDVA 28 Address valid to data input valid, ALE cycle (access time) (V6 * tC) – 58 ns tAVDVB 29 Address valid to data input valid, non-ALE cycle (access time) (V5 * tC) – 52 ns tRLDV 28 RD low to valid data in (enable time) (V7 * tC) – 52 ns tRHDX 28 Data hold time after RD de–asserted tRHDZ 28 Bus 3-State after RD de-asserted (disable time) tDXUA 28 Hold time of unlatched part of address after data latched 0 ns tC – 8 ns 0 ns Data Write Cycle tWLWH 30 WR pulse width (V8 * tC) – 12 ns tLLWL 30 ALE falling edge to WR asserted (V12 * tC) – 10 ns tQVWX 30 Data valid before WR asserted (data set-up time) (V13 * tC) – 28 ns tWHQX 30 Data hold time after WR de-asserted (Note 6) (V11 * tC) – 8 ns tAVWL 30 Address valid to WR asserted (address set-up time) (Note 5) (V9 * tC) – 28 ns tUAWH 30 Hold time of unlatched part of address after WR is de-asserted (V11 * tC) – 10 ns tWTH 31 WAIT stable after bus strobe (RD, WR, or PSEN) asserted tWTL 31 WAIT hold after bus strobe (RD, WR, or PSEN) asserted Wait Input NOTES ON PAGE 41. 2000 Mar 09 40 (V10 * tC) – 40 (V10 * tC) – 5 ns ns Philips Semiconductors Preliminary specification XA 16-bit microcontroller XA-S3 32K/1K OTP/ROM/ROMless, 8-channel 8-bit A/D, low voltage (2.7 V–5.5 V), I2C, 2 UARTs, 16 MB address range AC ELECTRICAL CHARACTERISTICS (3 V RANGE) (continued) This set of parameters is referenced to the XA-S3 clock output. SYMBOL FIGURE LIMITS PARAMETER MIN MAX UNIT Address Cycle tCHLH 26 CLKOUT rising edge to ALE rising edge – 15 ns tCLLL 26 CLKOUT falling edge to ALE falling edge – 11 ns tCHAV 26 CLKOUT rising edge to address valid – 29 ns tCHAX 26 CLKOUT rising edge to address changing (hold time) 2 – ns Code Read Cycle tCHPL 26 CLKOUT rising edge to PSEN asserted – 16 ns tCHPH 26 CLKOUT rising edge to PSEN de-asserted – 15 ns tIVCH 26 Instruction valid to CLKOUT rising edge (setup time) 30 – ns tCHIX 26 CLKOUT rising edge to instruction changing (hold time) 0 – ns tCHIZ 26 CLKOUT rising edge to Bus 3-State (code read) – tC–8 ns – 20 ns Data Read Cycle tCHRL 28 CLKOUT rising edge to RD asserted tCHRH 28 CLKOUT rising edge to RD de-asserted – 16 ns tDVCH 28 Data valid to CLKOUT rising edge (setup time) 28 – ns tCHDX 28 CLKOUT rising edge to Data changing (hold time) 0 – ns tCHDZ 28 CLKOUT rising edge to Bus 3-State (data read) – tC–8 ns Data Write Cycle tCHWL 30 CLKOUT falling edge to WR asserted – 19 ns tCHWH 30 CLKOUT rising edge to WR de-asserted – 16 ns tQVCH 30 Data valid to CLKOUT rising edge (setup time) 4 – ns tCHQX 30 CLKOUT rising edge to Data changing (hold time) 0 – ns 31 WAIT valid prior to CLKOUT rising edge8 30 4 ns Wait Input tCHWTH NOTES: 1. Load capacitance for all outputs = 50 pF. 2. Variables V1 through V13 reflect programmable bus timing, which is programmed via the Bus Timing registers (BTRH and BTRL). Refer to the XA User Guide for details of the bus timing settings. V1) This variable represents the programmed width of the ALE pulse as determined by the ALEW bit in the BTRL register. V1 = 0.5 if the ALEW bit = 0, and 1.5 if the ALEW bit = 1. V2) This variable represents the programmed width of the PSEN pulse as determined by the CR1 and CR0 bits or the CRA1, CRA0, and ALEW bits in the BTRL register. – For a bus cycle with no ALE, V2 = 1 if CR1/0 = 00, 2 if CR1/0 = 01, 3 if CR1/0 = 10, and 4 if CR1/0 = 11. Note that during burst mode code fetches, PSEN does not exhibit transitions at the boundaries of bus cycles. V2 still applies for the purpose of determining peripheral timing requirements. – For a bus cycle with an ALE, V2 = the total bus cycle duration (2 if CRA1/0 = 00, 3 if CRA1/0 = 01, 4 if CRA1/0 = 10, and 5 if CRA1/0 = 11) minus the number of clocks used by ALE (V1 + 0.5) = 2. Example: if CRA1/0 = 10 and ALEW = 1, the V2 = 4 – (1.5 + 0.5) = 2. V3) This variable represents the programmed length of an entire code read cycle with ALE. This time is determined by the CRA1 and CRA0 bits in the BTRL register. V3 = the total bus cycle duration (2 if CRA1/0 = 00, 3 if CRA1/0 = 01, 4 if CRA1/0 = 10, and 5 if CRA1/0 = 11). V4) This variable represents the programmed length of an entire code read cycle with no ALE. This time is determined by the CR1 and CR0 bits in the BTRL register. V4 = 1 if CR1/0 = 00, 2 if CR1/0 = 01, 3 if CR1/0 = 10, and 4 if CR1/0 = 11. V5) This variable represents the programmed length of an entire data read cycle with no ALE. This time is determined by the DR1 and DR0 bits in the BTRH register. V5 = 1 if DR1/0 = 00, 2 if DR1/0 = 01, 3 if DR1/0 = 10, and 4 if DR1/0 = 11. V6) This variable represents the programmed length of an entire data read cycle with ALE. The time is determined by the DRA1 and DRA0 bits in the BTRH register. V6 = the total bus cycle duration (2 if DRA1/0 = 00, 3 if DRA1/0 = 01, 4 if DRA1/0 = 10, and 5 if DRA1/0 = 11). 2000 Mar 09 41 Philips Semiconductors Preliminary specification XA 16-bit microcontroller 32K/1K OTP/ROM/ROMless, 8-channel 8-bit A/D, low voltage (2.7 V–5.5 V), I2C, 2 UARTs, 16 MB address range This variable represents the programmed width of the RD pulse as determined by the DR1 and DR0 bits or the DRA1, DRA0 in the BTRH register, and the SLEW bit in the BTRL register. Note that during a 16-bit operation on an 8-bit external bus, RD remains low and does not exhibit a transition between the first and second byte bus cycles. V7 still applies for the purpose of determining peripheral timing requirements. The timing for the first byte is for a bus cycle with ALE, the timing for the second byte is for a bus cycle with no ALE. – For a bus cycle with no ALE, V7 = 1 if DR1/0 = 00, 2 if DR1/0 = 01, 3 if DR1/0 = 10, and 4 if DR1/0 = 11. – For a bus cycle with an ALE, V7 = the total bus cycle duration (2 if DRA1/0 = 00, 3 if DRA1/0 = 01, 4 if DRA1/0 = 10, and 5 if DRA1/0 = 11) minus the number of clocks used by ALE (V1 + 0.5). Example: if DRA1/0 = 00 and ALEW = 0, then V7 = 2 – (0.5 +0.5) = 1. V8) This variable represents the programmed width of the WRL and/or WRH pulse as determined by the WM1 bit in the BTRL register. V8 = 1 if WM1 = 0, and 2 if WM1 = 1. V9) This variable represents the programmed address setup time for a write as determined by the data write cycle duration (defined by DW1 and DW0 or the DWA1 and DWA0 bits in the BTRH register), the WM0 bit in the BTRL register, and the value of V8. – For a bus cycle with an ALE, V9 = the total bus write cycle duration (2 if DWA1/0 = 00, 3 if DWA1/0 = 01, 4 if DWA1/0 = 10, and 5 if DWA1/0 = 11) minus the number of clocks used by the WRL and/or WRH pulse (V8) minus the number of clocks used by data hold time (0 if WM0 = 0 and 1 if WM0 = 1). Example: If DWA1/0 = 10, WM0 = 1, and WM1 = 1, then V9 = 4 – 1 – 2 = 1. – For a bus cycle with no ALE, V9 = the total bus cycle duration (2 if DW1/0 = 00, 3 if DW1/0 = 01, 4 if DW1/0 = 10, and 5 if DW1/0 = 11) minus the number of clocks used by the WRL and/or WRH pulse (V8), minus the number of clocks used by data hold time (0 if WMo = 0 and 1 if WM0 = 1). Example: If DW1/0 = 11, WM0 = 1, and WM1 = 0, then V9 = 5 – 1 – 1 = 3. V10) This variable represents the length of a bus strobe for calculation of WAIT set-up and hold times. The strobe may be RD (for data read cycles), WRL and/or WRH (for data write cycles), or PSEN (for code read cycles), depending on the type of bus cycle being widened by WAIT. V10 = 2 for WAIT associated with a code read cycle using PSEN. V10 = V8 for a data write cycle using WRL and/or WRH. V10 = V7 – 1 for a data read cycle using RD. This means that a single clock data read cycle cannot be stretched using WAIT. If WAIT is used to vary the duration of data read cycles, the RD strobe width must be set to be at least two clocks in duration. Also see Note 4. V11) This variable represents the programmed write hold time as determined by the WM0 bit in the BTRL register. V11 0 if the WM0 bit = 0, and 1 if the WM0 bit = 1. V12) this variable represents the programmed period between the end of the ALE pulse and the beginning of the WRL and/or WRH pulse as determined by the data write cycle duration (defined by the DWA1 and DWA0 bits in the BTRH register), the WM0 bit in the BTRL register, and the values of V1 and V8. V12 = the total bus cycle duration (2 if DWA1/0 = 00, 3 if DWA1/0 = 01, 4 if DWA1/0 = 10, and 5 if DWA1/0 = 11) minus the number of clocks used by the WRL and/or WRH pulse (V8), minus the number of clocks used by data hold time (0 if WM0 = 0 and 1 if WM0 = 1), minus the width of the ALE pulse (V1). Example: If SWA1/0 = 11, WM0 = 1, WM1 = 0, and ALEW = 1, then V12 = 5 – 1 – 1 – 1.5 = 1.5. V13) This variable represents the programmed data setup time for a write as determined by the data write cycle duration (defined by DW1 and DW0 or the DWA1 and DWA0 bits in the BTRH register), the WM0 bit in the BTRL register, and the values of V1 and V8. – For a bus cycle with an ALE, V13 = the total bus cycle duration (2 if DWA1/0 = 00, 3 if DWA1/0 = 01, 4 if DWA1/0 = 10, and 5 if DWA1/0 = 11) minus the number of clocks used by the WRL and/or WRH pulse (V8), minus the number of clocks used by data hold time (0 if WM0 = 0 and 1 if WM0 = 1), minus the number of clocks used by ALE (V1 + 0.5). Example: If DWA1/0 = 11, WM0 = 1, WM1 = 1, and ALEW = 0, then V13 = 5 – 1 – 2 – 1 = 1. – For a bus cycle with no ALE, V13 = the total bus cycle duration (2 if DW1/0 = 00, 3 if DW1/0 = 01, 4 if DW1/0 = 10, and 5 if DW1/0 = 11) minus the number of clocks used by the WRL and/or WRH pulse (V8), minus the number of clocks used by data hold time (0 if WM0 = 0 and 1 if WM0 = 1). Example: If DW1/0 = 01, WM0 = 1, and WM1 = 0, then V13 = 3 – 1 – 1 = 1. Not all combinations of bus timing configuration values result in valid bus cycles. Please refer to the XA User Guide section on the External Bus for details. When code is being fetched for execution on the external bus, a burst mode fetch is used that dows not have PSEN edges in every fetch cycle. This would be A3–A0 for an 8-bit bus, and A3–A1 for a 16-bit bus. Also, a 16-bit read operation conducted on an 8-bit wide bus similarly does not include two separate RD strobes. So, a rising edge on the low order address line (A0) must be used to trigger a WAIT in the second half of such a cycle. This parameter is provided for peripherals that have the data clocked in on the falling edge of the WR strobe. This is not usually the case and in most applications this parameter is not used. Please note that the XA-S3 requires that extended data bus hold time (WM0 = 1) to be used with external bus write cycles. Applies only to an external clock source, not when a crystal is connected to the XTAL1 and XTAL2 pins. WAIT should not change between these times. V7) 3. 4. 5. 6. 7. 8. XA-S3 2000 Mar 09 42 Philips Semiconductors Preliminary specification XA 16-bit microcontroller XA-S3 32K/1K OTP/ROM/ROMless, 8-channel 8-bit A/D, low voltage (2.7 V–5.5 V), I2C, 2 UARTs, 16 MB address range AC WAVEFORMS CLKOUT tCHLH tCLLL tCHPL tCHPH tLHLL ALE tCHAX tCHAV tPHIZ tCHIZ tPLPH tLLPL PSEN tIVCH tAVLL Multiplexed Address and Data tLLAX tPLIV A4–A11 or A4–A23 tCHIX tPHIX INSTR IN* tIXUA tAVIVA Unmultiplexed Address A0 or A1–A3, A12–A23 *INSTR IN is either D0–D7 or D0–D15, depending on the bus width (8 or 16 bits). SU00943A Figure 26. External Program Memory Read Cycle (ALE Cycle) PSEN Multiplexed Address and Data INSTR IN* tAVIVB Unmultiplexed Address A0 or A1–A3, A12–A23 *INSTR IN is either D0–D7 or D0–D15, depending on the bus width (8 or 16 bits). Figure 27. External Program Memory Read Cycle (Non-ALE Cycle) 2000 Mar 09 43 SU00949 Philips Semiconductors Preliminary specification XA 16-bit microcontroller XA-S3 32K/1K OTP/ROM/ROMless, 8-channel 8-bit A/D, low voltage (2.7 V–5.5 V), I2C, 2 UARTs, 16 MB address range CLKOUT tCHRL tCHRH tLHLL ALE tRHDZ tCHDZ tRLRH tLLRL RD tDVCH tAVLL Multiplexed Address and Data tLLAX tRLDV A4–A11 or A4–A23 tCHDX tRHDX DATA IN* tDXUA tAVDVA Unmultiplexed Address A0 or A1–A3, A12–A23 *DATA IN is either D0–D7 or D0–D15, depending on the bus width (8 or 16 bits). SU00944 Figure 28. External Data Memory Read Cycle (ALE Cycle) RD Multiplexed Address and Data D0–D7 tAVDVB Unmultiplexed Address A0–A3, A12–A23 SU00950A Figure 29. External Data Memory Read Cycle (Non-ALE Cycle) 2000 Mar 09 44 Philips Semiconductors Preliminary specification XA 16-bit microcontroller XA-S3 32K/1K OTP/ROM/ROMless, 8-channel 8-bit A/D, low voltage (2.7 V–5.5 V), I2C, 2 UARTs, 16 MB address range CLKOUT tCHWL tCHWH tCHQZ ALE tLLWL tWLWH tCHQX tWHQX WR tAVLL Multiplexed Address and Data tQVWX tLLAX tQVCH A4–A11 or A4–A23 DATA OUT* tUAWH tAVWL Unmultiplexed Address A0 or A1–A3, A12–A23 *DATA OUT is either D0–D7 or D0–D15, depending on the bus width (8 or 16 bits). SU00945 Figure 30. External Data Memory Write Cycle XTAL1 tCRAR ALE ADDRESS BUS WAIT tCHWTH tCHWTL BUS STROBE (WRL, WRH, RD, OR PSEN) tWTH tWTL (The dashed line shows the strobe without WAIT.) SU01068 Figure 31. WAIT Signal Timing 2000 Mar 09 45 Philips Semiconductors Preliminary specification XA 16-bit microcontroller XA-S3 32K/1K OTP/ROM/ROMless, 8-channel 8-bit A/D, low voltage (2.7 V–5.5 V), I2C, 2 UARTs, 16 MB address range VDD–0.5 0.7VDD 0.2VDD–0.1 0.45V tCHCL tCHCX tCLCH tCLCX tC SU00842 Figure 32. External Clock Drive VDD–0.5 0.2VDD+0.9 0.2VDD–0.1 0.45V NOTE: AC inputs during testing are driven at VDD –0.5 for a logic ‘1’ and 0.45V for a logic ‘0’. Timing measurements are made at the 50% point of transitions. SU00703A Figure 33. AC Testing Input/Output VLOAD+0.1V VOH–0.1V TIMING REFERENCE POINTS VLOAD VLOAD–0.1V VOL+0.1V NOTE: For timing purposes, a port is no longer floating when a 100mV change from load voltage occurs, and begins to float when a 100mV change from the loaded VOH/VOL level occurs. IOH/IOL ≥ ±20mA. SU00011 Figure 34. Float Waveform VDD VDD VDD VDD RST VDD RST EA EA (NC) XTAL2 (NC) XTAL2 CLOCK SIGNAL XTAL1 CLOCK SIGNAL XTAL1 VSS VSS SU00591B SU00590B Figure 35. IDD Test Condition, Active Mode All other pins are disconnected 2000 Mar 09 Figure 36. IDD Test Condition, Idle Mode All other pins are disconnected 46 Philips Semiconductors Preliminary specification XA 16-bit microcontroller XA-S3 32K/1K OTP/ROM/ROMless, 8-channel 8-bit A/D, low voltage (2.7 V–5.5 V), I2C, 2 UARTs, 16 MB address range 90 Max. IDD (Active) 80 70 mA 60 Typical IDD (Active) 50 40 Max. IDD (Idle) 30 Typical IDD (Idle) 20 10 0 0 5 10 15 20 25 Frequency (MHz) SU01228 Figure 37. IDD vs. Frequency Valid only within frequency specification of the device under test. VDD–0.5 0.7VDD 0.2VDD–0.1 0.45V tCHCL tCHCX tCLCH tCLCX tCL SU00608A Figure 38. Clock Signal Waveform for IDD Tests in Active and Idle Modes tCLCH = tCHCL = 5ns VDD VDD VDD RST EA (NC) XTAL2 XTAL1 VSS SU00585A Figure 39. IDD Test Condition, Power Down Mode All other pins are disconnected. VDD=2V to 5.5V 2000 Mar 09 47 30 Philips Semiconductors Preliminary specification XA 16-bit microcontroller XA-S3 32K/1K OTP/ROM/ROMless, 8-channel 8-bit A/D, low voltage (2.7 V–5.5 V), I2C, 2 UARTs, 16 MB address range EPROM CHARACTERISTICS Security Bits The XA-S3 is programmed by using a modified Improved Quick-Pulse Programming algorithm. This algorithm is essentially the same as that used by 80C51 family EPROM parts. However different pins are used for many programming functions. With none of the security bits programmed the code in the program memory can be verified. When only security bit 1 is programmed, MOVC instructions executed from external program memory are disabled from fetching code bytes from the internal memory. All further programming of the EPROM is disabled. When security bits 1 and 2 are programmed, in addition to the above, verify mode is disabled. When all three security bits are programmed, all of the conditions above apply and all external program memory execution is disabled. (See Table 6.) Detailed EPROM programming information may be obtained from the Internet at www.philipsmcu.com/ftp.html. The XA-S3 contains three signature bytes that can be read and used by an EPROM programming system to identify the device. The signature bytes identify the device as an XA-S3 manufactured by Philips. Table 6. Program Security Bits PROGRAM LOCK BITS SB1 SB2 SB3 PROTECTION DESCRIPTION 1 U U U No Program Security features enabled. 2 P U U MOVC instructions executed from external program memory are disabled from fetching code bytes from internal memory and further programming of the EPROM is disabled. 3 P P U Same as 2, also verify is disabled. 4 P P P Same as 3, external execution is disabled. Internal data RAM is not accessible. NOTES: 1. P – programmed. U – unprogrammed. 2. Any other combination of the security bits is not defined. ROM CODE SUBMISSION When submitting ROM code for the XA-S3, the following must be specified: 1. 32k byte user ROM data 2. ROM security bits. ADDRESS CONTENT BIT(S) COMMENT 0000H to 7FFFH DATA 7:0 User ROM Data 8020H SEC 0 ROM Security Bit 1 8020H SEC 1 ROM Security Bit 2 0 = enable security 1 = disable security 8020H SEC 3 ROM Security Bit 3 0 = enable security 1 = disable security Trademark phrase of Intel Corporation. 2000 Mar 09 48 Philips Semiconductors Preliminary specification XA 16-bit microcontroller 32K/1K OTP/ROM/ROMless, 8-channel 8-bit A/D, low voltage (2.7 V–5.5 V), I2C, 2 UARTs, 16 MB address range PLCC68: plastic leaded chip carrier; 68 leads; pedestal 2000 Mar 09 49 XA-S3 SOT188-3 Philips Semiconductors Preliminary specification XA 16-bit microcontroller 32K/1K OTP/ROM/ROMless, 8-channel 8-bit A/D, low voltage (2.7 V–5.5 V), I2C, 2 UARTs, 16 MB address range LQFP80: plastic low profile quad flat package; 80 leads; body 12 x 12 x 1.4 mm 2000 Mar 09 50 XA-S3 SOT315-1 Philips Semiconductors Preliminary specification XA 16-bit microcontroller 32K/1K OTP/ROM/ROMless, 8-channel 8-bit A/D, low voltage (2.7 V–5.5 V), I2C, 2 UARTs, 16 MB address range NOTES 2000 Mar 09 51 XA-S3 Philips Semiconductors Preliminary specification XA 16-bit microcontroller XA-S3 32K/1K OTP/ROM/ROMless, 8-channel 8-bit A/D, low voltage (2.7 V–5.5 V), I2C, 2 UARTs, 16 MB address range Data sheet status Data sheet status Product status Definition [1] Objective specification Development This data sheet contains the design target or goal specifications for product development. Specification may change in any manner without notice. Preliminary specification Qualification This data sheet contains preliminary data, and supplementary data will be published at a later date. Philips Semiconductors reserves the right to make changes at any time without notice in order to improve design and supply the best possible product. Product specification Production This data sheet contains final specifications. Philips Semiconductors reserves the right to make changes at any time without notice in order to improve design and supply the best possible product. [1] Please consult the most recently issued datasheet before initiating or completing a design. Definitions Short-form specification — The data in a short-form specification is extracted from a full data sheet with the same type number and title. For detailed information see the relevant data sheet or data handbook. Limiting values definition — Limiting values given are in accordance with the Absolute Maximum Rating System (IEC 134). Stress above one or more of the limiting values may cause permanent damage to the device. These are stress ratings only and operation of the device at these or at any other conditions above those given in the Characteristics sections of the specification is not implied. Exposure to limiting values for extended periods may affect device reliability. Application information — Applications that are described herein for any of these products are for illustrative purposes only. Philips Semiconductors make no representation or warranty that such applications will be suitable for the specified use without further testing or modification. Disclaimers Life support — These products are not designed for use in life support appliances, devices or systems where malfunction of these products can reasonably be expected to result in personal injury. Philips Semiconductors customers using or selling these products for use in such applications do so at their own risk and agree to fully indemnify Philips Semiconductors for any damages resulting from such application. Right to make changes — Philips Semiconductors reserves the right to make changes, without notice, in the products, including circuits, standard cells, and/or software, described or contained herein in order to improve design and/or performance. Philips Semiconductors assumes no responsibility or liability for the use of any of these products, conveys no license or title under any patent, copyright, or mask work right to these products, and makes no representations or warranties that these products are free from patent, copyright, or mask work right infringement, unless otherwise specified. Copyright Philips Electronics North America Corporation 2000 All rights reserved. Printed in U.S.A. Philips Semiconductors 811 East Arques Avenue P.O. Box 3409 Sunnyvale, California 94088–3409 Telephone 800-234-7381 Date of release: 03-00 Document order number: 2000 Mar 09 52 9397 750 06948