Diseño de controlador de luces traseras de automóvil basado en FPGA
1.1 Propósito del diseño
El propósito de este diseño es comprender profundamente los principios de la composición por computadora a través de la práctica, comprender la tecnología EDA [2] y dominar los métodos e ideas de diseño de VHDL. lenguaje de descripción del hardware. Guiado por los principios de composición informática, a través del lenguaje VHDL aprendido y el conocimiento de diseño de circuitos electrónicos combinados con la teoría y la práctica, domine los conocimientos aprendidos en el curso y la aplicación integral del diseño de circuitos unitarios básicos. A través del diseño de un controlador de luz trasera de automóvil práctico [3], consolidaremos y aplicaremos de manera integral el conocimiento que hemos aprendido, mejoraremos nuestras capacidades de diseño de circuitos integrados y mejoraremos nuestra capacidad de trabajo independiente para analizar y resolver problemas prácticos en tecnología informática.
1.2 Contenido básico del diseño
Basado en el principio de la máquina de estados en la computadora, use VHDL para diseñar cada módulo del controlador de luz trasera del automóvil y use herramientas EDA para simular y verificar. cada módulo. El diseño del controlador de la luz trasera del automóvil se divide en cuatro módulos: módulo de división de frecuencia de reloj, módulo de control principal de la luz trasera del automóvil, módulo de control de la lámpara izquierda y módulo de control de la lámpara derecha. Después de integrar cada módulo, se forma un controlador de luces traseras de automóvil. Al ingresar la señal del reloj del sistema y las señales de control del automóvil relacionadas, las luces traseras del automóvil mostrarán correctamente el estado de control actual del automóvil.
1.3 Introducción a EDA
1.3.1 Concepto de tecnología EDA
EDA es la abreviatura de Electronic Design Automation (Electronic Design Automation). Se desarrolló originalmente a partir de los conceptos de diseño asistido por computadora (CAD), fabricación asistida por computadora (CAM), pruebas asistidas por computadora (CAT) e ingeniería asistida por computadora (CAE). La tecnología EDA utiliza computadoras como herramientas. Los diseñadores usan el lenguaje de descripción de hardware HDL para completar archivos de diseño en la plataforma de software EDA, y luego la computadora completa automáticamente la compilación lógica, la simplificación, la segmentación, la síntesis, la optimización, el diseño, el cableado y la simulación hasta la compilación de adaptación. Descarga de programación y mapeo lógico para chips de destino específicos.
1.3.2 Características de la tecnología EDA
El uso de la tecnología EDA para diseñar sistemas electrónicos tiene las siguientes características: ① Usar software para diseñar hardware ② Usar software para diseñar La conversión de sistema a; el sistema de hardware se completa automáticamente mediante el software de desarrollo correspondiente; ③ Se puede utilizar el software correspondiente para realizar diversas simulaciones durante el proceso de diseño; ④ El sistema se puede programar en el sitio y actualizar en línea; ⑤ Todo el sistema se puede integrar en un chip; De tamaño pequeño, bajo consumo de energía y alta confiabilidad. Por tanto, la tecnología EDA es la tendencia de desarrollo del diseño electrónico moderno.
1.3.3 Proceso de diseño de EDA
El proceso de diseño típico de EDA es el siguiente:
1. Edición y modificación de texto/esquemas. Primero, utilice el editor de texto o gráficos de la herramienta EDA para expresar la intención de diseño del diseñador en texto o gráficos.
2. Compilar. Después de completar la descripción del diseño, puede usar el compilador para depurarlo y compilarlo en un formato de texto específico para prepararse para el siguiente paso de síntesis.
3. Vincular el diseño de software con la realizabilidad del hardware es un paso clave para convertir el software en circuitos de hardware.
4. Simulación conductual y simulación funcional. Utilice el archivo netlist generado para realizar una simulación funcional para comprender la coherencia entre la descripción del diseño y la intención del diseño.
5. Utilice el adaptador de enrutamiento y ubicación FPGA/CPLD para realizar operaciones de mapeo lógico en el archivo netlist sintetizado para un dispositivo de destino específico, incluida la configuración del dispositivo subyacente, la segmentación lógica, la optimización lógica y la ubicación y enrutamiento. El informe de adaptación indica la asignación y utilización de recursos dentro del chip, el bloqueo de pines y la descripción de la ecuación booleana del diseño.
6. Simulación funcional y simulación de tiempos.
7. Descargar. Si no se encuentra ningún problema en todos los procesos anteriores, el archivo de descarga generado por el adaptador se puede cargar en el chip de destino a través del cable de descarga FPGA/CPLD.
8. Simulación y pruebas de hardware.
1.4 Lenguaje de descripción de hardware (VHDL)
1.4.1 Introducción a VHDL
VHDL (lenguaje de descripción de hardware de circuito integrado de muy alta velocidad) es utilizado principalmente Describir la estructura, comportamiento, funciones e interfaces de los sistemas digitales. Además de contener muchas declaraciones con características de hardware, la forma del lenguaje, el estilo de descripción y la sintaxis del VHDL son muy similares a los lenguajes informáticos generales de alto nivel. La estructura del programa de VHDL se caracteriza por dividir un diseño de ingeniería o entidad de diseño (que puede ser un componente, un módulo de circuito o un sistema) en partes externas (o partes visibles y puertos) e internas (o partes invisibles). Implica tanto la funcionalidad interna de la entidad como la implementación del algoritmo. Después de definir la interfaz externa para una entidad de diseño, otros diseños pueden llamar directamente a esta entidad una vez que se complete su desarrollo interno. Este concepto de dividir entidades de diseño en partes internas y externas es la base del diseño del sistema VHDL
1.4.2 Características del lenguaje VHDL
1 Diseño con código VHDL en lugar de diagramas esquemáticos. Esto significa que el modelo y el rendimiento de toda la placa de circuito se pueden verificar mediante simulación por computadora.
2. El diseño de los componentes VHDL no tiene nada que ver con el proceso y es independiente del proceso, lo que facilita la conversión del proceso.
3.VHDL admite varios métodos de diseño, incluidos de arriba hacia abajo, de abajo hacia arriba o mixto.
4. Puede describir desde el nivel del sistema hasta el nivel lógico, es decir, descripción mixta.
5.VHDL se diferencia de otros HDL en que ha formado un estándar y su código se puede modelar indistintamente en diferentes sistemas.
2. Diseño general
2.1 Análisis de requisitos
Según las normas de tráfico modernas, los controladores de luces traseras de los automóviles deben cumplir los siguientes requisitos básicos:
1. Cuando el coche está en uso normal, la luz indicadora no se enciende
2 Cuando el coche gira a la derecha, se enciende una luz en el lado derecho
3. Cuando el coche gira a la izquierda, se enciende una luz en el lado izquierdo
4 Cuando el coche frena, las luces indicadoras de los lados izquierdo y derecho se encienden al mismo tiempo
p>
2.2 El principio de funcionamiento del controlador de luces traseras del automóvil.
El controlador de luces traseras de un automóvil es un ejemplo de máquina de estados. Cuando el automóvil conduce normalmente, todas las luces indicadoras están apagadas; cuando el automóvil gira a la derecha, la luz indicadora RD1 en el lado derecho del automóvil se enciende cuando el automóvil gira a la izquierda, la luz indicadora LD1 en el lado izquierdo del automóvil; el automóvil se enciende cuando frena, la luz indicadora RD2 en el lado derecho del automóvil y la luz indicadora LD2 en el lado izquierdo del automóvil se encienden al mismo tiempo cuando el automóvil conduce de noche; RD3 en el lado derecho del automóvil y la luz indicadora LD3 en el lado izquierdo del automóvil se encienden al mismo tiempo. Configurando las señales de entrada del sistema: señal de reloj del sistema CLK, señal de control de giro a la izquierda del automóvil IZQUIERDA, señal de control de giro a la derecha del automóvil DERECHA, señal de freno FRENO, señal de conducción nocturna NIGHT y las señales de salida del sistema: 3 luces indicadoras LD1 y LD2 en el lado izquierdo del automóvil, LD3 y las tres luces indicadoras RD1, RD2, RD3 en el lado derecho del automóvil para lograr las funciones anteriores. El principio de diseño general del conjunto del sistema se muestra en la Figura 3.1.
Figura 2.3 Principio general de diseño del conjunto
2.3 Tabla de estado operativo del automóvil y diagrama de bloques general
Las luces traseras del automóvil y la tabla de estado operativo del automóvil se muestran en la Tabla 1.
Tabla 1-1 de luces traseras del automóvil y estado de funcionamiento del automóvil
El interruptor controla el estado de funcionamiento del automóvil, gira las luces traseras a la derecha, gira las luces traseras a la izquierda
S0 S1 S2 R1 R2R3 L1L2L3
p>0 0 0 La luz de funcionamiento normal está apagada
0 0 1 La luz de giro a la izquierda está apagada y se enciende en la secuencia de L1L2L3
0 1 0 Gira a la derecha y enciende en la secuencia de R1R2R3 Luces encendidas y apagadas
0 1 1 Frenado temporal/detección de que todas las luces traseras están encendidas al mismo tiempo
1 0 0 Al dar marcha atrás, todas las luces traseras están encendidas en orden de turno
1 0 1 Al conducir de noche, R3 y L3 siempre están encendidas
Se muestra el diagrama de bloques general del diseño del circuito de control de las luces traseras del automóvil. en la Figura 1:
Figura 1 El diagrama de bloques general del diseño del circuito de control de la luz trasera del automóvil
3.1 Diseño detallado
Cada módulo componente
La función principal es realizar el método de iluminación de la luz trasera del automóvil a través del control del interruptor. El controlador de luz trasera de automóvil consta de 4 módulos, a saber: módulo de división de frecuencia de reloj, módulo de control principal de luz trasera de automóvil, módulo de control de lámpara izquierda y módulo de control de lámpara derecha. El diseño detallado de cada módulo se presenta a continuación.
3.2 Módulo de división de frecuencia de reloj
El diagrama de bloques de trabajo de todo el módulo de división de frecuencia de reloj se muestra en la Figura 3.2.
Figura 3.2 Diagrama de bloques de trabajo del módulo de división de frecuencia de reloj
El módulo de división de frecuencia de reloj se implementa mediante un programa VHDL. El siguiente es un fragmento de código VHDL:
ARTE DE ARQUITECTURA DE SZ ES
RECUENTO DE SEÑALES: STD_LOGIC_VECTOR(7 DOWNTO 0);
COMENZAR
PROCESO(CLK)
COMENZAR
SI CLK'EVENT AND CLK = '1'ENTONCES
CONTAR lt;= CONTAR 1;
TERMINAR SI;
END PROCESS;
p>CPlt;= COUNT(3);
END ART;
3.3 Módulo de control principal de luz trasera del automóvil
Diagrama de bloques de trabajo del módulo de control principal de la luz trasera del automóvil Como se muestra en la Figura 3.3
Figura 3.3 Diagrama de bloques de trabajo del módulo de control principal
El módulo de control principal de la luz trasera del automóvil se implementa mediante un programa VHDL. Lo siguiente es un fragmento de código VHDL:
ARTE ARQUITECTURA DE CTRL ES
COMIENZO
NIGHT_LEDlt;=NIGHT;
BRAKE_LEDlt; =HORNEAR;
PROCESO(IZQUIERDA, DERECHA)
TEMPERATURA VARIABLE: STD_LOGIC_VECTOR(1 ABAJO A 0);
COMENZAR
TEMP: =IZQUIERDA y DERECHA;
LA TEMPERATURA DEL CASO ES
CUANDO "00" =gt;LPlt;='0';RPlt;='0';LRlt;='0' ;
CUANDO "01" =gt ;LPlt;='0';RPlt;='1';LRlt;='0';
CUANDO "10" =gt; LPlt;='1';RPlt;='0'; LRlt;='0';
CUANDO OTROS=gt;LPlt;='0';RPlt;='0';LRlt;= '1';
FIN DE CASO;
FIN DE PROCESO;
FIN DE ARTE;
3.4 Módulo de control de luz izquierdo
El diagrama de bloques de trabajo del módulo de control de luz izquierdo se muestra en la Figura 3.4.
Figura 3.4 Diagrama de bloques de trabajo del módulo de control de luz izquierdo
El módulo de control de luz izquierdo se implementa mediante un programa VHDL. El siguiente es un fragmento de código VHDL:
ARTE ARQUITECTURA DE LC ES
COMIENZO
LEDBlt;=FRENO;
LEDNlt;=NOCHE;
PROCESO(CLK , LP, LR)
COMENZAR
SI CLK'EVENT AND CLK = '1' ENTONCES
SI(LR ='0')ENTONCES
SI (LP = '0')ENTONCES
LEDLlt;='0';
ELSE
LEDLlt;='1';
END IF;
ELSE
LEDL lt;='0';
END IF;
END IF;
END PROCESS;
END ART;
3.5 Módulo de control de luz derecho
El diagrama de bloques de trabajo del control de luz derecho El módulo se muestra en la Figura 3.5 p>
Figura 3.5 Diagrama de bloques de trabajo del módulo de control de luz derecho
El módulo de control de luz derecho se implementa mediante un programa VHDL. La siguiente es una parte de VHDL. código:
ARTE ARQUITECTURA DE RC ES
COMIENZO
LEDBlt;=FRENO;
LEDNlt;=NOCHE;
PROCESO(CLK, RP, LR)
p>
COMENZAR
SI CLK'EVENT Y CLK = '1' ENTONCES
SI (LR = '0')ENTONCES
SI(RP = '0')ENTONCES
LEDR lt;='0';
ELSE
LEDR lt;= '1';
END IF;
ELSE
LEDR lt;='0';
END IF;
END IF;
END PROCESO;
END ART;
Simulación y depuración del sistema
4.1 Simulación y análisis del módulo de división de frecuencia
Después de que el programa VHDL implementa el módulo de división de frecuencia, su diagrama de simulación se muestra en la Figura 4.1
Figura 4.1 Diagrama de simulación del módulo de división de frecuencia
Análisis de simulación de su diagrama de simulación: como se muestra en la figura Como se muestra en la figura, primero se genera un pulso de reloj de 600 ns y el pulso de 600 ns se divide en un pulso de 40 ns a través del reloj División de frecuencia para lograr la sincronización de la señal.
4.2 Simulación y análisis del módulo de control principal de la luz trasera del automóvil
Después de implementar el módulo de control principal de la luz trasera del automóvil mediante el programa VHDL, su diagrama de simulación se muestra en la Figura 4.2.
Figura 4.2 Diagrama de simulación de sincronización del módulo de control principal
Analice el diagrama de simulación de sincronización: DERECHA, IZQUIERDA, NOCHE, FRENO son señales de entrada, DERECHA es 1 significa girar a la derecha, IZQUIERDA es 1. significa girar a la izquierda, NOCHE es 1 significa conducir de noche y FRENO es 1 significa frenar. RP, LP, NIGHT_LED, BRAKE_LED son señales de salida. Como se muestra en la figura: cuando DERECHA es 1, se genera una salida de pulso de señal con RP de 1. Cuando IZQUIERDA es 1, se genera una salida de pulso de señal con LP de 1. Cuando NIGHT es 1, se genera una señal de NIGHT_LED. salida de impulsos. Cuando BRAKE es 1, se genera una salida de pulso de señal con BRAKE_LED en 1.
4.3 Simulación y análisis del módulo de control de luz izquierdo
Una vez que el programa VHDL implementa el módulo de control de luz izquierdo, su diagrama de simulación se muestra en la Figura 4.3 a continuación.
Analice el diagrama de simulación de sincronización: LP, LR, NIGHT y BRAKE son señales de entrada, LP es 1 para girar a la izquierda, LR es 1 para girar a la derecha, NIGHT es 1 para conducir de noche y BRAKE es 1 para conducir de noche. LEDL, LEDB y LEDN son señales de salida que representan las tres luces en el lado izquierdo del automóvil. Como se muestra en la figura: cuando LP es 1, la salida LEDL es 1, lo que significa que la luz izquierda está encendida. Cuando FRENO es 1, la salida LEDB es 1, lo que significa que la luz izquierda está encendida. La salida LEDN es 1, lo que significa que la luz izquierda está encendida. Cuando LR es 1, las salidas de las tres luces de la izquierda son todas 0. Es decir, no se enciende ninguna luz.
Figura 4.3 Diagrama de simulación de temporización del módulo de control de luces izquierdo
4.4 Simulación y análisis del módulo de control de luces derecho
Después de implementar el módulo de control de luces derecho por el programa VHDL, su simulación El diagrama se muestra en la Figura 4.4.
Figura 4.4 Diagrama de simulación de sincronización del módulo de control de luces derecho
Analice el diagrama de simulación de sincronización: RP, LR, NIGHT y BRAKE son señales de entrada, LR es 1, lo que significa girar izquierda, y RP es 1 significa girar a la derecha, NIGHT es 1 significa conducir de noche y BRAKE es 1 significa frenar. LEDR, LEDB y LEDN son señales de salida que representan las tres luces en el lado derecho del automóvil. Como se muestra en la figura: cuando RP es 1, la salida LEDR es 1, lo que significa que la luz derecha está encendida. Cuando FRENO es 1, la salida LEDB es 1, lo que significa que la luz derecha está encendida. La salida LEDN es 1, lo que significa que la luz correcta está encendida. Cuando LR es 1, las salidas de las tres luces de la derecha son todas 0. Es decir, no se enciende ninguna luz.
4.5 Simulación y análisis del sistema completo
El diagrama de simulación después de ensamblar el sistema de acuerdo con la Figura 2.3 se muestra en la Figura 4.5 a continuación.
Analice el diagrama de simulación de sincronización: DERECHA, IZQUIERDA, NOCHE, FRENO son señales de entrada, DERECHA es 1 significa girar a la derecha, IZQUIERDA es 1 significa girar a la izquierda, NOCHE es 1 significa conducir de noche y FRENO es 1. significa girar a la derecha. RD1, RD2 y RD3 son señales de salida que representan las tres luces en el lado derecho del automóvil. LD1, LD2 y LD3 son señales de salida que representan las tres luces en el lado izquierdo del automóvil. Como se muestra en la figura: cuando DERECHA es 1, la salida de RD1 es 1, lo que significa que la luz derecha está encendida. Cuando IZQUIERDA es 1, la salida de LD1 es 1, lo que significa que la luz izquierda está encendida. , las salidas de LD2 y RD2 son ambas 1. Significa que hay una luz en cada lado de los lados izquierdo y derecho. Cuando BRAKE es 1, las salidas de LD3 y RD3 son ambas 1, lo que indica que hay una luz encendida en cada lado de los lados izquierdo y derecho.
Figura 4.5 Diagrama de simulación de todo el sistema
4.6 Diagrama de circuito de diseño general
Figura 4.6 Diagrama de circuito de diseño general
Resumen p>
Después de dos semanas de intenso trabajo, finalmente completé mi tarea de diseño: el diseño de un controlador de luz trasera de automóvil. A través del estudio del diseño de este curso, me di cuenta profundamente de la importancia y el propósito de los cursos de diseño. Esta clase de diseño no solo cultivó nuestra capacidad de operación práctica, sino que también cultivó nuestra capacidad para utilizar de manera flexible el conocimiento de los libros de texto, integrar la teoría con la práctica y diseñar de forma independiente. No solo es una buena oportunidad para aprender nuevos conocimientos y nuevos métodos, sino también una prueba y revisión integral de los conocimientos adquiridos, que me permite comprender mis propias deficiencias y comprobar si hay omisiones. Espero que la escuela organice más sesiones prácticas similares en el futuro para que los estudiantes puedan aplicar lo que han aprendido.
El diseño requiere que tenga paciencia y perseverancia, y que tenga cuidado. Si no tengo cuidado, un pequeño error conducirá a resultados incorrectos y debo tener la capacidad suficiente para comprobar los errores con mi paciencia. También he acumulado algo de experiencia a través de los problemas encontrados en este diseño y diseño, lo que será de cierta ayuda en futuros trabajos de diseño de circuitos integrados. En el proceso de aplicación de VHDL, realmente me di cuenta de la diferencia entre su operación paralela y la ejecución secuencial de otro software y su superioridad en el diseño de circuitos.
Es conveniente y flexible diseñar sistemas digitales en forma de lenguaje de descripción de hardware VHDL. El uso del software EDA para la compilación y la simulación de optimización reduce en gran medida el tiempo de diseño del circuito y los posibles errores, y reduce los costos de desarrollo. Este método de diseño definitivamente se utilizará en el futuro. . Los sistemas digitales desempeñan un papel cada vez más importante en el diseño de sistemas.
Referencias
[1] Wang Aiying. Composición y estructura de la computadora. Beijing: Tsinghua University Press, 2001.2,
[2] Tecnología práctica EDA. Tutorial. Beijing: Tsinghua University Press, 2006
[3] Cao Xinyan, Zhou Fengchen, Nie Chunyan. Experimento tecnológico y diseño curricular de EDA Beijing: Tsinghua University Press, 2006.5
[ 4] Yang Yihua, Yan Ming. Introducción al circuito digital EDA. Beijing: Prensa de la Universidad de Correos y Telecomunicaciones de Beijing, 2003
[5] Peng Rongxiu, "Fundamentos de la tecnología electrónica digital", Wuhan, Universidad de Wuhan. of Technology Press, 2005
p>[6] Pan Song, Huang Jiye "EDA Technology and VHDL", Beijing, Tsinghua University Press, 2006