>> Artículo de la Semana:

El dsPIC es una máquina RISC Harvard modificada que combina las ventajas de control de un microcontrolador de alto rendimiento de 16 bits con la alta velocidad y el hardware de computación de un procesador de señal digital, DSP, para producir una solución eficiente para el diseño de sistemas integrados. Todos los DSC dsPIC® integran memoria de programa Flash y muchos EEPROM.



>> Sección Puertos:



Tabla de Contenido del Libro

USB Complete, Third Edition






1. USB Basics 1

     What USB Can Do

           Benefits for Users

           Benefits for Developers

           Beyond the Hype

     Evolution of an Interface

           Original USB

           USB 2.0

           USB On-The-Go

           Wireless USB

           USB versus IEEE-1394

           USB versus Ethernet

     Bus Components


           Defining Terms

     Division of Labor

           The Host’s Duties

           The Peripheral’s Duties

           What about Speed?

     Developing a Device

           Elements in the Link

           Tools for Developing

           Steps in Developing a Project

2. Inside USB Transfers 33

     Transfer Basics

          Enumeration Communications

          Application Communications

          Managing Data on the Bus

          Host Speed and Bus Speed

     Elements of a Transfer

          Device Endpoints: the Source and Sink of Data

          Pipes: Connecting Endpoints to the Host

          Types of Transfers

          Stream and Message Pipes

          Initiating a Transfer

          Transactions: the Building Blocks of a Transfer

          Transaction Phases

     Ensuring that Transfers Are Successful


          Reporting the Status of Control Transfers

          Error Checking

3. A Transfer Type for Every Purpose 61

     Control Transfers



          Data Size


          Detecting and Handling Errors

     Bulk Transfers



          Data Size


          Detecting and Handling Errors

     Interrupt Transfers



          Data Size


          Detecting and Handling Errors

     Isochronous Transfers



          Data Size


          Detecting and Handling Errors

     More about Time-critical Transfers

          Bus Bandwidth

          Device Capabilities

          Host Capabilities

          Host Latencies

4. Enumeration: How the Host Learns about Devices 85

     The Process

          Enumeration Steps

          Enumerating a Hub

          Device Removal

          Tips for Successful Enumeration


          Types of Descriptors

          Device Descriptor

          Device_qualifier Descriptor

          Configuration Descriptor

          Other_speed_configuration Descriptor

          Interface Association Descriptor

          Interface Descriptor

          Endpoint Descriptor

          String Descriptor

          Other Standard Descriptors

          The Microsoft OS Descriptor

     Descriptors in 2.0-compliant Devices

          Making 1.x Descriptors 2.0-compliant

          Detecting the Speed of a Dual-Speed Device

5. Control Transfers: Structured Requests for Critical Data 117

     Elements of a Control Transfer

          Setup Stage

          Data Stage

          Status Stage

          Handling Errors

          Device Firmware

     The Requests












     Other Control Requests

          Class-specific Requests

          Vendor-specific Requests

6. Chip Choices 141

     Components of a USB Device

          The USB Controller

          Other Device Components

          Simplifying Device Development

          Device Requirements

          Chip Documentation

          Driver Choices

          Debugging Tools

     Controllers with Embedded CPUs

          Microchip PIC18F4550

          Cypress EZ-USB

          Cypress enCoRe II

          Freescale MC68HC908JB16

          Freescale MCF5482 ColdFire

     Controllers that Interface to External CPUs

          National Semiconductor USBN9603

          Philips Semiconductors ISP1181B

          Philips Semiconductors ISP1581

          PLX Technology NET2272

          FTDI Chip FT232BM and FT245BM

7. Device Classes 177

     About Classes

          Device Working Groups

          Elements of a Class Specification

     Defined Classes


          Chip/Smart Card Interface

          Communication Devices: Modems and Networks

          Content Security

          Device Firmware Upgrade

          Human Interface

          IrDA Bridge

          Mass Storage


          Still Image Capture: Cameras and Scanners

          Test and Measurement


     Implementing Non-standard Functions

          Standard or Custom Driver?

          Converting from RS-232

          Converting from the Parallel Port

          PC-to-PC Communications

          Using a Generic Driver

8. How the Host Communicates 233

     Device Driver Basics

          Insulating Applications from the Details

          Options for USB Devices

          User and Kernel Modes

     WDM Drivers

          Layered Drivers

          Communication Flow

          More Examples

     Creating a Custom Driver

          Writing a Driver from Scratch

          Using a Driver Toolkit

     Using GUIDs

          Device Setup GUIDs

          Device Interface GUIDs

9. Matching a Driver to a Device 253

     Using the Device Manager

          Viewing Devices

          Property Pages

     Device Information in the Registry

          The Hardware Key

          The Class Key

          The Driver Key

          The Service Key

     Inside INF Files



     Using Device Identification Strings

          Finding a Match

          Do You Need to Provide an INF File?

     Tools and Diagnostic Aids

          Tips for Using INF Files

          What the User Sees

