I'm investigating using the MCB4300 or MCB1850 for an ADC-centric purpose, but I'd like to know how much CPU is left over if sampling at the full 400kHz. I'd seen a review of the FFT lib touting its speed, but if we sample at 400k, can it also do FFTs? If not, can one board do ADC and another FFTs, with some easy/reasonable BUS interface?
Thanks
LPC1850 "One 10-bit DAC with DMA support and a data conversion rate of 400 kSamples/s"
With DMA the loading on the CPU of "doing" the sampling is going to be fractional, it's peripheral to the processing you are doing.
Thanks, I'd seen some posts on NXP's lib, mainly relating to the 1758, like siliconsparrow.com/.../ where the devloper wrote "Well I was using it on an LPC1768 with it’s own internal ADC. My project only needed to analyze frequencies up to 2.5kHz and it did that easily with plenty of CPU cycles left over for the application software.
I don’t think it would make much difference whether you use an external ADC or not because the data still has to be copied into RAM." but if the lib can operate on data already present via by DMA, then great.
Our application would entail intermittent FFTs and some differencing of large data blocks, all at 400ks/s. Digikey has 2 in stock, but Mouser lists MCB4300 as obsolete? Both NXP and Keil have LPC43** boards, but I can't tell which (all?) expose the ADC pins.
Is there a general opinion on NXP made vs. Keil? I assume they both work fine with Keil tools. I don't feel a need for an LCD.
Ray
The bandwidth limitation you are likely to encounter is with the code itself, not an internal ADC transferring directly to tightly coupled internal SRAM. Even external ADC results would need to be pulled into memory, and that's going to be at least as burdensome. For real-time, you'd presumably double the buffer size and ping-pong between the acquired data.
If the processing is not continuous, you could sample enough points to do the FFT, and once complete grab the next set.
You should perhaps then evaluate the performance of the code, with some data sets you've generated. The simulator might permit you to get some ball-park figures without actual hardware, as would any M3 part at similar frequencies. Most also include a DWT unit with CPU cycle counter to allow benchmarking such code.
Considered an STM32F3-Discovery? 72 MHz Cortex-M4 with 5 Msps ADC?
www.st.com/.../PF254044 www.st.com/.../PF252054
ARM also has some DSP libraries www.keil.com/.../group__group_transforms.html
There are no external ADC that can manage a better coupling with the RAM than what the internal ADC already has. It wastes a tiny fraction of the RAM bandwidth for inserting the conversion results.
See what a LPC4370 can do: (which is based on the LPC4370 - a 204 MHz Cortex-M4 with an 80 MHz ADC and two extra Cortex-M0 cores) www.embeddedartists.com/.../labtool.php
Some NXP boards are for mbed or lpcxpresso, not for Keil tool-chain.
NXP now provides too many 'software development platforms'.
Thanks for the replies Some good leads to check there!