This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Application guru advice wanted: DSP or OMAP?

Other Parts Discussed in Thread: TMS320C6748

Hi Everyone, I'm developing an embedded controller application, but have no prior experience with DSP or OMAP. I'm seeking some advice from experienced engineers who have experience on both platforms to offer some heuristic advice on processor selection to get me started on the right foot.

Our application is 2-input 2-output control of a device with a sample rate of 10kHz. We'll be using a model predictive control algorithm, so there will be approximately 1000 multiplication operations and similar number of addition operations required per time-step. Thus, our processor needs to run at 10MHz at least; certainly more with other data management operations taken into account.

We are considering using a modified Beagleboard as the processor platform, or a custom layout of a TMS320c6748 DSP processor. My impression is that Beagleboard/OMAP is attractive because the hardware implementation for the processor is already done and we can do our boot-loading from the SD card, making software upgrades easier. However, I'm concerned that having the DSP hidden behind a layer of Linux may make developing and debugging the project difficult, and there may be possible problems in providing deterministic outputs. There certainly seems to be a lot of software issues listed on the Beagleboard/OMAP developer sites. But the processor has a lot of power which can't be overlooked.

On the contrary, a 6748 DSP may be more straightforward to program and offer deterministic output, but we have to consider more complex custom hardware develoment, boot-loading, hardware component availability issues etc.

We need to be able to stream the set-point data to the controller, presumably at this point via a USB link.

BTW, our application is not mission critical - nobody will be injured upon failure.

So which of these paths, or alternative path, should we pursue, in your opinion?

Thanks, justine.

 

  • Justine,

    I think you are right on the right track with the initial assessment of the problem.  If you are linux savvy, BeagleBoard provides a great platform with plenty of community support (mostly for the ARM processor).  However, you may get tripped up working with a 2 processor system (OMAP has both ARM and DSP processors), and if you are a novice with linux, it may take you a while to figure out how to properly configure your system just to start using the DSP.  Alternatively, if you like the hardware aspects of the Beagleboard, you can use it as sort of a DSP only system by debugging your DSP code thru JTAG.  Then later on, figure out how to get ARM to configure everything properly, download the code for the DSP, and run from there.

     From what you describe, OMAP itself may be a bit of overkill for your project.  If you had a lot of general purpose processing needs for things like user interfaces, file systems, displays, storage, etc. OMAP is a great platform because the ARM processor can take care of all of that, while the DSP does the hard core algorithm calculations.  A DSP only system can provide you with a more focused software platform suited to your needs.  I'm not too familiar with the DSP h/w platforms, but I think there are some available with bootloading and peripheral support.  These might be enough to get you started.

    Also note that a c67x is a floating point DSP.  If you require that, you would need to stay with a DSP only solution.  OMAP processors have a fixed point c64x.

    Regards,

    James