105
1. INVESTIGACIÓN TEÓRICA

Como mezclar dj

Embed Size (px)

Citation preview

Page 1: Como mezclar dj

1. INVESTIGACIÓN TEÓRICA

Page 2: Como mezclar dj

1.1. BREVE RESEÑA DE LA TECNOLOGÍA MUSICAL Y DJ

Si hay algo que marca el inicio de la revolución tecnológica en el área de la música

(así como en muchas áreas) es el avance exponencial de la capacidad de

procesamiento y el abaratamiento en el costo de las computadoras.

La tecnología VLI de los microchips DSP, la cantidad de memoria RAM y la

velocidad de los discos duros entre otras características, permitieron la

implementación de software capaz no solo de tener la funcionalidad MIDI – Musical

Instrument Digital Interface- (Interfase Digital de Instrumento Musical) , sino de

soportar subprogramas que emulan el sonido e interfase de equipos de hardware

reales.

Entre las principales aplicaciones de software para creación musical con

funcionalidad MIDI, son los Secuenciadores. Estos son la principal herramienta para

la creación de los metronómicos típicos beats sonoros escuchados especialmente en

la música electrónica de hoy. Y en definitiva, ningún músico electrónico profesional

o DJ consideraría crear música sin la asistencia del secuenciador.

Justamente esta velocidad de procesamiento de los computadores es una de las

principales razones por los cual, prácticamente todo el proceso de producción

musical: grabación, edición, arreglos, mezcla y masterización se lo realiza a nivel

digital. Cada vez hay más software para diferentes aplicaciones: sintetizadores,

procesadores de efectos, procesadores dinámicos, emuladores de sistemas DJ; que

afortunadamente consiguen excelentes resultados de calidad sonora, gracias a los

altos niveles de conversión A/D – D/A (analógica/digital – digital/analógica), y a los

interfaces de audio con resoluciones por ejemplo de hasta 32 bits y frecuencias de

muestreo (“Sampling”) de hasta 96 Khz. por segundo. El bajo costé de los nuevos

computadores y equipamiento de audio, ha permitido que la creación musical de

calidad decente, esté al alcance de muchas personas. Cada día proliferan más y más

estudios caseros, donde las personas pueden dar rienda suelta a su creatividad,

aprovechando la cantidad de software asequibles incluso gratuitamente y en su

mayoría a través del Internet.

Page 3: Como mezclar dj

El DJ digital. Es la tendencia que actualmente se encuentra en auge, de igual manera

debido a la capacidad de los nuevos computadores. Además, del aporte tecnológico

antes mencionado, un factor sumamente importante en el “boom” del DJ digital es el

Internet y el MP3. Temas muy conocidos y familiarizados por todos, que

prácticamente están enterrando una era del DJ que utiliza discos de vinilo prensados

para realizar sus mezclas. Ahora una computadora, una colección de archivos MP3,

un software adecuado para la realizar virtualmente el procedimiento básico del DJ y

finalmente un Controlador MIDI, abren un abanico enorme de manipulación sonora

para el DJ de hoy.

La tecnología DJ ha evolucionado de los sistemas tradicionales basados en un par de

tocadiscos de vinilo y un mezclador, a su emulación perfecta en software. Programas

como el Ableton Live y el NI Traktor han conseguido no sólo integrar y recrear un

sistema completo para DJ, sino incluso en muchas ocasiones superarlo. Al

aprovechar la flexibilidad y profundidad de manipulación que brinda el audio digital

Todos estos programas tienen lo elementos básicos que se necesitan para empezar a

mezclar y experimentar sesiones de DJ: 2 canales de audio, mezclador, ecualización,

monitoreo en privado, y procesadores de efectos.

Para comprender de una mejor manera las ventajas de un sistema digital para DJ, es

necesario revisar las técnicas básicas utilizadas para la mezcla de pistas de audio.

1.2. RESUMEN DE TÉCNICAS BÁSICAS DE MEZCLA PARA

DJ

La técnica básica de mezcla utilizada por muchos DJs se resume en los siguientes

pasos:

1. Reproducir el primer tema que empieza a sonar para “el público” o “al aire” a

través del Dispositivo Reproductor 1 en el Canal 1 del Mezclador

Page 4: Como mezclar dj

2. Escoger el siguiente tema para cargarlo en el Dispositivo Reproductor 2 en el

Canal 2 del Mezclador y escucharlo o monitorearlo en los audífonos para

verificar el punto de inicio de la reproducción y su velocidad (o tempo) o en

relación con el tema que está ya sonando en vivo.

3. Una vez ajustado el tema 2 en interno, se empiezan a mezclar los dos temas

utilizando los controles de volumen para cada canal

4. Finalmente se termina la mezcla y la transición de un tema al otro.

5. Se repiten los pasos del 1 – 4 indefinidamente de manera alternada, es decir, en

este caso la nueva mezcla sería del canal 2 – 1, después 1 – 2 otra vez y así

sucesivamente.

Durante todo este proceso se puede hacer uso de recursos extras como son la

ecualización y los procesadores de efectos para aportar con una mayor improvisación

y manipulación del sonido según el gusto de cada DJ.

A continuación podemos observar un flujo grama del proceso que implica la mezcla

de pistas, en una sesión para DJ:

Page 5: Como mezclar dj

Figura 1 diagrama de flujo para la mezcla de pistas de audio que realiza un DJ

Fuente: El Autor

Cargo pista

Reproductor A

CANAL 1

Suena Pista

A

(PUBLICO)

2

MEZCLA

PISTA A Y

PISTA B

Suena

transición

entre pistas (PUBLICO)

1

Preparo tempo o

ajusto pista A

(AUDIFONOS)

¿Primera

pista?

SI

NO

Cargo pista

Reproductor B

CANAL 2

Suena Pista

B

(PUBLICO)

Preparo tempo o

ajusto pista B,

(AUDIFONOS)

¿Primera

pista?

SI

NO

¿Lista para

mezcla?

NO

SI

¿Lista para

mezcla?

SI

NO ¿Lista para

mezcla?

Primera pista

finaliza

A

B

¿Qué pista

finalizó? 1

2

4

Nueva Pista

Suena

(PUBLICO)

A

B

¿Qué pista

suena? 3

4

3

INICIO

Page 6: Como mezclar dj

1.3. TECNOLOGÍA MIDI

Cada músico “real” se expresa con su instrumento de una manera conciente o

inconciente utilizando una serie de interpretaciones de diferentes tipos. Por ejemplo,

un pianista podría golpear ciertas notas más fuerte que otras, un guitarrista podría

deslizar sus dedos hacia arriba por el mástil de trastes flexionando el sonido, o podría

sostener algunas notas mientras acorta otras. Todos estos matices contribuyen al

elemento humano detrás de la música, y sin ellas la música sonaría aburrida y sin

vida.

Mucha gente podría discutir que no hay un elemento humano detrás de la música

electrónica “dance” debido a que todo su principio está basado en golpes exactos y

melodías que suenan como si una máquina los hubiera creado. En la mayoría de

casos esto no es verdad y con un detalle minucioso se podría encontrar que incluso el

más repetitivo “Techno1” está copado con pequeñas instancias sónicas que previenen

a que llegue a ser tedioso. Esta es la razón clave de el porqué algunas canciones

parecen tener mucha de energía o “alma” y otras inmóviles y monótonas; y también

es por esto que debe ser imperativo entender como el protocolo MIDI puede ser

utilizado. Conociendo esto, la tecnología MIDI puede ser explotada para crear la

impresión de que un tema tenga energía, manejo y un carácter indefinible.

Mucha de la energía y flujo de cualquier música puede ser atribuida al desarrollo

ligero o agresivo de los sonidos a través de la longitud del arreglo. Mientras el

músico interpreta la pieza musical o el DJ realiza la mezcla de las pistas

naturalmente inyecta esto en su presentación, capturando este sentimiento a través de

MIDI requiere el uso de una serie de controladores MIDI. Por ejemplo, cuando el

músico toca una nota y mueve la rueda “pitch-bend”, esta rueda envía un flujo

continuo de mensajes de control al motor del sintetizador, el cual a su vez flexiona la

afinación hacia arriba o abajo. Si esto juega un papel importante en su rendimiento,

entonces el músico necesitará realizar esto en tiempo real cada vez que interprete su

música. O en el caso del DJ cuando mueve el control deslizante de nivel, este control

1 “Techno” es un subgénero de la música electrónica de baile, caracterizado generalmente por su

mínima variación en el tiempo y sonidos de percusión repetitivos e hipnóticos.

Page 7: Como mezclar dj

de igual manera incrementa o disminuye el volumen de la pista de audio en alguno

de los canales del mezclador.

Todo esto se lo podría automatizar o controlar gracias al protocolo MIDI ya sea

desde el secuenciador o los controladores MIDI.

1.3.1. Controladores MIDI

Tiempo atrás en 1980 uno de los propósitos originales del desarrollo de la

especificación MIDI, era permitir a los intérpretes en vivo, la habilidad de controlar

los sonidos de múltiples sintetizadores desde un simple teclado. Ese concepto ha

tenido un gran éxito y hoy en día cantautores con portátiles, músicos de estudio,

diseñadores de sonido y otros, se han podido beneficiar de la flexibilidad que ofrece

un controlador MIDI.

Técnicamente, un controlador MIDI es un dispositivo que posee un conjunto de

actuadores que adoptan la forma de por ejemplo las teclas estilo piano, deslizadores

como las encontradas en los mezcladores de DJ, o perillas de volumen en equipos de

audio, botones, etc. Todos estos transmiten datos MIDI a módulos de sonido externo,

a sintetizadores, “samplers” (muestreadotes) y secuenciadores de software, tanto

reales como virtuales.

La mayoría de los controladores MIDI adoptan cualquier tipo de diseño dependiendo

del tipo de aplicación o instrumento que se quiera interpretar. Pudiendo ser por

ejemplo, similar al de un teclado – piano, una batería eléctrica o una flauta; incluso

como en el caso de este proyecto, un sistema para DJ. Vale la pena mencionar, que

un controlador MIDI en concreto, no procesa ni genera señales de audio; maneja

exclusivamente señales digitales que comandan los parámetros de audio de otros

instrumentos o programas.

Como habíamos mencionado, una de las principales ventajas que poseen los

controladores MIDI es permitir la interpretación del músico en vivo de su

instrumento electrónico, además de brindar versatilidad y portabilidad. Ellos brindan

Page 8: Como mezclar dj

el control sobre virtualmente el rango entero de hardware y software musical incluso

al mismo tiempo siendo lo suficientemente compactos para ajustarse a una bolsa de

laptop.

En el siguiente capítulo, se podrá conocer en mayor detalle sobre el protocolo MIDI.

1.3.2. Especificaciones MIDI

Con lo mencionado en capítulos anteriores podemos tener una idea de lo que abarca

el tema MIDI. Específicamente, la palabra MIDI son las siglas en inglés de “Musical

Instrument Digital Interface” traducido equivale a Interfase Digital de Instrumento

Musical.

MIDI es un protocolo de comunicaciones generalizado que habilita a los

instrumentos equipados con MIDI a que sean interconectados y controlados por un

secuenciador. Es decir, permite que equipos de audio de diferentes compañías

puedan trabajar juntos, lo cual significa que una pieza de software (secuenciador)

pueda convertir un banco de sintetizadores hechos por diferentes empresas en una

orquesta coherente (o banda de rock, ensamble de jazz, instalación de DJs, o casi

todo). Al usar un secuenciador MIDI – un programa que permite grabar y editar

datos MIDI- es posible componer música con una velocidad y flexibilidad que supera

los métodos antiguos de composición. Y finalmente, es posible guardar estas

composiciones en archivos en un formato que permite una fácil colaboración.

MIDI es similar al audio digital en sí, debido al hecho de que reduce varios

elementos de una interpretación musical en comandos numéricos generados. Usando

