Author Topic: Fast MCUs with 3+ DACs  (Read 5107 times)

0 Members and 1 Guest are viewing this topic.

Offline ajbTopic starter

  • Super Contributor
  • ***
  • Posts: 2867
  • Country: us
Fast MCUs with 3+ DACs
« on: February 22, 2019, 02:24:34 pm »
I have a prototype built with an STM32F334, which is a 72MHz Cortex M4 that does some very basic real-time signal processing with as little latency as possible (~120kHz sample rate), and outputs the result via the DACs.  It works okay, but it's fairly tight on timing, and doesn't leave a lot of time for it to perform other house-keeping tasks.  I see there are some PIC32MK parts with three DACs that run at 120MHz, but I'm not familiar with the platform at all so I'm not sure how they compare in terms of real-world performance of the 72MHz M4.  Also they don't appear to have I2C, which is weird and annoying.

I'll have to think about whether the lack of I2C is a dealbreaker on the PIC32MK, but I would be curious if anyone has real-world experience with the two platforms and can comment on their relative performance in realistic scenarios.  In particular I'm concerned with ISR entry/exit overhead, since from what I've read MIPS doesn't incorporate hardware support for context changes like the CM4 does.

From what I've seen these seem to be the only options in this performance class, at least among vendors accessible in low quantities.  Are there any parts I've missed?
 

Offline ogden

  • Super Contributor
  • ***
  • Posts: 3731
  • Country: lv
Re: Fast MCUs with 3+ DACs
« Reply #1 on: February 22, 2019, 03:10:38 pm »
I have a prototype built with an STM32F334, which is a 72MHz Cortex M4 that does some very basic real-time signal processing with as little latency as possible (~120kHz sample rate), and outputs the result via the DACs.  It works okay, but it's fairly tight on timing, and doesn't leave a lot of time for it to perform other house-keeping tasks.  I see there are some PIC32MK parts with three DACs that run at 120MHz, but I'm not familiar with the platform at all so I'm not sure how they compare in terms of real-world performance of the 72MHz M4.  Also they don't appear to have I2C, which is weird and annoying.

Move to completely another MCU architecture shall be last option in the list. You can do 120Ksps using audio DAC/ADC, using 168MHz STM32F405. It has 2*I2S (bidirectional) meaning that with 2x DAC like PCM1789 you will have 4 DAC channels, up-to 24bit@192Ksps. If you need inputs as well, then you pick codec which combines both - ADC and DAC.
 

Offline ajbTopic starter

  • Super Contributor
  • ***
  • Posts: 2867
  • Country: us
Re: Fast MCUs with 3+ DACs
« Reply #2 on: February 22, 2019, 03:34:17 pm »
An external DAC is also an option I'm considering, but space and cost is a concern.  A 64-100 pin MCU with 3 DACs gives me basically a one-chip solution, so I just want to make sure I'm not missing any worthwhile options. 
 

Online JPortici

  • Super Contributor
  • ***
  • Posts: 3807
  • Country: it
Re: Fast MCUs with 3+ DACs
« Reply #3 on: February 22, 2019, 05:42:09 pm »
I'll have to think about whether the lack of I2C is a dealbreaker on the PIC32MK, but I would be curious if anyone has real-world experience with the two platforms and can comment on their relative performance in realistic scenarios.  In particular I'm concerned with ISR entry/exit overhead, since from what I've read MIPS doesn't incorporate hardware support for context changes like the CM4 does.

unless you need floating point or usb, avoid the PIC32MK. There are a lot of gotchas.
a dsPIC33EP(GS)/CH/CK will outperform it in every aspect.

 

Online Kleinstein

  • Super Contributor
  • ***
  • Posts: 16331
  • Country: de
Re: Fast MCUs with 3+ DACs
« Reply #4 on: February 22, 2019, 05:44:13 pm »
Audio DACs and ADCs may add some latency. So one may have to be careful with external DACs. Also the analog part of a DAC might add some delay.
 

Offline NorthGuy

  • Super Contributor
  • ***
  • Posts: 3391
  • Country: ca
