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.

TMS320F28335: Problem with Receiving data on SCI interface

Part Number: TMS320F28335

HI I am 

I am trying to send data from Rx to tX using SCI interface. But because of some external circuitry, i am receiving an error bit on my Rx input.

attached is an experimental plot of the same.8055.drawing.pdf

The blue signal on channel 2 is the output of Tx and the pink signal on channel 3 is the input of RX/ with some delay I am able to get a perfect transmitted data (marked as the correct signal) but I am also receiving an error bit because of fo my circuitry. I can not avoid the generation of this error bit. 

While decoding the decoder is considering the error bit as next data.

Is there a simple trick which I can use in coding to solve this problem?

I only want the correct data to be stored in the buffer.

  • Ankit,

    You might be able to set a delay after your recieve a message, and clear the buffer. This would get rid of that random bit error you see at the end.

    The better solution is to try to find a way to remove that Error that coming into your communications.

    What is this being caused by?

    Thanks,

    Vince Rodriguez
  • Hi Vincent,

    The error signal is caused by the circuit i am using, i am using a resistor divider to sense the data signal on channel and due to a suddent voltage change (caused by my circuit (unavoidable)) a small current flows through the resistor bridge and causes the voltage.

    Can you please elaborate on how can i set the delay and clear the buffer register.

    Thanks
    Ankit
  • Ankit,

    You could do the following.  I looked at Example_2803xScia_FFDLB in Control Suite for reference:

    ReceivedChar = SciaRegs.SCIRXBUF.all; //This getting the data from the register
    DELAY_US(1) // Delay for some amount of time 
    SciaRegs.SCIRXBUF.all = 0; // Clear the RX buffer.

    Let me know if that helps.

    Thanks!

    Vince Rodriguez

  • Thanks Vincent,

    I will try this out. I was just thinking if it would help if i do a SWRESET instead after receiving the data?

    Also, can you please look into my earlier thread and see if you can help me find an answer to that.

    e2e.ti.com/.../2168735

    Thanks.
  • Hi Vincent,

    i tried your approach but unfortunately it didn't work.
    Also, i think for resetting Rx buff , system reset is required using SWRESET register.

    -Ankit
  • Ankit,

    This is kinda tricky, because we are trying to trick the module to ignore a bit. Another thing to try is to disable the RX as soon as you receive the byte you want. You can do this with the RXENA bit.

    Can you descibe what each line in your oscilloscope picture is coming from? 

    Regards,

    Vince Rodriguez