ARM, Single-Chip PC, or other architectures for audio stuff?

Gentlemen,

An upcoming audio project will be fairly math-intense. Two 1024-point complex FFTs at least at 5msec rep rates (FFTs will be overlapping), phase calculations on-the-fly, another slower FFT (or a scanning Goertzel) to determine a frequency, total of three audio inputs with up to 15kHz true BW (one DC-capable), two audio-outs with one going down to DC, some other less demanding math. Some of the links are to be differential but that can be handled with extra HW.

I am not a digital dude so I am torn bewteen architectures. Something like a RasberryPi could probably handles this with external HW but it's a med device project so that's out. Then there is the new LPC4300 dual-core series from NXP which has enough horses to do it but it'll be a from-scratch design. A friend suggested NXP. Another friend said I should rather look at Freescale.

Per unit cost is not super critical as long as it's reasonable,

Reply to
Joerg
Loading thread data ...

Have you done med stuff before? I haven't, but I suspect if a Raspberry-like board isn't ok, then the types of other parts you described might not be ok either. I'd say have a look at the TI Piccolo series, which are fast realtime processors with some interesting high reliability features (internal ECC memory, dual CPU cores running the same program in lockstep, etc).

Why do you want all that high bandwidth audio stuff for a med device? Is it something like a hearing tester? That might not have as extreme reliability requirements as (e.g.) a surgical thing might have.

Reply to
Paul Rubin

The ARM Cortex series seems to be the new 8051, but the use thereof may not have percolated into your neck of the woods yet. An ARM Cortex M4 could probably gulp it down with ease, and there's a lot of people that make 'em. If that's not enough there are faster ARM cores available, but there aren't very many ARM microcontrollers with more than a Cortex M4 -- above that there's a few high-rel parts (the R4), and the Cortex 'A' cores in microprocessors that won't work without care and feeding like memory and whatnot.

You may be better with a DSP chip, such as TI, Analog Devices, or Freescale.

If you're going to go with the ARM core you're free to go looking at processors based on peripherals and clock rates, and not worry about instruction sets, tool chains, and the like.

I strongly suggest that you see if you can recruit someone local first, make damned sure that they have the DSP chops to do the job, then collaborate closely with them on the choice of processor. If they really know what they're doing, then you'll get what you need, and they'll get a product that they're comfortable working with.

--
Tim Wescott 
Control system and signal processing consulting 
www.wescottdesign.com
Reply to
Tim Wescott

Sorry if this is telling you how to suck eggs, but if you're considering linux-based embedded platforms, beware of OS latency issues. I've wasted time attempting to apply them to musical applications, and ended up going back to on-the-metal code.

Reply to
Bruce Varley

Moin Joerg altes Haus. :-)

I am not a friend, so I can tell you Renesas claims to have the fastest microntroller. And they also have some special audio/video optimized types.

formatting link
formatting link

You mean the generation 60++? Anyway, serious programmer did not care about about the architecture. They only think about the quality of C-compiler, the quality of documentation and errata.

A SH7262/4 is a small computer module inside a chip. :-) Please read the 3190 pages of the datasheet.

Sorry, to far, to hot, to cold and to much barbecue.

Olaf

Reply to
Olaf Kaluza

Tim is right on the money saying you should find a programmer before you choose hardware. but for my money, the STM32F4is the right answer.

It has three channels of A/D with double-buffering DMA (so you never need to miss a sample) and it also has DSP instructions (saturating MAC, etc). It's fast enough to do all the FFTs you say, and comes with a hand-optimised vendor FFT library for that.

Plus, ST have done a wonderful job of promoting a community around it, so it shouldn't be hard to find someone familiar with the architecture.

Clifford Heath.

Reply to
Clifford Heath

Hi Joerg,

ARM is generally toyish stuff. Look at you android phone to get a feeling what you can expect overall (may vary from "quite OK" to "does not really work", I get the latter feeling though I do use one).

