Author Topic: ARM Cortex Questions + Sharc DSP ?  (Read 5022 times)

0 Members and 1 Guest are viewing this topic.

Offline JanJansenTopic starter

  • Frequent Contributor
  • **
  • Posts: 380
  • Country: nl
ARM Cortex Questions + Sharc DSP ?
« on: July 28, 2017, 02:57:35 pm »
Hi, i want a better chip then my DSPIC to make a organ synthsizer,
i figured out that ARM Cortex are the best chips at the moment.

i was looking to this movie :


They say in the text :
 powered by an ARM Cortex M3 and Sharc DSP processors

Those ARM Cortex are available from many brands,
i can not find any DIP packages for this Cortex M3.

They use Sharc DSP processors, is that good ?
Anyone opened this thing to look inside ?

I heard that these ARM Cortex are used in most digital synthesizers.

Or what can i buy instead that has many MIPS in DIP ?
I dont know what DAC they use, i need that also.

All the info is a bit overwhelming, maybe you guys use these chips and can help me out a bit ?
What is the difference between the brands ?, or why do they all make the same chips ?

What do you suggest ?
thanks in advance
aliexpress parachute
 

Offline JPortici

  • Super Contributor
  • ***
  • Posts: 3461
  • Country: it
Re: ARM Cortex Questions + Sharc DSP ?
« Reply #1 on: July 28, 2017, 03:42:36 pm »
i can safely bet that the M3 is handling the interface. an M3 is roughly equivalent to a dspic, but with native 32 bit arithmetic.
 

Offline senso

  • Frequent Contributor
  • **
  • Posts: 951
  • Country: pt
    • My AVR tutorials
Re: ARM Cortex Questions + Sharc DSP ?
« Reply #2 on: July 28, 2017, 05:14:20 pm »
What kind of synth?
You can make a synth with an Atmega, case in point:
https://www.linusakesson.net/chipophone/index.php

That board uses a Sharc DSP to generate all the sounds and to change them as you turn the knobs.
It might have 200MIPS or migh have 400 or 800MIPS, they will be DSP, and will be very complex to program.
You can get very good results out of a cortex M3 or M4, but you will need to learn how to do it.
Any cheap DAC will be more than enough, for starters even the integrated DAC's will be good enough to get it making noises, and then sounds, after it works ok-ish think about the DAC part.
 

Offline colorado.rob

  • Frequent Contributor
  • **
  • Posts: 419
  • Country: us
Re: ARM Cortex Questions + Sharc DSP ?
« Reply #3 on: July 28, 2017, 05:39:28 pm »
Sharc DSPs run at a much higher clock than most Cortex-M MCUs.  You'll need to look at the Cortex-A chips to get equivalent horsepower.  None are available in DIP packages that I am aware.  But you could use something like a Raspberry Pi Zero.

I agree with @senso -- you can do a decent job with a Cortex-M4.  Take a look at the STM32L432KC Nucleo-32 board.  It's a nice DIP-like package.  Has a couple of DACs.  Really good for this sort of thing.
 

Offline JPortici

  • Super Contributor
  • ***
  • Posts: 3461
  • Country: it
Re: ARM Cortex Questions + Sharc DSP ?
« Reply #4 on: July 28, 2017, 05:54:19 pm »
he's trying to do an hammond organ, which means around 80 wavetable oscillators per manual to do things properly (plus the amp and effects section)
 

Offline Marco

  • Super Contributor
  • ***
  • Posts: 6720
  • Country: nl
Re: ARM Cortex Questions + Sharc DSP ?
« Reply #5 on: July 28, 2017, 06:02:47 pm »
Sharc DSPs run at a much higher clock than most Cortex-M MCUs.  You'll need to look at the Cortex-A chips to get equivalent horsepower.  None are available in DIP packages that I am aware.  But you could use something like a Raspberry Pi Zero.

Not if you want latency of a couple of samples. Bela DSP is still the only platform I know of to do hard real time audio processing with Linux (in as far as Xenomai with Cobalt can be called Linux).
 

Offline nctnico

  • Super Contributor
  • ***
  • Posts: 26906
  • Country: nl
    • NCT Developments
Re: ARM Cortex Questions + Sharc DSP ?
« Reply #6 on: July 28, 2017, 06:06:31 pm »
Sharc DSPs run at a much higher clock than most Cortex-M MCUs.  You'll need to look at the Cortex-A chips to get equivalent horsepower.  None are available in DIP packages that I am aware.  But you could use something like a Raspberry Pi Zero.
Not if you want latency of a couple of samples. Bela DSP is still the only platform I know of to do hard real time audio processing with Linux (in as far as Xenomai with Cobalt can be called Linux).
Latency isn't very important for a synthesizer. If you have 10ms (or even more) between hitting a key and producing a sound the user won't notice. I think you can even go up to 50ms before the effect becomes noticable. That is about the delay between the nerves in your fingers sensing you pressed a key and receiving that information in your brain.
« Last Edit: July 28, 2017, 06:08:20 pm by nctnico »
There are small lies, big lies and then there is what is on the screen of your oscilloscope.
 

Offline hans

  • Super Contributor
  • ***
  • Posts: 1638
  • Country: nl
Re: ARM Cortex Questions + Sharc DSP ?
« Reply #7 on: July 28, 2017, 06:54:55 pm »
Hi, i want a better chip then my DSPIC to make a organ synthsizer,
i figured out that ARM Cortex are the best chips at the moment.

i was looking to this movie :
[..]

They say in the text :
 powered by an ARM Cortex M3 and Sharc DSP processors

Those ARM Cortex are available from many brands,
i can not find any DIP packages for this Cortex M3.
Correct.

I think Microchip has the fastest chips with most memory in DIP, but they are not Cortex.
Unfortunately for newcomers, SMD is the future tech and likely almost all manufacturers will feature their newest chips in SMD.

Quote
They use Sharc DSP processors, is that good ?
Depends on the application :)

Sharc DSP are nice chips for signal processing. If you open up the Analog Devices datasheet, the first feature they mention about the processor architecture are the SIMD instructions. These are basically like vector instructions: 1 instruction executes on a fixed vector (array) of data. For example you can use 1 instruction to perform 4 times: Reg C = Reg A + Reg B. The registers may be 32-bit wide, but data is accessed in 8-bit mode such that it performs 4 separate adds.
When you're looping on a sample buffer of say 1024 samples, it could mean you have to loop only 256 times instead of 1024 times. However usually you have to explicit about these instructions, i.e. the compiler will often not generate them for you.

ARM Cortex m4 (not m3) also has some vector instructions available. However these only work for signed or unsigned 8/16 bit integers. Rading the ADSP datasheet it's obvious that these parts can also work with floating point.
In addition it looks like it has some acceleration for FFTs, FIR, IIR, matrix etc. But it looks like this is handled by a peripheral in hardware where the data needs to be pushed to.

Quote
I heard that these ARM Cortex are used in most digital synthesizers.

Could be. Depends how complex the audio effects are you need to do. However if you're pushing audio at high sample rates (96kHz, 192kHz), perhaps multiple channels on high-end gear, you'll quickly find yourself processing 0.5 - 1MSPS of data through a single processor. Then it makes sense that you want to perform vector operations on that kind of data, or perhaps go even more high-end.
Other solution is to stick to sample rates that apply to human ears

Quote
Or what can i buy instead that has many MIPS in DIP ?

Like I said, probably PIC32 has some offering in DIP that is reasonably high speed. But these are MIPS4k CPUs with no DSP/vector instructions.

Quote
I dont know what DAC they use, i need that also.

Probably some I2S DAC?

Quote
All the info is a bit overwhelming, maybe you guys use these chips and can help me out a bit ?

Read read read, memorize, read more.. never stop learning :)

Quote
What is the difference between the brands ?, or why do they all make the same chips ?

What do you suggest ?
thanks in advance

You'll find many people having their own favorite brand, like people like PICs vs people liking Atmels.

But that shouldn't matter what you pick. Ultimately, ARM sells many vendors their Cortex CPU cores. Manufacturers take that core (because it's popular and basically the "industry standard") and add memory, peripherals and an "eco system" (software example, CMSIS drivers, abysmal frameworks, etc.) around it. In particular the peripherals are important to see if the chip can accomplish what you want to do.

If you're aiming to build some device with it, I suppose you need to answer these questions:

How many UART, SPI, I2C, I2S ports do I need? Can the chip actually support all these ports at once, i.e. they are not multiplexed on the same pins?
What memory size and CPU horsepower do I need?
Do I need external memory interfaces?
Do I need power saving features?
What package can I solder? What boards can I get made? Blueskull describes a nice project for sure, but if there is any way to avoid such complexity then that path is worth following.
etc.

I think the most prominent ARM vendors in the hobby field are Microchip/Atmel, STM32, NXP LPC/Freescale, Texas Instruments, Cypress PSoC and perhaps SiLabs EFM32.

If I were you and doing anything "media" related, I would look at a STM32F4 or STM32F7 chip. Especially if you're doing this for a hobby project, there is basically no use in dicking around with slow processors.
Then again, maybe the answer is that even those chips are too slow for your processing. Then you're faced with the decision of maybe stripping down on features, or upscaling to a DSP after all, or perhaps even a Linux SBC.
« Last Edit: July 28, 2017, 06:57:03 pm by hans »
 

Offline rsjsouza

  • Super Contributor
  • ***
  • Posts: 5986
  • Country: us
  • Eternally curious
    • Vbe - vídeo blog eletrônico
