Réalisation d’une interface EIB/KNX TP1 sur base de microcontrôleurs PIC.

 

 

Utilisation du timer 0.

 

Le timer 0 sera utilisé pour mesurer environ 2,2 ms sans trafic sur le bus afin de détecter la fin d’un télégramme.

Afin de garder le prédiviseur utilisable pour le watchdog, on utilisera un octet compteur afin de calculer les 2,2 ms ; avec un quart de 12,288 MHz, 48 au compteur donnera 1 ms, donc pour 2,2 ms on initialisera le compteur à 106 (=96 + 9,6).

Le timer 0 et l’octet compteur seront resetés et relancés à chaque réception d’un octet sur l’UART.

L’interruption du timer 0 ne sera utilisée que pour cet usage, elle sera activée juste après la réception d’un octet via l’UART et sera désactivée dès que le compteur atteint zéro (donc que les 2,2 ms sont écoulées). Une fois le compteur à zéro, il faudra lancer la procédure qui clôture le télégramme en réception.

 

Le timer 0 servira aussi de « base de temps » pour diverses opérations de « maintenance »comme le pooling du bouton de programmation de l’adresse physique ou de limiteur pour le nombre de télégrammes envoyés dans un laps de temps donné.