DSPRelated.com
Forums

RTDX throughput woes

Started by Brady O'Hanlon January 2, 2009
Hi all,

First off, apologies if this messages shows up several times: I have tried
posting via the web page and it never shows up, so I am now directly mailing
to the group.

I am currently using a 6455 (TMS320C6455) DSK and RTDX to do continuous data
transfers to the host. My current message size is 172 bytes, and if I send
more than 12 messages/second (so a data rate of ~2KB/sec) I get RTDX_write
failure. From browsing the archives here, it seems like I should be able to
get a much higher data rate than this, so I am a bit stumped as to what is
going on. Additionally, I am only using ~ 1/3 of the available CPU cycles,
so it seems like that should not be a problem. If anyone has any
suggestions, I would be eternally grateful.

Thanks,
Brady
Brady-
> First off, apologies if this messages shows up several times: I have tried posting
> via the web page and it never shows up, so I am now directly mailing to the group.
>
> I am currently using a 6455 (TMS320C6455) DSK and RTDX to do continuous data
> transfers to the host. My current message size is 172 bytes, and if I send more
> than 12 messages/second (so a data rate of ~2KB/sec) I get RTDX_write failure.
> From browsing the archives here, it seems like I should be able to get a much
> higher data rate than this, so I am a bit stumped as to what is going on.
> Additionally, I am only using ~ 1/3 of the available CPU cycles, so it seems like
> that should not be a problem. If anyone has any suggestions, I would be eternally
> grateful.

On the DSK board, near where you connect the host PC USB, do you see anything like
another type of TI DSP (maybe an audio DSP part number), and/or an Actel CPLD? If
so, then the DSK may have the "obfuscation circuitry" used by Spectrum Digital to
proprietarize their access to the DSK driver interface built-in to CCS software.
This circuitry is found on other DSK boards, but I haven't taken a close look at the
6455 DSK so I'm not sure. If it's there, then it won't be on the DSK schematic, as
SD does not publish this.

If so... then your RTDX rate would be limited by this circuitry; i.e. you don't have
a "direct JTAG connection" to the C6455 chip itself. If you own the full version of
CCS, then you could try using the JTAG connector on the DSK board, and a fast JTAG
emulator (e.g. Blackhawk) and then I'm sure your RTDX data rate would increase
substantially. An XDS560 class emulator would be fastest. An XDS510 class emulator
would cost less, but I'm sure the RTDX rate would still far exceed 16 kbit/sec, maybe
at least a few Mbit/sec.

-Jeff
Brady-
> Thanks for the quick reply. The board does indeed have an Actel CPLD near the USB
> port. I was actually able to make some headway here in software by increasing the
> size of the RTDX buffer in the bios config. I assumed the buffer was large enough
> since I was not receiving any buffer errors, but it seems that making the buffer
> large enough to store all of the messages solves the problem.
>
> The writes I am doing are actually in bursts, so I do a bunch of them very close
> together once per second. Making the buffer large enough to store the entire burst
> of messages seems to solve it. I will look into an emulator as well though, thanks
> for the tip.

Ok good to hear about buffer size helping.

The Actel CPLD could also be used for various things, including I/O (like a
daughtermodule connector), so by itself it's not conclusive (can check the schematic
for I/O related Actel chip functions). But if you can see a TI part not documented
in the schematic, like a DA250 or a C5509 or something similar, then the obfuscation
circuitry is there.

-Jeff
> On Fri, Jan 2, 2009 at 10:04 AM, Jeff Brower wrote:
>
> Brady-
> > First off, apologies if this messages shows up several times: I have
> > tried posting via the web page and it never shows up, so I am now
> > directly mailing to the group.
> >
> > I am currently using a 6455 (TMS320C6455) DSK and RTDX to do continuous
> > data transfers to the host. My current message size is 172 bytes, and
> > if I send more than 12 messages/second (so a data rate of ~2KB/sec) I
> > get RTDX_write failure. From browsing the archives here, it seems like
> > I should be able to get a much higher data rate than this, so I am a
> > bit stumped as to what is going on. Additionally, I am only using ~
> > 1/3 of the available CPU cycles, so it seems like that should not be a
> > problem. If anyone has any suggestions, I would be eternally grateful.
>
> On the DSK board, near where you connect the host PC USB, do you see
> anything like another type of TI DSP (maybe an audio DSP part number),
> and/or an Actel CPLD? If so, then the DSK may have the "obfuscation
> circuitry" used by Spectrum Digital to proprietarize their access to the
> DSK driver interface built-in to CCS software. This circuitry is found
> on other DSK boards, but I haven't taken a close look at the 6455 DSK so
> I'm not sure. If it's there, then it won't be on the DSK schematic, as
> SD does not publish this.
>
> If so... then your RTDX rate would be limited by this circuitry; i.e. you
> don't have a "direct JTAG connection" to the C6455 chip itself. If you
> own the full version of CCS, then you could try using the JTAG connector
> on the DSK board, and a fast JTAG emulator (e.g. Blackhawk) and then I'm
> sure your RTDX data rate would increase substantially. An XDS560 class
> emulator would be fastest. An XDS510 class emulator would cost less, but
> I'm sure the RTDX rate would still far exceed 16 kbit/sec, maybe at least
> a few Mbit/sec.
>
> -Jeff
Brady-

