source for A/D and D/A converters?

Started by Benny, August 31, 2004, 04:47:20 PM

Previous topic - Next topic

Benny

Hello,

Does anyone know a good source for A/D and D/A converters?  I'm looking to build a hybrid delay pedal, basically replacing the BBD in a triditional design with an A/D->SRAM->D/A setup.  The whole thing would be controlled by a PIC, which would drive the control signals for the chips and the RAM address.  No DSP here, just using the RAM for storage and the level/repeat controls would be in the analog domain.

I'm having trouble finding suitable converters, the 8-bit ones are cheap but will be too lo-fi I think.  Browsing through the Mouser/Digikey catalogs I have found some (expensive!) 16-bit converters, but at that price I might as well by a tube of MN300x's and forget the digital thing completely!  :shock:

Anyway, my criteria is that the converters be >=12 bits, parallel I/O, DIP package.  Any help is appreciated...

Benny

travissk

Have you settled on a PIC type? Some of them have built in ADC that can get up to 12+ bits as I recall.

I can't offer any experience with different converters, but here's a list I bookmarked at one point:
http://www.chipcatalog.com/Cat/369.htm

They tend to be pretty expensive. Analog Device's new (ish?) 1866 ADC is available in a PDIP, but it costs $12 in quantities of 100.

http://www.analog.com/Analog_Root/productPage/pdbPage/0,2122,generic%253DAD1866%2526level4%253D%25252D1%2526Language%253DEnglish%2526level1%253D117%2526level2%253D135%2526level3%253D%25252D1%2526PDBInd%253DM,00.html

travissk