números, el lenguaje MIDI básico dice por ejemplo a un sintetizador (o

secuenciador, o software con compatibilidad MIDI) la siguiente información:

o Cuándo tocar la nota: el número de la nota2

o Cuándo empezar y terminar esa nota: nota encendida y nota apagada

o Qué tan alto tocar esa nota: esto se conoce como velocidad de la nota

2 Al final del documento en el Anexo 2 podemos apreciar el número de nota MIDI

Page 9: Como mezclar dj

o Para que parámetros son: flexión de afinación (pitch bends), modulaciones,

movimientos de rueda, y el uso del pedales sostenido

o Que sonidos tocar y cuando, y si el sonido cambia ( por ejemplo empezar con un

sonido de guitarra eléctrica y después enviar mensajes MIDI para cambiar al

sonido de una guitarra acústica)

En definitiva el MIDI es un vía estandarizada (protocolo) para la comunicación entre

dispositivos musicales. Con la capacidad de manejar hasta 16 canales -16

instrumentos- Este protocolo especifica diferentes tipos de mensajes que están

conformados por palabras de 10 bits y son transmitidos serialmente a una velocidad

de 31250 bits / segundo.

De estos 10 bits dos especifican el inicio y el final del mensaje, (0 y 1

respectivamente) restando entonces 1 byte (8 bits) que define en sí la palabra MIDI

del mensaje.

El MIDI byte puede ser de dos tipos: estado e información.

