
SMSC DS – FDC37N958FR
Page 171
Rev. 09/01/99
PCOBF
Host
8051
Power
Default
N/A
0x7FFD
VCC1
0x00
Refer to the PCOBF description for information on this register. This is a “1” bit register (bits 1-7=0 on
read)
Host-to 8051 Keyboard Communication
The host system can send both commands and
data to the KBD Data/Command Write register.
The CPU differentiates between commands and
data by reading the value of bit 3 of the Status
register. When bit 3 is "1", the CPU interprets
the register contents as a command. When Bit
3 is "0", the CPU interprets the register contents
as data. During a host write operation, bit 3 is
set to "1" if SA2 = 1 or reset to "0" if SA2 = 0.
PCOBF Description
(The following description assumes that OBFEN
= 1 in Configuration Register 0); PCOBF is
gated onto KIRQ. The KIRQ signal is a system
interrupt which signifies that the 8051 has written
to the KBD Data Read register via address
7FF1H. On power-up, PCOBF is reset to 0.
PCOBF will normally reflect the status of writes
to 7FF1H, if PCOBFEN (bit 2 of Configuration
register “0”) = “0”. (KIRQ is normally selected as
IRQ1 for keyboard support.) PCOBF is cleared
by hardware on a read of the Host Data
Register.
Additional flexibility has been added which
allows firmware to directly control the PCOBF
output signal, independent of data transfers to
the host-interface data output register. This
feature allows the FDC37N958FR to be
operated via the host "polled" mode. This
firmware control is active when PCOBFEN = 1
and firmware can then bring PCOBF high by
writing a "1" to the LSB of the 1 bit data register,
PCOBF, allocated at 7FFDH. The firmware
must also clear this bit by writing a "0" to the
LSB of the 1 bit data register at 7FFDH.
The PCOBF register is also readable; bits 1-7
will return a "0" on the read back. The value
read back on bit 0 of the register always reflects
the present value of the PCOBF output. If
PCOBFEN = 1, then this value reflects the
output of the firmware latch at 7FFDH. If
PCOBFEN = 0, then the value read back reflects
the in-process status of write cycles to 7FF1H
(i.e., if the value read back is high, the host
interface output data register has just been
written to). If OBFEN=0, then KIRQ is driven
inactive (low).