FR 2943158 A1 20100917 FR 0951554 A 20090312 B08-5024FR ODE/EHE Société Anonyme dite : ST WIRELESS SA Procédé de commande d'un transfert de données sur un bus informatique à transmission série Invention de : Fabrice CHERUEL Procédé de commande d'un transfert de données sur un bus informatique à transmission série L'invention concerne la commande d'un transfert de données sur un bus informatique à transmission série, et plus particulièrement la gestion d'un transfert de données sur un bus informatique à transmission série au moyen d'une unité centrale de traitement dans un téléphone mobile. Les téléphones portables intègrent de plus en plus d'applications telles que des lecteurs multimédias. I1 est ainsi possible de transférer des données d'un ordinateur vers un téléphone portable ou d'écouter de la musique sur son téléphone portable. Ces applications sont gérées et commandées par une unité centrale de traitement, telle qu'un processeur, qui commande également les transferts de données via un bus informatique entre un ordinateur, par exemple, et un téléphone portable. Les applications telles que les lecteurs multimédias demandent un taux de calcul important à l'unité centrale de traitement. Le taux de calcul restant alors disponible pour l'unité centrale de traitement est alors limité, et il n'est pas possible en général de faire fonctionner d'autres applications au même moment, ni d'effectuer un transfert de données sur un bus informatique à transmission série entre un ordinateur et le téléphone portable comprenant l'unité centrale de traitement. La puissance d'un processeur d'un téléphone portable étant limitée, lorsqu'un transfert de données sur un bus informatique à transmission série est opéré entre le téléphone portable et un ordinateur, le processeur limite les applications opérant au même moment. Ainsi, pour pouvoir bénéficier d'autres applications, telles qu'un lecteur multimédia, opérant pendant un transfert de données via un bus informatique, il est généralement nécessaire d'avoir recours à un processeur plus puissant ou à un coprocesseur externe avec une mémoire vive externe. Cependant, sur un téléphone portable, la place et la puissance des processeurs sont limitées. I1 est ainsi proposé de résoudre les inconvénients mentionnés ci-dessus en régulant le débit de transfert de données sur un bus informatique à transmission série tout en permettant à une application telle qu'un lecteur multimédia d'opérer, en agissant sur le nombre d'interruptions de données. Selon un aspect, il est proposé, dans un mode de mise en oeuvre, un procédé de commande d'un transfert de données sur un bus informatique à transmission série au moyen d'une unité centrale de traitement. Ce procédé comprend les étapes suivantes : a) on détermine une bande passante disponible pour le bus ; b) on détermine un taux de calcul disponible pour l'unité centrale de traitement ; c) on détermine un débit de données maximal sur le bus à partir de la bande passante disponible et du taux de calcul disponible ; d) on commande le transfert de données sur le bus à partir du débit de données maximal déterminé. Le débit de données maximal sur le bus correspond avantageusement au débit de données le plus important pour un taux de calcul de l'unité centrale de traitement inférieur ou égal au taux de calcul disponible, le débit de données maximal étant inférieur ou égal au débit de données correspondant à la bande passante disponible. On détermine donc une bande passante disponible pour le bus qui permet de délivrer des données à un débit de données disponible sur le bus. En fonction du taux de calcul disponible pour l'unité centrale, c'est-à-dire le taux de calcul qui n'est pas utilisé pour d'autres applications par l'unité centrale de traitement, on évalue si le taux de calcul disponible pour l'unité centrale de traitement est suffisante pour transférer des données sur le bus informatique à transmission série avec le débit disponible correspondant à la bande passante disponible pour le bus. Si le taux de calcul disponible ne permet pas de transférer les données avec le débit de données disponible, c'est-à-dire si le débit de données disponible demande un taux de calcul trop élevé, c'est-à-dire supérieur au taux de calcul disponible, alors on réduit le débit de données afin d'avoir un débit de données demandant un taux de calcul inférieur ou égal au taux de calcul disponible pour l'unité centrale de traitement. De préférence, la somme du taux de calcul de l'unité centrale de traitement utilisé pour un transfert de données sur un bus et du taux de calcul de l'unité centrale de traitement utilisé pour d'autres applications est inférieure à un seuil de fonctionnement. Ainsi, le taux de calcul total, c'est-à-dire la somme du taux de calcul utilisé pour un transfert de données sur un bus et du taux de calcul utilisé pour d'autres applications ne doit pas dépasser le seuil de fonctionnement pour que le transfert de données et les autres applications fonctionnent. Avantageusement, on répète les étapes a) à d) avant et/ou pendant un transfert de données sur le bus. Ainsi, si la bande passante disponible pour le bus varie, et/ou si le taux de calcul disponible pour l'unité centrale de traitement varie, on détermine un nouveau débit de données maximal sur le bus à partir de la nouvelle bande passante disponible et/ou du nouveau taux de calcul disponible. On commande ensuite le transfert de données sur le bus à partir du nouveau débit de données maximal déterminé. On diminue préférentiellement le débit de données sur le bus en diminuant un nombre d'interruptions alloué aux données. Les données sont envoyées par paquets de données avec des interruptions de commande et des interruptions de données. Les interruptions de commande sont en charge d'assurer le contrôle des informations envoyées entre l'appareil récepteur de données et l'appareil émetteur de données. Tant que ces interruptions de contrôle sont bien envoyées et bien reçues, la communication par le bus informatique à transmission série fonctionne. Les interruptions de données sont en charge du transfert des données. De telles interruptions de données peuvent être temporairement masquées sans que le transfert de données ne soit endommagé. Ainsi, pour réduire le débit de données, on diminue le nombre d'interruptions allouées aux données visibles par le récepteur. En masquant ainsi un nombre d'interruptions allouées aux données, on libère l'unité centrale de traitement d'un taux de calcul qui peut alors être dédié au fonctionnement d'autres applications. Ceci tout en maintenant un taux de transfert de données acceptable. On diminue avantageusement le débit de données sur le bus si le débit de données maximal est inférieur au débit de données correspondant à la bande passante disponible. Selon un autre aspect, il est proposé, dans un mode de réalisation, un système de commande d'un transfert de données sur un bus informatique à transmission série au moyen d'une unité centrale de traitement. Ce système comprend : - des premiers moyens d'évaluation aptes à déterminer une bande passante disponible pour le bus ; - des seconds moyens d'évaluation aptes à déterminer un taux de calcul disponible pour l'unité centrale de traitement ; - des moyens de détermination de débit aptes à déterminer un débit de données maximal sur le bus à partir de la bande passante disponible et du taux de calcul disponible ; - des moyens de commande aptes à commander le transfert de données sur le bus à partir du débit de données maximal déterminé. Avantageusement, les moyens de détermination de débit 30 comprennent un module de contrôle apte à vérifier que la somme du taux de calcul de l'unité centrale de traitement utilisé pour un transfert de données sur un bus et du taux de calcul de l'unité centrale de traitement utilisé pour d'autres applications est inférieure à un seuil de fonctionnement. 25 De préférence, les moyens de commande comprennent des moyens de répétition aptes à déterminer une bande passante pour le bus, déterminer un taux de calcul disponible pour l'unité centrale de traitement, déterminer un débit de données maximal sur le bus à partir de la bande passante disponible et du taux de calcul disponible, et commander le transfert de données sur le bus à partir du débit de données maximal déterminé. Les moyens de détermination de débit comprennent avantageusement un module de régulation du débit apte à diminuer le débit de données sur le bus en diminuant le nombre d'interruptions allouées aux données. D'autres avantages et caractéristiques de l'invention apparaîtront à l'examen de la description détaillée des modes de réalisation et de mise en oeuvre, nullement limitatifs, et des dessins annexés, sur lesquels : - la figure 1 illustre de manière schématique un système de commande d'un transfert de données sur un bus informatique à transmission série au moyen d'une unité centrale de traitement ; - la figure 2 illustre la variation du taux de calcul nécessaire pour une unité centrale de traitement en fonction du débit de données lors d'un transfert de données sur un bus informatique à transmission série ; - la figure 3 présente un synoptique d'un procédé de commande d'un transfert de données sur un bus informatique à transmission série au moyen d'une unité centrale de traitement. La figure 1 représente de manière schématique un système de commande d'un transfert de données sur un bus informatique à transmission série au moyen d'une unité centrale de traitement 1. L'unité centrale de traitement 1 est couplée à des moyens 2 d'interfaçage avec un bus 4 informatique à transmission série qui permet de connecter le téléphone portable comprenant l'unité centrale de traitement 1 et les moyens 2 d'interfaçage du bus 4 avec un ordinateur 3, par exemple. Le système 100 de commande d'un transfert de données sur un bus 4 informatique à transmission série au moyen d'une unité centrale de traitement 1 comprend des premiers moyens 5 d'évaluation aptes à déterminer une bande passante disponible pour le bus 4, des seconds moyens 6 d'évaluation aptes à déterminer un taux de calcul disponible pour l'unité centrale de traitement 1, des moyens de détermination de débit 7 aptes à déterminer un débit de données maximal sur le bus 4 à partir de la bande passante disponible et du taux de calcul disponible, et des moyens de commande 8 aptes à commander le transfert de données sur le bus 4 à partir du débit de données maximal déterminé. L'unité centrale de traitement 1, par exemple un processeur d'un téléphone portable, commande différentes applications mises en fonctionnement pour le téléphone portable ainsi que des transferts de données via un bus 4 informatique à transmission série avec un module externe au téléphone portable tel qu'un ordinateur ou une clé USB. L'unité centrale de traitement 1 comprend des moyens de calcul 10 aptes à commander les différentes applications mises en fonctionnement par l'unité centrale de traitement 1 et les moyens 2 d'interfaçage du bus 4 informatique à transmission série. Les seconds moyens 6 d'évaluation reçoivent en entrée le taux de calcul utilisé par les moyens de calcul 10 de l'unité centrale de traitement 1 pour commander les applications mises en fonctionnement au sein du téléphone portable par l'unité centrale de traitement 1. Les seconds moyens 6 d'évaluation déterminent ainsi un taux de calcul disponible pour l'unité centrale de traitement 1. Ce taux de calcul disponible correspond au taux de calcul inexploité par les moyens de calcul 10 de l'unité centrale de traitement 1 lors du fonctionnement des autres applications. Les premiers moyens 5 d'évaluation sont couplés aux moyens 2 d'interfaçage du bus 4 informatique via une connexion 11. Les premiers moyens 5 d'évaluation déterminent alors la bande passante disponible pour le bus 4 informatique. Cette bande passante disponible correspond à la largeur du bus 4 inutilisée au moment de la mesure. Les premiers moyens 5 d'évaluation fournissent alors aux moyens de détermination de débit 7 la bande passante disponible pour le bus 4, et les seconds moyens 6 d'évaluation fournissent le taux de calcul disponible pour l'unité centrale de traitement 1 aux moyens de détermination de débit 7. Les moyens de détermination de débit 7 déterminent alors un débit de données maximal sur le bus 4 à partir de la bande passante disponible délivrée par les premiers moyens 5 d'évaluation et à partir du taux de calcul disponible délivré par les seconds moyens 6 d'évaluation. Le débit de données maximal sur le bus 4 ainsi déterminé correspond au débit de données le plus important pour un taux de calcul de l'unité centrale de traitement 1 inférieur ou égal au taux de calcul disponible délivré par les seconds moyens 6 d'évaluation. Le débit de données maximal restant par ailleurs inférieur ou égale au débit de données correspondant à la bande passante disponible délivrée par les premiers moyens 5 d'évaluation. Ainsi, si beaucoup d'applications demandant un taux de calcul important pour leur fonctionnement sont en fonctionnement sur le téléphone portable, un très faible taux de calcul de l'unité centrale de traitement 1 sera disponible pour faire fonctionner le transfert de données sur le bus informatique. Ainsi, même si une bande passante importante est disponible sur le bus 4 informatique, le débit de données sera limité par le taux de calcul disponible pour l'unité centrale de traitement 1. Ainsi, toute la bande passante du bus 4 informatique ne sera pas utilisée, seule une petite bande passante sera utilisée pour délivrer un faible débit de données utilisant un faible taux de calcul de l'unité centrale de traitement 1. En revanche, si un taux de calcul important de l'unité centrale de traitement 1 est disponible, c'est-à-dire si peu ou pas d'applications sont utilisées en même temps qu'un transfert de données est opéré, et que la bande passante disponible pour le transfert de données sur le bus 4 informatique est petite, alors le débit de données sera limité par la bande passante disponible. En effet, le débit de données sera faible étant donné que la bande passante disponible ne permet que d'offrir un débit limité étant donné la faible bande passante disponible. Le taux de calcul disponible ne sera donc pas utilisé entièrement étant donné que pour un faible débit de données, un taux de calcul peu important est nécessaire. Les moyens de détermination de débit 7 aptes à déterminer un débit de données maximal sur le bus 4 à partir de la bande passante disponible et du taux de calcul disponible comprennent un module 11 de contrôle apte à vérifier que la somme du taux de calcul de l'unité centrale de traitement 1 utilisé pour un transfert de données sur un bus 4 et du taux de calcul de l'unité centrale de traitement 1 utilisé pour d'autres applications est inférieure à un seuil de fonctionnement. Si la somme des deux taux de calcul est supérieure à ce seuil, l'unité centrale de traitement ne peut faire fonctionner les applications et le transfert de données en même temps. Par exemple, le taux de calcul total de l'unité centrale de traitement ne doit en général pas dépasser 80% du taux de calcul de l'unité centrale de traitement 1. Ainsi, si l'on a un taux de calcul de l'unité centrale de traitement utilisé pour d'autres applications correspondant à 40% et un taux de calcul utilisé pour un transfert de données sur un bus 4 informatique à un débit de 8 mégaoctets par seconde correspondant à 50% du taux de calcul de l'unité centrale de traitement 1, la somme des deux taux de calcul est égale à 90% du taux de calcul de l'unité centrale de traitement 1 et est donc supérieure au seuil de 80% permettant de faire fonctionner les applications et le transfert de données. I1 est donc nécessaire de réduire le taux de calcul total de l'unité centrale de traitement 1. On réduit alors le débit de données utilisé pour le transfert de données sur le bus 4 en utilisant un débit de données de 6 mégaoctets par seconde qui ne requiert que 40% du taux de calcul de l'unité centrale de traitement 1 pour son fonctionnement comme cela est illustré sur la figure 2. On obtient ainsi un taux de calcul total de l'unité centrale de traitement 1 égal à 80%, ce qui est bien égal au seuil de fonctionnement de l'unité centrale de traitement 1 et permet donc de faire fonctionner les applications et le transfert de données sur le bus 4 informatique simultanément. La figure 2 permet d'illustrer le taux de calcul de l'unité centrale de traitement 1 nécessaire pour un débit de données sur un bus 4 informatique à transmission série déterminé. Par exemple, si l'on se réfère à la courbe, pour un débit de données de 10 mégaoctets/seconde, un taux de calcul de 60% de l'unité centrale de traitement est nécessaire. Si un tel taux de calcul de l'unité centrale de traitement 1 n'est pas disponible, on réduit alors le débit de données de sorte à se placer à un taux de calcul de traitement disponible pour l'unité centrale de traitement 1. Par exemple, si le taux de calcul de l'unité centrale de traitement utilisé pour d'autres applications correspond à un taux de calcul de 55% de l'unité centrale de traitement 1, et que le seuil de fonctionnement est égal à 80% du taux de calcul de l'unité centrale de traitement 1, on ne pourra pas utiliser un débit de données de 8 mégabits/seconde utilisant un taux de calcul de 50% de l'unité centrale de traitement. On ne pourra utiliser qu'un débit de données de 3 mégabits/seconde au maximum. En effet, le seuil de fonctionnement étant fixé à 80% du taux de calcul de l'unité centrale de traitement 1, et le taux de calcul de l'unité centrale de traitement utilisé pour d'autres applications correspondant à 55% du taux de calcul de l'unité centrale de traitement 1, seuls 25% du taux de calcul de l'unité centrale de traitement sont disponibles, ce qui correspond à un débit de données maximal de 3 mégaoctets par seconde sur la figure 2. Les moyens de détermination de débit 7 comprennent un module 12 de régulation de débit permettant de diminuer le débit de données sur le bus 4 en diminuant un nombre d'interruptions allouées aux données. Les données sont envoyées par paquets de données avec des interruptions de contrôle et des interruptions de données. Les interruptions de contrôle sont en charge du contrôle de l'information envoyé entre l'émetteur et le récepteur des données lors du transfert de données sur un bus 4 informatique à transmission série. Tant que ces interruptions de contrôle sont correctement envoyées et reçues, le transfert de données fonctionne parfaitement. Les interruptions de données sont en charge du transfert de données. Ces interruptions de données peuvent être temporairement masquées, sans que le transfert de données ne soit interrompu. Ainsi, si le débit de données utilisé doit être réduit par rapport au débit maximal utilisable, c'est-à-dire par rapport au débit correspondant à la bande passante disponible, alors un certain nombre d'interruptions de données, c'est-à-dire d'interruptions allouées aux données, vont être masquées tandis que les interruptions de contrôle ne seront pas masquées pour le bon fonctionnement du transfert de données. Suivant la réduction du débit de données nécessaire, le nombre d'interruptions de données non masquées sera plus ou moins important par rapport au nombre d'interruptions de données masquées. Cette séquence est répétée en boucle de manière à réduire le débit de données lors du transfert et ainsi réduire le taux de calcul nécessaire au transfert de données sur le bus 4 informatique. Ainsi, plus le nombre d'interruptions masquées est grand, plus la réduction du débit de données est importante. En revanche, si le débit de données utilisé correspond au débit de données maximal possible, c'est-à-dire correspondant au débit de données correspondant à la bande passante disponible, alors aucune des interruptions de données ne sera masquée. Les moyens de détermination de débit 7 fournissent ainsi le débit maximal utilisable pour le transfert de données via un bus 4 informatique à transmission série aux moyens 8 de commande. Les moyens 8 de commande délivrent alors le débit de données utilisé pour le transfert de données via le bus 4 informatique aux moyens 2 d'interfaçage du bus informatique 4 à transmission série. Les moyens 8 de commande comprennent également des moyens de répétition 13 aptes à répéter les étapes permettant de déterminer le débit de données maximal avant et/ou pendant un transfert de données. Ainsi, si la bande passante disponible varie et/ou le taux de calcul disponible de l'unité centrale de traitement 1 varie, un nouveau débit de données maximal peut être déterminé et délivré aux moyens 8 de commande. La figure 3 présente un synoptique d'un procédé de commande d'un transfert de données sur un bus 4 informatique à transmission série au moyen d'une unité centrale de traitement 1. Dans une première étape 301, on détermine la bande passante disponible pour le bus 4 informatique à transmission série. Dans une étape suivante 302, on détermine un taux de calcul disponible pour l'unité centrale de traitement 1. Dans une étape suivante 303, on détermine un débit de données maximal sur le bus 4 à partir de la bande passante disponible du taux de calcul disponible. Le débit de données maximal sur le bus correspond au débit de données le plus important pour un taux de calcul de l'unité centrale de traitement 1 inférieur ou égal au taux de calcul disponible. Le débit de données maximal doit rester inférieur ou égal au débit de données correspondant à la bande passante disponible. Dans une étape suivante 304, on contrôle que la somme du taux de calcul de l'unité centrale de traitement 1 utilisé pour un transfert de données sur un bus 4 et du taux de calcul de l'unité centrale de traitement 1 utilisé pour d'autres applications est inférieure à un seuil de fonctionnement. Si la somme des taux de calcul n'est pas inférieure au seuil de fonctionnement, alors on régule le débit en diminuant le débit de données sur le bus 4 informatique en diminuant le nombre d'interruptions allouées aux données. Pour cela, on masque un certain nombre d'interruptions de données. En diminuant le nombre d'interruptions de données et donc le débit de données, on diminue le taux de calcul de l'unité centrale de traitement 1 nécessaire au fonctionnement du transfert de données via le bus 4 informatique à transmission série. On, recommence les étapes 304 et 305, jusqu'à ce la somme des taux de calcul soit inférieure au seuil de fonctionnement. Si, dans l'étape 304, la somme des taux de calcul est bien inférieure au seuil de fonctionnement, alors on commande, dans une étape finale 306, le transfert de données sur le bus 4 informatique à transmission série avec le débit de données maximal déterminé. REVENDICATIONS1. Procédé de commande d'un transfert de données sur un bus informatique (4) à transmission série au moyen d'une unité centrale de traitement (1), caractérisé en ce qu'il comprend les étapes suivantes : a) on détermine une bande passante disponible pour le bus (4) ; b) on détermine un taux de calcul disponible pour l'unité centrale de traitement (1) ; c) on détermine un débit de données maximal sur le bus (4) à partir de la bande passante disponible et du taux de calcul disponible ; d) on commande le transfert de données sur le bus (4) à partir du débit de données maximal déterminé. 2. Procédé selon la revendication 1, dans lequel le débit de données maximal sur le bus (4) correspond au débit de données le plus important pour un taux de calcul de l'unité centrale de traitement (1) inférieur ou égale au taux de calcul disponible, le débit de données maximal étant inférieur ou égale au débit de données correspondant à la bande passante disponible. 3. Procédé selon l'une quelconque des revendications 1 ou 2, dans lequel la somme du taux de calcul de l'unité centrale de traitement (1) utilisé pour un transfert de données sur un bus (4) et du taux de calcul de l'unité centrale de traitement (1) utilisé pour d'autres applications est inférieure à un seuil de fonctionnement. 4. Procédé selon l'une quelconque des revendications 1 à 3, dans lequel on répète les étapes a) à d) avant et/ou pendant un transfert de données sur le bus (4). 5. Procédé selon l'une quelconque des revendications 1 à 4, dans lequel on diminue le débit de données sur le bus (4) en diminuant un nombre d'interruptions (IT) allouées aux données. 6. Procédé selon l'une quelconque des revendications 1 à 5, dans lequel on diminue le débit de données sur le bus (4) si le débit de données maximal est inférieur au débit de données correspondant à la bande passante disponible. 7. Système de commande d'un transfert de données sur un bus informatique (4) à transmission série au moyen d'une unité centrale de traitement (1), caractérisé en ce qu'il comprend : - des premiers moyens (5) d'évaluation aptes à déterminer une bande passante disponible pour le bus (4) ; - des seconds moyens (6) d'évaluation aptes à déterminer un taux de calcul disponible pour l'unité centrale de traitement (1) ; - des moyens de détermination de débit (7) aptes à déterminer un débit de données maximal sur le bus (4) à partir de la bande passante disponible et du taux de calcul disponible ; - des moyens de commande (8) aptes à commander le transfert de données sur le bus (4) à partir du débit de données maximal déterminé. 12. Système selon la revendication 7, caractérisé en ce que les moyens de détermination de débit (7) comprennent un module contrôle (11) apte à vérifier que la somme du taux de calcul de l'unité centrale de traitement (1) utilisé pour un transfert de données sur un bus (4) et du taux de calcul de l'unité centrale de traitement (1) utilisé pour d'autres applications est inférieure à un seuil de fonctionnement. 13. Système selon l'une des revendications 7 ou 8, caractérisé en ce que les moyens de commande (8) comprennent un module de répétition (13) apte à déterminer une bande passante pour le bus (4), déterminer un taux de calcul disponible pour l'unité centrale de traitement (1), déterminer un débit de données maximal sur le bus (4) à partir de la bande passante disponible et du taux de calcul disponible, et commander le transfert de données sur le bus (4) à partir du débit de données maximal déterminé.10. Système selon l'une des revendications 7 à 9, caractérisé en ce que les moyens de détermination de débit (7) comprennent un module (12) de régulation de débit apte à diminuer le débit de données sur le bus (4) en diminuant un nombre d'interruptions (IT) allouées aux données.