FR 2943202 A1 20100917 FR 0901173 A 20090313 Procédé d'échanges de données audio entre une unité principale et un contrôleur de type Bluetooth 5 Domaine technique de l'invention La présente invention concerne le domaine de l'électronique et plus spécifiquement un procédé d'échange de données audio entre une unité principale et un contrôleur de communication sans fil de type Bluetooth. Etat de la technique 15 La communication sans fil tend à se généraliser dans les appareils qui constituent notre quotidien, et ce tout spécialement les appareils et dispositifs audio à destination du grand public. A cet égard, le protocole de communication sans fil connu sous l'appellation 20 BLUETOOTH est particulièrement illustratif et son utilisation se développe rapidement. Une qualité essentielle d'un lecteur audio, tel qu'un lecteur mp3 par exemple, réside dans la durée de fonctionnement de sa batterie. Le nombre important de 25 fonctionnalités requises dans les dispositifs les plus récents, dans lesquels on multiplie à souhait les applications tel que la téléphonie mobile, les agenda et organiseurs électroniques et les écrans en couleur conduisent bien évidemment à réduire la durée de vie de la batterie ce qui est un problème majeur. 30 Il est donc souhaitable de prévoir des solutions permettant de réduire autant faire que ce peut la consommation électrique d'un lecteur audio sophistiqué utilisant une connexion sans file de type bluetooth. ST08-SOA-158 10 30 Exposé de l'invention La présente invention a pour but de proposer un procédé d'échange entre une unité centrale et un contrôleur de type �bluetooth � assurant la possibilité d'une lecture constante de fichiers audio (streaming) tout en autorisant des cycles de veille et d'éveil de l'unité principale afin de réduire la consommation électrique. Un autre but de la présente invention consiste à proposer un procédé permettant la communication d'un flux audio continu (streaming) vers un casque audio sans fil suivant la technologie Bluetooth, depuis un contrôleur de communication bluetooth communiquant par intermittence avec une unité centrale alternant entre des phases de veille et des phases opérationnelles. Un troisième but de la présente invention consiste à réaliser un téléphone mobile ou un assistant personnel doté de fonctionnalités audio et échangeant avec un casque audio suivant une technologie sans fil, et autorisant une durée de vie plus longue de la batterie. L'invention réalise ces buts au moyen d'un dispositif électronique comportant des fonctionnalités audio/vidéo comportant : - une unité centrale ayant des moyens de stockage de fichiers audio/vidéo ; - un contrôleur de communication de type Bluetooth permettant la communication sans fil des fichiers audio/vidéo vers un satellite, ledit contrôleur de communication comportant une mémoire tampon assurant le stockage provisoire de données audio/vidéo reçues par l'unité centrale ; caractérisé en ce qu'il comporte - des moyens pour transmettre une salve de paquets de données audio/vidéo vers ledit contrôleur de communication; ST08-SOA-158 -230 - des moyens pour assurer une mise en veille intermittente de ladite unité centrale entre deux salves de paquets audio afin de réduire la consommation électrique de ladite unité centrale. Dans un mode de réalisation, l'unité centrale comporte des moyens pour, préalablement à l'envoi d'une salve de paquets de fichiers audio/video, transmettre au contrôleur une requête (A2DP_enable) définissant une valeur de seuil (T1) pour la mémoire tampon. De préférence, le contrôleur de communication répond à ladite requête définissant la valeur de seuil (T1) par une commande précisant le nombre N de paquets pouvant être reçus et stockés dans ladite mémoire tampon. Dans un mode de réalisation, l'unité centrale procède à l'envoi successif de N 15 paquets préalablement à sa mise en état de veille durant une période prédéterminée. L'invention est particulièrement adapté à la réalisation d'un téléphone mobile comportant des fonctionnalités audio/vidéo. 20 L'invention permet également la réalisation d'un procédé d'échange de données entre une unité centrale comportant des moyens de stockage de fichiers audio/vidéo et un contrôleur de communication de type Bluetooth permettant la communication sans fil des fichiers audio/vidéo vers un satellite, tel qu'un casque 25 sans fil par exemple, ledit contrôleur de communication comportant une mémoire tampon (210) assurant le stockage provisoire de données audio/vidéo reçues par l'unité centrale. Le procédé comporte les étapes suivantes : - transmission par l'unité centrale d'une commande correspondant à un mode de lecture par salve, comportant une valeur de seuil (T1) ; ST08-SOA-158 25 -4 - réception par l'unité centrale d'une confirmation émanant du contrôleur de communication venant préciser le nombre de paquets pouvant être reçus durant chaque salve ; - transmission d'une salve de paquets de données audio/vidéo par l'unité centrale 5 vers ledit contrôleur de communication, - mise en état de veille de l'unité centrale pendant une durée déterminée correspondant au nombre N de paquets pouvant être stockés dans la mémoire tampon; - réactivation de l'unité centrale au-delà de la dite durée de veille et retransmission 10 d'une nouvelle salve de paquets de données audio/vidéo. Dans un mode de réalisation particulier, le contrôleur transmet une requête UART WAKE lorsque le niveau de remplissage de ladite mémoire tampon passe en dessous de ladite valeur de seuil (T1). Description des dessins D'autres caractéristiques, but et avantages de l'invention apparaîtront à la 20 lecture de la description et des dessins ci-après, donnés uniquement à titre d'exemples non limitatifs. Sur les dessins annexés : La figure 1 illustre l'architecture générale d'un dispositif de mise en oeuvre du procédé de la figure 2. La figure 2 représente le détail du contrôle de flux (flow control) entre l'unité centrale et le contrôleur bluetooth, ainsi que la gestion des mémoires tampons (buffers). 30 ST08-SOA-158 15 2943202 -s Description d'un mode de réalisation préféré La figure 1 décrit l'architecture générale d'un dispositif électronique s comportant des fonctionnalités audio, tel qu'un lecteur audio de type MPEG (mp3) , pouvant utiliser avantageusement le procédé suivant l'invention. L'invention est particulièrement adaptée à la réalisation d'un téléphone mobile de dernière génération comportant des fonctionnalités audio étendues lo permettant la transmission de flux audio sur un codeurs-décodeurs (Codec) ou sur un casque sans fil répondant à la norme Bluetooth. En référence à la figure 1, on voit un dispositif 10 qui comporte une unité principale 100 (désignée par l'appellation host dans la littérature anglo-saxonne), 15 par exemple un module en bande de base dans le cas d'un téléphone, comportant des fonctionnalités de stockage de fichiers, tels que des fichiers de type mp3, et une interface utilisateur permettant la sélection de fichiers et l'activation de fonctions par l'utilisateur. Un homme du métier comprendra immédiatement que l'architecture est applicable également à tout assistant personnel (PDA ou Persona) Document 20 Assistant) ou dispositif de traitement de données portable. Typiquement, l'unité centrale est architecturée autour d'un processeur dédié 110, communiquant via un bus d'adresses et de données 101 avec une ou plusieurs unités d'entrées/sorties 120, ainsi qu'avec de la mémoire vive 120 (Read 25 Access Memory) et de la mémoire de stockage 130, telle que ROM (Read Only Memory), EPROM (Erasable Programmable Read Only Memory ou FLASH etc...). D'une manière générale, la mémoire de stockage sert au stockage des fichiers utilisateurs, notamment des fichiers audio au format mp3, mais également au stockage des instructions de microprogrammes notamment pour mettre en oeuvre 30 les fonctionnalités avancées du dispositif 10. Dans le cas d'un téléphone mobile, l'unité centrale 100 comporte, en outre, les circuits de transmission et de réception susceptibles de permettre une communication sans fil conformément à un standard donné. ST08-SOA-158 20 -b- Le dispositif portable 10 comporte en outre un contrôleur bluetooth 200 destiné à gérer une communication sans fil suivant le protocole Bluetooth et notamment pour une transmission de données audio à un satellite distant 20, tel qu'un casque sans fil par exemple. Les données audio reçue en flux continu s (streaming) sont encapsulés, comme cela est connu, dans un profil de type A2DP (Advanced Audio Distribution Profile). Le contrôleur Bluetooth 20 comporte son propre processeur (non représenté) et ses circuits accessoires permettant le transfert, en mode continu (streaming) de Io données audio avec l'unité satellite 30 ou le casque sans fil, ainsi qu'une mémoire tampon 210 (FIFO) . La communication entre l'unité centrale (host) 100 et le contrôleur de communication bluetooth se fait au moyen d'une interface UART standard 15 (Universal Asynchronous Receiver Transmitter) Le problème résulte de ce que, lorsque tous les circuits de l'unité centrale 100 sont actifs, cette dernière consomme une grande quantité de courant qui réduit d'autant la durée de vie de la batterie. Pour réduire la consommation de courant, on prévoit de modifier le contrôleur de communication Bluetooth 200 de manière à intégrer, en son sein, la couche logiciel de gestion du profile A2DP qui est, d'habitude et suivant les recommandations normatives, intégrées au niveau de l'unité centrale 100. 25 Ainsi, le contrôleur 200 devient autonome et peut gérer seul la communication d'un flot de données audio (streaming) vers le satellite 20. D'une manière générale, le profil A2DP est bien connu d'un homme du métier 30 et ne requiert pas d'avantage de développements. La délocalisation dans le contrôleur Bluetooth 200 s'appuie sur la définition d'API permettant l'initialisation et la configuration du profil A2DP normalement effectué dans l'unité centrale (host). ST08-SOA-158 L'on décrit à présent, en relation avec la figure 2, un procédé de communication entre l'unité centrale 100 et le contrôleur de communication bluetooth 200 permettant une mise en veille intermittente de l'unité centrale tout en assurant, notamment, une communication constante (streaming) de données audio vers le satellite 20. L'on décrit tout particulièrement le mécanisme de contrôle de flux entre l'unité centrale 100 et le contrôleur 200. Dans une étape 1, l'unité centrale se configure dans un mode � A2DP burst � et définit une variable de seuil Ti. Puis, dans une étape 2, l'unité centrale transmet une commande spécifique HCI (Host Control Interface), comportant la valeur de la variable de seuil Ti, et informant le contrôleur 200 de l'activation du mode � A2DP burst �. D'une manière pratique, cette commande est réalisée au moyen d'un code spécifique normalisé dans la spécification Bluetooth (Ox3F). Puis, dans une étape 3, le contrôleur de communication 200 stocke dans sa mémoire interne la valeur de seuil TI et se configure dans un mode � A2DP_burst � pour recevoir, de manière intermittente des paquets (ou � chunks � dans la littérature anglo-saxonne du flux de données). Dans une étape 4, le contrôleur transmet un message de confirmation à l'unité centrale 100, confirmant également le nombre N de paquets pouvant être réceptionnés et stockés au sein de la mémoire tampon. Le contrôleur initialise alors la mémoire tampon 210 . Dans une étape 5, l'unité centrale transmet, d'une manière séquentielle, les N paquets (chunks) de données audio qui sont alors successivement stockées au 30 sein de la mémoire tampon 210 du contrôleur 200. Puis, dans une étape 6, l'unité centrale se met dans un mode veille limitant ainsi la consommation électronique durant une période prédéterminée correspondant au temps de vidage de la mémoire tampon (FIFO) 210. ST08-SOA-158 De son côté, le contrôleur 200 détecte dans une étape 7 la réception des paquets reçus de l'unité centrale, typiquement jusqu'au remplissage complet de la mémoire tampon. Puis, dans une étape 8, le contrôleur 200 procède à l'encapsulation des paquets suivant le protocole Bluetooth et son émission à destination du satellite 20 ou du casque sans fil. Le contrôleur suit par ailleurs le niveau de remplissage de la mémoire tampon 210. lo Dans une étape 9, le contrôleur 200 détecte la baisse du remplissage de la mémoire tampon 210, et spécifiquement le fait que le niveau passe sous la valeur du seuil TI prédéterminé et fixé par l'unité centrale 100. II procède à l'envoie d'une soit-disant requête UART_WAKE destiné au réveil ou à l'activation de l'unité 15 centrale. Cette commande désignée UART_WAKE peut emprunter de multiples formes en fonction de l'implémentation particulière pour le téléphone mobile.... 20 Dans un exemple, on pourra s'appuyer sur la norme Bluetooth laquelle laisse la possibilité de transmettre des messages � propriétaires � (i.e. spécifiquement choisi par le constructeur) à l'unité centrale pour commander son réveil. On pourra avantageusement utiliser un code réservé tel que OxFF. 25 Alternativement, en fonction de l'implémentation, l'on pourra réserver un circuit physique particulier ou un canal logique particulier pour véhiculer la commande spécifique UART_WAKE destiné à la mise en éveil de l'unité centrale. 30 Dans une étape 10, l'unité centrale 100 procède à la sortie d'état de veille et à la réactivation de ses circuits internes. Elle peut dès lors confirmer la bonne réception de la requête UART WAKE. ST08-SOA-15 8 5 -9 Puis, dans une étape Il, l'unité centrale 100 peut procéder à la réitération des étapes précédentes pour effectuer l'envoi d'une nouvelle salve de données à destination du contrôleur Bluetooth 200, avant une nouvelle mise en état de veille, etc... Comme on le voit, ce mécanisme permet de réaliser une lecture en continu d'un flux audio, par exemple de type mp3, tout en réduisant de manière significative la consommation électrique de l'unité centrale. 10 Le mode de réalisation qui vient d'être décrit est parfaitement adapté à la lecture en streaming de fichiers audio, mais également vidéo. ST08-SOA-158 25 Revendications1. Dispositif électronique comportant des fonctionnalités audio/vidéo comportant : - une unité centrale (100) comportant des moyens de stockage de fichiers audio/vidéo ; - un contrôleur de communication (200) de type Bluetooth permettant la communication sans fil des fichiers audio/vidéo vers un satellite (20), ledit contrôleur de communication comportant une mémoire tampon (210) assurant le stockage provisoire de données audio/vidéo reçues par l'unité centrale ; caractérisé en ce qu'il comporte - des moyens pour transmettre une salve de paquets de données audio/video vers ledit contrôleur de communication; - des moyens pour assurer une mise en veille intermittente de ladite unité centrale entre deux salves de paquets audio afin de réduire la consommation électrique de ladite unité centrale. 2. Dispositif selon la revendication 1 caractérisé en ce que l'unité centrale (100) comporte des moyens pour, préalablement à l'envoi d'une salve de paquets de fichiers audio/video, transmettre au contrôleur (200) une requête (A2DP_enable) définissant une valeur de seuil (Ti) pour la mémoire tampon (210). 3. Dispositif selon la revendication 2 caractérisé en ce que ledit contrôleur de communication (200) répond à ladite requête définissant la valeur de seuil (Ti) par une commande précisant le nombre N de paquets pouvant être reçus et stockés dans ladite mémoire tampon (210) . 30 4. Dispositif selon la revendication 3 caractérisé en ce que l'unité centrale procède a l'envoi successif de N paquets préalablement à sa mise en état de veille durant une période prédéterminée. ST08-SOA-15 8 30-11- 5. Dispositif selon la revendications 1 à 4 caractérisé en ce que ledit contrôleur de communication est un contrôleur de type Bluetooth et que la mise en état d'éveil de l'unité centrale est assurée en utilisant le code réservé OxFF 6. Dispositif selon l'une des revendications précédentes caractérisé en ce qu'il est utilisé pour réaliser un téléphone mobile comportant des fonctionnalités audio/vidéo. 7. Téléphone mobile comportant des fonctionnalités audio/vidéo comportant : - une unité centrale (100) comportant des moyens de stockage de fichiers 10 audio/vidéo ; - un contrôleur de communication (200) de type Bluetooth permettant la communication sans fil des fichiers audio/vidéo vers un satellite (20), ledit contrôleur de communication comportant une mémoire tampon (210) assurant le stockage provisoire de données audio/vidéo reçues par l'unité centrale ; 15 caractérisé en ce qu'il comporte - des moyens pour transmettre une salve de paquets de données audio/vidéo vers ledit contrôleur de communication; - des moyens pour assurer une mise en veille intermittente de ladite unité centrale entre deux salves de paquets audio afin de réduire la consommation électrique de 20 ladite unité centrale. 8. Procédé d'échange de données entre une unité centrale (100) comportant des moyens de stockage de fichiers audio/vidéo et un contrôleur de communication (200) de type Bluetooth permettant la communication sans fil des fichiers 25 audio/vidéo vers un satellite (20), ledit contrôleur de communication comportant une mémoire tampon (210) assurant le stockage provisoire de données audio/vidéo reçues par l'unité centrale ; caractérisé en ce qu'il comporte les étapes suivantes : - transmission par l'unité centrale d'une commande correspondant à un mode de lecture par salve, comportant une valeur de seuil (T1) ; ST08-SOA-158 20-12- - réception par l'unité centrale d'une confirmation émanant du contrôleur de communication (200), venant préciser le nombre de paquets pouvant être reçus durant chaque salve ; - transmission d'une salve de paquets de données audio/vidéo par l'unité centrale 5 vers ledit contrôleur de communication, - mise en état de veille de l'unité centrale pendant une durée déterminée correspondant au nombre N de paquets pouvant être stockés dans la mémoire tampon (210) ; - réactivation de l'unité centrale au-delà de la dite durée de veille et retransmission 10 d'une nouvelle salve de paquets de données audio/vidéo. 9. Procédé selon la revendication 8 caractérisé en ce que le dit contrôleur de communication (200) transmet une requête UART_WAKE lorsque le niveau de remplissage de ladite mémoire tampon (210) passe en dessous de ladite valeur de 15 seuil (T1). 10. Procédé selon l'une des revendication 8 à 9 caractérisé en ce qu'il est utilisé dans un téléphone mobile comportant des fonctionnalités audio/vidéo. ST08-SOA-158