> After further investigating this, I am not sure that increasing the buffer
> size was the fix. When I did this, I was also using the rtdx data rate
> viewer plug-in, and it seems that when I run the plug-in things work, and
> when I do not I get rtdx write errors. Does that make any sense to you? It
> sure makes no sense to me...

Yeah I don't know, I would think adding more Win stuff like an ActiveX control would just slow things down. What is
your host client? Are you running the RTDX sample programs?

Where are you writing RTDX data? To internal DSP mem? External (SDRAM)? Did you verify that data that does get to
the DSP is correct?

Also, did you see this page:

https://community.ti.com/forums/t/1130.aspx

TI guys are saying "RTDX communication can only achieve approximately 10KB/sec of throughput" and "RTDX is not very
commonly used from what I see these days...". I'm going to guess that the 10 KByte/sec figure refers to a standard
JTAG hookup, not a DSK board with RTDX data going through a chunk of undocumented circuitry. I would agree with the
latter comment about usage.

-Jeff

>> Brady-
>> Thanks for the quick reply. The board does indeed have an Actel CPLD near
>> the USB port. I was actually able to make some headway here in software by
>> increasing the size of the RTDX buffer in the bios config. I assumed the
>> buffer was large enough since I was not receiving any buffer errors, but it
>> seems that making the buffer large enough to store all of the messages
>> solves the problem.
>>
>> The writes I am doing are actually in bursts, so I do a bunch of them very
>> close together once per second. Making the buffer large enough to store the
>> entire burst of messages seems to solve it. I will look into an emulator as
>> well though, thanks for the tip.
>> Ok good to hear about buffer size helping.
>>
>> The Actel CPLD could also be used for various things, including I/O (like a
>> daughtermodule connector), so by itself it's not conclusive (can check the
>> schematic for I/O related Actel chip functions). But if you can see a TI
>> part not documented in the schematic, like a DA250 or a C5509 or something
>> similar, then the obfuscation circuitry is there.
>>
>> -Jeff
>> On Fri, Jan 2, 2009 at 10:04 AM, Jeff Brower wrote:
>>>
>>> Brady-
>>>
>>> First off, apologies if this messages shows up several times: I have tried
>>> posting via the web page and it never shows up, so I am now directly mailing
>>> to the group.
>>>
>>> I am currently using a 6455 (TMS320C6455) DSK and RTDX to do continuous
>>> data transfers to the host. My current message size is 172 bytes, and if I
>>> send more than 12 messages/second (so a data rate of ~2KB/sec) I get
>>> RTDX_write failure. From browsing the archives here, it seems like I should
>>> be able to get a much higher data rate than this, so I am a bit stumped as
>>> to what is going on. Additionally, I am only using ~ 1/3 of the available
>>> CPU cycles, so it seems like that should not be a problem. If anyone has
>>> any suggestions, I would be eternally grateful.
>>>
>>>
>>>
>>> On the DSK board, near where you connect the host PC USB, do you see
>>> anything like another type of TI DSP (maybe an audio DSP part number),
>>> and/or an Actel CPLD? If so, then the DSK may have the "obfuscation
>>> circuitry" used by Spectrum Digital to proprietarize their access to the DSK
>>> driver interface built-in to CCS software. This circuitry is found on other
>>> DSK boards, but I haven't taken a close look at the 6455 DSK so I'm not
>>> sure. If it's there, then it won't be on the DSK schematic, as SD does not
>>> publish this.
>>>
>>> If so... then your RTDX rate would be limited by this circuitry; i.e. you
>>> don't have a "direct JTAG connection" to the C6455 chip itself. If you own
>>> the full version of CCS, then you could try using the JTAG connector on the
>>> DSK board, and a fast JTAG emulator (e.g. Blackhawk) and then I'm sure your
>>> RTDX data rate would increase substantially. An XDS560 class emulator would
>>> be fastest. An XDS510 class emulator would cost less, but I'm sure the RTDX
>>> rate would still far exceed 16 kbit/sec, maybe at least a few Mbit/sec.
>>>
>>> -Jeff
Jeff,

Thanks for the quick reply. The board does indeed have an Actel CPLD near
the USB port. I was actually able to make some headway here in software by
increasing the size of the RTDX buffer in the bios config. I assumed the
buffer was large enough since I was not receiving any buffer errors, but it
seems that making the buffer large enough to store all of the messages
solves the problem.

The writes I am doing are actually in bursts, so I do a bunch of them very
close together once per second. Making the buffer large enough to store the
entire burst of messages seems to solve it. I will look into an emulator as
well though, thanks for the tip.

Brady

On Fri, Jan 2, 2009 at 10:04 AM, Jeff Brower wrote:

