FR2919082A1 - Procede de gestion de l'execution d'une architecture logicielle d'un circuit de radiocommunication en jouant sur la frequence du processeur, produit programme d'ordinateur et circuit correspondants - Google Patents

Procede de gestion de l'execution d'une architecture logicielle d'un circuit de radiocommunication en jouant sur la frequence du processeur, produit programme d'ordinateur et circuit correspondants Download PDF

Info

Publication number
FR2919082A1
FR2919082A1 FR0756589A FR0756589A FR2919082A1 FR 2919082 A1 FR2919082 A1 FR 2919082A1 FR 0756589 A FR0756589 A FR 0756589A FR 0756589 A FR0756589 A FR 0756589A FR 2919082 A1 FR2919082 A1 FR 2919082A1
Authority
FR
France
Prior art keywords
stack
state
computing power
processor
client application
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
FR0756589A
Other languages
English (en)
Inventor
Erwan Girard
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sierra Wireless SA
Original Assignee
Wavecom SA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Wavecom SA filed Critical Wavecom SA
Priority to FR0756589A priority Critical patent/FR2919082A1/fr
Priority to PCT/EP2008/059317 priority patent/WO2009010536A1/fr
Publication of FR2919082A1 publication Critical patent/FR2919082A1/fr
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/324Power saving characterised by the action undertaken by lowering clock frequency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • G06F1/3228Monitoring task completion, e.g. by use of idle timers, stop commands or wait commands
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Transceivers (AREA)
  • Telephone Function (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

Il est proposé un procédé de gestion de l'exécution par un processeur d'une architecture logicielle comprise dans un circuit de radiocommunication, ladite architecture logicielle comprenant une pile logicielle de radiocommunication, pouvant prendre plusieurs états, et au moins une application client. Ce procédé comprend les étapes suivantes :- pour chaque état d'une liste comprenant au moins état de ladite pile, association (E1) d'une puissance de calcul prédéterminée nécessaire au fonctionnement de ladite pile dans ledit état ;- avant un passage de ladite pile dans un état de ladite liste, première adaptation (E3) de la fréquence dudit processeur pour fournir :* ladite puissance de calcul prédéterminée nécessaire au fonctionnement de ladite pile dans ledit état ; et* une puissance de calcul demandée par ladite au moins une application client, inférieure ou égale à une puissance maximale prédéterminée.

Description

Procédé de gestion de l'exécution d'une architecture logicielle d'un
circuit de radiocommunication en jouant sur la fréquence du processeur, produit programme d'ordinateur et circuit correspondants. 1. DOMAINE DE L'INVENTION Le domaine de l'invention est celui des dispositifs de radiocommunication. Par dispositifs de radiocommunication (aussi appelés terminaux de radiocommunication ou terminaux sans-fil), on entend tous dispositifs ou moyens capables d'échanger des signaux à l'aide d'un système de radiocommunication, implantés par exemple dans des machines ou des véhicules (marchés M2M, pour Machine to Machine , et automobile). Le domaine d'application de l'invention couvre toute technologie de radiocommunication cellulaire (GSM, 3G, 4G, DECT, CDMA, Wi-Max...) ou point à point (Wifi, Bluetooth, Zigbee...). Plus précisément, l'invention concerne une technique de gestion de l'exécution par un processeur d'une architecture logicielle comprise dans un circuit de radiocommunication, dans le cas où cette architecture logicielle comprend une pile logicielle de radiocommunication, pouvant prendre plusieurs états, et supportant la capacité d'exécution d'au moins une application client, c'est-à-dire du code tierce par comparaison avec le code de l'application principale de radiocommunication (firmware) qui est également exécutée par le processeur et gère la pile logicielle de radiocommunication (pile GSM par exemple). L'invention s'applique notamment, mais non exclusivement, dans le cas où le circuit de radiocommunication est un module électronique de radiocommunication destiné à être intégré à un dispositif de radiocommunication. Il s'agit par exemple d'un module de la famille WMP , Quick ou Plug and Play (marques déposées) de la société WAVECOM (déposante de la présente demande de brevet). La société WAVECOM a en effet depuis plusieurs années proposé une approche palliant un certain nombre d'inconvénients en regroupant dans un module unique (appelé module électronique de radiocommunication), tout ou au moins la plupart des fonctions d'un dispositif de radiocommunication numérique. Un tel module se présente sous la forme d'un boîtier unique, préférentiellement blindé, que les fabricants de dispositifs peuvent implanter directement, sans devoir prendre en compte une multitude de composants. Ce module (encore appelé parfois macro composant ) est en effet formé d'un regroupement de plusieurs composants sur un substrat, de façon à être implanté sous la forme d'un unique élément. Il comprend les composants (notamment un processeur, des mémoires, et des logiciels) essentiels nécessaires au fonctionnement d'un dispositif de radiocommunication utilisant des fréquences radioélectriques. Il n'y a donc plus d'étapes complexes de conception du design, et de validation de celui-ci. Il suffit de réserver la place nécessaire au module. Un tel module permet donc d'intégrer facilement, rapidement et de façon optimisée l'ensemble des composants dans des terminaux sans- fil (téléphones portables, modems, ou tout autre dispositif exploitant un standard sans fil). Dans une variante d'application de l'invention, le circuit de radiocommunication n'est pas un module de radiocommunication au sens précité mais un circuit imprimé compris dans un dispositif de radiocommunication et sur lequel sont directement implantés un ensemble de composants électroniques ayant pour but d'assurer les différentes fonctions de radiocommunication nécessaires, depuis la réception d'un signal RF jusqu'à la génération d'un signal audible (dans le cas d'un radio-téléphone), et inversement. 2. ART ANTÉRIEUR On connaît dans l'art antérieur des circuits de radiocommunication permettant d'embarquer des applications client (aussi appelées applicatifs client ). Le circuit de radiocommunication est par exemple un module électronique de radiocommunication de la famille WISMO (marque déposée) mettant en oeuvre le concept Open AT (marque déposée) de la société WAVECOM (déposante de la présente demande de brevet), offrant un environnement d'exécution d'au moins un applicatif client embarqué. Il est clair que d'autres environnements d'exécution d'un applicatif client embarqué peuvent être utilisés, tels que Java (marque déposée) ou Python (marque déposée). Un des problèmes des modules qui fournissent des capacités pour embarquer les applications de leurs clients est qu'aucune garantie sur la puissance de calcul disponible n'est fournie au client de manière optimisée.
En effet, la fonction (pile logicielle) de radiocommunication (téléphonie cellulaire GSM ou CDMA par exemple) demande, en fonction de son état, une puissance de calcul très différente. La puissance de calcul de la plateforme (sur laquelle s' exécute la pile de radiocommunication et l'applicatif client) étant finie à une fréquence donnée, et l'applicatif client ayant une priorité inférieure à celle de la pile, cet applicatif client n'aura que la partie de puissance de calcul restante pour s'exécuter. Cela peut poser des problèmes lorsque l'applicatif client a des calculs à faire et/ou des opérations à mener en un temps donné pour ne pas perdre des informations (notamment lorsque celles-ci sont remontées de manière temps réel). Par exemple, lorsque l'applicatif client acquiert des valeurs en temps réel (par exemple toutes les 10 millisecondes), il doit les traiter (par exemple, calcul d'une moyenne, d'un écart type...) et les stocker en mémoire non volatile pour ne pas les perdre. Pour ce faire, il doit donc effectuer ce traitement en un temps donné (dans notre exemple inférieur à 10 millisecondes) sinon au bout d'un moment il n'y aura plus assez de mémoire pour stocker les valeurs brutes (avant calcul), et certaines seront perdues, ce qui peut être très problématique et remettre en cause l'intérêt du système au global. La difficulté est que la pile GSM a besoin d'une puissance de calcul variable en fonction des différents états dans lesquels elle se trouve : - éteinte (déconnecté) : le module n'est pas connecté au réseau GSM/GPRS et donc ne peut pas passer de communication ; - en recherche de réseau : le module a perdu la synchronisation avec le réseau (démarrage / hors couverture....) mais est en recherche de réseau sur lequel se synchroniser ; - au repos (idle) : le module est connecté au réseau GSM/GPRS. Il est donc dans la capacité de recevoir, passer des appels, envoyer/recevoir des SMS, initier une connexion GPRS mais n'utilise aucune de ces possibilités ; - en appel voix ; - en appel données ; - en transfert de données (GPRS, EDGE, 3G, HSDPA, HSUPA...) ; - en envoi/réception de messages courts (SMS) ; - en envoi/réception de données de service supplémentaires (USSD). Or les systèmes embarqués possèdent en règle générale au moins un mode de fonctionnement sur batterie et doivent donc gérer de manière fine leur consommation en terme de courant. Ainsi, surdimensionner la puissance de calcul d'un système embarqué comportant une pile GSM comme solution pour s'affranchir des pics de puissance de calcul consommée par la pile GSM n'est pas une solution viable pour un système embarqué autonome puisqu'elle engendre un surcoût important pour la solution globale (la notion de puissance de calcul optimale est donc primordiale lors de la conception d'un système embarqué pour ne pas engendrer de surcoûts rédhibitoires).
Le point le plus important est qu'il est impossible pour l'applicatif client de connaître en avance de phase les besoins en terme de puissance de la pile de protocole. Par exemple, lorsque l'on recherche un réseau, il n'y a pas de moyen pour l'applicatif client pour prédire le moment auquel le système va le retrouver et donc la charge de puissance de calcul nécessaire à la synchronisation avec le réseau cellulaire et par voie de conséquence la puissance de calcul qui lui fera défaut lorsque cette synchronisation s'opérera, ni même le moment auquel cette puissance de calcul fera défaut. De la même manière, la perte de synchronisation réseau (par exemple lorsque les cellules GSM sont trop loin pour pouvoir être détectées par le système embarqué) entraîne une demande de puissance de calcul supplémentaire de la part de la pile de protocole et pourrait donc impacter la puissance de calcul disponible pour l'applicatif client pendant la resynchronisation réseau, avec les dangers que cela comporte en terme de perte de données si elles ne sont pas traitées suffisamment rapidement. Ainsi, dans un système embarqué comportant une pile GSM/GPRS, la majorité des évènements traités par la pile et impactant la puissance de calcul laissée libre à l'applicatif client ne peuvent être prédits par l'applicatif client, et peuvent ainsi impacter le bon fonctionnement du système au global. En résumé, l'exécution d'une pile de radiocommunication (par exemple une pile GSM/GPRS) nécessite une puissance de calcul importante et variable suivant les états de cette pile, sous peine de perdre la synchronisation au réseau (et donc de ne plus être capable de passer/recevoir des appels, envoyer/recevoir des SMS, USSD...).
Selon une première technique connue, ne sachant pas quel impact l'exécution des applicatifs client aura sur le bon fonctionnement de leur propre pile de radiocommunication (pile GSM/GPRS par exemple), et donc sur le bon fonctionnement global de leur produit, les fabricants de modules de radiocommunication (notamment à destination des marchés M2M et automobile) ne fournissent pas à leurs clients la capacité de garantir une valeur de puissance de calcul définie et optimisée quel que soit l'état de la pile de radiocommunication. Selon une seconde technique connue, les fournisseurs de pile de radiocommunication (pile GSM/GPRS par exemple) fournissent un code qui, compilé et exécuté sur une plateforme associée, permet de passer/recevoir des appels... Ces fournisseurs de solutions logicielles permettent ainsi à leurs clients d'exécuter du code à tous niveaux, code qui pourrait donc bénéficier d'une puissance de calcul définie et optimisée quel que soit l'état de la pile de radiocommunication. Mais en aucun cas ils ne garantissent alors que la pile de radiocommunication fonctionnera correctement. En outre, ceci implique une très grande complexité de conception de l'application client et donc une très forte expertise dans le domaine des radiocommunications (GSM/GPRS par exemple). Pour ces raisons, cette seconde technique alternative est difficilement utilisable, notamment par les clients des marchés M2M et à plus forte raison par toute personne non experte à la fois dans le domaine d'application finale du produit global et dans le domaine des télécommunications, notamment des technologies GSM/GPRS. De ce fait, la majorité des architectures logicielles permettant d'embarquer du code externe sur une plateforme de radiocommunication ( Wireless platform en anglais) sont conformes à la première technique connue et se définissent de la manière décrite dans la figure 1. Cette architecture logicielle comprend typiquement une pile logicielle de radiocommunication (dans l'exemple de la figure 1, une pile GSM, ou GSM Stack en anglais) comprenant : - un gestionnaire d'interruptions de radiocommunication 1 ( GSM Stack IT Handler ), qui fournit des services de lien physique ( Physical Link Services ) et assure la synchronisation avec le réseau GSM. Il correspond à la couche physique GSM ; - un ensemble de tâches 2 spécifiques à la pile GSM ( GSM Stack Tasks L1-L3 ), réparties en couches (L1 à L3), et qui fournissent un service de contrôle et lien logique ( Logical Link and Control Service ). Dans la norme GSM, il correspond à L1 / L2 / L3, RR / LAPD / MM / CCRLC / MAC/LLC/SNDCP/SM; - un ensemble de tâches 3 liées à des commandes AT ( GSM AT Commands Task ), qui fournissent un service de contrôle de la pile GSM.
Dans la norme GSM, il correspond à la couche Application ; et - une tâche 4 dite Idle Task ou Tâche de fond qui s'exécute lorsqu'aucune autre tâche ne demande la ressource CPU. Cette architecture logicielle comprend en outre une application client 5 (dans cet exemple une application Open AT ), comprenant un ensemble de tâches client. Au sein de la pile GSM, cette application client 5 est positionnée entre l'ensemble de tâches 3 liées à des commandes AT et la tâche de fond 4. La flèche référencée 6 indique un axe de temps de réaction indicatif (depuis environ 1 ms jusqu'à environ 10 ms). La flèche référencée 7 indique un axe niveau de priorité (depuis la tâche de fond 4, qui est la moins prioritaire, jusqu'au gestionnaire d'interruptions de radiocommunication 1, qui est le plus prioritaire). Cette architecture logicielle peut également être décomposée en deux domaines : - un domaine 8 de gestion des interruptions, dans lequel est compris le gestionnaire d'interruptions de radiocommunication 1 ; et - un domaine 9 de gestion des tâches, dans lequel sont comprises toutes les tâches précitées (tâches 2 spécifiques à la pile GSM, tâches 3 liées à des commandes AT, tâche de fond 4 et tâches de l'application client 5). Ainsi, avec cette structure, toute application cliente peut être exécutée par le module tout en garantissant le bon fonctionnement de la pile GSMIGPRS. Néanmoins aucune garantie sur la puissance de calcul optimisée fournie à l'applicatif client n'est fournie. 3. OBJECTIFS DE L'INVENTION L'invention, dans au moins un mode de réalisation, a notamment pour objectif de pallier ces différents inconvénients de l'état de la technique. Plus précisément, l'un des objectifs de la présente invention, dans au moins un mode de réalisation, est de fournir une technique de gestion de l'exécution par un processeur d'une architecture logicielle comprise dans un circuit de radiocommunication, dans le cas où cette architecture logicielle comprend une pile logicielle de radiocommunication et au moins une application client, cette technique permettant de garantir une puissance de calcul prédéterminée à ladite au moins une application client, quelle que soit l'activité de la pile logicielle de radiocommunication, tout en optimisant la consommation du circuit de radiocommunication. Le but de la fourniture d'une puissance de calcul optimisée garantie à l'application client est pour le client de pouvoir définir son application (c'est-à-dire développer le code source de cette application) de la même manière, qu'elle soit destinée à être exécutée sur un processeur d'un circuit sans pile logicielle de radiocommunication ou sur un processeur un peu plus puissant d'un circuit (de radiocommunication) comportant de manière native une pile de radiocommunication, tout en minimisant les impacts de la pile de radiocommunication native sur la consommation du circuit de radiocommunication et donc sur son dimensionnement et son coût. L'invention a également pour objectif, dans au moins un mode de réalisation, de fournir une telle technique qui soit simple à mettre en oeuvre et peu coûteuse. 4. EXPOSÉ DE L'INVENTION Dans un mode de réalisation particulier de l'invention, il est proposé un procédé de gestion de l'exécution par un processeur d'une architecture logicielle comprise dans un circuit de radiocommunication, ladite architecture logicielle comprenant une pile logicielle de radiocommunication, pouvant prendre plusieurs états, et au moins une application client. Ledit procédé comprend les étapes suivantes : - pour chaque état d'une liste comprenant au moins état de ladite pile, association d'une puissance de calcul prédéterminée nécessaire au fonctionnement de ladite pile dans ledit état ; - avant un passage de ladite pile dans un état de ladite liste, première adaptation de la fréquence dudit processeur pour fournir : * ladite puissance de calcul prédéterminée nécessaire au fonctionnement de ladite pile dans ledit état ; et * une puissance de calcul demandée par ladite au moins une application client, inférieure ou égale à une puissance maximale prédéterminée.
Le principe général de ce mode de réalisation particulier consiste donc à lister des états de la pile logicielle de radiocommunication qui ont un impact sur la demande de puissance de calcul de cette pile, et à modifier la fréquence du processeur pour honorer le besoin en terme de puissance de calcul à la fois de l'application client et de la pile de radiocommunication. En d'autres termes, dans ce mode de réalisation particulier, l'invention repose sur une approche tout à fait nouvelle et inventive consistant à adapter de façon dynamique la fréquence du processeur en fonction des besoins de deux parties logicielles : l'application client et la pile de radiocommunication. Ainsi, on optimise la consommation du circuit de radiocommunication (la fréquence du processeur est ajustée aux besoins réels de calcul) tout en garantissant à l'application client la puissance dont elle a besoin. Par ailleurs, le développeur de l'application client a seulement à veiller à ce que son application client ne demande pas une puissance de calcul supérieure à une puissance prédéterminée. En revanche, il n'a pas à tenir compte du fonctionnement de la pile de radiocommunication dans son développement.
De façon avantageuse, comprend l'étape suivante, ladite pile étant dans un état courant : - après une demande par ladite au moins une application cliente d'une nouvelle puissance de calcul, seconde adaptation de la fréquence dudit processeur pour fournir : * la puissance de calcul prédéterminée nécessaire au fonctionnement de ladite pile dans ledit état courant ; et * ladite nouvelle puissance de calcul demandée par ladite au moins une application cliente. Ainsi, on adapte la fréquence du processeur non seulement aux changements d'états de la pile, mais aussi quand l'application client modifie sa demande de puissance de calcul.
Avantageusement, ladite liste d'états comprend au moins un état appartenant au groupe comprenant : - éteint ; - en recherche de réseau ; -au repos (Idle) ; - en appel voix ; - en appel données (CSD) ; - en transfert de données (GPRS) ; - en envoi/réception de messages courts (SMS) ; et - en envoi/réception de données de service supplémentaires (USSD). Selon une caractéristique avantageuse, ledit circuit est un module électronique de radiocommunication destiné à être intégré à un dispositif de radiocommunication. Avantageusement, ledit procédé est mis en oeuvre dans une application principale qui, quand elle est exécutée par ledit processeur, gère ladite pile logicielle de radiocommunication et offre un environnement d'exécution de ladite au moins une application client. Dans un autre mode de réalisation, l'invention concerne un produit programme d'ordinateur téléchargeable depuis un réseau de communication et/ou enregistré sur un support lisible par ordinateur et/ou exécutable par un processeur, ledit produit programme d'ordinateur comprenant des instructions de code de programme pour l'exécution des étapes du procédé précité, lorsque ledit programme est exécuté sur un ordinateur. Dans un autre mode de réalisation, l'invention concerne un circuit de radiocommunication, comprenant un processeur exécutant une architecture logicielle comprenant une pile logicielle de radiocommunication, pouvant prendre plusieurs états, et au moins une application client. Ce circuit comprend : - des moyens d'association, pour chaque état d'une liste comprenant au moins état de ladite pile, d'une puissance de calcul prédéterminée nécessaire au fonctionnement de ladite pile dans ledit état ; - des premiers moyens d'adaptation de la fréquence dudit processeur, avant un passage de ladite pile dans un état de ladite liste, pour fournir : * ladite puissance de calcul prédéterminée nécessaire au fonctionnement de ladite pile dans ledit état ; et * une puissance de calcul demandée par ladite au moins une application client, inférieure ou égale à une puissance maximale prédéterminée.
Plus généralement, le circuit de radiocommunication selon l'invention comprend des moyens de mise en oeuvre du procédé tel que décrit précédemment (dans l'un quelconque de ses différents modes de réalisation). 5. LISTE DES FIGURES D'autres caractéristiques et avantages de modes de réalisation de l'invention apparaîtront à la lecture de la description suivante, donnée à titre d'exemple indicatif et non limitatif (tous les modes de réalisation de l'invention ne sont pas limités aux caractéristiques et avantages des modes de réalisation décrits ci-après), et des dessins annexés, dans lesquels : - la figure 1 présente une architecture logicielle connue, d'une pile GSM supportant la capacité d'exécution d'une application client ; - la figure 2 présente un mode de réalisation particulier d'un dispositif de radiocommunication selon l'invention, comprenant un module de radiocommunication possédant une architecture logicielle selon la figure 1 ; et - la figure 3 présente un organigramme d'un mode de réalisation particulier du procédé selon l'invention. 6. DESCRIPTION DÉTAILLÉE La figure 1, relative à l'art antérieur, a déjà été décrite ci-dessus. On présente maintenant, en relation avec la figure 2, un mode de réalisation particulier d'un dispositif de radiocommunication selon l'invention. Il comprend une carte-mère 41 sur laquelle est implanté un module de radiocommunication 44 possédant une architecture logicielle selon la figure 1, obtenue par exécution par un processeur 43 (et une mémoire RAM 46) de : - une application principale de radiocommunication 42 comprenant un bloc logiciel 421 qui gère la pile logicielle de radiocommunication (pile GSM par exemple) et un bloc logiciel 422 qui permet la mise en oeuvre du 20 25 30 procédé de l'invention (permettant de gérer l'exécution de l'architecture logicielle par le processeur) ; et - une application client 45. L'application principale de radiocommunication 42 et l'application client 45 sont par exemple stockées dans une mémoire morte 47 (ROM par exemple) et, à l'initialisation du module de radiocommunication 44, les instructions de code de ces applications sont chargées dans une mémoire vive 46 (RAM par exemple) avant d'être exécutées par le processeur 43. Par ailleurs, le module de radiocommunication 44 est relié à un connecteur 26 de dispositifs externes, via des interfaces d'Entrées/Sorties à usages divers (GPIOs) 27, des interfaces série de type SPI (Serial Peripheral Interface) (SPI1, SPI2) 28 et 29, une interface USB 210 et une liaison véhiculant des interruptions (IT) 211. On présente maintenant, en relation avec la figure 3, un mode de réalisation particulier du procédé selon l'invention.
L'étape El correspond à une phase de configuration. Après avoir listé un ensemble d'états de la pile de radiocommunication 421 qui ont un impact sur la demande de puissance de calcul de cette pile, on associe à chacun de ces états une puissance de calcul prédéterminée nécessaire au fonctionnement de la pile dans cet état. Comme déjà précisé ci-dessus, ces états sont par exemple les suivants : éteinte (déconnecté), en recherche de réseau, au repos (idle), en appel voix, en appel données, en transfert de données (GPRS, EDGE, 3G, HSDPA, HSUPA...), en envoi/réception de messages courts (SMS), en envoi/réception de données de service supplémentaires (USSD)... Les étapes suivantes correspondent à une phase de fonctionnement.
Dans une étape E2, on détecte si la pile s'apprête à changer d'état pour passer dans l'un des états de l'ensemble précité (appelé ci-après nouvel état ). En cas de détection positive à l'étape E2, on passe à l'étape E3 dans laquelle on effectue une première adaptation de la fréquence du processeur 43 pour fournir : - la puissance de calcul prédéterminée nécessaire au fonctionnement de la pile 421 dans le nouvel état ; et - une puissance de calcul demandée par l'application client 45, inférieure ou égale à une puissance maximale prédéterminée. A l'issue de l'étape E3, ou directement après l'étape E2 en cas de détection négative à l'étape E2, on reboucle sur les étapes E2 et E4.
Dans une étape E4, on détecte si l'application cliente a modifié la puissance de calcul qu'elle demande (appelée ci-après nouvelle demande de puissance de calcul ), la pile étant dans un état donné (appelé ci-après état courant ). En cas de détection positive à l'étape E4, on passe à l'étape E5 dans laquelle on effectue une seconde adaptation de la fréquence du processeur 43 pour fournir : - la puissance de calcul prédéterminée nécessaire au fonctionnement de la pile 421 dans l'état courant ; et - la nouvelle puissance de calcul demandée par l'application cliente 45. Ainsi, la puissance de calcul nécessaire au fonctionnement de la pile étant constante entre deux changements d'état, ceci revient à mesurer le temps processeur (aussi appelé temps CPU) accordé à l'application client et à ajuster la fréquence du processeur lorsque ce temps CPU dépasse des seuils : - augmentation de la fréquence du processeur si l'application client ne dispose pas d'assez de temps CPU par rapport à un engagement initial ; - baisse de la fréquence CPU du processeur si l'application client dispose de trop de temps CPU par rapport à l'engagement initial. A l'issue de l'étape E5, ou directement après l'étape E4 en cas de détection négative à l'étape E4, on reboucle sur les étapes E2 et E4. On détaille maintenant un exemple d'utilisation du procédé selon l'invention, dans son mode de réalisation présenté ci-dessus. On souhaite effectuer l'acquisition d'une valeur de courant par un capteur toutes les 10 ms et en moins de 2 ms, en vue du calcul de la consommation instantanée et la moyenne sur plusieurs jours, puis du stockage du résultat en mémoire, de manière asynchrone, et ce de manière indépendante des modes GSM dans lesquels est le module. Cette acquisition se fait par exemple de la manière suivante : 1. Détection d'une interruption signifiant que la mesure est prête à être acquise sur un bus quelconque de la plateforme. 2. Déclenchement du code client destiné à acquérir cette mesure dans un temps garanti de moins de 2ms (sinon la mesure n'a plus de valeur). (ces deux étapes sont réalisables grâce aux capacités temps réelles d'Open AT) 3. Acquisition et stockage en mémoire volatile de cette mesure (processus très rapide, quelques pts). 4. Exécution des calculs de puissance moyenne, d'écart type... et stockage des résultats de ces calculs en mémoire flash (opérations très longues, plusieurs centaines de ms). Cette opération nécessite une puissance de calcul significative qui doit être garantie entre les deux acquisitions de mesure brute (étapes 1 et 2), par exemple 20 MIPS pendant 9 millisecondes. 5. Retour à un état normal . Si ces étapes sont effectuées alors que le module de radiocommunication est en mode déconnecté, elles se font de manière séquentielle puisque la pile GSM/GPRS ne tourne pas. Si l'étape 4 nécessite 20 MIPS pendant 9 ms, la fréquence du processeur sera alors définie autour de 20 MHz. Si le module de radiocommunication est dans un des modes spécifiés plus hauts (repos (idle), appel voix, transfert GPRS...) quel qu'il soit, les étapes 1, 2 et 3 sont garanties par les capacités temps réel d'Open AT (garantie que le traitement d'une interruption en provenance de la radio ne dure pas plus d' lms quel que soit le mode dans lequel le module est). En revanche, l'étape 4 ne peut se faire que si la puissance de calcul nécessaire peut être donnée à l'applicatif client entre deux acquisitions de mesure brute : 20 MIPS pendant 9ms. Or si la pile GSM est en train de se synchroniser sur le réseau, elle peut avoir besoin de 15 MIPS pour mener à bien cette tâche. Selon l'invention, on va alors automatiquement augmenter la fréquence du processeur pour disposer de 35 MIPS et ainsi pouvoir fournir à l'applicatif client les 20 MIPS demandé et permettre en même temps labonne synchronisation sur le réseau cellulaire. Ensuite, lorsque la synchronisation est faite, la pile n'a plus besoin que de 2 MIPS pour rester connectée au réseau. Selon l'invention, on descend alors la fréquence du processeur pour disposer de 22 MIPS et ainsi pouvoir honorer les besoins en terme de puissance de calcul à la fois de l'applicatif client et de la pile GSM.
Ce cas peut se répéter en fonction des besoins en puissance de calcul de la pile, suivant les différents états listés ci-dessus. L'applicatif client n'a donc pas à s'occuper des différents états de la pile GSM puisque ceux-ci sont pris en compte par le procédé selon l'invention qui adapte la fréquence d'horloge du processeur pour fournir les MIPS nécessaires au bon fonctionnement des deux parties logicielles. On rappelle que l'applicatif client n'a pas de moyen de connaître ou prévoir les différents états de la pile. Cette adaptation selon l'invention garantit la fourniture d'une puissance de calcul à l'applicatif client, de manière optimisée en terme de consommation puisque la fréquence d'horloge du processeur est définie non pas statiquement de manière surdimensionnée mais dynamiquement de manière adaptée aux besoins de la pile GSM et de l'applicatif client. Il est clair que de nombreux autres modes de réalisation de l'invention peuvent être envisagés. On peut notamment prévoir que l'architecture logicielle comprenne une pile logicielle de radiocommunication et plusieurs applications client. Dans ce cas, la fréquence du processeur est définie dynamiquement de manière adaptée aux besoins de la pile GSM et des différentes applications client.

Claims (11)

REVENDICATIONS
1. Procédé de gestion de l'exécution par un processeur d'une architecture logicielle comprise dans un circuit de radiocommunication (44), ladite architecture logicielle comprenant une pile logicielle de radiocommunication (2), pouvant prendre plusieurs états, et au moins une application client (5), caractérisé en ce qu'il comprend les étapes suivantes : - pour chaque état d'une liste comprenant au moins état de ladite pile, association (El) d'une puissance de calcul prédéterminée nécessaire au fonctionnement de ladite pile dans ledit état ; - avant un passage de ladite pile dans un état de ladite liste, première adaptation (E3) de la fréquence dudit processeur pour fournir : * ladite puissance de calcul prédéterminée nécessaire au fonctionnement de ladite pile dans ledit état ; et * une puissance de calcul demandée par ladite au moins une application client, inférieure ou égale à une puissance maximale prédéterminée.
2. Procédé selon la revendication 1, caractérisé en ce qu'il comprend l'étape suivante, ladite pile étant dans un état courant : - après une demande par ladite au moins une application cliente d'une nouvelle puissance de calcul, seconde adaptation (ES) de la fréquence dudit processeur pour fournir : * la puissance de calcul prédéterminée nécessaire au fonctionnement de ladite pile dans ledit état courant ; et * ladite nouvelle puissance de calcul demandée par ladite au moins une application cliente. 25
3. Procédé selon l'une quelconque des revendications 1 et 2, caractérisé en ce que ladite liste d'états comprend au moins un état appartenant au groupe comprenant : - éteint ; - en recherche de réseau ; au repos ; 30 -en appel voix ; - en appel données ; 20- en transfert de données ; - en envoi/réception de messages courts ; et - en envoi/réception de données de service supplémentaires.
4. Procédé selon l'une quelconque des revendications 1 à 3, caractérisé en ce que ledit circuit (44) est un module électronique de radiocommunication destiné à être intégré à un dispositif de radiocommunication.
5. Procédé selon l'une quelconque des revendications 1 à 4, caractérisé en ce qu'il est mis en oeuvre dans une application principale (42) qui, quand elle est exécutée par ledit processeur, gère ladite pile logicielle de radiocommunication et offre un environnement d'exécution de ladite au moins une application client (45).
6. Produit programme d'ordinateur téléchargeable depuis un réseau de communication et/ou enregistré sur un support lisible par ordinateur et/ou exécutable par un processeur, caractérisé en ce qu'il comprend des instructions de code de programme pour l'exécution des étapes du procédé selon au moins une des revendications 1 à 5, lorsque ledit programme est exécuté sur un ordinateur.
7. Circuit de radiocommunication (44), comprenant un processeur exécutant une architecture logicielle comprenant une pile logicielle de radiocommunication (2), pouvant prendre plusieurs états, et au moins une application client (45), caractérisé en ce qu'il comprend : - des moyens d'association, pour chaque état d'une liste comprenant au moins état de ladite pile, d'une puissance de calcul prédéterminée nécessaire au fonctionnement de ladite pile dans ledit état ; - des premiers moyens d'adaptation de la fréquence dudit processeur, avant un passage de ladite pile dans un état de ladite liste, pour fournir : * ladite puissance de calcul prédéterminée nécessaire au fonctionnement de ladite pile dans ledit état ; et * une puissance de calcul demandée par ladite au moins une application client, inférieure ou égale à une puissance maximale prédéterminée.
8. Circuit selon la revendication 7, caractérisé en ce qu'il comprend :-des seconds moyens d'adaptation de la fréquence dudit processeur, après une demande par ladite au moins une application cliente d'une nouvelle puissance de calcul, ladite pile étant dans un état courant, pour fournir : * la puissance de calcul prédéterminée nécessaire au fonctionnement de ladite pile dans ledit état courant ; et * ladite nouvelle puissance de calcul demandée par ladite au moins une application cliente.
9. Circuit selon l'une quelconque des revendications 7 et 8, caractérisé en ce que ladite liste d'états comprend au moins un état appartenant au groupe comprenant : - éteint ; - en recherche de réseau ; au repos ; - en appel voix ; - en appel données ; - en transfert de données ; - en envoi/réception de messages courts ; et - en envoi/réception de données de service supplémentaires.
10. Circuit selon l'une quelconque des revendications 7 à 9, caractérisé en ce qu'il s'agit d'un module électronique de radiocommunication destiné à être intégré à un dispositif de radiocommunication.
11. Circuit selon l'une quelconque des revendications 7 à 10, caractérisé en ce que lesdits moyens résultent de l'exécution d'une application principale par ledit processeur, qui gère ladite pile logicielle de radiocommunication et offre un environnement d'exécution de ladite au moins une application client.
FR0756589A 2007-07-18 2007-07-18 Procede de gestion de l'execution d'une architecture logicielle d'un circuit de radiocommunication en jouant sur la frequence du processeur, produit programme d'ordinateur et circuit correspondants Pending FR2919082A1 (fr)

Priority Applications (2)

Application Number Priority Date Filing Date Title
FR0756589A FR2919082A1 (fr) 2007-07-18 2007-07-18 Procede de gestion de l'execution d'une architecture logicielle d'un circuit de radiocommunication en jouant sur la frequence du processeur, produit programme d'ordinateur et circuit correspondants
PCT/EP2008/059317 WO2009010536A1 (fr) 2007-07-18 2008-07-16 Procede de gestion de l'execution d'une architecture logicielle d'un circuit de radiocommunication en jouant sur la frequence du processeur, produit programme d'ordinateur et circuit correspondants

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR0756589A FR2919082A1 (fr) 2007-07-18 2007-07-18 Procede de gestion de l'execution d'une architecture logicielle d'un circuit de radiocommunication en jouant sur la frequence du processeur, produit programme d'ordinateur et circuit correspondants

Publications (1)

Publication Number Publication Date
FR2919082A1 true FR2919082A1 (fr) 2009-01-23

Family

ID=39018045

Family Applications (1)

Application Number Title Priority Date Filing Date
FR0756589A Pending FR2919082A1 (fr) 2007-07-18 2007-07-18 Procede de gestion de l'execution d'une architecture logicielle d'un circuit de radiocommunication en jouant sur la frequence du processeur, produit programme d'ordinateur et circuit correspondants

Country Status (2)

Country Link
FR (1) FR2919082A1 (fr)
WO (1) WO2009010536A1 (fr)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5825674A (en) * 1995-09-29 1998-10-20 Intel Corporation Power control for mobile electronics using no-operation instructions
US20020108064A1 (en) * 2001-02-07 2002-08-08 Patrick Nunally System and method for optimizing power/performance in network-centric microprocessor-controlled devices
US20060031692A1 (en) * 2004-08-05 2006-02-09 Kazuomi Kato Power-saving processing unit, power-saving processing method and program record medium

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5825674A (en) * 1995-09-29 1998-10-20 Intel Corporation Power control for mobile electronics using no-operation instructions
US20020108064A1 (en) * 2001-02-07 2002-08-08 Patrick Nunally System and method for optimizing power/performance in network-centric microprocessor-controlled devices
US20060031692A1 (en) * 2004-08-05 2006-02-09 Kazuomi Kato Power-saving processing unit, power-saving processing method and program record medium

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
WAVECOM: "Open AT Operating System 6.55", July 2005 (2005-07-01), XP002469029, Retrieved from the Internet <URL:http://newsletter.spezial.de/pdfdata/Operating%20System%20OS6.55_2005-07.pdf> [retrieved on 20080214] *

Also Published As

Publication number Publication date
WO2009010536A1 (fr) 2009-01-22

Similar Documents

Publication Publication Date Title
EP0897250A1 (fr) Procédé amélioré de chargement d&#39;une liste prédéterminée d&#39;articles par un terminal mobile piloté par un module d&#39;identification d&#39;abonné, commande, et appareil correspondant
FR2878109A1 (fr) Procede d&#39;evaluation de la comptabilite entre des applications et des dispositifs de traitement
FR3011433A1 (fr) Procede de commutation d&#39;un terminal depuis un premier vers un deuxieme reseau de radiocommunication, produit programme d&#39;ordinateur, moyen de stockage et terminal correspondants
WO2008125664A1 (fr) Procede et dispositif de gestion de l&#39;utilisation d&#39;un processeur par plusieurs applications, produit programme d&#39;ordinateur et moyen de stockage correspondants.
EP2067099A2 (fr) Procédé de gestion de l&#39;architecture logicielle d&#39;un circuit de radiocommunication, application, produit programme d&#39;ordinateur et circuit correspondants
EP2047698B1 (fr) Personnalisation d &#39; un terminal de radiocommunication
EP1371251B1 (fr) Module de radiocommunication hebergeant et executant un logiciel client, et procede correspondant de mise en oeuvre d&#39;un logiciel client de pilotage
FR2919082A1 (fr) Procede de gestion de l&#39;execution d&#39;une architecture logicielle d&#39;un circuit de radiocommunication en jouant sur la frequence du processeur, produit programme d&#39;ordinateur et circuit correspondants
WO2007113025A1 (fr) Module électronique de radiocommunication sans mémoires internes pour le stockage et l&#39;exécution d&#39;un programme de radiocommunication, et dispositif de radiocommunication correspondant
WO2015092307A1 (fr) Procédé de test et de mise à jour du système d&#39;un terminal par un module d&#39;identité de souscripteur et dispositifs associés
FR2919083A1 (fr) Procede de gestion de l&#39;execution d&#39;une architecture logicielle d&#39;un circuit de radiocommunication a frequence processeur constante, produit programme d&#39;ordinateur et circuit correspondants
FR3051585B1 (fr) Procede et systeme de transmission d&#39;une alerte geolocalisee a un utilisateur muni d&#39;un terminal mobile de communication
WO2021105089A1 (fr) Procédé de mise à jour de système numérique
FR3096502A1 (fr) Activation et/ou desactivation d’au moins une fonctionnalite d’au moins un tuner embarque dans un vehicule
FR3107974A1 (fr) Procédé et dispositif d’allocation de ressources réseau à un véhicule
EP4380248A1 (fr) Procédés de changement de mode de fonctionnement d&#39;un dispositif de communication sans fil et dispositifs associés
FR2937752A1 (fr) Procede et dispositif de gestion de la consommation electrique d&#39;un dispositif communicant, produit programme d&#39;ordinateur et moyen de stockage correspondants
EP3391695B1 (fr) Procédé de gestion du fonctionnement d&#39;un objet connecté
EP4289160A1 (fr) Procédé et dispositif de communication entre un véhicule et un dispositif de communication mobile
FR3124004A1 (fr) Gestion distante de l’exécution d’un service sur un véhicule fondée sur un échange de données
FR2998694A1 (fr) Module electronique pour rendre un message accessible par un systeme d&#39;exploitation vise
FR2998747A1 (fr) Procede d&#39;aiguillage d&#39;un message
FR3124005A1 (fr) Gestion distante de l’exécution d’un service sur un véhicule fondée sur une extraction de données
FR3126080A1 (fr) Procédé et dispositif de commutation de la réception de services de diffusion d’un dispositif de diffusion radiophonique
EP2469959B1 (fr) Procédé et dispositif de gestion d´une session de communication entre un terminal multi-accès et un serveur ANDSF