2.2. Hands on the chips. 65. What do I need ? 65. Implementing a USB mouse controller using FTDI's VNC1L 'Vinculum' chip. 66. Vinculum 'Gotcha'. 67. You will ...
Mouse Interfacing with USB and PS/2 - Elektor - ISBN 978-0-905705-74-3
Table of Contents Introduction
7
Part 1
9
PS/2
1.1
The Mouse Hardware Interface Experiment
11 12
1.2
The PS/2 Software Interface Terminology Protocol Sequence Error control mechanisms Protocol timing PS/2 Mouse Command Set
13 13 13 14 15 16
1.3
First words in PS/2: Reset-Acknowledge Program Design Overview Program 1 Critical timing constraints The next step
18 18 20 22 22
1.4
Sequences and state machines Host transmission Host reception Program 2 Ballistic profiles MPLAB Gotchas
25 25 27 28 33 38
1.5
PS/2 as a background task Motivation Mechanisms Program 3
42 42 42 46
1.6
Multi-channel voltage source Instruction manual Hardware Design Software design
51 51 52 54 5
mouse interfacing – bernhoeft elektor international media – 089022-1/uk pagina 5
R
TABLE OF CONTENTS
Mouse Interfacing with USB and PS/2 - Elektor - ISBN 978-0-905705-74-3
Part 2
USB
2.1
Some background on USB Low Speed Device Identification
61 63
2.2
Hands on the chips What do I need ? Implementing a USB mouse controller using FTDI’s VNC1L ‘Vinculum’ chip Vinculum ‘Gotcha’ You will need Software System Setup
65 65
2.3
Testing the Host Controller Descriptors HID and Report Descriptors
74 78 83
2.4
Using the Host Controller in embedded designs A simple USB mouse driver Accessing Disk Drives Program Description
91 94 102 107
PART 3 Listings
117
PS/2 Programs Program 1 – Reset sequence Program 2 – PS/2 Core Program 3 – Interrupt-driven PS/2 comms. Display mouse Program 3 – position & button state on an LCD Program 4 – Voltage Source Program
119 119 122
USB Programs Program 1 – Usb 1 Program 2 – Usb2
178 178 197
Webliography
253
3.1
3.2
Index
6
L
59
mouse interfacing – bernhoeft elektor international media – 089022-1/uk pagina 6