DSPRelated.com
Forums

Which processor?

Started by andr...@gmail.com February 9, 2011
Does anybody know a TI fixed-point processor with following specs?
- preferrably based on ARM9
- 200..400MHz clock freq
- much internal memory (192kBytes minimum)
- Chip Select Library (CSL) - in particular for USB
- fully functional 16 GPIOs with DMA with support for pulse widths as short as 1/(32MHz) ~= 30ns (wish, but 1/(16MHz) ~= 60ns is okay as well)

I know the OMAP-L137 which has a C6747 and an ARM9 in it. I'm fully satisfied with it except that it does not have a fully usable CSL -- in particular not for USB which is a problem.

I know the C5515 which is a little bit too slow and its GPIOs don't have DMA - which is a problem again. Its faster version, the C5509 wouldn't have those problems, but it's not an ARM.

Or do you have experience in using USB and other peripherals easily with the OMAP-L137 or OMAP-L138 without going through all the DSP/BIOS and Plattform Support Package stuff?

TI support couldn't help me so far.

Thanks for sharing your experience

Best regards,
Andreas

_____________________________________
Andreas,

Writing the code to perform reads/writes from/to the peripheral registers and
twiddling the bits within the registers is very easy.
As long as you know what you want to accomplish, it should be no problem to
write your own low level peripheral drivers.

I would expect the 6747 would do all that you want, although I'm not sure it
will be able to process input/output pulses at 1/32meg rates.

R. Williams
---------- Original Message -----------
From: a...@gmail.com
To: c...
Sent: Tue, 08 Feb 2011 17:10:58 -0500
Subject: [c6x] Which processor?

> Does anybody know a TI fixed-point processor with following specs?
> - preferrably based on ARM9
> - 200..400MHz clock freq
> - much internal memory (192kBytes minimum)
> - Chip Select Library (CSL) - in particular for USB
> - fully functional 16 GPIOs with DMA with support for pulse widths as
> short as 1/(32MHz) ~= 30ns (wish, but 1/(16MHz) ~= 60ns is okay as well)
>
> I know the OMAP-L137 which has a C6747 and an ARM9 in it. I'm fully
> satisfied with it except that it does not have a fully usable CSL --
> in particular not for USB which is a problem.
>
> I know the C5515 which is a little bit too slow and its GPIOs don't
> have DMA - which is a problem again. Its faster version, the C5509
> wouldn't have those problems, but it's not an ARM.
>
> Or do you have experience in using USB and other peripherals easily
> with the OMAP-L137 or OMAP-L138 without going through all the DSP/BIOS
> and Plattform Support Package stuff?
>
> TI support couldn't help me so far.
>
> Thanks for sharing your experience
>
> Best regards,
> Andreas
------- End of Original Message -------

_____________________________________
Andreas-

> Does anybody know a TI fixed-point processor with following specs?
> - preferrably based on ARM9
> - 200..400MHz clock freq
> - much internal memory (192kBytes minimum)
> - Chip Select Library (CSL) - in particular for USB
> - fully functional 16 GPIOs with DMA with support for pulse widths as short as 1/(32MHz) ~= 30ns (wish, but 1/(16MHz)
> ~= 60ns is okay as well)
>
> I know the OMAP-L137 which has a C6747 and an ARM9 in it. I'm fully satisfied with it except that it does not have a
> fully usable CSL -- in particular not for USB which is a problem.