1. Estado: Un byte de estado (empieza con el MSB en 1. Entonces, un byte de estado

varía entre 128-255 en decimal y 0x80-0xFF en hexadecimal.

Ejemplo: 1001xxxx

2. Información: En este caso el octavo BIT inicia con 0. Por lo tanto, prácticamente

un mensaje de información MIDI consta de 7 bits. Es decir varía desde 0-127 en

decimal, 0x00-0x7F en hexadecimal.

Ejemplo: 00111100

Enviar bytes de datos con valores ≥ 128 violarían el protocolo MIDI y puede

provocar un comportamiento aleatorio en el lado del receptor, porque el receptor

puede asumir que un nuevo mensaje MIDI empieza (8vo BIT ajustado en el byte de

estado)

En conclusión un mensaje MIDI se compone de un byte de estado y varios bytes de

información continuos.

Page 10: Como mezclar dj

Por ejemplo:

1. 1001xxxx (note ON)

2. 00111100 (valor 64 que corresponde a la nota do)

3. 0xxxxxxx (la velocidad con la que haya sido apretada la tecla)

4. Pero al soltarla, puede omitir el byte status y apagarla por volumen (otra

posibilidad es que usase el 1000xxxx “note off” para apagarla). Es decir,

transmitiría sólo los dos siguientes bytes:

5. 00111100 (valor 64 que corresponde a la nota do)

6. 00000000 (la velocidad cero, que indica que tiene que dejar de sonar esa nota).

Omitiendo así el byte status. Es más, si nuevamente pulsamos la tecla do,

volvería a omitir el byte status.

1.3.3. Tipos de Mensajes MIDI

Existen diferentes tipos de mensajes MIDI3:

1. Mensajes De Canal:

Mensajes de Voz. Que contienen datos referentes a la interpretación musical. Se

los puede identificar porque varían su byte de estado desde 1000nnnn a

1110nnnn

Mensajes de Modo. Los mensajes de modo contienen datos que alteran la forma

en que el instrumento receptor interpreta los datos de los mensajes de voz. Inician

con el byte de estado de 1011nnnn y seguidos por los mensajes de información:

0ccccccc y 0vvvvvvv, donde "c" varía entre 120 y 127, siendo bastante similar al

mensaje de voz “Cambio de Control” pero que adopta valores fuera del rango.

3 Al final del documento en en el Anexo 1 podemos encontrar un resumen de los diferentes tipos de

mensajes MIDI, expuestos desde la propia página Web de la MMA -MIDI Manufacturers

Association- (Asociación de Fabricantes MIDI)

Page 11: Como mezclar dj

2. Mensajes de Sistema:

Sistema común. están destinados a todos los receptores del sistema. Estos

mensajes cumplen varias funciones como por ejemplo: alertar un dispositivo en

específico, apuntar la posición de una canción, seleccionar la canción, petición de

afinación, finalización de un mensaje exclusivo. Su byte de estado inicia en

11110000 hasta 11110111.

Sistema de tiempo real. Se utilizan para la sincronización de los elementos que

funcionan mediante un reloj temporizador, como secuenciadores, cajas de ritmo,

arpegiadotes, etc. Tienen la mayor prioridad entre todos los tipos de mensaje. Su

byte de estado inicia en 11111000 a 11111111.

3. Mensajes Auxiliares.

Sistema exclusivo “Sysex”. Estos mensajes incluyen un código de identificación

del fabricante y se utilizan para transferir bytes de datos formateados según una

especificación diseñada por ese fabricante. Este tipo de mensajes son los que más

nos interesa conocer para nuestra aplicación. En el próximo capítulo los vamos a

conocer más detalladamente.

4. Otros.

Se utilizan habitualmente para enviar datos de parámetros a un sintetizador para la

edición de sonidos. Los Números de parámetro registrados (Registered Parameter

Number - RPN) son aquellos a los que las organizaciones MIDI Manufacturers

Association (MMA) y Japan MIDI Standards Committee (JMSC) han asignado

alguna función particular. Por ejemplo, existen RPNs definidos para controlar la

sensibilidad de pitch bend y la afinación general de un sintetizador. Por su lado, los

no registrados (Non-Registered Parameter Number - NRPN) no tienen asignada

ninguna función específica y pueden ser utilizados de forma distinta según el

fabricante. De nuevo en este caso Roland y Yamaha, entre otros, han adoptado sus

propios estándares.

Page 12: Como mezclar dj

1.3.4. Mensajes de Sistema Exclusivos

Este tipo de mensajes como su nombre lo indica son de uso exclusivo de cada

software de audio, sintetizador o sampler. Conocidos también como mensajes Sysex,

nos permite comunicarnos de manera personal y confidencial con cualquiera de estos

equipos y así poder controlar diferentes parámetros que son propios de su estructura.

Cada fabricante define sus propios formatos para este tipo de datos y dispone de un

código de identificación único garantizado por la MMA (MIDI Manufactures

Association) y el JMSC (Japanese MIDI Standard Committee). Esta ID del

fabricante, incorporada en cada mensaje de Sistema Exclusivo, precede a los

distintos paquetes de datos, a continuación de los cuales aparece el mensaje EOX

(End of Sysex) con el que finaliza la transmisión de datos. Los fabricantes están

obligados a publicar los detalles que conforman sus formatos de datos de Sistema

Exclusivo para que puedan ser utilizados libremente por otros fabricantes o por el

propio usuario, siempre y cuando no se alteren o se utilice el formato de forma que

entre en conflicto con las especificaciones originales definidas por el fabricante.

Algunos de estos números de identificación están reservados para protocolos

especiales, entre los que figuran el Estándar para Volcado de Muestras MIDI (MIDI

Sample Dump Standard), un formato de datos de Sistema Exclusivo dedicado a la

transmisión de datos entre muestreadores; así como MIDI Show Control y MIDI

Machine Control.

Al enviar mensajes exclusivos es posible controlar cualquier aspecto del sintetizador

incluyendo controles enlistados en las especificaciones MIDI que no es reconocida

por el sintetizador.

Estructura.

Los mensajes Sysex típicamente consisten de una dirección hexadecimal, que

apuntan a la función dentro del sintetizador que queremos ajustar y un valor Sysex

hexadecimal que dice a la función como queremos ajustarla. Además, un mensaje

Sysex necesita proveer de información básica con respecto al sintetizador al cual

estamos transmitiendo el mensaje. Entonces, por esto un sintetizador requiere que el

Page 13: Como mezclar dj

mensaje Sysex sea de ocho o nueve palabras de largo, combinando todos los

elementos descritos para completar el mensaje.

A continuación analizaremos un ejemplo de mensaje Sysex:

Figura 2 Partes y Descripción de un mensaje MIDI tipo Sysex

PARTE VALOR DESCRIPCIÓN

1 F0

Byte de Estado Sysex (mensaje Sysex encendido).

Siempre todo mensaje Sysex inicia con este valor.

2 41H

Valor específico del fabricante. Ignorado por equipos

a los cuales no pertenece.

3 10H

Identificar un sintetizador en particular incluso si es

del mismo fabricante

4 42H

Código de ID del modelo del fabricante. Permite

asignar un valor entre 1 y 32 (por defecto suele ser

17) así podemos distinguir hasta 32 Instrumentos

'gemelos' dentro del Sistema MIDI. Este código suele

coincidir con el Canal Básico (también llamado

Global) del Instrumento.

Page 14: Como mezclar dj

5 12H

Puede ser de 2 variables: 12H o 11H, usado para

especificar ya sea si el mensaje está enviando (12H)

o solicitando (11H). Un mensaje 11H es usualmente

empleado para volcar enteramente todos los ajustes

del sintetizador en un secuenciador conectado.

6 00 00 11H

Dirección Sysex de la función que vamos a

modificar, en la memoria del instrumento

7 04H

Valor Sysex. Que puede ser el valor enviado si la

parte 5 está en modo enviar (12H), o si la parte 5

contiene el valor de 11H de petición, esta parte 7

indica el número de bytes solicitados por el

sintetizador para retornar en su mensaje de respuesta.

8 10H

Esta parte del mensaje es opcional dependiendo del

fabricante. Algunos lo emplean para validar los

mensajes y asegurarse de que el sintetizador haga

específicamente lo que el código hexadecimal

solicita. Es una especie de byte de "checksum".

9 F7

EOX - fin de mensaje Sysex. Siempre todo mensaje

Sysex termina con este valor.

Fuente: El Autor

Comúnmente una cadena de mensajes Sysex es insertada al inicio de cualquier

arreglo MIDI, para que el archivo pueda ser ajustado y reprogramado en cualquier

Page 15: Como mezclar dj

otro sintetizador con diferente ubicación. De hecho Sysex es muy utilizado para

actualizar el sistema operativo del sintetizador (ejemplo MIOS) o para arreglar

errores en el programa, o proveer un nuevo set de sonidos. También es muy utilizado

para alterar ciertas partes específicas de un sintetizador durante una secuencia MIDI,

como por ejemplo cambiar el tipo de filtro o la forma de onda del LFO (Oscilador de

Baja Frecuencia).

Vale la pena también notar que solo un mensaje Sysex puede ser transmitido a la vez.

Entonces si dos mensajes tienen que ser enviados seguidamente, se debe establecer

una pausa entre los dos hasta que se haya procesado el primero. Es también

importante saber que los instrumentos nunca deben recibir Mensajes de Sistema

Exclusivo en el momento de su encendido.

1.3.5. Conexión con el Computador

Todo instrumento o equipo que tenga capacidad MIDI por lo general tiene tres

conectores: MIDI IN, MIDI OUT y MIDI THRU. En estos conectores se insertan

lógicamente los cables para establecer la comunicación entre el controlador,

sintetizador o teclado y el computador en el que está instalado el programa

secuenciador o de DJ. La “conversación MIDI” real viaja desde el conector MIDI

OUT de un instrumento hasta el conector MIDI IN de otro. La información recibida

en el puerto MIDI IN de un dispositivo puede ser también retransmitida o replicada

en el conector MIDI THRU para que sea reenviada a su vez, al puerto MIDI IN de

otro instrumento; de tal manera que puedan conectarse varios dispositivos MIDI en

cadena. Al conectar equipos MIDI con esta configuración, se crean sistemas más

elaborados permitiendo al secuenciador comunicarse con varios sintetizadores,

samplers o controladores al mismo tiempo.

En la Figura 3 podemos apreciar una configuración típica para la Producción de

Música Electrónica. En el que el secuenciador MIDI instalado en el computador,

funciona como una especie de “director de orquesta”, enviando diferentes tipos de

información digital, los cuales son interpretados por los instrumentos conectados a la

cadena MIDI para reaccionar de una u otra manera según la especificación de estos

Page 16: Como mezclar dj

mensajes, y finalmente su interpretación de audio sea escuchada a través de la mesa

de mezcla.

Figura 3 Configuración típica de un Estudio para Producción de Música Electrónica

Fuente: Rick Snoman, A simple Dance-Based Studio, 2004 y el Autor.

Los conectores -receptores- MIDI tienen 5 zócalos que encajan perfectamente con

las 5 patillas tipo DIN que forman los conectores -macho- de los cables:

Figura 4 Conexiones MIDI, In, Out y Thru

Page 17: Como mezclar dj

Fuente: Roland, Manual MIDI, Año no disponible

Figura 5 Conector – receptor MIDI

Fuente: el Autor

Figura 6 Conector – cable MIDI

Fuente: BBD Soft, AT keyboard connector (DIN5), 2007

http://www.bbdsoft.com/keyboard.html

Page 18: Como mezclar dj

En estos cables la transmisión de los datos se lo realiza a través de un solo pin, el

número 5. Los pines 1 y 3 fueron agregados para futuras funcionalidades. El pin # 2

se utiliza como blindaje (tierra) y finalmente el pin 4 es para transmitir un voltaje de

5 V, y de esta manera garantizar un flujo correcto de la corriente eléctrica.

Obviamente las conexiones MIDI no son comunes de encontrar en los computadores

disponibles normalmente en el mercado, muchas veces es necesario utilizar una

interfase MIDI adicional, ya sea dedicada o integrada en una tarjeta de sonido.

Figura 7 Conexión de diferentes dispositivos a través de una interfase MIDI

Fuente: Rick Snoman, Single and Multi-Buss MIDI Setups, 2004 y el Autor.

También se pueden encontrar interfases MIDI en forma de un conector para palanca

de juegos -joystick-, con la ventaja de utilizar un solo cable para establecer la

comunicación. En la Figura 8 y 9 se puede apreciar un conector de este tipo y la

conexión con un controlador MIDI

Page 19: Como mezclar dj

Figura 8 Conector MIDI tipo “joystick”

Fuente: Crutchfield, Game MIDI Plug, 2009.

http://akamaipix.crutchfield.com/lifestyle/2001/hGameMIDIPlug.jpeg

Figura 9 Conexión de un controlador y un computador a través de cable MIDI y conector “Joystick”

Fuente: Turtle Beach, MIDI Cable Connection Charts (Joystick & USB), 2009.

http://support.turtlebeach.com/site/kb_ftp/167217296.asp

Incluso actualmente podemos encontrar de una manera prácticamente estandarizada

el uso del puerto USB o Firewire para establecer la comunicación MIDI entre un

dispositivo MIDI (sea este controlador DJ, sintetizador o teclado master) y el

computador. Con la ventaja de evitar una conexión extra como en la conexión

original, ya que a través de un solo cable se establece la comunicación de entrada y

salida. Adicionalmente, en varias ocasiones se han configurado ensambles de varios

computadores que se comunican entre ellos a través del protocolo MIDI pero

utilizando cable Ethernet.

Page 20: Como mezclar dj

Figura 10 Conexión de un controlador y un computador a través de cable MIDI y conector USB

Fuente: Turtle Beach, MIDI Cable Connection Charts (Joystick & USB), 2009.

http://support.turtlebeach.com/site/kb_ftp/167217296.asp

Para nuestro proyecto utilizaremos la conexión típica a través de los conectores

MIDI normales.

1.4. SOFTWARE PARA APLICACIONES DE AUDIO

1.4.1. 1.4.1. Ableton Live

“Ableton Live” es un programa secuenciador de audio que se lo puede tocar como si

fuera un instrumento. Ya sea por sí solo o con otros músicos y DJs, en presentaciones

en vivo o remixeando en estudio, lo único que requiere Ableton es un computador.

Es prácticamente un secuenciador en tiempo real que utiliza loops, archivos de audio

y MIDI, además de un amplio arsenal de efectos. Una gran ventaja es que puede

funcionar también con otros programas de audio, como Reason, Logic y Cubase.

Gracias a estas características en tiempo real, “Ableton Live” ha abierto enteramente

nuevos mundos de expresión creativa para los DJs; es posible mezclar cualquier

cantidad pistas y loops, remezclar sobre la marcha, capturar loops de audio en tiempo

real desde cualquier fuente externa de sonido como compacteras o tocadiscos.

Page 21: Como mezclar dj

A continuación revisaremos, la configuración básica del software para utilizarlo

como equipo de DJ.

1.4.1.1. CREACIÓN DE CANALES DE AUDIO

Figura 10 Pantalla Inicial del Software – Ableton Live

Fuente: Programa Ableton Live 7, Captura de pantalla en el software, 2009.

Inicialmente Ableton tiene ya creados un canal MIDI y un canal de Audio en su

“Vista “Sesión”. La vista Sesión ofrece un enfoque hacia la producción musical

permitiendo grabar, reproducir y combinar ideas en la marcha. Esta herramienta es

igualmente útil para la composición musical, “jamming" (sólo o con otros músicos) y

"DJing". Sus transiciones permanecen siempre sincronizadas al tiempo musical,

incluso durante los cambios de tempo y el groove.

Las hileras horizontales de la vista de Sesión se llaman escenas. En esta

configuración cada escena representa una sección de la canción, como por ejemplo

intro, coro, estrofa, etc. En este modo al reproducir una parte se reproducen todos los

clips cargados en los canales y se mantienen sonando todo el tiempo que se desee.

Page 22: Como mezclar dj

Figura 11 Reproducción de Clips por Secciones

Fuente: Programa Ableton Live 7, Captura de pantalla en el software, 2009.

Estos clips que conforman una escena, son simples contenedores de datos de audio o

MIDI y permiten llevar la composición no linear un paso más allá al desviarse de las

escenas y probar variaciones

Figura 12 Reproducción de Clips por escena

Fuente: Programa Ableton Live 7, Captura de pantalla en el software, 2009.

Cualquier clip o escena que se “dispare” estará sincronizado con el tempo del Set.

Por defecto, todos los clips se inician solo en el primer tiempo del compás siguiente

una vez que hayan sido disparados, permitiendo obtener una máxima sincronización.

Se debe notar que si disparamos un nuevo clip este detiene la reproducción del clip

que estaba reproduciéndose anteriormente en la misma columna. Las columnas

verticales en la vista de Sesión representan a las pistas, y una pista solo puede

reproducir un clip al mismo tiempo. Por eso uno normalmente coloca las variaciones

de un clip en la misma pista.

Si queremos detener un clip sin que se inicie otro, podemos usar el botón detener

Clip de la misma pista. Estos botones cuadrados aparecen por defecto en todos los

spots de clip vacíos:

Page 23: Como mezclar dj

Figura 13 Detener un clip de una escena

Fuente: Programa Ableton Live 7, Captura de pantalla en el software, 2009.

Al hacer doble clic sobre cualquiera de los clips podemos observar la onda de audio.

Figura 14 Forma de Onda del Audio de un Clip

Fuente: Programa Ableton Live 7, Captura de pantalla en el software, 2009.

Page 24: Como mezclar dj

Vamos a eliminar el canal MIDI y crear un nuevo canal de Audio para tener dos

canales de audio en total, ya que el enfoque de nuestro controlador y la configuración

básica para un sistema DJ no necesita más canales:

Figura 15 Selección de un canal MIDI

Fuente: Programa Ableton Live 7, Captura de pantalla en el software, 2009.

Seleccionamos el canal MIDI y presionamos la tecla DEL.

Figura 16 Canal MIDI eliminado

Fuente: Programa Ableton Live 7, Captura de pantalla en el software, 2009

Page 25: Como mezclar dj

Ahora para crear un nuevo canal de audio damos clic derecho donde está el cursor de

la imagen anterior y seleccionamos la opción “Insertar pista de audio”:

Figura 17 Inserción de un nuevo canal de audio

Fuente: Programa Ableton Live 7, Captura de pantalla en el software, 2009

Figura 18 Dos canales de audio listos para cargar nuevos clips

Fuente: Programa Ableton Live 7, Captura de pantalla en el software, 2009

Page 26: Como mezclar dj

1.4.1.2. INSERCIÓN DE MÓDULOS DE EFECTOS.

Una vez que tenemos listos los canales de audio lo que nos corresponde hacer ahora es

insertar los efectos básicos para un sistema DJ.

Primero empezamos insertando los Ecualizadores:

En el panel de navegación de dispositivos Live, nos dirigimos a la opción que dice

“Audio Effects”

Figura 19 Explorador de efectos de Audio

Fuente: Programa Ableton Live 7, Captura de pantalla en el software, 2009

Page 27: Como mezclar dj

Donde podemos apreciar un listado completo de los diferentes módulos de efectos que

ofrece Live. Buscamos la opción que dice "EQ Three", la seleccionamos y sin soltar el

botón del Mouse, arrastramos el módulo hace el panel de efectos de cualquiera de los

canales de audio.

Figura 20 Efecto de Ecualizador de Tres Bandas seleccionado para arrastrarlo al panel de efectos de un

canal de audio

Fuente: Programa Ableton Live 7, Captura de pantalla en el software, 2009

Page 28: Como mezclar dj

Figura 21 Efecto de Ecualizador de Tres Bandas, Bajos Medios y Agudos, con botones para eliminación

de banda y control de ganancia

Fuente: Programa Ableton Live 7, Captura de pantalla en el software, 2009

Ahora, podemos seguir agregando una cadena de efectos después del ecualizador, que

esté en acorde a nuestros gustos. Para este proyecto, hemos decidido seleccionar un

módulo de “Delay” uno de “Reverb” y finalmente uno de Filtro. Para añadirlos,

utilizamos el mismo método indicado para el ecualizador.

Page 29: Como mezclar dj

Figura 22 Seleccionamos el efecto "Grain Delay", para sumarlo a la cadena de efectos

Fuente: Programa Ableton Live 7, Captura de pantalla en el software, 2009

Page 30: Como mezclar dj

Figura 23 Efecto Reverb, insertado en la cadena de efectos

Fuente: Programa Ableton Live 7, Captura de pantalla en el software, 2009

Y finalmente seleccionamos y arrastramos un módulo de Filtro que decidimos ubicarlo

entre el ecualizador y el Delay.

Figura 24 Efecto Reverb, insertado en la cadena de efectos

Fuente: Programa Ableton Live 7, Captura de pantalla en el software, 2009

Page 31: Como mezclar dj

Esta inserción de cadena de efectos lo realizamos nuevamente pero esta vez para el

canal de audio 1, de tal manera que tendríamos dos canales idénticos.

Figura 25 Canal 1 seleccionado para ser insertado con una cadena de efectos

Fuente: Programa Ableton Live 7, Captura de pantalla en el software, 2009

Page 32: Como mezclar dj

Figura 26 Configuración final con los 2 canales de audio y sus respectivas cadenas de efectos

Fuente: Programa Ableton Live 7, Captura de pantalla en el software, 2009

Una vez listos la configuración de canales y efectos lo que necesitamos ahora configurar

es la comunicación MIDI.

1.4.1.3. CONFIGURACIÓN MIDI

Lo que primero tenemos que hacer es verificar que Ableton Live se encuentre

detectando los puertos MIDI de nuestra interfase.

Page 33: Como mezclar dj

Figura 27 Ingresamos a la opción “Preferencias” dentro del menú de “Opciones” para ajustar la

configuración MIDI

Fuente: Programa Ableton Live 7, Captura de pantalla en el software, 2009

Para esto nos dirigimos a la opción de preferencias, ubicado en el menú de Opciones, y

en la pestaña de “MIDI Sync” verificamos que estén seleccionados los puertos de

entrada y salida de nuestra interfase y/o controlador MIDI:

Figura 28 Tanto en Entrada como en Salida debe estar el nombre del controlador MIDI

Fuente: Programa Ableton Live 7, Captura de pantalla en el software, 2009

Page 34: Como mezclar dj

Y también debe estar activada la opción “Remote” para el puerto de entrada de nuestro

controlador MIDI:

Figura 29 Habilitamos la entrada para el control remoto de Ableton

Fuente: Programa Ableton Live 7, Captura de pantalla en el software, 2009

Ahora el siguiente paso, sería asignar los diferentes controles y botones de nuestro

dispositivo MIDI a cada parámetro que nos gustaría modificar o manipular en Ableton

Live. Para realizar esto lo primero que tenemos que hacer es presionar el botón MIDI

ubicado en la esquina superior izquierda:

Figura 30 Al presionar el botón MIDI, Ableton ingresa a modo de reconocimiento de controles

Fuente: Programa Ableton Live 7, Captura de pantalla en el software, 2009

Al activar esta opción, Live entra en modo de “aprendizaje”, en el cual automáticamente

asignara cualquier parámetro que seleccionemos al control que movamos en nuestro

controlador:

Page 35: Como mezclar dj

Figura 31 Ableton en Modo “MIDI Learn”, listo para asignar el mapeo de controles

Fuente: Programa Ableton Live 7, Captura de pantalla en el software, 2009

Entonces ah continuación seleccionamos cualquier parámetro que necesitemos asignar a

algún actuador, por ejemplo seleccionamos la opción "Dry/Wet" del módulo “Simple

Delay”:

Figura 32 Seleccionamos en Ableton algún actuador que deseamos controlar

Fuente: Programa Ableton Live 7, Captura de pantalla en el software, 2009

Page 36: Como mezclar dj

Ahora movemos la perilla o deslizador en nuestro controlador para que sea asignado, al

hacer esto automáticamente Live graba esta información para que esté disponible

después de terminar las asignaciones:

Figura 33 Después de mover un control para que Ableton lo reconozca, aparece la nomenclatura

asignada al actuador

Fuente: Programa Ableton Live 7, Captura de pantalla en el software, 2009

Podemos verificar la asignación de este control en el panel de Mapeo MIDI:

Figura 34 Verificación en el Panel de Mapeos MIDI, de todos los actuadores asignados

Fuente: Programa Ableton Live 7, Captura de pantalla en el software, 2009

Aquí podemos interpretar que el parámetro Dry/Wet del módulo “Simple Delay”

ubicado en el Canal de Audio 2 está asignado el Control de Cambio # 10 del

Controlador MIDI detectado en el canal MIDI 1.

Mientras estemos en este modo podemos seguir asignando controles a cualquier otro

parámetro, y la ventaja es que la reproducción de audio no se interrumpe mientras se

realiza el mapeo MIDI.

Por ejemplo ahora vamos asignar un potenciómetro deslizante de nuestro controlador

para manipular el volumen de uno de los canales de audio:

Page 37: Como mezclar dj

1. Seleccionamos el control de volumen en Live

Figura 35 Verificación en el Panel de Mapeos MIDI, de todos los actuadores asignados

Fuente: Programa Ableton Live 7, Captura de pantalla en el software, 2009

2. Movemos un potenciómetro deslizante en el controlador MIDI para que Live lo

reconozca

Figura 36 Una vez reconocido el control externo para el volumen del canal, podemos observar su

nomenclatura

Fuente: Programa Ableton Live 7, Captura de pantalla en el software, 2009

3. Verificamos en el panel del mapa MIDI esta asignación

Figura 37 Comprobación en el panel de mapeos

Fuente: Programa Ableton Live 7, Captura de pantalla en el software, 2009

Page 38: Como mezclar dj

Podemos verificar que el parámetro “Track Volume” del módulo Mixer en la pista

de Audio 1, está asignada por el Control de Cambio 10 del dispositivo externo

asignado a través del Canal MIDI 1.

4. En el caso que hayamos terminado la asignación de los diferentes parámetros

podemos finalmente presionar el botón MIDI para salir del modo de edición del

mapeo

Figura 38 Finalizar Modo edición MIDI

Fuente: Programa Ableton Live 7, Captura de pantalla en el software, 2009

Este proceso lo podemos repetir cuántas veces sean necesarias, tomando en cuenta

la capacidad de nuestro controlador MIDI.

5. Una vez ajustados todos estos parámetros podemos proceder con la reproducción y

mezcla de los archivos de audio para crear una sesión DJ

1.4.2. NI Traktor

Para este programa la configuración de un sistema DJ es mínima debido a que está

diseñado para este tipo de aplicación.

Por lo tanto, nos limitaremos a configurar el mapeo MIDI, el cual es similar al proceso

para el Ableton Live.

Page 39: Como mezclar dj

Figura 39 Pantalla inicial de NI Traktor Pro

Fuente: Programa NI Traktor Pro, Captura de pantalla en el software, 2009

Para realizar la configuración MIDI lo que tenemos que hacer es simplemente ingresar

al panel de preferencias dando clic en el siguiente icono:

Figura 40 Pantalla inicial de NI Traktor Pro

Fuente: Programa NI Traktor Pro, Captura de pantalla en el software, 2009

Page 40: Como mezclar dj

En el cuadro de dialogo que se abre seleccionamos la opción “MIDI Setup” y aquí en

las opciones que aparecen tanto para la entrada y salida seleccionamos nuestro

dispositivo MIDI:

Figura 41 Configuración de Dispositivos MIDI

Fuente: Programa NI Traktor Pro, Captura de pantalla en el software, 2009

Una vez seleccionados los controladores MIDI, seleccionamos la opción que se llama

“MIDI Mapping” ubicado al final de la lista de opciones de las preferencias.

Page 41: Como mezclar dj

Figura 42 Configuración de Dispositivos MIDI

Fuente: Programa NI Traktor Pro, Captura de pantalla en el software, 2009

Ahora en la parte derecha damos clic en el botón “Add” para agregar un control que

deseamos modificar remotamente con nuestro dispositivo MIDI. En este ejemplo vamos

a agregar el parámetro correspondiente a la ganancia de la banda media para el

ecualizador del canal A:

Figura 43 Configuración de Dispositivos MIDI

Fuente: Programa NI Traktor Pro, Captura de pantalla en el software, 2009

Page 42: Como mezclar dj

Figura 44 Podemos añadir cualquier parámetro para ser asignado al Controlador

Fuente: Programa NI Traktor Pro, Captura de pantalla en el software, 2009

Ahora en la sección “Control Configuration” seleccionamos el enfoque al canal que

necesitamos asignar:

Page 43: Como mezclar dj

Figura 45 Seleccionamos el enfoque del parámetro seleccionado, Canal A, B o C

Fuente: Programa NI Traktor Pro, Captura de pantalla en el software, 2009

Ahora presionamos el botón “Learn” y movemos la perilla en nuestro controlador MIDI

para que sea grabado el mapeo:

Page 44: Como mezclar dj

Figura 46 Después de presionar el botón Learn, podemos asignar el parámetro seleccionado al

controlador MIDI

Fuente: Programa NI Traktor Pro, Captura de pantalla en el software, 2009

Page 45: Como mezclar dj

Figura 47 Podemos comprobar la asignación del parámetro seleccionado

Fuente: Programa NI Traktor Pro, Captura de pantalla en el software, 2009

Ahora por ejemplo queremos asignar el encendido de la sección de efectos 2 para el

canal B, procedemos de la misma manera:

Figura 48 Seleccionamos nuevamente uno de los parámetros

Fuente: Programa NI Traktor Pro, Captura de pantalla en el software, 2009

Page 46: Como mezclar dj

Presionamos el botón al cual queremos asignar este control, debido a que Traktor

mantuvo su estado de “Aprendizaje”:

Figura 49 No es necesario presionar el botón de “Learn” nuevamente, directamente seleccionamos el

parámetro y accionamos el control al cuál queremos asignar

Fuente: Programa NI Traktor Pro, Captura de pantalla en el software, 2009

En este caso podemos modificar el tipo de acción del botón asignado, para definir un

comportamiento específico, pudiendo ser este “Hold” -Mantenido-, “Toggle” -

Alternado-, “Direct” -Directo- y “Output” -Salida-.

Estas opciones nos permiten personalizar de cierta manera los diferentes parámetros,

independientemente del tipo de botón que hayamos escogido para nuestro controlador

MIDI. Por ejemplo en este sentido se puede notar una ventaja de Traktor ante Ableton

Live. Ya que esta es una función que no está disponible en Live.

Page 47: Como mezclar dj

Figura 50 Seleccionamos el modo de interacción

Fuente: Programa NI Traktor Pro, Captura de pantalla en el software, 2009

En este ejemplo cada vez que presionemos el botón provocará que el control de efectos

asignado se mantenga encendido, sin la necesidad de mantener el botón presionado.

Una vez finalizado el mapeo de todos los parámetros, podemos cerrar el cuadro de

preferencias y empezar a utilizar el programa.

1.5. MICROCONTROLADORES PIC

Page 48: Como mezclar dj

1.5.1. Diagrama De Pines

Figura 51 Nombres de los pines del PIC18F452

Fuente: Microchip, Pin Diagrams, 2006

1.5.1.1. DESCRIPCIÓN DE LOS PINES

Page 49: Como mezclar dj

Figura 52 Nombres de los pines del PIC18F452

Fuente: Microchip, Pinout I/O Descriptions, 2006

Page 50: Como mezclar dj

Figura 53 Nombres de los pines del PIC18F452 (continua)

Fuente: Microchip, Pinout I/O Descriptions, 2006

Page 51: Como mezclar dj

Figura 54 Nombres de los pines del PIC18F452 (continua)

Fuente: Microchip, Pinout I/O Descriptions, 2006

Page 52: Como mezclar dj

Figura 55 Nombres de los pines del PIC18F452 (continua)

Fuente: Microchip, Pinout I/O Descriptions, 2006

1.5.2. Oscilador De Cristal

El oscilador de cristal, es una de las opciones de oscilación que se encuentran

disponibles con el microcontrolador PIC18F452. Este oscilador puede ser seleccionado

a través de los bits de configuración FOSC2, FOSC1 y FOSC0. Para su funcionamiento

este oscilador de cristal es conectado a los pines OSC1 y OSC2 del microcontrolador y

Page 53: Como mezclar dj

además requiere el uso de un capacitor de corte paralelo. Existen diferentes modos de

oscilación, con cristal:

1. LP - Cristal de Baja Potencia

2. XT - Cristal/Resonador

3. HS - Cristal/Resonador de Alta Velocidad

Figura 56 Diagrama del Oscilador para el PIC18F852

Fuente: Microchip, Crystal/Ceramic Resonator Operation (HS, XT or LP Configuration), 2006

Page 54: Como mezclar dj

Figura 57 Selección de Capacitores para Oscilador de Cristal

Fuente: Microchip, Capacitor Selection for Crystal Oscillator, 2006

Se debe tomar en cuenta las siguientes notas:

1. Mientras más alta sea la capacitancia más estabilidad tiene el oscilador, pero

también aumenta el tiempo de arranque

2. Rs puede ser requerida en el modo HS, como también en XT, para evitar los

cristales distorsionantes, con un manejo demasiado bajo.

3. Siempre debemos consultar las características de cada oscilador propuestas por el

fabricante, para estar seguros de los componentes que deben ser conectados.

Page 55: Como mezclar dj

1.5.3. Reset Maestro

El reset maestro para el PIC puede ser de varios tipos:

a. Power-on Reset (POR). Reinicio en el encendido.

b. MCLR. Reinicialización maestra en plena operación. A través del pin 1 MCLR

c. MCLR. Reinicialización maestra en modo SLEEP.

d. Reinicio a través del temporizador de “perro guardián” Watchdog Timer (WDT)

durante operación normal

e. Reinicio programable por baja de tensión BOR.

f. Instrucción RESET.

g. Stack lleno

h. Stack vació cuando es apuntado.

De estos diferentes tipos de Reinicialización, los que utilizaríamos para el proyecto son

el POR y BOR.

Para implementar el POR (pulso de reinicio generado en el chip cuando se detecta una

subida de Vdd) basta simplemente con conectar al pin 1 a través de una resistencia a

Vdd. Esto también elimina la necesidad de conectar componentes RC externamente.

Al utilizar la reinicialización debido a una caída de tensión en Vdd, Brown – out Reset,

estamos protegiendo de cierta manera al chip de un posible corto circuito en alguna

parte del sistema al cual integra, además establecemos una reinicialización del mismo

únicamente cuando Vdd haya superado los parámetros establecidos. Este tipo de

reinicialización puede ser habilitada a través del BIT BOREN. Y ajustados sus

lumbrales con los bits BORV1 y BORV0. Dependiendo de los bits en los que hayan

sido configurados se establece el umbral mínimos en el cual se activa BOR, si Vdd es

menor a este voltaje por un tiempo mínimo de 200 µs, se resetea el chip y permanece de

esta manera hasta que sea reestablecido.

1.5.4. Puertos

Page 56: Como mezclar dj

El PIC18F452 posee 5 puertos, en los que su pines de entrada/salida son multiplexados

con una función alternativa de los periféricos del dispositivo. En general, cuando un

periférico está habilitado, ese pin no debe ser usado como un pin de entrada o salida de

propósito general.

Cada puerto tiene tres registros para su operación. Estos registros son:

- TRIS, que es el registro de direccionamiento

- PORT, en el cuál lee los niveles en los pines del dispositivo

- LAT, registro de salida del Latch, el cual es útil para leer-modificar o operaciones

en el valor que los pines de I/O están manejando.

A continuación podemos ver los diferentes puertos que caracterizan al PIC18F452, las

funciones de sus pines y los registros asociados a cada uno:

Funciones y Registros Asociados del Puerto A:

Figura 58 Funciones de cada Pin en el Puerto A

Fuente: Microchip, PORTA Functions, 2006

Figura 59 Registros Asociados al Puerto A

Fuente: Microchip, Summary of Registers Associated with PORTA, 2006

Funciones y Registros Asociados del Puerto B:

Page 57: Como mezclar dj

Figura 60 Funciones de cada Pin en el Puerto B

Fuente: Microchip, PORTB Functions, 2006

Figura 61 Registros Asociados con el Puerto B

Fuente: Microchip, Summary of Registers Associated with PORTB, 2006

Funciones y Registros Asociados del Puerto C:

Page 58: Como mezclar dj

Figura 62 Funciones de cada Pin en el Puerto C

Fuente: Microchip, PORTC Functions, 2006

Figura 63 Registros Asociados con el Puerto C

Fuente: Microchip, Summary of Registers Associated with PORTB, 2006

Funciones y Registros Asociados del Puerto D:

Page 59: Como mezclar dj

Figura 64 Funciones de cada Pin en el Puerto D

Fuente: Microchip, PORTD Functions, 2006

Figura 65 Registros Asociados con el Puerto D

Fuente: Microchip, Summary of Registers Associated with PORTD, 2006

Page 60: Como mezclar dj

Funciones y Registros Asociados del Puerto E:

Figura 66 Funciones de cada Pin en el Puerto E

Fuente: Microchip, PORTE Functions, 2006

Figura 67 Registros Asociados con el Puerto E

Fuente: Microchip, Summary of Registers Associated with PORTE, 2006

1.5.5. Conversión Analógica-Digital

Page 61: Como mezclar dj

La conversión AD del microcontrolador PIC18F452 se la realiza a través de 8 entradas.

El módulo de conversión AD es controlado por las definiciones de los registros ACON0

y ADCON1. La conversión A/D permite transformar la señal de entrada analógica en un

número digital correspondiente de 10-BIT.

El módulo A/D tiene 4 registros en total:

- Resultado Alto de la conversión A/D (ADRESH)

- Resultado Bajo de la conversión A/D (ADRESL)r

- Registro de Control 0 (ADCON0)

- Registro de Control 1 (ADCON1)

El registro ADCON0 controla la operación del módulo A/D y el registro ADCON1

configura las funciones de los pines del puerto. A continuación podemos apreciar las

diferentes opciones y funciones de cada registro:

Registro ADCON1

Page 62: Como mezclar dj

Figura 68 Registro ADCON1

Fuente: Microchip, extracto de PIC18F452 Data Sheet, 2006

Page 63: Como mezclar dj

La salida de la muestra y retención es la entrada en el convertidor, el cual genera el

resultado vía aproximaciones sucesivas. Cada puerto asociado con el convertido A/D

puede ser configurado con una entrada analógica (RA3 puede ser también una

referencia de voltaje) o como una entrada/salida digital.

Los registros ADRESH y ADRESL contienen el resultado de la conversión A/D.

Cuando la conversión está completa, el resultado es cargado en los registros

ADRESH/ADRESL, el BIT GO/DONE (ADCON0 -2- ) es limpiado, y el BIT de la

bandera de interrupción, ADIF es encendido.

Figura 69 Diagrama de bloques del convertidor A/D

Fuente: Microchip, A/D Block Diagram, 2006

El valor que está en los registros ADRESH/ADRESL no es modificado por una reseteo

al encendido. Los registros ADRESH/ADRESL contendrán datos desconocidos después

de una reinicialización al encender el chip.

Después de que el módulo haya sido configurado como deseamos, el canal seleccionado

debe adquirido antes que la conversión se iniciada. Las entradas analógicas deben tener

Page 64: Como mezclar dj

su respectivo TRIS seleccionado como una entrada. Después que el tiempo de

adquisición haya pasado, la conversión A/D puede ser iniciada. Se deben seguir los

siguientes pasos para realizar una conversión:

1. Configurar el modulo A/D:

- Configurar los pines analógicos, el voltaje de referencia y la entrada/salida

digital (ADCON1)

- Seleccionar el canal de entrada de A/D (ADCON0)

- Seleccionar el reloj de conversión A/D (ADCON0)

- Encender el módulo A/D (ADCON0)

2. Configurar la interrupción de A/D (si se desea)

- Limpiar el BIT ADIF

- Ajustar ADIE

- Encender el PEIE

3. Esperar el tiempo de adquisición requerido

4. Iniciar la conversión

- Encender el bit GO/DONE (ADCON0)

5. Esperar que la conversión se complete, ya sea,

- Esperando que el BIT de GO/DONE sea limpiado (si las interrupciones no están

habilitadas) o

- Esperando por la interrupción de A/D

6. Leer los registros de resultados A/D (ADRESH/ADRESL); limpiar el BIT ADIF si

es necesario

7. Para la siguiente conversión, ir al paso 1 o paso 2 como sea necesario. El tiempo de

conversión por BIT es definido como TAD. Un tiempo de adquisición de 2 TAD es

requerido para iniciar la próxima conversión.

Page 65: Como mezclar dj

El tiempo de conversión por BIT es definido como TAD. La conversión A/D requiere 12

TAD por cada conversión de 10-BIT. La fuente del reloj de conversión A/D es elegible

por software. Las siete opciones siguientes son posibles:

• 2 TOSC

• 4 TOSC

• 8 TOSC

• 16 TOSC

• 32 TOSC

• 64 TOSC

• Módulo Interno A/D oscilador RC (2-6 μs)

Para un correcta conversión, el reloj TAD debe ser seleccionado de tal manera que

asegure un mínimo TAD de 1.6 µs.

Figura 70 Tabla de TAD vs. Frecuencia de Operación

Fuente: Microchip, TAD vs. Device Operating Frecuencies, 2006

Page 66: Como mezclar dj

1.5.6. Set de Instrucciones

Figura 71 Tabla de descripción de campos “Opcode”4

Fuente: Microchip, Table 20-1: OPCODE Field Descriptions, 2006

4 OPCODE hacer referencia a “Operational Code” -Código Operacional-

Page 67: Como mezclar dj

Figura 72 Set de Instrucciones para el PIC18F452

Fuente: Microchip, Table 20-2: PIC18FXXX Instruction Set, 2006

Page 68: Como mezclar dj

Figura 73 Set de Instrucciones para el PIC18F452 (continuación)

Fuente: Microchip, Table 20-2: PIC18FXXX Instruction Set (continued), 2006

Page 69: Como mezclar dj

Figura 74 Set de Instrucciones para el PIC18F452 (continuación)

Fuente: Microchip, Table 20-2: PIC18FXXX Instruction Set (continued), 2006

1.6. SISTEMA OPERATIVO MIDI (MIOS)

El sistema operativo MIDI, ha sido desarrollado para los requerimientos de aplicaciones

flexibles de controladores MIDI. En diferencia a las soluciones comerciales dedicadas

de hoy, MIOS sigue el concepto de un sistema de computo abierto como fundamento

para la idea del intercambio y las adaptaciones personales. Existen diferentes

aplicaciones que varían según el diseño del panel, elementos de control o flujo de

trabajo preferido, la mayoría de estas aplicaciones son basadas en diseños

preestablecidos que por ende están limitados a las características proporcionadas del

firmware. Con MIOS tales controladores pueden ser realzados para dispositivos de

multipropósito y con código intercambiable, totalmente personalizable para la

aplicación anfitriona aproximada, sintetizador o similares “Dispositivos MIDI”.

Page 70: Como mezclar dj

1.6.1. Programación Básica En C

Si bien la aplicación implementada para el proyecto utiliza código ensamblador en su

mayoría, gracias a la cantidad de aplicaciones y librerías MIOS incluidas en el código,

el uso del lenguaje ensamblador no muestra mayor dificultad. Por lo que funciones en

lenguaje C no fueron utilizadas en su mayoría.

Las principales funciones utilizadas de este lenguaje fueron:

a) #include

