Digital High-Speed High-Resolution Audio Spectrum Analyzer + [LCD/OLED/Video] - Page 1
Forum section: electronics / projects

author: selkathguy
author_rank: Unknown
timestamp: May 07, 2013, 08:41:14 pm
content: Hi everyone! Figured it was about time I stepped out of the 'kiddy' Beginner's forum and attempted a real significant project.Iv'e been looking into developing a mostly SMT board for AF spectrum viewing that operates almost entirely around a micro. I've done a lot of research, and I'm even working on schematics, but I shouldn't get ahead of myself. I'm still assessing whether or not I can do it within my specifications.General Idea:For quite some time I've been wanting to christen my studies in electronics with something I've been wanting for a while now. A high-speed, high-resolution (lots of bins) audio spectrograph/FFT. I have seen several of these on the forum and on YouTube, but none that are quite as fast as what I want. Or the ones that are fast have very low spectral resolution (RBW).My Selection:I have no idea how to do CPLD's and certainly not FPGAs, cause those are a pain to deal with, are almost exclusively BGA packages, and once this thing is programmed I wont need to really fundamentally change it's function other than maybe to add a feature or two. Also I'm a programmer so I'm keen on the idea of using a uC. I spent time looking at micros from PIC, Atmel, and a couple others, and I hope you all won't shoot me but I think I've decided on one.AT32UC3B (AT32UC3B1256 specifically, it's the QFP48 instead of 64 as I don't need all the pins)http://www.atmel.com/Images/doc32059.pdfhttp://www.digikey.com/product-detail/en/AT32UC3B1256-AUT/AT32UC3B1256-AUT-ND/1769700It's loaded with really awesome features, but particularlya DSP instruction set, which I think if I can utilize will essentially hardware-accelerate the rate at which I can perform FFTs on a rolling buffer of sample data from an ADC. It can run at up to 80Mhz, but the only issue that I can find is that this micro doesn't actually support external addressable memory, so I can't use a big old dedicated SRAM device, only internal which is limited to 32Kbyte. And that's 32K before I start piling things like the necessary DMA config and the massive but luxurious USB+CDC drivers. Seeing as sampling for FFTs is pretty memory-intensive, I decided to create a brief text document with some notes about what I would actually need at bare minimum in terms of the ADC and memory. Please comment on any lapses in judgement you can see:QuoteGeneral architecture that I'm looking to build;And I've spent some time working out which pins will be used for what (since they're all multiplexed across each other this took some time).I've never 'engineered' before, and I'm still quite a beginner (how to EE?). Just been lurking and reading into these things. Am I headed in the right direction in terms of the questions that I'm asking myself? Oh, and I have also been looking at Atmel's own evaluation board for this microcontroller:http://www.atmel.com/Images/EVK1101_Schematics_RevB.pdfIs it acceptable for me to refer this to make sure that my power supply circuitry, grounding, decoupling and general stuff is alright in my own schematic? I know each micro has its own demons and I just want to be sure the thing doesn't start tripping BOD when I start multiplying in that PLL to get the core clock up to 50Mhz-80Mhz range.P.S.: To whomever actually read this whole post you're already a hero.

author: selkathguy
author_rank: Unknown
timestamp: May 12, 2013, 10:37:13 pm
content: Bump because I think people need to know my actual question. I'm really just looking for feedback and throughts. But for brevity's sake:1. In anyone's opinion, is such a project (a digital, high-speed, high-resolution audio spectrum display) feasible using just a microcontroller or two? (no FPGAs nor CPLDs)2. Am I going about this project correctly (by spending a lot of time just reading in detail the complete datasheet of the Atmel micro before really begin)?3. Is my math correct-ish generally speaking for the amount of memory I will need for an FFT?Thanks in advance!

author: Skimask
author_rank: Super Contributor
timestamp: May 12, 2013, 11:24:51 pm
content: Just a bit of show and tell...Turn down the volume...1x PIC18F452 @ 32Mhz, 122x32 graphic LCD ('cause that's all I had on hand), a simple opamp for the audio input (generated from a PC), nothing else other than the PSU and decoupling caps, etc.127 "bins" @ 8 bits of level info per bin. This example is displayed "backwards". The rightmost bin is ~123Hz, leftmost bin is ~15625Hz, with each bin roughly ~123Hz "wide".Only updates at about 14/sec, due mainly to the LCD code. Using a newer, faster PIC, and a graphic LCD with a parallel input rather than SPI, should be able to easily get up around ~40 updates/second.Lots of projects out there using various MCU's, displays, methods, etc.GOOGLE!