3
\$\begingroup\$

I'm designing an analog audio amp with a 6 band analog equalizer controlled via a 7" LCD touch screen. I'm wanting to preform a real time 2048 point FFT and display it on the screen in some kind of visual animation. The equalizer will have digipot that will be on a SPI bus. I was shooting for a all in one solution. Also some kind of cheap dev board to prototype with is a must. Below are the requirements that I have come up with.

  • min 43 GPIO
  • min 50Mhz clock
  • min 1 10 bit resolution ADC
  • FFT capability

This is my first large design project and I'm a little overwhelmed with the size of the market. Was looking at the Stellaris made by TI, but it turns out that the chip is still in experimental phase and not available for test are distribution. I was thinking about possible desoldering the chip and putting it on my own board but was concerned that the chip may be stressed to much. Any input are advice would help a bunch.

\$\endgroup\$
8
  • 1
    \$\begingroup\$ In my experience, TI is super friendly when it comes to nailing down which part you need (you may even get them to send you a sample). I'd try giving them a ring and see what they suggest. \$\endgroup\$ Commented Apr 8, 2013 at 22:10
  • 3
    \$\begingroup\$ FFT isn't normally a hardware feature. There are plenty of FFT libraries you can use, some/most requiring a Floating Point Unit, which is what you might really need. As for the GPIO, do you need that many? For Leds or what? What about charlie/multiplexing leds in that case? Since you are already using spi, you could just use spi port expanders if you really need that many gpio. \$\endgroup\$
    – Passerby
    Commented Apr 8, 2013 at 23:34
  • \$\begingroup\$ The LCD screen that i'm interfacing with requires a minimum of 25ish pins to interface with it fully. then tack on 2 pins for an analog source select, an 3 pins for CE lines on the SPI bus plus the data line and clock and latch, then the ADC line. So the total comes to around 30ish and i want some room to add features if desired. \$\endgroup\$
    – JWL
    Commented Apr 9, 2013 at 2:27
  • \$\begingroup\$ There is a plentitude of LCD drivers. You can save yourself lots of GPIOs, a lot of trouble with coding and tracing, if you use one of these. \$\endgroup\$ Commented Apr 9, 2013 at 7:17
  • 2
    \$\begingroup\$ @Passerby - that's not necessarily true, since the integer types likely to be involved aren't very big. \$\endgroup\$ Commented Apr 9, 2013 at 21:38

4 Answers 4

3
\$\begingroup\$

Aside from Ti's Stellaris family with the Stellaris Launchpad, other Arm/Cortex families will fit the bill. Only other one I know of is STM's STM32 F3 series Cortex-M4, with the Discovery dev kits like the STM32F3DISCOVERY. Basically competing products, but the STM32F303VCT6 is available for individual purchase on Digi-key and such (At 9 bucks in single quantities, sometimes just using the dev board for your project might be a better option). Any of their discovery boards will do what you need for about the same price.

Edit: As an update since the original answer, TI has released a new family based on improvements from the Stellaris line. The Tiva line is in full active production.

\$\endgroup\$
2
  • \$\begingroup\$ Thanks you for the suggestion I will definitely investigate that option. \$\endgroup\$
    – JWL
    Commented Apr 9, 2013 at 3:44
  • \$\begingroup\$ If you are going with STM32F3, you might want to look at the 37x's instead of the 30x's as the former have a sigma delta ADC with configurable gain, which may be more applicable to an audio project. That would require a custom board, but it's worth getting the F3 discovery anyway to use as a cheap SWD programmer if not application platform. \$\endgroup\$ Commented Apr 9, 2013 at 15:22
0
\$\begingroup\$

There are a number of cheap dev boards available that could meet your rather low requirements. Are you willing to run a high level OS on your system, such as embedded linux? If so, TI's OMAP family would be a great decision. The very popular Beagleboard would be a great dev board to get started on.

http://en.wikipedia.org/wiki/BeagleBoard

If you are looking for a bare metal solution the OMAP could still work but it's much less supported and their a much less resources available.

\$\endgroup\$
3
  • 1
    \$\begingroup\$ This would however be quite a bit more complex, and multiply the hardware cost by a factor of between 3 and 15. \$\endgroup\$ Commented Apr 9, 2013 at 15:23
  • 1
    \$\begingroup\$ The OMAP3530 on the BeagleBoard are BGA packages and normally require multiple layer boards. Not very friendly, compared to the Stellaris LQFP (Quad Leaded Package). OP wants to use the chip on his own custom board, without the rest of the dev kit. \$\endgroup\$
    – Passerby
    Commented Apr 9, 2013 at 21:23
  • \$\begingroup\$ My initial thought was to go Beagle Bone Black and have way more power than necessary. He would have tons of libraries and power for doing the signal processing. I have not used SPI on BBB but I2C was easy. It has display drivers, etc. But before making that recommendation over an MCU we need more info about OP's ultimate goal. If he's building one for himself, then I think a beefy board like BBB is a no-brainer, so many features, and it's not even much more expensive than MCU boards. If he plans to roll his own PCB and sell kits on the other hand, OMAP is obviously daunting for a hobbyist. \$\endgroup\$
    – Suboptimus
    Commented Jul 8, 2013 at 19:02
0
\$\begingroup\$

If you want something really cheap, I would consider the Freescale Freedom platform. Take a look here: Freedom

This is built with a cortex-M0 ARM microcontroller. This one can run up to 48 MHz, so I could'nt say if it's enough for your application. There is plenty of FLASH and RAM to do some kind of FFT math, and besides, this is a 32-bit CPU.

If you are willing to put some more money in this project, go ahead and pick the Freescale Tower system. It is very versatile and you can opt for several microcontroller boards to act as its brain. Freescale Tower. This is a modular development system, and for your needs I would recommend selecting a board with a ColdFire+ mcu (16bits) or a Kinetis (32bits) to suit your tastes.

Also, some of the ColdFire+ and Kinetis mcu have hardware dsp capabilities, so it really could help your FFT routines. Look for the ones with a MAC module.

\$\endgroup\$
0
\$\begingroup\$

I would go for PIC32MX family or STM32F4 Cortex or AT91SAM9620 Family of microcontrollers.

\$\endgroup\$
6
  • 2
    \$\begingroup\$ It's probably worth adding some more details on why you'd recommend them, what development / prototyping tools are available etc. \$\endgroup\$
    – PeterJ
    Commented Nov 6, 2013 at 8:12
  • \$\begingroup\$ Well, I have a board from Mikroe with PIC32MX familiy.It was the most expensive (around 170 EUR),but I also have powerful and the cheapest C compiler.Hovewer,it lacks ethernet port (add board can be bought).Vice versa, STM32F4 Discovery is way the cheapest board,but,I think, the IAR Embedded Workbench costs about 2300 EUR (I am waiting for price conformation from sales department),but there is also Linux way for discovery (free arm gcc).Last option was AT91SAM9260SAM devboard from local university,it was ok,but IDE was WinIdea,which had many bugs and the development was the hardest. \$\endgroup\$ Commented Nov 6, 2013 at 9:03
  • 1
    \$\begingroup\$ Note that I wasn't suggesting there is anything wrong with your suggestions, just a few extra details like the above should be edited in to make the answer more useful. The reason I noticed your answer is that it came up in a "low quality posts" review that includes short answers for review so improvements can be suggested. \$\endgroup\$
    – PeterJ
    Commented Nov 6, 2013 at 9:11
  • \$\begingroup\$ The Tiva-C Launchpad is perhaps a far better price option, at $12.99 including international 3-day delivery, and a choice of 4 different compiler toolchains provided free (single-user licenses): Keil, Sourcery CodeBench, IAR Tools and CodeComposer Studio. \$\endgroup\$ Commented Nov 6, 2013 at 10:49
  • 1
    \$\begingroup\$ @MarkoFrelih The code size limit is typically equal to the code space available the microcontroller the compiler is offered free with - that is so that users do not use that compiler for other bigger microcontrollers. Presumably you aren't considering using the free compiler that comes with, say, the Tiva C, for any purpose other than Tiva C MCUs? \$\endgroup\$ Commented Nov 11, 2013 at 11:39

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.