LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

RTDX/Labview

Hello,

I'm having some trouble working with RTDX and labview. It seems very shaky. My current project consists of running a function generator in order to create a ramp and benchmark the onchip ADC. My problem comes up when trying to send data to labview. I have been succesful in the past of sending an array..

int rtdxdata[128];

But I have not had success sending an array with more than ~200 elements. My goal is to send the data from this variable..

int rtdxdata[1024];

But i have not yet been succesful.

My current setup is a TMS470 device with CCS 2.20, LabView7.1 With the ti DSP toolkit.

C code for the device:

RTDX_CreateOutputChannel(coutput);
int rtdxdata[1024];

TARGET_INITIALIZE();

/*enable RTDX channels*/

RTDX_enableOutput(&coutput);

RTDX_write(&coutput, &(rtdxdata), sizeof(rtdxdata));

while(RTDX_writing != NULL)
{
RTDX_Poll();
}

RTDX_disableOutput( &coutput);

The current VI should be attached. Thank you for any help.
0 Kudos
Message 1 of 6
(3,531 Views)
I am using the Labview debugging workbench and receiving the data. I still cannot transfer an array larger than rtdxdata[200], is it perhaps my c? I can have 4 seperate RTDX read functions in labview, but this can be more error prone, I would like to have just one RTDX read and grab the entirety of the array.
0 Kudos
Message 2 of 6
(3,523 Views)
The amount of data you are able to transfer using RTDX communication is going to depend on how you interface with the DSP. There are several emulators available which will improve the data transfer rates. Some emulators will claim to have very high rates (i.e. 2MByte/s), but you may still only see rates of around 800KBytes/sec. The loss in speed can be due to factors such as computer speed or how well the emulator driver is written. If your PC is slow, it will not be able to pull as much data from the emulator. How are you interfacing to the DSP?

Regards,

Kristi H
National Instruments
0 Kudos
Message 3 of 6
(3,504 Views)
My current interface is a Spectrum Digital XDS510 PP Emulator.

http://www.spectrumdigital.com/cgi/catalog.cgi?show_product=701041

A dell laptop which runs around 400mhz.

The data is contained in a 32bit array with 1024 elements. So the maximum possible size of this array is 4k. I really don't think cpu speed is affecting this. Both the VI and the code on the target wait until the data has been sent. Is there any other possible explanation?

Regards,
Kenneth Miller
0 Kudos
Message 4 of 6
(3,497 Views)
Hi Kenneth,

After doing a bit more research, I found that there is a buffer size that is hardcoded to be 1024 bytes by default. The CCS help describes how you can change the buffer size on your host and on your target to pass more data. Both buffers need to be the same size.

In CCS, go to Help->Contents. On the Contents tab, go to RTDX->Configuring RTDX->Reconfiguring RTDX Host/Target Buffer. In the document I found on TI's website, it lists a slightly different path to the CCS help topic. I went ahead and copied the instructions that I found into the attached Word document. I think you'll find that this is what you're looking for.

If you have any further questions, please post a reply. Have a great day!

Regards,

Kristi H
National Instruments
0 Kudos
Message 5 of 6
(3,473 Views)
Here's the attachment.

Kristi H
0 Kudos
Message 6 of 6
(3,468 Views)