hello. a newbei here. regarding dsPIC

Status
Not open for further replies.

telecomm12

New Member
hey people.

im looking to do a project using dsPIC... but i have NO idea where to get started.

the first time i ever heard the term "dsPIC" was today at around 3:00 pm, so that gives you an idea how much i know about these things. i came home and googled it a bit. i came across a few electronics forums and signed up. electro-tech being one of them.. anyways, good to know such a forum exists.

but i must also say that i am familiar with 8051 microcontroller, since im an electronics technician, not a very good one either.

i would be thankfull to anybody who gives me ideas and helps me out here. i wana do a project that is not THAT easy.. u know. dont want to do anything like using simple gates to make an indruder alarm, u know what i mean?

so, again, i would be thankfull to all of you if u can guide me into right direction.

stay happy, cuz thats all that matters.

lates.

P.S. a great forum.
 
Microchip of course has a dsPIC forum.
What do you want to do that needs a dsPIC? dsPIC is a fine 16-bit core in itself. More advanced peripherals. And it's got some neat software libraries for digital filters, speech recognition, and noise suppression.

Go on Digikey and pay $5 for the Speech Recognition library. If you just want to toy around that's gotta be fun.
 
re:..

thank u for ur reply.


yes i have signed up at the microchip forum too.

would you know of any books out there on dsPIC? from what i have read on the internet so far, dsPIC is pretty new and there isn't much literature on it, but i could be wrong sincei dont know anything about it.

i was wondering what could be done using both dsPIC and an 8051 together.

its just that i need to do a GOOD technologist project. but i dont know where to start.

thank u for ur replies.
 

There's the spec sheet. That pretty much says what it does. Not a lot of reason to make a book about all the things in the world it can do, that's up to what you want it to do.

I'm not sure you understand what a dsPIC is. It's a complete, very powerful microcontroller. It has its own program space, RAM, and peripherals and a lot of 'em. What purpose would coupling it with another, far less capable microcontroller?

To start, you need a task...

Like I say, ready made apps include:
speech processing- noise reduction, echo cancelling
speech encoding/decoding (simple compression)
speech recognition
digital filters
motor control- can work with accelerometers/position sensors to make fast & smooth movement

In general these operations could be performed by non-dsp cores. However, in practice, normal PICs are too slow to do it. For one, dsPIC is capable of faster instruction cycles, like 3x faster. Second it's a 16-bit core and can do a math op on two 16 bit operands in one cycle whereas this takes many cycles with an 8-bit non-dsp PIC. There are a number of additional core instructions specifically for crunching numbers that have no parallel in 8-bit cores. So doing a digital filter smokes by at many, many times the speed.
 
thank you for your reply.

pardon my ignorance, its just that my world is limited to 8051 only because im still learning it, so i thought this was it.

if you could clarify as to which programming language does dsPIC require, is it the same pic programming or something new or different?

thank you again. i dont mean to be annoying.
 
dsPIC, like all microcontrollers, runs assembly code which is specific to that piece of hardware. All dsPICs current run on the same core of assembly instructions as far as I know, but it's a different instruction set than PIC18F for example.

Microchip provides a free (and high quality) C complier and design environment software called MPLAB. The compiler turns generic C code into assembly for a particular device, ready to be programmed onto it. C is meant to be non-device specific in general, though there are exceptions. In general C code snippets written for PIC18F could run well as part of a dsPIC project but it may require some minor editing. They changed syntax on how interrupt routines are declared for example. And they made up their own qualifiers for where a variable needs to be located.

Very intense stuff- like dsPIC's speech recognition/dsp filters/noise suppression libs- is not written in C. It's done in assembly because compiling is generally not as efficient and inappropriate for fast number crunching. But you still use it from C. For example, I write C that stores a 10mS block of samples off an ADC and write a C line:
NoiseSuppresion(myDataBlock, scratchMem);
and it goes straight to the assembly task and comes back just like it was a task written in C.
 
thank you very much for this info.

i will start working on assembly language and c++ immediately to learn these languages in detail. then i will dedicate myself to learning C language after i am done with these too.

and i will download MPLAB immediately and start getting familiar with and practice on it.

thank you again sir.
 
Look at C, not C++. C++ is Object Oriented, which is not used for microcontrollers. The stack and memory management aren't appropriate.

You need MPLAB C30 Student Edition (free) and MPLAB IDE (also free).
Next time you're on Digikey, order their packages:
Speech Recognition lib- $5 "Evaluation Copy" (full functional, just not licensed for commercial product use)
Noise Suppression lib- $5, same
Speech Encoding lib- $5, same
 
Status
Not open for further replies.
Cookies are required to use this site. You must accept them to continue using the site. Learn more…