Can you clarify? Are you saying that TI software is not updated yet for OMAP-L137? Or there is some functional mode
or feature set that TI is not implementing (doesn't plan to implement) that you need?

> I know the C5515 which is a little bit too slow and its
> GPIOs don't have DMA - which is a problem again. Its faster
> version, the C5509 wouldn't have those problems, but it's
> not an ARM.
>
> Or do you have experience in using USB and other peripherals
> easily with the OMAP-L137 or OMAP-L138 without going
> through all the DSP/BIOS and Plattform Support Package stuff?
>
> TI support couldn't help me so far.

Does this mean you asked on the e2e forum? Or local FAEs?

-Jeff

_____________________________________
Andreas,

On 2/9/2011 10:22 AM, Jeff Brower wrote:
>
> Andreas-
>
> > Does anybody know a TI fixed-point processor with following specs?
> > - preferrably based on ARM9
> > - 200..400MHz clock freq
> > - much internal memory (192kBytes minimum)
> > - Chip Select Library (CSL) - in particular for USB
> > - fully functional 16 GPIOs with DMA with support for pulse widths
> as short as 1/(32MHz) ~= 30ns (wish, but 1/(16MHz)
> > ~= 60ns is okay as well)
> >
> > I know the OMAP-L137 which has a C6747 and an ARM9 in it. I'm fully
> satisfied with it except that it does not have a
> > fully usable CSL -- in particular not for USB which is a problem.
>
> Can you clarify? Are you saying that TI software is not updated yet
> for OMAP-L137? Or there is some functional mode
> or feature set that TI is not implementing (doesn't plan to implement)
> that you need?
>

I'm not sure what you mean by "fully usable CSL".
I believe that all of the c6x USB interfaces are of the same [or
slightly tweaked] design. This means that they all use the same [or
slightly tweaked] CSL.
IMO - if you study the interface enough to really understand it, it is
fairly easy to adjust the CSL to your liking [while breaking TI
compatibility] as you go.
TI has USB driver implementations that 'do something' resembling working.
Are there specific items missing in the TI implementation??
Do you just not like the way that CSL defines ports and bits??

mikedunn
> > I know the C5515 which is a little bit too slow and its
> > GPIOs don't have DMA - which is a problem again. Its faster
> > version, the C5509 wouldn't have those problems, but it's
> > not an ARM.
> >
> > Or do you have experience in using USB and other peripherals
> > easily with the OMAP-L137 or OMAP-L138 without going
> > through all the DSP/BIOS and Plattform Support Package stuff?
> >
> > TI support couldn't help me so far.
>
> Does this mean you asked on the e2e forum? Or local FAEs?
>
> -Jeff
Richard,

Thank you very much for the quick response.
You mean it would even be "easy" to write low level drivers for USB (without CSL)? The problem is that as I understand USB is not as simple as some SPI, I2C or other communication. The aim is to have a device behaving correctly according to a USB2.0 device class.
I'll have a look at GPIO and/or SPI specs for the OMAP-L137 to see what's the minimum pulse duration it can handle.
Finally, the C6747 is floating-point. Do you think it'll be faster than the ARM9 for running fixed-point computations or not?

Best regards,
Andreas
Does anybody know a TI fixed-point processor with following specs?
>- preferrably based on ARM9
>- 200..400MHz clock freq
>- much internal memory (192kBytes minimum)
>- Chip Select Library (CSL) - in particular for USB
>- fully functional 16 GPIOs with DMA with support for pulse widths as short as 1/(32MHz) ~= 30ns (wish, but 1/(16MHz) ~= 60ns is okay as well)
>
>I know the OMAP-L137 which has a C6747 and an ARM9 in it. I'm fully satisfied with it except that it does not have a fully usable CSL -- in particular not for USB which is a problem.
>
>I know the C5515 which is a little bit too slow and its GPIOs don't have DMA - which is a problem again. Its faster version, the C5509 wouldn't have those problems, but it's not an ARM.
>
>Or do you have experience in using USB and other peripherals easily with the OMAP-L137 or OMAP-L138 without going through all the DSP/BIOS and Plattform Support Package stuff?
>
>TI support couldn't help me so far.
>
>Thanks for sharing your experience
>
>Best regards,
>Andreas
>
>_____________________________________

_____________________________________
Andreas,

On 2/9/2011 6:41 AM, a...@gmail.com wrote:
>
> Richard,
>
> Thank you very much for the quick response.
> You mean it would even be "easy" to write low level drivers for USB
> (without CSL)? The problem is that as I understand USB is not as
> simple as some SPI, I2C or other communication. The aim is to have a
> device behaving correctly according to a USB2.0 device class.
> I'll have a look at GPIO and/or SPI specs for the OMAP-L137 to see
> what's the minimum pulse duration it can handle.
> Finally, the C6747 is floating-point. Do you think it'll be faster
> than the ARM9 for running fixed-point computations or not?
>

This is actually a system level question - the answer varies depending
on all of the tasks, but based on what I think I have seen...
The idea with 2 processors is to get some parallelism. If the
"computations" have any complexity at all, have the ARM9 hand them off
to the DSP so you can get maximum I/O performance.

mikedunn
> Best regards,
> Andreas
>
> Does anybody know a TI fixed-point processor with following specs?
> >- preferrably based on ARM9
> >- 200..400MHz clock freq
> >- much internal memory (192kBytes minimum)
> >- Chip Select Library (CSL) - in particular for USB
> >- fully functional 16 GPIOs with DMA with support for pulse widths as
> short as 1/(32MHz) ~= 30ns (wish, but 1/(16MHz) ~= 60ns is okay as well)
> >
> >I know the OMAP-L137 which has a C6747 and an ARM9 in it. I'm fully
> satisfied with it except that it does not have a fully usable CSL --
> in particular not for USB which is a problem.
> >
> >I know the C5515 which is a little bit too slow and its GPIOs don't
> have DMA - which is a problem again. Its faster version, the C5509
> wouldn't have those problems, but it's not an ARM.
> >
> >Or do you have experience in using USB and other peripherals easily
> with the OMAP-L137 or OMAP-L138 without going through all the DSP/BIOS
> and Plattform Support Package stuff?
> >
> >TI support couldn't help me so far.
> >
> >Thanks for sharing your experience
> >
> >Best regards,
> >Andreas
> >
> >_____________________________________
> >
> >
Andreas-

First, it might be you can find USB support on the ARM side, for example eLinux, Android -- wherever the open source
guys are actively discussing OMAP + Linux.

Second, are you aware of the Hawkboard? It has OMAP-138; there is a web page for it... maybe that's a place to post
and gain some insight. For example I found Google group posts discussing Hawkboard + USB -- such discussions might be
more generic, "big picture" than you're likely to find on e2e. However, I noticed that TI has this notice at the top
of the Hawkboard page:

TI is aware of the instability problems
that many users are experiencing with
the current HawkBoard.

Third, it looks on the surface like TI dropped the ball on C64x side USB support for OMAP-L137. That's surprising,
normally they are excellent with peripheral I/O support. And they've been supporting USB on various DSPs for so many
years... it doesn't make sense.

My suggestion is to start talking to a good local TI FAE -- not an Arrow or Avnet person, but a TI app engineer who
actually knows stuff, or can find out when he doesn't know. Get him out to your lab, explain the situation in detail
(especially the e2e threads -- quite some evidence there) and make it clear you need the straight story. If there
actually isn't DSP side USB support -- and there isn't going to be -- then you would know for sure.

TI's e2e is a great resource, really good. Freescale, Cavium, Xilinx, etc. are not as good. But, having said that,
it's entirely possible there may be things the e2e guys don't know and don't come through in the threads you found.
I've had a few experiences on e2e where first-year and second-year guys were answering the posts and they read the
data sheet back to me or did a few simple Google searches and then marked the post as "answered". For tough questions
that involve a big picture view -- outside of TI documentation -- it can take time and persistence to get accurate
answers. If you press enough, they may "go deep" inside TI and talk to a designer or someone with many years
experience. But that process takes time and can be a struggle -- both for them and for the poster.

Just guessing, but in the end it might be the case that you have to use the USB via ARM side, then transfer data
internally to the DSP side. That may not be so bad... a lot of platform architectures, not just OMAP, would work this
way. In other cases they wouldn't call it a DSP -- a "media accelerator" core, video assist core, etc.

-Jeff

>>> I know the OMAP-L137 which has a C6747 and an ARM9 in it. I'm fully satisfied with it except that it does not have
>>> a
>>> fully usable CSL -- in particular not for USB which is a problem.
>>
>> Can you clarify? Are you saying that TI software is not updated yet for OMAP-L137? Or there is some functional
>> mode
>> or feature set that TI is not implementing (doesn't plan to implement) that you need?
>
> I began with the OMAP-L137 configuration via DSP/BIOS and using USB
> via PSP (platform support package). The problem is using the PSP for
> USB since it uses Jungo API. The latter does not have a usable
> documentation (just a function reference which basically is a copy of
> prototypes). There is a lot of trouble in customizing the very few
> example codes for one's own needs (theres a 100s of posts on that
> topic on e2e forum, I am not the only one) because you cannot just
> look "ah this function means that" and "this function means that"
> because it's really bad design IMO.
>
> When I tried doing similar things with the C5515 I realized that it is
> much easier to handle all the peripheral stuff by CSL or by direct
> register access. So I look for CSL on the OMAP-L137 page and there is
> no documentation at all. I search in the e2e forum and all it says
> that there is the CSL register part but not the CSL functional part
> for the OMAP-L137/C6747.
> All I needed is the CSL functional part for USB (that what Richard
> refers to as low-level drivers I suppose). Okay I could write it by
> myself, but for example for the C5515 it's - let's say - a few
> thousand lines. Furthermore my code implementing the specific device
> class with the C5515 is another few thousand of lines. So there'd be
> quite some work if there is not such functional CSL for accessing USB
> and USB DMA.
>
>>> I know the C5515 which is a little bit too slow and its
>>> GPIOs don't have DMA - which is a problem again. Its faster
>>> version, the C5509 wouldn't have those problems, but it's
>>> not an ARM.
>>>
>>> Or do you have experience in using USB and other peripherals
>>> easily with the OMAP-L137 or OMAP-L138 without going
>>> through all the DSP/BIOS and Plattform Support Package stuff?
>>>
>>> TI support couldn't help me so far.
>>
>> Does this mean you asked on the e2e forum? Or local FAEs?
>
> I did not asked directly in the forum, I just looked at the threads I
> found. I also asked a similar question like in the original post to
> some FAEs but they didn't answer with respect to the peripheral part.
>
> Andreas
>

_____________________________________
Andreas,

A DSP having floating point only means a couple of things.
Either it has extra instructions that perform floating point operations or it
has a floating point sub processor.
I thing the T.I. DSPs have extra instructions.
So, if you do not use floating point values, the operations will be in fixed
point arithmetic.

I would suggest adding a USB I/O chip to your configuration, as that would be
the fastest and require the least DSP CPU cycles.
Without the USB I/O chip, a lot of DSP CPU cycles will be spent 'bit banging'
the GPIO pins.

BTW:
CSL is just a simplified way to access the peripheral registers.
The main result of using the CSL is the reduction of bit accessing errors within
the DSP registers and alleviating the programmer from having to lookup/know the
low level details of the registers.
This can make the code easier to port to other chips in the T.I. family.

My personal preference is to lookup the registers, so I know exactly what is
going on.

Also, the CSL is mostly macros.
You could write your own macros, if an appropriate CSL is not available.
Time spent writing the macros can make for a real time savings later when
developing the actual application.

R. Williams

---------- Original Message -----------
From: a...@gmail.com
To: c...
Sent: Wed, 09 Feb 2011 07:41:20 -0500
Subject: [c6x] Re: Which processor?

> Richard,
>
> Thank you very much for the quick response.
> You mean it would even be "easy" to write low level drivers for USB
> (without CSL)? The problem is that as I understand USB is not as
> simple as some SPI, I2C or other communication. The aim is to have a
> device behaving correctly according to a USB2.0 device class. I'll
> have a look at GPIO and/or SPI specs for the OMAP-L137 to see what's
> the minimum pulse duration it can handle. Finally, the C6747 is
> floating-point. Do you think it'll be faster than the ARM9 for running
> fixed-point computations or not?
>
> Best regards,
> Andreas
>
> Does anybody know a TI fixed-point processor with following specs?
> >- preferrably based on ARM9
> >- 200..400MHz clock freq
> >- much internal memory (192kBytes minimum)
> >- Chip Select Library (CSL) - in particular for USB
> >- fully functional 16 GPIOs with DMA with support for pulse widths as short
as 1/(32MHz) ~= 30ns (wish, but 1/(16MHz) ~= 60ns is okay as well)
> >
> >I know the OMAP-L137 which has a C6747 and an ARM9 in it. I'm fully satisfied
with it except that it does not have a fully usable CSL -- in particular not for
USB which is a problem.
> >
> >I know the C5515 which is a little bit too slow and its GPIOs don't have DMA
- which is a problem again. Its faster version, the C5509 wouldn't have those
problems, but it's not an ARM.
> >
> >Or do you have experience in using USB and other peripherals easily with the
OMAP-L137 or OMAP-L138 without going through all the DSP/BIOS and Plattform
Support Package stuff?
> >
> >TI support couldn't help me so far.
> >
> >Thanks for sharing your experience
> >
> >Best regards,
> >Andreas
> >
> >_____________________________________
> >
> >
------- End of Original Message -------

_____________________________________
Mike,

Thanks for letting us know that T.I. has available an implementation for the USB
interface. That is something that I had not known.

That will make things much easier for Andreas.

And we can just ignore that prior couple of posts From me on the subject.

R. Williams

---------- Original Message -----------
From: mikedunn
To: Jeff Brower
Cc: c..., Andreas Weiskopf
Sent: Wed, 09 Feb 2011 10:37:33 -0600
Subject: Re: [c6x] Which processor?

> Andreas,
>
> On 2/9/2011 10:22 AM, Jeff Brower wrote:
> >
> > Andreas-
> >
> > > Does anybody know a TI fixed-point processor with following specs?
> > > - preferrably based on ARM9
> > > - 200..400MHz clock freq
> > > - much internal memory (192kBytes minimum)
> > > - Chip Select Library (CSL) - in particular for USB
> > > - fully functional 16 GPIOs with DMA with support for pulse widths
> > as short as 1/(32MHz) ~= 30ns (wish, but 1/(16MHz)
> > > ~= 60ns is okay as well)
> > >
> > > I know the OMAP-L137 which has a C6747 and an ARM9 in it. I'm fully
> > satisfied with it except that it does not have a
> > > fully usable CSL -- in particular not for USB which is a problem.
> >
> > Can you clarify? Are you saying that TI software is not updated yet
> > for OMAP-L137? Or there is some functional mode
> > or feature set that TI is not implementing (doesn't plan to implement)
> > that you need?
> >
>
> I'm not sure what you mean by "fully usable CSL".
> I believe that all of the c6x USB interfaces are of the same [or
> slightly tweaked] design. This means that they all use the same [or
> slightly tweaked] CSL.
> IMO - if you study the interface enough to really understand it, it is
> fairly easy to adjust the CSL to your liking [while breaking TI
> compatibility] as you go.
> TI has USB driver implementations that 'do something' resembling working.
> Are there specific items missing in the TI implementation??
> Do you just not like the way that CSL defines ports and bits??
>
> mikedunn
> >
> >
> > > I know the C5515 which is a little bit too slow and its
> > > GPIOs don't have DMA - which is a problem again. Its faster
> > > version, the C5509 wouldn't have those problems, but it's
> > > not an ARM.
> > >
> > > Or do you have experience in using USB and other peripherals
> > > easily with the OMAP-L137 or OMAP-L138 without going
> > > through all the DSP/BIOS and Plattform Support Package stuff?
> > >
> > > TI support couldn't help me so far.
> >
> > Does this mean you asked on the e2e forum? Or local FAEs?
> >
> > -Jeff
> >
> >
------- End of Original Message -------

_____________________________________
Mike-

Thanks for this update. It sounds like TI is fine on USB for C6747, maybe the documentation or example code is not up
to date.

Andreas, at this point I assume that you ran into some confusing info, I should have read Mike's post before answering
yours, and you should pursue Mike's suggested path.

-Jeff

> On 2/9/2011 10:22 AM, Jeff Brower wrote:
>>
>> Andreas-
>>
>> > Does anybody know a TI fixed-point processor with following specs?
>> > - preferrably based on ARM9
>> > - 200..400MHz clock freq
>> > - much internal memory (192kBytes minimum)
>> > - Chip Select Library (CSL) - in particular for USB
>> > - fully functional 16 GPIOs with DMA with support for pulse widths
>> as short as 1/(32MHz) ~= 30ns (wish, but 1/(16MHz)
>> > ~= 60ns is okay as well)
>> >
>> > I know the OMAP-L137 which has a C6747 and an ARM9 in it. I'm fully
>> satisfied with it except that it does not have a
>> > fully usable CSL -- in particular not for USB which is a problem.
>>
>> Can you clarify? Are you saying that TI software is not updated yet
>> for OMAP-L137? Or there is some functional mode
>> or feature set that TI is not implementing (doesn't plan to implement)
>> that you need?
>>
>
> I'm not sure what you mean by "fully usable CSL".
> I believe that all of the c6x USB interfaces are of the same [or
> slightly tweaked] design. This means that they all use the same [or
> slightly tweaked] CSL.
> IMO - if you study the interface enough to really understand it, it is
> fairly easy to adjust the CSL to your liking [while breaking TI
> compatibility] as you go.
> TI has USB driver implementations that 'do something' resembling working.
> Are there specific items missing in the TI implementation??
> Do you just not like the way that CSL defines ports and bits??
>
> mikedunn
>> > I know the C5515 which is a little bit too slow and its
>> > GPIOs don't have DMA - which is a problem again. Its faster
>> > version, the C5509 wouldn't have those problems, but it's
>> > not an ARM.
>> >
>> > Or do you have experience in using USB and other peripherals
>> > easily with the OMAP-L137 or OMAP-L138 without going
>> > through all the DSP/BIOS and Plattform Support Package stuff?
>> >
>> > TI support couldn't help me so far.
>>
>> Does this mean you asked on the e2e forum? Or local FAEs?
>>
>> -Jeff
>>
>

_____________________________________