Explicación detallada del desarrollo de controladores de dispositivos Linux integrados" Tabla de contenido
Capítulo 1 Sistemas integrados y controladores 1
Propósito de este capítulo 1
1.1 Descripción general de los sistemas integrados 1
1.1.1 Concepto del sistema embebido 1
1.1.2 Características del sistema embebido 2
1.1.3 Arquitectura del sistema embebido 2
1.2 Procesamiento embebido Introducción a los procesadores 4 p>
1.2.1 Clasificación de procesadores embebidos 4
1.2.2 Arquitectura de procesadores embebidos 4
1.2.3 Procesamiento embebido Diseño de procesador 4
1.2.4 Diseño de procesador integrado 2 Introducción al procesador integrado 4
1.2.1 Clasificación del procesador integrado 4
1.2.2 Descripción general de ARM 5
1.2 .3 Introducción a los chips de la serie ARM 5
1.3 Introducción a los sistemas operativos integrados 7
1.3.1 Sistemas operativos integrados convencionales 7
1.3.2 Desarrollo de sistemas integrados 8
1.3.3 Introducción a Linux integrado 8
1.3.4 Establecimiento del entorno de desarrollo de sistemas integrados 9
1.3.5 Desarrollo de software integrado 10
1.4 Controlador de Linux integrado 12
1.4.1 Espacio del kernel de Linux integrado y espacio de usuario 12
1.4.2 Sistema de archivos de Linux integrado 12
1.4 .3 Gestión de dispositivos Linux integrados 14
1.4.4 Controlador Linux integrado 16 p>
1.5 Índice de conocimientos 20
1.6 Pensamientos y ejercicios 21
Capítulo 2 Controlador de dispositivo de caracteres simples 23
Propósito de este capítulo 23
2.1 Estructura del controlador de dispositivo de caracteres Linux integrado 23
2.1.1 Archivos de encabezado comunes utilizados por Controladores integrados de Linux 24
2.1.2 Estructura de operaciones_archivo 24 p>
2.1.3 Entradas de controlador de dispositivo de caracteres 25
2.1.4 Registro de dispositivo de controlador 26
2.2 Problemas específicos en los controladores de dispositivos 27
2.2.1 Puerto de E/S 28
2.2.2 Funcionamiento de la memoria 29
2.2.3 Interrupción del procesamiento 29
2.3 Controlador para ejemplos y pruebas de programas LED 30
2.3.1 Configuración del puerto de E/S de LED 30
2.3.2 Diseño de circuito de hardware LED 32
2.3.3 Diseño del controlador LED 33
2.3.4 Diseño del programa de prueba de LED 36
2.3.5 Diseño del controlador LED 4 Controlador y prueba integrados de manejo de interrupciones de Linux 37
2.4 .1 Proceso de procesamiento de interrupciones 37
2.4.2 Tabla de vectores de interrupciones 39
2.4.3 Modo de procesamiento de interrupciones 39
2.4 .4 Prioridad de interrupción 40
p>2.4.5 Anidamiento de interrupción 40
2.4.6 Extensión de fuente de interrupción 40
2.4.7 Establecer registro de control de interrupción 41
Ejemplo de controlador de interrupción de clave 2.5 45
2.5.1 Diseño de circuito de interrupción de clave 45
2.5.2 Diseño de controlador de interrupción de clave 45
2.6 Índice de conocimientos 48
2.7 Pensamiento y ejercicio 49
Capítulo 3. Controlador de pantalla de tubo digital 50
Propósito de este capítulo 50
3.1 Display tubo digital 50
3.1.1
Introducción a los tubos digitales 50
3.1.2 Clasificación de los tubos digitales 51
3.1.3 Principios de la pantalla de tubo digital 51
3.2 Diseño de hardware de la pantalla de tubo digital circuitos 52
3.2.1 Uso del decodificador 52
3.2.2 Modo de accionamiento de tubo digital 53
3.2.3 Decodificación para conversión serie/paralelo Diseño del dispositivo 55
3.3 Ejemplo de controlador de tubo digital 56
3.3.1 Módulo de inicialización y desinstalación del controlador 56
3.3.2 Módulo de estructura de operación de archivos 57
3.3.3 Módulo de apertura de tubos digitales 57
3.3.4 Módulo de lectura/escritura de tubos digitales 58
3.3.5 Módulo de control de E/S de tubos digitales 58
3.3.6 Módulo de salida de tubo digital 58
3.3.7 Carga y descarga del módulo controlador 59
3.4 Programación de prueba del circuito de visualización del convertidor digital 60
3.4.1 Diseño de prueba de digitalizador 60
3.4.2 Procedimiento de prueba de digitalizador 60
3.4.3 Resultados de prueba de digitalizador 61
3.5 Índice de conocimientos 61
3.6 Pensamientos y ejercicios 62
Capítulo 4 Controlador del teclado 63
Objetivos de este capítulo 63
4.1 Descripción general de la interfaz del teclado 63
4.1.1 Clasificación del teclado 63
4.1.2 Antirrebote del teclado 65
4.1.3 Escaneo del teclado 65
4.1.4 Algoritmo de almacenamiento en búfer del teclado 63
4.1.5 Controlador de teclado 63
4.1.6 Algoritmo de buffering de teclado 63
4.1.1.4 Algoritmo de buffering de teclado 67
4.2 Ejemplo de diseño de controlador de teclado 67
4.2.1 Teclado extendido de bloqueo y búfer 67
4.2.2 Interfaz de bloqueo y búfer 68
4.2.3 Diseño del controlador de teclado extendido con pestillo y búfer 69
4.2.4 Programación de prueba de teclado extendido con pestillo y búfer 71 p>
4.3 Chip de control inteligente Teclado extendido HD7279 72
4.3. 1 Diseño del circuito HD7279 72
4.3.2 Introducción al comando HD7279 73
4.3.3 Interfaz serie de HD7279 74
4.3.4 Diseño del controlador de HD7279 75
4.3.5 Programación de prueba de HD7279 84
4.4 Índice de conocimientos 85
4.5 Pensamientos y ejercicios 85
Capítulo 5 Controlador A/D 86
Propósito de este Capítulo 86
5.1 Proceso de conversión A/D 86
5.1.1 Muestreo y retención 86
5.1. 2 Cuantización y codificación 88
5.1.3 Clasificación de ADC 89
5.2 Principios básicos del convertidor A/D 89
5.2.1 Aproximación sucesiva A/D convertidor 89
5.2.2 Convertidor A/D integral cuadrático 90
p>5.2.3 Convertidores V/F y F/V 93
5.2.4 Otros convertidores A/D 95
5.3 Tecnología de interfaz del convertidor A/D 97
5.3.1 Los principales parámetros y significado del ADC 97
5.3.2 Los método de selección de circuito de ADC 98
5.3.3 Problemas en la aplicación práctica de ADC Pregunta 99
5.4 Ejemplo de diseño de controlador de conversión A/D S3C2410 99
5.4. 1 S3C2410
Circuito de conversión A/D 99
5.4.2 Registro de control de conversión A/D 100 de S3C2410X
5.4.3 Registro de datos de conversión A/D 101 de S3C2410X
5.4.4 Controlador de conversión A/D en S3C2410X Diseño de controlador de conversión A/D en S3C2410X 102
5.4.5 Diseño de programa de prueba de conversión A/D en S3C2410X 105
5.5 Índice de conocimientos 106
5.6 Pensamientos y ejercicios 107
Capítulo 6 Controlador D/A 108
Objetivos de este capítulo 108
6.1 Introducción al principio D/A 108
6.1.1 Concepto y base de la conversión D/A 108
6.1.2 Conmutador analógico electrónico 109
6.1.3 Básico estructura del convertidor D/A110
6.1.4 Parámetros estáticos de la conversión D/A114
6.1.5 Parámetros dinámicos de la conversión D/A115
6.2 Circuito de hardware diseño de conversión D/A 116
6.2.1 Tecnología de interfaz de conversión D/A 116
6.2.2 Introducción al chip de conversión D/A 117
6.2.3 Diseño de circuito de conversión D/A 118
6.3 Ejemplo de controlador de convertidor D/A 118
6.3.1 Definición de macro del controlador D/A 118
6.3.2 Carga del módulo de conversión D/A 3.2 Carga del módulo D/A 118
6.3.3 Módulo de operación de archivos del convertidor D/A 119 p>
6.3.4 Módulo de control de lectura y escritura 120 del convertidor D/A
6.3.5 Abrir y salir del módulo 120 del convertidor D/A
6.4.5 Función de generación de forma de onda en el programa de prueba D/A 123
6.4.6 Efecto del programa de prueba D/A 124
6.5 Índice de conocimientos 125
6.6 Pensamiento y ejercicio 125
Capítulo 7 Controlador LCD 126 p>
Objetivos de este capítulo 126
7.1 Descripción general de los monitores LCD 126
7.1.1 Cristal líquido 126
7.1.2 Retroiluminación de la pantalla LCD 127
7.1.3 Clasificación de LCD 127
7.1.4 Principio de LCD 127
7.1.5 Modo de manejo de LCD 130
7.1 .6 Luces indicadoras LCD comunes 131
7.2 Interfaz de pantalla LCD 131
7.2.1 Sincronización STN en escala de grises 132
7.2.2 Sincronización STN en color 133
7.2.3 Temporización TFT 134
7.2.4.2 Operador básico de la función del controlador LCD 142
7.4.3 API proporcionada por el controlador LCD 145
7.4.4 Carga modular del controlador LCD 151
7.4.5 Programa de prueba de LCD 152
7.5 Programa LCD basado en frame buffer 152
7.5 Basado en frame buffer Ejemplo de controlador LCD 155
7.5.1 Descripción general del dispositivo Frame Buffer 155
7.5.2 Conexión del circuito de LCD 155
7.5.3 Arquitectura del controlador del dispositivo Frame Buffer 156
7.5.4 Diseño del controlador del dispositivo Framebuffer 159
7.5.5 Diseño del programa de prueba del dispositivo Framebuffer 164<
/p>
7.5.6 Interfaces gráficas de usuario comunes para Linux integrado 166
7.6 Índice de conocimientos 166
7.7 Pensamientos y ejercicios 167
Capítulo 8 Capítulo Controlador de pantalla táctil 168
7.6.1 Diseño del controlador de pantalla táctil 2.3 Pantalla táctil de tecnología capacitivo-inductiva 170
8.2.4 Pantalla táctil de tecnología infrarroja 170
8.3 Propiedades de la pantalla táctil171
8.3.1 Transparencia y distorsión del color171
8.3.2 Reflectividad171
8.3.3 Claridad171
8.3.4 Color distorsión de la pantalla táctil 171
11.2.1 Conexión física del bus IIS 233
11.2.2 Protocolo del bus IIS 234
11.2.3 Diseño de hardware del bus IIS 235
11.2.4 Registro de bus IIS 236
11.4.3 Archivo de sonido WAV 243
11.4.4 Comunicación entre el dispositivo de audio y el controlador 243
11.4.5 Inicialización y carga del dispositivo 244
11.4.6 Operación DMA y definición de macro 246
11.4.7 Operación de archivos del dispositivo de audio 248
11.4. 8 Operación de archivos del dispositivo mezclador 260
11.5 Prueba del controlador de audio 262
11.4.6 Comunicación entre dispositivos de audio y controladores 243
11.4.7 Operación de archivos del dispositivo de audio 248
11.4.8 Operación de archivos del dispositivo mezclador 260
11.5 Prueba del controlador de audio 262
11.1.4 Registro de interfaz IDE 269
12.2 Portación del controlador de interfaz IDE 271
12.2.1 Interfaz del controlador IDE adecuada para Linux integrado 271 p>
12.2.2 Interfaz del controlador IDE para Linux integrado 271
12.2 .2 Portación del controlador IDE para Linux incorporado 272
12.2.2 Trasplante del controlador IDE para el controlador IDE de Linux incorporado 272
12.2.3 Operaciones de lectura/escritura 2.3 Operaciones de lectura y escritura del disco duro IDE 274
12.3 Prueba del controlador IDE 282
12.3.1 Introducción al sistema de archivos de disco 283
12.3.2 Prueba de partición IDE 283
12.4 Índice de conocimientos 285
12.5 Pensamientos y ejercicios 285
Capítulo 13 Controlador de chip flash 286
Objetivos de este capítulo 286
13.2. 3 Controlador flash NAND 294
13.2.4 Temporización de la memoria flash NAND 296
13.2.5 Ejemplo de controlador flash NAND 297
13.3 Memoria flash NOR 301 p>
13.3.4 Protocolo de comunicación USB 313
p>14.2 Uso de USB en sistemas integrados 315
14.2.1 Descripción general de OHCI 315
14.2.2 Diseño de hardware de interfaz de host 316
14.3 Diseño de controladores para dispositivos USB en sistemas integrados 316
14.3.1