UCB1500 is a PCI-to-AC97 Bridge/Host Controller for modem or audio codecs
equipped with the AC-link interface. It integrates a PCI 2.2 compliant interface for
communication with the host PC, with built in support for PPMI (PCI Power
Management Interface) and wake-up. It also integrates an AC97 Rev. 2.1 compliant
host controller for connection to up to two AC-Link codecs, including analog modem
front ends such as the Philips UCB1510, and audio codecs.
Optional
EEPROM
c
c
PCI Interface
UCB1500
Host PC
Fig 1. Application with Philips UCB1510 analog modem front end
2.Features
■ 32-bit PCI 2.2 interface with bus master support
◆ Support up to two PCI functions with independent scatter/gather DMA
◆ PPMI and wake-up support via PME and V
◆ Download of subsystem IDs and auxiliary power consumption via optional
serial EEPROM
◆ 5 V tolerant interface for motherboard/PC add-on
slave mode: output only during data read phase.
master mode: output during address phase and data write phase.
49, 50, 52, 54, 55,
56, 57, 59, 60, 62
CBE[3:0]14, 28, 39, 51T/SPCI command/byte-enable, input during slave, output during master.
PAR38T/SPCI parity.
INTA77O/D
PME63O/DOpen drain, V
[2]
PCI interrupt.
pins are V
powered PCI power management pin. SDA TAIN[1:0]
AUX
powered and can trigger PME.
AUX
SERR36O/DPCI system error
PERR35S/T/SPCI parity error
CLKRUN78S/T/SPrimary PCI bus clock run. Used by the central resource to stop the PCI
clock or to slow it down
AC link controller interface
BITCLK75ISerial data clock; or input for secondary codecs.
SDATAIN[1:0] 65. 64IInput from AC97/MC97 codecs. V
SDATAOUT70OOutput to AC97/MC97 codecs. Driven to 0 at power-up or when
powered and can trigger PME.
AUX
RST
asserted.
SYNC71OAC97 sync. Driven to 0 at power-up or when
AC97_RST66OAC97 reset. Driven to 0 at power-up or when RST asserted. V
RST asserted.
AUX
powered.
Serial EEPROM interface
EEPCLK73OEEPROM clock.
EEPD74I/OEEPROM serial data port.
Power management; miscellaneous
_AV69IAuxiliary power available, V
V
AUX
powered.
AUX
TEST79ITest mode.
Power pins
V
DD
1, 11, 22, 27, 37,
S3.3 V power pins.
43, 53, 61
V
SS
6, 16, 21, 32, 40,
SGround pins.
48, 58, 72, 76
V
AUX
67SAuxiliary power. If auxiliary power is not available or not necessary, this pin
must be connected to V
DD
.
[1] S/T/S: Sustained Tri-State is an active-LOW tri-state signal owned anddriven by one agent at a time. The agent that drives an S/T/S pin
LOW must drive it HIGH for at least one clock before letting it float. A new agent cannot start driving a S/T/S signal any sooner than one
clock after the previous owner tri-states it.
[2] O/D: Open Drain allows multiple devices to share as a wired OR.
9397 750 06854
Objective specificationRev. 01 — 4 February 20004 of 58
By default, UCB1500 supports a single modem function. Under control of BIOS or an
external serial EEPROM, UCB1500 can support a maximum of two PCI functions,
which are typically one modem plus one audio functions. To allow IHV to overwrite
parameters such as Device ID, Vendor ID, Subsystem Vendor ID, Subsystem ID,
Class Code and Power Management Capabilities, UCB1500 provides two schemes:
For each function, Device ID, Vendor ID, Subsystem Vendor ID, Subsystem ID,
•
Class Code and Power Management Capabilities are placed in a dedicated PCI
configuration read/write area accessible by the corresponding function. An enable
bit for Function 1 is placed in a dedicated read/write area accessible byFunction 0.
This allows IHVs to enable Function 1 and change the corresponding read-only
parameters of Functions 0 and 1 (if enabled) in the BIOS POST routine when
UCB1500 is used as a motherboard device.
In case UCB1500 is used as a PCI card which BIOS cannot control, the above
•
parameters, together with Function 1 enable, can be changed by the external
serial EEPROM.
UCB1500
PCI to AC97 bridge/host controller
The EEPROM data map is given in Table 3.
Table 3:EEPROM data map
Byte addressTagDescription
00-01hsignature1516h = valid signature, otherwise disable autoloading.
02-03hcontrolBit 0: 1=enable function 1, 0=disable function 1
Bit 1: 1=enable function 0 auto-loading from address 04-9Dh
Bit 2: 1=enable function 0 auto-loading from address 0A-11h
Bit 3: 1=enable function 1 auto-loading from address 10-17h
Bit 4: 1=enable function 1 auto-loading from address 18-1Fh
Other bits: reserved and must be 0s.
04-05hsub_vendorIDFunction 0 subsystem vendor ID, PCI configuration space address 2C-2Dh.
06-07hsubsystemIDFunction 0 subsystem ID, PCI configuration space address 2E-2Fh.
08-09hpmcFunction 0 power management capabilities, PCI configuration space address 82h.
0A-0BhvendorIDFunction 0 vendor ID, PCI configuration space address 00-01h.
0C-0DhdeviceIDFunction 0 device ID, PCI configuration space address 02-03h.
0Eh--Reserved.
0F-11hclassCodeFunction 0 Class Code, PCI configuration space address 09-0Bh.
12-13hsub_vendorIDFunction 1 subsystem vendor ID, PCI configuration space address 2C-2Dh.
14-15hsubsystemIDFunction 1 subsystem ID, PCI configuration space address 2E-2Fh.
16-17hpmcFunction 1 power management capabilities, PCI configuration space offset 82h.
18-19hvendorIDFunction 1 vendor ID, PCI configuration space address 00-01h.
1A-1BhdeviceIDFunction 1 device ID, PCI configuration space address 02-03h.
1Ch--Reserved.
1D-1FhclassCodeFunction 1 Class Code, PCI configuration space address 09-0Bh.
9397 750 06854
Objective specificationRev. 01 — 4 February 20005 of 58
UCB1500 supports the PCI configuration cycle to control the UCB1500 access. It
sets up the PCI configuration bits and the UCB1500 IO port address. The following
table shows the supported PCI registers and their default values. Some of the
registers are programmable through the EEPROM interface (See EEPROM section
for details).
Remark: All registers are read/write, unless specified otherwise. Shaded registers
are read-only. A register with (S) means it is powered by V
sticky or otherwise stated, all read/write registers defaults to zero at PCI reset. All
reserved or unimplemented registers are hardwired to 0.
Table 4:Function 0 configuration registers
31-2423-1615-87-0Address
Device ID = 3400
Modified by BIOS via writing to 42h or EEPROM auto
loading
Status = 0290Command = 000004h
Class Code = 070300
Simple communication controller, generic modem.
Modified by BIOS via writing to 45h or EEPROM auto loading.
BIST = 00Header Type
If multifunction,
header type = 80h,
otherwise 00h
I/O port Base Address [31:16]
Hardwired to 0000h
Reserved.14h-2Bh
Subsystem ID = 3400
Modified by BIOS via writing to 6Eh or EEPROM auto
loading
Reserved30h
Reserved
Reserved38h
Reserved
Device ID Write = 3400Vendor ID Write = 113140h
Class Code Write = 070300
ReservedEEPROM Status =0048h
Reserved4C-4Fh
Reserved
Reserved54-67h
PMC Write = C801Reserved68h
Vendor ID = 1131
Modified by BIOS via writing to 40h or EEPROM auto
loading
Revision ID = 0108h
Latency Timer = 00Cache Line Size = 000Ch
I/O port Base Address[15:0] = 000110h
Subsystem Vendor ID = 1131
Modified by BIOS via writing to 6Ch or EEPROM auto
loading
Capability Pointer = 8034h
Interrupt Pin = 01Interrupt Line = 003Ch
Revision ID = 0144h
Test Register = 0050
and is sticky. Unless
AUX
00h
2Ch
9397 750 06854
Objective specificationRev. 01 — 4 February 20006 of 58
31-2423-1615-87-0Address
Subsystem ID Write = 3400Subsystem Vendor ID Write = 11316Ch
Reserved70-7Fh
PMC =
4801 (V
C801 (V
Modified by BIOS via writing to 6Ah, or EEPROM
autoloading to PCI-PM1.1
ReservedPMCSR = 0000 (S)84h
= 0, no autoload)
AUX_AV
= 1, no autoload)
AUX_AV
…continued
Next Item Per = 00Capability ID = 0180h
[01-00]: Vendor ID (read only): Programmable through EEPROM interface, or
register 40h. Default value = 1131h
[03-02]: Device ID (read only): Programmable through EEPROM interface, or
register 42h. Default value = 3400h
[05-04]: Command Register
Table 5:Command Register bit description
BitDescription
15-10Reserved.
9(r)Fast Back-to-back Transactions
Always 0, fast back-to-back transactions is not supported.
8
7(r)Address/Data Stepping
6Parity Error Response
5(r)VGA Snooping
4(r)Memory Write and Invalidate Command
3(r)Special Cycle Response
2Bus Master Control
1(r)Memory Space Response
0I/O Space Control
SERR enable
If set,
SERR driver is enabled; if 0, SERR is disabled.
Always 0, address/data stepping is not implemented.
When set, the device must take its normal action when a parity error is detected.
If this bit is 0, the devicemust ignore any parity errors that it detects and continue
normal operation.
Always 0, not implemented.
Always 0, UCB1500 does not generate memory write and invalidate command.
Always 0, UCB1500 ignores all special cycles.
PCI Master access enable; this bit must be enabled to activate UCB1500 DMA
register.
1 = enable.
Always 0, UCB1500 does not respond to memory space accesses.
UCB1500 control register I/O space access enable.
1 = enable.
9397 750 06854
Objective specificationRev. 01 — 4 February 20007 of 58
[6A-6B]: Power Management capabilities Write: This register contains a copy of
the Power Management capabilities register. Writing to this register will update the
original Power Management capabilities register (offset 82h-83h).
[6C-6F]: Subsystem-ID Write / Vendor ID Write: This register contains a copy of
the Subsystem-ID/Vendor ID register. Writing to this register will update the original
Subsystem-ID/Vendor ID registers (offset 2Ch-2Fh).
[80]: Capability Identifier (read only): This register is set to 01h to indicate power
management interface registers.
UCB1500
PCI to AC97 bridge/host controller
If set, chip operates under test mode. If ‘0’, chip operates normally.
If set, EEPROM autoload is disabled. If `0', EEPROM autoload sequence
operates as normal, depending on the EEPROM signature. This bit is for testing
only.
[81]: Next Item Pointer (read only): This field provides an offset into the function's
PCI Configuration Space pointing to the location of next item in the function's
capability list. This register is set to zero, signifying that there are no additional items
in the capability list.
9397 750 06854
Objective specificationRev. 01 — 4 February 200010 of 58
Table 12: Power Management Capabilities register bit description
Read only
BitDescription
15-11(r)PME support
10(r)D2 support
9(r)D1 support
8-6(r)Aux_Current
5(r)DSI
4(r)Reserved.
3(r)PME Clock
2:0(r)Version
UCB1500
PCI to AC97 bridge/host controller
This 5-bit field indicates the power states in which the function may assert
Value is set to 11001 b if V
D3cold and D0. If V
AUX_AV
= 1 to indicate PME can be asserted from
AUX_AV
= 0, this field is set to 01001b to indicate PME can be
asserted from D3hot and D0.
The entire setting can be overwritten by BIOS via writing to 6Ah, or an external
EEPROM. If V
= 0, bit 15 shall always be zero. If V
AUX_AV
= 1, bit 15 shall
AUX
reflect the setting of 6Ah, or that loaded from EEPROM.
This bit is set to ‘0’ to indicate that function does not support the D2 power
management state. This setting can be overwritten by BIOS via 6Ah, or with the
external EEPROM.
This bit is set to ‘0’ to indicate that function does not support the D1 power
management state. This setting can be overwritten by BIOS via 6Ah, or with the
external EEPROM.
These bits are set to ‘0’ for PCI-PM 1.0 compliance. For PCI-PM 1.1 compliance,
these bits are overwritten by BIOS via 6Ah, or loaded from an external EEPROM
to reflect the 3.3V
current requirement.
AUX
The Device Specific Initialization bit indicates whether special initialization of this
function is required (beyond the standard PCI configuration header) before the
generic class device driver is able to use it. This register is set to ‘0’ to indicate
that it does not require special initialization.
This bit is a ‘0’, indicating that the function does not rely on the presence of the
PCI clock for
PME operation.
This register is set to 001b, indicating that this function complies with Rev 1.0 of
PCI Power Management Interface Specification
the
. These bits can also be
overwritten by BIOS via 6Ah, or loaded from an external EEPROM to 010b for
compliance with PCI-PM 1.1.
PME.
9397 750 06854
Objective specificationRev. 01 — 4 February 200011 of 58
Table 13: Power Management Control/Status register bit description
BitDescription
15PME Status - Sticky Bit
This bit is set when the function would normally assert the
independent of the state of the PME_EN bit. This bit is set when a power
management event occurs.
Writing a ‘1’ to this bit will clear it and cause the function to stop asserting a
(if enabled). Writing a ‘0’ has no effect.
14-13(r)Data scale
Not implemented.
12-9Data select
This 4-bit field is used to select which data is to be reported through the Data
register and Data scale field. This function is not implemented in this chip.
8PME_EN - Sticky Bit
A ‘1’ enables the function to assert
7-2(r)Reserved.
1-0Power State
This 2-bit field is used both to determine the current power state of a function
and to set the function into a new power state. The definition of the field values is
given below.
00b - D0
01b - D1
10b - D2
11b - D3hot
If software writes D1 or D2 and the corresponding bit 10 or 9 or register 82
indicates it is not supported, the state change is discarded.
PME. When ‘0’, PME assertion is disabled.
PME signal
PME
[86-87]: Reserved.
9397 750 06854
Objective specificationRev. 01 — 4 February 200012 of 58
Always 0, fast back-to-back transactions is not supported.
SERR enable
If set,
SERR driver is enabled; if 0, SERR is disabled.
Always 0, address/data stepping is not implemented.
When set, the device must take its normal action when a parity error is detected.
If this bit is 0, the devicemust ignore any parity errors that it detects and continue
normal operation.
Always 0, not implemented.
Always 0, UCB1500 does not generate memory write and invalidate command.
Always 0, UCB1500 ignores all special cycles.
PCI Master access enable; this bit must be enabled to activate UCB1500 DMA
register.
1 = enable.
Always 0, UCB1500 does not respond to memory space accesses.
UCB1500 control register I/O space access enable.
1 = enable.
9397 750 06854
Objective specificationRev. 01 — 4 February 200014 of 58
[6A-6B]: Power Management capabilities Write: This register contains a copy of
the Power Management capabilities register. Writing to this register will update the
original Power Management capabilities register (offset 82h-83h).
[6C-6F]: Subsystem-ID Write / Vendor ID Write: This register contains a copy of
the Subsystem-ID/Vendor ID register. Writing to this register will update the original
Subsystem-ID/Vendor ID registers (offset 2Ch-2Fh).
[80]:Capability Identifier (read only): This register is set to 01h to indicate power
management interface registers.
UCB1500
PCI to AC97 bridge/host controller
If set, chip operates under test mode. If ‘0’, chip operates normally.
If set, EEPROM autoload is disabled. If ‘0’, EEPROM autoload sequence
operates as normal, depending on the EEPROM signature. This bit is for testing
only.
[81]: Next Item Pointer (read only): This field provides an offset into the function's
PCI Configuration Space pointing to the location of next item in the function's
capability list. This register is set to zero, signifying that there are no additional items
in the capability list.
9397 750 06854
Objective specificationRev. 01 — 4 February 200017 of 58
Table 22: Power Management Capabilities register bit description
Read only
BitDescription
15-11(r)PME support
10(r)D2 support
9(r)D1 support
8-6(r)Aux_Current
5(r)DSI
4(r)Reserved.
3(r)PME Clock
2:0(r)Version
UCB1500
PCI to AC97 bridge/host controller
This 5-bit field indicates the power states in which the function may assert
Value is set to 00000b to indicate no
The entire setting can be overwritten by BIOS via writing to 6Ah, or an external
EEPROM. If V
reflect the setting of 6Ah, or that loaded from EEPROM.
This bit is set to ‘1’ to indicate that function supports the D2 power management
state. This setting can be overwritten by BIOS via 6Ah, or with the external
EEPROM.
This bit is set to ‘0’ to indicate that function does not support the D1 power
management state. This setting can be overwritten by BIOS via 6Ah, or with the
external EEPROM.
These bits are set to ‘0’ for PCI-PM 1.0 compliance. For PCI-PM 1.1 compliance,
these bits are overwritten by BIOS via 6Ah, or loaded from an external EEPROM
to reflect the 3.3V
The Device Specific Initialization bit indicates whether special initialization of this
function is required (beyond the standard PCI configuration header) before the
generic class device driver is able to use it. This register is set to ‘0’ to indicate
that it does not require special initialization.
This bit is a ‘0’, indicating that the function does not rely on the presence of the
PCI clock for
This register is set to 001b, indicating that this function complies with Rev 1.0 of
PCI Power Management Interface Specification
the
overwritten by BIOS via 6Ah, or loaded from an external EEPROM to 010b for
compliance with PCI-PM 1.1.
PME operation.
= 0, bit 15 shall always be zero. If V
AUX_AV
current requirement.
AUX
PME can be asserted.
AUX
. These bits can also be
= 1, bit 15 shall
PME.
9397 750 06854
Objective specificationRev. 01 — 4 February 200018 of 58
Table 23: Power Management Control/Status register bit description
V
powered.
AUX
BitDescription
15PME Status - Sticky Bit
This bit is set when the function would normally assert the
independent of the state of the PME_EN bit. This bit is set when a power
management event occurs.
Writing a ‘1’ to this bit will clear it and cause the function to stop asserting a
(if enabled). Writing a ‘0’ has no effect.
14-13(r)Data scale
Not implemented.
12-9Data select
This 4-bit field is used to select which data is to be reported through the Data
register and Data scale field. This function is not implemented in this chip.
8PME_EN - Sticky Bit
A ‘1’ enables the function to assert
7-2(r)Reserved.
1-0Power State
This 2-bit field is used both to determine the current power state of a function
and to set the function into a new power state. The definition of the field values is
given below.
00b - D0
01b - D1
10b - D2
11b - D3hot
If software writes D1 or D2 and the corresponding bit 10 or 9 or register 82
indicates it is not supported, the state change is discarded.
powered)
AUX
PME. When ‘0’, PME assertion is disabled.
PME signal
PME
[86-87]: Reserved
9397 750 06854
Objective specificationRev. 01 — 4 February 200019 of 58
To access any of the registers listed below, HOST needs to:
I/O write 8-bit data to the index port.
•
Read 8/16 bits from data port or write 8/16 bits to data port.
•
Data and Index Port Addresses are as follows:
Data Port = base address + 0h
•
Index Port = base address + 2h
•
All registers bits default to a value of 0 at power-up, unless otherwise stated. Sticky
bits initially haveunknown values at power-up, and retain programmed values if V
is available.
In addition to the Data port and the Index port, there are also status ports 1 and 2.
These ports can be used for interrupt handling. See section on interrupts for details.
The status port addresses are as follows:
UCB1500
PCI to AC97 bridge/host controller
AUX
Status port1 = base address + 4h (DMA status)
•
Status port2 = base address + ch (AC97 status)
•
Remark: Base address is specified in register 10h of the PCI configuration space. All
registers are word-based, accessible by HOST. All registers are read/write registers,
unless specified otherwise by the following notation: (r) = read only, (w) = write only.
Unless sticky or otherwise stated, all read/write registers default to zero at PCI reset.
All reserved or unimplemented registers are hardwired to 0.
Function 0 and Function 1 registers can be accessed through the specified I/O base
address programmed into register 10h. Even though function 0 and function 1 can
access the registers through different I/O addresses, there is only one physical set of
control registers for both functions. As a result of this, if function 0 writes to register 0
for example, followed by function 1 write to register 0, then if function 0 reads
register 0, it will get the value written by function 1.
Table 26: Receive DMA #1 FIFO count register bit description
BitDescription
15(r)Open PCI Master Cycle
14DTP Invalid Bit Mask
13-7Reserved.
6-0(r)Receive DMA #1 FIFO count
UCB1500
PCI to AC97 bridge/host controller
Bits 31-16 of receive DMA #1 Descriptor Table Pointer.
(For internal use only): This bit is set if there is an outstanding PCI master cycle
as a result of PCI retry termination by the target. Software should wait for this bit
to be cleared when initiating another DMA transfer right after an aborted DMA
transfer.
If this bit is set to ‘1’, the receive DMA engine will not stop even if the current
descriptor fetched has the invalid bit set.
(Forinternal use only) number of receivedbytes that is still in the internal 64-byte
FIFO.
8.1.5 [0013]: Receive DMA #1 command register
Table 27: Receive DMA #1 Command Register bit description
BitDescription
15-14Threshold level
Specifies the level at which data is transferred from the 64-byte FIFO to main
memory. Recommended setting is for at least 16 bytes threshold.
00 = 4 bytes, data will be transferred to memory as soon as there is at least
4 bytes of receive data in the receive FIFO
01 = 16 bytes
10 = 32 bytes
11 = 48 bytes
13Buffer Overrun auto recovery (for internal user only)
If set, UCB1500 will automatically recover from buffer overrun without user
intervention. Upon detecting an overrun condition, UCB1500 will clear the invalid
bit of the current descriptor, flush the internal FIFO, and then resume the DMA
cycle. UCB1500 keeps track of the number of DMA errors caused by buffer
overrun and will generate the auto recovery cycle until the count reaches 15h at
which time the DMA cycle is aborted.
12(r)Receive DMA #1 Abort status
This read-only bit is set if the receive channel has been aborted as a result of a
PCI abort or a software abort or a DMA error. The condition is cleared by writing
a ‘1’ to the receive DMA clear abort bit, bit 5 of this register.
9397 750 06854
Objective specificationRev. 01 — 4 February 200021 of 58
Table 27: Receive DMA #1 Command Register bit description
BitDescription
11(r)Receive DMA #1 DT full
This read-only bit is set whenever all the receive descriptors for DMA #1 have
been used, and the receive DMA is done. If descriptor table is setup as a circular
queue, this bit does not become set. Writing a ‘1’ to this register clears this
status bit.
10-9Reserved.
8(r)Receive-DMA #1 active status
If set, DT of receive DMA #1 is currently receiving data.
7Receive DMA #1 enable
Must be set to 1.
6Reserved.
5(w)Receive DMA #1 clear abort
Setting this bit clears the receive abort condition. This also clears bit 12 of this
register.
4(w)Receive DMA #1 software abort
Setting this bit immediately aborts receive cycle and disables receive DMA #1.
This also causes bit 12 of this register to become set.
3Reserved.
2(w)Start receive-DMA #1
Set this bit to 1 initiate DMA#1 receive mode after the receive descriptor tables
are setup.
1HOLD status/acknowledge
If this bit is set upon a read access, the UCB1500 is currently in the hold
condition, as a result of reading an invalid descriptor entry, and is waiting for an
acknowledgment before proceeding. Writing a 1 to this bit will send a hold
acknowledge to the UCB1500.
Table 28: Transmit DMA #1 FIFO count register bit description
BitDescription
15(r)Open PCI Master Cycle (for internal use only)
14DTP Invalid Bit Mask
13-7Reserved.
6-0(r)Transmit DMA #1 FIFO count (for internal use only)
8.1.8 [0017]: Transmit DMA #1 command register
Table 29: Transmit DMA #1 Command Register bit description
BitDescription
15-14Threshold level
13Reserved.
12(r)Transmit DMA #1 Abort status
11(r)Transmit DMA #1 DT full
10-9Reserved.
8(r)Transmit-DMA #1 active status
7Transmit DMA #1 enable
6Reserved.
5(w)Clear Abort
UCB1500
PCI to AC97 bridge/host controller
This bit is set if there is an outstanding PCI master cycle as a result of PCI retry
termination by the target. Software should wait for this bit to be cleared when
initiating another DMA transfer right after an aborted DMA transfer.
If this bit is set to ‘1’, the transmit DMA engine will transmit data from the current
descriptor fetched even if the invalid bit set.
Number of bytes to be transmitted that is still in the internal 64-byte FIFO.
Specifies the level at which data is transferred from the memory to the 64-byte
transmit FIFO. The recommended setting for this register is 32 bytes threshold.
00 = 16 bytes, data will be transferred from memory as soon as there is at
least 16 bytes of free space in the transmit FIFO.
01 = 32 bytes
10 = 48 bytes
11 = 60 bytes
This read-only bit is set if the transmit channel has been aborted as a result of a
PCI, D-channel contention or a software abort. The condition is cleared by
writing a ‘1’ to the transmit DMA clear abort bit, bit 5 of this register.
This read only bit is set whenever all the transmit descriptors for DMA #1 have
been used, and the transmit DMA is done. If descriptor table is setup as a
circular queue, this bit does not become set. Writing a 1 to this register clears
this status bit.
If set, DT of transmit DMA #1 is currently transmitting data.
Must be set to 1.
Set this bit to 1 to clear abort status initiated by setting the transmit abort bit. This
bit clears the PCI abort and transmit abort condition. This is a write only bit and it
automatically goes back to 0 after one clock.
9397 750 06854
Objective specificationRev. 01 — 4 February 200023 of 58
Table 29: Transmit DMA #1 Command Register bit description
BitDescription
4(w)Immediate Transmit Abort
Set this bit to immediately abort the current block trans mission. The fifo will also
be flushed. A partial initialization will be required to resume the transmission.
After setting this bit to 1, set bit 5 of this register, then clear this bit. See abort
procedures for more details.
4(r)Abort status
PCI aborted, or Software aborted, or DMA underrun = 1.
3Normal Transmit Abort
Set this bit to abort the current block transmission after the current data buffer
has been completely transmitted. The FIFO will also be flushed. A partial
initialization will be required to resume the transmission. After setting this bit to 1,
set bit 5 of this register, then clear this bit. See abort procedures for more details
2(w)Start transmit-DMA #1
Set this bit to initiate DMA#1 transmit mode after the transmit descriptor tables
are ready.
1HOLD status/acknowledge
If this bit is set upon a read access, the UCB1500 is currently in the hold
condition, as a result of reading an invalid descriptor entry, and is waiting for an
acknowledgment before proceeding. Writing a ‘1’ to this bit will send a hold
acknowledge to the UCB1500.
Table 30: Receive DMA #1 Byte Counter register bit description
BitDescription
15-0Receive DMA #1 Byte Counter
Number of valid bytes in the data buffer pointed to by receive DMA #1 current
descriptor entry.This counter counts up from 0 and contains the number of bytes
received and transferred to memory.
9397 750 06854
Objective specificationRev. 01 — 4 February 200024 of 58
Table 31: Receive DMA #1 DT Index register bit description
BitDescription
15-8Reserved.
7-0Receive DMA #1 DT index
8.1.18 [0032 - 0033]: Reserved
8.1.19 [0034]: Transmit DMA #1 Byte Counter
Table 32: Transmit DMA #1 Byte Counter register bit description
BitDescription
15-0Transmit DMA #1 Byte Counter
UCB1500
PCI to AC97 bridge/host controller
Receive DMA #1 pointer to the current descriptor being processed in the
descriptor table.
Number of valid bytes in the data buffer pointed to by transmit DMA #1 current
descriptor entry. This counter counts down beginning with the length
programmed into the current descriptor entry and contains the number of bytes
in the data buffer that has not been transferred yet.
8.1.20 [0035]: Transmit DMA #1 DT Index
Table 33: Transmit DMA #1 DT Index register bit description
BitDescription
15-8Reserved.
7-0Transmit DMA #1 DT index
Transmit DMA #1 pointer to the current descriptor being processed in the
descriptor table.
8.1.21 [0035 - 0037]: Reserved
8.1.22 [0038]: Receive DMA #0 Byte Counter
8.1.23 [0039]: Receive DMA #0 DT Index
8.1.24 [0040 - 003B]: Reserved
8.1.25 [003C]: Transmit DMA #0 Byte Counter
8.1.26 [003D]: Transmit DMA #0 DT Index
8.1.27 [003D-0053]: Reserved
9397 750 06854
Objective specificationRev. 01 — 4 February 200025 of 58
If set, UCB1500 will always complete any read cycle that is being retried by the
PCI target even if DMA is aborted. The data returned is then discarded.
Recommended setting is 1.
Other read cycles are allowed to proceed ahead of write cycles.
Other values are reserved
While set, internal state machine and IO registers revert to power-up state (see
software rest section).
8.1.29 [0055-56]: Reserved
8.1.30 [0057]: Miscellaneous
Table 35: Miscellaneous register bit description
BitDescription
15-9Reserved.
8Control register access
Control how I/O space can be accessed in different power states. Note that this
bit applies to each function separately.
If set to ‘1’, then for each of function, I/O register access is allowed if the
•
function is programmed to D0, D1 or D2 power state. If the function is
programmed to D3 power state, all I/O register access will be ignored, even if
its I/O space access bit is enabled in the PCI command register.
If set to ‘0’ (default), then for each function, I/O register access is allowed if
•
the function is programmed to D0 power state. If the function is programmed
to D1, D2 or D3 power state, all I/O register access will be ignored.
7Function 1 Enable
If set to ‘1’, function 1 configuration space will be enabled, otherwise, EEPROM
will determine if it is enabled or not.
6Reserved. Must be set to 1.
5(r)Function 1 status
If ‘1’, function 1 is enabled during reset.
4(r)EEPROM autoload
If ‘1’, EEPROM autoload is enabled during reset.
3-0Reserved.
9397 750 06854
Objective specificationRev. 01 — 4 February 200026 of 58
Table 36: Host interrupt enable #1 register bit description
BitDescription
15-12Reserved.
11Transmit DMA #1 DT done/Hold
10-9Reserved.
8Receive DMA #1 DT done/Hold
7-3Reserved.
2Receive DMA #1 DMA done:
1-0Reserved.
UCB1500
PCI to AC97 bridge/host controller
Interrupt status can also be read by accessing the status port 1.
When UCB1500 generates an interrupt, first interrupt blocks the subsequent
interrupts. Thus, when the interrupt routine acknowledges the interrupt, only the
first sequence of interrupt event gets cleared. The UCB1500 would then generate
another interrupt to account for the subsequent events, which will then be cleared
by the next acknowledge from the interrupt service routine.
If set, an interrupt will occur whenever the current DMA #1 transmit DT has been
fully utilized. Also, an interrupt will occur when a hold condition takes place.
If set, an interrupt will occur if the current receive DMA #1 DT is full. Interrupt
occurs after all the data area is filled in the current DT and after all the current DT
entries status have been updated. Also, an interrupt will occur when a hold
condition takes place.
If set, an interrupt will occur after every received block on DMA # 1 receive
channel. Interrupt occurs after all the current DT entry data area is filled and
after the current DT entry status has been updated. Each DT entry can only have
one frame or part of a frame in it. Each new frame will require a new DT entry.
8.2.2 [0059]: Host interrupt enable #2
Table 37: Host interrupt enable #2 register bit description
BitDescription
15-6Reserved.
5Transmit DMA #1 Error
If set, an interrupt will occur if the transmit DMA #1 causes a transmit buffer
underrun by not servicing a transmit buffer fetch request.
4-3Reserved.
2Receive DMA #1 Error
If set, an interrupt will occur if the receive DMA #1 is overrun.
1-0Reserved.
9397 750 06854
Objective specificationRev. 01 — 4 February 200027 of 58
Table 40: Host interrupt enable #3 register bit description
BitDescription
15Transmit DMA #0 done
If set, interrupt will occur after DMA portion of transmit cycle is done. Part of the
frame may still be in the internal FIFO, and not yet transmitted.
Table 42: General purpose counter #1 register bit description
BitDescription
15-0Counter #1
8.3.2 [0063]: Counter control #1
Table 43: Counter control #1 register bit description
BitDescription
15-12Counter #0 rate control:
11-8Counter #1 rate control:
7-0Reserved.
UCB1500
PCI to AC97 bridge/host controller
16-bit up counter. Writes to this register specifies the stop value for this counter.
This counter can generate an interrupt when stop value is reached by
programming the interrupt enable registers.
8.5.1 [00a0]: Counter control/status for channel #1
Table 48: Counter control/status for channel #1 register bit description
BitDescription
15-1Reserved.
0General counter #0 overflow
8.5.2 [00a1-00af]: Reserved.
8.5.3 [00b0]: Counter control/status for channel #0
Table 49: Counter control/status for channel #0 register bit description
BitDescription
15-1Reserved.
0General counter #1 overflow
UCB1500
PCI to AC97 bridge/host controller
Indicates general purpose counter #0 (reg 62h) overflow if set.
Indicates general purpose counter #1 (reg 65h) overflow if set.
8.5.4 [00b1-00bf]: Reserved
8.6 AC-97 registers
8.6.1 [00c0]: AC97 DMA Channel 0 rate
Table 50: AC97 DMA channel 0 rate register bit description
BitDescription
15-8Receive rate
Used to specify receive sample rate for receive channel #0.
Rate = 48 kHz * Receive rate / 256
For example, if set to 80h, every other AC97 received frame will be discarded by
Used to specify transmit sample rate for transmit channel #0.
Rate = 48 kHz * Transmit rate / 256
For example, if set to 80h, every other AC97 frame transmitted will contain valid
data.
00h = 256 (default mode = 48 kHz)
ffh = 255
9397 750 06854
Objective specificationRev. 01 — 4 February 200032 of 58
If set, receive channel #0 DMA will store data received on AC97 slot 3 and 4
together in such a way that bits[3-0] of slot 3 and bits[19-16] of slot 4 will be
stored as 1 byte.
Enables receive channel #0 DMA to store data received on AC97 slot 11.
(Same encoding as bits 1-0.)
Enables receive channel #0 DMA to store data received on AC97 slot 6.
(Same encoding as bits 1-0.)
Enables receive channel #0 DMA to store data received on AC97 slot 10.
(Same encoding as bits 1-0.)
Enables receive channel #0 DMA to store data received on AC97 slot 5.
(Same encoding as bits 1-0.)
Enables receive channel #0 DMA to store data received on AC97 slot 4.
(Same encoding as bits 1-0.)
Enables receive channel #0 DMA to store data received on AC97 slot 3.
00 = disable
01 = store 16-bits
10 = store 18-bits
11 = store 20-bits
9397 750 06854
Objective specificationRev. 01 — 4 February 200034 of 58
Enables receive channel #0 DMA to store data received on AC97 slot 12.
(Same encoding as regC2.)
Enables receive channel #0 DMA to store data received on AC97 slot 9.
(Same encoding as regC2.)
Enables receive channel #0 DMA to store data received on AC97 slot 8.
(Same encoding as regC2.)
Enables receive channel #0 DMA to store data received on AC97 slot 7.
(Same encoding as regC2.)
[1]
Enables transmit channel #0 DMA to output data to AC97 output slot 12.
(Same encoding as regC1.)
If set, transmit channel #0 DMA will output the same data on the AC97 output
slots 7 and 8. Only data for 1 slot will be stored in memory.
If set, transmit channel #0 DMA will store data to be transmitted on AC97 output
slot 7 and 8 together in such a way that bits[3-0] of slot 7 and bits [19-16] of slot 8
will be stored as 1 byte.
If set, transmit channel #0 DMA will output the same data on the AC97 output
slots 3 and 4. Only data for 1 slot will be stored in memory.
If set, transmit channel #0 DMA will store data to be transmitted on aC97 output
slot 3 and 4 together in such a way that bits[3-0] of slot 3 and bits[19-16] of slot 4
will be stored as 1 byte.
Enables transmit channel #0 DMA to output data to AC97 output slot 11.
(Same encoding as in regC1.)
[1] Optional feature, use only if GPIO function is not required.
The following 4 registers are similar to the previous, except that they control data on
Channel 1 (which uses DMA controller #2).
8.6.9 [00c8]: AC97 command/GPIO control and status register
Table 54: AC97 command/GPIO control and status register bit description
BitDescription
15-14Command ID
13Reserved.
12Valid index data
11Reserved.
10Valid status data
9AC97 command enable
8AC97 command
7Reserved.
6-0Command register index
UCB1500
PCI to AC97 bridge/host controller
Specifies 1 of 4 codec IDs for the AC-LINK register access commands.
00 = Codec0
01 = Codec1
10 = Codec2
11 = Codec3
Reads to this register will return a “1” if there is valid index data from the codec
connected to AC97 channel #0 in register CCh, bits[6-0]. Writing a “1” to this bit
will clear the status.
Reads to this register will return a “1” if there is valid read data from the codec
connected to AC97 channel #0 in register CAh. Writing a “1” to this bit will clear
the status.
Writing a 1 to this bit issues a command to the AC97 codec as specified in
bits[7-0] of this register on the next AC97 slot 1. Data for the write command is
specified in register CAh. On reads, this register will return “1” while write cycle is
in progress.
1 = read; 0 = write. This bit is output during AC97 slot 1 bit 19.
Register index to use when generating register read/write command to AC97
codec. This data is output during AC97 slot 1, bits[18-12].
9397 750 06854
Objective specificationRev. 01 — 4 February 200036 of 58
8.6.10 [00c9]: AC97 command/GPIO control and status register
Table 55: AC97 command/GPIO control and status register bit description
BitDescription
15-10Reserved.
9Valid GPIO data
8AC97 command GPIO enable
7Slotreq #1 enable
6Slotreq #0 enable
5-3Power-up Sync counter
2BITCLK status
1Warm AC97 Reset
0Reserved.
UCB1500
PCI to AC97 bridge/host controller
Reads to this register will return a “1” if there is valid read data from the codec
connected to AC97 channel #0 in register CDh. Writing a “1” to this bit will clear
the status.
Writing a 1 to this bit issues GPIO data to slot 12. Data is specified in register
CDh. When enabled, specified value will be transmitted repeatedly during slot 12
timeslot. Writing a “0” to this bit will disable GPIO transmit (slot12 = ‘h00000,
tag big = invalid).
If “1”, UCB1500 will monitor the slotreq bits from codec enabled on DMA
channel #1. Used for 'On demand” sample transport scheme.
If “1”, UCB1500 will monitor the slotreq bits from codec enabled on DMA
channel #0. Used for 'On demand” sample transport scheme.
Register counts the number of audio frame times since AC97 Bit Clock was
restarted. This 3-bit counter counts up to 4, then remains 4 until the nexttime the
AC97 power down occurs.
0000 = 0 SYNC frame periods have occurred after power-up.
0001 = 1 SYNC frame periods have occurred after power-up.
0010 = 2 SYNC frame periods have occurred after power-up.
0011 = 3 SYNC frame periods have occurred after power-up.
0100 = 4 SYNC frame periods have occurred after power-up.
0101-1111 = Reserved.
This bit is set if the BITCLK is detected idle for PCLK × 48 period, or
approximately 1.4 µs. After PCLK × 66 time period has passed, or about 2 µs,
the SDATAOUT and SYNC signals are forced to zero.
Writing a “1” to this register will cause
by driving SYNC HIGH for a minimum of 1 µs. Reads to this bit will return a “1”
while power-up is in progress. Warm AC97 reset will only occur if BITCLK is
inactive for at least 1 audio frame. Writes to this bit is ignored if BITCLK is active.
UCB1500 to generate a Warm AC97 reset
9397 750 06854
Objective specificationRev. 01 — 4 February 200037 of 58
Table 56: AC97 command data register bit description
BitDescription
15-0Command data register
8.6.12 [00cb-00cc]: Reserved.
8.6.13 [00cd]: AC97 GPIO data register
Table 57: AC97 GPIO data register bit description
BitDescription
15-0GPIO data register
UCB1500
PCI to AC97 bridge/host controller
This register contains data to be written to the AC97 during write command, and
contains read data from codec during read command. Read data is valid when
register C8h bit 10 is set.
This register contains data to be written to the AC97 during GPIO write
command, and contains read data from codec during read command. Read data
is valid when register C9h bit 9 is set.
8.6.14 [00ce-d2]: Reserved
8.6.15 [00d3]: AC97 GPIO_INT enable
Table 58: AC97 GPIO_INT enable register bit description
BitDescription
15-8Reserved.
7GPIO_INT interrupt enable
Enables interrupt on GPIO_INT.
6-4Reserved.
3-0GPIO_INT interrupt mode
Specifies which transition on GPIO_INT will generate the interrupt, if enabled.
Table 59: Miscellaneous AC97 control/status register bit description
VDD powered.
BitDescription
15-9Reserved.
8Merge DIN[1:0]
7-5(r)Power down SYNC counter
4Shutdown AC Link
3Channel #1 Codec Ready status
2Channel #0 Codec Ready status
1-0Reserved.
UCB1500
PCI to AC97 bridge/host controller
Must be set to 1. Data coming in on channel #0 and channel #1 will be combined
into 1 channel. Codec ready and resume event detection will still be detected
separately.
Number of SYNCs since BITCLK is stopped and SYNC is “0”. This number
increments after each
Default = 0. Writing “1” to this register shall cause UCB1500 to disable AC Link
signals (SYNC and SDATA_OUT to 0). Writing “0” shall enable normal AC Link
operation.
This bit reflects the Codec Ready bit of AC97 Channel #1.
This bit reflects the Codec Ready bit of AC97 Channel #0.
PCICLK
⁄
time period.
4096
8.6.18 [d6]: Reserved
8.6.19 [d7]: AC97 semaphore register
Table 60: AC97 semaphore register bit description
BitDescription
15-12Reserved.
11-1Reserved.
0Semaphore bit
Reads will return the current value, then set the bit to 1. Writing a “1” to this bit
will clear it.
9397 750 06854
Objective specificationRev. 01 — 4 February 200039 of 58
Write “1” to enable wake-up on AC97 SDATAIN[0] active on channel #0. If “1”, a
LOW-to-HIGH transition of SDATAIN[0] will:
set AC97 Channel #0 wake-up status to “1”.
•
set PME Status of Function 0 PCI configuration register 84h to “1”.
•
Subsequent clearing of Function 0 PME Status is independent of clearing of
AC97 Channel #0 wake-up status.
Write “1” to enable wake-up on AC97 SDATAIN[1] active on channel #1. If “1”, a
LOW-to-HIGH transition of SDATAIN[1] will:
set AC97 Channel #1 wake-up status to “1”.
•
set PME Status of Function 1 PCI configuration register 84h to “1”.
•
Subsequent clearing of Function 1 PME Status is independent of clearing of
AC97 Channel #1 wake-up status.
5-0Reserved.
8.6.21 [d9]: AC97 wake-up status register
This register is powered by V
Table 62: AC97 wake-up status register bit description
BitDescription
15-12Reserved.
11-8Reserved.
7AC97 Channel #0 wake-up status
1 = AC97 channel #0 wake-up eventoccurred. Write “1” to clear. This status bit is
set if a LOW-to-HIGH transition occurs in SDATAIN[0] and AC97 Channel #0wake-up enable of register d8h is set.
6AC97 Channel #1 wake-up status
1 = AC97 channel #1 wake-up eventoccurred. Write “1” to clear. This status bit is
set if a LOW-to-HIGH transition occurs in SDATAIN[1] and AC97 Channel #1wake-up enable of register d8h is set.
5-0Reserved.
and sticky.
aux
9397 750 06854
Objective specificationRev. 01 — 4 February 200040 of 58
This bit controls the state of the AC97_
when
be asserted by writing a “0” to this register bit, and de-asserted by writing a “1”.
Remark: AC97_
hardware.
7-0Power-on flag
Not affected by PCI reset. Used as a signature to control access to power
management registers. Valid values for flag are:
A5h: For Function 0 or 1, all write accesses to PME Status and PME_EN
registers of its PCI configuration space are allowed.
5Ah: (For testing only.) For Function 0 or 1, all write accesses to the
PME Status and PME_EN registers of its PCI configuration space shall be
ignored if either Function 0 or Function 1 is in D3 state.
If power-on flag is neither of these values, all PME Status and PME_EN registers
of Function 0 or 1 are invalid, and PME is not generated externally.
aux
RST is asserted, AC97_RST pin will be asserted. AC97_RST pin can also
8.6.23 [db]: Scratch Register (V
powered and sticky) / AC97 reset
powered and sticky) / AC97 reset register bit description
aux
RST pin (V
RST can only be de-asserted by software, and never by
powered)
aux
powered). At power-up, or
aux
Table 64: Scratch register bit description
V
powered
aux
BitDescription
15-0Scratch register
Sticky, can be used for user-defined functions.
9397 750 06854
Objective specificationRev. 01 — 4 February 200041 of 58
The following registers are used for event notification. If the corresponding interrupt is
enabled, and interrupt will be generated when an event occurs. For each event, write
‘1’ to the corresponding bit to clear it.
All DMA transfers use Descriptor Tables (DT). The DT must be contiguous in the Host
memory, and each DMA channel must have its own DT set up as one buffer. For
transmission, each DT must have not empty DT entries, and the last entry of a DT
must point to valid data, or to a linked descriptor table. Each DT entry is 8 bytes in
size. It contains the base address, byte count and command/status bits as illustrated
in Figure 4.
UCB1500
PCI to AC97 bridge/host controller
31
0
Data area BASEADDR in physical memory
CMD/STTCOUNT
Fig 4. Descriptor Table entry format
2315 BYTE
0
4
SC00209
Each DMA channel has a DTP (Descriptor Table Pointer), which points to entries in
the descriptor tables. When the last entry in the descriptor table is reached, and the
corresponding buffer is completely utilized, the DMA controller can jump to a new
descriptor table, if necessary, as specified by the link bit of the last entry. The entire
process is repeated for the remainder of the transfer session.
Note:
1. DT must be quad-word aligned. There are no restrictions to the size of the DT. No
empty DT entries are allowed. The DT has to be in the continuous physical
memory space up to 4 GigaBytes.
2. The data buffer area pointed by each DT entry must not exceed 64K−1 in size.
The data address must be double-word aligned as the UCB1500 fetches 4 bytes
at a time.
9397 750 06854
Objective specificationRev. 01 — 4 February 200043 of 58
COUNTByte count of data buffer
CMD/STTCommand/status register (refer to Table 68).
Table 68: Command/status register bit description
BitDescription
15DTtermination bit: If set, the current entry is the last entry of the DT.If link-bit is
14Should always be set to 1.
13Invalid entry bit: If set, it means that the current descriptor entry is not a valid
12-8Reserved.
7DT Link bit: If set, the current descriptor entry is a link pointer to another
6Interrupt bit: Generate Transmit DMA done interrupt at the completion of this
5-0Reserved.
UCB1500
PCI to AC97 bridge/host controller
Description
Base address of the data buffer if the DT Link bit is not enabled.
•
Link pointer if the DT Link bit is enabled.
•
‘1’, the address field contains an address for the next DT table. Otherwise, the
address field contains the buffer address for the current pacet data.
entry. For transmission, this means that all the data pointed to by the descriptor
has been transmitted. If the UCB1500 reads a descriptor entry with this bit set, it
enters the hold condition (see hold condition section).
descriptor table. This bit is only valid when both bit[15] and bit[7] are set to 1.
Otherwise, this bit is undefined.
DT data entry.
9397 750 06854
Objective specificationRev. 01 — 4 February 200044 of 58
COUNTByte count of data buffer
CMD/STTCommand/status register (refer to Table 70).
Table 70: Command/status register bit description
BitDescription
15DT termination bit: If set, the current entry is the last entry of the DT.
14Reserved.
13Invalid entry bit: If set, it means that the current descriptor entry is not a valid
12-8Reserved.
7DT Link bit: If set, the current descriptor entry is a link pointer to another
6Interrupt bit: Generate Receive DMA done interrupt at the completion of this DT
5-0Error Code
UCB1500
PCI to AC97 bridge/host controller
Description
Base address of the data buffer if the DT Link bit is not enabled.
•
Link pointer if the DT Link bit is enabled.
•
entry. For receive, this means the buffer corresponding to the descriptor is full,
and valid data is contained. If the UCB1500 reads a descriptor entry with this bit
set, it enters the hold condition (see hold condition section).
descriptor table. This bit is only valid when both bit[15] and bit[7] are set to 1.
Otherwise, this bit is undefined.
data entry.
00 = No error
11 = DMA error
When in receive mode, after receiving each frame, the DMA controller will update the
DT CMD/STT using a DMA cycle. Software can read the DT entry and determine the
status of the received data.
9397 750 06854
Objective specificationRev. 01 — 4 February 200045 of 58
(1) In this example, descriptor entry 5 points to the beginning of the descriptor table.
(2) The descriptor entries are processed in sequence, from 0 to 4, then loops back to 0.
(3) Each data buffer can be a maximum of 64k in size, and does not have to be sequential in
memory.
(4) If the Interrupt bit of an entry is set, it can generate a ‘Done’ interrupt provided that the
corresponding interrupt is enabled.
DESCRIPTOR TABLE
DT=1 DT Link=1
MEMORY
DATA
Fig 5. Continuous circular queue example
SC00210
9.3.1 Transmit algorithm
1. Create a transmit DT using the circular queue configuration.
2. Intialize UCB1500 DMA registers
Set the transmit DTP Invalid Bit Mask of the DMA channel in use.
•
Start transmission, while monitoring transmit done interrupt.
•
At transmit done interrupt, examine transmit DT index and Byte counter to
•
perform buffer management, if required.
9.3.2 Receive algorithm
1. Create a receive DT using the circular queue configuration.
2. Initialize UCB1500 DMA registers (refer to Section 8.1).
a. Set the receive DTP Invalid Bit Mask of the DMA channel in use.
b. Start transmission, while monitoring receive done interrupt.
c. At receive done interrupt, examine receive DT index and Byte counter to
perform buffer management, if required.
9397 750 06854
Objective specificationRev. 01 — 4 February 200046 of 58
[1] Stresses greater than those listed under MAXIMUM RATINGS may cause permanent damage to the
10.2 Recommended operating conditions
Table 72: Recommended operating conditions
Symbol ParameterConditionsMinTypMaxUnit
V
DD
V
i
V
o
T
amb
UCB1500
PCI to AC97 bridge/host controller
storage temperature-40+125°C
supply voltage-0.5+4.6V
DC input voltage-0.5+6.0V
device. This is a stress rating only and functional operation of the device at these or any conditions
above those indicated in the operational sections of this specification is not implied. Exposure to
absolute maximum rating conditions for extended periods of time may affect reliability.
PCICLK to signal valid delay211ns
Float to active delay2ns
Active to float delay28ns
Input setup time to PCICLK7ns
Input hold time from PCICLK0ns
Reset active time after PCICLK stable100µs
Reset active to output float delay40ns
9397 750 06854
Objective specificationRev. 01 — 4 February 200048 of 58
EEPCLK frequency0129kHz
EEPCLK HIGH time3.7µs
EEPCLK LOW time3µs
PCI clock rising edge to EEPCLK rising edge8.03ns
PCI clock rising edge to EEPCLK falling edge7.75ns
Start condition setup time3.7µs
Stop condition setup time3.7µs
Start condition hold time3µs
Stop condition hold time3µs
Data in setup time250ns
Data in hold time0ns
Data out hold time0ns
Clock to output0.33.5µs
Write cycle time10ms
14. System timing
Fig 6. 3.3 V clock waveform
T_cyc
T_high
T_low
9397 750 06854
Objective specificationRev. 01 — 4 February 200049 of 58
16.1 Introduction to soldering surface mount packages
This text gives a very brief insight to a complex technology. A more in-depth account
of soldering ICs can be found in our
Packages
There is no soldering method that is ideal for all surface mount IC packages. Wave
soldering is not always suitable for surface mount ICs, or for printed-circuit boards
with high population densities. In these situations reflow soldering is often used.
16.2 Reflow soldering
Reflow soldering requires solder paste (a suspension of fine solder particles, flux and
binding agent) to be applied to the printed-circuit board by screen printing, stencilling
or pressure-syringe dispensing before package placement.
Several methods exist for reflowing; for example, infrared/convection heating in a
conveyor type oven. Throughput times (preheating, soldering and cooling) vary
between 100 and 200 seconds depending on heating method.
UCB1500
PCI to AC97 bridge/host controller
Data Handbook IC26; Integrated Circuit
(document order number 9398 652 90011).
Typical reflow peak temperatures range from 215 to 250 °C. The top-surface
temperature of the packages should preferable be kept below 230 °C.
16.3 Wave soldering
Conventional single wave soldering is not recommended for surface mount devices
(SMDs) or printed-circuit boards with a high component density, as solder bridging
and non-wetting can present major problems.
To overcome these problems the double-wave soldering method was specifically
developed.
If wave soldering is used the following conditions must be observed for optimal
results:
Use a double-wave soldering method comprising a turbulent wave with high
•
upward pressure followed by a smooth laminar wave.
For packages with leads on two sides and a pitch (e):
•
– larger than or equal to 1.27 mm, the footprint longitudinal axis is preferred to be
parallel to the transport direction of the printed-circuit board;
– smaller than 1.27 mm, the footprint longitudinal axis must be parallel to the
transport direction of the printed-circuit board.
The footprint must incorporate solder thieves at the downstream end.
For packages with leads on four sides, the footprint must be placed at a 45° angle
•
to the transport direction of the printed-circuit board. The footprint must
incorporate solder thieves downstream and at the side corners.
During placement and before soldering, the package must be fixed with a droplet of
adhesive. The adhesive can be applied by screen printing, pin transfer or syringe
dispensing. The package can be soldered after the adhesive is cured.
9397 750 06854
Objective specificationRev. 01 — 4 February 200053 of 58
Typical dwell time is 4 seconds at 250 °C. A mildly-activated flux will eliminate the
need for removal of corrosive residues in most applications.
16.4 Manual soldering
Fix the component by first soldering two diagonally-opposite end leads. Use a low
voltage (24 V or less) soldering iron applied to the flat part of the lead. Contact time
must be limited to 10 seconds at up to 300 °C.
When using a dedicated tool, all other leads can be soldered in one operation within
2 to 5 seconds between 270 and 320 °C.
16.5 Package related soldering information
Table 79: Suitability of surface mount IC packages for wave and reflow soldering
[1] All surface mount (SMD) packages are moisture sensitive. Depending upon the moisture content, the
maximum temperature (with respect to time) and body size of the package, there is a risk that internal
or external package cracks may occur due to vaporization of the moisture in them (the so called
popcorn effect). For details, refer to the Drypack information in the
Circuit Packages; Section: Packing Methods
[2] These packages are not suitable for wave soldering as a solder joint between the printed-circuit board
and heatsink (at bottom version) can not be achieved, and as solder may stick to the heatsink (on top
version).
[3] If wave soldering is considered, then the package must be placed at a 45° angle to the solder wave
direction. The package footprint must incorporate solder thieves downstream and at the side corners.
[4] Wave soldering is only suitable for LQFP, QFP and TQFP packages with a pitch (e) equal to or larger
than 0.8 mm; it is definitely not suitable for packages with a pitch (e) equal to or smaller than 0.65 mm.
[5] Wave soldering is only suitable for SSOP and TSSOP packages with a pitch (e) equal to or larger than
0.65 mm; it is definitely not suitable for packages with a pitch (e) equal to or smaller than 0.5mm.
.
Data Handbook IC26; Integrated
9397 750 06854
Objective specificationRev. 01 — 4 February 200054 of 58
Application information —Applicationsthataredescribedhereinforany
oftheseproductsareforillustrativepurposesonly.PhilipsSemiconductors
makenorepresentationorwarrantythatsuchapplicationswillbesuitablefor
the specified use without further testing or modification.
[1]
20.Disclaimers
Life support —Theseproductsarenotdesignedforuseinlifesupport
appliances,devices,orsystemswheremalfunctionoftheseproductscan
reasonablybeexpectedtoresultinpersonalinjury.PhilipsSemiconductors
customersusingorsellingtheseproductsforuseinsuchapplicationsdoso
attheirownriskandagreetofullyindemnifyPhilipsSemiconductorsforany
damages resulting from such application.
Right to make changes —PhilipsSemiconductorsreservestherightto
makechanges,withoutnotice,intheproducts,includingcircuits,standard
cells,and/orsoftware,describedorcontainedhereininordertoimprove
design and/or performance. Philips Semiconductors assumes no
responsibilityorliabilityfortheuseofanyoftheseproducts,conveysno
licenceortitleunderanypatent,copyright,ormaskworkrighttothese
products,andmakesnorepresentationsorwarrantiesthattheseproducts
arefreefrompatent,copyright,ormaskworkrightinfringement,unless
otherwise specified.