La directiva #include hace que se incluya una copia de un archivo especificado en lugar

de la directiva. Las dos formas de la directiva #include son:

#include <nombrearchivo>

#include “nombrearchivo”

La diferencia entre estas dos formas es la ubicación en la que el preprocesador busca el

archivo a incluir. Si el nombre del archivo está encerrado entre paréntesis angulares (< y

>), que se utilizan para archivos de encabezado de la biblioteca estándar, el procesador

busca el archivo especificado de una manera dependiente de la implementación, por lo

general mediante directorios previamente designados. Si el nombre del archivo se

encierra entre comillas el procesador busca primero en el mismo directorio en el que se

va a compilar el archivo y después en la misma manera dependiente de la

implementación.

Esta directiva también se utiliza con programas que consisten en varios archivos fuente

que se van a compilar en conjunto. A menudo se crea e incluye en el archivo de

encabezado que contiene declaraciones y definiciones comunes para los archivos de

programa separados.

Ejemplo:

#include <mios.h>

Copia el archivo de toda la estructura de MIOS en el código de la aplicación que

estemos desarrollando.

b) #if, #else y #endif

Page 71: Como mezclar dj

Estas operaciones de compilación condicional que permite al programador controlar la

ejecución de las directivas de preprocesador y la compilación del código de programa.

