English
Language : 

W83L951DG Datasheet, PDF (50/112 Pages) Winbond – Mobile Keyboard and Embedded Controller
W83L951DG/W83L951FG
Bit 0: PS2_T/R PS/2 Channel Transmit/Receive
This bit is only valid when PS2_EN=1 and sets the PS2 logic for automatic transmission or reception
when PS2_T/R equals HIGH or LOW respectively (This bit may be modified, after unsetting PS2_EN).
When set the PS/2 channel is enabled to transmit data. To properly initiate a transmit operation this bit
must be set prior to writing to the Transmit Register; writes are blocked to the Transmit Register when
this bit is not set.
Upon setting the PS2_T/R bit the channel will drive its CLK line low and then float the DATA line and
hold this state until a write occurs to the Transmit Register or until the PS2_T/R bit is cleared. Writing
to the Transmit Register initiates the transmit operation. KB controller drives the data line low and,
within 100us, floats the clock line (externally pulled high by the pull-up resistor) to signal to the
external PS/2 device that data is now available.
The PS2_T/R bit is cleared on the 11th clock edge of the transmission or if a Transmit Timeout error
condition occurs.
Note: If the PS2_T/R bit is set while the channel is actively receiving data prior to the rising
edge of the 10th (parity bit) clock edge the receive data is discarded. If this bit is not set prior
to the 10th clock signal then the receive data is saved in the Receive Register.
When the PS2_T/R bit is cleared the PS/2 channel is enabled to receive data. Upon clearing
this bit, whether RDATA_RDY=0 or no, the channel’s CLK and DATA will float waiting for the
external PS/2 device to signal the start of a transmission for receiving data. But if
RDATA_RDY=1, the hardware won’t generate interrupt to indicate finished receive data.
If the PS2_T/R bit is set while RDATA_RDY=1 then the channel’s DATA line will float but its
CLK line will be held low, holding off the peripheral, until the Receive Register is read.
6.3.1.4 PS/2 Status Registers (PS2STS) (Default Value:: 0000_0000)
Bit 7: Receiver Busy (RX_BUSY)
This bit is indicators for each of the three PS/2 Channels. When a RX_BUSY bit is set the associated
channel is actively receiving PS/2 data; when a RX_BUSY bit is clear the channel is idle.
Bit 6: Start Bit Detect (START_DEC)
This bit is set on detecting start bit of receive conditions. Writing high will clear this bit.
Bit 5: Transmitter Timeout (XMIT_TIMEOUT)
This bit is set on one of 3 transmit conditions, and in addition the channel’s CLK line is automatically
pulled low and held for a period of 300us(Input clock=24MHz) or 600us(Input clock=12MHz) following
assertion of the XMIT_TIMEOUT bit during which time the PS2_T/R is also held low:
When the transmitter bit time (time between falling edges) exceeds 300us(Input clock=24MHz) or
600us(Input clock=12MHz).
When the transmitter start bit is not received within 25ms(Input clock=24MHz) or 50ms(Input
clock=12MHz) from signaling a transmit start event.
If the time from the 1st (start, falling edge) bit to the 11th (stop, falling edge) bit exceeds 2ms.
Writing high will clear this bit.
- 46 -