En el último post se hacía referencia a que en breves pondríamos una descripción más exhaustiva de la interfaz de teclado, y aquí estamos.
Inicialmente vamos a explicar el uso que le vamos a dar el teclado en nuestro proyecto, para posteriormente indagar más en este bloque así como las entradas y salidas de dicha interfaz.
Nuestro sistema como ya se ha mencionado en múltiples ocasiones tiene la capacidad de funcionar tanto como modulador fm de cualquier tipo de señal, así como un sintetizador fm. La posibilidad de operar en distintos modos, nos obliga a darle distintas funcionalidades a las teclas dependiendo del modo, así como la necesidad de definir una tecla para conmutar el modo (se usará BLOQ MAYUS):
Modo Modulador
Este modo nos va a permitir cambiar los valores de la frecuencia central de la modulación, así como los valores de la beta. La variación de estos parámetros nos va a permitir definir distintos tipos de modulación para una misma señal de entrada.
En esta imagen del teclado podemos ver las teclas útiles en el modo modulador.
- BLOQ MAYUS: como ya se dijo es la tecla que nos va a permitir cambiar a modo sintetizador.
- Teclas Función: son las que nos permiten elegir la frecuencia central de la modulación (fc).
- F1: 6Khz
- F2: 7Khz
- F3: 8Khz
- F4: 9 Khz
- F5: 10Khz
- F6: 11Khz
- F7: 12Khz
- F8: 13 Khz
- F9: 14 Khz
- F10: tecla especial que nos permite poner la salida a cero.
- Teclas Numericas: nos permiten seleccionar un conjunto de valores para beta
- 1: beta=1
- 2: beta=2
- 3: beta=3
- 4: beta=4
- 5: beta=5
- 6: beta=6
- 7: beta=7
- 8: beta=8
- 9: beta=9
Modo Sintentizador
En este modo pretendemos usar las teclas del teclado para definir dos octavas de la escala musical, así como un conjunto de teclas que nos permita cambiar el instrumento que vayamos a sintetizar.
En esta imagen del teclado podemos ver las teclas útiles en el modo sintetizador.
- BLOQ MAYUS: esta tecla mantiene la funcionalidad de cambiar de modo, en este caso para pasar a modo modulador.
- Teclas Función: nos permiten seleccionar el instrumento que queremos sintetizar.
- F1: brass-like.
- F2: fagot.
- F3: campana.
- F4: tambor.
- Teclas Verdes: son la octava inferior del instrumento.
- Teclas Azules: son la octava superior del instrumento.
- Z y Q: Do
- S y 2: Do#
- X y W: Re
- D y 3: Re#
- C y E: Mi
- V y R: Fa
- G y 5: Fa#
- B y T: Sol
- H y 6: Sol#
- N y Y: La
- J y 7: La#
- M y U: Si
Una vez explicadas las funcionalidades del teclado en nuestro proyecto y más especialmente en cada uno de los modos de operación. Vamos a centarnos en el aspecto más técnico de la interfaz apoyándonos en el esquema:
- Salidas:
- Tecla, tecla_antes, valido y nota: son señales auxiliares muy útiles para conocer los posibles estados de la máquina de estados de la unidad de control, así como para verificar condiciones de tránsitos entre los estados de la misma.
- tecla: se activa si se recibe una nueva tecla por teclado.
- tecla_antes: se activa si se recibió una nueva tecla en el último flanco de reloj.
- valido: activo si la última tecla pulsada fue una tecla de las válidas en modo sintetizador.
- nota: activo si la útlima tecla pulsada fue una nota, estando en modo sintetizador.
- Instrumento: 15 bits que nos permiten definir a cada uno de los instrumentos. De estos bits, los 2 más significativos nos indican el instrumento que es (de los 4 posibles) mientras que los 13 bits restantes nos indican la posición de memoria donde empiezan las muestras de dicho instrumento.
- Beta: nos devuelve el valor de la beta cuando operamos en modo modulador.
- Fc: esta salida son 15 bits y hay que diferenciar si estamos en modo modulador, en cuyo caso devuelve ya la frecuencia central de la modulación, o si por contra estamos en modo sintetizador. En este último modo de operación lo devuelto por la interfaz de teclado es un código numérico indicándonos la nota pulsada y también si dicha nota pertenece a la octava inferior o a la octava superior del instrumento que se está sintetizando (octava inferior: desde "00001" hasta "01100" y octava superior: desde "10001" hasta "11100")
- Entradas:
- Reset: inicializa los valores de salida.
- Clk: reloj del sistema.
- Clk_teclado: es una entrada para el reloj del teclado, que necesita una frecuencia mayor que los 48khz que estamos utilizando nosotros para nuestro sistema.
- Kbdata y Kbclk: son las entradas propias del teclado y que nos van a permitir capturar los códigos scan de las teclas pulsadas.
No hay comentarios:
Publicar un comentario