Re: Fast MCUs with 3+ DACs
« Reply #5 on: February 22, 2019, 06:18:13 pm »
When 72 MHz CPU does things at 120 kHz, it is 600 instructions per point. Looks like a lot for "very basic real-time processing". Perhaps improving the algorithms would help?
 

Offline PCB.Wiz

  • Super Contributor
  • ***
  • Posts: 2902
  • Country: au
Re: Fast MCUs with 3+ DACs
« Reply #6 on: February 22, 2019, 06:58:35 pm »
An external DAC is also an option I'm considering, but space and cost is a concern.  A 64-100 pin MCU with 3 DACs gives me basically a one-chip solution, so I just want to make sure I'm not missing any worthwhile options. 

A small part like EFM8BB3/EFM8LB1 makes a very good external DAC. Cheaper than the equivalent DAC alone, and you can make it smarter where it needs to be.
Offers 2 or 4 channels of 12b DAC, fast and good drive, and has SPI link possible.
External DACs are also likely to have better noise performances as they do not share the digital activity of a 'all-in-one' big die part.

 

Offline ajbTopic starter

  • Super Contributor
  • ***
  • Posts: 2867
  • Country: us
Re: Fast MCUs with 3+ DACs
« Reply #7 on: February 22, 2019, 07:02:19 pm »
When 72 MHz CPU does things at 120 kHz, it is 600 instructions per point. Looks like a lot for "very basic real-time processing". Perhaps improving the algorithms would help?

120kHz x 3 channels, so really 200 instructions per point.  The prototype was also only running at 64MHz, which is the max you can get from the 8MHz HSI on that MCU.  I'll definitely add an external clock if I stick with this family.  There's definitely room to improve the efficiency of the computations and interrupt handling, but having additional headroom would still be helpful to relieve pressure on some of the other tasks the system needs to do.

unless you need floating point or usb, avoid the PIC32MK. There are a lot of gotchas.
a dsPIC33EP(GS)/CH/CK will outperform it in every aspect.

The dsPIC range doesn't seem appealing here--nothing with >2 DACs, and if I'm going the external DAC route I may as well go with a gruntier 32-bit ARM. 

AD looks like they may have some interesting parts, but their parametric search is awful, and the couple candidates I've found have been quite spendy. 
 

Offline Boscoe

  • Frequent Contributor
  • **
  • Posts: 292
Re: Fast MCUs with 3+ DACs
« Reply #8 on: March 02, 2019, 08:07:42 pm »
Using STMCube's search feature, it looks like you only have the F3 line as an option maxed out at 72MHz. I guess either an external DAC or jumping ship are your only options. Perhaps FPGA? Lattice offer some pretty small packages, as does Intel now.
 

Offline PCB.Wiz

  • Super Contributor
  • ***
  • Posts: 2902
  • Country: au
Re: Fast MCUs with 3+ DACs
« Reply #9 on: March 02, 2019, 10:39:14 pm »
.. and if I'm going the external DAC route I may as well go with a gruntier 32-bit ARM. 
That could make more sense.
What performance DAC do you need and how many channels ?
 

Offline ajbTopic starter

  • Super Contributor
  • ***
  • Posts: 2867
  • Country: us
Re: Fast MCUs with 3+ DACs
« Reply #10 on: March 05, 2019, 03:53:52 pm »
.. and if I'm going the external DAC route I may as well go with a gruntier 32-bit ARM. 
That could make more sense.
What performance DAC do you need and how many channels ?

At least 3 channels, nominally 12 bits and I'd probably go for ~250ksps in an external DAC.  But realistically I'll probably stick with the existing MCU since there don't seem to be any other good options with three internal DACs, and I don't think I can justify the cost and size increase that an external DAC involves on the initial iteration.  Adding an FPGA to do the real-time computation would be neat and fun to do, but even less justifiable unfortunately (and I'd still want an MCU to do MCU-ish things).
 

Offline aldi

  • Contributor
  • Posts: 29
  • Country: nl
Re: Fast MCUs with 3+ DACs
« Reply #11 on: March 06, 2019, 06:38:52 pm »
Maybe the Delfino series from TI. This is the cheapest with 3 DACS : http://www.ti.com/product/TMS320F28374S, it costs about €15 ( https://octopart.com/search?q=%20TMS320F28374S ).

Or the ADUCM32x series, not much faster (80MHz Cortex-M3), but it has eight DACs, see https://www.analog.com/en/products/aducm320.html.
« Last Edit: March 06, 2019, 06:48:42 pm by aldi »
 

Offline ajbTopic starter

  • Super Contributor
  • ***
  • Posts: 2867
  • Country: us
Re: Fast MCUs with 3+ DACs
« Reply #12 on: March 06, 2019, 07:40:08 pm »
Maybe the Delfino series from TI. This is the cheapest with 3 DACS : http://www.ti.com/product/TMS320F28374S, it costs about €15 ( https://octopart.com/search?q=%20TMS320F28374S ).

Or the ADUCM32x series, not much faster (80MHz Cortex-M3), but it has eight DACs, see https://www.analog.com/en/products/aducm320.html.

Ooh, that TI part looks interesting, thanks!  Might just go ahead and throw the Launchpad for it into my Mouser cart.  I did look at some of the ADUCM parts, I like that they're ARMs, but yeah, not much of a core performance bump for about twice the price of the STM32F3 series.
 

Offline oPossum

  • Super Contributor
  • ***
  • Posts: 1524
  • Country: us
  • Very dangerous - may attack at any time
Re: Fast MCUs with 3+ DACs
« Reply #13 on: March 07, 2019, 01:44:02 pm »
The Launchpad for that part only has 2 DAC outputs available. I discovered that the hard way.
 

Offline Mattjd

  • Regular Contributor
  • *
  • Posts: 230
  • Country: us
Re: Fast MCUs with 3+ DACs
« Reply #14 on: March 11, 2019, 02:06:44 pm »
I have a prototype built with an STM32F334, which is a 72MHz Cortex M4 that does some very basic real-time signal processing with as little latency as possible (~120kHz sample rate), and outputs the result via the DACs.  It works okay, but it's fairly tight on timing, and doesn't leave a lot of time for it to perform other house-keeping tasks.  I see there are some PIC32MK parts with three DACs that run at 120MHz, but I'm not familiar with the platform at all so I'm not sure how they compare in terms of real-world performance of the 72MHz M4.  Also they don't appear to have I2C, which is weird and annoying.

I'll have to think about whether the lack of I2C is a dealbreaker on the PIC32MK, but I would be curious if anyone has real-world experience with the two platforms and can comment on their relative performance in realistic scenarios.  In particular I'm concerned with ISR entry/exit overhead, since from what I've read MIPS doesn't incorporate hardware support for context changes like the CM4 does.

From what I've seen these seem to be the only options in this performance class, at least among vendors accessible in low quantities.  Are there any parts I've missed?

https://www.digikey.com/product-detail/en/texas-instruments/LAUNCHXL-F28379D/296-46713-ND/7219341&?gclid=CjwKCAiA45njBRBwEiwASnZT5x6Gt9BzjoFPP_uEvVcABP6KJm7G4OXZxe9Dw-BrjMSACmGk6M81-BoC_KsQAvD_BwE

 

Offline Mattjd

  • Regular Contributor
  • *
  • Posts: 230
  • Country: us
Re: Fast MCUs with 3+ DACs
« Reply #15 on: March 11, 2019, 02:07:45 pm »
Maybe the Delfino series from TI. This is the cheapest with 3 DACS : http://www.ti.com/product/TMS320F28374S, it costs about €15 ( https://octopart.com/search?q=%20TMS320F28374S ).

Or the ADUCM32x series, not much faster (80MHz Cortex-M3), but it has eight DACs, see https://www.analog.com/en/products/aducm320.html.

I see someone beat me to it
 

Offline Mattjd

  • Regular Contributor
  • *
  • Posts: 230
  • Country: us
Re: Fast MCUs with 3+ DACs
« Reply #16 on: March 11, 2019, 02:09:56 pm »
The Launchpad for that part only has 2 DAC outputs available. I discovered that the hard way.

That's very important thing to remember.

Yes, when dealing with TI there are three datasheets you want to focus on. Development Board datasheet, processor specific datasheet, processor family datasheet.

For example it appears the C2000 has 4  DAC available on launch pad

http://www.ti.com/lit/ml/sprui73a/sprui73a.pdf
 

Offline oPossum

  • Super Contributor
  • ***
  • Posts: 1524
  • Country: us
  • Very dangerous - may attack at any time
Re: Fast MCUs with 3+ DACs
« Reply #17 on: March 11, 2019, 02:26:15 pm »
It has 2 analog outputs for DACA and DACB.

There is no practical way to get to DAC3.
 

Offline Mattjd

  • Regular Contributor
  • *
  • Posts: 230
  • Country: us
Re: Fast MCUs with 3+ DACs
« Reply #18 on: March 11, 2019, 02:39:45 pm »
It has 2 analog outputs for DACA and DACB.

There is no practical way to get to DAC3.

Yours appears to be an older version with less headers than the one I linked to on Digi-key
 

Offline oPossum

  • Super Contributor
  • ***
  • Posts: 1524
  • Country: us
  • Very dangerous - may attack at any time
Re: Fast MCUs with 3+ DACs
« Reply #19 on: March 11, 2019, 02:42:46 pm »
No, same Launchpad.

The MCU only has 3 DACs.

Please RTFM.
 

Offline Mattjd

  • Regular Contributor
  • *
  • Posts: 230
  • Country: us
Re: Fast MCUs with 3+ DACs
« Reply #20 on: March 11, 2019, 02:46:11 pm »
No, same Launchpad.

The MCU only has 3 DACs.

Please RTFM.

https://imgur.com/a/D7gm2Q8

http://www.ti.com/lit/ug/sprui77b/sprui77b.pdf


what datasheet are you pulling from?

they're part of CMPSS
« Last Edit: March 11, 2019, 02:56:30 pm by Mattjd »
 

Offline oPossum

  • Super Contributor
  • ***
  • Posts: 1524
  • Country: us
  • Very dangerous - may attack at any time
Re: Fast MCUs with 3+ DACs
« Reply #21 on: March 11, 2019, 02:58:53 pm »
The schematic excerpt I posted is from that exact document.

Look at the schematic. Look at the MCU datasheet.

It should be obvious why there are 4 pins label Analog Out.

It is not because there are 4 DACs! There are only 3, and only 2 available.
 

Offline ajbTopic starter

  • Super Contributor
  • ***
  • Posts: 2867
  • Country: us
Re: Fast MCUs with 3+ DACs
« Reply #22 on: March 14, 2019, 01:27:09 am »
The Launchpad for that part only has 2 DAC outputs available. I discovered that the hard way.

Ugh, that's frustrating.  Thanks for pointing it out.  Not bringing out every IO pin is possibly the worst thing you can do on a dev board, especially on a BGA.  The second worst thing is putting a zero ohm jumper between two GPIOs connected to different header pins and not clearly indicating this on the PCB (which as a matter of fact was also on a TI dev board...)

After taking another look at pricing, and the Delfino parts may not actually make sense on the initial variant of this project, but they still look interesting to play with, and a later iteration of this project may be able to take better advantage of their theoretical performance.
 

Offline OwO

  • Super Contributor
  • ***
  • Posts: 1250
  • Country: cn
  • RF Engineer.
Re: Fast MCUs with 3+ DACs
« Reply #23 on: March 15, 2019, 04:11:36 am »
This seems like the kind of thing that would be better suited to an FPGA. You haven't specified DAC precision or noise floor needed, but if it's just audio-level stuff (or <100kHz) then delta-sigma modulation on a digital pin might be sufficient. I've used this trick to do audio output on an FPGA before (without a DAC) and the output was very clean, I would say comparable to at least a 14 bit DAC.
Email: OwOwOwOwO123@outlook.com
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf