We make the parts that set creative people free Features General Description G The AL3201B (SCR, or Single Chip Reverb) is a one chip reverb solution that is compact, easy to use, and yet quite powerful. Built-in DRAM eliminates the need for wide bus connections to external RAM, and the choice of built-in programs and a user programmable RAM allows instant usability or custom program design. G G G G G G 16 internal ROM programs consisting of halls, rooms, plates, delays, chorus, flange, vocal cancel, and rotary speaker emulation. Serially programmable SRAM (Writable Control Store - WCS) for program development or dynamically changing programs Programs run at 128 instructions per word clock. (6 MIPS @ 48kHz sampling frequency.) 32k location DRAM provides over 0.68s of delay at 48kHz sampling frequency. Internal crystal oscillator circuit eliminates need for discrete external passive components. Internal voltage regulators allow operation from 5.5V down to 3.0V VDD. Internal 1000pF bypass capacitor to reduce voltage swings at the rails. Applications Int/Ext XtalIn XtalOut Prog0/SData Prog1/SClk Prog2 8 Prog3 AL3201B SCR 1 DigOut 16 Personal stereos with reverb functions. Extremely portable guitar effects boxes. Karaoke machines utilizing the vocal cancel program. Hardware reverb effects for computer sound cards. Ambience settings for car stereos. DigIn VDD Bypass Gnd Reset SysClk BitClk 9 G G G G G WordClk 16 pin SOIC 300 mils wide Alesis Semiconductor 12555 Jefferson Blvd., Suite 285 Los Angeles, CA 90066 Phone (310) 301-0780 Fax (310) 306-1551 www.alesis-semi.com DS3201-0402 Electrical Characteristics and Operating Conditions Parameter Description Condition Min Electrical Characteristics and Operating Conditions VDD 5 IDD Gnd 3 FS Temp Typ Max 3.0 9 24 1 0 5.0 10 0.0 48 25 5.5 11 50 1 70 V mA V kHz C 0.9 VDD - VDD 0 - 0.05 VDD -8.0 8.0 V V mA mA Supply Voltage Supply Current : SCR Ground Sample rate Temperature Units Outputs (DigOut, SysClk, BitClk, WordClk) VOH VOL IOH IOL Logical Logical Logical Logical "1" "0" "1" "0" output output output output voltage voltage current current Unloaded Unloaded VDD=5V VO=4.5V VDD=5V VO=0.4V ____________ ___ _____________ ______ ______ _ Inputs (DigIn, Int/Ext, Prog0/Sdata, Prog1/SClk, Prog2, Prog3, Reset)2,4 VIH Logical "1" input voltage 2.5 VDD V VIL Logical "0" input voltage 0 0.5 V VDD=VIH=5V 2 IIH Logical "1" input current A No pullup pin IIL Logical "0" input current 2 A Pullup pin, Vin=0 IILP Logical "0" input current 83 167 333 A CIN Input Capacitance 2.0 pF Notes: 1. Changing the sample rate (by changing the crystal frequency) will change the maximum delay available through the DRAM proportionally. Low sample rates require more refresh instructions. 2. XtalIn, XtalOut are special pins designed to be connected to a crystal. XtalOut is a relatively weak pin (about 0.2 mA) and should not be used to drive external circuits. Instead of using a crystal, XtalIn may be driven by a standard VDD to Gnd logic signal, but the logic levels are not specified. 3. All other voltages are relative to Gnd. 4. Bypass (pin 14) must never exceed 3.6V 5. If VDD will always be below 3.6V (including the effects of ripple, spikes, etc.) then the Bypass pin should be connected to VDD. Pin Descriptions: AL3201B SCR Pin # Name Pin Type 1 DigOut Output 2 3 Int/Ext XtalIn 4 XtalOut 5 Prog0/SData 6 (*: Pullup to VDD via nominal internal 30k resistor) Description Digital serial output for stereo DAC. ______________ Input* Internal/external program selection. 1:Internal, 0:External. Input 12.288MHz crystal input.1 Output 12.288MHz crystal output.1 Bidirectional* Internal program select 0 / serial interface data line. Prog1/SClk Input* Internal program select 1 / serial interface clock line. 7 Prog2 Input* Internal program select 2. 8 Prog3 Input* Internal program select 3. 9 WordClk Output Word clock output. 10 BitClk Output Bit clock output. 11 SysClk Output System clock output. _________ ______ ______ 12 13 Reset Gnd 14 Bypass 15 VDD Input Ground 2 Bidirectional Power Active low reset. Ground connection. Connect 0.1F bypass capacitor to Gnd for internal regulator. VDD power pin. Connect 0.1F capacitor to Gnd. 16 DigIn Input Digital serial input from stereo ADC. Note: 1. Internal 18pF capacitor to ground. Internal 120k resistor between Xtal pads. 2. If VDD will always be below 3.6V (including the effects of ripple, spikes, etc.) then the Bypass pin should be connected to VDD. Alesis Semiconductor 12555 Jefferson Blvd., Suite 285 Los Angeles, CA 90066 Phone (310) 301-0780 Fax (310) 306-1551 www.alesis-semi.com -2- DS3201-0402 Block Diagram Mechanical Specification C 16 9 1 8 B A Dimensions (Typical) Inches Millimeters .406" 10.31 .295" 7.49 .407" 10.34 .100" 2.50 .008" 0.20 .025" 0.64 .050" 1.27 .017" 0.42 .011" 0.27 .340" 8.66 .033" 0.83 A B C D E F G H J K L Notes: 1) Dimension "A" does not include mold flash, protrusions or gate burrs. 7 n om K 4 n om D H E J G F Alesis Semiconductor 12555 Jefferson Blvd., Suite 285 Los Angeles, CA 90066 Phone (310) 301-0780 Fax (310) 306-1551 www.alesis-semi.com -3- DS3201-0402 L Internal Programs The SCR comes with 16 internal ROM programs ready to go, utilizing the skills and techniques of the Alesis Studio Electronics effects processor programmers. By setting the chip to internal mode, the four program pins may be used to select between the different algorithms. Program List Prog[3:0] Name Description 0110 Hall 1 Bright hall reverb for drums, guitars, and vocals. 0010 Hall 2 Warm hall for acoustic guitars, pianos, and vocals. 1010 Room 1 Hardwood studio for acoustic instruments. 1110 Room 2 Ambience for acoustic mixes and synth sounds. 1111 Room 3 Warm room for guitars and rhythm instruments. 1011 Plate 1 Classic plate reverb for lead vocals and instruments. 1001 Plate 2 Sizzling bright plate reverb for vocals and drums. 1101 Plate 3 Short vintage plate reverb for snares and guitars. 1100 Chorus Stereo chorus for guitars and pianos. 1000 Flange Stereo flanger for jet wash effects. 0000 Delay 1 125ms slapback delay for vocals and guitars. 0100 Delay 2 190ms delay for percussive arpeggios. 0101 Chorus/Room 1 Chorus with reverb for guitars, synths, and pianos. 0001 Chorus/Room 2 Auto-wah guitar effect with reverb for lead instruments. 0011 Vocal Cancel Removes lead vocals from many stereo recordings. 0111 Rotary Speaker Rotary speaker emulation for organs and guitars. Note: The unusual ordering of the programs allows a 16-position rotary switch's Gray code output to be connected to the program pins. Alesis Semiconductor 12555 Jefferson Blvd., Suite 285 Los Angeles, CA 90066 Phone (310) 301-0780 Fax (310) 306-1551 www.alesis-semi.com -4- DS3201-0402 Programming the RAM Alongside the 16 internal programs is an externally programmable SRAM that is easily accessible through the serial clock and data pins. By setting the chip to external mode, the SClk and SData pins become available for serial communication. Except for its external programmability, there is no functional difference between the SRAM and the internal ROMs. Memory Map Addr Name 128 129 Control/Status 1 Name LFO Coefficients MAC Instructions A simple assembly language is available for writing programs. With the assembler and loader software available from the Alesis Semiconductor website, programs may be developed on the PC and downloaded into the chip. Please refer to the assembly language guide for a full description. LFO Coefficient Word Bit # Description 31 P: Pitch shift mode select (S must be set). 30 S: Sine/triangle select. 1:Triangle; 0: Sine. X[1:0] Xfade X[1:0]: Crossfade 11 1/16 coefficient select. Value indicates the fraction of a 10 1/8 half sawtooth period 01 1/2 used in crossfading. 00 1 F[12:0]: Frequency coefficient, unsigned. 29:28 27:15 1 14:0 A[14:0]: Amplitude coefficient, unsigned. Note: If set, the output waveform is a sawtooth with double the triangle wave's frequency. Sawtooth SIN Sawtooth COS Crossfade 1 Crossfade 1/2 f fmin = (F/M) FS/(2) = (0x1/0x3ffff) (48kHz)/(2) = 0.029Hz = (0x1fff/0x3ffff) (48kHz)/(2) = 239Hz Triangle waves are generated by incrementally adding or subtracting 0x400000*F/M (= 222*F/M) from the maximum internal negative or positive value respectively. Its frequency extrema are then: f = # Samples / # Steps = FS / (4 Max/Increment) = FS / (4 0x7fffff/(222*F/M)) = 48kHz / (8/(0x1/0x3ffff)) fmin = 0.023Hz fmax = 48kHz / (8/(0x1fff/0x3ffff)) = 187Hz When chorus instructions are used, addresses are offset by the output an LFO. The range of this offset is plus and minus A/8 samples, or A/4 samples total. Following the 4 LFO coefficient words are 124 MAC instruction words. These instructions allow the manipulation of the DRAM and the waveforms generated by the LFOs. A good NOP instruction is 0x00030000. This instruction preserves the value in all registers, and is the NOP executed in the MAC during the first four ticks of every sample period while the LFO coefficients are loaded. By judiciously choosing the LFO frequency and waveform with which to sweep through the DRAM, it is possible to generate pitch shifts, flanges, choruses, reverbs, and other effects. Please see application notes for descriptions and examples. fmax Addr WCS RAM 0:3 4:127 Control/Status 0 0:127 The first four instructions in the WCS RAM set the parameters for the four LFOs. The sinusoid generated by the LFOs is of the formula Asin(nF/M) or Acos(nF/M), where n is the time index, F/M = 2f/FS, M is the maximum internal value, f is the selected frequency, and FS is the sampling frequency. Thus the frequency extrema are: Crossfade 1/8 Alesis Semiconductor 12555 Jefferson Blvd., Suite 285 Los Angeles, CA 90066 Phone (310) 301-0780 Fax (310) 306-1551 www.alesis-semi.com -5- DS3201-0402 MAC Instruction Word Bit # Description 31 30:23 22 21:16 15:0 S: Sign bit for multiplier coefficient. C[7:1]: Multiplier coefficient, 2's complement. C[7:0]: Chorus instruction. Only the 7 MSBs are used as multiplier coefficients. The LSB is used in chorus mode. If I[5] is set, C[7:0] is: C Description Chorus/Xfade select: 1: Pass LFO address to address generator & select chorus coefficient. 7 0: Mask LFO address to address generator & select crossfade coefficient. 1's complement the LFO address sign 6 bit. 1 5 1's complement the LFO coefficient. 4 1's complement the LFO address. LFO latch. 1: Latch in new LFO data; 3 0: Hold last LFO data. 2 2:1 LFO select. 0 LFO sine/cosine select. 1: Cos; 0: Sin. W: Write select. 3, 4 I[5:0]: Instruction field. I Description Chorus select (When set, MAC coefficient is LFO block output, LFO 5 address offset added to DRAM address). 4 Clock register C. 3 3 Clock register B. 5 2 Reserved - set to zero. I[1:0] Instruction MAC 11 Acc = Prod + Acc 6 product 1:0 10 Acc = Prod + C 3 instruc01 Acc = Prod + B 5 tion. 00 Acc = Prod + 0 A[15:0]: Multiplicand address. 7, 8 (Currently only lower 15 bits used; reserve MSB for future expansion.) Address 0x0000 = LeftIn/Out; Address 0x0001 = RightIn/Out. 5. 6. 7. 8. instruction with the multiplier coefficient set to 0 to pass all bits unaltered. Register B, if clocked at the end of the tick, will store the value of the current tick's multiplicand. When a read is executed, B latches LeftIn, RightIn, or DRAM. When a write is executed, B latches the accumulator from the last tick. The accumulator contains the result from the last instruction tick, and is updated at the end of the current instruction tick. The internal DRAM address offset automatically decrements by 1 every word clock period. Because addresses 0x0000 and 0x0001 are being used to access the left and right channels, those DRAM memory locations may not be directly written to or read from. Notes: 1. This complement is only for the MSB, and signextension bits are not affected. 2. Upon latching new data, the LFO registers will store the lower or upper LFO pairs' sinusoid/triangle waves, and the lower or upper LFO pairs' crossfade coefficient. I.e. there are two pairs of registers; LFO 0/1's sinusoid /triangle/crossfade will be latched together, and LFO 2/3's sinusoid/triangle/crossfade will be latched together. 3. The LeftOut, RightOut, and C registers are in parallel with the accumulator, and will contain the same value as the accumulator if clocked at the end of the tick. Thus, a write to LeftOut or RightOut will store the current tick's results. 4. A write to DRAM stores the last tick's results into address A. During writes, the multiplicand is set to be the Acc, since A[15:0] is used for the destination address. Writes to LeftOut or RightOut can use the Acc = Product + Acc Alesis Semiconductor 12555 Jefferson Blvd., Suite 285 Los Angeles, CA 90066 Phone (310) 301-0780 Fax (310) 306-1551 www.alesis-semi.com -6- DS3201-0402 Control/Status Word 0 Bit # Description 31:30 Reserved. Set to zero. 29:16 B[13:0]: DRAM read data. 15:11 Reserved. Set to zero. O: MAC overflow. Self-clears after read. Read only. P: Self test pass. Read only. R: Ready indication. Read/write/test/clear complete. M: DigOut mute in external mode. Resets to 1. Z: DRAM zero. Initiates zeroing cycles until deasserted. Resets to 0. 2, 3, 4, 5, 6 X: DRAM zero cancel. Prevents zeroing circuitry from running until deasserted. Overrides Z. Resets to 0. 3 L: LFO reset pulse. Resets LFO internal status registers and clears overflow flag. Self clearing. Resets to 0. I: Instruction RAM direct mode. Resets to 1. 1: Instructions are written/read as soon as received; 0: Instructions are written/read when the address counter rolls around to matching address. 7 Reserved. Set to zero. S[1]: DRAM self test pattern select. 1: Load DRAM with 2AAA/1555 checkerboard; 0: Load DRAM with 1555/2AAA checkerboard. S[0]: DRAM self test initiate. Self-clears after test completion. Resets to 0. 2, 3, 6, 8, 9 10 9 8 7 6 5 4 3 2 1 0 7. 1 Notes: 1. The floating point format used in the DRAM is: E[2:0].S.F[9:0], where E is the exponent, S is the sign bit, and F is the fractional portion. The expansion of the floating point into fixed point is as follows: If E<7, S E*S !S FFFFFFFFFF (8-E)*0 (where E*S means E number of S bits). If E=7, S SSSSSSS FFFFFFFFFF 00. This method encodes one extra bit for sign extensions less than 7 bits. 2. The DRAM zeroing circuitry and DRAM self test circuitry share gates; do not turn more than one on at a time. 3. The DRAM zeroing cycle will run to completion even if Z deasserted. Only the X bit may cancel it mid-cycle. Until the cycle ends, self test results will be inaccurate. Thus do not deassert Z and assert S[0] at the same time. Rather, assert X and S[0] at the same time. Note that Z does not self-clear, and will affect both internal and external mode. 4. After a DRAM zeroing cycle has completed, do not start another for one word clock period. 5. A DRAM zeroing cycle takes approximately 5.33ms to complete with a 12MHz crystal. 6. During DRAM zeroing and test cycles, reads and writes to the DRAM are ignored. 8. 9. For dynamically changing programs, deassert I so that changing the program does not interrupt its execution. Otherwise reads and writes to the Instruction RAM will usurp the address bus to the RAM and cause address jumps in the instruction sequence. With I deasserted, reads and writes to each address may take up to one word clock period to complete. Thus during continuous writes, the start of each instruction word should be at least one word clock period apart, and during reads the serial clock should wait 1 word clock after the address before continuing. The DRAM self test cycle will run to completion even if S[0] is deasserted. It may not be cancelled. A DRAM self test cycle takes approximately 10.66ms to complete with a 12MHz crystal. Control/Status Word 1 Bit # Description 31 30 29:16 15:0 R: Read select. Read data from DRAM address A[15:0] and put data in B of control/status word 0. Self-clears after completion. W: Write select. Write data D[13:0] to DRAM address A[15:0]. Self-clears after completion. D[13:0]: DRAM write data. A[15:0]: DRAM address. The MSB is unused and reserved for future expansion. Note: Reading and writing DRAM will usurp DRAM access for one cycle, possibly disrupting proper code execution. Other notes: 1. When in internal mode, program changes will start a DRAM zero cycle. 2. Resets always start a DRAM zero cycle. 3. To meet refresh requirements below 70 C, access each address (modulo 1024) every 1.34 ms. If program code does not do this, then (at 48 kHz) read 16 locations each cycle spaced 1024/16 = 64 addresses apart, to meet refresh requirements. (For instance, addresses 0x0002, 0x0042, ..., 0x03C2.) 4. ROMs may not be read due to the serial interface becoming the program select interface when in internal mode. 5. Use of Reset is mandatory to obtain proper operation of the AL3201. The 4 word formats: LFO, MAC, CS0, CS1 LFO: PSXXFFFF FFFFFFFF FAAAAAAA AAAAAAAA MAC: SCCCCCCC CWIIIIII AAAAAAAA AAAAAAAA CS0: --BBBBBB BBBBBBBB -----OPR MZXLI-SS CS1: RWDDDDDD DDDDDDDD AAAAAAAA AAAAAAAA Alesis Semiconductor 12555 Jefferson Blvd., Suite 285 Los Angeles, CA 90066 Phone (310) 301-0780 Fax (310) 306-1551 www.alesis-semi.com -7- DS3201-0402 Serial Interface Format The basic format for the micro serial interface is: Attn Sel R/W A7 A6 A5 A4 A3 A2 A1 A0 DN DN-1 DN-2 ... D2 D1 D0 Attn Desel Attn: Sel/Desel: R/W: A 0-1-0 is used to signal attention/start. 0:Select; 1:Deselect. A7 - A0: 0:Read; 1:Write DN - D0: Notes: 1. There is a short period of High-Z during a read between A0 and the first data bit shifted out. This period must be at least 5 system clocks long, 1 word clock long if not in direct mode (CS0[3]). 2. 3. Address Data As long as data is being sent during a write, the address will be automatically incremented. Therefore only a start address need be sent. The phase of the clock is unimportant. Alesis Semiconductor 12555 Jefferson Blvd., Suite 285 Los Angeles, CA 90066 Phone (310) 301-0780 Fax (310) 306-1551 www.alesis-semi.com -8- DS3201-0402 Write mode only DigIn/DigOut Interface Format Suggested Connections Alesis Semiconductor 12555 Jefferson Blvd., Suite 285 Los Angeles, CA 90066 Phone (310) 301-0780 Fax (310) 306-1551 www.alesis-semi.com -9- DS3201-0402 NOTICE Alesis Semiconductor reserves the right to make changes to their products or to discontinue any product or service without notice. All products are sold subject to terms and conditions of sale supplied at the time of order acknowledgement. Alesis Semiconductor assumes no responsibility for the use of any circuits described herein, conveys no license under any patent or other right, and makes no representation that the circuits are free of patent infringement. Information contained herein are only for illustration purposes and may vary depending upon a user's specific application. While the information in this publication has been carefully checked, no responsibility is assumed for inaccuracies. Alesis Semiconductor products are not designed for use in applications which involve potential risks of death, personal injury, or severe property or environmental damage or life support applications where the failure or malfunction of the product can reasonably be expected to cause failure of the life support system or to significantly affect its safety or effectiveness. All trademarks and registered trademarks are property of their respective owners. Contact Information: Alesis Semiconductor 12555 Jefferson Blvd., Suite 285 Los Angeles, CA 90066 Phone: (310) 301-0780 Fax: (310) 306-1551 Email: sales@alesis-semi.com Copyright 2003 Alesis Semiconductor Datasheet March 2003 Reproduction, in part or in whole, without the prior written consent of Alesis Semiconductor is prohibited. Alesis Semiconductor 12555 Jefferson Blvd., Suite 285 Los Angeles, CA 90066 Phone (310) 301-0780 Fax (310) 306-1551 www.alesis-semi.com - 10 - DS3201-0402