Logo microsint
Logo
                        pastbytes
Introducción
microSint
                        HR4
microSint HR6
microSint HD1
Descargas
Contacto
Foro
Ir a pastbytes
Introducción
uSint HR4
uSint HR6
uSint HD1
Descargas
Contacto
Foro
 
MICROSINT HR4 > FUNCIONAMIENTO INTERNO DEL SINTETIZADOR
Introducción HR4 Especificaciones Conexión Funcionamiento interno Lenguaje de
                          control Síntesis de
                          voz Generación
                          de ruido Generación
                          de sonido


Icono
                    funcionamiento interno
Al arrancar, el sintetizador chequea el estado de la entrada JP3 (_INITMSG), si esta entrada es 1, emite un mensaje hablado y envía por la salida RS232 (siempre que la entrada _CS esté en 0) un texto indicando la versión del programa. Si JP3 es 0 se deshabilitan ambos mensajes en el arranque, esto es particularmente útil en el caso de querer integrar el sintetizador a otro proyecto. El mensaje emitido por RS232 es fijo y no debe ser alterado. El mensaje hablado sí puede modificarse, ya que está almacenado entre las direcciones 198 y 255 de la memoria EEPROM de datos del PIC. Se admite cualquier secuencia de comandos válida, que el sintetizador procesará hasta encontrar un byte de valor FF (hexadecimal), o hasta llegar al final de la memoria.

Una vez finalizada la secuencia de arranque, el sintetizador quedará permanentemente recibiendo datos por la conexión serie, siempre que la entrada _CS esté en 0.

Inmediatamente después de recibido un caracter, el sintetizador lo analiza y verifica si completa un comando, si esto es así, se procesa y se convierte a un comando interno, el cual se agrega a la lista de reproducción. Esta tarea está a cargo del analizador de comandos, que es quien se encarga de identificar los comandos, verificar su validez y la de sus parámetros, y derivarlos al secuenciador para ser procesados.

Internamente, el sintetizador funciona como un secuenciador, cada comando válido que llega se va agregando a la lista de reproducción, y paralelamente el programa va ejecutando en orden los comandos internos contenidos en la lista. De esta manera es posible mantener un flujo ininterrumpido de datos hacia el sintetizador, y al mismo tiempo se libera al controlador de tener que enviar datos en tiempo real, ya que puede hacer envíos en paquetes a su propio tiempo siempre que se envíen nuevos datos antes de que finalice la reproducción.

La lista de reproducción tiene un tamaño de 79 bytes, ocupando todos los comandos internos 1 byte excepto los 4 de configuración, que requieren 2 bytes. Sin embargo, no necesariamente hay una correspondencia 1 a 1 entre comandos ASCII y comandos internos, ya que algunos fonemas se traducen en más de un comando interno. Por esta razón se debe verificar permanentemente la salida CTS, que se pone en 1 cuando la lista está llena, y en 0 cuando el sintetizador puede aceptar más datos.

La mayoría de los comandos del sintetizador son secuenciables, esto es, que se procesarán, se almacenarán en la lista de reproducción, y serán ejecutados por el secuenciador en el mismo orden en que llegaron. Sin embargo, existen 6 comandos inmediatos, que serán procesados por el analizador de comandos sin ser agregados a la lista de reproducción, por lo que sus efectos serán inmediatos. Ver otros comandos.


© 2006-2017 Jorge Castillo - Todos los derechos reservados
Las marcas, productos y logos que aparecen en este sitio pertenecen a sus respectivos propietarios