There are 17 messages in this thread.
You are currently looking at messages 0 to 10.
I'm looking at this part: http://search.digikey.com/scripts/DkSearch/dksus.dll?Detail&name=PCM1801U-ND Texas Instrument / Burr-Brown PCM1801 A 16-bit stereo Analog-to-Digital Converter (single ended). It requires a 256x sample clock, in addition to some other clocks for clocking out the serial data, and of course, the actual sampling rate clock. They have special names for all these clocks, but my question relates to the fastest of these clocks. Can you use an 8051 derivative (any derivative) to run this part? I did the math and it does not look promising, based on my prior experience with Atmel 8051 flavors... But maybe I'm missing something here...? If I wanted CD-quality audio at 44.1 kHz (samples per second), then if I read this datasheet correctly, I'd need a minimum of 256 x 44100 Hz clock = 11,289,600 MHz just to run it. How can you get that from your garden variety microcontroller? Note: Part requires synchronization, so I can't just run a separate oscillator. This part looks like it will simply a lot of the other parts of the circuit, particularly all the filtering and anti-aliasing, etc... Is there a better ADC solution out there? Maybe one that can be clocked slower? Or am I missing something here? BTW: My preference is 8051 as most of my development tools are 8051. But would consider other architectures if the learning curve is not too steep. Thanks!!
On Wed, 1 Jul 2009 05:29:24 -0700 (PDT) mpm <m...@aol.com> wrote in Message id: <e...@c36g2000yqn.googlegroups.com>: >I'm looking at this part: >http://search.digikey.com/scripts/DkSearch/dksus.dll?Detail&name=PCM1801U-ND > >Texas Instrument / Burr-Brown PCM1801 >A 16-bit stereo Analog-to-Digital Converter (single ended). > >It requires a 256x sample clock, in addition to some other clocks for >clocking out the serial data, and of course, the actual sampling rate >clock. They have special names for all these clocks, but my question >relates to the fastest of these clocks. > >Can you use an 8051 derivative (any derivative) to run this part? >I did the math and it does not look promising, based on my prior >experience with Atmel 8051 flavors... >But maybe I'm missing something here...? > >If I wanted CD-quality audio at 44.1 kHz (samples per second), then if >I read this datasheet correctly, I'd need a minimum of 256 x 44100 Hz >clock = 11,289,600 MHz just to run it. How can you get that from >your garden variety microcontroller? Note: Part requires >synchronization, so I can't just run a separate oscillator. > >This part looks like it will simply a lot of the other parts of the >circuit, particularly all the filtering and anti-aliasing, etc... Is >there a better ADC solution out there? Maybe one that can be clocked >slower? > >Or am I missing something here? >BTW: My preference is 8051 as most of my development tools are 8051. >But would consider other architectures if the learning curve is not >too steep. NXP makes 8051 derivatives to 33MHz.
On Jul 1, 8:29=A0pm, mpm <mpmill...@aol.com> wrote: > I'm looking at this part:http://search.digikey.com/scripts/DkSearch/dksus= .dll?Detail&name=3DPCM1... > > Texas Instrument / Burr-Brown PCM1801 > A 16-bit stereo Analog-to-Digital Converter (single ended). > > It requires a 256x sample clock, in addition to some other clocks for > clocking out the serial data, and of course, the actual sampling rate > clock. =A0They have special names for all these clocks, but my question > relates to the fastest of these clocks. > > Can you use an 8051 derivative (any derivative) to run this part? > I did the math and it does not look promising, based on my prior > experience with Atmel 8051 flavors... > But maybe I'm missing something =A0here...? > > If I wanted CD-quality audio at 44.1 kHz (samples per second), then if > I read this datasheet correctly, I'd need a minimum of 256 x 44100 Hz > clock =3D 11,289,600 MHz just to run it. =A0 How can you get that from > your garden variety microcontroller? =A0 Why not, many microcontrollers run at 16Mhz or above. For example. AVRs. > =A0Note: Part requires > synchronization, so I can't just run a separate oscillator. Why can't you drive both with the same crystal/oscillator?
On Jul 1, 8:41=A0am, JW <n...@dev.null> wrote: > On Wed, 1 Jul 2009 05:29:24 -0700 (PDT) mpm <mpmill...@aol.com> wrote in > Message id: > <e24d2bf3-ef3b-4543-815e-7d3418b98...@c36g2000yqn.googlegroups.com>: > > > > > > >I'm looking at this part: > >http://search.digikey.com/scripts/DkSearch/dksus.dll?Detail&name=3DPCM1.= .. > > >Texas Instrument / Burr-Brown PCM1801 > >A 16-bit stereo Analog-to-Digital Converter (single ended). > > >It requires a 256x sample clock, in addition to some other clocks for > >clocking out the serial data, and of course, the actual sampling rate > >clock. =A0They have special names for all these clocks, but my question > >relates to the fastest of these clocks. > > >Can you use an 8051 derivative (any derivative) to run this part? > >I did the math and it does not look promising, based on my prior > >experience with Atmel 8051 flavors... > >But maybe I'm missing something =A0here...? > > >If I wanted CD-quality audio at 44.1 kHz (samples per second), then if > >I read this datasheet correctly, I'd need a minimum of 256 x 44100 Hz > >clock =3D 11,289,600 MHz just to run it. =A0 How can you get that from > >your garden variety microcontroller? =A0 =A0Note: Part requires > >synchronization, so I can't just run a separate oscillator. > > >This part looks like it will simply a lot of the other parts of the > >circuit, particularly all the filtering and anti-aliasing, etc... =A0 Is > >there a better ADC solution out there? =A0Maybe one that can be clocked > >slower? > > >Or am I missing something here? > >BTW: =A0My preference is 8051 as most of my development tools are 8051. > >But would consider other architectures if the learning curve is not > >too steep. > > NXP makes 8051 derivatives to 33MHz.- Hide quoted text - > > - Show quoted text - 1 / 33 MHz =3D 0.03 uS If it takes 12 osc. clocks to make a single instruction cycle, then each machine cycle would be: (12) (0.03uS) =3D 0.36 uS (12-clock cycles were/are used in the earlier 8051 devices) On clock-doubled parts, if it takes 6 osc. clocks to make a single instruction cycle, then each machine cycle would be: (6) (0.03uS) =3D 0.18 uS And keep in mind that some opcodes require more than one machine cycle to execute. But, taking the best case (6-cycle), 1 / 0.18 uS is still only 5.5 MHz, and that's not nearly fast enough to clock 256 x 44.1 kHz (i.e., 11.289 MHz) A single-, or two- clock 8051 derivative might do it. I've not played with these before (if they exist)? Still wouldn't give much time to do much of anything else. Maybe a couple dozen op-codes in between required ADC strobes. (??) Couldn't screw around in coding, that's for sure. Would probably have to be assembler -- which is fine for this project. -mpm
On Jul 1, 9:07=A0am, linnix <m...@linnix.info-for.us> wrote: > On Jul 1, 8:29=A0pm, mpm <mpmill...@aol.com> wrote: > > > > > > > I'm looking at this part:http://search.digikey.com/scripts/DkSearch/dks= us.dll?Detail&name=3DPCM1... > > > Texas Instrument / Burr-Brown PCM1801 > > A 16-bit stereo Analog-to-Digital Converter (single ended). > > > It requires a 256x sample clock, in addition to some other clocks for > > clocking out the serial data, and of course, the actual sampling rate > > clock. =A0They have special names for all these clocks, but my question > > relates to the fastest of these clocks. > > > Can you use an 8051 derivative (any derivative) to run this part? > > I did the math and it does not look promising, based on my prior > > experience with Atmel 8051 flavors... > > But maybe I'm missing something =A0here...? > > > If I wanted CD-quality audio at 44.1 kHz (samples per second), then if > > I read this datasheet correctly, I'd need a minimum of 256 x 44100 Hz > > clock =3D 11,289,600 MHz just to run it. =A0 How can you get that from > > your garden variety microcontroller? =A0 > > Why not, many microcontrollers run at 16Mhz or above. =A0For example. > AVRs. > > > =A0Note: Part requires > > synchronization, so I can't just run a separate oscillator. > > Why can't you drive both with the same crystal/oscillator?- Hide quoted t= ext - > > - Show quoted text - Lightbulb on!! Maybe. I never thought about using an external oscillator to drive both the microcontroller and the ADC. That seems like it should work. Just need to look at how to synchronize the two, which I can probably do by timing the ADC reset...? For some reason, I was thinking (lazy?) that I had to use the internal 8051 osc. You get so used to trying to save parts costs, I'd forgotten you could use external clocks with many 8051's... Duh!! Thanks for the insight!! -mpm
mpm wrote: > I'm looking at this part: > http://search.digikey.com/scripts/DkSearch/dksus.dll?Detail&name=PCM1801U-ND > > Texas Instrument / Burr-Brown PCM1801 > A 16-bit stereo Analog-to-Digital Converter (single ended). > > It requires a 256x sample clock, in addition to some other clocks for > clocking out the serial data, and of course, the actual sampling rate > clock. They have special names for all these clocks, but my question > relates to the fastest of these clocks. > > Can you use an 8051 derivative (any derivative) to run this part? Your main problem is not the clock generation per se, but how to connect the I2S slave bus of the ADC to the microcontroller SPI port. The clocks can be generated either by timer output compares or by an external hardware counter. Master clock could be the CPU crystal. But what are you going to do with the ~200KB/s traffic of the ADC using the miserable 8051? You need better CPU, something like BlackFin would be appropriate. Vladimir Vassilevsky DSP and Mixed Signal Design Consultant http://www.abvolt.com
Mike wrote: > On Jul 1, 9:07 am, linnix <m...@linnix.info-for.us> wrote: >> On Jul 1, 8:29 pm, mpm <mpmill...@aol.com> wrote: >> >> >> >> >> >>> I'm looking at this part:http://search.digikey.com/scripts/DkSearch/dksus.dll?Detail&name=PCM1... >>> Texas Instrument / Burr-Brown PCM1801 >>> A 16-bit stereo Analog-to-Digital Converter (single ended). >>> It requires a 256x sample clock, in addition to some other clocks for >>> clocking out the serial data, and of course, the actual sampling rate >>> clock. They have special names for all these clocks, but my question >>> relates to the fastest of these clocks. >>> Can you use an 8051 derivative (any derivative) to run this part? >>> I did the math and it does not look promising, based on my prior >>> experience with Atmel 8051 flavors... >>> But maybe I'm missing something here...? >>> If I wanted CD-quality audio at 44.1 kHz (samples per second), then if >>> I read this datasheet correctly, I'd need a minimum of 256 x 44100 Hz >>> clock = 11,289,600 MHz just to run it. How can you get that from >>> your garden variety microcontroller? >> Why not, many microcontrollers run at 16Mhz or above. For example. >> AVRs. >> >>> Note: Part requires >>> synchronization, so I can't just run a separate oscillator. >> Why can't you drive both with the same crystal/oscillator?- Hide quoted text - >> >> - Show quoted text - > > Lightbulb on!! Maybe. > I never thought about using an external oscillator to drive both the > microcontroller and the ADC. > That seems like it should work. Just need to look at how to > synchronize the two, which I can probably do by timing the ADC > reset...? > > For some reason, I was thinking (lazy?) that I had to use the internal > 8051 osc. > You get so used to trying to save parts costs, I'd forgotten you could > use external clocks with many 8051's... Duh!! > Nowadays any old 8051 should be able to run at around 11.3MHz. Just make sure that your desired clock frequency does not mess up other functions such as serial port timing. Even if you use the crystal on the internal oscillator you can often (gently) tap off the OSCOUT side of it and, if need be, buffer with a 74HC chip. Or look if a port pin can pipe out the master clock directly. [...] -- Regards, Joerg http://www.analogconsultants.com/ "gmail" domain blocked because of excessive spam. Use another domain or send PM.
"mpm" <m...@aol.com> wrote in message news:e...@c36g2000yqn.googlegroups.com... > I'm looking at this part: > http://search.digikey.com/scripts/DkSearch/dksus.dll?Detail&name=PCM1801U-ND > > Texas Instrument / Burr-Brown PCM1801 > A 16-bit stereo Analog-to-Digital Converter (single ended). > > It requires a 256x sample clock, in addition to some other clocks for > clocking out the serial data, and of course, the actual sampling rate > clock. They have special names for all these clocks, but my question > relates to the fastest of these clocks. > > Can you use an 8051 derivative (any derivative) to run this part? > I did the math and it does not look promising, based on my prior > experience with Atmel 8051 flavors... > But maybe I'm missing something here...? > > If I wanted CD-quality audio at 44.1 kHz (samples per second), then if > I read this datasheet correctly, I'd need a minimum of 256 x 44100 Hz > clock = 11,289,600 MHz just to run it. How can you get that from > your garden variety microcontroller? Note: Part requires > synchronization, so I can't just run a separate oscillator. Why not? You can use a separate oscillator to generate all of the clocks. and dump the data to an external shift register and data latch. your data then appears at a 44.1 khz rate, 4 bytes. you have 22.6 us to read it.
On Jul 1, 7:29=A0am, mpm <mpmill...@aol.com> wrote: > I'm looking at this part:http://search.digikey.com/scripts/DkSearch/dksus= .dll?Detail&name=3DPCM1... > > Texas Instrument / Burr-Brown PCM1801 > A 16-bit stereo Analog-to-Digital Converter (single ended). > > It requires a 256x sample clock, in addition to some other clocks for > clocking out the serial data, and of course, the actual sampling rate > clock. =A0They have special names for all these clocks, but my question > relates to the fastest of these clocks. > > Can you use an 8051 derivative (any derivative) to run this part? > I did the math and it does not look promising, based on my prior > experience with Atmel 8051 flavors... > But maybe I'm missing something =A0here...? > > If I wanted CD-quality audio at 44.1 kHz (samples per second), then if > I read this datasheet correctly, I'd need a minimum of 256 x 44100 Hz > clock =3D 11,289,600 MHz just to run it. =A0 How can you get that from > your garden variety microcontroller? =A0 =A0Note: Part requires > synchronization, so I can't just run a separate oscillator. > > This part looks like it will simply a lot of the other parts of the > circuit, particularly all the filtering and anti-aliasing, etc... =A0 Is > there a better ADC solution out there? =A0Maybe one that can be clocked > slower? > > Or am I missing something here? > BTW: =A0My preference is 8051 as most of my development tools are 8051. > But would consider other architectures if the learning curve is not > too steep. > > Thanks!! If you do not need the oversampling then why not sample at a much lower rate? i.e., you could get down with 1/256 and still have cd quality. It looks to be a pure serial output so you could simply add 256 samples and average or ignore all but one. In any case you would still have to supply a clock to the ADC but your computation could use a much lower sampling than what the adc does. The oversampling is there to provide better filtering and processing but if you don't need it then no reason to make it more complex. I would think you could find a better adc that could have a programmable oversampling other than 256, 384 or 512.
c...@att.net wrote: > your data > then appears at a 44.1 khz rate, 4 bytes. you have 22.6 us to read it. Thats 22.6 uSec for all 4 bytes. Whats the fastest transfer loop that a 8051 ( even a 100Mhz Silabs ) chip can transfer to memory ?? Where will the 8051 ( even with 64K of External Memory ) going to put all those bytes ?? After "recording" the source, where will the 8051 put it for safe storage ? Play back in one thing, recording is another. don