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.

TSIF Transmission - strange behaviour

Hello.

I'm working with the TSIF1 output. The source code was adapted from saTsifLoopback.c present in the PSP_01_30_00_082.

I basically removed the "Reception" part of the code and added a filename as input parameter. 

Then, it has only a 'xmitter' thread running. It buffers from harddrive and send to tsif1 continuously in a loop until the end of the file is reached.

The problem is: It sends some part of the file (.ts), stops for 40s (but the output continues to clock), then send another amount of data, 'stops' for 40s and so on. 

For me, this behavior is odd. The output should be continuously transmitting the data with the rate defined in the program.

Here is attached a gnuplot of my log. It is an TX example of a 20MB file to ilustrate what I mean.

Does anyone have any hint of what could be causing this? I've spent several days trying to figure this.

Thanks for the attention.

  • Hi,

    You are seeing this behavior of transmit being paused for 40 seconds because of Time Stamp mismatch. There is a Absolute Time Stamp (ATS) generator in TSIF which wraps around every 40 seconds. The TS packets which are being transmitted have certain time stamp values embedded in it and only when the ATS matches the value in the TS packet, the packet goes out. You have to set the time stamp in each TS packet properly to achieve continuous transmission. Also you have to set the TX_ATS_MODE bits in the TSIF Control Register ZERO properly.

    Regards, Sudhakar

  • Hello Mr. Sudhakar.

    The ATS value is being generated in a loop. Changing the time_per_packet made it work continuously.

    Now I need to fine tune the timing of the code to get the best transmission rate.

    Many thanks for the help!