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.

Using UART about channel B from XDS100

Hello together,

i need help with my problem.

I use the HighVoltageKit1.6 with a F28069-microcontroller.

Further i use the channel B of the XDS100-Emulator-Chip FT2232D for the communication between MCU and a LABVIEW-VI to get some data from MCU. To get sure, that this communication acts, the VI send a test-value to the MCU and get it back, when the VI is in idle state. In other case the VI receives up to 4096*4 bytes from MCU without any break, when the VI request it.

To date it did act very good. But suddenly there is the following problem: In the CCS4 watch window are the values wrong, when the VI request this 4096*4 bytes. If only this one "test-byte" is sent and requested, then this values in watchwindow are OK. After the first "long data"-request from VI, the values are never OK, till i reset the DSP "with full reset" under "Scripts".

I tried an other DSP and HV-Kit (i have two), there is the same behavior. Can be both FTDI-Chips damaged?

The values comes from ADC and so they change constantly. The wrong values in watch window change constanly, too. It seems, that only the highest three hex-numbers of each value is wrong.

Thank you for your help,

Robert,

from Germany, with a bad english...

  • Robert,

    I have not worked with Labview on C2000 devices so I cannot be sure on exactly what the issue is.

    However, my guess is the UART software driver on the F28069 device isn't set up to transfer/store 4096*4 of information. As a result overwriting of memory is occurring on the F28069.  I would recommend contacting National Instruments, because this may be a bug (assuming the UART/SCI driver on the C2000 was written by NI).  If the SCI driver was written by you, you may need to increase your buffer sizes.

    If you have the ability, a workaround may be to decreasing the size of the requested buffer (and therefore break the 4096*4 request into smaller transactions)


    Thank you,
    Brett

  • Hello Brett,

    thank you for your answer.

    By now, i found the cause of the problem.

    I think, i have described the problem not exactly. It was that the variable values in the watch window in CCS4 were incorrect. This works over the channel A of XDS100. But if i watched to the memory location of this wrong variables in CCS, the value was correct! This was curious. All this happened always first after i started this transfer of this 4096*4 bytes over the XDS100-channel B to Labview. Normally there can be no coherence. After reset it did work fine again till i started a new  transfer.

    Now i know the cause: In my control loop (10kHz) i stored several measured values from ADC to my array in memory L5 (this are this 4096*4 bytes), when LabView requested this data. But i forgot to limit this action, when i change a part of my program. And so the following memory locations were overwrite too. Anywise this has affected the transfer of the variable-values how i described.

    Even so, thank you for your help,

    Best regards,

    Robert.