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

Chapter 11: Moving a Lot of Data

OVERVIEW

In most of the examples covered so far, small amounts of intermittent data have been moved using the built-in HID device driver. This approach has the benefit of being simple to implement, since the operating system contains all of the driver code necessary to enable an application program to monitor and control the device. An overview of the buttons-and-lights solution of Chapter 7 is shown in Figure 11-1. We wrote the PC host application program and all of the I/O device firmware to implement this solution.


Figure 11-1: Overview of HID application

Many applications require a large amount of data to be moved and, conceptually, the solution shown in Figure 11-2 is the same as the HID application. Unfortunately, the Windows OS does not have a simple BlockIO transfer driver, so additional steps must be completed in this design example. I don t like changing too many variables at the same time, so I shall use the same hardware as the HID example the key points of a BlockIO transfer example will be covered in depth, so that you can understand how to implement your specific design. Most of the firmware developed in Chapter 7 will be reusable, so in this chapter I will only focus on the differences.


Figure 11-2: Overview of a BlockIO transfer application

Most BlockIO devices operate on discrete elements of data such as a single page or a single image, and some method of separating multiple blocks is required. Typically, an I/O device...

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: Fieldbus Products
Finish!
Privacy Policy

This is embarrasing...

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