PDA

View Full Version : dsPIC ?!



xenon_xplo
- 15th September 2006, 00:23
i donno what is the difference between a High-End (18fxxx) PIC and a dsPIC (30fxxx) ?! plz some one help me out!

ronsimpson
- 1st December 2006, 04:00
I am not an expert but---
A PIC18Fxxxx is a better PIC16Fx with a multiply instruction, better memory, stack and more. Pic Basic Pro works with both.

A DSP is really good at math. (*,+,-,/, and shift) Some DSP can do several math functions in one clock. PBP will not work with a PIC30Fxxx. I wish!!!!!

mister_e
- 1st December 2006, 04:04
the best solution is to go on the Microchip website and compare both, side by side. DsPIC are really great but reaaaaaaaaallllllly different animal than other series 18F or lower.

No coincidence why there's not much compiler who support them. 'Till now Microchip C30, Hi-Tech C, and Mikro Elektronika if my memory is good. I heard that some other alreday work on this.... be patient...

I use them in some audio dsp stuff.

skimask
- 1st December 2006, 04:19
the best solution is to go on the Microchip website and compare both, side by side. DsPIC are really great but reaaaaaaaaallllllly different animal than other series 18F or lower.

No coincidence why there's not much compiler who support them. 'Till now Microchip C30, Hi-Tech C, and Mikro Elektronika if my memory is good. I heard that some other alreday work on this.... be patient...

I use them in some audio dsp stuff.



You're using them already? I was thinking about buying the MikroBasic for dsPICs and building one of those huge audio spectrum analyzers using their FFT code. How good is that Microchip code for Audio DSP (well, compared to the garbage they put out for the PIC18Fxxx series a few years ago)...
JDG

mister_e
- 1st December 2006, 04:38
Well, the Microchip audio library AS IS is really poor IMHO.. BUT NO DSP sounds good anyways. If you work a little bit in the existing library... you may have a decent sound. The external hardware is still the key to improve it.

Some will say DSP is the way to go and it offer the best solution... but it's often the same kind of people who will say that MP3 sound is also good :) Audio is an analog thing, so the best way to treat it, is always in analog... but it's not going to fit in the same room and the pricing will never be the same.

You'll have to work few days/weeks/months with those DsPIC before getting comfortable with. I don't use them often but i do appreciate their power.

I can't vouch on any MikroElektronika compiler, i don't use them and i don't have them. And 'till now, none of my customer asked me to develop on MikroE compiler. Maybe one day. I heard they're better than before so far.

I love their development board... for the price and what you get, NONE on the market beat them.

18F send garbage because they have their limitation. They're not dedicated for that. 24 series could do better.

Most of the time, you find better match with existing Dsp solution + simple microcontroller (12F, 16F or else) for about the same price, and save development time. At least Ti and ST do some nice one.

if you want to do a simple audio spectrum, analyser... you should have a look at TDA7416... half job is done and you get a free eq with ;)

ronsimpson
- 1st December 2006, 17:44
Micro vs DSP
A micro is built to look at a key—blink a LED- send “hello” out the serial port.
A DSP is built to look at audio or video and do 100s of millions of math operations/second. I have worked on projects where we looked at a pixel of video plus the nearest 10 pixels (times 3; red, green & blue) ran all 30 values through a formula 30,000,000 times a second. The little dsPIC cannot run that fast. A DSP can do micro-type jobs like blink a LED but it is a wast.

MATH: Let’s say we have an 8 bit micro. The largest number it can easily think of is 11111111 binary or 255 decimal. 255+1=0 + carry. So:254+1=255+1=0+1=1+1=2+1=3
Numbers role over from largest to smallest or from smallest to largest.

In typical DSP math there is “saturation”. So:254+1=255+1=255+1=255+1=255-1=254-1=253 In audio if the signal gets too large it should saturate or clip not role over!

