| Author |
Message |
intellijel
Joined: Sep 10, 2006 Posts: 66 Location: Vancouver, BC
|
Posted: Wed Jul 07, 2010 3:33 pm Post subject:
dsPic or ??? Subject description: starting out in DSP coding |
 |
|
I have been doing quite a bit of coding on 8bit microcontrollers (mainly atmel stuff) but I want to start playing with basic DSP with the eventual goal of making a virtual oscillator for a synth.
I have been looking at various platforms to jump into and so far I feel like the dsPic33 based stuff will be be best choice. This is based on the fact that the dev tools are cheap, lot's of example code and it seems relatively easy to use.
However, I don't want to commit to learning a new system if it has no future.
Is there any other platform I should consider instead? |
|
|
Back to top
|
|
 |
JovianPyx

Joined: Nov 20, 2007 Posts: 1081 Location: West Red Spot, Jupiter
Audio files: 123
|
Posted: Wed Jul 07, 2010 4:23 pm Post subject:
|
 |
|
Whether it's right/wrong depends on what you wish to accomplish.
I'm also going to start playing with dsPIC for music. I've been developing my synth hardware on FPGAs and decided to see what a dsPIC can do. I understand that the FPGAs I've been using are quite a bit more powerful than a dsPIC, but for certain things, dsPICs are very convenient.
I would get one with as much internal RAM as possible...
My hopes are to be able to make up to 4 voice MIDI polysynths. I believe this is possible. Such as a 4 string karplus-strong string physical model. I'm also sure I could make a decent monosynth with a dsPIC. The architecture is weird, but powerful for the money. I will program it in assembly, so the cost for the development tools is zero. _________________ FPGA Synth Stuff
FatMan Mods
dsPIC Synth Stuff I am formerly known as ScottG here Time flies like a banana. Fruit flies when you're having fun. BTW, Do these genes make my ass look fat?
|
|
|
Back to top
|
|
 |
emeb

Joined: Dec 16, 2008 Posts: 25 Location: Arizona
|
Posted: Wed Jul 07, 2010 5:17 pm Post subject:
|
 |
|
I've had a fair amount of success with using dsPICs in electronic music. Here are a few of the projects I've documented online:
http://members.cox.net/ebrombaugh1/synth/index.html
(note that there are some other projects mixed in there - FPGA and commercial stuff)
As you're probably aware there are a lot of different variations of the dsPIC available. I tend to use mostly the dsPIC33FJxxxGP20x and dsPIC33FJxxxGP80x parts because they are fairly new and have some nice peripherals, including the pin select mux and the stereo DAC in the '80x chips. While I do mostly SMD construction, these parts come in 300mil PDIP as well and so are easy to breadboard. There are a variety of pin-compatible parts in these families that have different amounts of flash and RAM, so you can scale a system up & down without changing the circuit.
For development the free MPLAB environment is easy to use and fairly quick to learn. You can install the free student version of the C compiler for reasonable performance, but you'll get the most out of these parts by using assembly since the C compiler really doesn't know how to tap into the DSP features. I've found the instruction set to be fairly intuitive - there are plenty of processor registers and most instructions can use any of them, although some serve special functions when doing DSP. You will have to fork out some $$ for a programmer, but there are some available for less than $100.
As far as what you can do with them - probably the most complex designs I've done are the MOTM E340/E350 oscillators which use just about every spare processor cycle available while running at the max clock rate. The E340 runs up to 8 simultaneous oscillators with anti-aliased sawtooth and sines, along with lowpass filtered random modulation. I'd guess that a 4-voice MIDI synth would be well within its capability. |
|
|
Back to top
|
|
 |
intellijel
Joined: Sep 10, 2006 Posts: 66 Location: Vancouver, BC
|
Posted: Wed Jul 07, 2010 10:53 pm Post subject:
|
 |
|
| emeb wrote: | | probably the most complex designs I've done are the MOTM E340/E350 oscillators which use just about every spare processor cycle available while running at the max clock rate. |
The E340 and and E350 are great! In fact those were the kind of modules I had in mind in terms of processing power so if you were able to do those on a DSPic then that seems a good place to start.
It does sound like you are a bit of a code ninja in terms of getting the most power you could out of them but I would probably be happy enough with simpler implementations. |
|
|
Back to top
|
|
 |
intellijel
Joined: Sep 10, 2006 Posts: 66 Location: Vancouver, BC
|
|
|
Back to top
|
|
 |
emeb

Joined: Dec 16, 2008 Posts: 25 Location: Arizona
|
Posted: Wed Jul 07, 2010 11:08 pm Post subject:
|
 |
|
I've got no experience with that dev board - I've always just used bare chips on a breadboard, or else my own PCBs. Features look pretty good though - they've got a full-up codec and it appears that the programmer logic is on there too.
If I were getting a new programmer today I'd go for the ICD3 - I've heard good things about it. Looks like you may not need it though if you're getting the DM330011. It would be worthwhile checking to make sure. |
|
|
Back to top
|
|
 |
wooster

Joined: Jul 25, 2007 Posts: 63 Location: Austin, TX
|
Posted: Thu Jul 08, 2010 3:54 pm Post subject:
|
 |
|
You can program dsPICs with the $35 PicKit programmer. The great thing about the dsPIC is that they come in DIP packages. So you can plop one into a breadboard with a couple of capacitors and a few wires to the PicKit. So you don't really need a development board.
A lot of the example code on the Microchip website is written in C so I think the easiest way to get started is to use the C30 compiler. You can access the DSP features from C if you use their special macros and libraries, and are careful to do things like declare when a variable should be an accumulator. _________________ Check out woosteraudio.com |
|
|
Back to top
|
|
 |
wooster

Joined: Jul 25, 2007 Posts: 63 Location: Austin, TX
|
Posted: Thu Jul 08, 2010 3:57 pm Post subject:
|
 |
|
Actually I have that starter kit (DM330011) and don't need it anymore. If anybody wants I can sell it for a very steep discount. _________________ Check out woosteraudio.com |
|
|
Back to top
|
|
 |
|