SID6581
<keywords content="TTL 74Ls164N, electronica, circuito, pic, NE555, PIC BASIC, PIC SIMULATOR IDE, esquema, circuito impreso, proyecto, gratis, download, programa, CMOS, pin, e/s, i/o, ucontrol, PIC, 16F628a, 16f84a" /> <center>
| Inicio | Foro | Revista uControl | Circuiteca | Microcontroladores | Electrónica Básica | Herramientas y Software | Tutoriales | Colaboradores | Enlaces |
|
¿Ya descargaste los ejemplares GRATUITOS de la Revista uControl? ¡No te los pierdas!. | |||||||||
|
wikipage=Dado electrónico con PIC
tooltip=Dado electrónico con PIC
img_src=Image:dado100.jpg
img_width=150px
img_alt=Dado electrónico con PIC
</linkedimage> |
wikipage=Como trucar un servo
tooltip=Como trucar un servo
img_src=Image:trucaservo150.jpg
img_width=150px
img_alt=Como trucar un servo
</linkedimage> |
wikipage=Comunicación inalámbrica entre PICs
tooltip=Comunicación inalámbrica entre PICs
img_src=Image:TXRX150.jpg
img_width=150px
img_alt=Comunicación inalámbrica entre PICs
</linkedimage> |
wikipage=CCS - Libreria de gráficos para GLCD K0108
tooltip=CCS - Libreria de gráficos para GLCD K0108
img_src=Image:GLCD-100.gif
img_width=150px
img_alt=CCS - Libreria de gráficos para GLCD K0108
</linkedimage> |
wikipage=Funcionamiento de una matriz de LEDs
tooltip=Funcionamiento de una matriz de LEDs
img_src=Image:GNUxx.jpg
img_width=150px
img_alt=Funcionamiento de una matriz de LEDs
</linkedimage> |
![]() |
Todos los articulos y proyectos de uControl tienen su lugar en el foro. Si tienes dudas o comentarios, busca o crea el hilo correspondiente, y tendrás una rapida respuesta.
|
![]() |
|
SID6581, el mejor chip generador de sonidos de la historia.
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
IntroducciónHan pasado ya 25 años de su nacimiento, pero aún es buscado por músicos y DJ. Desarrollado especialmente para dotar de sonido a los ordenadores Commodore, el chip SID6581 de MOS Technology es considerado por muchos profesionales como “indispensable” para generar efectos de sonido “retro”. Responsable en gran medida del éxito arrollador del Commodore 64, se ha transformado ya en un objeto de culto entre los expertos.
Un poco de historiaPor regla general, en el mundo de la electrónica los componentes más nuevos superan en prestaciones a los antiguos. Casi todos los circuitos integrados son considerados obsoletos en solo un puñado de años. Sin embargo, en el ámbito de la generación de música electrónica hay un chip que a pesar de tener ya 25 años de edad, sigue siendo buscado por los expertos por poseer características que lo hacen único. Nos estamos refiriendo al SID (Sound Interface Device) 6581, y también a su “primo” el SID8580, ambos de MOS Technology. Este circuito integrado fue el chip de sonido incorporado en los ordenadores CBM-II, Commodore 64, Commodore 128 y Commodore MAX Machine, todos de la empresa Commodore. En los 1980s, las denominadas “Home Computers” no tenían una tarjeta de sonido como los ordenadores actuales, sino que la mayoría de las veces se limitaban a emitir algún sonido simple mediante un pequeño parlante incorporado. Sin embargo, Commodore apostó fuerte al campo de la generación de sonidos complejos, algo que le permitiría desarrollar juegos más atractivos, y puso a sus ingenieros a trabajar en el diseño de un chip especializado. La empresa suponía, con razón, que esto la pondría una un paso por delante de la competencia.
La mítica Commodore 64 (o C64) poseía un SID6581.
El SID6581 dispone en su interior de toda la circuitería de control necesaria para sacarle provecho, lo que permite una sencilla programación y el uso de muy pocos componentes externos. Las figura qsiguiente muestra que tan simple puede ser conectar un SID6581 a un microprocesador o microcontrolador. Solo se necesitan 5 líneas de direcciones, 8 de datos y tres de control.
![]() Este chip necesita de muy pocos componentes externos.
CaracteristicasEl SID provee un control amplio y preciso de la frecuencia, contenido armónico y volumen del sonido que genera. El chip original (SID6581) no se destacaba precisamente por el rendimiento de sus filtros, a pesar de que estos son un componente vital en la síntesis de sonido analógica. Como es fácil de deducir, no podía rivalizar con los sintetizadores comerciales de la época. Por eso, a finales de la década de 1980, Commodore sustituyó los SID6581 por un modelo más complejo, que fue bautizado con el nombre SID8580, que solucionaba, entre otros detalles, el mencionado problema de los filtros. El Commodore 128 fue el primer ordenador en incluir de fábrica el nuevo chip.
Disposición de pines del SID6581.
Entre las características más sobresalientes de los chips SID se incluyen sus 3 osciladores (0 a 4KHz.), con 4 formas de onda por oscilador (Triangulo, Diente de Sierra, Pulso variable y Ruido). Cada oscilador tiene su modulador de amplitud (de 48dB.) y su generador de envolvente. Es posible fijar el rango de Ataque (2 ms a 8 s), de Decaimiento (6 ms a 24 s), de Sostenimiento (0 a volumen de pico) y el rango de Relajación (6 ms a 24 s). Los osciladores internos pueden ser sincronizados entre sí, y el filtro programable tiene un rango de corte de 30Hz. a 12KHz., con salidas de paso bajo, alto, banda y eliminación de banda. Dispone de un Control Maestro de Volumen, 2 interfaces para potenciómetros (con los correspondientes conversores A/D), un generador de números aleatorios y una entrada de audio externo que permite conectar varios de estos chips en cascada. Realmente, una colección de características impresionante, máxime si tenemos en cuenta la edad de estos pequeños chips. Tan interesante es el sonido de este chip, que varias bandas (el caso de la Argentina Miranda) lo utilizan como parte de su bagaje tecnológico.
Placa base de un C64, con el SID SID6581 indicado con una flecha.
Los juegos del Commodore64 aprovecharon el sonido de estos chips.
RegistrosEl SID6581 tiene 29 registros que controlan la generación de sonido. Estos registros pueden ser tanto de solo lectura como de solo escritura. Lo que sigue es una traducción (libre) de la hoja de datos del integrado: Voz 1
Descripción detalladaRegistros 00 y 01:Freq. LO/Freq. HILa unión de estos dos registros forman un número de 16 bits que controla linealmente la frecuencia del oscilador 1. La frecuencia se determina mediante al siguiente ecuación:
Registros 02 y 03:PW LO/PW HILa unión de estos dos registros forman un número de 12 bits (los bits 4..7 de PW HI no existen) que controla linearmente el ancho del pulso (ciclo útil) de la forma de onda pulso del oscilador 1. El ancho del pulso es determinado por la siguiente ecuación:
Registro 04: CONTROLEste registro contiene ocho bits de control que seleccionan varias opciones del oscilador 1, a saber: GATE (Bit 0)El bit GATE controla el generador de envolvente para la voz 1. Cuando se pone este bit a 1, el generador de envolvente se dispara y el ciclo de ATAQUE/DECAIMIENTO/SOSTENIMIENTO comienza. Cuando el bit vuelve a 0, comienza el ciclo de RELAJAMIENTO. El generador de envolvente controla la amplitud de salida del oscilador 1, por lo tanto, el bit GATE debe ser seteado (junto con parametros de envolvente adecuados) para que la salida seleccionada del oscilador 1 sea audible.
SYNC (Bit 1)Cuando se lleva este bit a 1, se sincroniza la frecuencia fundamental del oscilador 1 con la frecuencia fundamental del oscilador 3, produciendo un efecto llamado "Hard Sync". Variando la frecuencia del oscilador 1 con respecto a la del oscilador 3 produce un amplio rango de complejas estructuras armonicas desde la voz 1 a la frecuencia del oscilador 3. Para que la sincronización ocurra, el oscilador 3 debe estar seteado a alguna frecuencia distinta de cero pero preferentemente más baja que la frecuencia del oscilador 1. Ningún otro parametro de la voz 3 tiene efecto en la sincronización.
RING MOD (Bit 2)El bit RING MOD puesto a 1 reemplaza la salida de la forma de onda triangulo del oscilador 1 con una combinación de los oscilladores 1 y 3 "Modulada en Anillo". Variando la frecuencia del oscilador 1 con respecto a la del oscilador 3 produce un amplio rango de estructuras no-armonicas para crear sonidos de campanas o gons y efectos especiales. Para que la modulación en anillo sea audible, debe seleccionarse la forma de onda triangulo del oscilador 1 y el oscilador 3 debe ser seteado a alguna frecuencia distinta de cero. Ningún otro parametro de la voz 3 tiene efecto en la modulación en anillo.
TEST (Bit 3)El bit TEST puesto a 1 resetea y pone el oscilador 1 en cero hasta que este bit vuelve a 0. La salida de forma de onda ruido del oscilador 1 también se resetea y la forma de onda pulso se mantiena a un nivel de corriente continua. Normalmente este bit se usa para fines de prueba, de todas maneras, se puede usar para sincronizar el oscilador 1 cono eventos externos, permitiento la generación de formas de onda altamente complejas bajo el control de software en tiempo-real.
Triángulo (Bit 4)Cuando se pone en 1, se selecciona la salida de forma de onda de triangulo del oscilador 1. Esta forma de onda tiene pocos armonicos y tiene un sonido suave, similar al de una flauta.
Diente de sierra (Bit 5)Cuando se pone en 1, se selecciona la salida de forma de onda de diente de sierra del oscilador 1. Esta forma de onda es rica en armonicos pares e impares y tiene un sonido brillante y metalico.
PULSE (Bit 6)Cuando se pone en 1, se selecciona la salida de forma de onda de pulso del oscilador 1. El contenido armonico de esta forma de onda puede ser ajustado por los registros de ancho de pulso, produciendo tonos que van desde brillantes, a sonidos de caña. Variando el ancho de pulso en tiempo real se produce un efecto de desfasaje dinámico que le da vida al sonido. Saltando rapidamente entre diferentes anchos de pulso puede producir interesantes secuencias armonicas. NOISE (Ruido)(bit 7)Cuando se pone en 1, se selecciona la salida de forma de onda de ruido del oscilador 1. Esta salida es una señal aleatoria que cambia a la frecuencia del oscilador 1. La calidad de sonido se puede variar desde un grave retumbar a un sisente ruido blanco mediante el ajuste de los registros de frecuencia del oscilador. El ruido es útil para crear explosiones, disparos, motores, viento,olas, y otros sonidos, como tambores y cimbalos. La salida de ruido no es "realmente" aleatoria, ya que se basa en un registro interno de 23-bits. Una de las formas de onda debe ser seleccionada para que el oscilador 1 sea audible, de todas formas NO es necesario desactivar las formas de onda para silenciar a la voz 1. La amplitud de la voz 1 en la salida es función solo del generador de envolvente. NOTA: Las formas de onda NO son aditivas. Si se selecciona más de una forma de onda simultaneamente, el resultado sera un Y logico de las formas de onda. Aunque esta tecnica puede ser usada para generar formas de onda adicionales más alla de las 4 mostradas arriba, debe se usada con cuidado. Si cualquier otra forma de onda es seleccionada mientras la de ruido esta puesta, la salida de ruido puede bloquearse. Si esto ocurre, la salida de ruido permanecera silenciosa hasta que se resetee con el bit TEST o mandando a 0 RES (pin 5). Registro 05:ATTACK/DECAYLos bits 4..7 de estos registros (ATK0..ATK3) seleccionan 1 de los 16 tiempos de ATTACK (ATAQUE) para el generador de envolvente de la voz 1. El tiempo de ATAQUE determina que tan rapidamente la salida de la voz 1 sube de 0 a la amplitud pico al accionarse el generador de envolvente. Los 16 tiempos de ATAQUE se pueden ver más abajo. Los bits 0..3 (DCY0-DCY3) seleccionan 1 de los 16 tiempos de DECAY (DECAIMIENTO) para el generador de envolvente. El ciclo de DECAIMIENTO sigue al ciclo de ATAQUE y el tiempo de DECAIMIENTO determina que tan rapido la salida cae desde la amplitud pico al nivel de SUSTAIN (SOSTENIMIENTO). Los 16 tiempos de DECAIMIENTO se se pueden ver más abajo. Registro 06: SUSTAIN/RELEASELos bits 4..7 de este registro (STN0..STN3) seleccionan 1 de los 16 niveles de SUSTAIN (SOSTENIMIENTO) para el generador de envolvente. El ciclo de SOSTENIMIENTO sigue al de DECAIMIENTO y la salida de la voz 1 permanecera a la amplitud de SOSTENIMIENTO seleccionada mientras el bit gate este en 1. Los niveles de SOSTENIMIENTO van de 0 a la amplitud pico en 16 pasos lineales, con un valor de SOSTENIMIENTO de 0 seleccionando cero amplitud y un valor de SOSTENIMIENTO de 15 ($0F) seleccionando la amplitud pico. Los bits 0..3 (RLS0..RLS3) selecionan 1 de los 16 tiempos de RELEASE (RELAJACIÓN) para el generador de envolvente. El ciclo de RELAJACIÓN sigue al de SOSTENIMIENTO cuando el bit gate se vuelve a 0. En ese momento, la salida de la voz 1 caerá de la amplitud de SOSTENIMIENTO a cero amplitud en el tiempo de RELAJACIÓN seleccionado. Los 16 tiempos de RELAJACIÓN son identicos a los de DECAIMIENTO. NOTA: El ciclo del generador de envolvente puede se alterado en cualquier punto por medio del bit GATE. El generador de envolvente puede ser activado y desactivado sin restricciones. Por ejemplo, si el bit GATE se resetea antes que el ciclo de ATAQUE termine, el ciclo de RELAJACIÓN empezara immediatamente, empezando desde al amplitud alcanzada. Se la envolvente es activada nuevamente (antes de que el ciclo de RELAJACIÓN alcance la amplitud cero), otro ciclo de ATAQUE comenzará, empezando desde la amplitud alcanzada. Esta tecnica puede ser usada para generar complejas envolventes por medio del control por software en tiempo real. Tiempos de envolventes (aproximados)
Voz 2
Descripción detalladaLos registros $07 a $0D controlan la voz 2 y cumplen las mismas funciones que los registros $00 a $06, con las siguientes salvedades:
Voz 3
Descripción detalladaLos registros $0E..$14 controlan la voz 3 y funcionan de la misma forma que los registros $00..$06, salvo en que:
En uControl encontrarás muchos artículos interesantes más:
Filtro
Descripción detalladaRegistros 15 y 16:FC LO/FC HIJuntos estos registros forman un número de 11 bits (los bits 3..7 de FC LO no se usan) que controlan de forma lineal la frecuencia de corte (o central) del filtro programable. El rango de la frecuencia de corte es de 30 Hz a 12 KHz aproximadamente. Registro 17:RES/FILLos bits 4..7 de este registro (RES0..RES3) controlan la resonancia de el filtro. La resonancia es un efecto que enfatiza (refuerza) las frecuencias cercanas a la de corte, brindando un sonido más nitido. Hay 16 valores de resonancia que varian linealmente, y van desde la ausencia de resonancia (0) a la maxima resonancia (15 o $0F). Los bits 0..3 determinan que señales pasarán por el filtro:
Registro 18:MODE/VOLLos bits 4..7 de este registro seleccionan varios modos de filtro y opciones de salida:
NOTA: Los modos del filtro si son aditivos, y pueden seleccionarse varios modos a la vez. Por ejemplo, puedes seleccionar LP y HP para producir una respuesta del tipo "rechazabanda". Para que el filtro tenga algún efecto audible, debe ser seleccionarse al menos un modo, y como mínimo una voz debe pasar por el filtro. El filtro es probablemente el elemento más importante del SID, ya que permite la generación de tonos complejos mediante la sintesis subtractiva (el filtro se usa para eliminar componentes especificos de la frecuencia de una señal de entrada rica en armonicos). Los mejores resultados se logran variando la frecuencia de corte en tiempo real. Los bits 0..3 (VOL0..VOL3) seleccionan 1 de los 16 niveles de volúmen disponibles para la salida final de audio. Los niveles de volumen varían desde silencio (0) a volumen maximo (15 o $0F), en 16 pasos lineales. Miscelanea
Descripción detalladaRegistro 19: POTXEste registro permite a el microcontrolador que controla el SID leer la posición del cursor del potenciometro conectado a POTX (pin 24). Los valores leídos varían desde 0 (mínima resistencia) a 255 ($FF, máxima resistencia). Este registro se actualiza supuestamente cada 512 ciclos del Clock del SID. A 1 MHz se refrescará cada unas 2 milesimas de segundo. Registro 1A: POTYIdem al registro 19, pero para el potenciometro conectado a POTY (pin 23). Registro 1B: OSC 3/RANDOMEste registro permite a el microcontrolador que controla el SID leer los 8 bits superiores de la salida del oscilador 3. Las características de los números generados está directamente relacionada con la forma de onda que hemos elegido. Por lo tanto, al seleccionar la forma de onda ruido, este registro puede ser usado como un generador de números aleatorios. Hay numerosas aplicaciones de temporización y secuenciamiento para el este registro, de todas formas, su función principal es probablemente la de generador de modulación. Normalmente, cuando el oscilador 3 se usa para modulación, la salida de audio de la voz 3 debe ser eliminada (3 Off = 1). Registro 1C: ENV 3Idem al registro 1B (OSC 3), pero este registro permita a el microcontrolador leer la salida del generador de envolvente del oscilador 3. El generador de envolvente de la voz 3 debe ser activado para producir cualquier salida en este regitsro, mientras que el registro OSC 3 siempre muestra la salida del oscilador. Enlaces externosMás información sobre los chips SID
Hardware
Software y emuladores
Música
Artículos relacionados
Revista uControl
Autor
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Este contenido se rige por la licencia de Creative Commons "Licencia Creative Commons Atribución-No Comercial-Sin Obras Derivadas 3.0". Para más información, véase la licencia en su forma reducida y completa. |