The Mikro.com compilers look good. The Basic, C and Pascal compilers have the same look and feel. (good) The PIC, 8051, RISK and DSP compilers have the same look and feel. (mostly good) I think the DSP version treats the DSP like a micro to get the same feel. The little dsPIC should be able to do 40 bit adds, substation and shifts with saturation in one instruction and 17 bit multiplies with saturation. By looking at the manual and I feel the DSP-mikroBASIC compiler only uses 16 bit ‘role over’ math. There is no real DSP functions. I do not see a way of easily making an audio graphic-equalizer out of a dsPIC using the DSP-mikroBASIC compiler. A DSP doing a micro’s job will be fast, but if it is limited to doing a micro’s job by the mikro compiler. I just could not find FFT code maybe I misted it.

skimask
- 1st December 2006, 23:48
Micro vs DSP
A micro is built to look at a key—blink a LED- send “hello” out the serial port.
A DSP is built to look at audio or video and do 100s of millions of math operations/second. I have worked on projects where we looked at a pixel of video plus the nearest 10 pixels (times 3; red, green & blue) ran all 30 values through a formula 30,000,000 times a second. The little dsPIC cannot run that fast. A DSP can do micro-type jobs like blink a LED but it is a wast.

MATH: Let’s say we have an 8 bit micro. The largest number it can easily think of is 11111111 binary or 255 decimal. 255+1=0 + carry. So:254+1=255+1=0+1=1+1=2+1=3
Numbers role over from largest to smallest or from smallest to largest.

In typical DSP math there is “saturation”. So:254+1=255+1=255+1=255+1=255-1=254-1=253 In audio if the signal gets too large it should saturate or clip not role over!

The Mikro.com compilers look good. The Basic, C and Pascal compilers have the same look and feel. (good) The PIC, 8051, RISK and DSP compilers have the same look and feel. (mostly good) I think the DSP version treats the DSP like a micro to get the same feel. The little dsPIC should be able to do 40 bit adds, substation and shifts with saturation in one instruction and 17 bit multiplies with saturation. By looking at the manual and I feel the DSP-mikroBASIC compiler only uses 16 bit ‘role over’ math. There is no real DSP functions. I do not see a way of easily making an audio graphic-equalizer out of a dsPIC using the DSP-mikroBASIC compiler. A DSP doing a micro’s job will be fast, but if it is limited to doing a micro’s job by the mikro compiler. I just could not find FFT code maybe I misted it.


I've got a relatively good feel for the difference between the dsPIC (or DSP MCU's in general) and the regular PIC. I'm thinking about 'moving up' to the dsPIC, if not for the DSP functionality, just for the raw speed (40MIPS dsPIC max vs. 10MIPS PIC max). I've got a couple of projects that could use a bit of a speed boost, and as far as I can tell, I can use the dsPIC's just like a PIC, just sorta 'ignore' the DSP functions. A bit of a waste to use a dsPIC to blink lights, but hey, what can ya do. Microchip isn't making any 40MIPS (160mhz) PIC18Fxxxx yet.
JDG

xenon_xplo
- 2nd December 2006, 01:46
hey! tnx you all,..u really helped me,..tnx

Normnet
- 2nd December 2006, 03:53
I have been looking into the Silicon labs 100 MIPS micro's.
No dip package as short traces are required for this kind of speed.

MCU Selector Guide
http://www.silabs.com/tgwWebApp/appmanager/tgw/tgwHome?_nfpb=true&_pageLabel=interactiveGuide&col=mips

Programmable in basic:
MCU User Forum: Basic compiler for C8051F120
http://www.cygnal.org/ubb/Forum1/HTML/000948.html


> Subject: BASIC 8051F120
> Message:
> I am looking into moving to SI Labs 8051F120 series 100 MIPS microchips.
> My programming background is in basic.
> I would be utilizing the Bascom 8051 basic compiler to hex file.
> Would the C8051F120DK development kit accept hex file and program 8051F120 micro?

> Norm

Hello,

If the Bascom 8051 is producing an INTEL HEX file, then you will be able to upload this file to the F120DK using the
Silabs IDE.

Unfortunately, we do not have any examples nor experience with Bascom 8051 and Basic, so we wont be able to help you very much in this area.
Please let us know if you have further questions.

