HT82K94E/HT82K94A
Rev. 1.50
18
October 11, 2007
Suspend Wake-Up and Remote Wake-Up
If there is no signal on the USB bus for over 3ms, the
HT82K94E/HT82K94A will go into suspend mode. The
Suspend line (bit 0 of the USC) will be set to 1 and a
USB interrupt is triggered to indicate that the
HT82K94E/HT82K94A should jump to the suspend
state to meet the 500 A USB suspend current spec.
In order to meet the 500 A suspend current, the firm-
ware should disable the USB clock by clearing the
USBCKEN (bit3 of the SCC) to 0 . The suspend cur-
rent is 400 A.
When the resume signal is sent out by the host, the
HT82K94E/HT82K94Awill wake-up the MCUby USB in-
terrupt and the Resume line (bit 3 of the USC) is set. In
order to make the HT82K94E/HT82K94Afunction prop-
erly, the firmware must set the USBCKEN (bit 3 of the
SCC) to 1 . Since the Resume signal will be cleared
before the Idle signal is sent out by the host, the Sus-
pend line (bit 0 of the USC) will be set to 0 . So when
the MCU is detecting the Suspend line (bit0 of USC), the
Resume line should be remembered and taken into con-
sideration.
After finishing the resume signal, the suspend line will
go inactive and a USB interrupt is triggered. The follow-
ing is the timing diagram.
Thedevicewithremotewake-upfunctioncanwake-upthe
USBHostbysendingawake-uppulsethroughRMWK(bit
1 of the USC). Once the USB Host receives a wake-up
signal from the HT82K94E/HT82K94A, it will send a Re-
sume signal to the device. The timing is as follows:
Configuring the Device as a PS2 Device
The HT82K94E/HT82K94A can be configured as a USB
interface or PS2 interface device, by configuring the
SPS2 (bit 4 of USR) and SUSB (bit 5 of the USR). If
SPS2=1, and SUSB=0, the HT82K94E/HT82K94A is
configured as a PS2 interface, pin USBD- is configured
asaPS2DatapinandUSBD+isconfiguredasaPS2Clk
pin. User can easily read or write to the PS2 Data or PS2
Clk pin by accessing the corresponding bit PS2DAI (bit 4
oftheUSC),PS2CKI(bit5oftheUSC),PS2DAO(bit6of
the USC) and S2CKO (bit 7 of the USC) respectively.
User should make sure that in order to read the data
properly, the corresponding output bit must be set to 1 .
For example, if it is desired to read the PS2 Data by
reading PS2DAI, the PS2DAO should set to 1 . Other-
wise it is always read as 0 .
If SPS2=0, and SUSB=1, the HT82K94E/HT82K94A is
configured as a USB interface. Both the USBD- and
USBD+ is driven by the SIE of the HT82K94E/
HT82K94A. User can only write or read the USB data
through the corresponding FIFO.
Both SPS2 and SUSBdefault is 0 .
, (
!
(
2
, E
, (
!
(
2
, E
+
. . 5
!
. ( (
, (
#
USB Interface
There are eleven registers, including PIPE_CTRL (41H in bank 1), AWR (address + remote wake-up 42H in bank 1),
STALL(43H in bank 1), PIPE (44H in bank 1), SIES (45H in bank 1), MISC (46H in bank 1), Endpt_EN (47H in bank 1),
FIFO0 (48H in bank 1), FIFO1 (49H in bank 1), FIFO2 (4AH in bank 1) and FIFO3 (4BH in bank 1) used for the USB
function. AWR register contains current address and a remote wake up function control bit. The initial value of AWR is
00H . The address value extracted from the USB command is not to be loaded into this register until the SETUPstage
is completed.
Bit No.
Label
R/W
Function
0
WKEN
W
Remote wake-up enable/disable
7~1
AD6~AD0
W
USB device address
AWR (42H) Register