Thursday, January 1, 2009

Keyboarding Made Simple or USB Complete

Keyboarding Made Simple

Author: Leigh E Zeitz

A new book for a necessary skill
A twenty-first-century revision of the popular Touch Typing Made Simple (over a million copies in print), this breakthrough guide brims with step-by-step exercises for keyboarding with ease. Practice drills make sure the lessons stick. Now anyone can produce error-free text in a flash.



New interesting textbook: Human Resources Management for Hospitality or Pay People Right

USB Complete: Everything You Need to Develop Custom USB Peripherals

Author: Jan Axelson

Now in its third edition, this developer's guide to the Universal Serial Bus (USB) interface covers all aspects of project development, including device programming and host application software. This book shows how to transform the information in the USB 3.0 specifications into functioning devices and application software that communicates with the devices. To help build a foundation for design decisions, developers are guided in selecting device-controller hardware. Developers will also learn the benefits of the USB interface, its limitations, and how certain design choices made at the beginning of the project can reduce development time. Recent developments in host and device hardware, more detail on the standard USB classes, application examples using Microsoft's .NET Framework, and information on developing dual-role devices using USB On-The-Go is provided in detail.

EDN Magazine

EEs . . . interested in a clearer, more concise presentation might do better to obtain a copy of USB Complete, Second Edition.

Midwest Book Review

Now in an updated and expanded second edition, Jan Axelson's USB Complete: Everything You Need To Develop Custom USB Peripherals continues to be an excellent and highly recommended "how to" guide and reference for anyone seeking to develop devices and software that communicate with USB. This new edition explains what developers need to know about version USB 2.0 specifications and its new high speed of 480 Megabits per second. There is also an added example application code in both Visual C++ and Visual Basic, information about new controller chips and development tools, as well as expanded coverage of the USB support under Windows. The value of this highly recommended text is enhanced further with the author's extensive web page with articles, program code, and other links of special interest to USB devlopers.



Table of Contents:
Introductionxiii
1.A Fresh Start1
What USB Can Do3
It's Not Perfect11
History16
2.Is USB Right for My Project?21
Fast Facts21
The Development Process35
3.Inside USB Transfers39
Transfer Basics40
Elements of a Transfer44
Ensuring that Transfers Are Successful61
4.A Transfer Type for Every Purpose71
Control Transfers71
Bulk Transfers78
Interrupt Transfers81
Isochronous Transfers85
More about Time-critical Transfers89
5.Enumeration: How the Host Learns about Devices93
The Process94
Descriptor Types and Contents101
Descriptors in 2.0-compliant Devices116
6.Control Transfers: Structured Requests for Critical Data119
Elements of a Control Transfer119
The Requests127
7.Chip Choices141
Elements of a USB Controller142
Simplifying the Development Process147
A Look at Some Chips157
8.Inside a USB Controller: the Cypress enCoRe171
Selecting a Chip172
The Assembler173
Programming in C180
Chip Architecture181
USB Communications187
Other I/O192
Other Chip Capabilities197
9.Writing Firmware: the Cypress enCoRe209
Hardware and Firmware Responsibilities209
Hardware Development Tools219
10.How the Host Communicates231
Device Driver Basics231
The Win32 Driver Model237
Choosing a Driver Type248
Writing a Custom Driver249
11.How Windows Selects a Driver255
The Process255
Inside an INF File262
Creating INF Files271
12.Device Classes275
Uses of Classes276
Matching a Device to a Class279
13.Human Interface Devices: Firmware Basics293
What is a HID?294
Identifying a Device as a HID299
HID-specific Requests306
Transferring Data314
14.Human Interface Devices: Reports321
Report Structure321
The Main Item Type325
The Global Item Type330
The Local Item Type339
15.Human Interface Devices: Host Application Primer343
Host Communications Overview344
Using API Functions348
Device Attachment and Removal362
16.Human Interface Devices: Host ApplicationExample365
Finding a Device366
Reading and Writing Data384
17.Device Testing401
USB Check's Test Suite402
Test Equipment409
Testing and Logos417
18.Hubs: the Link between Devices and the Host423
Hub Basics424
The Hub Class434
19.Managing Power443
Powering Options443
Hub Power449
Saving Power452
20.Signals and Encoding457
Bus States457
Data Encoding462
Packet Format467
Test Modes470
21.The Electrical Interface473
Transceivers and Signals474
Signal Voltages484
Cables485
Ensuring Signal Quality492
Index497

1 comment:

  1. Thanks for mentioning my book. I used a research-based method (rather than just using a traditional method because that is how it has always been done.) Unfortunately (or fortunately) it is filled with Dr. Z humor that makes it fun to do.
    Good luck with this. If you want more information about keyboarding, visit my blog at http://keyboardingresearch.org

    Leigh Zeitz
    http://drzreflects.com

    ReplyDelete