Designing a Dual-Interface Keyboard with the CypressSemiconductor CY7C63413 USB MicrocontrollerRevision 1.3 02/13/99Added 3D mouse documentation and e
Bit 7 Bit 0RightGUIRightAltRightShiftRightCtrlLeftGUILeft AltLeftShiftLeftCtrlByte 0-ModifierFigure 2. IN Data Organization for USB KeyboardBit 7 Bit
Configuration DescriptorThe configuration descriptor is 9 bytes in length and gives the configuration information for the device. It is possible to ha
Endpoint DescriptorThe endpoint descriptor describes each endpoint, including the attributes and the address of each endpoint. It is possible tohave m
found in the example called a Usage Page. The reason for the Usage Page is that it is necessary to allow for more than 256possible Usage tags. Usage P
N-Key RolloverIn the case where multiple keys are pressed and held down, only the last key pressed should be repeated. To accomplishthis, the last key
usage page (generic desktop)usage (mouse) collection (application) report id (1) usage (pointer) collection (linked) usage page (buttons)
Finally, to support boot protocol, the firmware will not transmit power key status on endpoint 2 when the boot protocol isselected via the host comma
the clock line (corresponding to D+) low while floating the data line (corresponding to D-), for instance, would beaccomplished with a setting of ‘110
FunctionalityMain LoopAfter power-up housekeeping is performed, the main loop of the PS/2 firmware is entered. This loop invokes the keyboardscannin
released, is considered to be caused by switch bounces, and is disregarded. Different keyboards will have varying key switchsensitivity, and so these
Intelligent ControllerThe typical computer keyboard keyboard contains an embedded controller that performs the necessary functions to scan thekey matr
USB Main LoopSUSPEND_FLAG = 1?SCAN_FLAG= 1?Call usb_scan_keysError inscan?New keyfound inscan?Fill EP1 FIFOwith 1’s(RolloverError);Enable EP1transmiss
Call idle_loopTransmit “Resend”CommandnyyynnnnnnyyTransmit contents ofTransmit BufferByteReceived?ScanIntervalExpired?ScanningEnabled?Call ps2_scan_ke
ps2-receiveReceivedBit = 1?Parity +=1Done 8databits?n get_bitD+ = 0; D- = HI-ZDelay 35 usecD+ = HI-Z; D- = HI-Z1Delay 5 usecGet State of D-Dela
ps2_sendD+,D- bothhigh?Wait 50 usec;Call Send_0(Start bit);Parity = 1NextData Bit= 1?CallSend_0CallSend_1;Parity += 1Done 8databits?Parity =Odd?C
Set D+,D- to Hi-Z;Disconnect USBPullup ResistorWait 10 ms Wait 2 UsecD+ andD- Low? Wait 2 UsecD+ andD- Low? Wait 2 UsecD+ andD- Low?
ConclusionThis Application Note, together with the hardware reference design and reference firmware (available from Cypress) providesa superset of the
ConfigurationBitsInterrupt Bit Polarity11 X Resistive -10 0 CMOSOutputdisabled10 1 CMOS Input disabled01 X Open Drain -00 X Open Drain +Ports 0 to 2 o
Hardware ImplementationFigure 8 is the schematic for a dual-interface keyboard application. This design may be used to implement a USB-onlykeyboard, a
the nominal 5VDC rail. Cypress recommends this termination method as an alternative to the method described in the USBspecification, as it yields comp
Firmware ImplementationThe reference firmware supports both the USB and PS/2 interfaces. For each interface, the firmware can be conceptuallydivided i
high. A host computer will not typically attempt to transmit data to the keyboard until it has received a power up statusindication from the keyboard.
• Responds toSETUP packetaccording to the parsing structureFigure 2. USB Standard Request Parsing StructureFigure 2. USB HID Class Request Parsin
Comentários a estes Manuais