
DM560P
V.90 Integrated Data/Fax/Voice/Speakerphone Modem Device Set
Preliminary
23
Version: DM560P-DS-P07
August 11, 2000
Reading Resource Data
Each PnP card supports a resource data structure
stored in a non-volatile device (e.g. 93C46) that
describes the resources requested by the card. The
Plug and Play resource management software will
arbitrate resources and setup the logical device
configuration registers according to the resource data.
Card resource data may only be read from cards in the
Configuration state. A card may get to the
Configuration state by one of two different methods: 1)
A card enters the Configuration state in response to
the card "winning" the serial isolation protocol and
having a CSN assigned, or 2) the card receives a
Wake[CSN] command that matches the card CSN.
As described above, all Plug and Play cards function
as if both of their serial identifiers and resource data
come from the same serial device. Similarly, the
pointer to the serial device is reset in response to any
Wake[CSN] command. This implies that if a card
enters the Configuration state directly from Sleep state
in response to a Wake[CSN] command, the 9-byte
serial identifier must be read first before the card
resource data is accessed. Then the Vendor ID and
Unique Serial Number is valid. However, the
checksum byte, when read in this way, is not valid. For
a card that enters Configuration state / Isolation state,
the first read of the Resource Data Register will report
resource data.
Card resource data is read by first polling the Status
register and waiting for bit[0] to be set. When this bit is
set, one byte of resource data is ready to be read from
the Resource Data Register. After the Resource Data
Register is read, the Status Register must be polled
before reading the next byte of resource data. This
process will repeat until all resource data is read.
The above operation implies that the hardware is
responsible for accumulating 8 bits of data in the
Resource Data Register. When this operation is
complete, the status bit [0] is set. When a read is
performed on the Resource Data Register, status bit
[0] is cleared, eight more bits are shifted into the
Resource Data Register, and the status bit[0] is set
again.