Brevet FR2799019A1 — publié le 20010330

PROCEDE POUR TRANSMETTRE DES DONNES D'UN CLAVIER SANS FIL COMPORTANT UNE BOULE DE COMMANDE CONTEXTE DE L'INVENTION 1. Domaine de l'Invention La présente' invention concerne un procédé pour transmettre des données à partir d'un clavier sans fil, qui est un dispositif d'entrée d'ordinateur personnel, comportant une boule de commande, et concerne, plus particulièrement, un procédé pour transmettre des données de clavier sans fil comportant une boule de commande qui est capable de transmettre des données de clavier et des données de boule de commande plus efficacement au même instant. 2. Description de l'art antérieur Un dispositif de clavier et un dispositif de souris sont des dispositifs d'entrée typiques d'ordinateur personnel. Et, récemment, avec des technologies très développées, afin de résoudre les problèmes qui surviennent du fait qu'un dispositif de clavier et/ou un dispositif de souris sont reliés par un câble au corps principal d'un ordinateur et les problèmes de coût et les problèmes d'installation qui surviennent du fait qu'une souris et un clavier sont installés indépendamment du corps principal, un dispositif de clavier sans fil comportant une boule de commande, qui combine une souris dans un clavier 73 de type boule de commande 732, comme décrit sur la figure 7, et qui exécute une transmission de données avec un ordinateur personnel 72 par des signaux de communication sans fil, tels que des signaux infrarouges ou de haute fréquence, se développe. 2 2799019 Le dispositif de clavier sans fil mentionné ci- dessus, tel que décrit dans la figure 7, présente des avantages tels que l'installation et le fonctionnement deviennent simples parce qu'un câble électrique n'est pas nécessaire pour la transmission de données vers l'ordinateur 72, et qu'un grand nombre d'utilisateurs sont capables d'utiliser un ordinateur simultanément en connectant de nombreux claviers à un ordinateur. Cependant, comparé à un dispositif de clavier câblé, il a un handicap en ce que les données de balayage de touches et/ou les données de boule de commande pourraient être facilement mal transmises du fait des bruits environnants et/ou d'autres causes. La figure 1 est un schéma fonctionnel illustrant un procédé général de transmission de données de clavier sans fil. Il exécute un balayage dans une certaine période et transmet les données balayées dans une unité de paquet. La période de transmission T1 dudit paquet est, par exemple, de 25 ms, et un paquet comprend un signal de tête (autrement dit, il est appelé signal de préambule) qui notifie une transmission de données vers le corps principal d'un ordinateur à synchroniser, et les 4 octets de données, transmis consécutivement après ledit signal de tête, qui contiennent les données de clavier et/ou de boule de commande. En général, les données de clavier sans fil sont transmises par un procédé de modulation d'impulsions à 4 positions bien connu. Dans l'art antérieur, comme décrit sur la figure 2, un code 0001110 est transmis en tant que signal de tête en utilisant 7 éléments. Ici, parce que la durée d'un élément unique est de 321,4 ps, le signal de tête a une durée de 2,249 ms (321,4 Ps x 7 = 2,249 ms). 3 2799019 En général, la fonction principale d'un signal de tête consiste à faire en sorte que la partie de réception (d'un ordinateur personnel) reconnaisse que les données qui suivent doivent être reçues et à faire en sorte qu'un dispositif d'entrée et le corps principal soient facilement synchronisés. Dans le cas o un signal de tête devient plus grand comme décrit ci-dessus, ceci a pour avantage que la partie de réception a une très forte résistance au bruit, cependant, dans la partie d'émission qui doit transmettre des données consécutivement avec une période désignée, ceci pose des problèmes en ce que la manipulation des données devient difficile et que la consommation de courant devient grande du fait de la grande durée du signal. De plus, dans le cas d'un clavier sans fil comportant une boule de commande, les données de boule de commande et les données de clavier devraient être transmises ensemble. Dans ce cas, si les structures de données des données de clavier et des données de boule de commande sont différentes l'une de l'autre, la partie de réception devrait être réalisée de manière à être capable de traiter les deux formats différents et, de ce fait, la taille du programme de la partie de réception devient grande et il devient inefficace. RESUME DE L'INVENTION La présente invention concerne un procédé pour transmettre des données de clavier sans fil comportant une boule de commande, qui transmet des données de boule de commande et des données de clavier plus efficacement et qui, de ce fait, simplifie les traitements de la partie de réception et.réduit la consommation de courant du dispositif de clavier. Le procédé de transmission de données de clavier sans fil 4 2799019 comportant une boule de commande selon la présente invention transmet un signal de tête composé de cinq éléments comprenant les trois premiers signaux consécutifs de niveau bas et le signal de niveau haut et le signal de niveau bas suivants, transmet ensuite des données qui contiennent des données de boule de commande et des données de balayage de clavier enregistrées dans le même format de données, et, au lieu d'un code de somme de contrôle, alloue la valeur complémentaire de la valeur de code du troisième octet (Octet 3) au quatrième octet (Octet 4), et le transmet de sorte qu'un contrôle d'erreur de transmission puisse être effectué en comparant simplement le troisième octet et le quatrième octet, et réduit de ce fait la consommation de courant du dispositif de clavier et simplifie les traitements de réception de l'ordinateur. BRÈVE DESCRIPTION DES DESSINS Les objets ci-dessus et d'autres avantages de la présente invention deviendront plus évidents par la description détaillée du mode de réalisation préféré de la présente invention en se référant aux dessins joints, sur lesquels: la figure 1 est un schéma de principe illustrant un procédé général de transmission de données de clavier sans fil. La figure 2 est un schéma de principe illustrant une structure de signal de tête de clavier sans fil de l'art antérieur. Les figures 3 sont des vues illustrant des structures de données de clavier sans fil et de données de boule de commande de l'art antérieur. La figure 4 est un schéma de principe-.illustrant une structure de signal de tête de clavier sans fil selon la présente invention. 2799019 Les figures 5 sont des diagrammes de format illustrant des modes de réalisation des structures de données de clavier et de données de boule de commande selon le procédé de transmission de données de la présente invention. Les figures 6 sont des diagrammes de format illustrant d'autres modes de réalisation des structures de données de clavier et de données de boule de commande selon le procédé de transmission de données de la présente invention. La figure 7 est une vue en perspective illustrant une structure générale d'un système informatique avec un clavier sans fil comportant une boule de commande. DESCRIPTION DÉTAILLÉE DU MODE DE RÉALISATION PRÉFÉRÉ La présente invention est proposée pour résoudre les problèmes mentionnés ci-dessus. C'est, par conséquent, l'objet de la présente invention de proposer un procédé pour transmettre des données de clavier sans fil comportant une boule de commande, qui transmet des données de boule de commande et des données de clavier plus efficacement et qui, de ce fait, simplifie les traitements de la partie de réception et réduit la consommation de courant du dispositif de clavier. Pour réaliser ledit objet, le procédé de transmission de données de clavier sans fil comportant une boule de commande selon la présente invention comprend les étapes consistant à transmettre un signal de tête composé de cinq éléments comprenant les trois premiers signaux consécutifs de niveau bas et le signal de niveau haut et le signal de niveau bas suivants, et à transmettre des données qui contiennent des données de boule de commande et des données de balayage de clavier à la suite dudit signal de tête. 6 2799019 En se référant aux dessins joints, le procédé de transmission de données de clavier sans fil comportant une boule de commande selon la présente invention est maintenant décrit. La figure 4 est un schéma de principe illustrant la structure d'un paquet transmis à partir d'un clavier sans fil selon le procédé de transmission de données de la présente invention. Le paquet comprend un signal de tête et 4 octets de données de boule de commande et/ou de clavier, dans lequel le signal de tête est composé de 5 éléments "00010". Comme décrit ci-dessus, les données transmises à partir du clavier sans fil sont modulées par un procédé de modulation d'impulsions à 4 positions, dans lequel un signal de niveau bas '0' peut être transmis trois fois d'affilée. Dans la présente invention, en utilisant cette caractéristique, il transmet trois signaux de niveau bas consécutifs devant être reconnus comme un signal de tête, et transmet un signal de niveau haut "1" pour faire en sorte que la partie de réception soit synchronisée, et transmet un signal de niveau bas pour notifier la fin du signal de tête, et réduit de ce fait la durée du signal de tête. Un signal de tête réalisé selon le procédé mentionné ci-dessus, dans le cas o la durée d'un élément unique est de 321,4 Ds comme à l'habitude, a une durée de 1,607 ms (5 x 321,4 Ds) parce qu'il est composé de 5 éléments. La durée du signal de tête est, par conséquent, réduite de 579 ps comparée à celle de l'art antérieur, et cela signifie que la durée de chaque paquet est réduite de cette quantité. Ainsi, dans le clavier sans fil qui transmet des données de boule de commande et des données de clavier dans ladite unité de paquet 7 2799019 consécutivement avec une période désignée (25 ms), cela signifie qu'une quantité considérable de consommation de courant totale peut être économisée. Dans le procédé de transmission de données de clavier sans fil comportant une boule de commande selon la présente invention, les 4 octets de données, qui sont transmis consécutivement après le signal de tête, sont réalisés comme décrit sur la figure 5. Au premier octet (Octet 1), des données qui identifient s'il s'agit de données de clavier ou de données de boule de commande sont allouées et, en plus, une identification de dispositif et une identification d'utilisateur sont également allouées pour faire en sorte que la partie de réception reconnaisse par quel utilisateur les données sont transmises. Et en fonction du type de données (données de clavier ou données de boule de commande), des données de balayage de clavier et/ou des données de balayage de position de boule de commande sont allouées au second octet (Octet 2) et au troisième octet (Octet 3). Et ensuite, une somme de contrôle est allouée au quatrième octet (Octet 4) pour contrôler s'il y a ou non une erreur de transmission. Dans le cas de données de clavier, comme décrit sur la figure 5a, dans le premier octet (Octet 1) qui est transmis en premier, les deux bits supérieurs BIT7, BIT6 sont alloués à la transmission d'une valeur de code de clavier "00" qui indique des données de clavier, et les deux bits suivants BIT5, BIT4 sont alloués pour indiquer si le code transmis est un code qui est transmis lorsqu'une touche est enfoncée MAKE ou un code qui est transmis lorsqu'une touche enfoncée est relâchée BREAK. Par exemple, la valeur MAKE est fixée à "00" et la valeur BREAK à "11". Et aux quatre bits restants BIT3 à BIT0, une identification d'utilisateur 8 2799019 est allouée et transmise pour identifier chaque utilisateur dans le cas d'un système multi-utilisateur. Dans le second octet (Octet 2) qui est tràansmis en second, la totalité des 8 bits BIT7 à BIT0 sont utilisés pour transmettre des codes de position de touche des touches enfoncées ou des touches relâchées après avoir été enfoncées. Ensuite, dans le troisième octet (Octet 3) qui est transmis en troisième, chaque bit est alloué aux données qui indiquent que la touche spéciale, qui pourraient être perdues facilement du fait d'obstacles lors de la transmission par infrarouge (IR), est enfoncée ou relâchée. C'est-à-dire que chaque bit est respectivement alloué aux touches majuscule, aux touches Alt, aux touches Ctrl, gauche et droite, et ainsi de suite, indiquant de ce fait, par sa valeur d'état, si la touche spéciale correspondante est enfoncée ou non. Dans le quatrième octet (Octet 4) qui est transmis en dernier, quatre bits BIT3 à BIT0 sont alloués à une somme de contrôle pour vérifier s'il y a une erreur de transmission, et les quatre bits restants sont utilisés pour transmettre les données qui indiquent les états des touches spéciales restantes FEN-G, FEN-D qui ne sont pas allouées dans le troisième octet (Octet 3). Dans le cas de la transmission de données de boule de commande, comme décrit sur la figure 5b, dans le premier octet (Octet 1), comme dans le cas de données de clavier décrit sur la figure 5a, deux bits BIT7, BIT6 sont alloués à la transmission d'un code de dispositif qui indique que les données sont des données de boule de commande (par exemple, "11"), et quatre bits BIT3 à BIT0 sont alloués à la transmission d'une identification d'utilisateur. 9 2799019 Dans le second octet (Octet 2) et le troisième octet (Octet 3), les valeurs des variations de position / de boule de commande selon l'axe X et l'axe Y sont respectivement transmises. Et enfin, dans le quatrième octet (Octet 4), quatre bits BIT3 à BIT0 sont alloués à une somme de contrôle pour vérifier s'il y a une erreur de transmission, et les quatre bits restants BIT7 à BIT4 sont alloués à la transmission des données qui indiquent les états d'enfoncement des boutons de souris central, gauche et droit (Bouton C, Bouton G, Bouton D). Dans le cas o des données de boule de commande et des données de clavier sont transmises dans le format de données mentionné ci-dessus, l'ordinateur, dans le traitement de réception, après la réception d'un signal de tête et des quatre octets de données suivants, est capable d'identifier l'utilisateur et d'identifier si les données sont des données de boule de commande ou des données de clavier en contrôlant le premier octet. Et en fonction de cette identification, il lit les codes enregistrés dans les octets restants pour confirmer s'il s'agit de données de clavier et/ou de données de boule de commande et décide si une erreur de transmission s'est produite ou non en contrôlant le code de somme de contrôle dans le quatrième octet. Par conséquent, le programme du traitement de réception peut être réalisé d'une manière simple. Et, ci-dessus, il est dit que certains bits sont alloués à la transmission d'une identification d'utilisateur dans le cas d'un système multi- utilisateur, cependant, compte tenu du fait qu'un seul clavier est généralement utilisé pour un ordinateur personnel de sorte que l'identification d'utilisateur n'est pas nécessaire dans les cas habituels, au lieu d'une identification d'utilisateur, la valeur 2799019 complémentaire de la valeur allouée au troisième octet peut être allouée au quatrième octet pour simplement contrôler s'il y a une erreur de transmission sans calcul de somme de contrôle supplémentaire. Par cette substitution, la partie de transmission alloue simplement la valeur complémentaire du troisième octet au quatrième octet au lieu d'exécuter un calcul de somme de contrôle supplémentaire, et la partie de réception compare également simplement les valeurs du troisième octet et du quatrième octet sans calcul de somme de contrôle supplémentaire pour vérifier s'il y a une erreur de transmission. La figure 6, qui illustre d'autres modes de réalisation de la présente invention, montre des structures de données selon le procédé de transmission de données de clavier sans fil comportant une boule de commande. La figure 6a illustre un diagramme de structure de données pour la transmission de données de clavier et la figure 6b pour la transmission de données de boule de commande. En se référant aux dessins joints, dans le cas de transmission de données de clavier, comme décrit sur la figure 6a, le signal comprend le premier octet (Octet 1) qui est alloué aux données de balayage de touches de fenêtre et aux données indiquant des données de clavier, le second octet (Octet 2) qui est alloué aux données indiquant les états d'enfoncement des touches de fonction, le troisième octet (Octet 3) qui est alloué aux valeurs de balayage de touche correspondantes des touches générales enfoncées, et le quatrième octet (Octet 4) qui est alloué aux valeurs complémentaires des codes de position de touche alloués dans le troisième octet (Octet 3). Par conséquent, la partie de transmission de données de clavier, au moment de chaque transmission de 11h 2799019 paquet de données, transmet un signal de tête suivi de la transmission du premier octet qui contient un code de détermination pour indiquer des données de clavier et les données indiquent les états d'enfoncement des touches de fenêtre, et transmet le second octet qui contient les valeurs d'indicateur, qui indiquent les états d'enfoncement de diverses touches de fonction, et transmet le troisième octet qui contient les valeurs de code correspondant aux touches générales enfoncées, et transmet enfin le quatrième octet qui contient les valeurs complémentaires des valeurs enregistrées dans le troisième octet. La partie de réception reçoit le signal de tête et les quatre octets suivants, et contrôle si les valeurs dans le troisième octet et les valeurs dans le quatrième octet sont complémentaires. Si elles sont complémentaires, il conclut qu'il n'y a pas d'erreur de transmission et traite les données reçues. Autrement, il conclut qu'il y a une erreur de transmission et exécute une procédure appropriée telle qu'une demande de retransmission des données, et ainsi de suite. Dans le cas de données de boule de commande qui sont du type entrée de pointeur, les données comprennent, comme décrit sur la figure 6b, le premier octet (Octet 1) qui est alloué aux données indiquant des données de boule de commande et aux données de balayage d'entrée de bouton de boule de commande, les second et troisième octets (Octet 2, Octet 3) qui sont respectivement alloués à la valeur de position X et à la valeur de position Y du pointeur, et le quatrième octet (Octet 4) qui est alloué à la valeur complémentaire de la valeur de position Y allouée au troisième octet (Octet 3). Dans ce cas, en comparant simplement les valeurs de code du troisième octet et du quatrième octet, la 12 2799019 partie de réception est capable de contrôler s'il y a une erreur de transmission. Par conséquent, le programme de calcul de somme de contrôle supplémentaire n'est pas nécessaire. EFFET DE L'INVENTION Comme mentionné précédemment, dans la transmission de données de clavier sans fil comportant une boule de commande, la présente invention réduit la consommation de courant du dispositif de clavier sans fil en réduisant la taille des données, réalise de ce fait une économie d'énergie, et réduit la taille du programme nécessaire de l'ordinateur de réception en simplifiant le programme de réception-traitement par la transmission des données de boule de commande et des données de clavier dans le même format. De plus, il contrôle la présence d'erreur de transmission sans calcul de somme de contrôle supplémentaire ce qui élimine une opération de calcul de somme de contrôle effectuée par le programme de transmissiontraitement et par le programme de réception-traitement, et de ce fait simplifie ces programmes. 13 2799019 REVENDICATIONS 1. Procédé pour transmettre des données de clavier sans fil comportant une boule de commande comprenant les étapes consistant à: transmettre un signal de tête composé de cinq éléments comprenant les trois premiers signaux consécutifs de niveau bas et le signal de niveau haut et le signal de niveau bas suivants, et transmettre des données qui contiennent des données de boule de commande et des données de balayage de clavier consécutivement après la transmission dudit signal de tête. 2. Procédé pour transmettre des données de clavier sans fil comportant une boule de commande selon la revendication 1, dans lequel les données à transmettre dans ladite étape consistant à transmettre des données sont réalisées en: allouant un code de dispositif qui indique s'il s'agit de données de clavier ou de données de boule de commande et une identification d'utilisateur qui identifie l'utilisateur actuel dans le premier octet, allouant les valeurs des variations de position X, Y de la boule de commande dans le cas de transmission de données de boule de commande, ou allouant les valeurs de données de touche spéciale et de codes de 14 2799019 position de touche dans le cas de transmission de données de clavier aux second et troisième octets, et allouant un code de somme de contrôle pour vérifier s'il y a une erreur de transmission au quatrième octet. 3. Procédé pour transmettre des données de clavier sans fil comportant une boule de commande selon la revendication 2, dans lequel lesdites données à transmettre, dans le cas de transmission de données de boule de commande, comprennent: le premier octet comprenant 2 bits de code de dispositif qui indique des données de boule de commande, 2 bits de code non utilisé, et 4 bits d'identification d'utilisateur, le second octet et le troisième octet comprenant les valeurs de variations de position de boule de commande selon l'axe X et l'axe Y respectivement, et le quatrième octet comprenant 3 bits de données de bouton, 1 bit de code non utilisé, et 4 bits de somme de contrôle. 4. Procédé pour transmettre des données de clavier sans fil comportant une boule de commande selon la revendication 2, dans lequel lesdites données à transmettre, dans le cas de transmission de données de clavier, comprennent: le premier octet comprenant 2 bits de code de dispositif qui indique des données de clavier, 2 bits de code MAKE/BREAK qui indique si la transmission commence à l'enfoncement d'une touche ou après le relâchement de la touche, et 4 bits d'identification d'utilisateur, le second octet comprenant 8 bits de données de touche spéciale respectivement allouées, le troisième octet comprenant les valeurs de codes de position de touche, et 2799019 le quatrième octet comprenant 2 bits de données de touche de fenêtre, 2 bits de code non utilisé, et 4 bits de somme de contrôle. 5. Procédé pour transmettre des données de clavier sans fil comportant une boule de commande selon la revendication 1, dans lequel la valeur complémentaire de code de touche balayée ou de code de position de boule de commande, au lieu d'un code de somme de contrôle calculé supplémentaire, est transmise en tant que code de somme de contrôle pour vérifier s'il y a une erreur de transmission dans ladite étape consistant à transmettre des données. 6. Procédé pour transmettre des données de clavier sans fil comportant une boule de commande selon la revendication 5, dans lequel lesdites données à transmettre, dans le cas de transmission de données de clavier, comprennent: le premier octet alloué à un code qui indique des données de clavier et un code qui indique les états d'enfoncement de touches de fenêtre, le second octet alloué aux valeurs d'indicateur qui indiquent les états d'enfoncement de diverses touches de fonction, le troisième octet alloué aux valeurs de code de balayage des touches générales enfoncées, et le quatrième octet alloué aux valeurs complémentaires des valeurs du troisième octet, et lesdites données sont transmises par la séquence du signal de tête suivi desdits premier à quatrième octets. 7. Procédé pour transmettre des données de clavier sans fil comportant une boule de commande selon la revendication 5, dans lequel lesdites données à transmettre, dans le cas de transmission de données de boule de commande, comprennent: 16 2799019 le premier octet alloué à un code qui indique des données de boule de commande et un code qui indique les états d'enfoncement de boutons, le second octet alloué à la valeur de position de boule de commande selon l'axe X, le troisième octet alloué à la valeur de position de boule de commande selon l'axe Y, et le quatrième octet alloué aux valeurs complémentaires des valeurs du troisième octet et lesdites données sont transmises par la séquence du signal de tête suivi desdits premier à quatrième octets.