Found a cheaper one - 12 bit resolution; may or may not suit your needs (didn't read the specs too much)

http://focus.ti.com/docs/prod/folders/print/ads1286.html

I'll leave more suggestions to anyone who's done DIP packaged ADC/DAC.

Edit: Sorry, TI has different categories for audio:

Audio ADC:

Edit: trimmed the url's because they were wreaking havoc with the post :)
Edit2: That broke them just go
here and go to the bottom.

Chico

Order free samples.  Try TI, Maxim, Analog Devices and anyone else that you can think of.  I have gotten some real nice chips free simply by asking for them.  Most all manufacturers have parametric charts on their web sites that aid in chip selection.  That said, it is becoming more and more difficult to find certain high end chips with parallel I/0 and  pdip.  I do not know about PICs off hand, but SPI and I2C aka TWI are easy to implement on an AVR and that may open up your chip selection.  If anything, it lowers pin count thus footprint.

Also, I do not know your project design objectives, but if your requirements of a >12 bit convertor are not stuck in mud, then many options come to mind.

First, use a PT2399.  This is a digital chip that handles the delay, A/D and D/A for you.  You can get those chips readily from Small Bear Elec. for dirt cheap.  I have a PT80 build on my pedal board currently and think the delay sounds nice.  The only real bummer for some users may be delay time.  I do not see why these chips could be combined however.


Second try the 8 bit approach, and use companding on the delay line, eg NE571 circuits.  Keep in mind that as long as the delay is not very dynamic, 8 bits might sound fine.  Further, it seams that often folks criticize pristine delay as sounding too clinical.  Maybe some lo fi delay would work.  It really depends upon what you are looking for.  If you have the chips, why not give it a try.

third, use a PIC with built in convertors. (Do they exist?)  Atmel makes a chip that will do 10 bits at 30 khz sampling.  That may be close enough.

fourth, and my DIY favorite, build your own.  There are several DIY approaches floating around here for delta sigma types of modulators.   The basic recipe is audio into comparator into flip flop into shift register to ram.  You can crank up the sample rates of this type of circuit to respectable bit resolutions.  Then, you could pwm the output.  Or build your own R2R network  Decidedly diy but it just might work and it would be fun.

Alternatively, if your PIC has a comparator, why not roll your own ADC directly with the PIC?

I look forward to seeing your new delay project around here some time.

Best regards

Tom

DaveTV

Not sure if this is helpful, but I was able to get free sample A/D and D/A converters from Wavefront Semiconductor for use with their AL3201 Reverb chip.

Wavefront used to be Alesis Semiconductor. Both chips are 24-bit.

Paul Perry (Frostwave)

Few (if any) current production D/A and A/D are being done in DIP.
That's why my Sonic Alienator had to go surface mount.
I wonder whether any obsolete audio cards have anything useful? Must be a hell of a lot of them going to landfill..

Benny

Thanks for all the responses!  Unfortunately this confirms my suspicion that a cheap source of parallel I/O, PDIP packaged converters may not exist.  That said, there are a lot of great alternative ideas in this thread.

I'll give a little more info on my initial design requirements... basically I wanted to take advantage of cheap control (PIC) and storage (SRAM) elements.  The easiest way I could think to do this was to connect a common data bus between the converters and the SRAM, and control the cs/wr/addr signals with the PIC.  No issues with clock speed, parallel I/O is fast and even with a modest speed PIC the whole thing would operate at a sampling rate well above the audio range.

Now I'm thinking it makes sense to investigate a serial I/O solution as well.  It turns out that Microchip makes a line of cheap ($1-2) serial (SPI) compatible 12-bit converters.  I haven't done the math here, but it should be possible to maintain, say, a 20kHz sampling rate even with the increased access time due to the serial interface.  Depending on the RAM interface (anyone know of any serial SRAM's?), it might require a faster PIC.  But the reduced area/pin count makes this an attractive solution.  Maybe I can even get rid of the discrete A/D and use the PIC's internal converter as travissk points out.

I will do some more research and report back when I have a plan of action.  Maybe I'll try to get some sample parts and stick to the original plan, or maybe change to the serial method.  Thanks again for the help!

Benny

R.G.

QuoteI'm having trouble finding suitable converters,
Welcome to the club. I have plowed this field a bit. Some tidbits:

- each bit of digitization adds 6db of signal to noise. 1 bit = 6db signal to noise - ugh! Eight bits = 48db, which is audible as sound, but nasty.  12 bits is 72 db, and 16 bits is 96 db, the claimed s/n for CDs. 12 bits is tolerable, but not great.

- The PIC is NOT fast enough to capture and replay high fidelity audio with the onboard A/D setup, even the several MHz chips. Been there, got the T shirt. Maybe some of the latest PICs, but the simple, cheap ones can't.

- for single bit-wide stuff, the best thing to do is to use a PGA to implement the sigma/delta as mentioned and single bit dynamic memory addressing and multiplexing; program *that* with a PIC that handles the user interface and controls.

- there are genuinely cheap, effective, high resolution, high performance A/D/A converters available for a couple of bucks apiece. They are customized for use in a PC sound setup and a PIC is once again, not fast enough to handle their needs in real (audio) time, and the interface is too complicated for simple PGA hacking into and out of a cheap memory chip. Essentially, they need an X86 processor on the other side of the bus to keep them running and popping stuff into and out of PC style memory.

It is quite frustrating. I have pretty much come to the conclusion that if such converters existed and were simple to use, then the economics of digital versus analog would mean that all commercial delays would already use them, and that we'd already have designs for them in the schematics piles. Hence, they probably don't exist. They are certainly well hidden, and I've looked several times, over the last ten years.
R.G.

In response to the questions in the forum - PCB Layout for Musical Effects is available from The Book Patch. Search "PCB Layout" and it ought to appear.

Paul Perry (Frostwave)

RG is of course right. The problem is, trying to get cheap, parallel, and high bit number is like the old joke about work: you can have a job that is interesting, well paid, or legal, but you can't have all three at once.  :wink:

Peter Snowberg

There are the brand new dsPIC chips that can finally accomplish this task.

The Wavefront chips are VERY cool, but it takes special tricks to get any delay system with echos longer than 0.68 seconds. You'll have to write the code too which adds expense.

A while back somebody gave me a big pile of FIFOs that included 1K, 2K, 8K, 32K and a few 64K x 8 devices. Unfortunatly I can't find the 8K, 32K or 64K devices now. :(

These are as close as you can get to a digital BBD.

Technically the serial A/D/A is very easy to interface to the parallel world using shift registers and latches. The data format is very straight forward with a data line, a bit clock, and a left/right clock that comes from the bitclock/64. That cuts the overhead on the CPU and allows for using cheap A/D/A, but the latches and shift registers get big and clumsy because you also need counters to synchronize the loading of the latches. On the real plus side though, now you can use three 8 bit RAMs in parallel and then add Wavefront's super-cheap 24 bit serial A/D and D/A :D . If you use presetable counters instead of latches to generate the address, you can preset the counters with a few PIC instructions, and then increment them as needed by toggling the counter clock which takes only two instructions. :D Of course you don't get 24 bits out of that chip, but the sound is really good as far as my DIY-DSP prototypes have gone. The basic recipe is 48K A/D/A and 20 bit dynamic range with NE5532s sounds pretty good. :D

I'll be realistic here.... this is a big pain in the butt circuit to assemble if you don't do it in CAD on a two layer board with plated throughs.

I got the T-shirt too. :D

There is another option that I have not seen done yet so it's going to be my big contribution to the DIY world until I can get my DSP stuff done. Details to follow very soon. 3.2 or 6.4 seconds of delay using adaptive delta modulation, DRAM, current production chips (except for the DRAM, 256K SIMMs are cheap though), no programmable parts (i.e. MPU/DSP/Flash/E2PROM) and with 8 or 9 chips!  :shock:

I think everything beyond the DRAM can be obtained from Smallbear. 8) I also have plenty of give-away DRAM. I just need to save up a little more money. :?
Eschew paradigm obfuscation

The Tone God

I got the T-shirt too (mine's tie dye) and the coffee mug.

I'm sure when a beginner looks at a block diagram for a delay they see, A/D, D/A, memory, processor, clock, etc. Looks easy enough but they don't do the math as far as what the processor needs in term of power.

PICs and other similar processors while fairly easy to program and can do the neccessary tasks may look like the solution but they just don't have the power to do it. The best I could get out of those things was mildly crappy playback. Delay is beyond the capabilties of these devices. Otherwise you would be finding loads of cheap delays using these devices everywhere.

This is a case where you should take a hint from the big boys who are always looking for cheaper/easier ways to do things, if they ain't doing it that way then there maybe a reason.

Andrew

Benny

Thanks guys, I appreciate all your advice and experience.  I can't wait to get my T-shirt and join the club.  :wink:

QuoteI'm sure when a beginner looks at a block diagram for a delay they see, A/D, D/A, memory, processor, clock, etc. Looks easy enough but they don't do the math as far as what the processor needs in term of power.

I may be wrong here, but I don't think the processor needs much power at all in the first case I described.  If the sampling rate is 20kHz, that's a 50us budget for an A/D conversion, RAM write, RAM read, and D/A conversion.  It is a design requirement that the converters can support this rate.  A PIC16F72 running at 20MHz has a 200ns instruction cycle, or 250 instructions per 50us sample.  That should be more than adequate to perform the I/O sequence above, bump the r/w pointers, etc.  Remember that I don't want the PIC to do anything to the data; it is for control only.  The only components on the data bus are the converters and the SRAM.  Repeat/level control is all done through analog feedback.  If that were to be moved into the digital domain, the PIC just wouldn't cut it.

QuoteThis is a case where you should take a hint from the big boys who are always looking for cheaper/easier ways to do things, if they ain't doing it that way then there maybe a reason.

Maybe so, but I have different requirements than the big boys.  I'm not building in production quantities, and the learning experience is just as important to me as the result.  I haven't built many microcontroller systems since college and I need to get back into it.  Hopefully I'll learn something along the way that can help out others here.

Benny

R.G.

QuoteI may be wrong here, but I don't think the processor needs much power at all in the first case I described. If the sampling rate is 20kHz, that's a 50us budget for an A/D conversion, RAM write, RAM read, and D/A conversion. It is a design requirement that the converters can support this rate. A PIC16F72 running at 20MHz has a 200ns instruction cycle, or 250 instructions per 50us sample. That should be more than adequate to perform the I/O sequence above, bump the r/w pointers, etc.
Yep, correct. If you can get a parallel A->D->RAM->D->spliced together with enough logic glue to automate the signal path, and all the PIC is doing is computing the next address, it oughta work fine. My comments were based on my experience that no ADA setup I've found produces (a) sampling at audio-capable rates (b) parallel output (c) reasonably easy controllable addressing and sequencing (d) for a reasonable price (e) in a non-surface mount package (f) and is readily available (g) for someone not plugged directly into the bowels of the industry.

That doesn't mean and I don't mean to imply that they don't in fact exist. That is just my suspicion that since I tend to find myself a day late and a dollar short compared to professional effects designers that actually get paid to do this stuff every day, if both I can't find one (and I am a fairly good searcher for this kind of stuff) and I don't see it being done in the pros work, that it isn't readily available, and may not be available at all.

I did find a lot of stuff that violates one or more of the conditions above.  As you have found, that is quite frustrating.

QuoteRemember that I don't want the PIC to do anything to the data; it is for control only. The only components on the data bus are the converters and the SRAM. Repeat/level control is all done through analog feedback. If that were to be moved into the digital domain, the PIC just wouldn't cut it.
Yep. We all understand that.

QuoteI can't wait to get my T-shirt and join the club... but I have different requirements than the big boys. I'm not building in production quantities, and the learning experience is just as important to me as the result. I haven't built many microcontroller systems since college and I need to get back into it. Hopefully I'll learn something along the way that can help out others here.
I sense that we may have offended you.  Certainly on my part it was unintentional.

I, and I suspect we, were just trying to save you some steps that we've already expended. I think we were just trying to tell you that the concept has been previously been explored a bit, and so far we haven't been able to come up with a practical solution to what you asked about.

I for one would love to see a 40kHz sampling rate, 16 bit A/D/A converter with built-in input and output analog sampling that had compatible input and output code sequences and no polluting control words in the data frames coming through that could be simply directed into/out of a variable length circular queue implemented in SRAM that could live with addresses generated by PIC output pins. I'd buy several immediately, and there would be a project using them quite shortly.

Even better, if there was a fairly simple and inexpensive DSP package that I could cobble with external RAM and a PIC (or equivalent) controller, we'd have all kinds of DIY digital effects too.

But although I'm pretty sure that something like that will exist one day, it does not to the best of my knowledge yet. If you find one, please let us know.

And consider yourself a full club member, with T shirt. Happy hunting!
R.G.

In response to the questions in the forum - PCB Layout for Musical Effects is available from The Book Patch. Search "PCB Layout" and it ought to appear.

travissk

I have been reading the dsPIC datasheets and application guides and they look like they are a much better option for DSP. They're a cross between a 16-bit microcontroller and a real DSP, so they don't have the performance of either of those, but it's a new option.

Microchip currently has free samples of some of the dsPIC line.

http://samples.microchip.com

Unfortunately, only the dsPIC30F2010 is available in DIP form, and that one doesn't have an interface to a codec (the higher models can interface to AC97). In fact, it's made for motor applications rather than general audio.

If I can work my courage up to try soldering TQFP packages, I might buy one of the higher-end general purpose models to experiment with. Hooray for sub-millimeter pin spacing!

Benny

QuoteI sense that we may have offended you. Certainly on my part it was unintentional.

Not at all!  I thought Andrew was referring to the likes of Boss, DOD, etc as the "big boys" who haven't yet found a way to produce a cost-effective, high-quality product based on this technology.  I realize this forum has many experts who strive to reach those same goals, and for that I am grateful, and I hope I can make my small contribution as well.

QuoteAnd consider yourself a full club member, with T shirt. Happy hunting!

Many thanks.  I certainly feel in good company here.

Benny