USB Design by Example: A Practical Guide to Building I/O Devices, Second Edition

Chapter 9: Expanding the Basic Design

The previous two chapters have explained, in detail, how to create a simple, compliant USB I/O device that we could manufacture and sell throughout the world. This chapter looks at expanding the design from a single 8-bit input port and single 8-bit output port, to solve a wider variety of applications problems.

The basic design uses less than 5% of the capability of the EZ-USB component. This gives us two directions in which to move the design what else could we do with the remaining 95% of the device s capability, or, how could we make the design much cheaper. We will explore both opportunities in this chapter. Additionally, many readers of the first edition of this book shuddered at the sight of assembler code within the microcontroller. I personally favor this approach because it allows me to pack the code very efficiently, today, however, when devices have minimum memory sizes of 4 KB and 8 KB, the better maintainability of a high-level language (such as C) makes it a better choice for all but the smallest of projects.

WHAT WE HAVE BUILT

The first buttons and lights example was implemented as a HID, so that we did not have to write a device driver. It is important to look below the surface to realize exactly what we have built. By understanding how a HID device interacts with the operating system, we can readily see methods of expanding the basic design.

Figure 9-1 is in four parts it shows a time-lag view...

UNLIMITED FREE
ACCESS
TO THE WORLD'S BEST IDEAS

SUBMIT
Already a GlobalSpec user? Log in.

This is embarrasing...

An error occurred while processing the form. Please try again in a few minutes.

Customize Your GlobalSpec Experience

Category: Tablet Computers
Finish!
Privacy Policy

This is embarrasing...

An error occurred while processing the form. Please try again in a few minutes.