FreeRTOS Plus TCP impact on vTaskDelayUntil() and periodic function jitter

pixt wrote on Wednesday, November 23, 2016:


I am using FreeRTOS+TCP from FreeRTOS Lab Version 160919 on the Zedboard with a ZYNQ SOC. I have 2 Tasks running. The first task has the highest priority and calls a calculation function periodically using vTaskDelayUntil(). The tick rate is 10000Hz and the calculation function is called every 10 microseconds. The second task just idles in a forever loop doing nothing and has low priority.
I get a jitter of the second function call in the range of 30ns.

Now to my problem: When I activate the IP stack using FreeRTOS_IPInit I get a jitter which is way higher than before and in the range of 7┬Ás.

The task priorities are: Task1: 5, Task2: 1, IP-Task: 2, Tmr Svc:6

Can you explain this behaviour? Is there any way to reduce the jitter introduced by the IP-Task?
Thank you for your help.

Best regards,

rtel wrote on Wednesday, November 23, 2016:

I suspect the difference is caused by the interrupts generated by the IP
traffic. Interrupts will always take precedence over tasks.

Most applications will use a tick frequency of about 100Hz, and we would
normally recommend not going over 1KHz. You are using 10KHz. Can you
reduce the tick frequency and perform your high frequency calculation in
a high priority timer interrupt?

pixt wrote on Wednesday, November 23, 2016:

Yes, I will give it a try. Thank you for the help.