Il est où mon jitter ?

Posted on ven. 01 février 2013 in Linux, Raspberry Pi

L'ami Guillaume, m'a offert pour mon anniversaire un Raspberry Pi (encore merci !). J'ai rapidement décidé d'en faire un quadrotor.

Le problème c'est que du temps réel mou ça peut rapidement mener à la catastrophe si ma tâche périodique se mange un jitter qui fait peur.

Visiblement, une tâche de fréquence 400Hz (2,5ms de période) est suffisante. J'ai donc écrit un petit module kernel qui va faire bouger un GPIO toutes les 2.5ms.

Pour simuler une charge qui représente ce que je veux en faire, j'ai lancé un iperf TCP entre le Raspberry Pi et un pc de mon réseau. Le débit obtenu est de environ 75Mbps (je n'utiliserai vraisemblablement que 10Mbps ou 15Mpbs et en UDP en plus, mais bon ...).

Voilà ce que ça donne :

ADS00001

Et zoom sur jitter :

ADS00002

Ça fait un jitter de l'ordre de +- 230µs/2 = 115µs (et encore en prenant large). Ça a l'air pas mal.

Néanmoins la méthode de calcul n'est pas super fiable non plus et un test de plus de 20 minutes serait quand même nécessaire.