Solicitar informe de diseño de curso de reloj electrónico
Informe de diseño del curso EDA
Reloj electrónico
Miembros del equipo
Lu Weiwei: 200840720126
Zhang Kui: 200840830133
Hou Congbin: 200840830133
Wan Yuanyuan: 200840830133
Li Chuandi: 200840830133
Yang Zhansheng: 200840830133
Instructor: Chen Weibing
1. Principio de diseño del reloj electrónico:
El reloj electrónico consta principalmente de cuatro módulos: circuito de escaneo, circuito del módulo de conteo, código BCD
Circuito de conversión, circuito controlador de pantalla.
La señal de reloj de 1 HZ se envía desde el CP y se ingresa al circuito de división y conteo de frecuencia que cuenta 60. En el momento en que la cuenta llega a 6o. Un circuito de división por conteo que lleva a contar 60 incrementa el circuito de división por conteo en uno. El circuito de segundos también se pone a 0 y cuenta los segundos nuevamente. Las funciones del circuito de puntuación y del circuito de cronometraje son las mismas que las anteriores. El número binario generado por el conteo se convierte en código BCD a través del circuito de conversión de código BCD, y luego el código BCD de salida se selecciona a través del circuito de escaneo. Enviado al circuito del controlador de pantalla. Luego, el resultado se convierte al número decimal correspondiente y se muestra en el tubo de visualización digital de siete segmentos. Y controle la visualización del tubo digital a través del circuito de escaneo. Finalmente, los resultados de visualización de segundos, minutos y horas se pueden ver en el tubo de visualización digital
2. Implementación del diseño
Este programa tiene doce partes que generan pulsos en secuencia. , Contador de 60 segundos, contador de 60 minutos, contador de 24 horas, contador de milisegundos, contador de segundos, criterio de mes, año, mes y día.
Proceso de diseño: diagrama de simulación y programa fuente
(1). Segundo módulo
El segundo es el módulo más bajo de este diseño de reloj electrónico. un contador de 60 bases que utiliza la señal de reloj externo como señal de reloj de activación. Cuando la señal externa ingresa al terminal de señal de reloj clk, el contador interno de 60 bases comienza a funcionar y cuenta la fuente de señal. señal digital por conteo. El tubo muestra segundos. Cuando el conteo llega a 60, su valor se establece en cero y se emite una señal de transporte C. Esta señal de transporte es la señal de reloj de entrada del siguiente módulo de minutos. biblioteca ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
la entidad miao es
puerto( primero,clk: en std_logic;
d:en std_logic_vector(1 abajo a 0);
clk1:out std_logic);
fin de miao;
la arquitectura de miao es
señal d1:std_logic_vector(1 downto 0);
comenzar
proceso(clk,d)
comenzar
si rst='1' entonces
d1<="00";
ELSif clk'event y clk='1' entonces
si d1="11"entonces
d1<=d;clk1<='1';
si no d1<=d1+1; <='0';
finalizar si;
finalizar si;
finalizar proceso;
finalizar hacer;
( 2) Módulo de minutos
El núcleo del módulo de minutos también es un contador hexadecimal. Su función es contar la señal de transporte del segundo módulo y el resultado del conteo se envía al tubo digital. mostrar por dout Cuando el conteo llegue a 60 Establezca el valor en cero y emita la señal de acarreo c.
biblioteca ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
la entidad fen es
port(zs1,clk2,rst1:in std_logic;
d1: en std_logic_vector(5 abajo a 0);
fe :out std_logic_vector(5 abajo a 0);
clk3:out std_logic);
fin fen;
la arquitectura de fen es
p>
señal d0:std_logic_vector(5 downto 0);
comenzar
proceso(clk2,d1,zs1 ,primero1)
comenzar p>
si primero1='1'entonces
d0<="000000";
elsif clk2'evento y clk2='1'entonces
if d0="111111"entonces
clk3<='1';d0<="000000";
elsif zs1='1'entonces
d0<=d1;
si no
d0<=d1;clk3<='0';
finalizar si;
finalizar si;
finalizar proceso;
fe<=d0;
end do;
(3) Módulo de conteo de horas y semanas
biblioteca ieee;
usar ieee .std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entidad shi es
puerto(clk5: en std_logic;
xs:out std_logic_vector(4 downto 0);
xinqi:out std_logic_vector(2 downto 0));
end shi;
la arquitectura de shi es
señal d3:std_logic_vector(4 hasta 0);
señal d4:std_logic_vector(2 hasta 0);
señal clk6:std_logic;
comenzar
r1:proceso(clk5)
comenzar
si clk5'event y clk5='1'entonces
si d3="11000"entonces
d3<="00000";clk6<='1';
si no d3<=d3+1;clk6<='0';
finalizar si;
finalizar si;
finalizar proceso r1;
r2: proceso(clk6)
comenzar
si clk6'event y clk6='1'entonces
si d4="111"entonces
d4<="001"; p>
else d4<=d4+1;
finalizar si;
finalizar si;
finalizar proceso r2;
xs<=d3;xinqi<=d4;
end do;
(4) Recuento de años, meses y días
biblioteca ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
la entidad haos es
port(clk8,zr,zy: en std_logic;
g2: en std_logic_vector(4 hasta 0);
g1: en std_logic_vector(3 hasta 0);
ri: fuera std_logic_vector(4 downto 0) );
yue: out std_logic_vector(3 downto 0));
end haos;
la arquitectura de haos es
señal clk9:std_logic;
señal w1:std_logic_vector(4 hasta 0);
señal w2:std_logic_vector(3 hasta 0);
p>
comenzar
r1: proceso(clk8,zr,g2)
comenzar
si zr='1'entonces
w1<=g2;
elsif clk8'event y clk8='1'entonces
si w1="11110"entonces
w1<=" 00001";clk9<='1';
else w1<=w1+1;clk9<='0';
fin si;
fin if;
finalizar proceso r1;
r2:proceso(clk9)
comenzar
if zy='1'entonces p>
w2<=g1;
elsif clk9'event y clk9='1'entonces
si w2="1100"entonces
w2 <="0001";
else w2<=w2+1;
finalizar si;
finalizar si;
finalizar proceso r2;
ri<=w1;yue<=w2;
end do;
Finalmente, simplemente conecte estos módulos (GDF) entre sí.
p>
Los pines están bloqueados según la situación real. Consulte el apéndice para ver la lista de pines.
Experiencia en diseño curricular
El lenguaje de diseño es principalmente un método de diseño de arriba hacia abajo que utiliza el lenguaje VHDL. En EDA, el método de diseño de arriba hacia abajo es el proceso de refinar gradualmente cada vínculo de diseño en todo el proceso de diseño. Aplicar VHDL para ejecutar el diseño de arriba hacia abajo significa usar modelos VHDL para describir el hardware en todos los niveles completos de modelado y pruebas de simulación. El archivo de nivel superior está diseñado utilizando el método esquemático para aclarar la relación jerárquica entre cada módulo.
En el proceso de diseño real del reloj electrónico multifuncional, todos los módulos realizan sus funciones principales a través de contadores de diferentes bases, y los módulos se conectan entre sí mediante señales de transporte. La señal de transporte del nivel anterior se utiliza como señal de conteo del siguiente nivel, lo que aclara la idea de diseño a través de la relación jerárquica. Inicialmente, el ajuste de configuración se considera en el diseño del programa. No tenía una buena idea y tomé muchos desvíos. Más tarde (alguien) pensó en configurar una terminal de control maestro en el programa y el problema se resolvió. La cooperación con mis compañeros de clase ha optimizado mi programa.
A través del diseño de este curso, también obtuve los siguientes beneficios:
1. Familiarizarme con el uso y funcionamiento del software maxplus II, así como con el método de descarga y el hardware. implementación Método de operación;
2. Tener una mejor comprensión del método de diseño de arriba hacia abajo del lenguaje VHDL cuando los archivos subyacentes estén disponibles, el uso de esquemas puede simplificar la configuración. Haga que el programa sea claro y aumente la legibilidad.
3. Ha ejercitado mi capacidad para pensar de forma independiente y resolver problemas, y también me doy cuenta de la importancia del trabajo en equipo.
4. Familiarizado con el método de redacción de informes de pruebas de diseño electrónico, que sentó una cierta base para redactar la tesis de graduación.
5. Por supuesto, hay algunas deficiencias en el diseño de este curso. La función mensual no está bien configurada y muchas funciones extendidas no están implementadas, como cronómetro, despertador, etc. /p>
Gracias. Discurso
En primer lugar, me gustaría agradecer a la escuela por organizar este curso para nosotros, para que tengamos la oportunidad de hacerlo nosotros mismos. podemos familiarizarnos más con el conocimiento teórico que hemos aprendido y experimentar los resultados obtenidos al hacerlo nosotros mismos.
Nuevamente, me gustaría agradecer a nuestro instructor, el Sr. Chen Weibing, y a los profesores de laboratorio por no mencionar su arduo trabajo durante nuestra práctica, responder pacientemente a todas las preguntas que hicimos y ayudarnos a resolver algunos problemas. Programación y depuración, ¡gracias!
Gracias a los compañeros que me ayudaron en el diseño de este curso. Fue su ayuda la que me permitió completar con éxito la tarea de diseño del curso.
¡Gracias por tu ayuda!
Referencias
[1] Lu Yi. Lai Jie. VHDL y diseño de circuitos digitales. Beijing: Science Press, 2001
[2] Pan Song. Tutorial de uso de VHDL. Chengdu: Electronic Technology Press, 2000
[3] Huang Jiye. Tutorial práctico sobre tecnología EDA Science Press, 2002
[4] Xu Zhijun. Prensa de la industria electrónica de Beijing, 2002
[5] Zeng Fantai, Hou Yaning, Cui Yuanming Introducción a las aplicaciones de dispositivos programables, 2001
.