Red de conocimiento informático - Problemas con los teléfonos móviles - Índice de la guía de desarrollo de aplicaciones USB

Índice de la guía de desarrollo de aplicaciones USB

Parte 1: Conceptos básicos del desarrollo USB

Capítulo 1 Descripción general de USB 3

1.1 La generación de USB 3

1.2 Características del bus USB 4

1.3 Estructura del bus USB 6

1.3.1 Host y dispositivo USB 6

1.3.2 Conexión USB 7

1.3.3 En capas Estructura del sistema USB 8

1.4 Proceso de desarrollo de USB 9

1.5 Resumen 10

Capítulo 2 Administración de energía USB 11

2.1 Alimentación USB suministro 11

2.1.1 Indicador de alimentación de la interfaz USB 11

2.1.2 Distribución de energía 12

2.2 Administración de energía USB 13

2.2 .1 Mantenimiento de la fuente de alimentación 13

2.2.2 Suspensión del dispositivo USB 13

2.2.3 Suspensión del hub USB 14

2.3 Resumen 14

Capítulo 3 Configuración del dispositivo USB 15

3.1 Descriptor de dispositivo estándar USB 15

3.1.1 Descriptor de dispositivo 16

3.1.2 Descriptor de configuración 18

3.1.3 Descriptor de cadena 20

3.1.4 Descriptor de interfaz 21

3.1.5 Descriptor de punto final 22

3.1.6 Descriptor de calificación del dispositivo 24

3.1.7 Descriptor de configuración de otra velocidad 26

3.2 Descriptor de concentrador USB 28

3.2.1 Descriptor de dispositivo concentrador 28

3.2.2 Descriptor de configuración del concentrador 30

3.2.3 Descriptor de la interfaz del concentrador 32

3.2.4 Descriptor del punto final del concentrador 33

3.2.5 Descriptor de clase del concentrador 34

3.3 Descriptor de dispositivo HID 36

3.3.1 Introducción a los dispositivos HID 36

3.3.2 Descriptores básicos de HID 38

3.3.3 Descriptores de clase HID 40

3.4 Resumen 42

Capítulo 4 Transmisión de datos USB 44

4.1 Introducción a la transmisión de datos USB 44

4.1.1 Datos USB Proceso de transmisión 44

4.1.2 Procesamiento de transacciones USB 45

4.1.3 Tipo de transmisión de datos USB 46

4.2 Transmisión de control USB 46

4.2.1 Longitud del paquete de datos 47

4.2 .2 Procesamiento de transacciones 47

4.3 Transferencia en bloque USB 49

4.3.1 Longitud del paquete 49

4.3.2 Procesamiento de transacciones 49

4.4 Transmisión de interrupción USB 50

4.4.1 Longitud del paquete de datos 50

4.4.2 Procesamiento de transacciones 51

4.5 Transmisión síncrona USB 51

4.5.1 Longitud del paquete 51

4.5.2 Procesamiento de transacciones 52

4.6 Resumen 52

Capítulo 5 Solicitud de dispositivo USB 53

5.1 Solicitud de dispositivo USB estándar 53

5.1.1 Solicitud de lectura de estado GetStatus 54

5.1.2 Solicitud de borrado de función ClearFeature 56

5.1.3 Establecer solicitud de función SetFeature 56

5.1.4 Establecer solicitud de dirección SetAddress 57

5.1.5 Leer solicitud de descriptor GetDescription 57

5.1.6 Establecer solicitud de descriptor SetDescriptor 57

5

.1.7 Leer solicitud de configuración GetConfiguration 58

5.1.8 Establecer solicitud de configuración SetConfiguration 58

5.1.9 Leer solicitud de interfaz GetInterface 59

5.1.10 Configuración de solicitud de interfaz SetInterface 59

5.1.11 Solicitud de marco de sincronización SynchFrame 59

5.2 Solicitud de clase de concentrador USB 60

5.2.1 Solicitud de lectura de estado del concentrador GetHubStatus 60

5.2.2 Leer el estado del puerto descendente y solicitar GetPortStatus 61

5.2.3 Deshabilitar la solicitud de función del concentrador ClearHubFeature 61

5.2.4 Deshabilitar la solicitud de función del puerto de enlace descendente ClearPortFeature 62

5.2.5 Habilitar solicitud de función de concentrador SetHubFeature 63

5.2.6 Habilitar solicitud de función de puerto de enlace descendente SetPortFeature 63

5.2.7 Leer descripción de concentrador Solicitud de descriptor GetHubDescriptor 64

5.2.8 Establecer solicitud de descriptor de concentrador SetHubDescriptor 64

5.2.9 Borrar solicitud de bloque TT ClearTTBuffer 65

5.2.10 Restablecer solicitud de bloque TT ResetTT 65

5.2.11 Solicitud de lectura del estado interno de TT GetTTState 66

5.2.12 Solicitud de parada de operación normal de TT StopTT 66

5.3 Solicitud de clase de dispositivo HID 67

5.3.1 Obtener solicitud de informe GetReport 67

5.3.2 Obtener solicitud de tasa de inactividad GetIdle 68

5.3.3 Obtener solicitud de protocolo HID GetProtocol 69

5.3 .4 Establecer la solicitud de informe SetReport 69

5.3.5 Establecer la solicitud de tasa de inactividad SetIdle 70

5.3.6 Establecer la solicitud de protocolo HID SetProtocol 71

5.4 Ejemplo de solicitud de dispositivo USB 71

5.4.1 Declaración de solicitud de dispositivo 71

5.4.2 Respuesta a solicitud de dispositivo 72

5.5 Resumen 77

Capítulo 6 Identificación y procesamiento de componentes 78

6.1 Embalaje de componentes 78

6.1.1 Desarrollo del embalaje de componentes 78

6.1.2 Resumen del embalaje de componentes 79

6.2 Soldadura de componentes 88

6.2.1 Soldadura de dispositivos duales en línea 88

6.2.2 Soldadura superficial de componentes 88

6.3 Chips de interfaz USB de uso común 89

6.3.1 Chips de interfaz USB de Cypress 90

6.3.2 Chip de interfaz USB de Philips 95

6.3 .3 Chip de interfaz USB de Nanjing Qinheng Company 97

6.4 Resumen 100

Capítulo 7 Diseño de la placa de circuito 101

p>

7.1 Conceptos básicos de las placas de circuito impreso 101

7.1.1 Clasificación de placas de circuito impreso 101

7.1.2 Conceptos básicos de placas de circuito impreso 102

7.2 Reglas de diseño de placas de circuito impreso 104

7.2.1 Selección de la placa de circuito 105

7.2.2 Disposición de la placa de circuito 105

7.2. 3. Disposición de la placa de circuito 106

7.2.4 Otro diseño reglas 107

7.3 Diseño de PCB de interfaz USB de alta velocidad 109

7.3.1 Deficiente

Subimpedancia 109

7.3.2 Señal USB 110

7.3.3 Fuente de alimentación y tierra 112

7.3.4 Oscilador de cristal 113

7.4 Resumen 113

Parte 2 Programación USB

Capítulo 8 Creación de un entorno de desarrollo de interfaz USB 117

8.1 Entorno de desarrollo de firmware USB 117

8.1.1 Introducción a Keil μVision3 117

8.1.2 Entorno de desarrollo integrado Keil mVision3 118

8.1.3 Cypress Development Kit 119

8.2 Desarrollo de PC entorno 120

8.2.1 Plataforma de desarrollo Visual Studio 120

8.2.2 Plataforma de desarrollo LabVIEW 121

8.3 Entorno de desarrollo de controladores USB 121

8.3.1 Introducción al software DriverStudio 121

8.3.2 Configuración del entorno de compilación DriverSutdio 123

8.3.3 Plataforma de desarrollo NI-VISA 124

8.3.4 Controlador universal USB 125

8.4 Sistema de desarrollo mínimo USB 125

8.5 Entorno de desarrollo de software y hardware USB 127

8.6 Resumen 127

Capítulo Capítulo 9 Programación del firmware USB 128

9.1 Descriptor de configuración del dispositivo USB 128

9.1.1 Declaración de variables 128

9.1.2 Descripción del dispositivo 129

9.1.3 Configuración del dispositivo 130

9.1.4 Descripción de cadena 133

9.2 Solicitud de dispositivo USB 134

9.2.1 Declaración de solicitud de dispositivo personalizado 134

9.2.2 Respuesta a la solicitud de dispositivo personalizado 135

9.3 Reenumeración de USB 139

9.4 Resumen 142

Capítulo 10 Desarrollo del controlador USB 143

10.1 Desarrollo de controladores USB en Windows 143

10.1.1 Creación de controladores USB 144

10.1.2 Diseño de controladores USB 146

10.2 Desarrollo de controladores USB en entorno LabVIEW 147

10.2.1 Introducción al controlador USB NI-VISA 147

10.2.2 Creación de un controlador USB 148

10.3 Controlador USB general descripción general 149

10.4 Introducción a los archivos INF 149

10.4.1 Proceso de procesamiento de archivos INF 150

10.4.2 Estructura de los archivos INF 150

10.4.3 Sección de versión [Version] 151

10.4.4 Sección de letra de unidad del archivo fuente [SourceDisksNames] 153

10.4.5 Sección del archivo fuente [SourceDisksFiles] 153

10.4.6 Sección del disco de destino [DestinationDirs] 153

10.4.7 Sección del proveedor [Fabricante] 154

10.4.8 Sección de instalación predeterminada [DefaultInstall] 154

10.4.9 Sección de cadena [String] 155

10.5 Controlador USB universal en entorno Visual Studio 6.0 155

10.5.1 Archivo CyLoad.inf 155

10.5.2 Archivo CyUSB.inf 158

10.6 Controlador USB universal en entorno Visual Studio 2005 161<

/p>

10.7 Instalación del controlador 163

10.8 Resumen 165

Capítulo 11 Desarrollo de programas para PC 166

11.1 Visual C++ lee y escribe en dispositivos USB 166

11.1.1 Clase de función de control CYIOCTL 166

11.1.2 Clase de función de control CyAPI 173

11.2 Dispositivo USB de lectura y escritura de Visual C# 194

11.2.1 CyHidDevice clase 194

11.2.2 CyIsocEndPoint clase 200

11.2.3 CyUSBStorDevice clase 204

11.3 LabVIEW lectura y escritura en dispositivos USB 206

11.3.1 Prueba de dispositivo USB 207

11.3.2 Función de control VISA 209

11.4 Resumen 211

Parte 3 Ejemplos de aplicaciones USB

Capítulo 12 Uso de EEPROM para enumeración USB 215

12.1 Descripción general del modo de inicio de EZ-USB FX2LP 215

12.1.1 Modo de inicio de EZ-USB FX2LP 216

12.1.2 Arranque sin EEPROM 216

12.1.3 Arranque con EEPROM cuyo primer byte es 0xC0 217

12.1.4 0xC2 Inicio de EEPROM 217

12.1.5 Configuración de inicio 218

12.2 Circuito de inicio USB de arranque EEPROM 221

12.3 Programación de firmware USB 222

12.3.1 Crear proyecto USB 223

12.3.2 Archivo de programa principal 224

12.3.3 Función de solicitud de respuesta 226

12.3.4 Lectura y escritura de datos Subrutina 232

12.3.5 Descriptor USB 233

12.4 Diseño del controlador 237

12.4.1 Controlador de descarga de firmware USB 237

12.4.2 Controlador de comunicación USB 239

12.5 Programación del host 241

12.5.1 Creación de proyectos 241

12.5.2 Diseño de interfaz de usuario 243

12.5.3 Diseño de código de programa 243

12.6 Resumen 246

Capítulo 13 Ejemplo de pantalla LED de control USB 247

13.1 Tubo digital LED Introducción 247

13.1.1 *** Tubo digital LED de 7 segmentos de ánodo 247

13.1.2 ***Tubo digital LED de 7 segmentos de cátodo 249

13.2 Ejemplo de pantalla LED de control USB 250

13.3 Programación del firmware USB 251

13.3.1 Creación de un proyecto USB 251

13.3.2 Programación de la función principal 253

13.3.3 Función de respuesta a solicitud del dispositivo 255

13.3.4 Subfunción de control de LED 261

13.3.5 Descriptor de firmware USB 261

13.4 Programación del host USB 266

13.4.1 Crear un proyecto 267

13.4.2 Programación 268

13.5 Resumen 273

Capítulo Capítulo 14 Módulo de pantalla de cristal líquido LCD controlado por USB 274

14.1 Descripción general del módulo de pantalla de cristal líquido 274

14.1.1 Clasificación del módulo de pantalla de cristal líquido 275

14.1.2 Pantalla de cristal líquido Características del módulo 276

14.2 Controlador de control de pantalla de cristal líquido 27

6

14.2.1 Descripción general del controlador de control LCD 276

14.2.2 Función del controlador de control LCD 277

14.3 Conjunto de instrucciones del controlador LCD 280

p>

14.3.1 Conjunto de instrucciones básico 280

14.3.2 Conjunto de instrucciones extendido 283

14.3.3 Modo de operación de instrucción del controlador 285

14.4 Diagrama esquemático del circuito LCD 287

14.5 Programación del firmware 289

14.5.1 Creación de proyecto USB 289

14.5.2 Archivo de programa principal 290

14.5.3 Función de solicitud de respuesta 293

14.5.4 Subrutina de inicialización 298

14.5.5 Subrutina de visualización de caracteres chinos LCD 298

14.5.6 Punto Subfunción de control de cristal líquido de patrón de matriz 299

14.5.7 Descriptor USB 303

14.6 Programación del host 308

14.6.1 Creación de proyecto 308

p>

14.6.2 Diseño de interfaz de usuario 310

14.6.3 Diseño de código de programa 311

14.7 Resumen 313

Capítulo 15 Programación del teclado USB 314

15.1 Descripción general de los dispositivos HID 314

15.2 Ejemplo de diseño de teclado USB 315

15.2.1 Esquema del circuito 315

15.2.2 Establecer USB proyecto 316

15.2.3 Archivo de programa principal 317

15.2.4 Función de respuesta de solicitud de dispositivo estándar 320

15.2.5 Implementación de la función de teclado USB 325

15.2.6 Descriptor del teclado USB 328

15.3 Resumen 333

Capítulo 16 Programación del mouse USB 334

16.1 Descripción general del hardware del mouse USB 334

16.2 Esquema del circuito 335

16.3 Programación del firmware 336

16.3.1 Definición de interfaz 337

16.3.2 Función principal 338

16.3.3 Función de inicialización 338

16.4 Código de implementación de función 339

16.4.1 Función de bucle principal usbmain 339

16.4 .2 Función de transacción del mouse MouseTask 340

16.4.3 Función de suspensión Suspend 340

16.4.4 Función de procesamiento de paquetes de datos HandleSetup 342

16.4.5 Función de procesamiento de paquetes de datos de entrada HandleIn 343

16.4.6 Función de lectura de datos USB_control_read 343

16.4.7 Función de carga FIFO LoadEP0Fifo 344

16.4.8 Función de parada de punto final USB_Stall_In_Out 344

16.4 .9 Función de inactividad de bus BusInactive 344

16.4.10 Función de medición óptica ProcessOptics 345

16.4.11 Función de botón de lectura GetButtons 346

16.4.12 Función MouseMoved MouseMoved 346

16.5 Procesamiento de solicitud de dispositivo HID 347

16.5.1 Establecer solicitud de configuración SetConfiguration 347

16.5.2 Establecer solicitud de dirección SetAddress 347

16.5.3 Borrar solicitud de bandera ClearFeature 348

16.5.4 Establecer solicitud de bandera SetFeatur

e 349

16.5.5 Leer solicitud de descriptor GetDescriptor 349

16.5.6 Leer solicitud de estado GetStatus 351

16.5.7 Establecer solicitud inactiva SetIdle 352

16.5.8 Establecer solicitud de protocolo SetProtocol 353

16.5.9 Leer solicitud de informe GetReport 353

16.5.10 Leer solicitud inactiva GetIdle 354

16.5 .11 Leer solicitud de protocolo GetProtocol 354

16.5.12 Leer solicitud de configuración GetConfiguration 354

16.6 Descriptor de mouse USB 355

16.6 .1 Descriptor de dispositivo 355

16.6.2 Descriptor de configuración 355

16.6.3 Descriptor de interfaz 356

16.6.4 Descriptor de punto final 356

16.6.5 Descriptor de clase HID 357

16.6.6 Descriptor de informe 357

16.6.7 Descriptor de cadena 358

16.7 Resumen 359

Capítulo 17 Control USB D/A Ejemplo de salida de conversión 360

17.1 Descripción general de la conversión D/A 360

17.1.1 Principio de la conversión D/A 360

17.1.2 Tipos de D/ Convertidores A 361

17.1.3 Parámetros de rendimiento de los convertidores D/A 363

17.2 Chip de conversión D/A de alta velocidad AD558 364

17.2.1 Introducción a AD558 364

17.2.2 Modo de salida AD558 365

17.2.3 Bloqueo de datos de AD558 366

17.3 Esquema del circuito 367

17.4 Programación de firmware 369

17.4.1 Creación de proyecto USB 369

17.4.2 Archivo de programa principal 370

17.4.3 Función de solicitud de respuesta 373

17.4.4 Subfunción de conversión D/A 378

17.4.5 Descriptor de configuración del dispositivo USB 378

17.5 Programación del host 384

17.5.1 Creación de proyectos 384

17.5.2 Diseño de interfaz de usuario 386

17.5.3 Diseño de código de programa 386

17.6 Resumen 391

Capítulo 18 Ejemplo de adquisición de datos de conversión A/D controlada por USB 392

18.1 Descripción general del convertidor A/D 392

18.1.1 Principio de conversión A/D 393

18.1. 2 Parámetros técnicos del convertidor A/D 395

18.1.3 Principio de selección del convertidor A/D 396

18.2 Convertidor A/D de voltaje de 8 canales MAX197 397

18.2.1 La interfaz de pin de MAX197 397

18.2.2 El byte de control de MAX197 398

18.2.3 Temporización de control de MAX197 400

18.3 USB Ejemplo de adquisición de voltaje analógico 401

18.3.1 Esquema del circuito del sistema 401

18.3.2 Circuito de estabilización de voltaje 403

18.4 Programación del firmware USB 403

18.4.1 Creación de proyecto USB 404

18.4.2 Programación de funciones principales 404

18.4.3 Procesamiento de solicitud de dispositivo 407

18.4.4 A/D Subfunción de control de conversión 413

18.4.5 Descriptor USB 413

p>

18.5 Programación de PC 418

18.5.1 Establecimiento del proyecto 418

18.5.2 Programación 420

18.6 Resumen 424

Capítulo 19 Ejemplo de prueba de RAM USB 425

19.1 Memoria EZ-USB FX2LP 425

19.1.1 RAM de datos interna 425

19.1 .2 Programa y datos externos espacio de almacenamiento 428

19.2 Esquema del circuito de prueba de RAM USB 432

19.3 Diseño del programa de firmware 433

19.3.1 Establecer proyecto USB 433

19.3.2 Archivo de programa principal 434

19.3.3 Función de área de RAM de prueba test_mem 437

19.3.4 Estado de la función de análisis de código de error 439

19.3.5 Específico función de salida de cadena statString 439

19.4 Resumen 440

Capítulo 20 Lectura y escritura USB EEPROM del bus I2C 441

20.1 Descripción general del bus I2C 441

20.1.1 Principio de funcionamiento del bus I2C 442

20.1.2 Capacidad de carga del bus I2C 442

20.1.3 Direccionamiento del bus I2C Método 442

20.1 .4 Protocolo de transmisión de datos del bus I2C 443

20.2 Esquema del circuito 445

20.3 Programación del firmware 447

20.3 .1 Crear proyecto USB 447

20.3.2 Archivo de programa principal 448

20.3.3 Procesamiento de respuesta de solicitud 451

20.3.4 Lectura y escritura de EEPROM 456

20.3.5 Subinterfaz I2C -función 457

20.3.6 Descriptor de configuración del dispositivo USB 462

20.4 Diseño del programa principal 467

20.4 1. Construyendo un proyecto 467

<. p>20.4.2 Diseño de interfaz de usuario 468

20.4.3 Diseño de código de programa 469

20.5 Resumen 472

Capítulo Capítulo 21 Lectura y escritura de USB EEPROM serial de Microware 473

21.1 Descripción general del bus serie de Microware 473

21.2 Memoria EEPROM de la interfaz del bus serie de Microware 474

21.2. Descripción general de la interfaz del bus serie de Microware EEPROM 474.

21.2.2 Instrucciones EEPROM de la interfaz de bus serie de Microware 475

21.2.3 Temporización de las instrucciones EEPROM de la interfaz de bus serie de Microware 476

p>

21.3 Esquema del circuito 479

21.4 Programación de firmware 480

21.4.1 Creación de proyecto USB 481

21.4.2 Archivo de programa principal 482

21.4.3 Función de solicitud de respuesta 485

21.4.4 Subfunción de lectura y escritura de Microware 489

21.4.5 Subfunción de lectura y escritura de bus serie de Microware de tres hilos 490

21.4 .6 Descriptor de configuración del dispositivo USB 493

21.5 Diseño del programa principal 498

21.5.1 Creación de proyecto 499

21.5 .2 Diseño de interfaz de usuario 500

21.5.3 Diseño de código de programa 501

21.6 Resumen 503

Capítulo 22 Chip de reloj en tiempo real de control USB DS1302 504

22.1 Reloj en tiempo real chip

Descripción general de DS1302 504

22.1.1 Descripción general del chip de reloj en tiempo real DS1302 504

22.1.2 Byte de comando DS1302 del chip de reloj en tiempo real 505

22.1.3 Formato de datos del chip de reloj en tiempo real DS1302 505

22.1.4 Método de transmisión de datos del chip de reloj en tiempo real DS1302 507

22.2 Esquema del circuito 508

22.3 Programa de firmware diseño 510

22.3.1 Creación de proyecto USB 510

22.3.2 Archivo de programa principal 511

22.3.3 Procesamiento de respuesta de solicitud 514

22.3.4 Operación del reloj en tiempo real 519

22.3.5 Subfunción de control DS1302 521

22.3.6 Descriptor de configuración del dispositivo USB 524

22.4 Host programación de computadoras 529

22.4.1 Construcción de un proyecto 530

22.4.2 Diseño de interfaz de usuario 531

22.4.3 Diseño de código de programa 532

22.5 Resumen 535

Capítulo 23 Sensor de temperatura de bus único DS18S20 536 de adquisición USB

23.1 Descripción general de bus único 536

23.2 Sensor de temperatura de bus único DS18S20 537

23.2.1 Descripción general del sensor de temperatura DS18S20 538

23.2.2 Método de suministro de energía de DS18S20 538

23.2.3 Operación de datos de DS18S20 539

23.2.4 Conversión de temperatura del funcionamiento del DS18S20 541

23.3 Esquema del circuito 542

23.4 Programación del firmware 543

23.4.1 Creación de proyecto USB 543

23.4.2 Archivo de programa principal 544

23.4.3 Procesamiento de respuesta de solicitud 547

23.4.4 Operación de lectura de temperatura 552

23.4.5 DS18S20 subfunción de control 553

23.4.6 Descriptor de configuración del dispositivo USB 555

23.5 Programación de PC 560

23.5.1 Establecimiento de proyecto 561

23.5.2 Diseño de interfaz de usuario 562

23.5.3 Diseño de código de programa 563

23.6 Resumen 566

Capítulo 24 Ejemplo de control de impresora USB 567

24.1 CH375A chip de interfaz 567

24.1.1 CH375A descripción general 568

24.1.2 CH375A estructura interna 570

24.2 CH375A instrucciones 570

24.2.1 Instrucciones básicas del CH375A 571

24.2.2 Instrucciones de clase del dispositivo de almacenamiento USB 574

24.3 Modo de interfaz del CH375A 580

24.3.1 Interfaz paralela 581

p>

24.3.2 Interfaz serie 581

24.4 Ejemplo de control de impresora USB 582

24.4.1 Esquema del circuito 582

24.4 .2 Método de control de la impresora USB 586

24.5 Programación 586

24.5.1 Creación de proyecto 586

24.5.2 Archivo de encabezado 587

24.5.3. Definición de parámetros y estructura 591

24.5.4 Función principal 593

24.5.5 Subfunción de operación básica 594

24.5.6 Sincronización de datos y subfunciones de lectura y escritura Función 596

24.5.7 Subfunción de operación del host CH375A 59

7

24.6 Resumen 602

Capítulo 25 Ejemplo de cargador de interfaz USB 603

25.1 Batería de litio y descripción general de su carga 603

25.1 .1 Descripción general de las baterías de litio 603

25.1.2 Descripción general de la carga de baterías de litio 604

25.2 Chip de gestión de carga inteligente MAX1898 604

25.2.1 Selección de gestión de carga inteligente chips Modelo 605

25.2.2 Descripción general del chip de gestión de carga inteligente MAX1898 605

25.2.3 Principio de funcionamiento de la carga MAX1898 606

25.3 Ejemplo de cargador de interfaz USB 607

25.3.1 Esquema del circuito 608

25.3.2 Función del cargador de interfaz USB 610

25.4 Programación del firmware 611

25.4.1 Establecer proyecto USB 611

25.4.2 Archivo de programa principal 612

25.4.3 Procesamiento de respuesta de solicitud 615

25.4.4 Gestión de carga inteligente 620

25.4.5 Descriptor de configuración del dispositivo USB 621

25.5 Resumen 626

Capítulo 26 Ejemplo de puerto serie USB a RS-232 627

26.1 Introducción a CH341 627

26.2 Modo de funcionamiento del puerto serie CH341 628

26.2.1 Modo de puerto serie asíncrono 628

26.2.2 Modo de puerto serie síncrono 631

26.3 Modo de trabajo del puerto de impresión CH341 631

26.4 Modo de trabajo del puerto paralelo CH341 633

26.4.1 Modo de puerto paralelo EPP 634

26.4.2 Paralelo MEM modo de puerto 635

26.5 Configuración de la función CH341 635

26.5.1 Configuración de combinación directa 635

26.5.2 Configuración de chip externo 635

26.6 Ejemplo de puerto serie USB a RS-232 636

26.6.1 Esquema del circuito 636

26.6.2 Introducción a la interfaz de hardware 637

26.6.3 Uso de la conexión 638

26.7 Resumen 639

Capítulo 27 Ejemplo de diseño de disco USB 640

27.1 Memoria Nand-Flash 640

27.1.1 Nor-Flash y Nand-Flash 640

27.1.2 Memoria Nand-Flash K9F2G08U0M 641

27.1.3 Estructura organizativa de la memoria Nand-Flash 642

27.1.4 Instrucciones de memoria Nand-Flash Set 643

27.1.5 Funcionamiento de la memoria Nand-Flash 643

27.2 Sistema de archivos basado en Nand-Flash 644

27.2.1 Introducción al formato de partición 644

27.2.2 Sistema de archivos basado en Nand-Flash 645

27.2.3 Estructura FAT en memoria Nand-Flash 649

27.3 Nand -Controlador flash 649

27.3.1 Introducción a CY7C68023 649

27.3.2 Compatible con memoria Nand-Flash 651

27.4 Ejemplo de diseño de disco U 652

27.4 .1 Esquema del circuito 652

27.4.2 Requisitos de diseño de PCB 653

27.4.3 Formato de configuración 654

27.5 Resumen 655

Capítulo 28 Datos USB en LabVIEW

Ejemplo de adquisición 656

28.1 Introducción al modo FIFO esclavo 656

28.1.1 Pines y funciones del modo FIFO esclavo 657

28.1.2 Transmisión de datos típica 661

28.2 Diseño del firmware FIFO esclavo 662

28.2.1 Conceptos básicos del firmware FIFO esclavo 662

28.2.2 Modo de entrada y salida automática 663

28.2.3 Inicialización del modo Auto In/Auto Out 664

28.2.4 Acceso a CPU paquete OUT 667

28.2.5 Acceso a CPU paquete IN 669

28.3 Esquema del circuito 671

28.4 Programación del firmware 672

28.4.1 Creación de proyecto USB 672

28.4.2 Archivo de programa principal 673

28.4 .3 Función de respuesta de solicitud 676

28.4.4 Subfunción de inicialización 680

28.4.5 Subfunción de solicitud personalizada 681

28.4 .6 Procesamiento de transferencia en bloque 682

28.4.7 Descriptor de configuración del dispositivo USB 683

28.5 Programación en LabVIEW 688

28.5.1 Controlador USB 688

28.5.2 Programación del panel frontal 690

28.5.3 Diseño de diagrama de bloques 690

28.6 Resumen 691

Parte 4 USB.30 Outlook

Capítulo 29 Descripción general de USB 3.0695

29.1 La generación y características básicas de USB 3.0695

29.1.1 La generación de USB 3.0695

29.1.2 Características básicas de USB 3.0 696

29.1.3 Logotipo de USB 3.0 697

29.2 Análisis técnico de USB 3.0 698

29.2 Definición de 1 pin USB 3.0 698

29.2.2 Estándar del conector USB 3.0 699

29.2.3 Estructura del cable USB 3.0 701

29.3 Principio de funcionamiento del USB 3.0 703

29.3.1 USB 3.0 Vista previa de la estructura del bus 703

29.3.2 Codificación del bus USB 3.0 704

29.3.3 Modelo de flujo de datos de súper velocidad USB 3.0 705

p>

29.3 .4 Diagrama de ojo típico de USB 3.0 706

29.3.5 Transmisión de datos de ultra alta velocidad USB 3.0 708

29.3.6 Gestión de fuente de alimentación USB 3.0 708

p>

29.4 Mejoras técnicas de USB 3.0 709

29.5 Productos USB 3.0 y compatibilidad con sistemas operativos 711

29.5.1 Implementación de USB 3.0 711

29.5.2 Perspectivas de aplicaciones y productos de USB 3.0 713

29.5.3 Soporte del sistema operativo USB 3.0 714

29.6 Competidores de USB 3.0 714

29.6 .1 Firewire tecnología 714

29.6.2 tecnología eSATA 715

29.6.3 tecnología ExpressCard 2.0 715

29.6.4 tecnología USB PLUS 715

29.7 Resumen 716

Capítulo 30 Desarrollo de USB 3.0 717

30.1 Descripción general del desarrollo de USB 3.0 717

30.1.1 EE.UU.

Proceso de desarrollo de B 3.0 717

30.1.2 Preparación para el desarrollo de USB 3.0 718

30.2 Retos de diseño de USB 3.0 719

30.2.1 Retos de desarrollo para el personal 719

30.2.2 Desafíos para los fabricantes 721

30.3 Chips USB 3.0 de uso común 722

30.3.1 Chip NEC USB 3.0 μPD720200 722

30.3.2 Chip puente Fujitsu MB86C30A 725

30.3.3 Controlador concentrador USB 3.0 VL810 728

30.3.4 Controlador USB 3.0-SATA VL700 729

30.4 USB Herramienta de prueba y medición 3.0 730

30.4.1 Herramienta Tektronix USB 3.0 730

30.4.2 Herramienta Agilent USB 3.0 733

30.4.3 Herramienta USB 3.0 de LeCroy 734

30.5 Solución de protección de circuito USB 3.0 734

30.5.1 Protección contra sobrecorriente 735

30.5.2 Protección contra sobretensión 736

30.5. 3 Protección ESD 737

30.5.4 Esquema integral de protección de circuitos 737

30.6 Resumen 738