Cada una de las directivas condicionales del preprocesador evalúa una expresión entera

constante que determina si el código se compila o no. Siempre toda función #if

termina con #endif. Son muy similares a las operaciones condicionales estándar if,

else y endif.

La estructura de selección if realiza una acción indicada solamente cuando la condición

es verdadera; de lo contrario, se evita dicha acción. La estructura de selección permite

al programador especificar una acción a realizar cuando la condición es verdadera, y

una acción diferente a realizar cuando la acción es falsa.

Ejemplo:

if (calificación >= 60)

cout << “Aprobado”;

else

cout << “Reprobado”;

Este código simplemente Aprobado si la calificación del estudiante es mayor o igual

que 60, pero imprime Reprobado si la calificación del estudiante es menor que 60.

1.6.2. Funciones Propias

Las principales funciones propias del MIOS5, que han sido utilizadas en la aplicación

específica son:

5 Klose, Thorsten, “MIOS Functions Reference (ASM Version)”, 2009-01-01, http://www.ucapps.de/

MIOS_AIN_NumberSet Descripción: Ajusta el numero de pines AIN (analogic inputs) disponibles. Si el

número es > 64, el valor será forzado a 64

Entrada: Número de entradas analógicas WREG

Salida: –

Usa: BSR (registro selector de banco)

