Hot!what would you do with a dual core dspic?

Page: 12345.. > >> Showing page 1 of 18
Author
JPortici
Super Member
  • Total Posts : 431
  • Reward points : 0
  • Joined: 2012/11/17 06:27:45
  • Location: Grappaland
  • Status: offline
2017/11/22 03:10:59 (permalink)
3 (1)

what would you do with a dual core dspic?

As many of you i look at the changelogs from compiler updates.
The new parts supported section is one of my favourites so i can have a glimpse of what new cool parts we will have in the future and start speculating, as i'm not one of those lucky guys that can play with them in advance.
 
so we have these two families dsPIC33EDV64MC205 and dsPIC33CH128MP508
both are going to be interesting because -according to device include files- FINALLY new dsPICs with SENT. One can write his own software emulation but having hardware taking care of things for you is always nice
 
anyway, according to this link (which can be found by typing the partnumbers, has been around for ages in various languages) http://www.microchip.com.hk/pub/hz/Classes/1701-2.pdf
the EDV has integrated switches for the high speed PWM (and somewhere else i also read "integrated LDO")
 
and the CH has two cores.
what would you use the two cores for? security purposes? one for crunching numbers and the other for interfacing? it's also two DSPs?
Well, in a project i would be happy to replace the current dspic with a dual core so the other core can be left handling CAN and comms without me worrying about the code being 100% non-blocking...
#1

357 Replies Related Threads

    du00000001
    Just Some Member
    • Total Posts : 2168
    • Reward points : 0
    • Joined: 2016/05/03 13:52:42
    • Location: Germany
    • Status: online
    Re: what would you do with a dual core dspic? 2017/11/22 07:08:18 (permalink)
    3 (1)
    I have to guess, but functional safety requires a lot more than only 2 cores.
    As it is suffixed "MP" - the M usually indicating "Motor Control", it could well be that Microchip follows a path TI started to follow some years ago with the TMS320C2xxxx DSCs: split the processing load between 2 cores - one for the hard-hard realtime job (inner motor control loop at high switching frequencies), the other for "the remaining stuff" like communication, diagnosis, evtl. Display/HMI etc.
    TI then added a "crippled" co-processor. But given that the dsPIC draws about the current of TI's ADC, putting 2 identical cores into 1 package would make sense and is easier to achieve than an asymmetrical solution.
    Seems we'll have to wait and see 'til the end of the year - or eventually the Embedded World 2018 (beginning of March).

    PEBKAC / EBKAC / POBCAK / PICNIC (eventually see en.wikipedia.org)
    #2
    bosco
    Super Member
    • Total Posts : 2119
    • Reward points : 0
    • Joined: 2004/07/24 10:17:53
    • Location: Idaho
    • Status: offline
    Re: what would you do with a dual core dspic? 2017/11/22 07:10:17 (permalink)
    4 (2)
    Multiple cores have existed in the ARM community for many years.  Typical they run a M4 to do DSP, math, cripto, other heavy lifting.  Then they use a M0 core to do peripheral like USB, SPI, SD card.  They usualy share a large chunk of ram to be used as mailboxes, and each core can generate an interrupt to the other core to signal data available in the mail box.
     
    phones have the big/little concept where one uses a quad core A9 while active, but turned off when in sleep, and a small A5 core runs hosekeeping in low power state.
     
    so dual cores are usefule for power saving (if one can shut down one of the cores) and for dividing up the work.
    #3
    JPortici
    Super Member
    • Total Posts : 431
    • Reward points : 0
    • Joined: 2012/11/17 06:27:45
    • Location: Grappaland
    • Status: offline
    Re: what would you do with a dual core dspic? 2017/11/22 07:45:50 (permalink)
    0
    Please note I was not talking about multi-core mcus in general.. i know that multi core ARMs have existed for years.
    i was talking about two dsPIC cores!
    I think I would use them mainly for offloading tasks so even if the second core is "crippled" (meaning no DSP) i could live with it
     
    I'm also wondering how MPLABX / XC16 will evolve in this sense... 4.05 mentions initial support for dual cores but from what i understood is just about using multiple debuggers at once
    #4
    T Yorky
    Super (Thick) Member
    • Total Posts : 513
    • Reward points : 0
    • Joined: 2012/08/28 02:07:35
    • Location: UK
    • Status: offline
    Re: what would you do with a dual core dspic? 2017/11/22 08:46:19 (permalink)
    0
    Would agree with Bosco here.
    I have used ARM devices that have a 'User' CPU and the second is dedicated for Bluetooth.
     
    Is this not playing catch up. But with 16 bit rather than 32bit.
    Would MPLabX work half as fast? !!
    #5
    du00000001
    Just Some Member
    • Total Posts : 2168
    • Reward points : 0
    • Joined: 2016/05/03 13:52:42
    • Location: Germany
    • Status: online
    Re: what would you do with a dual core dspic? 2017/11/22 09:08:01 (permalink)
    4 (1)
    @ Jack_M
    I do not expect some automatic distribution of "tasks". So this dual-core will basically look like 2 independent cores - eventually sharing some RAM (and Flash). So it's 2 quite independent softwares to develop - maybe merging the hex files in the end.
    Speculation is a bit waste of time - we'll see.

    PEBKAC / EBKAC / POBCAK / PICNIC (eventually see en.wikipedia.org)
    #6
    NorthGuy
    Super Member
    • Total Posts : 5075
    • Reward points : 0
    • Joined: 2014/02/23 14:23:23
    • Location: Northern Canada
    • Status: offline
    Re: what would you do with a dual core dspic? 2017/11/22 09:53:24 (permalink)
    0
    AFAIK, CH is actually 2 MCUs in one. One is big. Other is smaller. Each has its own CPU and periphery. You assign each pin to either one of them. You use mailslots for communications. Say, one is doing non-stop DSP filtering. The other does everything else.
    #7
    Nikolay_Po
    Super Member
    • Total Posts : 1702
    • Reward points : 0
    • Joined: 2012/04/01 13:49:27
    • Location: Russia, Novorossiysk
    • Status: offline
    Re: what would you do with a dual core dspic? 2017/11/22 11:21:49 (permalink)
    0
    May the "C" letter in "CH" mean "Cortex"?
    #8
    du00000001
    Just Some Member
    • Total Posts : 2168
    • Reward points : 0
    • Joined: 2016/05/03 13:52:42
    • Location: Germany
    • Status: online
    Re: what would you do with a dual core dspic? 2017/11/22 11:36:51 (permalink)
    3 (1)
    @ Nicolay_Po
    Cortex + dsPIC? i doubt that. You won't pair a thoroughbread and an old mare.

    PEBKAC / EBKAC / POBCAK / PICNIC (eventually see en.wikipedia.org)
    #9
    crosland
    Super Member
    • Total Posts : 1284
    • Reward points : 0
    • Joined: 2005/05/10 10:55:05
    • Location: Bucks, UK
    • Status: offline
    Re: what would you do with a dual core dspic? 2017/11/22 12:38:23 (permalink)
    0
    du00000001
    @ Jack_M
    I do not expect some automatic distribution of "tasks". So this dual-core will basically look like 2 independent cores - eventually sharing some RAM (and Flash). So it's 2 quite independent softwares to develop - maybe merging the hex files in the end.

     
    The same as every multi-core. Task distribution is handled by a software layer.
     
    #10
    du00000001
    Just Some Member
    • Total Posts : 2168
    • Reward points : 0
    • Joined: 2016/05/03 13:52:42
    • Location: Germany
    • Status: online
    Re: what would you do with a dual core dspic? 2017/11/22 13:23:00 (permalink)
    3 (1)
    No - not the usual "task distribution by software"! (Which is what I denominate 'automatic'.)
    Each core executes its own code. Task distribution is done 'by coding'. This is more like 2 separate microcontrollers that share some piece of DPRAM.

    PEBKAC / EBKAC / POBCAK / PICNIC (eventually see en.wikipedia.org)
    #11
    crosland
    Super Member
    • Total Posts : 1284
    • Reward points : 0
    • Joined: 2005/05/10 10:55:05
    • Location: Bucks, UK
    • Status: offline
    Re: what would you do with a dual core dspic? 2017/11/23 05:36:24 (permalink)
    3.5 (2)
    du00000001
    No - not the usual "task distribution by software"! (Which is what I denominate 'automatic'.)

    It's still done by coding. Someone has to code the software to start/stop tasks on each core. This is SMP or Symmetric Multi Processing. All cores run the same OS and any core can run any task, as scheduled.
     
    Each core executes its own code. Task distribution is done 'by coding'. This is more like 2 separate microcontrollers that share some piece of DPRAM.

    This is AMP or Asymmetric Multi processing. Each core runs a different OS or application.
     
    Use the industry standard terms rather than confuse things by introducing "automatic" :)
     
    #12
    Isaac_Sewell
    Senior Member
    • Total Posts : 160
    • Reward points : 0
    • Joined: 2003/11/25 06:26:50
    • Location: Sheffield, England
    • Status: offline
    Re: what would you do with a dual core dspic? 2017/11/24 03:22:16 (permalink)
    3 (2)
    for power conversion, one core for trips and one core for control.  That'll save an FPGA on my control board.
    #13
    crosland
    Super Member
    • Total Posts : 1284
    • Reward points : 0
    • Joined: 2005/05/10 10:55:05
    • Location: Bucks, UK
    • Status: offline
    Re: what would you do with a dual core dspic? 2017/11/24 05:14:11 (permalink)
    0
    If you have an FPGA, why are you using a processor? Use a soft core and do both in the FPGA.
    #14
    Isaac_Sewell
    Senior Member
    • Total Posts : 160
    • Reward points : 0
    • Joined: 2003/11/25 06:26:50
    • Location: Sheffield, England
    • Status: offline
    Re: what would you do with a dual core dspic? 2017/11/24 05:31:51 (permalink)
    5 (1)
    No A/D no D/A, none of the other lovely stuff you get on a GS processor.  DSpic is much cheaper and C is much much easier than  VHDL.
    And I don't want to use an FPGA if I don't have to - one more thing to go wrong and to program.  Dual core vs. 2 processors - only one programming port, loads of pins/traces removed, EMC reduced, clock distribution removed, pcb space reduced......  Loads of advantages.
    post edited by Isaac_Sewell - 2017/11/24 05:46:10
    #15
    JanJansen
    Super Member
    • Total Posts : 530
    • Reward points : 0
    • Joined: 2012/08/25 03:26:34
    • Location: 0
    • Status: offline
    Re: what would you do with a dual core dspic? 2017/11/24 05:56:06 (permalink)
    3 (1)
    It would be nice to have "duo core" in 1 core, like the peripherals, without mutator stress.
     
    Then it would be nice to set a ratio :
    by example every 100 instructions processed from core 1, will allow core 2 to process 1 instruction.
    #16
    DavidBLit
    Super Member
    • Total Posts : 1574
    • Reward points : 0
    • Joined: 2012/02/18 13:08:48
    • Location: The Land of Confusion
    • Status: offline
    Re: what would you do with a dual core dspic? 2017/11/24 08:05:40 (permalink)
    0
    JanJansen
    It would be nice to have "duo core" in 1 core, like the peripherals, without mutator stress.
     
    Then it would be nice to set a ratio :
    by example every 100 instructions processed from core 1, will allow core 2 to process 1 instruction.

    Please pardon my ignorance, but why?  And what is "mutator stress"?

    Yeah, "//Code and stuff".
    #17
    JanJansen
    Super Member
    • Total Posts : 530
    • Reward points : 0
    • Joined: 2012/08/25 03:26:34
    • Location: 0
    • Status: offline
    Re: what would you do with a dual core dspic? 2017/11/24 08:59:08 (permalink)
    0
    Mutator is against writing from 2 threads to 1 memory.
    #18
    bosco
    Super Member
    • Total Posts : 2119
    • Reward points : 0
    • Joined: 2004/07/24 10:17:53
    • Location: Idaho
    • Status: offline
    Re: what would you do with a dual core dspic? 2017/11/24 09:27:43 (permalink)
    3 (1)
    JanJansen
    Mutator is against writing from 2 threads to 1 memory.


    that is what mutex or semaphore are for.  Which can easily be done with atomic access to the shared area of RAM.  In ARM land, each core has it's own memory space which is not visible to the other core (or cores since there is at least one ARM that has three cores M4+M0+M0).  but they all share the mailbox memory region. 
    #19
    JanJansen
    Super Member
    • Total Posts : 530
    • Reward points : 0
    • Joined: 2012/08/25 03:26:34
    • Location: 0
    • Status: offline
    Re: what would you do with a dual core dspic? 2017/11/24 09:40:31 (permalink)
    0
    Oh sorry confusing names, oops.
    #20
    Page: 12345.. > >> Showing page 1 of 18
    Jump to:
    © 2018 APG vNext Commercial Version 4.5