valid requests see Chapter 9 of the USBGspecification. In addition to the standard
“Chapter 9” requests, a mouse must also supportall valid HID requests for a mouse. Appendix Cof this document lists the valid requests that arerecognized by the mouse firmware.
USB Requests – Endpoint 1
Endpoint 1 is the data transfer communicationschannel for mouse button, wheel, and movementinformation. Requests to this endpoint are notrecognized until the host configures endpoint 1.Once this endpoint is enabled, then interrupt INrequests are sent from the host to the mouse togather mouse data. When the mouse is left idle(i.e. no movement, no new button presses, nowheel movement) the firmware will NAK requeststo this endpoint. Data is only reported whenthere is a status change with the mouse.Two reporting formats are used in this design.The boot protocol, as defined by the HID
specification, is the default reporting protocol thatall USB enabled systems understand. The bootprotocol has a three-byte format, and so does notreport wheel information. The HID reportdescriptor defines the report protocol format.This format is four bytes and is the same as thereport format with the exception of the fourthbyte, which is the wheel information.
PS/2 Interface
The host driver determines the PS/2 mouse startup sequence. However, a few standard
commands must be sent in order to enable allPS/2 mice.
The mouse is the clock master on this bus. Thehost must request the mouse to clock data intoitself.
1.Device Plug-in
When a PS/2 mouse is first connected to the bus,it is powered and is running firmware. PS/2communications generally begin with the hostsending a RESET command to the mouse. Themouse will not report button, wheel, or movementback to the host until the ENABLE command issent. Depending on the particular operatingsystem the mouse is used with, the start upsequence will vary.2. Device Configuration
PS/2 parameters such as scaling, resolution,stream mode, and eventually enabling streammode for data reports. For a list of the valid PS/2commands that this mouse recognizes seeAppendix E.
3.Wheel Enable (optional)
Since the wheel is not part of the standard PS/2specification, there is a sequence of commandsthat enable the wheel. Wheel-aware drivers,such as those for Microsoft and Linux operatingsystems will initiate this special sequence.After the following sequence of commands, thewheel report format is enabled.0xF3, 0xC8Set Sampling Rate 200 persecond
0xF3, 0x64Set Sampling Rate 100 persecond
0xF3, 0x80Set Sampling Rate 50 persecond
0xF2, 0x03
Read Device Type returns avalue of 0x03
After the Read Device Type command returns0x03 to indicate that this is a Microsoft
compatible three button-wheel mouse, the wheelreport format is enabled. See Appendix E for
information on PS/2 standard and wheel reportingformats.
4. Post Start Up Operation
After the streaming mode is set and data reportsare enabled, the mouse will send button,
movement, and optionally wheel reports back tothe host. Whenever the mouse has new data tosend it will initiate a transfer to the host.
USB Firmware Description
A function call map for USB operation is shown in
figure 4.0. The following are descriptions of thefunctions in combi.c.
USB Functions
void UsbReInitialize(void) - Wake up and delay50mS. Initialize the PS2 BAT delay counter. Fora period of 2mS, poll the SCLK and SDATA linesevery 10uS. If we get 4 samples in a row withnon-zero data on either line, detect PS2. If 2mSexpires, enable the USB pull up resistor anddelay 500uS. Poll the SCLK and SDATA linesindefinitely until a non-zero condition exists oneither line. During this polling period, we begin to
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说教育文库Designing a low cost CY7C63723 combination mouse(5)在线全文阅读。
相关推荐: