Bonjour,
Je me présente, je suis étudiant en MASTER2 système embarqués et en ce moment je fais mon stage de 6 mois dans une entreprise.
Etant donné que je suis dans un pole de recherche et innovation, j'ai hérité d'un projet fait par un stagiaire l'année dernière.
En parcourant son rapport, j'ai trouvé je suis tombé sur un paragraphe que je ne comprend pas tres bien.
Pour en venir à l'essentiel, son travail était de concevoir un calculateur automobile avec interface CAN, Liaison SPI...(je passe les détails,soucis de confidentialité).
Mon cher prédecesseur a mené un raisonnement concernant le choix des microcontroleur qu'il utilisera (ici des PIC de chez Microchip) et plus précisement sur le nombre d'instruction qu'il peut exécuter dans une boucle d'interruption![]()
"La vitesse de fonctionnement du PIC doit permettre de gérer ses interruptions, tout en ayant le temps de faire tourner le programme principal.
Nombre d’instructions / boucle d’interruption = 5 minimum
Soit liberté de 11 instructions, dans le pire cas d’une transmission ininterrompue du SPI, avec un PIC cadencé à 16 MIPS :
Peu de marge
Soit liberté de 35 instructions dans le pire cas d’une transmission ininterrompue du SPI avec un PIC cadencé à 40 MIPS :
Marge correcte
Soit liberté de 27 instructions dans le pire cas d’une transmission ininterrompue du CAN HS avec un PIC cadencé à 16 MIPS :
Marge moyenne
Soit liberté de 75 instructions dans le pire cas d’une transmission ininterrompue du CAN HS avec un PIC cadencé à 40 MIPS :
Sans problème
Pas d’impératifs sur les autres (16 MIPS possible pour diminuer la consommation)"
Mes questions sont les suivants:
Pourquoi chercher à faire tourner le main en interruption sachant que ces registres sont sauvegardés dans la pile?
Confusion entre débit d'un Bus ( CAn, SPI), cycle d'horloge et MIPS?
Comment il a raisonné pour trouver le degré de liberté de ces intructions?
Merci d'avant pour vos réponse!Ceci n'est pas un point bloquant pour mon projet,c'est juste que je trouvais curieux ces résultats.
PS:Soyez indulgents les amis, c'est mon premier post!
++![]()
-----