mos6581
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision | ||
mos6581 [2011/09/28 08:25] – wadmin | mos6581 [2011/10/26 09:22] – [Power Supply] wadmin | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ===== MOS6581 Datasheet ===== | + | {{cnmos.JPG}} |
- | The " | + | **Foreword :** |
+ | This '' | ||
+ | * Data extracted from ' | ||
+ | * quotes from various Websites | ||
+ | * personnal SID experience/ | ||
- | Foreword : This page is intended to recall | + | All the sources are listed in the last section |
- | {{cnmos.JPG}} | + | == Once upon a time... == |
+ | //In 1982, a young engineer named Bob Yannes was given the task of developing a soundchip for the Commodore company within a four month time frame. // | ||
- | ==== Introduction ==== | + | //At that time, he was working for MOS Technology, one of Commodore' |
- | The 6581 Sound Interface Device | + | |
- | ==== Once upon a time ==== | + | //Because of its hectic phase of development, |
- | < | + | // |
- | In 1982 Bob Yannes, who would later co-found Ensoniq, was given the task of developing a soundchip for the Commodore 64 in the shortest possible time. At that time, he worked at MOS Technology, one of Commodore' | + | |
+ | // | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ===== MOS6581 SOUND INTERFACE DEVICE (SID) ===== | ||
+ | The 6581 Sound Interface Device (SID) is a single-chip, 3 voice electronic music synthesizer/ | ||
- | ==== Features ==== | + | ===== Features |
{{ mos6581.png}} | {{ mos6581.png}} | ||
* 3 Tone oscillators 3 Tone Oscillators, | * 3 Tone oscillators 3 Tone Oscillators, | ||
Line 42: | Line 53: | ||
* External Audio Input | * External Audio Input | ||
- | ==== SID internal Diagram ==== | + | ===== SID internal Diagram |
{{SID_diagram.JPG? | {{SID_diagram.JPG? | ||
Line 53: | Line 64: | ||
- | ==== SID Control registers ==== | + | ===== SID Control registers |
There are 29 eight-bit registers in SID which control the generation of sound. | There are 29 eight-bit registers in SID which control the generation of sound. | ||
Line 90: | Line 101: | ||
- | ==== SID Registers Description ==== | + | ===== SID Registers Description |
Comprehensive description of the MOS6581 registers is given herebelow. | Comprehensive description of the MOS6581 registers is given herebelow. | ||
- | === 1 - Freq Low & Hi === | + | ==== 1 - Freq Low & Hi ==== |
^ Zone ^ Register | ^ Zone ^ Register | ||
| Voice X | | | Voice X | | ||
Line 101: | Line 112: | ||
Together these registers form a 16-bit number which linearly controls the Frequency of Oscillator 1. The frequency is determined by the following equation: | Together these registers form a 16-bit number which linearly controls the Frequency of Oscillator 1. The frequency is determined by the following equation: | ||
- | Fout = (Fn * Fclk/ | + | < |
Where Fn is the 16-bit number in the Frequency registers and Fclk is the system clock applied to the Ø2 input (pin 6). For a standard 1.0 Mhz clock, the frequency is given by: | Where Fn is the 16-bit number in the Frequency registers and Fclk is the system clock applied to the Ø2 input (pin 6). For a standard 1.0 Mhz clock, the frequency is given by: | ||
Line 118: | Line 129: | ||
**Note :** Those 16 bits are in fact the LSBs of the 24 bit phase accumulator of each Voices. | **Note :** Those 16 bits are in fact the LSBs of the 24 bit phase accumulator of each Voices. | ||
- | === 2 - PW Low & Hi === | + | ==== 2 - PW Low & Hi ==== |
^ Zone ^ Register | ^ Zone ^ Register | ||
| Voice X | | | Voice X | | ||
Line 136: | Line 147: | ||
- | === 3 - Control Register === | + | ==== 3 - Control Register |
^ Zone ^ Register | ^ Zone ^ Register | ||
| Voice X | | | Voice X | | ||
Line 147: | Line 158: | ||
| 3 | '' | | 3 | '' | ||
- | == Gate (Bit 0)== | + | === Gate (Bit 0)=== |
The GATE bit controls the Envelope Generator for Voice X. When this bit is set to a one, the Envelope Generator is Gated (triggered) and the ATTACK/ | The GATE bit controls the Envelope Generator for Voice X. When this bit is set to a one, the Envelope Generator is Gated (triggered) and the ATTACK/ | ||
- | == Sync (Bit 1) == | + | === Sync (Bit 1) === |
The SYNC bit, when set to a one, Synchronizes the fundamental frequency of Oscillator X with the fundamental frequency of Oscillator Y, producing “Hard Sync” effects. Varying the frequency of Oscillator X with respect to Oscillator Y produces a wide range of complex harmonic structures from Voice X at the frequency of Oscillator Y. In order for sync to occur Oscillator Y must be set to some frequency other than zero but preferably lower than the frequency of Oscillator X. No other parameters of Voice Y have any effect on sync. | The SYNC bit, when set to a one, Synchronizes the fundamental frequency of Oscillator X with the fundamental frequency of Oscillator Y, producing “Hard Sync” effects. Varying the frequency of Oscillator X with respect to Oscillator Y produces a wide range of complex harmonic structures from Voice X at the frequency of Oscillator Y. In order for sync to occur Oscillator Y must be set to some frequency other than zero but preferably lower than the frequency of Oscillator X. No other parameters of Voice Y have any effect on sync. | ||
Line 157: | Line 168: | ||
* '' | * '' | ||
- | == Ring Mod (Bit 2) == | + | === Ring Mod (Bit 2) === |
The RING MOD bit, when set to a one, replaces the Triangle waveform output of Oscillator X with a “Ring Modulated” combination of Oscillators X and X. Varying the frequency of Oscillator X with respect to Oscillator X produces a wide range of non-harmonic overtone structures for creating bell or gong sounds and for special effects. | The RING MOD bit, when set to a one, replaces the Triangle waveform output of Oscillator X with a “Ring Modulated” combination of Oscillators X and X. Varying the frequency of Oscillator X with respect to Oscillator X produces a wide range of non-harmonic overtone structures for creating bell or gong sounds and for special effects. | ||
In order for ring modulation to be audible, __the Triangle waveform of Oscillator X must be selected__ and Oscillator Y must be set to some frequency other than zero. No other parameters of Voice Y have any effect on ring modulation. | In order for ring modulation to be audible, __the Triangle waveform of Oscillator X must be selected__ and Oscillator Y must be set to some frequency other than zero. No other parameters of Voice Y have any effect on ring modulation. | ||
Line 165: | Line 176: | ||
* '' | * '' | ||
- | == Test (Bit 3) == | + | === Test (Bit 3) === |
The TEST bit, when set to a one, resets and locks Oscillator X at zero until the TEST bit is cleared. The Noise waveform output of Oscillator X is also reset and the Pulse waveform output is held at a DC level. Normally this bit is used for testing purposes, however, it can be used to synchronize Oscillator X to external events, allowing the generation of highly complex waveforms under real-time software control. | The TEST bit, when set to a one, resets and locks Oscillator X at zero until the TEST bit is cleared. The Noise waveform output of Oscillator X is also reset and the Pulse waveform output is held at a DC level. Normally this bit is used for testing purposes, however, it can be used to synchronize Oscillator X to external events, allowing the generation of highly complex waveforms under real-time software control. | ||
- | == Triangle Wave (Bit 4) == | + | === Triangle Wave (Bit 4) === |
When set to a one, the Triangle waveform output of Oscillator X is selected. The Triangle waveform is low in harmonics and has a mellow, flute-like quality. | When set to a one, the Triangle waveform output of Oscillator X is selected. The Triangle waveform is low in harmonics and has a mellow, flute-like quality. | ||
The sound of the Triangle wave is 3dB lower than the other sources, the MSB of the internal phase accumulator is used to elaborate the waveform by storing the sign of the wave. | The sound of the Triangle wave is 3dB lower than the other sources, the MSB of the internal phase accumulator is used to elaborate the waveform by storing the sign of the wave. | ||
- | == Sawtooth Wave (Bit 5) == | + | === Sawtooth Wave (Bit 5) === |
When set to a one, the Sawtooth waveform of Oscillator X is selected. The sawtooth waveform is rich in even and odd harmonics and has a bright, brassy quality. | When set to a one, the Sawtooth waveform of Oscillator X is selected. The sawtooth waveform is rich in even and odd harmonics and has a bright, brassy quality. | ||
- | == Square Wave (Bit 6) == | + | === Square Wave (Bit 6) === |
When set to a one, the Pulse waveform output of Oscillator X is selected. The harmonic content of this waveform can be adjusted by the Pulse Width registers, producing tone Qualities ranging from a bright, hollow square wave to a nasal, reedy pulse. Sweeping the pulse width in real-time produces a dynamic “phasing” effect which adds a sense of motion to the sound. Rapidly jumping between different pulse widths can produce interesting harmonic sequences. | When set to a one, the Pulse waveform output of Oscillator X is selected. The harmonic content of this waveform can be adjusted by the Pulse Width registers, producing tone Qualities ranging from a bright, hollow square wave to a nasal, reedy pulse. Sweeping the pulse width in real-time produces a dynamic “phasing” effect which adds a sense of motion to the sound. Rapidly jumping between different pulse widths can produce interesting harmonic sequences. | ||
- | == Noise (Bit 7) == | + | === Noise (Bit 7) === |
When set to a one, the Noise output waveform of Oscillator X is selected. This output is a random signal which changes at the frequency of Oscillator X. The sound quality can be varied from a low rumbling to hissing white noise via the Oscillator X Frequency registers. Noise is useful in creating explosions, gunshots, jet engines, wind, surf and other un-pitched sounds, as well as snare drums and cymbals. Sweeping the Oscillator frequency with Noise selected produces a dramatic rushing effect. One of the output waveforms must be selected for Oscillator X to be audible, however it is NOT necessary to deselect waveforms to silence the output of Voice X. The amplitude of Voice X at the final output is a function of the Envelope Generator only. | When set to a one, the Noise output waveform of Oscillator X is selected. This output is a random signal which changes at the frequency of Oscillator X. The sound quality can be varied from a low rumbling to hissing white noise via the Oscillator X Frequency registers. Noise is useful in creating explosions, gunshots, jet engines, wind, surf and other un-pitched sounds, as well as snare drums and cymbals. Sweeping the Oscillator frequency with Noise selected produces a dramatic rushing effect. One of the output waveforms must be selected for Oscillator X to be audible, however it is NOT necessary to deselect waveforms to silence the output of Voice X. The amplitude of Voice X at the final output is a function of the Envelope Generator only. | ||
__NOTE:__ The oscillator output waveforms are NOT additive. If more than one output waveform is selected simultaneously, | __NOTE:__ The oscillator output waveforms are NOT additive. If more than one output waveform is selected simultaneously, | ||
- | === 4 - Attack / Decay / Sustain / Release === | + | ==== 4 - Attack / Decay / Sustain / Release |
^ Zone ^ Register | ^ Zone ^ Register | ||
| Voice X | | | Voice X | | ||
Line 226: | Line 237: | ||
NOTE: Envelope rates are based on a 1.0 Mhz Ø2 clock. For other Ø2 frequencies, | NOTE: Envelope rates are based on a 1.0 Mhz Ø2 clock. For other Ø2 frequencies, | ||
- | === Filter Freq Low & High === | + | ==== 5 - Filter Freq Low & High ==== |
^ Zone ^ Register | ^ Zone ^ Register | ||
| Filter | | Filter | ||
Line 232: | Line 243: | ||
Together these registers form an 11-bit number (bits 3-7 of FC LO are not used) which linearly controls the Cutoff (or Center) Frequency of the programmable Filter. The approximate Cutoff Frequency ranges between 30Hz and 10KHz with the recommended capacitor values of 2200pF for CAP1 and CAP2. The frequency range of the Filter can be altered to suit specific applications. Refer to the Pin Description section for more information. | Together these registers form an 11-bit number (bits 3-7 of FC LO are not used) which linearly controls the Cutoff (or Center) Frequency of the programmable Filter. The approximate Cutoff Frequency ranges between 30Hz and 10KHz with the recommended capacitor values of 2200pF for CAP1 and CAP2. The frequency range of the Filter can be altered to suit specific applications. Refer to the Pin Description section for more information. | ||
- | === Filter Res & Signal Source Routing === | + | ==== 6 - Filter Res & Signal Source Routing |
^ Zone ^ Register | ^ Zone ^ Register | ||
| Filter | | Filter | ||
Line 247: | Line 258: | ||
| Filter | | Filter | ||
- | === Mode & Volume Control === | + | ==== 7 - Mode & Volume Control |
^ Zone ^ Register | ^ Zone ^ Register | ||
| Filter | | Filter | ||
Line 269: | Line 280: | ||
**Bits 0-3 : VOL0-VOL3** select 1 of 16 overall Volume levels for the final composite audio output. The output volume levels range from no output (0) to maximum volume (15 or #F) in 16 linear steps. This control can be used as a static volume control for balancing levels in multi-chip systems or for creating dynamic volume effects, such as Tremolo. Some Volume level other than zero must be selected in order for SID to produce any sound. | **Bits 0-3 : VOL0-VOL3** select 1 of 16 overall Volume levels for the final composite audio output. The output volume levels range from no output (0) to maximum volume (15 or #F) in 16 linear steps. This control can be used as a static volume control for balancing levels in multi-chip systems or for creating dynamic volume effects, such as Tremolo. Some Volume level other than zero must be selected in order for SID to produce any sound. | ||
+ | |||
+ | ==== 8 - Miscelaneous Inputs ==== | ||
=== POTX / POTY === | === POTX / POTY === | ||
+ | |||
^ Zone ^ Register | ^ Zone ^ Register | ||
| Inputs | | Inputs | ||
Line 287: | Line 301: | ||
Same as OSC 3, but this register allows the microprocessor to read the output of the Voice 3 Envelope Generator. This output can be added to the Filler Frequency to produce harmonic envelopes, WAH WAH, and similar effects. “Phaser” sounds can be created by adding this output to the frequency control registers of an oscillator. The Voice 3 Envelope Generator must be gated in order to produce any output from this register. The OSC 3 register, however, always reflects the changing output of the oscillator and is not affected in any way by the Envelope Generator. | Same as OSC 3, but this register allows the microprocessor to read the output of the Voice 3 Envelope Generator. This output can be added to the Filler Frequency to produce harmonic envelopes, WAH WAH, and similar effects. “Phaser” sounds can be created by adding this output to the frequency control registers of an oscillator. The Voice 3 Envelope Generator must be gated in order to produce any output from this register. The OSC 3 register, however, always reflects the changing output of the oscillator and is not affected in any way by the Envelope Generator. | ||
+ | ===== SID Pinout and Connection ===== | ||
+ | |||
+ | Pins decription can be found herebelow. Consider jumping to next section for maximum ratings. | ||
+ | |||
+ | ==== Power Supply ==== | ||
+ | SID power consumption during normal operation is around 600mW. Expect a little more from a 6581 (around 650mW), and less from 6582 and 8580 (around 550W). | ||
+ | The SID shall heat a lot during operation. The design of the analog part of the chip has been improved from 6581 to 6582/8580, allowing to reduce the operating voltage of the chip, and at the same time lowering its consumed power. | ||
+ | |||
+ | This also means that 6581 and 6582/8580 __are not compatible__. The power voltages listed below shall be respected, otherwise SID might be damaged. | ||
+ | |||
+ | === VCC - Pin 25 === | ||
+ | This pin shall be powered by a 5V DC coupled power supply. | ||
+ | About 70mA is drawn from VCC during normal operation. Coupling capacitor of at least 10uf and filtering capacitor of 100nf are recommended for proper operation. | ||
+ | |||
+ | |||
+ | === VDD - Pin 28 === | ||
+ | This pin shall be connected to either 9V or 12V DC coupled power supply, according to your SID chip version: | ||
+ | |||
+ | ^ SID Model ^ VDD Voltage | ||
+ | | 6581 | 12V | 25mA | | ||
+ | | 6582 | 9V | ::: | | ||
+ | | 8580 | ::: | ::: | | ||
+ | |||
+ | Filtering capacitor of 100nf is recommended. | ||
+ | === GND - Pin 14 === | ||
+ | Signal Grounds. To lower the noise, the ground shall be connected and routed on the analog part of the design. |
mos6581.txt · Last modified: 2018/08/26 09:36 by 127.0.0.1