Si vous utilisez une longueur de bit d'arrêt qui se distingue facilement du reste du flux de données, comme un temps de 1,5 bit, il devrait être facile de commencer à recevoir la mi-transmission. Cependant, cela se traduit par une augmentation des frais généraux. Votre débit de données total disponible souffrira à mesure que vous augmentez la longueur de votre bit d'arrêt.
Si vous n'utilisez pas le bus de manière intensive et que vous avez fréquemment des écarts entre les images, il peut simplement s'agir d'attendre que l'un de ces écarts se produise, puis de sélectionner la première transmission hi-lo comme début de votre bit de démarrage suivant.
Gardez à l'esprit que le nombre de bits de données doit être prévisible, de même que la taille de la trame, donc même si vous utilisez 100% de la capacité du bus et que votre bit d'arrêt est un temps de bit unique, vous devriez toujours pouvoir trouver le commencer bit si vous collectez suffisamment d'images. Chaque image est garantie d'avoir une transition hi-lo en elle. Le bit d'arrêt est celui qui est toujours haut. Le bit de départ est celui qui est toujours bas. En supposant que vos données sont aléatoires (ou suffisamment aléatoires), vous pouvez faire quelque chose d'aussi simple que de créer un tampon de la taille de votre trame, de définir chaque bit dedans, puis de continuer à collecter des trames et à les insérer dans ce tampon jusqu'à ce que le tampon ait seulement 1 ensemble de bits. Ce bit est votre bit d'arrêt. Celui qui suit est votre bit de départ. Voila! Vous l'avez trouvé.
Si vous utilisez un bit de parité, une autre option serait de saisir deux trames de données, de choisir le premier bit bas comme bit de départ, puis de calculer la somme de contrôle et de la comparer au bit de parité. Si cela correspond, alors vous avez (probablement) trouvé le bit de départ. Si ce n'est pas le cas, choisissez le bit bas suivant et répétez jusqu'à obtenir une bonne somme de contrôle. Si vous ne pouvez pas trouver un bit dans vos deux trames de données qui soit extrait comme un bit de démarrage valide, alors vos données ont été corrompues et vous devrez saisir deux autres trames.