biomed12
Junior Member
Offline
Posts: 94
Thank You
-Given: 67
-Receive: 5
|
|
« on: September 21, 2016, 08:33:00 20:33 » |
|
Dear members,
I am working on a project now. The project is mcu based. Very basically, It is a medical signal processing board which have usb and internet connection feature. So, there are two main jobs in there.
1- signal processing(digital filter algorithms and adc process etc..) 2- peripheral tasks(lcd, TCP communication, USB etc..)
I thought to use 2 MCU for project. For first, dsPIC30f3014 and for second, 18f4550. But I am not sure for using these devices. Because, I feel it like an unnecessary hardware component consumption... On the other side, I think I should use a MCU apart from 18f4550 because sampling rates will be high(about 2000 samples per second).
What do you think about it dear members, especially who are related to signal processing areas.
Thanks.
|
|
|
Logged
|
|
|
|
frnando
Newbie
Offline
Posts: 24
Thank You
-Given: 10
-Receive: 4
|
|
« Reply #1 on: September 21, 2016, 08:52:11 20:52 » |
|
If you're on Microchip families, why not use a PIC32? You can have ethernet and usb connection on the same chip, and a lot of horsepower (MIPS) and memory to deal with signal processing, and no worries about inter-chip communications.
|
|
|
Logged
|
|
|
|
baybay
Newbie
Offline
Posts: 31
Thank You
-Given: 15
-Receive: 34
|
|
« Reply #2 on: September 21, 2016, 09:53:07 21:53 » |
|
All of them are microchip's product but they are very different MCUs. especially PIC32 and other pic series. Since, PIC32 builts arround MIPS core. PIC32's architecture is very different and also instruction set is very different. I don't have any information about PIC32's signal processing capabilities but ARM Cortex-M4 and M7 have very strong DSP capabilities.
Cortex-M7's pipelines are "superscalar" pipeline. I think Cortex-M7 MCUs (atmel or stm32f7 series) are good solution..
|
|
|
Logged
|
|
|
|
Checksum8
Active Member
Offline
Posts: 132
Thank You
-Given: 124
-Receive: 102
|
|
« Reply #3 on: September 21, 2016, 10:51:50 22:51 » |
|
If you can go 3 volts the Dspic33ep family is a good choice and use an external usb IC like this for example http://www.ftdichip.com/Products/ICs/FT600.htmlOr pic32, microchip has a DSP library for this family.
|
|
« Last Edit: September 21, 2016, 10:54:14 22:54 by Checksum8 »
|
Logged
|
|
|
|
|
biomed12
Junior Member
Offline
Posts: 94
Thank You
-Given: 67
-Receive: 5
|
|
« Reply #5 on: September 22, 2016, 04:19:11 16:19 » |
|
Which component do you recommend as a 16-bit adc IC? Posted on: September 22, 2016, 05:17:08 17:17 - Automerged
Some members says consistently for using PIC32s but I dont know anything about it and its architecture. Also I don't have enough time to learn it.
|
|
|
Logged
|
|
|
|
Sideshow Bob
Cracking Team
Hero Member
Offline
Posts: 1001
Thank You
-Given: 231
-Receive: 983
|
|
« Reply #6 on: September 22, 2016, 09:05:50 21:05 » |
|
Which component do you recommend as a 16-bit adc IC?
Posted on: September 22, 2016, 05:17:08 17:17 - Automerged
Some members says consistently for using PIC32s but I dont know anything about it and its architecture. Also I don't have enough time to learn it.
That will depend on many factors. Like is the input uni or bipolar, input signal range and many others. number of inputs and conversions speed. To mention a few. You must tell us much more about your project and what you plan to do. You seem to be quite new at this. Are you a student
|
|
|
Logged
|
I have come here to chew bubblegum and kick ass... and I'm all out of bubblegum
|
|
|
Signal
Active Member
Offline
Posts: 200
Thank You
-Given: 113
-Receive: 81
|
|
« Reply #7 on: September 23, 2016, 03:22:38 15:22 » |
|
digital filter algorithms and adc process etc..
There are two main factors you should define about your DSP after defining desired algorithm: acceptable delay, and amount of calculations. These factors are somehow connected through selection of algorithms and ability of chosen hardware. For example, if there is no control loop in your application and all you need is to pass conditioned data to host then some buffering and thus block implementation of algorithm could be more effective on certain processor, while needs more memory. Buffering (especially using DMA) helps in case both DSP and control/interface tasks run on single processor. Contrary, if your application needs DSP in control loop then usually you need as short delay as you can achieve, so no block processing - each new sample is processed individually. In that case a stable interrupt latency is also important, that leads to proper processor selection (I'd say rather dsPIC/PIC24 than MIPS32). Without certain numbers that characterize your project you can not get certain answers - just spherical cow in vacuum. Your "etc.." is not specific enough.
|
|
|
Logged
|
Give a right name to a right game and play it right
|
|
|
bigtoy
Active Member
Offline
Posts: 238
Thank You
-Given: 337
-Receive: 297
|
|
« Reply #8 on: September 24, 2016, 09:19:42 21:19 » |
|
I'd be looking at Cortex-M4 parts. They give you DSP instructions, floating point, etc. Specifically take a look at some of the Freescale (now NXP) Kinetis parts. A number of them have 16-bit ADCs on them, ethernet ports, and so on. You should be able to find some parts there which satisfy your needs of CPU power and peripherals.
|
|
|
Logged
|
|
|
|
bobcat1
Senior Member
Offline
Posts: 304
Thank You
-Given: 4285
-Receive: 94
|
|
« Reply #9 on: September 25, 2016, 07:47:09 07:47 » |
|
PIC microcontrollers are very limited for DSP processing although the company trying to show they are most of the algorithm written for DSP processing in PIC was written in assembly language, which point to processing power limitation I recommend you to switch to ARM processor (M4 or M7) who provide optimize algorithm written in C language far more easy to use and understand in compare to algorithm written in assembly language, where you can use Mathlab to generate floating point coefficients and directly add them to the c code where in PIC you will need in most cases convert them to fixed point in other to use them
All the best
Bobi
|
|
|
Logged
|
|
|
|
biomed12
Junior Member
Offline
Posts: 94
Thank You
-Given: 67
-Receive: 5
|
|
« Reply #10 on: September 25, 2016, 05:12:56 17:12 » |
|
There are two main factors you should define about your DSP after defining desired algorithm: acceptable delay, and amount of calculations. These factors are somehow connected through selection of algorithms and ability of chosen hardware.
For example, if there is no control loop in your application and all you need is to pass conditioned data to host then some buffering and thus block implementation of algorithm could be more effective on certain processor, while needs more memory. Buffering (especially using DMA) helps in case both DSP and control/interface tasks run on single processor.
Contrary, if your application needs DSP in control loop then usually you need as short delay as you can achieve, so no block processing - each new sample is processed individually. In that case a stable interrupt latency is also important, that leads to proper processor selection (I'd say rather dsPIC/PIC24 than MIPS32).
Without certain numbers that characterize your project you can not get certain answers - just spherical cow in vacuum. Your "etc.." is not specific enough.
Signal, you are always wanting from me "more details, more details..." but, as I said I am a last class student and trying to learn somethings for practical.. In meantime you behave me like I am a professional person on signal processing or its hardware. If I know these things you mention about, I could do everything myself and do not distrupt people with stupid questions. Posted on: September 25, 2016, 06:07:35 18:07 - Automerged
That will depend on many factors. Like is the input uni or bipolar, input signal range and many others. number of inputs and conversions speed. To mention a few. You must tell us much more about your project and what you plan to do. You seem to be quite new at this. Are you a student Yep. I am very very new. On the other bad side, In no lecture noOne did not mentioned about how realized a digital filter. I am collecting some informations and studying advanced level C Programming language nowadays...
|
|
|
Logged
|
|
|
|
nPn
Newbie
Offline
Posts: 12
Thank You
-Given: 6
-Receive: 3
|
|
« Reply #11 on: September 25, 2016, 05:36:54 17:36 » |
|
dsPIC does have "real" DSP computing features like zero-delay looping (the hardware handles decrementing loop counter and hides the latency), dual ported memory, saturating fixed-point arithmetic (including multiplier), circular addressing. That lets you program very tightly controlled predictable filter, controllers, etc in assembly and gives you much more performance than you expect from MHz count.
But it's always easier to write C for faster chips (even weak Cortex-M3s are much faster) and let the C compiler figure out how to run it fast.
|
|
|
Logged
|
|
|
|
|