5.0 Functional Description (Continued)
5.2.2 PCM16C00 Specific Registers
These registers are defined specifically for National’s
PCM16C00 IC and are not part of the PCMCIA specification.
5.2.2.1 Standard Mode Register Set
These registers allow the PCM16C00 IC to perform its base
functionality of supporting two general functions on a PC
Card.
Pin Polarity Register
[
0x03E4
]
This register sets the polarity of the card side interface signals.
D7 D6 D5 D4 D3 D2 D1 D0
CIOWR CIORD SRESET1 SRESET0 BHE Memls8 CWAIT1 CWAIT0
CIOWR, CIORDÐSets the polarity of the CIOWRÝand
CIORD
Ý
pins respectively. A high indicates active high. The
default polarity is active-low.
SRESET1, SRESET0ÐSets the polarity of the SRESET(1)
and SRESET(0) pins respectively. When this bit is set to a
zero (0), the output signal is asserted in the high (1) state.
When this bit is set to a one (1), the output signal is asserted
in the low (0) state. The bit default is zero (0), i.e. the
SRESET( ) signal is active high.
BHEÐSets the polarity of the BHE
Ý
pin. A high indicates
active-high. The default polarity is active-low.
Memls8ÐThis bit is set to one (1) if common memory is
organized for 8-bit access. This bit is set to zero (0) if common memory is organized for 16-bit access. The default value is zero (0). This information allows the PCM16C00 to
properly access memory using the MEMWEH
Ý
,
MEMWEL
Ý
, and MEMOEÝsignals.
CWAIT1, CWAIT0ÐWhen this bit is set to one (1), the
PCM16C00 interprets this input signal active when it is low
(0). When this bit is set to zero (0), the PCM16C00 interprets
this input signal as active when it is high (1). The default bit
value is zero (0), i.e. the CWAIT( ) input signal is asserted
high (1).
PMGR and Clock Register
[
0x03E6
]
The Power Manager (PMGR) and Clock Register is used for
controlling the PCNTL(1:0) pins for either power management purposes or general purpose digital output only. Unlike
the Digital Port Register, there is no associated direction
register since only outputs are allowed.
Hardware power management is enabled using the Function Configuration Option Register’s Function Configuration
Index values. Its use is intended for functions that can be
sequenced on/off or into idle or sleep states with a quick
(
k
10 ms) response time when powered on again. That is,
the function may use its CWAIT( ) signal to extend a transaction that caused the PCM16C00 to turn it on. Use of the
READY( ) signal in a dynamic hardware power managed environment to set the RRdy/Bsy bits in order to achieve
l
10 m s response times for power on is not guaranteed to
work since system software may not inspect the RRdy/Bsy
bit in all such instances.
D7 D6 D5 D4 D3 D2 D1 D0
F1CLKEN DIV1 PPOL1 PCNTL(1) F0CLKEN DIV0 PPOL0 PCNTL(0)
F1CLKEN, F0CLKENÐIf set, these enable the pins
FCLK(1:0) to receive a clock out. If clear, the respective
pins FCLK(1:0) will be forced low. These are set and
cleared by software if desired or statically loaded upon card
power up from the EEPROM.
DIV1, DIV0ÐIf set, the respective clock output from
FCLK(1:0) will be divided by 32 from the input clocks
MCLK(1:0). If clear, the clock output FCLK(1:0) will equal
the respective clock input MCLK(1:0). These are set and
cleared by software if desired or statically loaded upon card
power up from the EEPROM.
PPOL1, PPOL0ÐSets the active polarity of the PCNTL(1)
and PCNTL(0) signals such that the function is asserted. If
PPOL is set to zero (0), PCNTL( ) is asserted when in the
high state. If set to one (1), PCNTL( ) is asserted when in
the low state. The default is set to zero (0), i.e. PCNTL( )
defaults to active high.
PCNTL(1), PCNTL(0)ÐThese bits control the pins
PCNTL(1) and PCNTL(0) respectively. If hardware power
management is not selected in the Function Configuration
Option Register’s Function Configuration Index, then these
bits may be used as output signals by software for general
purposes. If the hardware power management configuration
is selected, these bits are de-asserted (defined by PPOL1,
0) when the PCM16C00’s CTERM 1 or 0 counter expires.
These bits will be asserted if a transaction occurs to the
function through an I/O window, the function requests the
card-side bus using BREQ( ) or the function issues a RI
Ð
IN( ). In either strategy, software may always write and read
back these bits. These bits default to zero (0) during poweron until the PMGR and Clock Register can be loaded from
the EEPROM.
CTERM Registers 0, 1
[
0x03E8, 0x03EA
]
These registers are used to define the value of function 0’s
and function 1’s power time-out counters respectively. If a
function’s power time-out counter expires, the PCNTL bit for
that function in the PMGR and Clock Register is de-asserted. This will occur if a function is in-active long enough for
it’s power time-out counter to expire. Active is defined as
having either an I/O access from the host, receiving a
BREQ( ) or a RIÐIN( )
Ý
. Devices that may operate for long
periods of time without a host I/O access and that do not
use BREQ( ) should follow a software controlled power
management strategy that uses the PwrDn bits in the Function Configuration Status Registers 0, 1.
D7–D0
NeTime-Out Counter Terminal Count Value
Each function’s terminal counter is 8 bits wide and counts at
a rate of MCLK(0)/(2
17
). For example, if the MCLK(0) frequency is 30 MHz the device can be programmed to timeout between 0.0s to 1.114s. The general formula is:
Time
e
(1/mclk(0)) * 217* N,
where NeÀ0, 1, 2, . . . , 255
Ó
For a 5 MHz MCLK(0) frequency, the equation is:
Time
e
N (26.2144 ms) where NeÀ0,1,2, . . . ,255
Ó
Note: A value of zero implies the function is powered down.
10