logging in or signing up about mouse aSGuest116768 Download Post to : URL : Related Presentations : Share Add to Flag Embed Email Send to Blogs and Networks Add to Channel Uploaded from authorPOINT lite Insert YouTube videos in PowerPont slides with aS Desktop Copy embed code: (To copy code, click on the text box) Embed: URL: Thumbnail: WordPress Embed Customize Embed The presentation is successfully added In Your Favorites. Views: 21 Category: Education License: All Rights Reserved Like it (0) Dislike it (0) Added: October 11, 2011 This Presentation is Public Favorites: 0 Presentation Description About Mouse Comments Posting comment... Premium member Presentation Transcript The Optical Mouse and The Mouse Driver: The Optical Mouse and The Mouse DriverOverview: Overview What are Device Drivers? A little history Optical Mouse Internals The Driver and its programming OS interplay Some practical scenarios and examplesDevice Drivers: Device Drivers Definition : A computer program that enables another program (typically an OS) to interact with a hardware device. Instruction ManualThe Computer Mouse – A Brief History: The Computer Mouse – A Brief History First mechanical mouse with a roller ball – Bill English @ Xerox PARC in the early 1970s Modern mechanical mice work using opto-mechanical detectors – IR LEDs + sensors + Slotted disks Optical Mouse – Gary Gordon, Agilent Laboratories, 1999Internals of an Optical Mouse: Internals of an Optical Mouse Uses a tiny camera to take 1500-7080 images per second Camera = Small, red LED or more recently laser + a CMOS sensor Images sent to a DSP, operating typically @ 18 MIPS, for analysis Detects patterns in images and thus estimates motionPros and Cons: Pros and Cons Advantages of an optical mouse : No maintenance, No moving parts, Lasts longer. However, mechanical mice too score over optical ones : Tracking glossy and transparent surfaces, Low power usage in wireless settingsQuality Factors : Quality Factors Image sensor sizes vary from 16x16 pixels to 30x30 pixels Refresh rate (Hz or samples/sec) Mouse refresh rates vary from 1500-7080 samples/sec Max speed (inch/sec) The newest mouse from Microsoft and Logitech have max speeds of 37 and 40 in/secPC Mouse System: PC Mouse System A typical PC mouse controlling system, with specific reference to an optical mouse, can be represented as : Sensors (CMOS) -> Mouse Controller (DSP) -> Communication link (Cable/Wireless) -> Data interface (Serial, PS/2, USB) -> Driver -> ApplicationsThe Mouse Driver: The Mouse Driver Two ways of communication with the mouse – Directly using the data port (cumbersome + variety of ports can be used), Via the installed mouse driver (more convenient) Upon mouse movement, a 3/5-byte packet is sent to the port. The typical description of the data in the 3-byte packet sent to a PS/2 port is as follows : X v Y v Y S X S 10RL XXXXXXXX YYYYYYYY This data packet is decoded by the mouse driver and its internal co-ordinates are updated.Mouse Driver Specifics (DOS): Mouse Driver Specifics (DOS) Mouse drivers communicate with other applications using BIOS interrupts – int 0x33h in DOS Following CPU registers are used for data transfer between AP and the mouse driver : AX, BX, CX, DX, ES, CS, SS, DS, SI, DI To access the CPU registers, function int86() is used.Accessing the Mouse: Accessing the Mouse First step – Initialization Two methods – Polling, Asynchronous I/O Polling can be done using specific functions of int 0x33 e.g. 0x33, 03. Parameter exchange occurs via CPU registers. Disadvantage – hogs too much resource. In asynchronous I/O, user-defined software interrupts are used and control is vectored to an ISR by the driver when a specific action occurs. This can be set using int 0x33, 0C.The Hand of The OS: The Hand of The OS The OS is typically involved in the arena Applications normally set asynchronous I/O on file handles and then lie in wait. When a mouse movement occurs, the mouse driver informs the Event Manager of OS about the event. The Event Manager determines whether to queue the event or not. Normally, the mouse driver automatically tracks the mouse and displays the cursor as the user moves the mouse. When a mouse-up or mouse-down event occurs, the Event Manager records the action in the Operating System event queue & informs the active application about it. The active program decides what action is to be taken – e.g. show the mouse cursor, hide the cursor and draw something onto screen, etc.Some Practical Situations: Some Practical Situations Mouse movement across applications – The Ghost Pointer http://www.permadi.com/tutorial/flash5ChangeCursor/index2.html Double Clicking An application exampleReferences: References Bits and pieces from various sites in the WWW. Most important ones: http://developer.apple.com/documentation/mac/Toolbox http://www.geocities.com/emage2003/vin2.htm http://www.geocities.com/SiliconValley/Vista/2459/programming/mouse.htm http://en.wikipedia.org/wiki/Computer_mouse Pictures reproduced from http://images.gruntville.com/images/hardware/mousemod/mouse_mod5.jpg http://www.agilent.com/labs/news/1999features/fea_gordon_gary.html http://en.wikipedia.org/wiki/Computer_mouse You do not have the permission to view this presentation. In order to view it, please contact the author of the presentation.
about mouse aSGuest116768 Download Post to : URL : Related Presentations : Share Add to Flag Embed Email Send to Blogs and Networks Add to Channel Uploaded from authorPOINT lite Insert YouTube videos in PowerPont slides with aS Desktop Copy embed code: (To copy code, click on the text box) Embed: URL: Thumbnail: WordPress Embed Customize Embed The presentation is successfully added In Your Favorites. Views: 21 Category: Education License: All Rights Reserved Like it (0) Dislike it (0) Added: October 11, 2011 This Presentation is Public Favorites: 0 Presentation Description About Mouse Comments Posting comment... Premium member Presentation Transcript The Optical Mouse and The Mouse Driver: The Optical Mouse and The Mouse DriverOverview: Overview What are Device Drivers? A little history Optical Mouse Internals The Driver and its programming OS interplay Some practical scenarios and examplesDevice Drivers: Device Drivers Definition : A computer program that enables another program (typically an OS) to interact with a hardware device. Instruction ManualThe Computer Mouse – A Brief History: The Computer Mouse – A Brief History First mechanical mouse with a roller ball – Bill English @ Xerox PARC in the early 1970s Modern mechanical mice work using opto-mechanical detectors – IR LEDs + sensors + Slotted disks Optical Mouse – Gary Gordon, Agilent Laboratories, 1999Internals of an Optical Mouse: Internals of an Optical Mouse Uses a tiny camera to take 1500-7080 images per second Camera = Small, red LED or more recently laser + a CMOS sensor Images sent to a DSP, operating typically @ 18 MIPS, for analysis Detects patterns in images and thus estimates motionPros and Cons: Pros and Cons Advantages of an optical mouse : No maintenance, No moving parts, Lasts longer. However, mechanical mice too score over optical ones : Tracking glossy and transparent surfaces, Low power usage in wireless settingsQuality Factors : Quality Factors Image sensor sizes vary from 16x16 pixels to 30x30 pixels Refresh rate (Hz or samples/sec) Mouse refresh rates vary from 1500-7080 samples/sec Max speed (inch/sec) The newest mouse from Microsoft and Logitech have max speeds of 37 and 40 in/secPC Mouse System: PC Mouse System A typical PC mouse controlling system, with specific reference to an optical mouse, can be represented as : Sensors (CMOS) -> Mouse Controller (DSP) -> Communication link (Cable/Wireless) -> Data interface (Serial, PS/2, USB) -> Driver -> ApplicationsThe Mouse Driver: The Mouse Driver Two ways of communication with the mouse – Directly using the data port (cumbersome + variety of ports can be used), Via the installed mouse driver (more convenient) Upon mouse movement, a 3/5-byte packet is sent to the port. The typical description of the data in the 3-byte packet sent to a PS/2 port is as follows : X v Y v Y S X S 10RL XXXXXXXX YYYYYYYY This data packet is decoded by the mouse driver and its internal co-ordinates are updated.Mouse Driver Specifics (DOS): Mouse Driver Specifics (DOS) Mouse drivers communicate with other applications using BIOS interrupts – int 0x33h in DOS Following CPU registers are used for data transfer between AP and the mouse driver : AX, BX, CX, DX, ES, CS, SS, DS, SI, DI To access the CPU registers, function int86() is used.Accessing the Mouse: Accessing the Mouse First step – Initialization Two methods – Polling, Asynchronous I/O Polling can be done using specific functions of int 0x33 e.g. 0x33, 03. Parameter exchange occurs via CPU registers. Disadvantage – hogs too much resource. In asynchronous I/O, user-defined software interrupts are used and control is vectored to an ISR by the driver when a specific action occurs. This can be set using int 0x33, 0C.The Hand of The OS: The Hand of The OS The OS is typically involved in the arena Applications normally set asynchronous I/O on file handles and then lie in wait. When a mouse movement occurs, the mouse driver informs the Event Manager of OS about the event. The Event Manager determines whether to queue the event or not. Normally, the mouse driver automatically tracks the mouse and displays the cursor as the user moves the mouse. When a mouse-up or mouse-down event occurs, the Event Manager records the action in the Operating System event queue & informs the active application about it. The active program decides what action is to be taken – e.g. show the mouse cursor, hide the cursor and draw something onto screen, etc.Some Practical Situations: Some Practical Situations Mouse movement across applications – The Ghost Pointer http://www.permadi.com/tutorial/flash5ChangeCursor/index2.html Double Clicking An application exampleReferences: References Bits and pieces from various sites in the WWW. Most important ones: http://developer.apple.com/documentation/mac/Toolbox http://www.geocities.com/emage2003/vin2.htm http://www.geocities.com/SiliconValley/Vista/2459/programming/mouse.htm http://en.wikipedia.org/wiki/Computer_mouse Pictures reproduced from http://images.gruntville.com/images/hardware/mousemod/mouse_mod5.jpg http://www.agilent.com/labs/news/1999features/fea_gordon_gary.html http://en.wikipedia.org/wiki/Computer_mouse