Page 72: Como mezclar dj

MIOS_AIN_Muxed

Descripción: Habilita el modo de multiplexación para que puedan ser conectados y

multiplexados hasta 64 potenciómetros a través del modulo AIN.

Entrada: –

Salida: –

Usa: BSR (registro selector de banco)

MIOS_AIN_DeadbandSet

Descripción: Ajusta la diferencia entre el ultimo y el actual valor del

potenciómetro, el cuál tiene que ser alcanzado para disparar la función

“NotifyChange” (Notificación de Cambio).

Entrada: Valor de ajuste in WREG (registro en uso – acumulador)

Salida: –

Usa: BSR (registro selector de banco)

MIOS_SRIO_NumberSet

Descripción: Ajusta el número de registros SR (shift registers) disponibles, si es >

16, el valor es forzado a 16.

Entrada: Número de SRs en WREG

Salida: –

Usa: BSR (registro selector de banco)

MIOS_SRIO_UpdateFrqSet

Descripción: Ajusta la frecuencia de actualización de los registros SR.

Entrada: Frecuencia de actualización (unidad: milisegundos) en WREG

Salida: –

Usa: BSR (registro selector de banco)

MIOS_AIN_UnMuxed

Descripción: Deshabilita el modo de multiplexación, 8 potenciómetros pueden ser

conectados directamente a pines de las entradas analógicas en el PIC.

Entrada: –

Salida: –

Usa: BSR (registro selector de banco)

MIOS_LCD_PrintMessage

Descripción: Imprime un mensaje por aproximadamente 2 segundos. El flujo

normal del programa no será interrumpido durante este tiempo, simplemente solo la

rutina "DISPLAY_Tick" no será llamada. Después del mensaje, "DISPLAY_Init"

será llamado antes del siguiente "DISPLAY_Tick"

Entrada: Apuntador a la cadena en TBLPTR[LH]. Primera palabra de la cadena

debe contener el largo y la posición del LCD.

Salida: Algunos caracteres en el LCD por 2 segundos

Usa: BSR

Page 73: Como mezclar dj

MIOS_SRIO_DebounceSet

Descripción: Ajusta la recarga del contador de rebote para los DIN (módulo de

entradas digitales) que no son asignados a los codificadores rotativos para eliminar

los rebotes de botones de baja calidad.

Entrada: Valor de recarga del contador de rebote en WREG

Salida: –

Usa: BSR (registro selector de banco)

MIOS_SRIO_TS_SensitivitySet

Descripción: Ajusta la sensibilidad del sensor táctil. Si es igual a 0x00 deshabilita

el TS (sensor táctil) de tal manera que el PIN RD.4 (J14 del módulo principal) ya

no sea controlado por MIOS y de ahí en adelante queda libre para otros propósitos.

Entrada: Valor de sensibilidad en WREG

Salida: –

Usa: BSR (registro selector de banco)

MIOS_TIMER_Init

Descripción: Inicializa el temporizado el cual llama a la función USER_Timer

periódicamente y la arranca. La resolución del temporizador es de 100nS con un

Prescaler 1:1, 200nS con 1:2, 400nS con 1:4, 800nS con 1:8. El período (número de

señales de reloj) está especificado como un valor de 16.

Entrada: Valor del prescaler en WREG:

0x00: 1:1

0x01: 1:2

0x02: 1:4

0x03: 1:8

número de flancos (byte-inferior) en MIOS_PARAMETER1 (registro MIOS para

funciones especiales)

número de flancos (byte-superior) en MIOS_PARAMETER2 (registro MIOS para

funciones especiales)

Salida: –

Usa: BSR (registro selector de banco)

USER_Timer

Descripción: Esta función periódicamente es llamada por MIOS. La frecuencia

tiene que ser inicializada por con MIOS_Timer_Set. Note que esta es una rutina de

interrupción. Use FSR2 en reemplazo de FSR0 y IRQ_TMPx en reemplazo de

TMPx – y crear una rutina lo más rápida posible.

Entrada: –

Salida: –

ISR: Sí

MIOS_MIDI_DeviceIDGet

Descripción: Retorna la identificación del dispositivo MIDI

Entrada: -

Salida: Número del dispositivo en WREG y MIOS_PARAMETER1 (0x00-0x7f)

Usa: BSR

Page 74: Como mezclar dj

MIOS_EEPROM_Read

Descripción: Lee un byte desde la EEPROM.

Entrada: Dirección en EEADR (0x00-0xff) EEADRH (0-3, PIC18F4620

únicamente)

Salida: Contenido de la EEPROM en WREG. EEADR será incrementado.

EEADRH (PIC18F4620) no va a ser incrementado en EEADR rebasamiento.

Usa: BSR, EEADR, EEDATA, EECON1, EECON2

USER_MPROC_DebugTrigger

Descripción: Esta función es llamada por MIOS cuando un comando de depuración

ha sido recibido vía SysEx.

Entrada: WREG, MIOS_PARAMETER1, MIOS_PARAMETER2,

MIOS_PARAMETER3 como se especifica en el comando de depuración

Salida: Retorna valores WREG, MIOS_PARAMETER1, MIOS_PARAMETER2,

MIOS_PARAMETER3

ISR: No

USER_MPROC_NotifyReceivedByte

Descripción: Esta función es llamada por MIOS cuando un byte MIDI ha sido

recibido.

Entrada: byte MIDI recibido en WREG y MIOS_PARAMETER1

Salida: -

ISR: no

USER_MIDI_NotifyTx

Descripción: Esta función es llamada por MIOS antes de transmitir un byte MIDI .

Puede ser usado para monitorear la actividad de transmisión o para hacer cualquier

otra acción (por ejemplo cambiar un pin para salidas MIDI multiplexadas) antes que

el byte sea enviado. Note que este es una rutina de servicio de interrupción

Entrada: byte MIDI transmitido en WREG

Salida: -

ISR: yes

USER_DISPLAY_Init

Descripción: Esta función es llamada por MIOS cuando el contenido del display

debe ser inicializado. Ese es el caso durante el arranque y después de un mensaje

que has sido impreso en pantalla.

Entrada: -

Salida: -

ISR: no

USER_DISPLAY_Tick

Descripción: Esta función es llamada por MIOS en el loop principal cuando no se

ha mostrado un mensaje temporal en

Entrada: -

Salida: -

ISR: no

Page 75: Como mezclar dj

USER_MPROC_NotifyReceivedEvent

Descripción: Esta función es llamada por MIOS cuando un evento completo MIDI

ha sido recibido.

Entrada: Primer byte de evento MIDI en MIOS_PARAMETER1, segundo byte de

evento MIDI en MIOS_PARAMETER2, tercer byte de evento MIDI en

MIOS_PARAMETER3

Salida: -

ISR: No

USER_MPROC_NotifyFoundEvent

Descripción: Esta función es llamada por MIOS cuando un evento completo MIDI

ha sido recibido, el cual ha sido especificado en la tabla CONFIG_MIDI_IN

Entrada: Primer byte de evento MIDI en MIOS_PARAMETER1, segundo byte de

evento MIDI en MIOS_PARAMETER2, tercer byte de evento MIDI en

MIOS_PARAMETER3

Salida: -

ISR: No

USER_MPROC_NotifyTimeout

Descripción: Esta función es llamada por MIOS cuando un evento MIDI no ha sido

completamente recibido dentro de 2 segundos.

Entrada: -

Salida: -

ISR: No

USER_DIN_NotifyToggle

Descripción: Esta función es llamada por MIOS cuando un botón ha sido alternado.

Entrada: Número del botón en WREG y MIOS_PARAMETER1. Valor del botón

en MIOS_PARAMETER2:

- 1 si el botón ha sido soltado (=5V)

- 0 si el botón ha sido presionado (=0V)

Salida: -

ISR: no

USER_ENC_NotifyChange

Descripción: Esta función es llamada por MIOS cuando un encoger (codificador)

ha sido movido.

Entrada: Número de Encoder en WREG y MIOS_PARAMETER1

valor con signo del incrementador en MIOS_PARAMETER2:

- es positivo cuando el codificador has sido girado en torno a las agujas de reloj

- negativo cuando el encoger ha sido girado al contrario.

Salida: -

ISR: no

Page 76: Como mezclar dj

1.6.3. Implementación Sysex

La implementación de los mensajes Sysex6 para nuestra aplicación en especial son:

a) F0 00 00 7E 43 <d>3 <b> F7

Solicita un bloque de 256 bytes

<d> = número del dispositivo (0-7)

<b> = número de bloque (00-07)

b) F0 00 00 7E 43 <d>4 <b> <256 bytes> <checksum> F7

Escribe un bloque de 256 bytes

<d> = número del dispositivo (0-7)

<b> = número de bloque (00-07)

<256 bytes> = el bloque de datos

<checksum> = el checksum7 de <b> y <256 bytes>

6 KLOSE, Thorsten, MIDIbox64 SysEx Implementation, Version 73,

midibox64_sysex_implementation.txt, 2008. 7 “Checksum” entiéndase por checksum, un dígito que representa la suma de los dígitos en una instancia

de datos digitales; usados para revisar ya sea si los errores ocurrieron en la transmisión o en el

almacenamiento

USER_SR_Service_Prepare

Descripción: Esta función es llamada por MIOS antes que el shift register sea

cargado. Note que esta es una rutina de servicio de interrupción, use FSR2 en vez de

FSR0 e IRQ_TMPx en vez de TMPx.

Entrada: -

Salida: -

ISR: no

USER_AIN_NotifyChange

Descripción: Esta función es llamada por MIOS cuando un potenciómetro ha sido

movido.

Entrada: Número del Potenciómetro en WREG y MIOS_PARAMETER1

Valor de LSB en MIOS_PARAMETER2. Valor MSB en MIOS_PARAMETER3

Salida: -

ISR: no

Page 77: Como mezclar dj

c) F0 00 00 7E 43 <d>5 F7

Solicita todos los 8 bloques

<d> = número del dispositivo (0-7)

d) F0 00 00 7E 43 <d>6 <p> F7

Solicita un Patch (programa) (Snapshot – Instantánea, de la configuración)

<d> = número del dispositivo (0-7)

<p> = número del programa (0-127)

e) F0 00 00 7E 43 <d>7 <p> <96 bytes> <checksum> F7

Graba un programa o patch (Snapshot)

<d> = número del dispositivo (0-7)

<p> = número del programa (0-127)

<checksum> = el checksum de <96 bytes>

f) F0 00 00 7E 43 <d>8 0n F7

Solicitar un Banco, n = 0 a 15

Envía un dato de Acknowledge (admisión) cuando el Banco ha sido cambiado:

F0 00 00 7E 43 <d>F 0n F7

O un Disacknowledge (desacuerdo) si el BankStick8 no está conectado:

F0 00 00 7E 43 <d>F 7F F7

g) F0 00 00 7E 43 <d>9 00 <pot> <value> F7

Control remoto de un Potenciómetro

<d> = número del dispositivo (0-7)

<pot> = número del potenciómetro (0-63)

<value> = valor del potenciómetro (0-127)

h) F0 00 00 7E 43 <d>9 01 <button> <value> F7

Control remoto de un botón

<d> = número del dispositivo (0-7)

8 “Bankstick” es un banco de programa almacenado en memoria adicional al microcontrolador

Page 78: Como mezclar dj

<button> = número del botón (0-63)

<value> = valor del botón (0=presionado, 1=soltado)

i) F0 00 00 7E 43 <d>9 02 <sfbn> <sfbp> <value> F7

Control remoto de un botón especial

<d> = número del dispositivo (0-7)

<sfbn> = número del botón especial (0-127)

<sfbp> = parámetro del botón especial (0-127)

<value> = valor del botón (0=presionado, 1=soltado)

j) F0 00 00 7E 43 <d>F F7

Ping (simplemente envía la misma cadena Sysex)

.

1.6.4. Uso De IO -Input / Output- (Entrada / Salida)

El sistema operativo consta de un tipo de “kernel” ( núcleo) que dota al usuario de

atajos a eventos de hardware y software, y que ofrece funciones para una interacción

simple entre los módulos de la Plataforma de Hardware MIDIbox . Un módulo Core,

con un PIC18F452, puede manejar :

hasta 128 entradas digitales

hasta 128 salidas digitales

hasta 64 entradas analógicas

LCD matriciales gráficas y tipográficas.

BankSticks (IIC EEPROMs)

Un MIDI In, un MIDI Out, opcionalmente como interfaz to-COM

Han sido incluidos numerosos controladores que manejan las siguientes tareas de

control desde en segundo plano:

Procesamiento de MIDI IO

Cargador “Bootstrap”

Conversión analógica de hasta 64 pots, faders u otras fuentes analógicas con

resolución de 10 bits.

Page 79: Como mezclar dj

Manejo de motor para hasta 8 motorfaders con resolución de 10 bits.

Manejo de hasta 64 detenido/no-detenido codificadores rotativos

Manejo de hasta 128 botones, sensores táctiles o dispositivos de entrada similares.

Manejo de hasta 128 LEDs, relés, conversores analógico-digitales o dispositivos de

salida similares. En el modo "multiplexado", se puede controlar un número casi

ilimitado de LEDS, anillos de LED y números con LEDs.

Lectura/Escritura desde/hacia EEPROM, Flash o BankStick

PIC18F cores enlazables .

El sistema operativo ha sido escrito completamente en lenguaje ensamblador y ha sido

optimizado para mayor velocidad .Actualmente MIOS asigna 8k de memoria de

programa ( se reservan 4k para futuras extensiones) y 640 bytes de RAM. La

arquitectura de sistema es bastante estable, las funciones adicionales que carga la CPU

no están planeadas. El manejador de SRIO (Shift Registers Input – Output) requiere

solo 75 uS para captar los datos de128 pines digitales de entrada y escribir datos en 128

pines de salida. 16 codificadores rotatorios (rotary encoders) se manejan dentro de los

100 uS. Las entradas analógicas son escaneadas en segundo plano, con un resultado de

conversión cada 200 uS. Hasta 256 eventos MIDI pueden accionar funciones

dedicadas, el procesamiento de la lista de eventos requiere cerca de 300 uS. Los eventos

MIDI también pueden ser procesados por una rutina de usuario para parseado SysEx o

trabajos similares. Un temporizador de usuario permite realizar código activado en el

tiempo. Se han hecho numerosas mediciones para permitir una interacción unificada

con MIOS: Todas las variables de tiempo de ejecución han sido localizadas en el área

BANKED de la RAM y no asigna la página ACCESS. Los parámetros de entrada

(Input) y salida (output) de las funciones y "atajos" se transfieren mediante WREG, tres

registros adicionales (MIOS_PARAMETER[123]) y el indicador FSR1.

TBLPTR[LH], TABLAT, PROD[LH], FSR0 y FSR2 son guardadas y se restaurarán si

una función MIOS hace uso temporal de estos SFRs.

1.6.5. Plataforma De Procesamiento MIDI

Page 80: Como mezclar dj

Figura 75 Plataforma de Procesamiento MIDI, MIOS Studio

Fuente: KING Adam, MIOS Studio, 2005-06-14, http://miosstudio.midibox.org/

La plataforma de procesamiento MIDI, se conoce también con el nombre de MIOS

Studio. MIOS Studio fue iniciado por Jason Williams in Noviembre 2003, y después

retomado por Adam King. Esta aplicación es de mucha utilidad al momento de revisar

las comunicaciones entre nuestro dispositivo MIDI y el computador. Además,

proporciona herramientas de simulación y la disponibilidad de cargar los archivos Sysex

al hardware del controlador MIDI para definir nuestra aplicación específica.

Debemos mencionar que adicionalmente a permitirnos la depuración de MIOS, tiene

también funciones de propósito general como ruteo de puerto MIDI, Monitoreo,

Filtración y un teclado virtual.

1.7. ELECTRÓNICA DIGITAL

Page 81: Como mezclar dj

1.7.1. Optoacopladores

Un optoacoplador, también llamado optoaislador o aislador acoplado

ópticamente, es un dispositivo de emisión y recepción de luz que funciona

como un interruptor excitado mediante la luz. La mencionada luz es emitida

por un diodo LED que satura un componente optoelectrónico, normalmente en

forma de fototransistor. De este modo se combinan en un solo dispositivo

semiconductor, un fotoemisor y un fotorreceptor cuya conexión entre ambos

es óptica. […]. Se suelen utilizar como medio de protección para dispositivos

muy sensibles.

Figura 76 Plataforma de Procesamiento MIDI, MIOS Studio

Fuente: Colaboradores de Wikipedia, Optoacoplador, 26 de enero del 2009,

http://es.wikipedia.org/w/index.php?title=Optoacoplador&oldid=23552960

La Figura 76 […] muestra un optoacoplador 4N35 formado por un LED y un

fototransistor. La tensión de la fuente de la izquierda y la resistencia en serie

establecen una corriente en el LED emisor cuando se cierra el interruptor S1.

Si dicha corriente proporciona un nivel de luz adecuado, al incidir sobre el

fototransistor lo saturará, generando una corriente en R2. De este modo la

tensión de salida será igual a cero con S1 cerrado y a V2 con S1 abierto.

Si la tensión de entrada varía, la cantidad de luz también lo hará, lo que

significa que la tensión de salida cambia de acuerdo con la tensión de entrada.

De este modo el dispositivo puede acoplar una señal de entrada con el circuito

de salida.

La ventaja fundamental de un optoacoplador es el aislamiento eléctrico entre

los circuitos de entrada y salida. Mediante el optoacoplador, el único contacto

entre ambos circuitos es un haz de luz. Esto se traduce en una resistencia de

aislamiento entre los dos circuitos del orden de miles de MΩ. Estos

Page 82: Como mezclar dj

aislamientos son útiles en aplicaciones de alta tensión en las que los

potenciales de los dos circuitos pueden diferir en varios miles de voltios.9

El optoacoplador utilizado en el proyecto fue el 6N138, que tiene el siguiente esquema

interno:

Figura 77 Diagrama Funcional para el Optoacoplador 6N138

Fuente: Hewlett-Packard, Low Input Current, High Gain Optocouplers - Technical Data, 1998

Sin embargo para nuestra aplicación en específico y para cumplir los requerimientos

eléctricos que establece el estándar MIDI, fue conectado de la siguiente manera:

Figura 78 Esquema de conexión eléctrica para el 6N138 para el puerto de entrada MIDI

Fuente: Klose Thorsten, MIDIbox Hardware Platform – MBHP_Core_V3, 2006-06-10

9 Colaboradores de Wikipedia, Optoacoplador, 26 de enero del 2009,

http://es.wikipedia.org/w/index.php?title=Optoacoplador&oldid=23552960

Page 83: Como mezclar dj

Este esquema lo podremos apreciar completamente, más adelante cuando veamos el

diseño de hardware. Nótese el diodo en la entrada 2 y 3, el cual invierte la polaridad de

funcionamiento.

A continuación el detalle de las condiciones recomendadas de operación:

Figura 79 Condiciones Recomendadas de Operación

Fuente: Hewlett-Packard, Low Input Current, High Gain Optocouplers - Technical Data, 1998

Especificaciones Eléctricas:

Page 84: Como mezclar dj

Figura 80 Condiciones Recomendadas de Operación

Fuente: Hewlett-Packard, Low Input Current, High Gain Optocouplers - Technical Data, 1998

Page 85: Como mezclar dj

1.7.2. LCD

Una pantalla de cristal líquido o LCD (acrónimo del inglés Liquid Crystal Display) es

una pantalla delgada y plana formada por un número de píxeles en color o monocromos

colocados delante de una fuente de luz o reflectora. A menudo se utiliza en dispositivos

electrónicos de pilas, ya que utiliza cantidades muy pequeñas de energía eléctrica.

Para la realización del proyecto se utilizó un módulo LCD estándar de 16X2 caracteres.

Por lo que fue necesario conocer sus parámetros más relevantes tanto eléctricos como

mecánicos, además de los comandos que utiliza para su manejo.

Características Eléctricas:

Figura 81 Características Eléctricas para un Módulo LCD 16x2

Fuente: Shenzhen Techstar Electronics, TS1620G-1 LCD Module Specification, Fecha no disponible

Designación de Pines:

Page 86: Como mezclar dj

Figura 82 Designación de Pines

Fuente: Shenzhen Techstar Electronics, TS1620G-1 LCD Module Specification, Fecha no disponible

Diagrama de bloques:

Figura 83 Diagrama de bloques

Fuente: Shenzhen Techstar Electronics, TS1620G-1 LCD Module Specification, Fecha no disponible

Tiempos de Acceso:

Escritura:

Page 87: Como mezclar dj

Figura 84 Tiempos de Acceso para Escritura

Fuente: Shenzhen Techstar Electronics, TS1620G-1 LCD Module Specification, Fecha no disponible

Lectura:

Figura 85 Tiempos de Acceso para Lectura

Fuente: Shenzhen Techstar Electronics, TS1620G-1 LCD Module Specification, Fecha no disponible

Comandos:

Figura 86 Comandos para manejar el LCD

Page 88: Como mezclar dj

Fuente: Shenzhen Techstar Electronics, TS1620G-1 LCD Module Specification, Fecha no disponible

Dimensiones:

Figura 87 Dimensiones del módulo LCD

Page 89: Como mezclar dj

Fuente: Shenzhen Techstar Electronics, TS1620G-1 LCD Module Specification, Fecha no disponible

1.7.3. Multiplexación

El concepto de multiplexación fue necesario aplicar en el proyecto, debido a la cantidad

de señales analógicas y la capacidad de entradas en el microprocesador.

Básicamente con tan solo 8 entradas analógicas del PIC se pueden controlar hasta 64

potenciómetros (en el módulo principal), todo gracias al concepto de multiplexación y

al diseño del MIOS.

Un multiplexor selecciona una de sus entradas presentes y la transmite a la salida

principal para su posterior tratamiento. En acorde a una señal de reloj y un código

binario que determina cuando y qué entrada seleccionar.

El multiplexador utilizado en el módulo de entradas analógicas del proyecto, es el chip

4051, que es un multiplexador simple de 8 canales provisto de entradas binarias para

control y de una entrada para inhibición. Las tres señales binarias seleccionan 1 de los 8

canales para ser encendido y conectar una de las 8 entradas a la salida.

Page 90: Como mezclar dj

Distribución de Pines:

Figura 88 Pines del Multiplexor 4051

Fuente: Texas Instruments, CD 4051B, CD4052B, CD4053B Data Sheet, 2005

Diagrama de bloques:

Figura 89 Diagrama de Bloques Funcional para el Multiplexor 4051

Fuente: Texas Instruments, CD 4051B, CD4052B, CD4053B Data Sheet, 2005

Page 91: Como mezclar dj

Tablas de Verdad:

Figura 90 Tabla de Verdad para el Multiplexor 4051

Fuente: Texas Instruments, CD 4051B, CD4052B, CD4053B Data Sheet, 2005

Principales Características Eléctricas:

Figura 91 Principales características eléctricas para el Multiplexor 4051

Page 92: Como mezclar dj

Fuente: Texas Instruments, CD 4051B, CD4052B, CD4053B Data Sheet, 2005

Figura 92 Principales características eléctricas para el Multiplexor 4051 (continua)

Page 93: Como mezclar dj

Fuente: Texas Instruments, CD 4051B, CD4052B, CD4053B Data Sheet, 2005

Valores máximos absolutos:

Fuente de Voltaje (V+ a V-)

Voltajes referenciados al terminal VSS . . . . . . . -0.5 V a 20 V

Rango de Voltaje de Entrada Digital . . . . . . . . -0.5 V a VDD + 0.5 V

Corriente de Entrada DC, en cualquier entrada . . . . . . . . . . . ±10 mA

1.7.4. Registros IO (Input – Output)

Page 94: Como mezclar dj

Entender brevemente el uso de los registro de entrada y salida, nos permitió el manejo

de los botones y los LEDs. La plataforma MIDIBOX, en la que está basada el desarrollo

de los controladores con MIOS, utiliza tanto para los módulos de entradas como para las

salidas este tipo de registros.

A continuación revisaremos sus principales características:

1.7.4.1. REGISTRO 74HC165

El 74HC165 es un registro de desplazamiento (shift register) de 8 BIT para entradas

paralelas y 1 salida serial.

Características principales:

- Carga paralela de 8 BIT asincrónica

- Entrada serial sincrónica

- Capacidad de salida: Estándar

- Categoría del ICC: MSI

Los 774HC/HCT165 son registros de desplazamiento de 8-BIT carga-paralela o

entrada-serial, con salidas seriales complementarias (Q7# y Q7) disponibles de la última

etapa. Cuando la entrada de carga paralela (PL) es baja, los datos paralelos desde la

entrada D0 a D7 son cargadas en el registro asincrónicamente.

Cuando PL es alto, los datos ingresan al registro serialmente en la entrada DS y desplaza

un lugar a la derecha (Q0 Q1 Q2, etc.) con transición positiva del reloj. Esta

característica permite una expansión del convertidor paralelo a serial al unir la salida de

Q7 a la entrada DS de la etapa consecutiva.

La entrada del reloj es una estructura de compuerta OR la cual permite a una entrada ser

usada como una entrada de habilitación activa en LOW de reloj (CE). La asignación

para las entradas CP y CE son arbitrarias y pueden ser invertidas para conveniencia de

diseño. La transición BAJO-a-ALTO de la entrada CE debe tomar lugar solamente

cuando CO ALTO para una operación predecible. Ya sea CP o CE deben ser ALTOS

antes de la transición BAJO-a-ALTO de PL para prevenir desplazamiento de los datos

cuando PL está activado.

Page 95: Como mezclar dj

Descripción de pines:

Figura 93 Descripción de Pines para el registro 74HC165

Fuente: Philips, 74HC/HCT165 8 Bit Parallel In/Serial Out Shift Register Data Sheet, 1990

Figura 94 Distribución de los pines en el encapsulado del registro 74HC165

Fuente: Philips, 74HC/HCT165 8 Bit Parallel In/Serial Out Shift Register Data Sheet, 1990

Diagrama Funcional

Page 96: Como mezclar dj

Figura 95 Diagrama Funcional del registro 74HC165

Fuente: Philips, 74HC/HCT165 8 Bit Parallel In/Serial Out Shift Register Data Sheet, 1990

Tabla de funcionamiento:

Figura 96 Tabla de funcionamiento del registro 74HC165

Fuente: Philips, 74HC/HCT165 8 Bit Parallel In/Serial Out Shift Register Data Sheet, 1990

1.7.4.2. REGISTRO 74HC595

Page 97: Como mezclar dj

Características Principales:

- Entrada serial de 8 BIT

- Salida paralela o serial de 8 BIT

- Registro de almacenaje con salidas de 3-estados

- Registro de desplazamiento con limpiado directo

- Capacidad de salida:

- Salida paralela, manejador de bus

- Salida serial, estándar

- ICC categoría: MSI

Descripción:

Estos registros son utilizados en el módulo de salida para el manejo de LEDs en el

controlador MIDI. Cada registro está provisto de 8 señales digitales, las cuales son

actualizadas con la señal de habilitación del latch, RCLK y son desplazadas con la señal

de reloj SCLK. La ventaja de usar tales registros es que pueden conectados en cascada.

El registro de desplazamiento y almacenaje tienen relojes separados. Los datos son

desplazados en las transiciones positivas del la entrada SHCP. Los datos en cada

registro son transferidos al registro de almacenamiento en una transición positiva de la

entrada STCP. Si ambos relojes son conectados juntos, el registro de desplazamiento

siempre estará un pulso de reloj adelante del registro de almacenamiento.

El registro desplazamiento tiene una entrada serial (DS) y una salida serial estándar

(Q7’) para conexión en cascada. Esta también provisto con un reset asincrónico (activo

a BAJO) para todas las 8 etapas de los registros de desplazamiento. El registro de

almacenaje tiene 8 salidas paralelas manejadas de 3 estados. Los datos en el registro de

almacenamiento aparecen en las salidas cuando la entrada (OE) sea BAJA.

Pines:

Figura 97 Descripción de Pines para el registro 74HC595

Page 98: Como mezclar dj

Fuente: Philips, 74HC/HCT595 8-Bit Serial-In/Serial Or Parallel-Out Shift Register With Output

Latches; 3-State, 4 de Junio del 1998

Figura 98 Distribución de Pines en el encapsulado para el registro 74HC595

Fuente: Philips, 74HC/HCT595 8-Bit Serial-In/Serial Or Parallel-Out Shift Register With Output

Latches; 3-State, 4 de Junio del 1998

Diagrama Funcional:

Figura 99 Diagrama funcional para el registro 74HC595

Page 99: Como mezclar dj

Fuente: Philips, 74HC/HCT595 8-Bit Serial-In/Serial Or Parallel-Out Shift Register With Output

Latches; 3-State, 4 de Junio del 1998

Tabla de funcionamiento:

Figura 100 Tabla de funcionamiento para el registro 74HC595

Fuente: Philips, 74HC/HCT595 8-Bit Serial-In/Serial Or Parallel-Out Shift Register With Output

Latches; 3-State, 4 de Junio de 1998

1.8. ELECTRÓNICA ANALÓGICA

Page 100: Como mezclar dj

En el entorno referente a estudios de electrónica analógica, los temas que de pronto

según nuestro criterio merecían una breve revisión, era sobre lo que respecta a las

fuentes de voltaje, especialmente en el aspecto de rectificación. Ya que los módulos

utilizados se alimentan básicamente de DC.

1.8.1. Fuentes De Voltaje

La fuente de voltaje especificada para nuestro proyecto, es una fuente en la que

prácticamente se omite la etapa inicial de transformador, básicamente por la razón de

que el controlador MIDI está diseñado para ser un dispositivo portátil, utilizado por DJs,

es decir no puede ser pesado ni muy grande. Además, es más factible por facilidad de

uso, utilizar directamente un adaptador de DC disponibles en el mercado, y a un precio

asequible.

Figura 101 Diagrama de bloques de las etapas de una fuente VDC

Fuente: Unicrom.com, Fuentes de Poder, Diagrama de bloques,

http://unicrom.com/Tut_fuentepoder.asp

Por lo antes mencionado, se ha adaptado una etapa de rectificación, filtro y regulación,

en el módulo principal.

Page 101: Como mezclar dj

Explicaremos rápidamente las diferentes etapas:

Figura 102 Esquema electrónico para una fuente de 5 VDC (utilizada en el proyecto)

Fuente: Klose Thorsten, MIDIbox Hardware Platform – MBHP_Core_V3, 2006-06-10

Segunda etapa: rectificación.

La segunda etapa de nuestra fuente de alimentación es la que queda constituida por la

rectificación, en este punto, la señal inducida al secundario, será nuevamente inducida

pero ahora a una señal directa. La fuente más común, posee una rectificación a base de 4

diodos, por lo que su rectificación será de onda completa y esta conectado en “tipo

puente”. Al alimentar el en esta etapa circuito con un adaptador de CC, se evade el

problema que implicaría una inversión de polaridad, gracias al puente rectificador.

Figura 103 Forma de un Rectificador por puente

Page 102: Como mezclar dj

Fuente: Won-Top Electronics, B40C800-B500C800 Bridge Rectifier, 2002

Tercera Etapa: Filtro

Esta etapa, tiene como función, “suavizar” o “alisar” o “reducir” a un mínimo la

componente de rizo y elevar el valor promedio de tensión directa. El capacitor de 2200

uF es de un tamaño y capacidad considerable, para eliminar notablemente las

ondulaciones de la anterior etapa, además de eliminar ruidos que puedan ingresar al

circuito.

Cuarta Etapa: Regulador De Voltaje.

Page 103: Como mezclar dj

En esta etapa final, garantizamos una alimentación estable a nuestro sistema, gracias al

IC 7805 que nos entrega una salida bastante limpia de 5 VDC, con una alimentación

máxima de 10 VDC, para no recalentar el integrado. Junto a este se conectan

capacitores adicionales, como podemos apreciar en la Figura 102, los condensadores

C6, C4 y C3. Estos valores han sido implementados como sugiere el "data sheet" del IC

7805.

1.8.2. Transistores BJT

El transistor bipolar es el más común de los transistores, y como los

diodos, puede ser de germanio o silicio.

Existen dos tipos transistores: el NPN y el PNP, y la dirección del flujo de la

corriente en cada caso, lo indica la flecha que se ve en el gráfico de cada tipo

de transistor.

El transistor es un dispositivo de 3 patillas con los siguientes nombres: base

(B), colector (C) y emisor (E), coincidiendo siempre, el emisor, con la patilla

que tiene la flecha en el gráfico de transistor.

Figura 104 Simbología para los diferentes tipos de transistores BJT

Transistor NPN Transistor PNP

Fuente: Unicrom.com, Transistor Bipolar o BJT,

http://www.unicrom.com/Tut_transistor_bipolar.asp

El transistor bipolar es un amplificador de corriente, esto quiere decir que si

le introducimos una cantidad de corriente por una de sus patillas (base), el

entregará por otra (emisor), una cantidad mayor a ésta, en un factor que se

llama amplificación.

Este factor se llama β (beta) y es un dato propio de cada transistor.

Entonces:

- Ic (corriente que pasa por la patilla colector) es igual a β (factor de

amplificación) por Ib (corriente que pasa por la patilla base).

Page 104: Como mezclar dj

- Ic = β * Ib

- Ie (corriente que pasa por la patilla emisor) es del mismo valor que Ic, sólo

que, la corriente en un caso entra al transistor y en el otro caso sale de él, o

viceversa.10

Figura 105 Variación de la corriente de Colector, en función del Voltaje Colector – Emisor, al mantener

una corriente de base constante

Fuente: 7

El funcionamiento de este tipo de transistores es bastante conocido por todos, pero vale

la plena explicar el funcionamiento del circuito que utiliza estos transistores en módulo

principal del proyecto.

Figura 106 Esquema electrónico en el que se utiliza un transistor BJT para variar la iluminación de un

diodo LED

10 Unicrom.com, Transistor Bipolar o BJT, http://www.unicrom.com/Tut_transistor_bipolar.asp

Page 105: Como mezclar dj

Fuente: Klose Thorsten, MIDIbox Hardware Platform – MBHP_Core_V3, 2006-06-10

Al variar el potenciómetro P1, estoy modificando la corriente que llega a la base, por lo

tanto debido a la formula mencionada anteriormente Ic = β * Ib también estoy variando

la corriente que llega al LED del módulo LCD.