Best regards,
MCU Technical Support
Silicon Labs Europe


Am waiting for this:


Date: Monday, October 16, 2006

> Message:
> Looking to program the Silicon Labs C8051F120 100 MIPS microchip.
>
> Do any of the development boards program it?
>
> Norm
>
Dear Sir / Madam

We do not have the development boards for Siliconl Labs MCUs yet.
We are planning to make board for this family in next few months.

Best regards
mikroElektronika Support Team


Not certain if Bascom (basic) reaches 100 MIPS?

I am in no way unhappy with PicBasicPro or Proton.
Audio and Video apps.

"More speed Scotty"

Norm

ronsimpson
- 4th December 2006, 15:41
First; PicBASIC Pro and a PIC will do most projects. If you choose a different compiler you will probably end up writing your own “LCD-out”, key-board input, etc. Many compilers do not have input/output routines.

I have used the Silicon Labs fast 8051s. 100x speed over the original 8051.
I really like the little C8051F351. (very hard to solder) It is not rally a DSP.

If you want speed look at any of the ARM parts. (everyone makes then) 32 bit. Only 40 to 60 MIPS but some instructions do more than one thing in a single instruction. Try doing a 32 bit add in an 8051. The ARM does a 1 instruction 32 bit add. The ADUC7022 does 32 multiply with 64 bit results. $4.00 @ 1,000 pieces Analog Devices has a “ARM Stamp” or if you have to use BASIC try Coridium ARM board or ‘stamp’.

Normnet
- 6th December 2006, 06:28
Thanks for reply

Looking into Coridium ARM board.
Looks OK for 1 - 2. Stamp price.

Cost effective to purchase programmer.
Other ARM Basic?

Norm

ronsimpson
- 6th December 2006, 15:31
I really want ARM Basic but Coridium is the only thing I have found. There is ARM Forth and ARM C.
I would use the ARM board and not the ARM stamp; the board giving more options.
The ARM board is $49 and the software is free.
With PicBasicPro the software is $200 and the silicon is $2.00. It takes 4 projects to equal out.
_________________________________

Thanks for reply

Looking into Coridium ARM board.
Looks OK for 1 - 2. Stamp price.

Cost effective to purchase programmer.
Other ARM Basic?

Norm

pool_guita
- 11th June 2007, 20:27
My question, i'm developing a programme with the dspic30f3014, i need to do a menu controlled by two buttons, so i'm using the util library.
I'm displaying a message in a LCD 2X16, then i'm making an if routing to read the portd of my IC and then i send a new message...
But i'm having problems with the second message, i't does'nt appear.
I'm using mikroBasic or it, here is the programme, if anyone could help me to find the error...
Thanks a lot

program MENU

dim cuerda as integer
dim enter as integer
dim i as integer
dim j as integer
dim abajo as integer

TRISF = $0000
TRISD = $FFFF
enter = 0
abajo = 0
cuerda = 0
i = 0
j = 0

Lcd_Init(PORTF, 6, 5 ,4, 3, PORTF, 0, 1, 2)

Lcd_Cmd (LCD_CURSOR_OFF)
Lcd_Cmd (LCD_FIRST_ROW)
Lcd_Out (1, 1, "Bienvenido")
Lcd_Cmd (LCD_SECOND_ROW)
Lcd_Out (2, 1, "Presione enter")
While i<5
if Button (PORTD, 1, 50, 1) = 1 then
abajo = abajo + 1
end if
i=i+1
select case abajo
case 1
Lcd_Cmd (LCD_CURSOR_OFF)
Lcd_Cmd (LCD_FIRST_ROW)
Lcd_Cmd (LCD_CLEAR)
Lcd_Out (1, 2, "Guitarra")
end select
wend
end

Acetronics2
- 11th June 2007, 20:49
Hi, Pool

I just think you committed two errors ...

1) PBP doesn't yet support dsPics
2) It's not MkBasic Forum here ...

sure Zristic will have pleasure to answer your question ...

arrivederchi ...

Alain