Í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 p>
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 p>
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 p>
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 p>
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 p>
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 p>
13.3.3 Función de respuesta a solicitud del dispositivo 255 p>
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 p>
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 p>
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 p>
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 46820.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 p>
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 p>
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 p>
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 p>
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 p>
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 p>
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 p>
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 p>
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