El proyecto está dividido en bloques funcionales:
Formas de onda
- Onda Senoidal
- Onda triangular
- Onda rampa
- Onda cuadrada
Formada por 1024 muestras
- Unidad operativa.
- Unidad de Control
- Atenuador
- Acumulador de Fase
- Visualización en display
- Registro de Salida
- Multiplexor
- Botones activos a nivel alto.
- Reset y CLK comunes a todos los circuitos secuenciales.
Multiplexor y decodificador
Divisor de frecuencias.
Decodificador: activamos el modulo de la onda de salida que queremos
Multiplexor : Elección de la salida del módulo de la forma de onda activo.
Resultado Final
Necesitamos unas frecuencias de:
Características
Unidad operativa
- Selección de forma de onda de salida (senoidal, triangular, rampa, cuadrada)(8bits)
- Ajuste de la amplitud de salida
- Ajuste de la frecuencia de salida
- Visualización de la frecuencia de salida en los displays
Registro de desplazamiento.
Guardamos el dato anterior y el nuevo dato
Máquina de estados.
Mandamos la señal de escritura en el A/D: “we”
Generador de Funciones
Informes
- Uso de los recursos de la placa
Factor de atenuación y operando
Contador: incrementamos o decrementamos con los pulsadores de amplitud.
Operando: Multiplicamos por el valor del contador “atenuacion” y dividimos por 256
Registro de Salida
- Registro de salida: Guardamos el valor de salida que se escribirá en el A/D
Multiplexor
- Multiplexor (para lleva la frecuencia con la que se esta trabajando a todos los circuitos secuenciales)
Generación palabra de control
Sumador
Decodificador 7seg Memoria
- Generación palabra de control: contador para aumentar o decrementar un contador.
- Sumador: vector que se va incrementado según el valor del contador.
- Memoria: Guardamos la frecuencia a la que trabajamos en hexadecimal.
- Decodificador: escribimos en los displays.
Aproximación a un generador de funciones