> Brady-
> First off, apologies if this messages shows up several times: I have tried
> posting via the web page and it never shows up, so I am now directly mailing
> to the group.
>
> I am currently using a 6455 (TMS320C6455) DSK and RTDX to do continuous
> data transfers to the host. My current message size is 172 bytes, and if I
> send more than 12 messages/second (so a data rate of ~2KB/sec) I get
> RTDX_write failure. From browsing the archives here, it seems like I should
> be able to get a much higher data rate than this, so I am a bit stumped as
> to what is going on. Additionally, I am only using ~ 1/3 of the available
> CPU cycles, so it seems like that should not be a problem. If anyone has
> any suggestions, I would be eternally grateful.
> On the DSK board, near where you connect the host PC USB, do you see
> anything like another type of TI DSP (maybe an audio DSP part number),
> and/or an Actel CPLD? If so, then the DSK may have the "obfuscation
> circuitry" used by Spectrum Digital to proprietarize their access to the DSK
> driver interface built-in to CCS software. This circuitry is found on other
> DSK boards, but I haven't taken a close look at the 6455 DSK so I'm not
> sure. If it's there, then it won't be on the DSK schematic, as SD does not
> publish this.
>
> If so... then your RTDX rate would be limited by this circuitry; i.e. you
> don't have a "direct JTAG connection" to the C6455 chip itself. If you own
> the full version of CCS, then you could try using the JTAG connector on the
> DSK board, and a fast JTAG emulator (e.g. Blackhawk) and then I'm sure your
> RTDX data rate would increase substantially. An XDS560 class emulator would
> be fastest. An XDS510 class emulator would cost less, but I'm sure the RTDX
> rate would still far exceed 16 kbit/sec, maybe at least a few Mbit/sec.
>
> -Jeff
Jeff,

On Fri, Jan 2, 2009 at 10:41 AM, Jeff Brower wrote:

> Brady-
> Thanks for the quick reply. The board does indeed have an Actel CPLD near
> the USB port. I was actually able to make some headway here in software by
> increasing the size of the RTDX buffer in the bios config. I assumed the
> buffer was large enough since I was not receiving any buffer errors, but it
> seems that making the buffer large enough to store all of the messages
> solves the problem.
>
> The writes I am doing are actually in bursts, so I do a bunch of them very
> close together once per second. Making the buffer large enough to store the
> entire burst of messages seems to solve it. I will look into an emulator as
> well though, thanks for the tip.
> Ok good to hear about buffer size helping.
>
> The Actel CPLD could also be used for various things, including I/O (like a
> daughtermodule connector), so by itself it's not conclusive (can check the
> schematic for I/O related Actel chip functions). But if you can see a TI
> part not documented in the schematic, like a DA250 or a C5509 or something
> similar, then the obfuscation circuitry is there.
>
> -Jeff
> On Fri, Jan 2, 2009 at 10:04 AM, Jeff Brower wrote:
>>
>> Brady-
>>
>> First off, apologies if this messages shows up several times: I have tried
>> posting via the web page and it never shows up, so I am now directly mailing
>> to the group.
>>
>> I am currently using a 6455 (TMS320C6455) DSK and RTDX to do continuous
>> data transfers to the host. My current message size is 172 bytes, and if I
>> send more than 12 messages/second (so a data rate of ~2KB/sec) I get
>> RTDX_write failure. From browsing the archives here, it seems like I should
>> be able to get a much higher data rate than this, so I am a bit stumped as
>> to what is going on. Additionally, I am only using ~ 1/3 of the available
>> CPU cycles, so it seems like that should not be a problem. If anyone has
>> any suggestions, I would be eternally grateful.
>>
>> On the DSK board, near where you connect the host PC USB, do you see
>> anything like another type of TI DSP (maybe an audio DSP part number),
>> and/or an Actel CPLD? If so, then the DSK may have the "obfuscation
>> circuitry" used by Spectrum Digital to proprietarize their access to the DSK
>> driver interface built-in to CCS software. This circuitry is found on other
>> DSK boards, but I haven't taken a close look at the 6455 DSK so I'm not
>> sure. If it's there, then it won't be on the DSK schematic, as SD does not
>> publish this.
>>
>> If so... then your RTDX rate would be limited by this circuitry; i.e. you
>> don't have a "direct JTAG connection" to the C6455 chip itself. If you own
>> the full version of CCS, then you could try using the JTAG connector on the
>> DSK board, and a fast JTAG emulator (e.g. Blackhawk) and then I'm sure your
>> RTDX data rate would increase substantially. An XDS560 class emulator would
>> be fastest. An XDS510 class emulator would cost less, but I'm sure the RTDX
>> rate would still far exceed 16 kbit/sec, maybe at least a few Mbit/sec.
>>
>> -Jeff
>>
>After further investigating this, I am not sure that increasing the buffer
size was the fix. When I did this, I was also using the rtdx data rate
viewer plug-in, and it seems that when I run the plug-in things work, and
when I do not I get rtdx write errors. Does that make any sense to you? It
sure makes no sense to me...
-Brady