Re: ARM Cortex Questions + Sharc DSP ?
« Reply #8 on: July 28, 2017, 08:07:00 pm »
Want DIP? Check out this: http://dsps.shop-pro.jp/?mode=cate&cbid=1846061&csid=0.
BF592 and BF706 in DIP carrier, also don't forget CMOD-A7 if you are into FPGA.
Interesting modules, blueskull, although some of their prices can rival beasts such as BeagleBoard X15 (Dual A15 + Dual C66x DSPs + other cores) or even the simpler OMAPL138 LCDK (ARM9 + C674x DSP + other cores). I guess their DIP form factor makes them more interesting to integrate into an existing project, while the others are complete dev kits.
Vbe - vídeo blog eletrônico http://videos.vbeletronico.com

Oh, the "whys" of the datasheets... The information is there not to be an axiomatic truth, but instead each speck of data must be slowly inhaled while carefully performing a deep search inside oneself to find the true metaphysical sense...
 

Offline JanJansenTopic starter

  • Frequent Contributor
  • **
  • Posts: 380
  • Country: nl
Re: ARM Cortex Questions + Sharc DSP ?
« Reply #9 on: July 29, 2017, 03:44:45 pm »
How many UART, SPI, I2C, I2S ports do I need? Can the chip actually support all these ports at once, i.e. they are not multiplexed on the same pins?
What memory size and CPU horsepower do I need?
Do I need external memory interfaces?
Do I need power saving features?
What package can I solder? What boards can I get made? Blueskull describes a nice project for sure, but if there is any way to avoid such complexity then that path is worth following.
etc.

1 UART module for the MIDI + 1 SPI for the DAC ( minimal requirements )
No external memory needed for now, i dont know.
Power savings ? : not more then 100 millamps per chip would be nice.
Packaging : i am prepared to use a SMD to DIP converter to get the horsepowers,
this is also needed for the external DAC, since there are no audio DACs in DIP at all.

Not if you want latency of a couple of samples.

That is important to me yes, i design all my things with minimal lateny as priority.

First some lateny to get out the UART interrupt to process the notes in the main loop, these are cycles within 1 sample so it dont count.
Then the DAC needs the last processed sample, so you can process a new sample.
+ the SPI latency, since there is no build in DAC, i dont know how much this will be.

What gives Sharc DSP more then 1 sample latency ?, for a reverb effect it wont matters, so i am still intrested.

SIMD instructions. These are basically like vector instructions

I dont want to use ASM, i just need the horsepower, so i can copy my DSPIC code very easy.
Sounds really complicated to me, maybe its very simple ?

I think Microchip has the fastest chips with most memory in DIP, but they are not Cortex.

Maybe i will first try some PIC32 chips, then i can still use my PICKIT3 also.
I thought the Cortex will have many more processing power then PIC32, i also heard DSPIC and PIC24 is faster then any PIC32.
What does it matter if its not Cortex, what is so special ?

That board uses a Sharc DSP to generate all the sounds and to change them as you turn the knobs.

i dont want to buy any test boards, i build that myself.

Thanks for the reply`s all
aliexpress parachute
 

Offline Marco

  • Super Contributor
  • ***
  • Posts: 6720
  • Country: nl
Re: ARM Cortex Questions + Sharc DSP ?
« Reply #10 on: July 29, 2017, 11:10:25 pm »
What gives Sharc DSP more then 1 sample latency ?, for a reverb effect it wont matters, so i am still intrested.

I was responding to the Pi-Zero suggestion. Linux on SBCs such as the Pi-Zero is nearly never really low latency and hard real time, but Bela DSP is (which is based on the Beaglebone Black and Xenomai).

As for what might generate more than 1 sample latency on the Sharc, programming (buffering a few samples makes life easier) and ADC/DAC latency (anti-aliasing filters generally have non zero latency).
 

Offline Marco

  • Super Contributor
  • ***
  • Posts: 6720
  • Country: nl
Re: ARM Cortex Questions + Sharc DSP ?
« Reply #11 on: July 30, 2017, 12:02:53 am »
The main problem with rolling your own board is going to be memory.

How are you going to connect fast DRAM to your DIP processor?
 

Offline JanJansenTopic starter

  • Frequent Contributor
  • **
  • Posts: 380
  • Country: nl
Re: ARM Cortex Questions + Sharc DSP ?
« Reply #12 on: July 30, 2017, 01:19:28 pm »
The main problem with rolling your own board is going to be memory.

How are you going to connect fast DRAM to your DIP processor?

I dont know, you mean there are not enough pins for DRAM ?
I dont need DRAM for now, it sounds intresting for delay and reverb effects.
aliexpress parachute
 

Offline JanJansenTopic starter

  • Frequent Contributor
  • **
  • Posts: 380
  • Country: nl
Re: ARM Cortex Questions + Sharc DSP ?
« Reply #13 on: July 30, 2017, 03:39:05 pm »
I,m going for the PIC32MX170F256B for now + some budget DAC i still have to choose, lets see how that works.
aliexpress parachute
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf