Como mezclar dj

1.744 visualizaciones

Publicado el

0 comentarios
0 recomendaciones
Estadísticas
Notas
  • Sé el primero en comentar

  • Sé el primero en recomendar esto

Sin descargas
Visualizaciones
Visualizaciones totales
1.744
En SlideShare
0
De insertados
0
Número de insertados
4
Acciones
Compartido
0
Descargas
35
Comentarios
0
Recomendaciones
0
Insertados 0
No insertados

No hay notas en la diapositiva.

Como mezclar dj

  1. 1. 1. INVESTIGACIÓN TEÓRICA
  2. 2. 1.1. BREVE RESEÑA DE LA TECNOLOGÍA MUSICAL Y DJSi 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 deprocesamiento y el abaratamiento en el costo de las computadoras.La tecnología VLI de los microchips DSP, la cantidad de memoria RAM y lavelocidad de los discos duros entre otras características, permitieron laimplementación de software capaz no solo de tener la funcionalidad MIDI – MusicalInstrument Digital Interface- (Interfase Digital de Instrumento Musical) , sino desoportar subprogramas que emulan el sonido e interfase de equipos de hardwarereales.Entre las principales aplicaciones de software para creación musical confuncionalidad MIDI, son los Secuenciadores. Estos son la principal herramienta parala creación de los metronómicos típicos beats sonoros escuchados especialmente enla música electrónica de hoy. Y en definitiva, ningún músico electrónico profesionalo DJ consideraría crear música sin la asistencia del secuenciador.Justamente esta velocidad de procesamiento de los computadores es una de lasprincipales razones por los cual, prácticamente todo el proceso de producciónmusical: grabación, edición, arreglos, mezcla y masterización se lo realiza a niveldigital. Cada vez hay más software para diferentes aplicaciones: sintetizadores,procesadores de efectos, procesadores dinámicos, emuladores de sistemas DJ; queafortunadamente consiguen excelentes resultados de calidad sonora, gracias a losaltos niveles de conversión A/D – D/A (analógica/digital – digital/analógica), y a losinterfaces de audio con resoluciones por ejemplo de hasta 32 bits y frecuencias demuestreo (“Sampling”) de hasta 96 Khz. por segundo. El bajo costé de los nuevoscomputadores y equipamiento de audio, ha permitido que la creación musical decalidad decente, esté al alcance de muchas personas. Cada día proliferan más y másestudios caseros, donde las personas pueden dar rienda suelta a su creatividad,aprovechando la cantidad de software asequibles incluso gratuitamente y en sumayoría a través del Internet.
  3. 3. El DJ digital. Es la tendencia que actualmente se encuentra en auge, de igual maneradebido a la capacidad de los nuevos computadores. Además, del aporte tecnológicoantes mencionado, un factor sumamente importante en el “boom” del DJ digital es elInternet y el MP3. Temas muy conocidos y familiarizados por todos, queprácticamente están enterrando una era del DJ que utiliza discos de vinilo prensadospara 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 yfinalmente un Controlador MIDI, abren un abanico enorme de manipulación sonorapara el DJ de hoy.La tecnología DJ ha evolucionado de los sistemas tradicionales basados en un par detocadiscos de vinilo y un mezclador, a su emulación perfecta en software. Programascomo el Ableton Live y el NI Traktor han conseguido no sólo integrar y recrear unsistema completo para DJ, sino incluso en muchas ocasiones superarlo. Alaprovechar la flexibilidad y profundidad de manipulación que brinda el audio digitalTodos estos programas tienen lo elementos básicos que se necesitan para empezar amezclar 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, esnecesario 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 DJLa técnica básica de mezcla utilizada por muchos DJs se resume en los siguientespasos: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
  4. 4. 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 canal4. 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 laecualización y los procesadores de efectos para aportar con una mayor improvisacióny manipulación del sonido según el gusto de cada DJ.A continuación podemos observar un flujo grama del proceso que implica la mezclade pistas, en una sesión para DJ:
  5. 5. Figura 1 diagrama de flujo para la mezcla de pistas de audio que realiza un DJ INICIO ¿Qué pista 1 finalizó? A 1 B ¿Qué pista 3 suena? A 2 Cargo pista Reproductor A B CANAL 1 4 NO Preparo tempo o ¿Primera ajusto pista A Primera pista pista? (AUDIFONOS) Nueva Pista finaliza Suena (PUBLICO)3 SI Suena Pista ¿Lista para NO A mezcla? (PUBLICO) SI 2 MEZCLA Suena PISTA A Y transición Cargo pista PISTA B entre pistas Reproductor B (PUBLICO) CANAL 2 NO Preparo tempo o ¿Primera ajusto pista B, pista? (AUDIFONOS)4 SI Suena Pista ¿Lista para NO B mezcla? (PUBLICO) SI Fuente: El Autor
  6. 6. 1.3. TECNOLOGÍA MIDICada músico “real” se expresa con su instrumento de una manera conciente oinconciente 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íadeslizar sus dedos hacia arriba por el mástil de trastes flexionando el sonido, o podríasostener algunas notas mientras acorta otras. Todos estos matices contribuyen alelemento humano detrás de la música, y sin ellas la música sonaría aburrida y sinvida.Mucha gente podría discutir que no hay un elemento humano detrás de la músicaelectrónica “dance” debido a que todo su principio está basado en golpes exactos ymelodías que suenan como si una máquina los hubiera creado. En la mayoría decasos esto no es verdad y con un detalle minucioso se podría encontrar que incluso elmás repetitivo “Techno1” está copado con pequeñas instancias sónicas que previenena que llegue a ser tedioso. Esta es la razón clave de el porqué algunas cancionesparecen tener mucha de energía o “alma” y otras inmóviles y monótonas; y tambiénes por esto que debe ser imperativo entender como el protocolo MIDI puede serutilizado. Conociendo esto, la tecnología MIDI puede ser explotada para crear laimpresió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 desarrolloligero o agresivo de los sonidos a través de la longitud del arreglo. Mientras elmúsico interpreta la pieza musical o el DJ realiza la mezcla de las pistasnaturalmente inyecta esto en su presentación, capturando este sentimiento a través deMIDI requiere el uso de una serie de controladores MIDI. Por ejemplo, cuando elmúsico toca una nota y mueve la rueda “pitch-bend”, esta rueda envía un flujocontinuo de mensajes de control al motor del sintetizador, el cual a su vez flexiona laafinació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 sumúsica. O en el caso del DJ cuando mueve el control deslizante de nivel, este control1 “Techno” es un subgénero de la música electrónica de baile, caracterizado generalmente por sumínima variación en el tiempo y sonidos de percusión repetitivos e hipnóticos.
  7. 7. de igual manera incrementa o disminuye el volumen de la pista de audio en algunode los canales del mezclador.Todo esto se lo podría automatizar o controlar gracias al protocolo MIDI ya seadesde el secuenciador o los controladores MIDI.1.3.1. Controladores MIDITiempo atrás en 1980 uno de los propósitos originales del desarrollo de laespecificación MIDI, era permitir a los intérpretes en vivo, la habilidad de controlarlos sonidos de múltiples sintetizadores desde un simple teclado. Ese concepto hatenido 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 ofreceun controlador MIDI.Técnicamente, un controlador MIDI es un dispositivo que posee un conjunto deactuadores que adoptan la forma de por ejemplo las teclas estilo piano, deslizadorescomo las encontradas en los mezcladores de DJ, o perillas de volumen en equipos deaudio, botones, etc. Todos estos transmiten datos MIDI a módulos de sonido externo,a sintetizadores, “samplers” (muestreadotes) y secuenciadores de software, tantoreales como virtuales.La mayoría de los controladores MIDI adoptan cualquier tipo de diseño dependiendodel tipo de aplicación o instrumento que se quiera interpretar. Pudiendo ser porejemplo, similar al de un teclado – piano, una batería eléctrica o una flauta; inclusocomo en el caso de este proyecto, un sistema para DJ. Vale la pena mencionar, queun controlador MIDI en concreto, no procesa ni genera señales de audio; manejaexclusivamente señales digitales que comandan los parámetros de audio de otrosinstrumentos o programas.Como habíamos mencionado, una de las principales ventajas que poseen loscontroladores MIDI es permitir la interpretación del músico en vivo de suinstrumento electrónico, además de brindar versatilidad y portabilidad. Ellos brindan
  8. 8. el control sobre virtualmente el rango entero de hardware y software musical inclusoal mismo tiempo siendo lo suficientemente compactos para ajustarse a una bolsa delaptop.En el siguiente capítulo, se podrá conocer en mayor detalle sobre el protocolo MIDI.1.3.2. Especificaciones MIDICon lo mencionado en capítulos anteriores podemos tener una idea de lo que abarcael tema MIDI. Específicamente, la palabra MIDI son las siglas en inglés de “MusicalInstrument Digital Interface” traducido equivale a Interfase Digital de InstrumentoMusical.MIDI es un protocolo de comunicaciones generalizado que habilita a losinstrumentos equipados con MIDI a que sean interconectados y controlados por unsecuenciador. Es decir, permite que equipos de audio de diferentes compañíaspuedan trabajar juntos, lo cual significa que una pieza de software (secuenciador)pueda convertir un banco de sintetizadores hechos por diferentes empresas en unaorquesta coherente (o banda de rock, ensamble de jazz, instalación de DJs, o casitodo). Al usar un secuenciador MIDI – un programa que permite grabar y editardatos MIDI- es posible componer música con una velocidad y flexibilidad que superalos métodos antiguos de composición. Y finalmente, es posible guardar estascomposiciones 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 varioselementos de una interpretación musical en comandos numéricos generados. Usandonúmeros, el lenguaje MIDI básico dice por ejemplo a un sintetizador (osecuenciador, o software con compatibilidad MIDI) la siguiente información:o Cuándo tocar la nota: el número de la nota2o Cuándo empezar y terminar esa nota: nota encendida y nota apagadao Qué tan alto tocar esa nota: esto se conoce como velocidad de la nota2 Al final del documento en el Anexo 2 podemos apreciar el número de nota MIDI
  9. 9. o Para que parámetros son: flexión de afinación (pitch bends), modulaciones, movimientos de rueda, y el uso del pedales sostenidoo 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 entredispositivos musicales. Con la capacidad de manejar hasta 16 canales -16instrumentos- Este protocolo especifica diferentes tipos de mensajes que estánconformados por palabras de 10 bits y son transmitidos serialmente a una velocidadde 31250 bits / segundo.De estos 10 bits dos especifican el inicio y el final del mensaje, (0 y 1respectivamente) restando entonces 1 byte (8 bits) que define en sí la palabra MIDIdel 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 estadovaría entre 128-255 en decimal y 0x80-0xFF en hexadecimal.Ejemplo: 1001xxxx2. Información: En este caso el octavo BIT inicia con 0. Por lo tanto, prácticamenteun mensaje de información MIDI consta de 7 bits. Es decir varía desde 0-127 endecimal, 0x00-0x7F en hexadecimal.Ejemplo: 00111100Enviar bytes de datos con valores ≥ 128 violarían el protocolo MIDI y puedeprovocar un comportamiento aleatorio en el lado del receptor, porque el receptorpuede asumir que un nuevo mensaje MIDI empieza (8vo BIT ajustado en el byte deestado)En conclusión un mensaje MIDI se compone de un byte de estado y varios bytes deinformación continuos.
  10. 10. 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 MIDIExisten 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 demensajes MIDI, expuestos desde la propia página Web de la MMA -MIDI ManufacturersAssociation- (Asociación de Fabricantes MIDI)
  11. 11. 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 laedición de sonidos. Los Números de parámetro registrados (Registered ParameterNumber - RPN) son aquellos a los que las organizaciones MIDI ManufacturersAssociation (MMA) y Japan MIDI Standards Committee (JMSC) han asignadoalguna función particular. Por ejemplo, existen RPNs definidos para controlar lasensibilidad de pitch bend y la afinación general de un sintetizador. Por su lado, losno registrados (Non-Registered Parameter Number - NRPN) no tienen asignadaninguna función específica y pueden ser utilizados de forma distinta según elfabricante. De nuevo en este caso Roland y Yamaha, entre otros, han adoptado suspropios estándares.
  12. 12. 1.3.4. Mensajes de Sistema ExclusivosEste tipo de mensajes como su nombre lo indica son de uso exclusivo de cadasoftware de audio, sintetizador o sampler. Conocidos también como mensajes Sysex,nos permite comunicarnos de manera personal y confidencial con cualquiera de estosequipos 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 uncódigo de identificación único garantizado por la MMA (MIDI ManufacturesAssociation) y el JMSC (Japanese MIDI Standard Committee). Esta ID delfabricante, incorporada en cada mensaje de Sistema Exclusivo, precede a losdistintos 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ánobligados a publicar los detalles que conforman sus formatos de datos de SistemaExclusivo para que puedan ser utilizados libremente por otros fabricantes o por elpropio usuario, siempre y cuando no se alteren o se utilice el formato de forma queentre en conflicto con las especificaciones originales definidas por el fabricante.Algunos de estos números de identificación están reservados para protocolosespeciales, entre los que figuran el Estándar para Volcado de Muestras MIDI (MIDISample Dump Standard), un formato de datos de Sistema Exclusivo dedicado a latransmisión de datos entre muestreadores; así como MIDI Show Control y MIDIMachine Control.Al enviar mensajes exclusivos es posible controlar cualquier aspecto del sintetizadorincluyendo controles enlistados en las especificaciones MIDI que no es reconocidapor el sintetizador.Estructura.Los mensajes Sysex típicamente consisten de una dirección hexadecimal, queapuntan a la función dentro del sintetizador que queremos ajustar y un valor Sysexhexadecimal que dice a la función como queremos ajustarla. Además, un mensajeSysex necesita proveer de información básica con respecto al sintetizador al cualestamos transmitiendo el mensaje. Entonces, por esto un sintetizador requiere que el
  13. 13. mensaje Sysex sea de ocho o nueve palabras de largo, combinando todos loselementos 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 SysexPARTE VALOR DESCRIPCIÓN Byte de Estado Sysex (mensaje Sysex encendido).1 F0 Siempre todo mensaje Sysex inicia con este valor. Valor específico del fabricante. Ignorado por equipos2 41H a los cuales no pertenece.3 10H Identificar un sintetizador en particular incluso si es del mismo fabricante 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 Instrumentos4 42H gemelos dentro del Sistema MIDI. Este código suele coincidir con el Canal Básico (también llamado Global) del Instrumento.
  14. 14. Puede ser de 2 variables: 12H o 11H, usado para especificar ya sea si el mensaje está enviando (12H)5 12H o solicitando (11H). Un mensaje 11H es usualmente empleado para volcar enteramente todos los ajustes del sintetizador en un secuenciador conectado. Dirección Sysex de la función que vamos a6 00 00 11H modificar, en la memoria del instrumento Valor Sysex. Que puede ser el valor enviado si la parte 5 está en modo enviar (12H), o si la parte 57 04H 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. Esta parte del mensaje es opcional dependiendo del fabricante. Algunos lo emplean para validar los8 10H 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 AutorComúnmente una cadena de mensajes Sysex es insertada al inicio de cualquierarreglo MIDI, para que el archivo pueda ser ajustado y reprogramado en cualquier
  15. 15. otro sintetizador con diferente ubicación. De hecho Sysex es muy utilizado paraactualizar el sistema operativo del sintetizador (ejemplo MIOS) o para arreglarerrores en el programa, o proveer un nuevo set de sonidos. También es muy utilizadopara 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 deBaja 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 estableceruna pausa entre los dos hasta que se haya procesado el primero. Es tambiénimportante saber que los instrumentos nunca deben recibir Mensajes de SistemaExclusivo en el momento de su encendido.1.3.5. Conexión con el ComputadorTodo instrumento o equipo que tenga capacidad MIDI por lo general tiene tresconectores: MIDI IN, MIDI OUT y MIDI THRU. En estos conectores se insertanlógicamente los cables para establecer la comunicación entre el controlador,sintetizador o teclado y el computador en el que está instalado el programasecuenciador o de DJ. La “conversación MIDI” real viaja desde el conector MIDIOUT de un instrumento hasta el conector MIDI IN de otro. La información recibidaen el puerto MIDI IN de un dispositivo puede ser también retransmitida o replicadaen el conector MIDI THRU para que sea reenviada a su vez, al puerto MIDI IN deotro instrumento; de tal manera que puedan conectarse varios dispositivos MIDI encadena. Al conectar equipos MIDI con esta configuración, se crean sistemas máselaborados 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 deMúsica Electrónica. En el que el secuenciador MIDI instalado en el computador,funciona como una especie de “director de orquesta”, enviando diferentes tipos deinformación digital, los cuales son interpretados por los instrumentos conectados a lacadena MIDI para reaccionar de una u otra manera según la especificación de estos
  16. 16. mensajes, y finalmente su interpretación de audio sea escuchada a través de la mesade 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 conlas 5 patillas tipo DIN que forman los conectores -macho- de los cables: Figura 4 Conexiones MIDI, In, Out y Thru
  17. 17. Fuente: Roland, Manual MIDI, Año no disponible Figura 5 Conector – receptor MIDI Fuente: el Autor Figura 6 Conector – cable MIDIFuente: BBD Soft, AT keyboard connector (DIN5), 2007 http://www.bbdsoft.com/keyboard.html
  18. 18. En estos cables la transmisión de los datos se lo realiza a través de un solo pin, elnúmero 5. Los pines 1 y 3 fueron agregados para futuras funcionalidades. El pin # 2se utiliza como blindaje (tierra) y finalmente el pin 4 es para transmitir un voltaje de5 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 computadoresdisponibles normalmente en el mercado, muchas veces es necesario utilizar unainterfase 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 palancade juegos -joystick-, con la ventaja de utilizar un solo cable para establecer lacomunicación. En la Figura 8 y 9 se puede apreciar un conector de este tipo y laconexión con un controlador MIDI
  19. 19. Figura 8 Conector MIDI tipo “joystick” Fuente: Crutchfield, Game MIDI Plug, 2009. http://akamaipix.crutchfield.com/lifestyle/2001/hGameMIDIPlug.jpegFigura 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.aspIncluso actualmente podemos encontrar de una manera prácticamente estandarizadael uso del puerto USB o Firewire para establecer la comunicación MIDI entre undispositivo MIDI (sea este controlador DJ, sintetizador o teclado master) y elcomputador. Con la ventaja de evitar una conexión extra como en la conexiónoriginal, ya que a través de un solo cable se establece la comunicación de entrada ysalida. Adicionalmente, en varias ocasiones se han configurado ensambles de varioscomputadores que se comunican entre ellos a través del protocolo MIDI peroutilizando cable Ethernet.
  20. 20. 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.aspPara nuestro proyecto utilizaremos la conexión típica a través de los conectoresMIDI normales.1.4. SOFTWARE PARA APLICACIONES DE AUDIO1.4.1. Ableton Live“Ableton Live” es un programa secuenciador de audio que se lo puede tocar como sifuera un instrumento. Ya sea por sí solo o con otros músicos y DJs, en presentacionesen 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 audioy MIDI, además de un amplio arsenal de efectos. Una gran ventaja es que puedefuncionar también con otros programas de audio, como Reason, Logic y Cubase.Gracias a estas características en tiempo real, “Ableton Live” ha abierto enteramentenuevos mundos de expresión creativa para los DJs; es posible mezclar cualquiercantidad pistas y loops, remezclar sobre la marcha, capturar loops de audio en tiemporeal desde cualquier fuente externa de sonido como compacteras o tocadiscos.
  21. 21. A continuación revisaremos, la configuración básica del software para utilizarlocomo 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 musicalpermitiendo grabar, reproducir y combinar ideas en la marcha. Esta herramienta esigualmente ú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 estaconfiguración cada escena representa una sección de la canción, como por ejemplointro, coro, estrofa, etc. En este modo al reproducir una parte se reproducen todos losclips cargados en los canales y se mantienen sonando todo el tiempo que se desee.
  22. 22. 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 oMIDI y permiten llevar la composición no linear un paso más allá al desviarse de lasescenas 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 siguienteuna 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 clipque estaba reproduciéndose anteriormente en la misma columna. Las columnasverticales en la vista de Sesión representan a las pistas, y una pista solo puedereproducir un clip al mismo tiempo. Por eso uno normalmente coloca las variacionesde un clip en la misma pista.Si queremos detener un clip sin que se inicie otro, podemos usar el botón detenerClip de la misma pista. Estos botones cuadrados aparecen por defecto en todos losspots de clip vacíos:
  23. 23. 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.
  24. 24. Vamos a eliminar el canal MIDI y crear un nuevo canal de Audio para tener doscanales de audio en total, ya que el enfoque de nuestro controlador y la configuraciónbá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
  25. 25. Ahora para crear un nuevo canal de audio damos clic derecho donde está el cursor dela 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
  26. 26. 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 esinsertar 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
  27. 27. Donde podemos apreciar un listado completo de los diferentes módulos de efectos queofrece Live. Buscamos la opción que dice "EQ Three", la seleccionamos y sin soltar elbotón del Mouse, arrastramos el módulo hace el panel de efectos de cualquiera de loscanales 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
  28. 28. 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, 2009Ahora, podemos seguir agregando una cadena de efectos después del ecualizador, queesté en acorde a nuestros gustos. Para este proyecto, hemos decidido seleccionar unmódulo de “Delay” uno de “Reverb” y finalmente uno de Filtro. Para añadirlos,utilizamos el mismo método indicado para el ecualizador.
  29. 29. 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
  30. 30. Figura 23 Efecto Reverb, insertado en la cadena de efectos Fuente: Programa Ableton Live 7, Captura de pantalla en el software, 2009Y finalmente seleccionamos y arrastramos un módulo de Filtro que decidimos ubicarloentre 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
  31. 31. Esta inserción de cadena de efectos lo realizamos nuevamente pero esta vez para elcanal 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
  32. 32. 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, 2009Una vez listos la configuración de canales y efectos lo que necesitamos ahora configurares la comunicación MIDI.1.4.1.3. CONFIGURACIÓN MIDILo que primero tenemos que hacer es verificar que Ableton Live se encuentredetectando los puertos MIDI de nuestra interfase.
  33. 33. 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, 2009Para esto nos dirigimos a la opción de preferencias, ubicado en el menú de Opciones, yen la pestaña de “MIDI Sync” verificamos que estén seleccionados los puertos deentrada 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
  34. 34. Y también debe estar activada la opción “Remote” para el puerto de entrada de nuestrocontrolador MIDI: Figura 29 Habilitamos la entrada para el control remoto de Ableton Fuente: Programa Ableton Live 7, Captura de pantalla en el software, 2009Ahora el siguiente paso, sería asignar los diferentes controles y botones de nuestrodispositivo MIDI a cada parámetro que nos gustaría modificar o manipular en AbletonLive. Para realizar esto lo primero que tenemos que hacer es presionar el botón MIDIubicado 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, 2009Al activar esta opción, Live entra en modo de “aprendizaje”, en el cual automáticamenteasignara cualquier parámetro que seleccionemos al control que movamos en nuestrocontrolador:
  35. 35. 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, 2009Entonces ah continuación seleccionamos cualquier parámetro que necesitemos asignar aalgún actuador, por ejemplo seleccionamos la opción "Dry/Wet" del módulo “SimpleDelay”: Figura 32 Seleccionamos en Ableton algún actuador que deseamos controlar Fuente: Programa Ableton Live 7, Captura de pantalla en el software, 2009
  36. 36. Ahora movemos la perilla o deslizador en nuestro controlador para que sea asignado, alhacer esto automáticamente Live graba esta información para que esté disponibledespué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, 2009Podemos 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, 2009Aquí 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 delControlador MIDI detectado en el canal MIDI 1.Mientras estemos en este modo podemos seguir asignando controles a cualquier otroparámetro, y la ventaja es que la reproducción de audio no se interrumpe mientras serealiza el mapeo MIDI.Por ejemplo ahora vamos asignar un potenciómetro deslizante de nuestro controladorpara manipular el volumen de uno de los canales de audio:
  37. 37. 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, 20092. 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, 20093. 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
  38. 38. 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 DJ1.4.2. NI TraktorPara 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 procesopara el Ableton Live.
  39. 39. Figura 39 Pantalla inicial de NI Traktor Pro Fuente: Programa NI Traktor Pro, Captura de pantalla en el software, 2009Para realizar la configuración MIDI lo que tenemos que hacer es simplemente ingresaral 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
  40. 40. En el cuadro de dialogo que se abre seleccionamos la opción “MIDI Setup” y aquí enlas opciones que aparecen tanto para la entrada y salida seleccionamos nuestrodispositivo MIDI: Figura 41 Configuración de Dispositivos MIDI Fuente: Programa NI Traktor Pro, Captura de pantalla en el software, 2009Una 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.
  41. 41. Figura 42 Configuración de Dispositivos MIDI Fuente: Programa NI Traktor Pro, Captura de pantalla en el software, 2009Ahora en la parte derecha damos clic en el botón “Add” para agregar un control quedeseamos modificar remotamente con nuestro dispositivo MIDI. En este ejemplo vamosa agregar el parámetro correspondiente a la ganancia de la banda media para elecualizador del canal A: Figura 43 Configuración de Dispositivos MIDI Fuente: Programa NI Traktor Pro, Captura de pantalla en el software, 2009
  42. 42. Figura 44 Podemos añadir cualquier parámetro para ser asignado al Controlador Fuente: Programa NI Traktor Pro, Captura de pantalla en el software, 2009Ahora en la sección “Control Configuration” seleccionamos el enfoque al canal quenecesitamos asignar:
  43. 43. 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, 2009Ahora presionamos el botón “Learn” y movemos la perilla en nuestro controlador MIDIpara que sea grabado el mapeo:
  44. 44. 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
  45. 45. Figura 47 Podemos comprobar la asignación del parámetro seleccionado Fuente: Programa NI Traktor Pro, Captura de pantalla en el software, 2009Ahora por ejemplo queremos asignar el encendido de la sección de efectos 2 para elcanal 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
  46. 46. Presionamos el botón al cual queremos asignar este control, debido a que Traktormantuvo 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, 2009En este caso podemos modificar el tipo de acción del botón asignado, para definir uncomportamiento 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 controladorMIDI. Por ejemplo en este sentido se puede notar una ventaja de Traktor ante AbletonLive. Ya que esta es una función que no está disponible en Live.
  47. 47. Figura 50 Seleccionamos el modo de interacción Fuente: Programa NI Traktor Pro, Captura de pantalla en el software, 2009En este ejemplo cada vez que presionemos el botón provocará que el control de efectosasignado 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 depreferencias y empezar a utilizar el programa.1.5. MICROCONTROLADORES PIC
  48. 48. 1.5.1. Diagrama De Pines Figura 51 Nombres de los pines del PIC18F452 Fuente: Microchip, Pin Diagrams, 20061.5.1.1. DESCRIPCIÓN DE LOS PINES
  49. 49. Figura 52 Nombres de los pines del PIC18F452Fuente: Microchip, Pinout I/O Descriptions, 2006
  50. 50. Figura 53 Nombres de los pines del PIC18F452 (continua) Fuente: Microchip, Pinout I/O Descriptions, 2006
  51. 51. Figura 54 Nombres de los pines del PIC18F452 (continua) Fuente: Microchip, Pinout I/O Descriptions, 2006
  52. 52. Figura 55 Nombres de los pines del PIC18F452 (continua) Fuente: Microchip, Pinout I/O Descriptions, 20061.5.2. Oscilador De CristalEl oscilador de cristal, es una de las opciones de oscilación que se encuentrandisponibles con el microcontrolador PIC18F452. Este oscilador puede ser seleccionadoa través de los bits de configuración FOSC2, FOSC1 y FOSC0. Para su funcionamientoeste oscilador de cristal es conectado a los pines OSC1 y OSC2 del microcontrolador y
  53. 53. además requiere el uso de un capacitor de corte paralelo. Existen diferentes modos deoscilación, con cristal:1. LP - Cristal de Baja Potencia2. XT - Cristal/Resonador3. 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
  54. 54. Figura 57 Selección de Capacitores para Oscilador de Cristal Fuente: Microchip, Capacitor Selection for Crystal Oscillator, 2006Se 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 arranque2. 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.
  55. 55. 1.5.3. Reset MaestroEl 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 MCLRc. MCLR. Reinicialización maestra en modo SLEEP.d. Reinicio a través del temporizador de “perro guardián” Watchdog Timer (WDT) durante operación normale. Reinicio programable por baja de tensión BOR.f. Instrucción RESET.g. Stack llenoh. Stack vació cuando es apuntado.De estos diferentes tipos de Reinicialización, los que utilizaríamos para el proyecto sonel POR y BOR.Para implementar el POR (pulso de reinicio generado en el chip cuando se detecta unasubida de Vdd) basta simplemente con conectar al pin 1 a través de una resistencia aVdd. 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 algunaparte del sistema al cual integra, además establecemos una reinicialización del mismoúnicamente cuando Vdd haya superado los parámetros establecidos. Este tipo dereinicialización puede ser habilitada a través del BIT BOREN. Y ajustados suslumbrales con los bits BORV1 y BORV0. Dependiendo de los bits en los que hayansido configurados se establece el umbral mínimos en el cual se activa BOR, si Vdd esmenor a este voltaje por un tiempo mínimo de 200 µs, se resetea el chip y permanece deesta manera hasta que sea reestablecido.1.5.4. Puertos
  56. 56. El PIC18F452 posee 5 puertos, en los que su pines de entrada/salida son multiplexadoscon una función alternativa de los periféricos del dispositivo. En general, cuando unperiférico está habilitado, ese pin no debe ser usado como un pin de entrada o salida depropó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, lasfunciones 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, 2006Funciones y Registros Asociados del Puerto B:
  57. 57. 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, 2006Funciones y Registros Asociados del Puerto C:
  58. 58. 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, 2006Funciones y Registros Asociados del Puerto D:
  59. 59. Figura 64 Funciones de cada Pin en el Puerto D Fuente: Microchip, PORTD Functions, 2006 Figura 65 Registros Asociados con el Puerto DFuente: Microchip, Summary of Registers Associated with PORTD, 2006
  60. 60. 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, 20061.5.5. Conversión Analógica-Digital
  61. 61. 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 ACON0y ADCON1. La conversión A/D permite transformar la señal de entrada analógica en unnú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 ADCON1configura las funciones de los pines del puerto. A continuación podemos apreciar lasdiferentes opciones y funciones de cada registro:Registro ADCON1
  62. 62. Figura 68 Registro ADCON1Fuente: Microchip, extracto de PIC18F452 Data Sheet, 2006
  63. 63. La salida de la muestra y retención es la entrada en el convertidor, el cual genera elresultado vía aproximaciones sucesivas. Cada puerto asociado con el convertido A/Dpuede ser configurado con una entrada analógica (RA3 puede ser también unareferencia 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 registrosADRESH/ADRESL, el BIT GO/DONE (ADCON0 -2- ) es limpiado, y el BIT de labandera de interrupción, ADIF es encendido. Figura 69 Diagrama de bloques del convertidor A/D Fuente: Microchip, A/D Block Diagram, 2006El valor que está en los registros ADRESH/ADRESL no es modificado por una reseteoal encendido. Los registros ADRESH/ADRESL contendrán datos desconocidos despuésde una reinicialización al encender el chip.Después de que el módulo haya sido configurado como deseamos, el canal seleccionadodebe adquirido antes que la conversión se iniciada. Las entradas analógicas deben tener
  64. 64. su respectivo TRIS seleccionado como una entrada. Después que el tiempo deadquisición haya pasado, la conversión A/D puede ser iniciada. Se deben seguir lossiguientes 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 PEIE3. Esperar el tiempo de adquisición requerido4. 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/D6. Leer los registros de resultados A/D (ADRESH/ADRESL); limpiar el BIT ADIF si es necesario7. 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.
  65. 65. El tiempo de conversión por BIT es definido como TAD. La conversión A/D requiere 12TAD por cada conversión de 10-BIT. La fuente del reloj de conversión A/D es elegiblepor 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 queasegure 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
  66. 66. 1.5.6. Set de Instrucciones Figura 71 Tabla de descripción de campos “Opcode”4 Fuente: Microchip, Table 20-1: OPCODE Field Descriptions, 20064 OPCODE hacer referencia a “Operational Code” -Código Operacional-
  67. 67. Figura 72 Set de Instrucciones para el PIC18F452Fuente: Microchip, Table 20-2: PIC18FXXX Instruction Set, 2006
  68. 68. Figura 73 Set de Instrucciones para el PIC18F452 (continuación)Fuente: Microchip, Table 20-2: PIC18FXXX Instruction Set (continued), 2006
  69. 69. Figura 74 Set de Instrucciones para el PIC18F452 (continuación) Fuente: Microchip, Table 20-2: PIC18FXXX Instruction Set (continued), 20061.6. SISTEMA OPERATIVO MIDI (MIOS)El sistema operativo MIDI, ha sido desarrollado para los requerimientos de aplicacionesflexibles de controladores MIDI. En diferencia a las soluciones comerciales dedicadasde hoy, MIOS sigue el concepto de un sistema de computo abierto como fundamentopara la idea del intercambio y las adaptaciones personales. Existen diferentesaplicaciones que varían según el diseño del panel, elementos de control o flujo detrabajo preferido, la mayoría de estas aplicaciones son basadas en diseñospreestablecidos que por ende están limitados a las características proporcionadas delfirmware. Con MIOS tales controladores pueden ser realzados para dispositivos demultipropósito y con código intercambiable, totalmente personalizable para laaplicación anfitriona aproximada, sintetizador o similares “Dispositivos MIDI”.
  70. 70. 1.6.1. Programación Básica En CSi bien la aplicación implementada para el proyecto utiliza código ensamblador en sumayorí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 enlenguaje C no fueron utilizadas en su mayoría.Las principales funciones utilizadas de este lenguaje fueron:#includeLa directiva #include hace que se incluya una copia de un archivo especificado en lugarde 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 elarchivo 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 procesadorbusca el archivo especificado de una manera dependiente de la implementación, por logeneral mediante directorios previamente designados. Si el nombre del archivo seencierra entre comillas el procesador busca primero en el mismo directorio en el que seva a compilar el archivo y después en la misma manera dependiente de laimplementación.Esta directiva también se utiliza con programas que consisten en varios archivos fuenteque se van a compilar en conjunto. A menudo se crea e incluye en el archivo deencabezado que contiene declaraciones y definiciones comunes para los archivos deprograma separados.Ejemplo:#include <mios.h>Copia el archivo de toda la estructura de MIOS en el código de la aplicación queestemos desarrollando.#if, #else y #endif
  71. 71. Estas operaciones de compilación condicional que permite al programador controlar laejecució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 enteraconstante que determina si el código se compila o no. Siempre toda función #iftermina 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ónes verdadera; de lo contrario, se evita dicha acción. La estructura de selección permiteal programador especificar una acción a realizar cuando la condición es verdadera, yuna 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 igualque 60, pero imprime Reprobado si la calificación del estudiante es menor que 60.1.6.2. Funciones PropiasLas principales funciones propias del MIOS5, que han sido utilizadas en la aplicaciónespecífica son: 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)5 Klose, Thorsten, “MIOS Functions Reference (ASM Version)”, 2009-01-01, http://www.ucapps.de/
  72. 72. MIOS_AIN_MuxedDescripción: Habilita el modo de multiplexación para que puedan ser conectados ymultiplexados hasta 64 potenciómetros a través del modulo AIN.Entrada: –Salida: –Usa: BSR (registro selector de banco)MIOS_LCD_PrintMessageDescripción: Imprime un mensaje por aproximadamente 2 segundos. El flujonormal del programa no será interrumpido durante este tiempo, simplemente solo larutina "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 cadenadebe contener el largo y la posición del LCD.Salida: Algunos caracteres en el LCD por 2 segundosUsa: BSRMIOS_AIN_UnMuxedDescripción: Deshabilita el modo de multiplexación, 8 potenciómetros pueden serconectados directamente a pines de las entradas analógicas en el PIC.Entrada: –Salida: –Usa: BSR (registro selector de banco)MIOS_AIN_DeadbandSetDescripción: Ajusta la diferencia entre el ultimo y el actual valor delpotenció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_NumberSetDescripció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 WREGSalida: –Usa: BSR (registro selector de banco)MIOS_SRIO_UpdateFrqSetDescripción: Ajusta la frecuencia de actualización de los registros SR.Entrada: Frecuencia de actualización (unidad: milisegundos) en WREGSalida: –Usa: BSR (registro selector de banco)
  73. 73. MIOS_SRIO_DebounceSetDescripción: Ajusta la recarga del contador de rebote para los DIN (módulo deentradas digitales) que no son asignados a los codificadores rotativos para eliminarlos rebotes de botones de baja calidad.Entrada: Valor de recarga del contador de rebote en WREGSalida: –Usa: BSR (registro selector de banco)MIOS_SRIO_TS_SensitivitySetDescripción: Ajusta la sensibilidad del sensor táctil. Si es igual a 0x00 deshabilitael TS (sensor táctil) de tal manera que el PIN RD.4 (J14 del módulo principal) yano sea controlado por MIOS y de ahí en adelante queda libre para otros propósitos.Entrada: Valor de sensibilidad en WREGSalida: –Usa: BSR (registro selector de banco)MIOS_TIMER_InitDescripción: Inicializa el temporizado el cual llama a la función USER_Timerperiódicamente y la arranca. La resolución del temporizador es de 100nS con unPrescaler 1:1, 200nS con 1:2, 400nS con 1:4, 800nS con 1:8. El período (número deseñales de reloj) está especificado como un valor de 16.Entrada: Valor del prescaler en WREG:0x00: 1:10x01: 1:20x02: 1:40x03: 1:8número de flancos (byte-inferior) en MIOS_PARAMETER1 (registro MIOS parafunciones especiales)número de flancos (byte-superior) en MIOS_PARAMETER2 (registro MIOS parafunciones especiales)Salida: –Usa: BSR (registro selector de banco)USER_TimerDescripción: Esta función periódicamente es llamada por MIOS. La frecuenciatiene que ser inicializada por con MIOS_Timer_Set. Note que esta es una rutina deinterrupción. Use FSR2 en reemplazo de FSR0 y IRQ_TMPx en reemplazo deTMPx – y crear una rutina lo más rápida posible.Entrada: –Salida: –ISR: SíMIOS_MIDI_DeviceIDGetDescripción: Retorna la identificación del dispositivo MIDIEntrada: -Salida: Número del dispositivo en WREG y MIOS_PARAMETER1 (0x00-0x7f)Usa: BSR
  74. 74. USER_MPROC_DebugTriggerDescripción: Esta función es llamada por MIOS cuando un comando de depuraciónha sido recibido vía SysEx.Entrada: WREG, MIOS_PARAMETER1, MIOS_PARAMETER2,MIOS_PARAMETER3 como se especifica en el comando de depuraciónSalida: Retorna valores WREG, MIOS_PARAMETER1, MIOS_PARAMETER2,MIOS_PARAMETER3ISR: NoMIOS_EEPROM_ReadDescripció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, EECON2USER_MPROC_NotifyReceivedByteDescripción: Esta función es llamada por MIOS cuando un byte MIDI ha sidorecibido.Entrada: byte MIDI recibido en WREG y MIOS_PARAMETER1Salida: -ISR: noUSER_DISPLAY_InitDescripción: Esta función es llamada por MIOS cuando el contenido del displaydebe ser inicializado. Ese es el caso durante el arranque y después de un mensajeque has sido impreso en pantalla.Entrada: -Salida: -ISR: noUSER_DISPLAY_TickDescripción: Esta función es llamada por MIOS en el loop principal cuando no seha mostrado un mensaje temporal enEntrada: -Salida: -ISR: noUSER_MIDI_NotifyTxDescripció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 cualquierotra acción (por ejemplo cambiar un pin para salidas MIDI multiplexadas) antes queel byte sea enviado. Note que este es una rutina de servicio de interrupciónEntrada: byte MIDI transmitido en WREGSalida: -ISR: yes
  75. 75. USER_MPROC_NotifyReceivedEventDescripción: Esta función es llamada por MIOS cuando un evento completo MIDIha sido recibido.Entrada: Primer byte de evento MIDI en MIOS_PARAMETER1, segundo byte deevento MIDI en MIOS_PARAMETER2, tercer byte de evento MIDI enMIOS_PARAMETER3Salida: -ISR: NoUSER_MPROC_NotifyTimeoutDescripción: Esta función es llamada por MIOS cuando un evento MIDI no ha sidocompletamente recibido dentro de 2 segundos.Entrada: -Salida: -ISR: NoUSER_MPROC_NotifyFoundEventDescripción: Esta función es llamada por MIOS cuando un evento completo MIDIha sido recibido, el cual ha sido especificado en la tabla CONFIG_MIDI_INEntrada: Primer byte de evento MIDI en MIOS_PARAMETER1, segundo byte deevento MIDI en MIOS_PARAMETER2, tercer byte de evento MIDI enMIOS_PARAMETER3Salida: -ISR: NoUSER_DIN_NotifyToggleDescripció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ónen MIOS_PARAMETER2:- 1 si el botón ha sido soltado (=5V)- 0 si el botón ha sido presionado (=0V)Salida: -ISR: noUSER_ENC_NotifyChangeDescripción: Esta función es llamada por MIOS cuando un encoger (codificador)ha sido movido.Entrada: Número de Encoder en WREG y MIOS_PARAMETER1valor 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
  76. 76. 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: no1.6.3. Implementación SysexLa 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 instanciade datos digitales; usados para revisar ya sea si los errores ocurrieron en la transmisión o en elalmacenamiento
  77. 77. 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
  78. 78. <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 deatajos a eventos de hardware y software, y que ofrece funciones para una interacciónsimple 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-COMHan sido incluidos numerosos controladores que manejan las siguientes tareas decontrol 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.
  79. 79. 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 sidooptimizado para mayor velocidad .Actualmente MIOS asigna 8k de memoria deprograma ( se reservan 4k para futuras extensiones) y 640 bytes de RAM. Laarquitectura de sistema es bastante estable, las funciones adicionales que carga la CPUno están planeadas. El manejador de SRIO (Shift Registers Input – Output) requieresolo 75 uS para captar los datos de128 pines digitales de entrada y escribir datos en 128pines de salida. 16 codificadores rotatorios (rotary encoders) se manejan dentro de los100 uS. Las entradas analógicas son escaneadas en segundo plano, con un resultado deconversión cada 200 uS. Hasta 256 eventos MIDI pueden accionar funcionesdedicadas, el procesamiento de la lista de eventos requiere cerca de 300 uS. Los eventosMIDI también pueden ser procesados por una rutina de usuario para parseado SysEx otrabajos similares. Un temporizador de usuario permite realizar código activado en eltiempo. Se han hecho numerosas mediciones para permitir una interacción unificadacon MIOS: Todas las variables de tiempo de ejecución han sido localizadas en el áreaBANKED 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, tresregistros adicionales (MIOS_PARAMETER[123]) y el indicador FSR1.TBLPTR[LH], TABLAT, PROD[LH], FSR0 y FSR2 son guardadas y se restaurarán siuna función MIOS hace uso temporal de estos SFRs.1.6.5. Plataforma De Procesamiento MIDI
  80. 80. 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 MIOSStudio. MIOS Studio fue iniciado por Jason Williams in Noviembre 2003, y despuésretomado por Adam King. Esta aplicación es de mucha utilidad al momento de revisarlas comunicaciones entre nuestro dispositivo MIDI y el computador. Además,proporciona herramientas de simulación y la disponibilidad de cargar los archivos Sysexal hardware del controlador MIDI para definir nuestra aplicación específica.Debemos mencionar que adicionalmente a permitirnos la depuración de MIOS, tienetambién funciones de propósito general como ruteo de puerto MIDI, Monitoreo,Filtración y un teclado virtual.1.7. ELECTRÓNICA DIGITAL
  81. 81. 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
  82. 82. 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.9El optoacoplador utilizado en el proyecto fue el 6N138, que tiene el siguiente esquemainterno: Figura 77 Diagrama Funcional para el Optoacoplador 6N138 Fuente: Hewlett-Packard, Low Input Current, High Gain Optocouplers - Technical Data, 1998Sin embargo para nuestra aplicación en específico y para cumplir los requerimientoselé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-109 Colaboradores de Wikipedia, Optoacoplador, 26 de enero del 2009,http://es.wikipedia.org/w/index.php?title=Optoacoplador&oldid=23552960
  83. 83. Este esquema lo podremos apreciar completamente, más adelante cuando veamos eldiseño de hardware. Nótese el diodo en la entrada 2 y 3, el cual invierte la polaridad defuncionamiento.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, 1998Especificaciones Eléctricas:
  84. 84. Figura 80 Condiciones Recomendadas de OperaciónFuente: Hewlett-Packard, Low Input Current, High Gain Optocouplers - Technical Data, 1998
  85. 85. 1.7.2. LCDUna pantalla de cristal líquido o LCD (acrónimo del inglés Liquid Crystal Display) esuna pantalla delgada y plana formada por un número de píxeles en color o monocromoscolocados delante de una fuente de luz o reflectora. A menudo se utiliza en dispositivoselectró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 comomecá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 16x2Fuente: Shenzhen Techstar Electronics, TS1620G-1 LCD Module Specification, Fecha no disponibleDesignación de Pines:
  86. 86. Figura 82 Designación de PinesFuente: Shenzhen Techstar Electronics, TS1620G-1 LCD Module Specification, Fecha no disponibleDiagrama de bloques: Figura 83 Diagrama de bloquesFuente: Shenzhen Techstar Electronics, TS1620G-1 LCD Module Specification, Fecha no disponibleTiempos de Acceso:Escritura:
  87. 87. Figura 84 Tiempos de Acceso para EscrituraFuente: Shenzhen Techstar Electronics, TS1620G-1 LCD Module Specification, Fecha no disponibleLectura: Figura 85 Tiempos de Acceso para LecturaFuente: Shenzhen Techstar Electronics, TS1620G-1 LCD Module Specification, Fecha no disponibleComandos: Figura 86 Comandos para manejar el LCD
  88. 88. Fuente: Shenzhen Techstar Electronics, TS1620G-1 LCD Module Specification, Fecha no disponibleDimensiones: Figura 87 Dimensiones del módulo LCD
  89. 89. Fuente: Shenzhen Techstar Electronics, TS1620G-1 LCD Module Specification, Fecha no disponible1.7.3. MultiplexaciónEl concepto de multiplexación fue necesario aplicar en el proyecto, debido a la cantidadde 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 64potenciómetros (en el módulo principal), todo gracias al concepto de multiplexación yal diseño del MIOS.Un multiplexor selecciona una de sus entradas presentes y la transmite a la salidaprincipal para su posterior tratamiento. En acorde a una señal de reloj y un códigobinario que determina cuando y qué entrada seleccionar.El multiplexador utilizado en el módulo de entradas analógicas del proyecto, es el chip4051, que es un multiplexador simple de 8 canales provisto de entradas binarias paracontrol y de una entrada para inhibición. Las tres señales binarias seleccionan 1 de los 8canales para ser encendido y conectar una de las 8 entradas a la salida.
  90. 90. Distribución de Pines: Figura 88 Pines del Multiplexor 4051 Fuente: Texas Instruments, CD 4051B, CD4052B, CD4053B Data Sheet, 2005Diagrama de bloques: Figura 89 Diagrama de Bloques Funcional para el Multiplexor 4051 Fuente: Texas Instruments, CD 4051B, CD4052B, CD4053B Data Sheet, 2005
  91. 91. Tablas de Verdad: Figura 90 Tabla de Verdad para el Multiplexor 4051 Fuente: Texas Instruments, CD 4051B, CD4052B, CD4053B Data Sheet, 2005Principales Características Eléctricas: Figura 91 Principales características eléctricas para el Multiplexor 4051
  92. 92. Fuente: Texas Instruments, CD 4051B, CD4052B, CD4053B Data Sheet, 2005Figura 92 Principales características eléctricas para el Multiplexor 4051 (continua)
  93. 93. Fuente: Texas Instruments, CD 4051B, CD4052B, CD4053B Data Sheet, 2005Valores máximos absolutos:Fuente de Voltaje (V+ a V-) Voltajes referenciados al terminal VSS . . . . . . . -0.5 V a 20 VRango de Voltaje de Entrada Digital . . . . . . . . -0.5 V a VDD + 0.5 VCorriente de Entrada DC, en cualquier entrada . . . . . . . . . . . ±10 mA1.7.4. Registros IO (Input – Output)
  94. 94. Entender brevemente el uso de los registro de entrada y salida, nos permitió el manejode los botones y los LEDs. La plataforma MIDIBOX, en la que está basada el desarrollode los controladores con MIOS, utiliza tanto para los módulos de entradas como para lassalidas este tipo de registros.A continuación revisaremos sus principales características:1.7.4.1. REGISTRO 74HC165El 74HC165 es un registro de desplazamiento (shift register) de 8 BIT para entradasparalelas 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: MSILos 774HC/HCT165 son registros de desplazamiento de 8-BIT carga-paralela oentrada-serial, con salidas seriales complementarias (Q7# y Q7) disponibles de la últimaetapa. Cuando la entrada de carga paralela (PL) es baja, los datos paralelos desde laentrada 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 desplazaun lugar a la derecha (Q0 Q1 Q2, etc.) con transición positiva del reloj. Estacaracterística permite una expansión del convertidor paralelo a serial al unir la salida deQ7 a la entrada DS de la etapa consecutiva.La entrada del reloj es una estructura de compuerta OR la cual permite a una entrada serusada como una entrada de habilitación activa en LOW de reloj (CE). La asignaciónpara las entradas CP y CE son arbitrarias y pueden ser invertidas para conveniencia dediseño. La transición BAJO-a-ALTO de la entrada CE debe tomar lugar solamentecuando CO ALTO para una operación predecible. Ya sea CP o CE deben ser ALTOSantes de la transición BAJO-a-ALTO de PL para prevenir desplazamiento de los datoscuando PL está activado.
  95. 95. 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
  96. 96. Figura 95 Diagrama Funcional del registro 74HC165 Fuente: Philips, 74HC/HCT165 8 Bit Parallel In/Serial Out Shift Register Data Sheet, 1990Tabla de funcionamiento: Figura 96 Tabla de funcionamiento del registro 74HC165 Fuente: Philips, 74HC/HCT165 8 Bit Parallel In/Serial Out Shift Register Data Sheet, 19901.7.4.2. REGISTRO 74HC595
  97. 97. 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: MSIDescripción:Estos registros son utilizados en el módulo de salida para el manejo de LEDs en elcontrolador MIDI. Cada registro está provisto de 8 señales digitales, las cuales sonactualizadas con la señal de habilitación del latch, RCLK y son desplazadas con la señalde 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 sondesplazados en las transiciones positivas del la entrada SHCP. Los datos en cadaregistro son transferidos al registro de almacenamiento en una transición positiva de laentrada STCP. Si ambos relojes son conectados juntos, el registro de desplazamientosiempre 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 (activoa BAJO) para todas las 8 etapas de los registros de desplazamiento. El registro dealmacenaje tiene 8 salidas paralelas manejadas de 3 estados. Los datos en el registro dealmacenamiento aparecen en las salidas cuando la entrada (OE) sea BAJA.Pines: Figura 97 Descripción de Pines para el registro 74HC595
  98. 98. 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 74HC595Fuente: Philips, 74HC/HCT595 8-Bit Serial-In/Serial Or Parallel-Out Shift Register With Output Latches; 3-State, 4 de Junio del 1998Diagrama Funcional: Figura 99 Diagrama funcional para el registro 74HC595
  99. 99. Fuente: Philips, 74HC/HCT595 8-Bit Serial-In/Serial Or Parallel-Out Shift Register With Output Latches; 3-State, 4 de Junio del 1998Tabla de funcionamiento: Figura 100 Tabla de funcionamiento para el registro 74HC595Fuente: Philips, 74HC/HCT595 8-Bit Serial-In/Serial Or Parallel-Out Shift Register With Output Latches; 3-State, 4 de Junio de 19981.8. ELECTRÓNICA ANALÓGICA
  100. 100. En el entorno referente a estudios de electrónica analógica, los temas que de prontosegún nuestro criterio merecían una breve revisión, era sobre lo que respecta a lasfuentes de voltaje, especialmente en el aspecto de rectificación. Ya que los módulosutilizados se alimentan básicamente de DC.1.8.1. Fuentes De VoltajeLa fuente de voltaje especificada para nuestro proyecto, es una fuente en la queprácticamente se omite la etapa inicial de transformador, básicamente por la razón deque 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 deuso, utilizar directamente un adaptador de DC disponibles en el mercado, y a un precioasequible. 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.aspPor lo antes mencionado, se ha adaptado una etapa de rectificación, filtro y regulación,en el módulo principal.
  101. 101. 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-10Segunda etapa: rectificación.La segunda etapa de nuestra fuente de alimentación es la que queda constituida por larectificación, en este punto, la señal inducida al secundario, será nuevamente inducidapero ahora a una señal directa. La fuente más común, posee una rectificación a base de 4diodos, por lo que su rectificación será de onda completa y esta conectado en “tipopuente”. Al alimentar el en esta etapa circuito con un adaptador de CC, se evade elproblema que implicaría una inversión de polaridad, gracias al puente rectificador. Figura 103 Forma de un Rectificador por puente
  102. 102. Fuente: Won-Top Electronics, B40C800-B500C800 Bridge Rectifier, 2002Tercera Etapa: FiltroEsta etapa, tiene como función, “suavizar” o “alisar” o “reducir” a un mínimo lacomponente de rizo y elevar el valor promedio de tensión directa. El capacitor de 2200uF es de un tamaño y capacidad considerable, para eliminar notablemente lasondulaciones de la anterior etapa, además de eliminar ruidos que puedan ingresar alcircuito.Cuarta Etapa: Regulador De Voltaje.
  103. 103. En esta etapa final, garantizamos una alimentación estable a nuestro sistema, gracias alIC 7805 que nos entrega una salida bastante limpia de 5 VDC, con una alimentaciónmáxima de 10 VDC, para no recalentar el integrado. Junto a este se conectancapacitores adicionales, como podemos apreciar en la Figura 102, los condensadoresC6, C4 y C3. Estos valores han sido implementados como sugiere el "data sheet" del IC7805.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).
  104. 104. - 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.10Figura 105 Variación de la corriente de Colector, en función del Voltaje Colector – Emisor, al mantener una corriente de base constante Fuente: 7El funcionamiento de este tipo de transistores es bastante conocido por todos, pero valela plena explicar el funcionamiento del circuito que utiliza estos transistores en móduloprincipal del proyecto.Figura 106 Esquema electrónico en el que se utiliza un transistor BJT para variar la iluminación de un diodo LED10 Unicrom.com, Transistor Bipolar o BJT, http://www.unicrom.com/Tut_transistor_bipolar.asp
  105. 105. Fuente: Klose Thorsten, MIDIbox Hardware Platform – MBHP_Core_V3, 2006-06-10Al variar el potenciómetro P1, estoy modificando la corriente que llega a la base, por lotanto debido a la formula mencionada anteriormente Ic = β * Ib también estoy variandola corriente que llega al LED del módulo LCD.

×