Partage de technologie

Renesas RH850 RTC anomalie de synchronisation

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

RH850 Le RTC (horloge en temps réel) du MCU adopte le format de codage BCD (décimal codé binaire), prend en charge l'identification automatique des années bissextiles et possède des fonctions de transport pour les secondes, les minutes, les heures, les jours, les semaines, les mois et les années. Parmi eux, la seconde est divisée en 60 courses, l'heure est portée 12 ou 24, la semaine est portée 7, le jour est porté 28, 29, 30, 31 selon le mois, le mois est porté 12, et l'année est 00 ~ 99.

Récemment, nous utilisons RenesasMCU Le RTC du RH850 a rencontré un problème d’exception de report de synchronisation. Lors de l'impression de la variable de temps via UART, il a été constaté que la retenue des secondes et des minutes n'était pas la retenue attendue de 60, mais apparaissait à tort comme une retenue de 90. Ce phénomène a attiré notre attention.

Cependant, en utilisant un émulateur pour surveiller directementRTCEn examinant les registres internes SEC, MIN et autres, il a été constaté qu'ils fonctionnaient normalement après avoir atteint 0x59, ce qui montre qu'il n'y a aucun problème avec la fonction de synchronisation du RTC lui-même.

Après une observation attentive, nous avons découvert une règle clé : lorsque les secondes dépassent 09, la valeur affichée passe directement à 16, puis continue d'augmenter. Ce phénomène indique que le problème peut résider dans la conversion du format de données. Étant donné que le RTC utilise le format de codage BCD en interne, nous le traitons sous forme de données décimales lors de sa transmission à l'assistant de débogage du port série via UART, ce qui entraîne des écarts d'affichage.

En réponse à ce problème, nous avons modifié le format de traitement de sortie UART en conséquence. Après ajustement, l'heure affichée sur l'assistant de débogage du port série est finalement revenue à la normale, ce qui a vérifié que notre analyse était correcte.

Pour résumer, le registre interne RTC du MCU RH850 adopte un format de codage BCD unique, ce qui nous oblige à accorder une attention particulière à la conversion de format lors du traitement des données associées. Sinon, il est facile de provoquer des malentendus et des problèmes similaires.