I do use Freescale power architecture based parts, mostly the MPC5200B. For your task it would take something like 2 AC97 codecs, 1 true ADC (for the channel going to DC) and a true DAC. The serial ports can do all that (you'll use 4 of them, it has 6 but two are not "codec" capable).

Now I am saying this from the position of having 100% control over the software (tools, everything). There is some Linux for it which I know virtually nothing about which will likely get you back into toy-land with all the ARM etc. stuff so the architecture won't really matter a lot. The way I do things with it allow me complete access to the device, users can turn online "support" on and I see over the net the screen they see (takes 1MbpS+ link to be useful). It does not need any PC/tablet etc. application specific software, one uses an RFB (VNC) client to do all. On that processor, you can achieve something like 180 MMACs/S, 64 bit FP . That is peak, you should have a spare 20% CPU power for system purposes (VNC display image compression alone can eat up to 15% to keep the display live over a 100MbpS link).

Here is the first thing I made using that processor (a current source at 1MSPS, 12 bit, measuring output voltage & current using a 1 MSPS ADC (4 inputs of it IIRC)):

formatting link
.

Took me about 3-4 months to program (plus may be 2 for getting the then new CPU into my toolchain). No DPS, no net on that one; the first DPS port for the MPC5200B came for that same board in another incarnation though:

formatting link
. Nowadays it runs also on the netmca,
formatting link
,
formatting link
.

Dimiter

------------------------------------------------------ Dimiter Popoff, TGI

formatting link

------------------------------------------------------

formatting link

Reply to
dp

Nearly every data sheet for components will say they do not warrant or support for medical, life support etc. use.

Medical Certification depends on the whole system, not just one component, a processor of any type well inside housings won't by itself have to be specific for medical use. These days watch what you have to do to meet FDA and EU MDA requirements for your software and hardware.

Get someone with medical device experience for hardware and be prepared for a LOT of paperwork and audit trails, even for the software.

Length of availability can be a big issue as redesigning parts may mean recertification of the whole system. Around 2002 I was asked about designing a replacement for part of a Medical Radiation machine (take a Barium meal and we monitor its flow through the body type), I asked how old it was they said "well the earliest documentation we have is when it moved to the NEW building in 1968".

Audio range monitoring is used in many industries for many things beyond simple hearing tests, often for checking quality or maintenance level checks for materials (cracks in metal, debris in fluid flow, suspension bridge cable monitoring, etc).

Down to DC means you can definitively check for no sound path through an object, not just reached the limit of the detetctor or how it is attached.

--
Paul Carpenter          | paul@pcserviceselectronics.co.uk 
    PC Services 
  Raspberry Pi Add-ons 
 Timing Diagram Font 
  GNU H8 - compiler & Renesas H8/H8S/H8 Tiny 
 For those web sites you hate
Reply to
Paul

Hmm, ok. It looks like I was thinking of the TI Hercules rather than Piccolo though. There is a Launchpad board whose blurb mentions that the cpu (for the RM4 version)'s intended uses included medical stuff:

formatting link

I wonder what kinds of certification requirements they have for medical device software, and how it compares to requirements for aviation or space stuff.

Reply to
Paul Rubin

Read Page 2 of Quick Start Guide they still say

"Buyer acknowledges and agrees that it is solely responsible for compliance with all legal, regulatory and safety-related requirements concerning its products, and any use of TI components in its applications, notwithstanding any applications-related information or support that may be provided by TI. Buyer represents and agrees that it has all the necessary expertise to create and implement safeguards which anticipate dangerous consequences of failures, monitor failures and their consequences, lessen the likelihood of failures that might cause harm and take appropriate remedial actions. Buyer will fully indemnify TI and its representatives against any damages arising out of the use of any TI components in safety-critical applications.

In some cases, TI components may be promoted specifically to facilitate safety-related applications. With such components, TI?s goal is to help enable customers to design and create their own end-product solutions that meet applicable functional safety standards and requirements. Nonetheless, such components are subject to these terms.

No TI components are authorized for use in FDA Class III (or similar life-critical medical equipment) unless authorized officers of the parties have executed a special agreement specifically governing such use."

Basically you have to validate the whole SYSTEM, even if the component product is intended for medical or similar markets.

Depends on how invasive it is to the patient and what it is representing about the patients condition. Software in a video monitor is less worriesome than software controlling dosing (meds, x-ray..), positions of equipemnt (robotic surgical arms, machines for holding or stretching patient) even monitoring equipment can be quite onerous (heart, respiration, blood flow...). See many reports like Therac 25, Panama X- ray.......

You may have to put software into escrow and fully validate it and be careful about in field software updates as these may need recertification or at minimum revalidation and then that version as well put in escrow.

--
Paul Carpenter          | paul@pcserviceselectronics.co.uk 
    PC Services 
  Raspberry Pi Add-ons 
 Timing Diagram Font 
  GNU H8 - compiler & Renesas H8/H8S/H8 Tiny 
 For those web sites you hate
Reply to
Paul

Yes, I did that for a living since the mid-80's. Until Obamacare came, now I still do med tech but most aerospace and industrial.

It has much to do with device history. You need to be able to present a seamlessly documented design history for HW and SW to the FDA and that's a major problem with most open source stuff.

Not true for medical. Life supprt, yes, the usually prohibit that as well as class II medical (which mostly is life-support gear).

Exactly.

I have that experience :-)

Wow, that is old. What is also important is long term availability. For example, I cannot use any kind of modern computer gear for the consumer market because 6-12 months down the road the current design is no longer available. So it has to be more industrial stuff (where, for example, you can still easily buy ISA-bus mootherboards).

I need to run big FFTs and calculations and algorithms to work on the results. The system must be very agile and react to disturbances it sees in the FFT instantly. Pretty math-intense.

Yes, goes in that direction but can't say much more :-)

It has to do with in-house standards of other gear where I have no choice. DC is definitely not the optimum here but a situation that will be encountered.

--
Regards, Joerg 

http://www.analogconsultants.com/
Reply to
Joerg

M4 is what I am looking at, plus maybe a M0 in there for housekeeping and interface protocols.

Possibly, buy they often have next to nothing in integrted features. It's like buying a bicycle frame where then you have to provide wheels, brakes, and all the other stuff separately. But most of all, DSP programmers are rare around here and they are usually quite expensive. Most are employed and not available for freelance work.

Well, I do have to be concerned about familiarity of programmers with the chip.

That's what I was planning to do but not easy to find. Which is why I was asking what kind of processor is popular around here, or at least on the US west coast.

--
Regards, Joerg 

http://www.analogconsultants.com/
Reply to
Joerg

To my utter surprise I have the scheme working on Windows-XP. In a very crude way and with experimental software (where you click stuff together) but it seems the latency issues are being taken care of nicely by the audio-class USB drivers for the sound chips. The noise/jitter levels in the results are much lower than I ever expected.

--
Regards, Joerg 

http://www.analogconsultants.com/
Reply to
Joerg

Moin Olaf :-)

360MIPS at 200MHz clock, shazam! That is fast. But I'd have to find out how good their support is and most of all if there are programmers familiar with them around here.

No, younger ones as well. There is an old joke around here "Have Keil compiler - will travel". One has to care abourt the architecture because stuff like this is hardware-intense and realtime. I have often seen how quickly a tiny missing feature such as a comparator mux can really throw you a curve.

I will. Got to walk the Labradors now though.

But ... nice mountain bike trails.

Barbecue is great. Had ribs, sausages, peppers and rolls yesterday, all from the barbie. Tonight it'll be pork loin and whatever else my wife hands me.

--
Regards, Joerg 

http://www.analogconsultants.com/
Reply to
Joerg

That is one I ruled out, nice processor though. I have tried to contact them via their web-stated contact email several times and they didn't even bother to answer. That gets a manufacturer on my personal blacklist. There is absolutely no excuse for poor support.

But very poor support. Support is important to me.

--
Regards, Joerg 

http://www.analogconsultants.com/
Reply to
Joerg

Believe it or not, I don't own a smart phone. Never saw the need. Ok, it would come in handy as a navigator on my mountain bike rides but so far I've managed with maps and compass.

That's what I had in mind, after finding out about the paltry DC-performance of sound chips.

Nice. I am sure this series can stomach the math but I'd have to find someone local that knows them. How good is Freescales's FAE support? For example, I need info that goes beyond the datasheet such as radiation tolerance. That requires a good responsive support by the manufacturer.

Goog looking board. It seems you have a primary switcher on there, with the silcon and all.

Neat.

I forgot to mention one thing: Absolutely no BGA package. Must be leaded with gull wings (QFP style with leads). This unit will get banged around a lot.

--
Regards, Joerg 

http://www.analogconsultants.com/
Reply to
Joerg

...

Depends on definition of Medical and life support, many items are classed as non-life support but you have to be sure they are right even ECG is not classed as direct life support but you better have the hardware and software right.

Like BTDTGTTS :-)

prepared

It was not a dig at you but a general comment about the reams of documentation you have to read and audit trails of tests, validations and design history. Let alone manufacturering batch information that can ensue.

mean

Or the interface has changed or they only support newer Windoze via magic incantions and license fees and compilers cannot produce binary matched executables.... etc etc etc..

Yes it used to be that Renesas (Hitachi old side) were good at that but it is changing to we only support on our software updates, which only works on bleeding edge systems.

....

Its alright I was trying to give clues to OP that audio and medical does not necessarily mean hearing tests only ..

through

That's OK the specs often have reason but sometimes in medical, aviation aerospace or miltary the reasons are historic.... Or worst case no one can remember why but it seemed a good idea at the time.

Don't even get me on aviation chip tester I had to do with documents leaving important aspects as "within normal limits" or different documents contradicting each other.

--
Paul Carpenter          | paul@pcserviceselectronics.co.uk 
    PC Services 
  Raspberry Pi Add-ons 
 Timing Diagram Font 
  GNU H8 - compiler & Renesas H8/H8S/H8 Tiny 
 For those web sites you hate
Reply to
Paul

I'll note (pun intended) that xmos appear to be carving a niche in that area, due to predictability of execution times and low cost.

formatting link

Reply to
Tom Gardner

I don't think there is any one that stands out. When I was working at FLIR Systems we pretty much picked whatever was best for the job at hand, because we couldn't afford to be stuck with something too old, too big, too small, etc. We'd take the fact that we were already familiar with a processor into strong consideration, but 'replace' often won out over 'keep'.

You may just need to bite the bullet and go with an imported software guy. What you're asking for isn't altogether run of the mill; you may need to drag someone up from the Valley or elsewhere.

--
Tim Wescott 
Control system and signal processing consulting 
www.wescottdesign.com
Reply to
Tim Wescott

Well if it has to be someone local perhaps you should first locate him then pick the part for him. Why local, nowadays you are likely to waste more on missing someone good and non-local than you will gain on the local one. What you will save is likely a few resets when he loses the system :D . (I was debugging some of the netmca at a friendly customer some 2 years ago - he had detectors & sources I needed - and it was

3-4 times over a few months when I had to wait for him to get to his lab and repower the thing).

No idea really. I have managed to get to people I needed (not support people, e.g. I needed info on the (very complex) intelligent DMA on the 5200; the guy who had designed it eventually did help, was not had to locate at all). But I don't know about their support now, used to be really good but those I knew are no longer there.

There are 9 voltages on it hence the many switchers. The central one is a flyback doing -24 -15 -5 +15 +24.... All have to be really quiet, the preamp (which needs the +/-24 and +/-12 (derived from the 15)) had a FET cooled to something like -100C to have its noise lowered :D . Oh and there is a 10-th voltage, the 0 to 5kV one... :) .

Oh that narrows your options a lot, perhaps beyond what is reasonable. May be you can consider a BGA tqfp PCB of sorts to provide the elasticity you need, I don't know. But "no BGA" nowadays sounds like "no SMD" did not so long ago.

Dimiter

------------------------------------------------------ Dimiter Popoff, TGI

formatting link

------------------------------------------------------

formatting link

Reply to
dp

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.