Brevet FR2910207A1 — publié le 20080620

Dispositif de communication pour la communication selon une règle de communication entre principal et esclave. Historique La présente invention concerne un dispositif de communication dans un scénario de communication entre principal et esclave, tel qu'il se présente par exemple dans le domaine de la communication de cartes à puce ou de cartes à mémoire. Les Cartes à Circuit Intégré Universelles (UICC = Universal Integrated Circuit Cards) trouvent une utilisation, par exemple, dans les téléphones mobiles, en particulier dans les terminaux de téléphonie mobile conformes à la norme GSM (GSM = Global System for Mobile Communication) ou à la norme UMTS (UMTS = Universal Mobile Telecommunication System). Sur ces cartes sont mémorisées, par exemple, des données personnelles d'un utilisateur de téléphone mobile, l'intégrité et la sécurité de ces données devant être assurées. De manière typique, ces cartes mémorisent quelques centaines de kilo-octets, la capacité de mémoire sera à l'avenir élargie selon l'expérience. Sur les UICC peuvent, par ailleurs, être mémorisées différentes applications, telles que par exemple l'application SIM (SIM - Subscriber Identity Module), telle qu'utilisée dans la GSM, ou également l'application USIM (USIM = Universal Subscriber Identity Module), telle qu'utilisée dans l'UMTS. Une autre application serait, par exemple, l'ISIM (ISIM = IP Multimedia Services Identity Module), telle qu'elle peut être utilisée dans l'IMS (IMS = IP Multimedia Subsystem). Pour la lecture des données de ces cartes, il est connu, dans la technique conventionnelle, différents protocoles permettant également, par exemple, de rendre possible une 2910207 2 communication entre la carte elle-même et une autre interface, telle que par exemple le CLF (CLF - Connection Less Front end). 5 L'un de ces protocoles est le SWP (SWP = Single Wire Protocol) connu dans la technique conventionnelle. Le SWP permet une communication dans un scénario de principal et esclave. Par exemple, au cas où une instance principale (par exemple un lecteur de carte) a äprovoqué un 10 traitement de données dans l'instance esclave (par exemple une carte à puce), il peut se produire que, après cet äenclenchement, il ne se produit tout d'abord pas d'autre échange de données entre l'instance esclave et l'instance principale, jusqu'à ce que le traitement de 15 données, par exemple un calcul, soit terminé et que l'instance esclave mette à disposition des données pour transmission. Dans ce cas, il peut se produire, par suite des particularités du protocole utilisé, par exemple SWP, que l'instance principale amène le bus, par suite de 20 l'absence de communication, à l'état de suspension, ce qui a pour conséquence que l'instance esclave soit ädéclenchée et que, de ce fait, le calcul soit interrompu. Dans ce cas, le traitement provoqué n'est pas terminé et doit éventuellement être à nouveau effectué ou 25 entraîne des erreurs. Dans le cas du SWP, l'instance esclave passe automatiquement à l'état de repos lorsqu'il n'a pas été observé d'activité sur le bus SWP pendant plus de 9 bits. 30 Cet état peut être, par exemple, un état sans énergie dans lequel il ne se produit pas de traitement de signal. Il peut se produire que l'instance esclave ne soit, à ce moment, pas encore prête à passer à l'état de repos, ce qui, selon l'exemple ci-dessus, peut avoir un effet 35 défavorable sur les retards dans la transmission de données. Résumé 2910207 3 Selon un exemple de réalisation, la présente invention comprend un dispositif de communication pour la communication selon une règle de communication entre 5 principal et esclave, le dispositif de communication étant réalisé comme instance esclave qui communique, par l'intermédiaire d'un bus, avec une instance principale. L'instance principale est active pour commuter le bus en un état de suspension de bus lorsqu'il n'est pas présent 10 d'activité de bus pendant un intervalle prédéterminé. En réaction à un état de suspension de bus, l'instance esclave passe à un état de suspension d'esclave. Le dispositif de communication comporte un moyen destiné à surveiller l'activité de bus et un moyen destiné à 15 envoyer un signal par l'intermédiaire du bus lorsque le moyen destiné à surveiller n'identifie pas d'activité de bus pendant une partie de l'intervalle prédéterminé et qu'un passage de l'instance esclave à l'état de suspension d'esclave n'est pas souhaité. Le signal est 20 alors actif pour empêcher que l'instance principale (160) ne commute le bus à l'état de suspension de bus. Brève description des figures 25 Ci-après sont expliqués plus en détail des exemples de réalisation préférés de la présente invention, en référence aux dessins joints en annexe, dans lesquels: la figure la illustre un exemple de réalisation d'un 30 dispositif de communication; la figure lb illustre un autre exemple de réalisation d'un circuit de communication; et 35 la figure 2 illustre deux évolutions de signal destinées à expliquer les exemples de réalisation d'un procédé. Description détaillée 2910207 4 Avant que ne soient expliqués ci-après des exemples de réalisation de la présente invention en référence aux dessins, l'attention est attirée sur le fait que des 5 éléments identiques dans les figures sont désignés par des numéros de repère identiques ou similaires et qu'une description répétée de ces éléments est omise. Lorsqu'une instance principale envoie, pendant une 10 transmission de données, un signal de suspension à une instance esclave, il peut être trouvé un mécanisme simple par lequel l'instance esclave peut éviter d'être amené dans un état de repos, afin d'éviter ainsi une interruption non souhaitée d'un traitement dans 15 l'instance esclave. Ce cas se présente, par exemple, lorsque l'instance esclave a en traitement des données à envoyer, mais n'a, auparavant, toutefois pas envoyé de données pendant une certaine période, telle que par exemple la période de 8 bits dans le SWP. L'instance 20 esclave peut alors envoyer, encore avant la réception de la signalisation d'état de repos, la signalisation d'état de repos pouvant correspondre, par exemple, à une inactivité pendant une période de huit bits, une suite de bits à l'instance principale, laquelle n'est pas 25 interprétée par l'instance principale comme une trame valable dans le sens d'une information de contrôle du protocole, tel que par exemple le SWP, mais empêche simultanément que l'instance principale ne passe à l'état de repos ou en mode de suspension et retarde donc l'étape 30 de passage à l'état de repos ou en mode de suspension. Les exemples de réalisation renoncent donc à une signalisation de protocoles supérieurs, étant donné que, par exemple dans l'exemple de réalisation du SWP, il peut 35 être communiqué directement par le SWP. L'instance esclave envoie, dans un exemple de réalisation, encore avant d'atteindre l'état de repos, un signal qui peut être traité de manière simple et rapide par l'instance 2910207 5 principale, par exemple par une identification directe dans le matériel, de sorte qu'il n'est pas requis, dans cet exemple de réalisation, d'interaction de logiciel pour réaliser un retardement de l'état de repos. Le 5 signal peut, dans un exemple de réalisation, présenter une suite de bits qui n'est pas interprétée par l'instance principale comme trame valable ou information de contrôle valable, mais qui évite simultanément que l'instance principale ne passe à l'état de repos ou 10 retarde donc cette étape. Par exemple, l'instance esclave identifie la ämenace de mode de suspension du bus et constate qu'un traitement en cours n'est pas encore terminé. Avant l'écoulement de 15 l'intervalle conduisant à la suspension du bus, il est envoyé au principal un signal quelconque que ce dernier identifie comme äcommunication sur le bus et qui évite la commutation du bus à l'état de suspension. Le principal surveillera à nouveau, après réception du 20 signal (donc à la fin de la communication), le bus en ce qui concerne une activité, de sorte que le signal est envoyé aussi souvent par l'instance esclave, jusqu'à ce que le traitement soit terminé. Les données peuvent alors être transmises comme d'habitude, et l'instance 25 principale peut ensuite, lorsque l'instance esclave ne doit plus effectuer de traitement, amener le bus en mode de suspension. La figure la illustre un exemple de réalisation d'un 30 dispositif de communication 100 pour la communication selon une règle de communication entre principal et esclave. Le dispositif de communication 100 est réalisé sous forme d'instance esclave qui communique par l'intermédiaire d'un bus 150 avec une instance principale 35 160, l'instance principale 160 étant active pour commuter le bus 150 en un état de suspension de bus lorsqu'il n'est pas présent d'activité de bus pendant un intervalle prédéterminé, et l'instance esclave passant en un état de 2910207 6 suspension d'esclave en réaction à un état de suspension de bus. Le dispositif de communication 100 comporte, par ailleurs, un moyen 110 destiné à surveiller l'activité de bus et un moyen 120 destiné à envoyer un signal par 5 l'intermédiaire du bus 150 lorsque le moyen 110 destiné à surveiller n'identifie pas d'activité de bus pendant une partie de l'intervalle prédéterminé et qu'un passage de l'instance esclave à l'état de suspension d'esclave n'est pas souhaité. Le signal est alors actif pour empêcher que 10 l'instance principale 160 ne commute le bus 150 à l'état de suspension de bus. Dans un exemple de réalisation, l'intervalle prédéterminé peut comprendre un nombre prédéterminé de segments ou de 15 bits. Par exemple, la règle de communication peut être le SWP (Single Wire Protocol). Par ailleurs, le moyen 120 destiné à envoyer peut être réalisé de manière à envoyer 20 le signal au plus tard lors du pénultième segment ou bit, dans un exemple, le signal peut présenter uniquement un ä1 logique. Dans d'autres exemples de réalisation, l'instance esclave termine, à l'état de suspension d'esclave, un traitement de données et l'état de 25 suspension d'esclave correspond alors à un état dans lequel n'a lieu aucun traitement de données, de manière générale, d'autres exemples de réalisation sont également envisageables. 30 Par exemple, l'instance esclave peut observer le bus SWP et, lorsqu'elle identifie qu'il n'y a pas d'activité sur le bus pendant une durée de 7 bits, envoyer, au 8ème bit, une suite de bits commençant, par exemple, par un 1 logique et contenant un 1 logique au moins tous les huit 35 segments temporels ou longueurs binaires. Dans un exemple de réalisation, cette caractéristique ne correspond pas à une identification fixée du SWP, telle que par exemple une identification de ästart of frame ou äend of frame. 2910207 7 Dans le sens du SWP, l'instance esclave pourrait, par exemple au 8eme, envoyer un äl logique suivi de sept ä0 logiques, jusqu'à ce que l'instance esclave, donc le dispositif de communication 100, soit finalement aussi 5 prête à passer à l'état de repos, ou jusqu'à ce que l'instance principale commence une nouvelle communication sous forme de transmission d'une trame de données. Le signal peut, par exemple pour des raisons d'économie 10 d'énergie, ne présenter qu'un ä1 logique, étant donné que, par exemple dans le domaine du SWP, chaque ä1 logique peut entraîner une consommation de courant. De manière générale, le signal peut toutefois aussi avoir plusieurs ä1. Dans un exemple de réalisation, il est 15 prévu huit bits ä0 comme intervalle de suspension et le signal est transmis au plus tard au septième bit, en général, un transmission peut également avoir lieu plus tôt. 20 Dans un autre exemple de réalisation, l'instance esclave pourrait envoyer, au Sème bit, une trame vide, c'est-à-dire une identification de ästart of frame suivie d'une identification de äend of frame suive de sept ä0, jusqu'à ce qu'elle soit prête à passer à l'état de repos. 25 Dans un autre exemple de réalisation, l'instance esclave pourrait, au 7eme bit, envoyer un äend of file, jusqu'à ce que soit atteinte une disposition à passer à l'état de repos ou soit commencée une nouvelle communication. Par exemple, un ä1 logique suivi de sept ä0 logiques ne 30 représente pas de signalisation de début ou de fin prévue dans le protocole de bus du SWP. Par conséquent, cette identification peut être interprétée comme erreur sur le bit dans le protocole de bus et n'est pas comprise comme train de données. Lorsqu'il est utilisé des 35 identifications connues, telles que par exemple dans l'exemple de réalisation qui utilise les identifications de ästart of frame ou äend of frame, l'instance principale peut, par exemple, dans l'exemple de 2910207 8 réalisation du SWP, passer à un état d'erreur, ce qui entraîne, par conséquent, une interaction du logiciel dans l'instance principale. De ce fait, les exemples de réalisation qui utilisent une identification qui est 5 interprétée comme erreur sur le bit dans le bus peuvent être préférés. La figure lb illustre un exemple de réalisation d'un circuit de communication 200, avec un récepteur 210 et un 10 émetteur 220, lesquels sont reliés à un bus 250. Le circuit de communication 200 comporte, par ailleurs, une commande 230 avec une entrée de signal de bus reliée au récepteur 210, et avec une sortie de signal 260 pour un signal reliée à l'émetteur 220, à laquelle est présent un 15 signal en réaction au fait qu'il n'est pas présent de signal à l'entrée de signal de bus pendant une partie d'un intervalle prédéterminé et en réaction au fait qu'il n'est pas souhaité de passage du circuit de communication en un état de suspension. 20 Dans un exemple de réalisation, il est également transmis, par exemple dans le cadre d'une transmission de données, des suites de ä0 logiques ou de niveaux de signal nul sur le bus. L'état dans lequel il n'est pas 25 présent de signal à l'entrée de signal de bus pendant une partie d'un intervalle prédéterminé inclut alors qu'il ne se produit pas de transmission de données pendant cet intervalle. Dans le sens de ces exemples de réalisation, l'envoi d'un mot nul pendant une transmission de données 30 ne doit pas être considéré comme équivalent à une inactivité du bus. Dans un exemple de réalisation, le récepteur 210 et l'émetteur 220 peuvent fonctionner ou être réalisés selon 35 le SWP (Single Wire Protocol). Le circuit de communication 200 peut être couplé à un autre circuit de communication présentant une commande qui, en réaction au signal, génère un signal de commande qui empêche l'autre 2910207 9 circuit de communication de commuter le bus 250 en un état de suspension de bus. Dans un exemple de réalisation, l'intervalle prédéterminé comprend un nombre prédéterminé de segments ou bits. L'émetteur peut être 5 réalisé de manière à envoyer le signal au plus tard lors du pénultième segment ou bit. Par exemple, le signal peut ne présenter qu'un seul ä1 logique. Les exemples de réalisation peuvent utiliser les exemples de réalisation de signaux déjà mentionnés, tels que par exemple ä1 10 logique suivi de sept ä0 logiques, par exemple pour SWP. La figure 2 illustre des exemples d'évolution d'un signal de suspension 300 et d'un signal 400 d'un exemple de réalisation. A la figure 2, il est supposé qu'une 15 instance principale envoie un signal de suspension 300 à une instance esclave. Il est supposé que l'instance esclave n'est pas prête à passer en un état de repos, après quoi elle envoie un signal 400 encore avant que le signal de suspension 300 ait été complètement reçu. En 20 d'autres termes, l'instance esclave n'attend, dans l'exemple de réalisation à la figure 2, pas le signal de suspension 300 complet, mais envoie à temps le signal 400 qui signale à l'instance principale une activité sur le bus, par exemple du SWP. 25 Dans l'exemple de réalisation à la figure 2, le signal de suspension 300 correspond à une inactivité du bus pendant huit durées de symbole 1 qui commence au moment t=T. Après que l'instance esclave n'a pu détecter d'activité 30 sur le bus pendant sept durées de symbole T, mais n'est pas prête à passer à l'état de suspension, elle envoie, au moment t=8T, le signal ä1 selon l'évolution de signal 400 à l'instance esclave à la figure 2. 35 Les exemples de réalisation permettent donc à un niveau de protocole, tel que par exemple SWP, de retarder une entrée en un état de repos s'il peut être prévu, du point de vue d'une instance esclave, qu'un traitement de 2910207 10 données en cours ne peut pas être terminé. En particulier, l'attention est attirée, sur le fait que, en fonction des circonstances, les exemples de 5 réalisation peuvent également être mis en oeuvre en logiciel. La mise en oeuvre peut avoir lieu sur un support de mémoire numérique, en particulier une disquette, un CD ou DVD avec des signaux de commande pouvant être lus de manière électronique, qui coopère avec un système 10 d'ordinateur programmable de sorte que soit réalisé le procédé correspondant. En général, les exemples de réalisation peuvent donc également être réalisés sous forme de programme d'ordinateur avec un code de programme mémorisé sur un support pouvant être lu en machine pour 15 la réalisation du procédé correspondant lorsque le programme d'ordinateur est exécuté sur un ordinateur. En d'autres termes, les exemples de réalisation peuvent donc être réalisés sous forme de programme d'ordinateur avec un code de programme pour la réalisation du procédé 20 lorsque le programme d'ordinateur est exécuté sur un ordinateur. Revendications 1. Dispositif de communication (100) pour la communication selon une règle de communication entre principal et esclave, le dispositif de communication (100) étant réalisé comme instance esclave qui communique, par l'intermédiaire d'un bus (150), avec une instance principale(160), l'instance principale (160) étant active pour commuter le bus (150) en un état de suspension de bus lo lorsqu'il n'est pas présent d'activité de bus pendant un intervalle prédéterminé et l'instance esclave passant, en réaction à un état de suspension de bus, à un état de suspension d'esclave, aux caractéristiques suivantes: 15 un moyen (110) destiné à surveiller l'activité de bus; et un moyen (120) destiné à envoyer un signal par l'intermédiaire du bus (150) lorsque le moyen (110) destiné à surveiller n'identifie pas d'activité de bus pendant une 20 partie de l'intervalle prédéterminé et qu'un passage de l'instance esclave à l'état de suspension d'esclave n'est pas souhaité, le signal étant actif pour empêcher que l'instance 25 principale (160) ne commute le bus (150) à l'état de suspension de bus. 2. Dispositif de communication (100) selon la revendication 1, dans lequel l'intervalle prédéterminé 30 comprend un nombre prédéterminé de segments ou bits. 3. Dispositif de communication (100) selon la revendication 2, dans lequel le moyen (120) destiné à envoyer est réalisé de manière à envoyer le signal au plus 35 tard lors du pénultième segment ou bit. 4. Dispositif de communication (100) selon l'une des 2910207 12 revendications 1 à 3, qui est réalisé de manière à répéter le signal jusqu'à ce que soit souhaité un passage de l'instance esclave à l'état de suspension d'esclave ou qu'ait lieu une autre activité de bus. 5. Dispositif de communication (100) selon l'une des revendications 1 à 4, dans lequel le signal ne présente qu'un seul ä1 logique. 6. Dispositif de communication (100) selon l'une des revendications 1 à 5, dans lequel l'instance esclave termine, à l'état de suspension d'esclave, un traitement de données. 7. Dispositif de communication (100) selon l'une des revendications 1 à 6, dans lequel la règle de communication est le SWP (Single Wire Protocol). 8. Circuit de communication (200), avec un récepteur (210) et un émetteur (220), lesquels scnt reliés à un bus (250); et une commande (230) avec une entrée de signal de bus reliée 25 au récepteur (210), et avec une sortie de signal (260) pour un signal reliée à l'émetteur (220), à laquelle est présent un signal en réaction au fait qu'il n'est pas présent de signal à l'entrée de signal de bus pendant une partie d'un intervalle prédéterminé et en réaction au fait qu'il n'est 30 pas souhaité de passage du circuit de communication en un état de suspension. 9. Circuit de communication (200) selon la revendication 8, dans lequel la commande (230) applique un signal à la 35 sortie de signal (260) en réaction au fait qu'il n'est pas présent de signal à l'entrée de signal de bus pendant une partie d'un intervalle prédéterminé, qu'il n'a pas lieu de 5 2910207 13 transmission de données et qu'un passage du circuit de communication en un état de suspension n'est pas souhaité. 10. Circuit de communication (200) selon l'une des 5 revendications 8 ou 9, dans lequel le récepteur (210) et l'émetteur (220) fonctionnent selon le SWP (Single Wire Protocol). 11. Circuit de communication (200) selon l'une des 10 revendications 8 à 10, dans lequel le bus (250) est couplé à un autre circuit de communication présentant une commande qui, en réaction au signal, génère un signal de commande qui évite que l'autre circuit de communication ne commute le bus (200) dans un état de suspension de bus. 15 12. Circuit de communication (200) selon l'une des revendications 8 à 11, dans lequel l'intervalle prédéterminé comprend un nombre prédéterminé de segments ou bits. 13. Circuit de communication (200) selon la revendication 12, dans lequel l'émetteur (220) envoie le signal au plus tard lors du pénultième segment ou bit. 14. Circuit de communication (200) selon l'une des revendications 8 à 13, dans lequel le signal ne présente qu'un seul ä1 logique. 15. Circuit de communication (200) selon l'une des revendications 8 à 14, qui termine, à l'état de suspension, un traitement de données. 16. Procédé de communication selon une règle de communication principal-esclave entre une instance esclave et une instance principale, l'instance esclave communiquant par l'intermédiaire d'un bus avec l'instance principale, l'instance principale étant actif pour commuter le bus en 20 2910207 14 un état de suspension de bus lorsqu'il n'est pas présent d'activité de bus pendant un intervalle prédéterminé, et l'instance esclave passant, en réaction à un état de suspension de bus, en un état de suspension d'esclave, aux 5 étapes suivantes: surveillance de l'activité de bus par l'instance esclave; et 10 envoi d'un signal par l'instance esclave, par l'intermédiaire du bus, à l'instance principale lorsqu'il n'est présent d'activité de bus pendant une partie de l'intervalle prédéterminé et qu'un passage de l'instance esclave à l'état de suspension d'esclave n'est pas 15 souhaité, le signal étant actif pour éviter que l'instance principale ne commute le bus dans l'état de suspension de bus. 20 17. Procédé selon la revendication 16, dans lequel l'intervalle prédéterminé comprend un nombre prédéterminé de segments ou bits. 18. Procédé selon la revendication 17, dans lequel le 25 signal est envoyé au plus tard lors du pénultième segment ou bit. 19. Procédé selon l'une des revendications 16 à 18, dans lequel le signal ne présente qu'un seul ä1 logique. 20. Procédé selon l'une des revendications 16 à 19, dans lequel l'instance esclave termine, à l'état de suspension d'esclave, un traitement de données. 35 21. Procédé selon l'une des revendications 16 à 20, dans lequel la règle de communication est le SWP (Single Wire Protocol). 30 2910207 15 22. Programme d'ordinateur avec un code de programme pour réaliser l'un des procédés selon l'une des revendications 16 à 21 lorsque le code de programme est exécuté sur un 5 ordinateur.