10. Detecting Devices 281

     A Brief Guide to Calling API Functions

          Managed and Unmanaged Code


          Using Visual C++ .NET

          Using Visual Basic .NET

     Finding Your Device

          Obtaining the Device Interface GUID

          Requesting a Pointer to a Device Information Set

          Identifying a Device Interface

          Requesting a Structure Containing the Device Path Name

          Extracting the Device Path Name

          Closing Communications

     Obtaining a Handle

          Requesting a Communications Handle

          Closing the Handle

     Detecting Attachment and Removal

          About Device Notifications

          Registering for Device Notifications

          Capturing Device Change Messages

          Reading Device Change Messages

          Retrieving the Device Path Name in the Message

          Stopping Device Notifications

11. Human Interface Devices: Using Control and Interrupt Transfers 319

     What is a HID?

          Hardware Requirements

          Firmware Requirements

     Identifying a Device as a HID

          The HID Interface

          HID Class Descriptor

          Report Descriptors

     HID-specific Requests







     Transferring Data

          About the Example Code

          Sending Reports via Interrupt Transfers

          Receiving Reports via Interrupt Transfers

          Sending Reports via Control Transfers

          Receiving Reports via Control Transfers

12. Human Interface Devices: Reports 351

     Report Structure

          Using the HID Descriptor Tool

          Control and Data Item Values

          Item Types

     The Main Item Type

          Input, Output, and Feature Items

          Collection and End Collection Items

     The Global Item Type

          Identifying the Report

          Describing the Data’s Use

          Converting Units

          Converting Raw Data

          Describing the Data’s Size and Format

          Saving and Restoring Global Items

     The Local Item Type

          Physical Descriptors


13. Human Interface Devices: Host Application 375

     HID API Functions

          Requesting Information about the HID

          Sending and Receiving Reports

          Providing and Using Report Data

          Managing HID Communications

     Identifying a Device

          Reading the Vendor and Product IDs

          Getting a Pointer to a Buffer with Device Capabilities

          Getting the Device’s Capabilities

          Getting the Capabilities of the Buttons and Values

     Sending and Receiving Reports

          Sending an Output Report to the Device

          Reading an Input Report from the Device

          Writing a Feature Report to the Device

          Reading a Feature Report from a Device

          Closing Communications

14. Bulk Transfers for Any CPU 407

     Two Projects

          Asynchronous Serial Interface

          Parallel Interface

     Host Programming

          Using the D2XX Direct Driver

          Selecting a Driver

     Performance Tips

          Speed Considerations

          Minimizing Latency

          Preventing Lost Data

     EEPROM Programming

          EEPROM Data

          Editing the Data

15. Hubs: the Link between Devices and the Host 433

     Hub Basics

          The Hub Repeater

          The Transaction Translator

          The Hub Controller


          Maintaing an Idle Bus

          How Many Hubs in Series?

     The Hub Class

          Hub Descriptors

          Hub-class Requests

          Port Indicators

16. Managing Power 455

     Powering Options


          Which Peripherals Can Use Bus Power?

          Power Needs

          Informing the Host

     Hub Power

          Power Sources

          Over-current Protection

          Power Switching

     Saving Power

          Global and Selective Suspends

          Current Limits for Suspended Devices

          Resuming Communications

          Power Management under Windows

17. Testing and Debugging 471


          Hardware Protocol Analyzers

          Software Protocol Analyzers

          Traffic Generators


          Compliance Testing

          WHQL Testing

18. Signals and Encoding 489

     Bus States

          Low-speed and Full-speed Bus States

          High-speed Bus States

     Data Encoding

          Staying Synchronized

          Timing Accuracy

     Packet Format


          Inter-packet Delay

     Test Modes

          Entering and Exiting Test Modes

          The Modes

19. The Electrical Interface 505

     Transceivers and Signals

          Cable Segments

          Low- and Full-speed Transceivers

          High-speed Transceivers

     Signal Voltages

          Low and Full Speeds

          High Speed




          Detachable and Captive Cables

          Cable Length

     Ensuring Signal Quality

          Sources of Noise

          Balanced Lines

          Twisted Pairs


          Edge Rates

          Isolated Interfaces

     Wireless Links

          Cypress WirelessUSB

          The Wireless USB Initiative

          Other Options

20. Dual-role Devices with USB On-The-Go 535

    Device and Host in One

          Capabilities and Limits

          Requirements for an OTG Device

          The OTG Descriptor

          Feature Codes for HNP

     OTG Controller Chips

          Philips ISP1362

          TransDimension TD242LP

          Cypress CY7C67200 EZ-OTG

          Philips ISP1261 Bridge Controller


1.- Puerto Paralelo (ver)

2.- Puerto Serial (ver)

3.- Puerto USB (ver)


Lima -Perú, año 2006

Sitio web desarrollado por: Carlos A. Sam csam@redesperu.com - csam@esan.org.pe