Brevet FR2906377A1 — publié le 20080328

L'invention concerne un générateur de signal d'horloge, et plus particulièrement un générateur de signal d'horloge pour un dispositif du type bus série universelle (USB pour "Universal Serial Bus"). L'interface USB a été développée pour normaliser une interface pour la connexion d'un ordinateur et de dispositifs périphériques tels qu'une souris, une imprimante, un modem, un scanner et des haut-parleurs, etc. L'interface USB est un type de port série qui a été développé par le consortium de fabricants d'ordinateurs individuels tels que Intel, Compaq, Microsoft, Philips, IBM et NEC, qui a attiré l'attention du public avec le lancement de Windows 98. Le contenu de la révision de la spécification USB 2.0, daté du 27 avril 2000, est incorporé dans cette description à titre de référence. Etant donné que l'utilisation de l'interface USB permet d'éviter l'installation coûteuse d'adaptateurs complexes, la plupart des dispositifs PC normalisés sont équipés de ports USB. Actuellement, l'interface USB est largement utilisée pour transférer des données depuis des téléphones mobiles ou des appareils de prises de vues numériques à des ordinateurs individuels (PC). Un port série de première génération (USART) peut supporter seulement un débit de transfert de données s'élevant au maximum à 100 Kbps. Par ailleurs, un port USB pleine vitesse peut supporter un débit de transfert de données s'élevant à 12 Mbps. De plus, le port USB pleine vitesse peut être connecté à jusqu'à 127 dispositifs dans une configuration en concentrateur ou en chaîne. En outre, un dispositif USB pleine vitesse peut être connecté (branché et débranché à chaud) et reconnu même pendant l'utilisation d'un PC. De plus, de nombreux dispositifs périphériques USB pleine vitesse n'ont besoin d'aucune énergie extérieure. Une carte intelligente est une carte en matière plastique ayant la même taille qu'une carte de crédit, et qui comprend une puce à circuit intégré (CI) qui comporte 2906377 2 un microprocesseur, un système d'exploitation de la carte (logiciel), un module de sécurité et une mémoire (RAM, ROM, EEPROM, Flash, etc.) et peut donc effectuer une transaction spécifique. Une carte à puce type comprend une carte en 5 matière plastique ayant la même taille et la même épaisseur qu'une carte de crédit et une puce de semi-conducteur de 0,5 mm d'épaisseur installée dans la carte en matière plastique, dans une configuration puce sur carte (COB) pour "chip-on-board". 10 Les cartes à puce ont rapidement émergé en tant que support d'information multimédia de génération suivante car elles ont une plus grande stabilité qu'une carte à bande magnétique, n'offrent aucune possibilité d'effacement des données et sont d'une sécurité plus élevée. 15 L'accroissement récent de l'application des cartes à puce a augmenté la nécessité d'une communication rapide entre un système informatique et une carte à puce. Par exemple, pour l'authentification d'un utilisateur d'un système informatique en utilisant une carte à puce, une 20 information contenue dans la carte à puce doit être transférée au système informatique. Les lecteurs classiques de cartes à puce sont des dispositifs séries relativement coûteux et relativement lents. On souhaite donc une communication entre une carte à puce et un système 25 informatique utilisant une interface USB. Cependant, la faible épaisseur d'une carte à puce ne permet pas l'inclusion d'un oscillateur à cristal habituellement utilisé dans le port USB d'un dispositif périphérique. La spécification USB exige de maintenir un débit de 30 transfert de données avec une justesse prédéterminée. Par exemple, une justesse de 0,25 % est exigée dans un mode à pleine vitesse (12 Mbps) de l'USB 1.1. Cette précision peut être obtenue par une précision de l'horloge. Etant donné qu'un bus USB ne comprend pas de ligne d'horloge, chaque 35 dispositif doit être capable de générer intérieurement, lui-même, un signal d'horloge. Si un dispositif ne peut pas 2906377 3 générer un signal d'horloge précis, le dispositif n'est pas compatible USB. En général, un oscillateur RC a une justesse de 10 % et est insuffisant. Un signal d'horloge généré par un 5 circuit oscillateur plus juste a habituellement une justesse de 3 %. Pour améliorer la justesse d'un circuit oscillateur, un cristal est connecté à une puce de semi-conducteur. Cependant, dans ce cas, la puce de semi-conducteur doit avoir au moins deux broches supplémentaires 10 pour la connexion du cristal à l'extérieur de la puce de semi-conducteur, ce qui entraîne des coûts supplémentaires. En outre, le cristal est relativement grand et ne peut donc pas être utilisé dans des cartes à puce telles que des cartes intelligentes et des cartes à mémoire. 15 Un aspect de l'invention est de procurer un générateur de signal d'horloge pour un dispositif USB. Un autre aspect de l'invention est de procurer un générateur de signal d'horloge qui peut générer un signal d'horloge d'une haute précision, même sans l'utilisation 20 d'un oscillateur à cristal. Un autre aspect de l'invention est de procurer aussi un générateur de signal d'horloge qui peut générer un signal d'horloge RX pour récupérer avec justesse des données reçues par l'intermédiaire d'un bus USB et qui peut 25 également générer un signal d'horloge TX convenant à un transfert de données par USB. Des exemples de formes de réalisation de l'invention procurent des générateurs de signal d'horloge qui comprennent : un circuit de commande comptant en 30 synchronisme avec un signal d'horloge pendant la période comprise entre deux signaux de synchronisation arrivant successivement en entrée, et générant un signal de commande de fréquence correspondant à la valeur du comptage ; et un générateur d'horloge générant le signal d'horloge avec une 35 fréquence correspondant au signal de commande de fréquence. 2906377 4 Dans certains exemples de formes de réalisation, le circuit de commande bloque le signal de commande de fréquence tandis que la valeur de comptage est comprise dans une plage prédéterminée. 5 Dans d'autres exemples de formes de réalisation, le générateur d'horloge comprend : une unité de commande de courant générant un courant correspondant au signal de commande de fréquence ; et un oscillateur générant le signal d'horloge à une fréquence correspondant au courant. 10 Dans d'autres exemples de formes de réalisation, l'unité de commande de courant comprend : un générateur de tension générant une tension de commande ; plusieurs transistors correspondant respectivement aux bits du signal de commande de fréquence et commandés par la tension de 15 commande, chacun des transistors ayant une première borne connectée à une tension d'alimentation ; et plusieurs commutateurs correspondant respectivement aux transistors et commandés respectivement par les bits correspondants du signal de commande de fréquence, chacun des commutateurs 20 ayant une première borne connectée à une seconde borne du transistor correspondant et une seconde borne connectée à un premier noeud. Chacun des multiples transistors a une largeur de canal différente et donc une résistance différente lorsqu'il est débloqué. Les intensités des 25 courants circulant dans les transistors respectifs vers le premier noeud sont donc différentes les unes des autres. L'oscillateur génère le signal d'horloge à une fréquence correspondant à l'intensité du courant circulant vers le premier nœud. 30 Dans d'autres exemples encore de formes de réalisation, le circuit de commande comprend : un générateur de signal de commande générant un premier signal impulsionnel de validation en synchronisme avec les deux signaux de synchronisation arrivant successivement en 35 entrée et générant un second signal impulsionnel de validation en synchronisme avec le premier signal 2906377 5 impulsionnel de validation ; et une unité de commande d'horloge TX commençant à compter en réponse au premier signal impulsionnel de validation et générant le signal de commande de fréquence correspondant à la valeur de comptage 5 en réponse au second signal impulsionnel de validation. L'unité de commande d'horloge TX active un signal de blocage de fréquence lorsque la valeur de comptage est dans une plage prédéterminée. Le générateur de signal de commande cesse de générer le second signal impulsionnel de 10 validation lorsque le signal de blocage de fréquence est activé. Dans divers exemples de formes de réalisation, le signal de commande de fréquence est un signal à N bits (N : entier positif), et l'unité de commande d'horloge TX change 15 successivement les bits du signal de commande de fréquence lorsque la valeur de comptage n'est pas dans la plage prédéterminée. L'unité de commande d'horloge TX bloque le signal de commande de fréquence lorsque la valeur de comptage est dans la plage prédéterminée. 20 Dans divers exemples de formes de réalisation, l'unité de commande d'horloge TX reçoit un signal de plage d'erreur pour définir la plage prédéterminée. Dans divers exemples de formes de réalisation, les deux signaux de synchronisation sont des signaux de début 25 de trame (SOF pour "start-of-frame") conformément à la spécification USB. Dans divers exemples de formes de réalisation, le générateur de signal de commande commande l'oscillateur de façon qu'il soit invalidé pendant un mode de suspension 30 défini dans la spécification USB. Dans d'autres exemples de formes de réalisation de l'invention, des générateurs de signal d'horloge comprennent : un générateur de signal de commande générant des première et seconde impulsions de validation TX et une première 35 impulsion de validation RX en synchronisme avec deux signaux de synchronisation arrivant successivement en 2906377 6 entrée ; une unité de commande d'horloge TX commençant à compter un signal d'horloge TX en réponse à la première impulsion de validation TX et générant un signal de commande de fréquence TX correspondant à la première valeur 5 de comptage en réponse à la seconde impulsion de validation TX ; un générateur d'horloge TX générant le signal d'horloge TX avec une fréquence correspondant au signal de commande de fréquence TX ; une unité de commande d'horloge RX générant un signal de commande de fréquence RX en IO réponse à la première impulsion de validation RX ; et un générateur d'horloge RX générant un premier signal d'horloge RX avec une fréquence correspondant au signal de commande de fréquence RX. Dans certains exemples de formes de réalisation, les 15 générateurs de signal d'horloge comprennent en outre un récupérateur d'horloge RX commençant à compter le premier signal d'horloge RX en synchronisme avec une transition d'un signal de données d'entrée et générant un second signal d'horloge RX lorsque la valeur de comptage atteint 20 des valeurs prédéterminées. Dans d'autres exemples de formes de réalisation, le générateur de signal de commande génère la première impulsion de validation TX en synchronisme avec les deux signaux de synchronisation arrivant successivement en 25 entrée, génère la seconde impulsion de validation TX en synchronisme avec la première impulsion de validation TX, génère une seconde impulsion de validation RX en synchronisme avec les deux signaux de synchronisation arrivant successivement en entrée, et génère la première 30 impulsion de validation RX en synchronisme avec la seconde impulsion de validation RX. Dans d'autres exemples de formes de réalisation, l'unité de commande d'horloge RX commence à compter le premier signal d'horloge RX en réponse à la seconde 35 impulsion de validation RX et fournit au récupérateur 2906377 7 d'horloge RX les valeurs prédéterminées correspondant à la seconde valeur de comptage. Dans d'autres exemples encore de formes de réalisation, l'unité de commande d'horloge RX commence à 5 compter le premier signal d'horloge RX en réponse à la seconde impulsion de validation RX et génère le signal de commande de fréquence RX correspondant à la seconde valeur de comptage en réponse à la première impulsion de validation RX. 10 Dans d'autres exemples encore de formes de réalisation, le générateur d'horloge RX comprend : une unité de commande de courant générant un courant de commande correspondant au signal de commande de fréquence RX ; et un oscillateur générant le signal d'horloge RX avec une fréquence correspondant 15 au courant de commande. Dans divers exemples de formes de réalisation, le signal de commande de fréquence RX comprend plusieurs bits. Dans divers exemples de formes de réalisation, l'unité de commande de courant comprend : un générateur de tension 20 générant une tension de commande ; plusieurs commutateurs correspondant respectivement aux bits du signal de commande de fréquence RX et commandés respectivement par les bits correspondants du signal de commande de fréquence RX, chacun des commutateurs ayant une première borne connectée 25 à un premier noeud ; et plusieurs résistances (par exemple des transistors commandés par la tension de commande), chacune des résistances ayant une première borne connectée à une tension d'alimentation et une seconde borne connectée à une seconde borne du commutateur correspondant. Les 30 intensités des courants circulant dans les résistances respectives vers le premier noeud sont différentes les unes des autres. Dans d'autres exemples encore de formes de réalisation de l'invention, des procédés de génération de signal 35 d'horloge comprennent : la génération d'un signal d'horloge ; la réception de deux signaux de 2906377 8 synchronisation, successivement, et le comptage du signal d'horloge pendant la période comprise entre les deux signaux de synchronisation ; et le changement de la fréquence du signal d'horloge en fonction de la valeur de comptage si 5 la valeur de comptage n'est pas dans une plage prédéterminée. Le changement de la fréquence du signal d'horloge comprend un blocage de la fréquence du signal d'horloge lorsque la valeur de comptage est dans une plage 10 prédéterminée. Le changement de la fréquence du signal d'horloge comprend : la génération d'un signal de commande de fréquence correspondant à la valeur de comptage ; et le changement de la fréquence du signal d'horloge en fonction 15 du signal de commande de fréquence. Le signal de commande de fréquence comprend plusieurs bits, et la génération du signal de commande de fréquence comprend : le fait de déterminer si la valeur de comptage est dans une plage prédéterminée ; et le changement des 20 valeurs des bits du signal de commande de fréquence lorsque la valeur de comptage n'est pas dans une plage prédéterminée. La génération du signal de commande de fréquence peut comprendre en outre le blocage des valeurs des bits du 25 signal de commande de fréquence lorsque la valeur de comptage est dans la plage prédéterminée. Le signal de commande de fréquence comprend N bits (N : entier positif), et la génération du signal de commande de fréquence comprend : la sélection d'un bit 30 parmi les N bits ; le positionnement du bit sélectionné à une première valeur ; le fait de déterminer si la valeur de comptage est dans une plage prédéterminée ; et le repositionnement du bit sélectionné à une seconde valeur lorsque la valeur de comptage n'est pas dans une plage 35 prédéterminée. 2906377 9 La génération du signal de commande de fréquence comprend en outre : la sélection d'un bit parmi les bits non sélectionnés des N bits lorsque la valeur de comptage n'est pas dans la plage prédéterminée ; et le retour à 5 l'étape de détermination. La génération du signal de commande de fréquence comprend en outre : le positionnement du bit préalablement sélectionné des N bits à un bit alors sélectionné lorsque la valeur de comptage est dans la plage prédéterminée ; et 10 l'activation d'un signal de blocage de fréquence. Le signal de blocage de fréquence est initialement dans un état inactif, et la génération du signal de commande de fréquence est exécutée alors que le signal de blocage de fréquence est dans un état inactif. 15 Dans d'autres exemples encore de formes de réalisation de l'invention, des procédés de génération de signal d'horloge comprennent : a) la génération d'une première horloge avec une fréquence maximale (par exemple un maximum déterminé par du matériel ou un logiciel) ; b) la 20 génération d'une seconde horloge avec une fréquence minimale (par exemple un minimum déterminé par du matériel ou un logiciel) ; c) la réception de deux signaux de synchronisation, successivement, et le comptage de la première horloge et de la seconde horloge pendant la 25 période comprise entre les deux signaux de synchronisation ; et d) le changement de la fréquence de la première horloge en fonction de la valeur de comptage de la première horloge et de la valeur de comptage de la seconde horloge. Le changement de fréquence de la première horloge peut 30 comprendre un changement de la fréquence de la première horloge en fonction d'une différence entre la valeur de comptage de la première horloge et la valeur de comptage de la seconde horloge. Les procédés de génération de signal d'horloge peuvent 35 comprendre en outre un comptage de la première horloge avec la fréquence changée, auquel cas les étapes a) à d) sont 2906377 10 exécutées de façon répétée lorsque la valeur de comptage de la première horloge n'est pas dans une plage prédéterminée. Dans d'autres exemples encore de formes de réalisation de l'invention, des cartes à cl comprennent : un émetteur- 5 récepteur transférant/recevant des données par l'intermédiaire d'une borne de données en synchronisme avec une horloge TX/RX conformément à la spécification USB, la détection d'un signal de synchronisation reçu par l'intermédiaire de la borne de données, et la sortie du signal de détection 10 lors de la détection de chaque signal de synchronisation reçu ; et un générateur de signal d'horloge comptant l'horloge TX pendant la période comprise entre deux signaux de détection délivrés en sortie de l'émetteur-récepteur, et générant l'horloge TX avec une fréquence correspondant à la 15 valeur de comptage. Le générateur de signal d'horloge peut comprendre : un circuit de commande d'horloge TX comptant l'horloge TX pendant la période comprise entre les deux signaux de détection, et générant un signal de commande de fréquence 20 TX correspondant à la valeur de comptage ; et un générateur d'horloge TX générant l'horloge TX avec une fréquence correspondant au signal de commande de fréquence TX. Le circuit de commande d'horloge TX peut bloquer le signal de commande de fréquence TX lorsque (pendant que) la 25 valeur de comptage est dans une plage prédéterminée. Le générateur de signal d'horloge peut comprendre : un circuit de commande d'horloge RX comptant l'horloge RX pendant la période comprise entre les deux signaux de détection, et générant un signal de commande de fréquence 30 RX correspondant à la valeur de comptage ; et un générateur d'horloge RX générant l'horloge RX avec une fréquence correspondant au signal de commande de fréquence RX. L'invention sera décrite plus en détail en regard des dessins annexés à titre d'exemples nullement limitatifs et 35 sur lesquels : 2906377 11 la figure 1 illustre une carte intelligente connectée par une interface USB à un système informatique selon une forme de réalisation de l'invention ; la figure 2 est un schéma fonctionnel simplifié d'une 5 puce de carte intelligente, c'est-à-dire une puce à cl de la carte intelligente, selon une forme de réalisation de l'invention ; la figure 3A est un diagramme des temps illustrant le transfert d'un signal de commande entre un dispositif USB 10 et un dispositif hôte et lorsque le dispositif USB est connecté au dispositif hôte ; la figure 3B est un diagramme des temps illustrant des paquets TX/RX communiqués entre un dispositif hôte et un dispositif USB dans un mode TX/RX de données ; 15 la figure 4 est un schéma fonctionnel simplifié d'un générateur de signal d'horloge représenté sur la figure 2 selon une forme de réalisation de l'invention ; la figure 5 est un schéma d'un circuit illustrant un exemple d'un générateur d'horloge TX représenté sur la 20 figure 4 ; la figure 6 est un diagramme des temps de signaux nécessaires à la génération d'une horloge TX utilisés dans le générateur de signal d'horloge représenté sur la figure 4 ; 25 la figure 7 est un graphique illustrant un exemple de procédé pour le positionnement d'un signal de commande de fréquence, pour la génération d'une horloge TX conforme à la spécification USB, exécuté par le générateur de signal d'horloge représenté sur la figure 4 ; 30 la figure 8 est un organigramme illustrant une procédure pour la génération de l'horloge TX conforme à la spécification USB, exécutée par le générateur de signal d'horloge représenté sur la figure 4 ; la figure 9 est un organigramme illustrant un procédé 35 pour l'établissement d'un signal de commande d'horloge TX 2906377 12 pour ajuster l'horloge TX selon une autre forme de réalisation de l'invention ; la figure 10 est un diagramme des temps illustrant un exemple de processus pour la conversion d'un signal de 5 données transférées du dispositif hôte au dispositif USB ; la figure 11A est un diagramme des temps illustrant un exemple d'une horloge de récupération RX lorsque des données reçues du dispositif hôte contiennent 7 bits successifs "1" ; 10 la figure 11B est un diagramme des temps illustrant un exemple d'une horloge de récupération RX lorsque des données reçues du dispositif hôte contiennent 7 bits successifs "0" ; et la figure 12 est un tableau illustrant un signal de 15 sélection délivré en sortie d'un circuit de commande d'horloge RX en fonction de la valeur de comptage du compteur et un rapport de division de fréquence correspondant au signal de sélection. La figure 1 illustre une carte intelligente connectée 20 par l'intermédiaire d'une interface USB à un système informatique, selon un exemple de forme de réalisation de l'invention. En référence à la figure 1, un système informatique 100 comprend un corps principal 110 d'ordinateur, un 25 moniteur 120, un clavier 130 et une souris 140. Le système informatique 100 peut communiquer avec une carte intelligente 160 par l'intermédiaire d'un dongle 150 conformément au protocole défini dans la spécification USB. Le dongle 150 est un type d'adaptateur qui comporte 30 une fiche 151 pouvant être connectée à un port USB 111 du corps principal 110 de l'ordinateur et dans lequel la carte intelligente 160 peut être insérée, et il fonctionne à la manière d'un lecteur de carte extérieur. Le dongle 150 peut comporter, ou consiste essentiellement en, des composants 35 passifs (par exemple des conducteurs) tels que des fils conducteurs et des bornes ohmiques. Lorsque la carte 2906377 13 intelligente 160 est insérée dans le dongle 150, des bornes d'une puce 200 à cl dans la carte intelligente 160 sont connectées électriquement par l'intermédiaire de la fiche 151 au port USB 111 du corps principal 110 de l'ordinateur. 5 Lorsque la fiche 151 du dongle 150 est insérée dans le port USB 111 du corps principal 110 de l'ordinateur, le corps principal 110 de l'ordinateur reconnaît automatiquement la carte intelligente 160 conformément à un processus de connexion-exécution (PnP pour "Plug-and-Play"). Le port USB 10 111 du corps principal 110 de l'ordinateur délivre en sortie des signaux de synchronisation à la puce 200 à cl par l'intermédiaire des bornes de données 203 et 204, et délivre en sortie des signaux de données D+ et D-également par l'intermédiaire des bornes de données 203 et 204, en 15 tant que signal de données RX R_DATA. La figure 2 est un schéma fonctionnel simplifié d'une puce 200 de carte intelligente, c'est-à-dire une puce à cl de la carte intelligente 160 de la figure 1, selon un exemple de forme de réalisation de l'invention. 20 En référence à la figure 2, la puce 160 de carte intelligente ayant un port USB comprend une mémoire vive (RAM) 210, une mémoire non volatile 220, une mémoire morte (ROM) 230, un émetteur-récepteur USB 240, un générateur 250 de signal d'horloge et un microprocesseur 260. La puce 160 25 de carte intelligente comprend en outre des bornes 201 et 202 de tension d'alimentation et des bornes 203 et 204 de données USB D+ et D- pour une communication conformément au protocole USB. Les bornes de données 203 et 204 sont connectées à l'émetteur-récepteur USB 240. La puce 200 de 30 la carte intelligente peut comprendre une outre des bornes pour l'exécution d'autres modes de communication et pour d'autres interfaces telles qu'une interface de type International Standardization Organization (ISO) apte à une communication ISO 7816. 35 L'émetteur-récepteur USB 240 génère des signaux de commande SOF PID, USBRST et SUSPEND basés sur les signaux 2906377 14 de synchronisation reçus du dispositif hôte (par exemple un ordinateur individuel PC) par l'intermédiaire des bornes de données 203 et 204, et délivre en sortie des signaux de données D+ et D-, qui sont reçus du dispositif hôte par 5 l'intermédiaire des bornes de données 203 et 204, en tant que signal de données RX R_DATA. Le générateur 250 de signal d'horloge génère une horloge TX TCLK et une horloge de récupération RX RCVCLK sur la base des signaux de commande SOF PID, USB RST et SUSPEND reçus de l'émetteur- 10 récepteur USB 240. L'horloge TX TCLK et l'horloge de récupération RX RCV_CLK sont également fournies à l'émetteur-récepteur USB 240 et sont utilisées pour une communication de données avec le dispositif hôte. Conformément à la spécification USB, un signal 15 d'horloge n'est pas transmis entre un dispositif hôte et un dispositif USB. Par conséquent, comme décrit précédemment, chaque dispositif USB (par exemple un dispositif périphérique d'ordinateur) a besoin d'un générateur de signal d'horloge interne très juste. Pour une 20 synchronisation du trafic de données entre un dispositif hôte et un dispositif USB, le dispositif hôte transfère un paquet de début de paquet (SOF pour "start-of-packet"), c'est-à-dire un signal de synchronisation, à chaque milliseconde dans un mode à pleine vitesse. La justesse du signal de 25 synchronisation est de 0,05 % dans le mode à pleine vitesse. La figure 3A est un diagramme des temps illustrant un transfert de signal de commande entre un dispositif USB et un dispositif hôte et lorsque le dispositif USB est connecté au dispositif hôte. 30 En référence à la figure 3A, le dispositif hôte transfère un paquet SOF, un paquet d'établissement (c'est-à-dire un paquet identificateur de paquet (PID)), et des données d'établissement au dispositif USB et, à la réception de ces signaux, le dispositif USB transmet un 35 paquet d'établissement de liaison (c'est-à-dire un signal de réponse) au dispositif hôte. 2906377 15 La figure 3B est un diagramme des temps illustrant des paquets TX/RX communiqués entre un dispositif hôte et un dispositif USB dans un mode TX/RX de données. En référence à la figure 3B, dans une transaction de 5 sortie pour un transfert de données du dispositif hôte au dispositif USB, le dispositif hôte transfère un paquet SOF, un paquet de sortie (c'est-à-dire un paquet PID), et un paquet de données au dispositif USB et le dispositif USB transfère un paquet d'établissement de liaison au 10 dispositif hôte. Dans une transaction d'entrée pour un transfert de données du dispositif USB au dispositif hôte, ce dernier transfère un paquet SOF et un paquet d'entrée, (c'est-à-dire un paquet PID) au dispositif USB et, après la réception d'un paquet de données depuis le dispositif USB, 15 le dispositif hôte transfère un paquet d'établissement de liaison au dispositif USB. Comme on peut le voir d'après ce qui précède, pour une communication de données entre un dispositif hôte et undispositif USB, un paquet SOF (c'est-à-dire un signal de 20 synchronisation) est toujours transféré en premier du dispositif hôte au dispositif USB à des périodes de 1 ms. Dans une forme de réalisation de l'invention, la puce de la carte intelligente génère l'horloge TX et l'horloge de récupération RX en utilisant le paquet SOF reçu du 25 dispositif hôte toutes les millisecondes. La figure 4 est un schéma fonctionnel simplifié du générateur 250 de signal d'horloge représenté sur la figure 2, selon une forme de réalisation de l'invention. En référence à la figure 4, le générateur 250 de 30 signal d'horloge comprend un circuit 410 de commande d'horloge TX, un générateur 420 d'horloge TX, un générateur 430 de signal de commande, un circuit 440 de récupération d'horloge RX, un circuit 450 de commande d'horloge RX, et un générateur 460 d'horloge RX. Le circuit 410 de commande 35 d'horloge TX comprend un compteur 411 et un registre 412. 2906377 16 Le circuit 450 de commande d'horloge RX comprend un compteur 451 et un registre 452. La figure 6 est un diagramme des temps de signaux nécessaires à la génération de l'horloge TX TCLK utilisée 5 dans le générateur 250 de signal d'horloge représenté sur la figure 4. On décrira maintenant un procédé pour la génération de l'horloge TX TCLK en utilisant le générateur 250 de signal d'horloge, en référence aux figures 4 et 6. 10 En référence aux figures 4 et 6, le générateur 430 de signal de commande génère des signaux de validation TCNT EN, TCNT LC et TOUT EN pour le circuit 410 de commande d'horloge TX et des signaux de validation RCNT EN, RCNT LD et ROUT EN pour le circuit 450 de commande d'horloge RX en 15 réponse aux signaux de commande SOFPID, USB RSTN et SUSPEND reçus de l'émetteur-récepteur USB 240 représenté sur la figure 2. Le signal de commande SOF_PID est un signal impulsionnel indiquant un paquet SOF et est un signal de synchronisation. Dans un état normal, la période du signal 20 de commande SOF PID est de 1 ms. Les signaux de commande USB RSTN et SUSPEND sont activés lorsqu'un intervalle entre deux paquets SOF successifs, c'est-à-dire la période d'un paquet SOF, n'est pas de 1 ms. Le générateur 430 de signal de commande fonctionne en réponse au signal de commande 25 SOF_PID tandis que les signaux de commande USB RSTN et SUSPEND sont tous les deux dans un état inactif. Le signal de validation de compteur TCNT_EN est complémentaire du signal de commande SOF_PID et est activé à un niveau haut tandis que le signal de commande SOF_PID est à un niveau 30 bas. Le signal de chargement de comptage TCNT_LD est un signal impulsionnel qui comprend une impulsion lorsque le signal de validation de compteur TCNT_EN passe d'un état actif à un état inactif. Le signal de validation de sortie TOUT EN est utilisé pour stocker un signal de commande 35 d'horloge TX d'une largeur de dix bits TCON[10:1], qui est 2906377 17 généré par le circuit 410 de commande d'horloge TX, dans le registre 412. Le compteur 411 du circuit 410 de commande d'horloge TX compte en synchronisme avec l'horloge TX TCLK tandis que 5 le signal de validation d'horloge TCLK EN est dans un état actif. En réponse au signal de chargement de comptage TCNT LD, le circuit 410 de commande d'horloge TX génère le signal de commande d'horloge TX d'une largeur de dix bits TCON[10:1] correspondant à une valeur de comptage TCNT 10 stockée dans le compteur 411. En réponse au signal de validation de sortie TOUT EN, le circuit 410 de commande d'horloge TX stocke le signal de commande d'horloge TX TCON[10:1] dans le registre 412. Le compteur 411 peut être conçu pour être effacé en réponse au signal de chargement 15 de comptage TCNT LD. La figure 5 est un schéma de circuit illustrant un exemple du générateur 420 d'horloge TX représenté sur la figure 4. En référence à la figure 5, le générateur 420 20 d'horloge TX comprend un générateur 510 de tension, dix transistors MOS (FET) TO à TIO, dix commutateurs SW1 à SWIO, et un oscillateur 520. Le générateur 510 de tension génère une tension V1 suffisamment élevée pour débloquer les transistors MOS Ti à T10. Chacun des dix transistors 25 MOS TO à TIO comporte un drain connecté à une tension d'alimentation commune et une grille connectée à la tension V1 provenant du générateur 510 de tension. La source du transistor MOS TO est connectée à un nœud N1, et les sources des transistors MOS TO à T10 sont connectées 30 respectivement aux premières bornes des commutateurs correspondants SW1 à SW10. Les secondes bornes des commutateurs SW1 à SW10 sont connectées au nœud N1 et sont commandées respectivement par les signaux de commande d'horloge TX correspondants TCON[10:1]. 35 Dans cette forme de réalisation, les intensités des courants Il à no circulant dans les transistors NMOS 2906377 18 respectifs Tl à TIO et par les commutateurs respectifs SW1 à swio vers le noeud Ni sont de 1:2:4:8, ..., 256:512, ce qui est possible en ajustant les dimensions des canaux des transistors NMOS Tl à T10. Par exemple, lorsque le commutateur SW9 est fermé et que les autres commutateurs SW1 à SW8 sont ouverts, le courant circulant vers le noeud N1 est IO + 19 = IO + I1 x 512. En tant qu'autre exemple, lorsque les commutateurs SW2 et SW8 sont fermés et que les autres commutateurs SW1, SW3 à SW7 10 et SW9 sont ouverts, le courant circulant vers le noeud N1 est 10 + 12 + 18 = IO + 11 x 2 + Ii x 256 = IO + I1 x 258. L'oscillateur 520 génère l'horloge TX TCLK, où la fréquence de l'horloge TX TCLK dépend du courant circulant vers le noeud Ni. Dans cette forme de réalisation, 15 l'oscillateur 520 peut être un oscillateur de type RC comprenant une résistance et un condensateur. L'intensité du courant circulant vers le noeud Ni dans le générateur 420 d'horloge TX change suivant le signal de commande d'horloge TX TCON[10:1] et la fréquence de 20 l'horloge TX TCLK change en conséquence. En référence de nouveau aux figures 4 et 6, lorsque la fréquence souhaitée de l'horloge TX TCLK est de 4,8 MHz + 0,25 %, le nombre d'impulsions de l'horloge TX TCLK est de 48 000 + 0,25 % (c'est-à-dire 47 880 à 48 120) pour 1 ms. 25 Lorsque la valeur initiale du signal de commande d'horloge TX TCON[10:1] stockée dans le registre 412 du circuit 410 de commande d'horloge TX est "1000000000" et que la valeur de comptage TCNT du compteur 411 est de 5000, le circuit 410 de commande d'horloge TX change le signal de commande 30 d'horloge TX TCON[10:1] en "0100000000". Le générateur 420 d'horloge TX change la fréquence de l'horloge TX TCLK conformément au signal de commande d'horloge TX TCON[10:1] changé. Dans ce cas, lorsque la valeur de comptage TCNT du compteur 411 est de 42 000, le signal de commande d'horloge 35 TX stocké dans le registre 412 change en "0100000000". Tout en changeant les signaux de commande d'horloge TX 2906377 19 TCON[10:1] successivement, lorsque la valeur de comptage TCNT du compteur 411 est dans une plage prédéterminée (c'est-à-dire, 47 880 à 48 120), le circuit 410 de commande d'horloge TX active un signal de blocage de fréquence LOOK 5 à, par exemple, un niveau haut afin d'arrêter le changement du signal de commande d'horloge TX TCON[10:1]. La plage prédéterminée de la valeur de comptage TCNT est déterminée par un signal de résolution externe LOCKRES[7:0]. Dans cette forme de réalisation, étant donné que la valeur de 10 comptage TCNT correspondant à 48 MHz est de 48 000 et que la plage d'erreur demandée est de + 0,25 %, la plage d'erreur admissible de la valeur de comptage TCNT est + 120. Lorsque le signal de blocage de fréquence LOOK est 15 activé, le générateur 430 de signal de commande maintient le signal de validation de sortie TOUT EN à un niveau bas. Même lorsque le signal de validation de sortie TOUT EN est dans un état de niveau bas, le circuit 410 de commande d'horloge TX contrôle la fréquence de l'horloge TX TCLK, 20 qui est générée par le générateur 420 d'horloge TX, en réponse au signal de validation de compteur TCNTEN et du signal de chargement de comptage TCNT_LD. Si la valeur de comptage TCNT du compteur 411 n'est pas dans la plage prédéterminée (c'est-à-dire 47 880 à 48 120), le signal de 25 blocage de fréquence LOOK est désactivé à un niveau bas afin que la fréquence de l'horloge TX TCLK puisse être ajustée. On décrira ci-après en détail un exemple d'opération effectuée par le générateur 250 de signal d'horloge en 30 référence aux figures 4 à 8. La figure 7 est un graphique illustrant un exemple de procédé pour établir un signal de commande de fréquence TCON[10:1] pour la génération de l'horloge TX TCLK en conformité avec la spécification USB, par le générateur 250 35 de signal d'horloge représenté sur la figure 4. La figure 8 est un organigramme illustrant une procédure pour la 2906377 20 génération de l'horloge TX TCLK en conformité avec la spécification USB par le générateur 250 de signal d'horloge représenté sur la figure 4. Par exemple, lorsque la plage de fréquences de 5 l'horloge TX TCLK générée par l'oscillateur 520 conformément à l'état fermé/ouvert des commutateurs SW1 à swio dans le générateur 420 d'horloge TX est de 43 MHz à 53 MHz comme illustré sur la figure 7, il est nécessaire de rechercher le signal de commande de fréquence TCON[10:1] pour rendre 10 la fréquence de l'horloge TX TCLK égale à 48 MHz 0,25 %. Pour établir de signal de commande de fréquence TCON[10:1] pour la génération de l'horloge TX TCLK en conformité avec la spécification USB, le circuit 410 de commande d'horloge TX utilise un processus par approximations successives 15 (SAR) qui rapproche, bit par bit, du bit le plus significatif (MSB) vers le bit le moins significatif (LSB). Comme illustré sur la figure 8, le circuit 410 de commande d'horloge TX positionne un bit de recherche k au MSB "N" pour déterminer les valeurs des bits respectifs du 20 signal de commande de fréquence TCON[10:1], et la valeur initiale de signal de commande de fréquence TCON[10:1] est "0000000000" (étape 800). Dans cette forme de réalisation, le MSB "N" est le bit 10. Etant donné que le signal de commande de fréquence 25 LOOK est à l'état logique "1" (c'est-à-dire à un niveau haut) (étape 802) et que le bit de recherche k n'est pas à "0" (étape 804), la valeur du kie' signal de commande de fréquence TCON[k] est établie à "1". Le signal de commande de fréquence TCON[10] est donc à "1". Lorsque le signal de 30 commande de fréquence TCON[10:1] est "1000000000", le courant circulant vers le noeud N1 de la figure 5 est IO + Il x 512. Tandis que le signal de validation de compteur TCLIUN est à l'état logique "1" (c'est-à-dire à un niveau haut) (étape 810), le compteur 411 compte en synchronisme avec 35 l'horloge TX TCLK. Lorsque le signal de validation de compteur TCNT_EN passe à un niveau bas (étape 810), il est 2906377 21 déterminé si la valeur de comptage TCNT est supérieure à la valeur minimale MIN et inférieure à la valeur maximale MAX (étape 812). Lorsque la période du signal de validation de compteur TCNT_EN est de 1 ms et que la fréquence souhaitée 5 de l'horloge TX TCLK est de 48 MHz 0,25 %, la valeur minimale MIN est de 47880 et la valeur maximale MAX est de 48120. Si la valeur de comptage TCNT du compteur 411 est supérieure à la valeur maximale MAX, le kième signal de commande de fréquence TCON[k] est établi à "0" (étape 816). 10 Si la valeur de comptage TCNT du compteur 411 n'est pas supérieure à la valeur maximale MAX, le kième signal de commande de fréquence TCON[k] est maintenu à "1" (étape 816). Etant donné que la détermination de la valeur binaire du kième signal de commande de fréquence TCON[k] est achevée, la 15 valeur "k" est diminuée de 1 pour la détermination (approximation successive) de la valeur du bit suivant (étape 818) et la procédure revient à l'étape 802. Une valeur de coordonnée S1 illustrée sur la figure 7 désigne la fréquence de l'horloge TX TCLK qui est générée 20 par l'oscillateur 520 lorsque le signal de commande de fréquence TCON[10:1] est "1000000000" = 512. Dans ce cas, étant donné que la fréquence de l'horloge TX TCLK est supérieure à 48 MHz, la valeur du signal de commande de fréquence [10:1] doit être réduite. La raison en est que 25 l'oscillateur 520 génère l'horloge TX TCLK avec une fréquence proportionnelle à l'intensité du courant circulant vers le nœud N1. Etant donné que la fréquence de l'horloge TX TCLK générée lorsque la valeur du signal de commande de fréquence TCON[10:1] est 512 est plus élevée 30 que la fréquence souhaitée de 48 MHz, on peut voir que la valeur du signal de commande de fréquence TCON[10:1] est inférieure à 512. Dans cette forme de réalisation, lorsque la valeur de comptage TCNT du compteur 411 est supérieure à la valeur maximale MAX, le circuit 410 de commande 35 d'horloge TX change le kième signal de commande de fréquence TCON[k] en "0", positionne le (k-1)ièr' signal de commande 2906377 22 de fréquence TCON[k-1] à "1", et les étapes décrites ci-dessus sont répétées. Le signal de commande de fréquence TCON[10:1] est positionné à "0100000000" = 256. Comme indiqué par des valeurs de coordonnée S2, la 5 fréquence générée de l'horloge TX TCLK générée est inférieure à 48 MHz lorsque la valeur de signal de commande de fréquence TCON[10:1] est de 256. Dans ce cas, la valeur du signal de commande de fréquence TCON[10:1] doit être augmentée. Par conséquent, le signal de commande de 10 fréquence TCON[10:1] est établi à "0111000000" = 384. De cette manière, les signaux de commande de fréquence TCON[10:1] sont établis successivement à "0111000000" = 384 et "0111100000" = 490 et il est déterminé si la fréquence de l'horloge TX TCLK est dans la plage prédéterminée 15 (c'est-à-dire, 47880 à 48120). Comme indiqué par des valeurs de coordonnée S5, la fréquence de l'horloge TX TCLK est dans la plage de 48 MHz 0,25 % lorsque le signal de commande de fréquence TCON[10:1] est "0111100000", le signal de commande de fréquence LOCK est 20 activé à un niveau haut. Autrement dit, si la valeur de comptage TCNT du compteur 411 est supérieure à la valeur minimale MIN et inférieure à la valeur maximale MAX, le circuit 410 de commande d'horloge TX active le signal de blocage de fréquence LOOK à un niveau haut, augmente la 25 valeur "k" de 1 (étape 822) et revient à l'étape 802. Les caractéristiques de fonctionnement d'un circuit électronique comprenant des transistors, des résistances et des condensateurs changent de façon minime avec des variations des conditions ambiantes telles que la 30 température et avec des variations de la tension de fonctionnement (d'alimentation). Bien que l'oscillateur 520 génère l'horloge TX TCLK à une fréquence souhaitée (à savoir, 48 MHz 0,25 %), une horloge TX TCLK d'une fréquence indésirable peut être générée du fait d'une variation des 35 conditions ambiantes. Pour compenser dynamiquement de tels changements de la fréquence de d'horloge TX TCLK, le 2906377 23 circuit 410 de commande d'horloge TX change le paramètre "k" (étape 822) et revient à l'étape 802. Si la largeur d'un changement de la fréquence de l'horloge TX TCLK est faible, la fréquence changée est proche de la fréquence 5 précédemment établie. Par conséquent, le circuit 410 de commande d'horloge TX peut délivrer en sortie l'horloge TX ayant la fréquence souhaitée (c'est-à-dire 48 MHz 0,25 %) dans un temps très court en augmentant le paramètre "k" de 1. Le paramètre "k" qui est repositionné après une transition 10 du signal de blocage de fréquence LOOK d'un état actif à un état actif peut être l'un des bits du MSB "N" au LSB "1". Dans le procédé décrit ci-dessus pour établir le signal de commande de fréquence TCON[10:1], les étapes 802 à 818 doivent être exécutées 11 fois de façon répétée dans 15 le pire des cas. Ainsi, le signal optimal de commande de fréquence TCON[10:1] peut être établi avant que 12 paquets SOF (c'est-à-dire signaux de synchronisation) arrivent en entrée. En général, lorsqu'un dispositif USB est connecté initialement à un dispositif hôte, le dispositif hôte 20 transfère plusieurs dizaines ou plusieurs centaines de paquets SOF au dispositif USB pendant une période de transfert de commande. Par conséquent, le générateur 250 de signal d'horloge génère l'horloge TX TCLK conforme à la spécification USB avant la transmission d'un signal de 25 données valide, permettant ainsi un transfert stable des données. En référence de nouveau à la figure 4, le circuit 450 de commande d'horloge RX et le générateur 460 d'horloge RX ont la même structure et le même fonctionnement que le circuit 410 de commande d'horloge TX et le générateur 420 30 d'horloge TX. Le circuit 450 de commande d'horloge RX comprend le compteur 451 et le registre 452, et délivre en sortie un signal de commande de fréquence RX RCON[10:1] en réponse aux signaux de validation RCNT_EN, TCNT_LD et ROUT EN reçus du générateur 430 de signal de commande. Le 35 générateur 460 d'horloge RX génère une horloge RX RCLK en 2906377 24 réponse au signal de commande de fréquence RX RCON[10:1] reçu du circuit 450 de commande d'horloge RX. En synchronisme avec la fréquence (48 MHz a %) de l'horloge RX générée par le générateur 460 d'horloge RX, le 5 circuit 440 de récupération d'horloge RX génère une horloge de récupération RCV CLK pour récupérer des données reçues à un débit de 12 Mbps dans un mode à pleine vitesse. Etant donné que l'horloge RX RCLK est synchronisée avec l'horloge de récupération RCV CLK avec une fréquence 10 appropriée pour la récupération d'un signal reçu par le circuit 440 de récupération d'horloge RX dans un mode à pleine vitesse, le circuit 450 de commande d'horloge RX (à la différence du circuit 410 de commande d'horloge TX et du générateur 420 d'horloge TX) peut maintenir un signal de 15 commande TCON[10:1] stocké dans le registre 452, sans changer le signal RCON[10:1] de commande de fréquence RX en réponse aux signaux de validation RCNT_EN, TCNT_LD et ROUT EN. La figure 9 est un organigramme illustrant un procédé 20 pour établir le signal TCON[10:1] de commande d'horloge TX pour ajuster la fréquence de l'horloge TX TCLK conformément à un autre exemple de forme de réalisation de l'invention. Premièrement, le signal TCON[10:1] de commande de fréquence TX généré par le circuit 410 de commande 25 d'horloge TX est positionné à "1111111111" = 1203 et le signal RCON[10:1] de commande de fréquence RX généré par le circuit 450 de commande d'horloge RX est positionné à "0000000000" = 0 (étape 910). La fréquence de l'horloge TX TCLK générée par le 30 signal TCON[10:1] de commande de fréquence TX établi à "1111111111" est comptée par le compteur 411 du circuit 410 de commande d'horloge TX, et la fréquence de l'horloge RX TCLK générée par le signal RCON[10:1] de commande fréquence RX établi à "1111111111" est comptée par le compteur 451 du 35 circuit 450 de commande d'horloge RX. La valeur de comptage 2906377 25 TCNT du compteur 451 du circuit 450 de commande d'horloge RX est fournie au circuit 410 de commande d'horloge TX. Sur la base de la valeur de comptage TCNT du compteur 411 et de la valeur de comptage RCNT du compteur 451, le 5 circuit 410 de commande d'horloge TX calcule un rapport (c'est-à-dire un gradient A) de la fréquence de l'horloge TX TCLK au signal TCON[10:1] de commande d'horloge TX {étape 920). Ici, on suppose que l'oscillateur 520 du générateur 420 d'horloge TX et qu'un oscillateur (non 10 représenté) du générateur 460 d'horloge TX ont les mêmes caractéristiques que celles illustrées sur la figure 7. Dans l'exemple illustré sur la figure 7, la fréquence de l'horloge RX RCLK est de 43 MHz lorsque le signal RCON[10:1] de commande de fréquence RX est "0000000000", et la 15 fréquence de l'horloge TX TCLK est de 53 MHz lorsque le signal TCON[10:1] de commande de fréquence TX est "1111111111". Dans ce cas, étant donné qu'une différence entre le signal TCON[10:1] de commande de fréquence TX et le signal RCON[10:1] de commande de fréquence RX est "1111111111" = 1023, le 20 gradient A est (TCNT - RCNT)/1023 = (53 000 - 43 000)/1023. Ici, la période du signal de validation de compteur (TCNT EN) est de 1 ms. Une différence entre la valeur de comptage TCLK correspondant à l'horloge TX TCLK et la valeur de comptage "48 000" 25 correspondant à la fréquence souhaitée (c'est-à-dire 48 MHz) est divisée par le gradient A pour calculer une valeur de compensation B (étape 930). Par conséquent, le signal TCON[10:1] de commande de fréquence TX pour la génération de l'horloge TX TCLK avec la fréquence souhaitée est immédiatement 30 obtenue approximativement en rendant le signal TCON[10:1] de commande de fréquence TX égal à 1023 - B (étape 940). Pour compenser des changements de la fréquence de l'horloge TX TCLK dus à des changements des conditions ambiantes, le circuit 410 de commande d'horloge TX 35 détermine en continu si la valeur de comptage TCNT du compteur 411 est supérieure à la valeur minimale MIN et 2906377 26 inférieure à la valeur maximale MAX (étape 950). Pendant que la valeur de comptage TCNT du compteur 411 est supérieure à la valeur minimale MIN et inférieure à la valeur maximale MAX, le signal de blocage de fréquence LOCK 5 est positionné et maintenu à un niveau haut, c'est-à-dire un état logique "1" (étape 960). En revanche, si la valeur de comptage TCNT du compteur 411 est inférieure à la valeur minimale MIN ou supérieure à la valeur maximale MAX, le signal de blocage de fréquence LOCK est repositionné à un 10 niveau bas, c'est-à-dire un état logique "0" (étape 970). Pendant que le signal de blocage de fréquence LOCK est dans un état de niveau bas, le circuit 410 de commande d'horloge TX exécute de façon répétée les étapes 910 à 950 décrites précédemment pour positionner le signal TCON[10:1] de 15 commande de fréquence TX. Le procédé illustré sur la figure 9 pour établir la fréquence de l'horloge TX TCLK peut positionner le signal TCON[10:1] de commande de fréquence TX en n'utilisant que deux paquets SOF (c'est-à-dire avec deux approximations), 20 et il peut donc établir la fréquence de l'horloge TX TCLK en un temps plus court. Le positionnement du signal TCON[10:1] de commande de fréquence TX par le circuit 410 de commande d'horloge TX, selon le procédé illustré sur la figure 9, est le plus pratique uniquement lorsque la 25 fréquence de l'horloge TX TCLK générée par le générateur 420 d'horloge TX change linéairement en fonction du signal TCON[10:1] de commande de fréquence TX, comme illustré sur la figure 7. Dans un autre exemple de forme de réalisation, le 30 circuit 410 de commande d'horloge TX peut établir le signal TCON[10:1] de commande de fréquence TX sans l'utilisation de la valeur de comptage TCNT du compteur 451 dans le circuit 450 de commande d'horloge RX (c'est-à-dire en n'utilisant qu'un seul compteur). Dans cet exemple de forme 35 de réalisation, le circuit 410 de commande d'horloge TX obtient une première valeur de comptage TCNT1 en 2906377 27 positionnant à "0000000000" le signal TCON[10:1] de commande de fréquence TX pendant la période de 1 ms du premier paquet SOF, et obtient une seconde valeur de comptage TCNT2 en positionnant à "1111111111" le signal 5 TCON[10:1] de commande de fréquence TX pendant la période de 1 ms du paquet SOF suivant. Ensuite, le circuit 410 de commande d'horloge TX positionne le signal optimal TCON[10:1] de commande de fréquence TX sur la base d'une différence (ou d'un rapport) entre les première et seconde 10 valeurs de comptage TCNT1 et TCNT2 en utilisant une variante du procédé illustré sur la figure 9. La première valeur de comptage TCNT1 correspond et est substituée au signal RCON[10:1] de commande de fréquence RX de la figure 9 (par exemple, positionnant le signal TCON[10:1] de 15 commande de fréquence TX à "0000000000" pendant une période de 1 ms) et la seconde valeur de comptage TCNT2 correspond et est substituée au signal TCON[10:1] de commande de fréquence TX de la figure 9 (positionnant le signal TCON[10:1] de commande de fréquence TX à "1111111111" 20 pendant une période de 1 ms). Si la fréquence de l'horloge est de 43 MHz lorsque le signal TCON[10:1] de commande de fréquence TX est "0000000000" et si la fréquence de l'horloge est de 53 MHz lorsque le signal TCON[10:1] de commande de fréquence TX est "1111111111", alors, dans ce 25 cas, étant donné qu'une différence entre la première valeur de comptage TCNT1 et la seconde valeur de comptage TCNT2 est de 1023, le gradient A est (TCNT1 - TCNT2)/1023 = (53 000 - 43 000)/1023. Ici, la période du signal de validation de compteur (TCNTEN) est de 1 ms. 30 On décrira en détail ci-après le fonctionnement du circuit 440 de récupération d'horloge RX montré sur la figure 4. Etant donné que les signaux de données D+ et R- appliqués en entrée par l'intermédiaire des bornes de 35 données 203 et 204 ont une cadence (fréquence de données) de 12 MHz et que l'horloge RX TCLK générée par le 2906377 28 générateur 460 d'horloge RX est de 48 MHz 10 %, chaque signal de données à 1 bit peut être échantillonné par l'horloge RX RCLK 3, 4 ou 5 fois, par conséquent au-delà de la fréquence de Nyquist (2 fois). Le circuit 440 de 5 récupération d'horloge RX sélectionne une partie des impulsions de l'horloge RX RCLK pour délivrer en sortie l'horloge de récupération RCVCLK afin que le signal de données puisse être échantillonné en maintenant de façon stable son énergie binaire. 10 La figure 10 est un diagramme des temps illustrant un exemple de processus pour convertir un signal de données transféré du dispositif hôte au dispositif USB. En référence à la figure 10, un signal de données brutes transféré du dispositif hôte au dispositif USB 15 comprend une combinaison de synchronisation et des données en paquet. Lorsque 7 bits successifs "1" apparaissent dans le signal de données brutes, un bit de bourrage "0" au lieu de "1" est inséré dans le 7e bit. En revanche, lorsque 7 bits successifs "0" apparaissent dans le signal de données 20 brutes, un bit de bourrage "1" au lieu de "0" est inséré dans le 7e bit. Etant donné que le transfert de données par les bornes D+ et D- est exécuté selon un processus à inversion sans retour à zéro (NRZI), le nombre de bits successifs "0" ou "1", y compris la dernière donnée de la 25 combinaison de synchronisation, peut s'élever à 7. Le circuit 450 de commande d'horloge RX montré sur la figure 4 délivre en sortie un signal de sélection RATE[2:0] pour déterminer la position d'échantillonnage d'un signal de données RX R_DATA en fonction de la fréquence de 30 l'horloge RX RCLK. La figure 12 est un tableau illustrant un signal de sélection RATE[2:0] délivré en sortie du circuit 450 de commande d'horloge RX en fonction de la valeur de comptage RCNT du compteur 451 et d'un rapport de division de 35 fréquence correspondant au signal de sélection RATE[2:0]. 2906377 29 Pendant que le signal de données RX RDATA est à l'état logique "1", un premier compteur 441 du circuit 440 de récupération d'horloge RX compte l'horloge RX RCLK pour délivrer en sortie une valeur de comptage NRZH CNT. De 5 même, pendant que le signal de données RX R_DATA est à l'état logique "0", un second compteur 442 du circuit 440 de récupération d'horloge RX compte l'horloge RX RCLK pour délivrer en sortie une valeur de comptage NRZLCNT. La figure 11A est un diagramme des temps illustrant un 10 exemple de l'horloge de récupération RX RCV_CLK lorsque 7 bits successifs "1" sont contenus dans les données RX R_DATA reçues du dispositif hôte. La figure 11B est un diagramme des temps illustrant un exemple de l'horloge de récupération RX RCV CLK lorsque 7 bits successifs "0" sont 15 contenus dans les données RX R DATA reçues du dispositif hôte. Lorsque les données RX R_DATA reçues du dispositif hôte contiennent 7 bits successifs "1", le circuit 440 de récupérationd'horloge RX fonctionne comme illustré sur la 20 figure 11A. En référence à la figure 11A, par exemple, lorsque la valeur de comptage RCNT du compteur 451 est comprise entre 42 000 et 45 000, le signal de sélection [2:0] délivré en sortie du circuit 450 de commande d'horloge RX est "010". 25 En réponse au signal de sélection RATE[2:0] "010", le circuit 440 de récupération d'horloge RX génère l'horloge de récupération RX RCV CLK en fonction des valeurs de comptage des premier et second compteurs 441 et 42. Lorsque les données RX R DATA sont à l'état logique "1", la valeur 30 de comptage NRZH_CNT du premier compteur 441 augmente successivement en synchronisme avec l'horloge RX TCLK. En réponse au signal de sélection RATE[2:0] "010", le circuit 440 de récupération d'horloge RX délivre en sortie l'horloge RX RCLK en tant d'horloge de récupération RX 35 RCV CLK lorsque la valeur de comptage NRZH CNT du premier compteur 441 augmente de 1, 4, 3, 4, 4, 3 et 4. 2906377 30 Lorsque les données RX R_DATA reçues du dispositif hôte contiennent 7 bits successifs "0", le circuit 440 de récupération d'horloge RX fonctionne comme illustré sur la figure 11B. 5 En référence à la figure 11B, lorsque la valeur de comptage RCNT du compteur 451 est comprise entre 38 000 et 40 000, le signal de sélection [2:0] délivré en sortie du circuit 450 de commande d'horloge RX est "000". En réponse au signal de sélection RATE[2:0] "000", le circuit 440 de 10 récupération d'horloge RX délivre en sortie l'horloge RX RCLK en tant qu'horloge de récupération RX RCVCLK lorsque la valeur de comptage NRZH_CNT du second compteur 442 augmente de 1, 4, 3, 3, 3, 3 et 4. Lorsque l'horloge de récupération RX RCVCLK est _ 15 générée dans les procédés illustrés sur les figures 11A et 11B, l'émetteur-récepteur USB 240 peut récupérer le signal de données RX R DATA à condition que l'énergie du signal de données RX soit dans un état stable. Le rapport de division de fréquence en fonction de la 20 valeur de comptage RCNT illustrée sur la figure 12 est simplement un exemple, et la plage de la valeur de comptage TCNT et le rapport de division de fréquence en fonction de la valeur de comptage RCNT peuvent varier avec les conditions de fonctionnement du générateur 250 de signal 25 d'horloge. Comme décrit ci-dessus, le générateur de signal d'horloge selon l'invention peut générer un signal d'horloge qui convient au débit de transfert de données défini dans la spécification USB. De plus, le générateur de signal d'horloge 30 peut générer un signal d'horloge RX afin qu'un signal de données RX, dont l'énergie est stable, puisse être récupéré. Dans ce mémoire, une carte intelligente est illustrée en tant qu'exemple de dispositif USB comprenant un générateur de signal d'horloge, et un système informatique 35 est illustré en tant qu'exemple de dispositif hôte communiquant avec la carte intelligente. Cependant, la 2906377 31 présente invention n'est pas limitée à ces exemples. De plus, le dispositif USB comprenant le générateur de signal d'horloge peut être connecté à divers dispositifs hôtes ayant un port USB pour exécuter une communication conforme 5 au protocole USB. Il va de soi que de nombreuses modifications peuvent être apportées au générateur et au procédé décrits ci-dessus, sans sortir du cadre de l'invention. REVENDICATIONS 1. Générateur de signal d'horloge, caractérisé en ce qu'il comporte un circuit de commande configuré pour compter les cycles d'un signal d'horloge pendant chaque période entre deux signaux de synchronisation arrivant successivement en entrée, et pour générer un signal de commande de fréquence basé sur chaque valeur de comptage ; et un générateur d'horloge (250) configuré pour générer le signal d'horloge ayant une fréquence correspondant au signal de commande de fréquence. 2. Générateur de signal d'horloge selon la revendication 1, caractérisé en ce que le circuit de commande bloque le signal de commande de fréquence lorsque la valeur de comptage est dans une plage prédéterminée. 3. Générateur de signal d'horloge selon la revendication 1, caractérisé en ce que le signal de commande de fréquence comporte plusieurs bits. 4. Générateur de signal d'horloge selon la revendication 3, caractérisé en ce que le générateur d'horloge comporte une unité de commande de courant configurée pour générer un courant correspondant au signal de commande de fréquence ; et un oscillateur (520) générant le signal d'horloge ayant une fréquence correspondant au courant. 5. Générateur de signal d'horloge selon la revendication 4, caractérisé en ce que l'unité de commande de courant comporte plusieurs résistances correspondant chacune aux bits respectifs du signal de commande de fréquence, chacune des résistances ayant une première borne connectée en commun à une tension d'alimentation ; et plusieurs commutateurs (SW1 à swio) connectés chacun à l'une, correspondante, des résistances et commandés respectivement par les bits correspondants du signal de commande de fréquence, chacun des commutateurs ayant une première borne connectée à une seconde borne de la résistance correspondante et une seconde borne connectée à un premier noeud (Ni), les intensités des courants circulant à travers 2906377 33 chacune des résistances respectives vers le premier nœud étant différentes les unes des autres. 6. Générateur de signal d'horloge selon la revendication 5, caractérisé en ce que l'oscillateur génère le signal 5 d'horloge ayant une fréquence correspondant à l'intensité du courant circulant vers le premier noeud. 7. Générateur de signal d'horloge selon la revendication 6, caractérisé en ce que le circuit de commande comporte un générateur {430) de signal de commande configuré pour 10 générer un premier signal impulsionnel de validation en synchronisme avec les deux signaux de synchronisation arrivant successivement en entrée et pour générer un second signal impulsionnel de validation en synchronisme avec le premier signal impulsionnel de validation ; et une unité 15 (410) de commande d'horloge TX configurée pour commencer à compter en réponse au premier signal impulsionnel de validation et pour générer le signal de commande de fréquence correspondant à la valeur de comptage en réponse au second signal impulsionnel de validation. 20 8. Générateur de signal d'horloge selon la revendication 7, caractérisé en ce que l'unité de commande d'horloge TX active un signal de blocage de fréquence lorsque la valeur de comptage est dans une plage prédéterminée. 9. Générateur de signal d'horloge selon la revendication 25 8, caractérisé en ce que le générateur de signal de commande arrête la génération du second signal impulsionnel de validation lorsque le signal de blocage de fréquence est activé. 10. Générateur de signal d'horloge selon la revendication 30 9, caractérisé en ce que le signal de commande de fréquence est un signal à N bits, où N est un entier positif, et l'unité de commande d'horloge TX change successivement les bits du signal de commande de fréquence lorsque la valeur de comptage n'est pas dans la plage prédéterminée. 35 11. Générateur de signal d'horloge selon la revendication 10, caractérisé en ce que l'unité de commande d'horloge TX 2906377 34 bloque le signal de commande de fréquence lorsque la valeur de comptage est dans la plage prédéterminée. 12. Générateur de signal d'horloge selon la revendication 11, caractérisé en ce que l'unité de commande d'horloge TX 5 reçoit un signal de plage d'erreur pour définir la plage prédéterminée. 13. Générateur de signal d'horloge selon la revendication 7, caractérisé en ce que les deux signaux de synchronisation sont des signaux de début de trame (SOF) 10 conformes à la spécification USE. 14. Générateur de signal d'horloge selon la revendication 13, caractérisé en ce que le générateur de signal de commande commande l'oscillateur afin qu'il soit invalidé pendant un mode de suspension défini dans la spécification USB. 15 15. Générateur de signal d'horloge caractérisé en ce qu'il comporte un générateur (430) de signal de commande configuré pour générer des première et seconde impulsions de validation TX et une première impulsion de validation RX en synchronisme avec deux signaux de synchronisation 20 arrivant successivement en entrée ; une unité (410) de commande d'horloge TX configurée pour commencer un comptage de signal d'horloge TX en réponse à la première impulsion de validation TX et pour générer un signal de commande de fréquence TX correspondant à la première valeur de comptage 25 en réponse à la seconde impulsion de validation TX ; un générateur (420) d'horloge TX configuré pour générer le signal d'horloge TX avec une fréquence correspondant au signal de commande de fréquence TX ; une unité (450) de commande d'horloge RX configurée pour générer un signal de 30 commande de fréquence RX en réponse à la première impulsion de validation RX ; et un générateur (460) d'horloge RX configuré pour générer un premier signal d'horloge RX avec une fréquence correspondant au signal de commande de fréquence RX. 35 16. Générateur de signal d'horloge selon la revendication 15, caractérisé en ce qu'il comporte en outre une unité 2906377 35 (440) de récupération d'horloge RX configurée pour commencer un comptage du premier signal d'horloge RX en synchronisme avec la transition d'un signal de données d'entrée et pour générer un second signal d'horloge RX 5 lorsque la valeur de comptage atteint des valeurs prédéterminées. 17. Générateur de signal d'horloge selon la revendication 16, caractérisé en ce que le générateur de signal de commande génère la première impulsion de validation TX en synchronisme avec les deux signaux de 10 synchronisation arrivant successivement en entrée, génère la seconde impulsion de validation TX en synchronisation avec la première impulsion de validation TX, génère une seconde impulsion de validation RX en synchronisme avec les deux signaux de synchronisation arrivant successivement en 15 entrée, et génère la première impulsion de validation RX en synchronisation avec la seconde impulsion de validation RX. 18. Générateur de signal d'horloge selon la revendication 17, caractérisé en ce que l'unité de commande d'horloge RX commence à compter le premier signal d'horloge RX en 20 réponse à la seconde impulsion de validation RX et fournit à l'unité de récupération d'horloge RX les valeurs prédéterminées correspondant à la seconde valeur de comptage. 19. Générateur de signal d'horloge selon la revendication 17, caractérisé en ce que l'unité de commande d'horloge RX 25 commence à compter le premier signal d'horloge RX en réponse à la seconde impulsion de validation RX et génère le signal de commande de fréquence RX correspondant à la seconde valeur de comptage en réponse à la première impulsion de validation RX. 30 20. Générateur de signal d'horloge selon la revendication 19, caractérisé en ce que l'unité de commande RX bloque le signal de commande de fréquence RX lorsque la seconde valeur de comptage est dans une plage prédéterminée. 21. Générateur de signal d'horloge selon la revendication 35 15, caractérisé en ce que le générateur d'horloge RX comporte une unité de commande de courant configurée pour 2906377 36 générer un courant de commande correspondant au signal de commande de fréquence RX ; et un oscillateur {520) configuré pour générer le signal d'horloge RX avec une fréquence correspondant au courant de commande. 5 22. Générateur de signal d'horloge selon la revendication 19, caractérisé en ce que le signal de commande de fréquence RX comporte plusieurs bits. 23. Générateur de signal d'horloge selon la revendication 22, caractérisé en ce que l'unité de commande de courant 10 comporte un générateur (510) de tension configuré pour générer une tension de commande ; plusieurs commutateurs (SW1 à swio) correspondant respectivement aux bits du signal de commande de fréquence RX et commandés respectivement par les bits correspondants du signal de 15 commande de fréquence RX, chacun des commutateurs ayant une première borne connectée à un premier noeud (Ni) ; et plusieurs transistors (TO à TIO) commandés par la tension de commande, chacun des transistors ayant une première borne connectée à une tension d'alimentation et une seconde 20 borne connectée à une seconde borne du commutateur correspondant, l'intensité du courant circulant dans chacun des transistors respectifs vers le premier noeud étant différente. 24. Générateur de signal d'horloge selon la revendication 25 22, caractérisé en ce que l'unité de commande de courant comprend plusieurs commutateurs (SW1 à swio) correspondant respectivement aux bits du signal de commande de fréquence RX et commandés respectivement par les bits correspondants du signal de commande de fréquence RX, chacun des 30 commutateurs ayant une première borne connectée à un premier noeud (Ni) ; et plusieurs résistances, chacune des résistances ayant une première borne connectée à une tension d'alimentation et une seconde borne connectée à une seconde borne du commutateur correspondant, l'intensité du 35 courant passant dans chacune des résistances respectives étant différente. 2906377 37 25. Générateur de signal d'horloge selon la revendication 23, caractérisé en ce que l'oscillateur génère le signal d'horloge RX ayant une fréquence correspondant à l'intensité du courant circulant vers le premier noeud. 5 26. Générateur de signal d'horloge selon la revendication 15, caractérisé en ce que l'unité de commande d'horloge TX bloque le signal de commande de fréquence TX lorsque la première valeur de comptage est dans une plage prédéterminée. 10 27. Générateur de signal d'horloge selon la revendication 15, caractérisé en ce qu'il comporte en outre une unité (440) de récupération d'horloge configurée pour recevoir le signal d'horloge RX et pour générer une horloge le récupération RX avec une fréquence appropriée pour la 15 réception de données conformément à la spécification USB. 28. Générateur de signal d'horloge selon la revendication 27, caractérisé en ce que le signal d'horloge RX a une fréquence supérieure à la fréquence de l'horloge de récupération RX. 20 29. Générateur de signal d'horloge selon la revendication 28, caractérisé en ce que l'unité de récupération d'horloge divise la fréquence du signal d'horloge RX et délivre en sortie le signal d'horloge RX divisé en fréquence en tant qu'horloge de récupération RX en fonction d'un rapport de 25 division de fréquence correspondant à la seconde valeur de comptage. 30. Procédé de génération de signal d'horloge, caractérisé en ce qu'il comprend la génération d'un signal d'horloge ; la réception de deux signaux de synchronisation, 30 successivement, et le comptage des signaux d'horloge générés pendant la période comprise entre les deux signaux de synchronisation ; et le changement de la fréquence du signal d'horloge en fonction de la valeur de comptage si la valeur de comptage n'est pas dans une plage prédéterminée. 35 31. Procédé de génération de signal d'horloge selon la revendication 30, caractérisé en ce que la génération du 2906377 38 signal d'horloge comprend le blocage de la fréquence du signal d'horloge tandis que la valeur de comptage est dans une plage prédéterminée. 32. Procédé de génération de signal d'horloge selon 5 la revendication 30, caractérisé en ce que le changement de la fréquence du signal d'horloge comprend la génération d'un signal de commande de fréquence correspondant à la valeur de comptage ; et le changement de la fréquence du signal d'horloge en fonction du signal de commande de fréquence. 10 33. Procédé de génération de signal d'horloge selon la revendication 32, caractérisé en ce que le signal de commande de fréquence comprend plusieurs bits, et la génération du signal de commande de fréquence comprend le fait de déterminer si la valeur de comptage est dans une 15 plage prédéterminée ; et le changement des valeurs des bits du signal de commande de fréquence lorsque la valeur de comptage n'est pas dans une plage prédéterminée. 34. Procédé de génération de signal d'horloge selon la revendication 33, caractérisé en ce que la génération du 20 signal de commande de fréquence comprend en outre le blocage des valeurs des bits du signal de commande de fréquence lorsque la valeur de comptage est dans la plage prédéterminée. 35. Procédé de génération de signal d'horloge selon 25 la revendication 32, caractérisé en ce que le signal de commande de fréquence comprend N bits (où N est un entier positif), et la génération du signal de commande de fréquence comprend la sélection d'un bit parmi les N bits ; le positionnement du bit sélectionné à une première 30 valeur ; le fait de déterminer si la valeur de comptage est dans une plage prédéterminée ; et le repositionnement du bit sélectionné à une seconde valeur si la valeur de comptage n'est pas dans une plage prédéterminée. 36. Procédé de génération de signal d'horloge selon 35 la revendication 35, caractérisé en ce que la génération du signal de commande de fréquence comprend en outre la 2906377 39 sélection d'un bit parmi les bits non sélectionnés des N bits lorsque la valeur de comptage n'est pas dans la plage prédéterminée ; et le retour à l'étape de détermination. 37. Procédé de génération de signal d'horloge selon 5 la revendication 35, caractérisé en ce que la génération du signal de commande de fréquence comprend en outre le positionnement du bit précédemment sélectionné parmi les N bits à un bit alors sélectionné lorsque la valeur de comptage est dans la plage prédéterminée ; et l'activation 10 d'un signal de blocage de fréquence lorsque la valeur de comptage est dans la plage prédéterminée. 38. Procédé de génération de signal d'horloge selon la revendication 37, caractérisé en ce que le signal de blocage de fréquence est initialement dans un état inactif, 15 et la génération du signal de commande de fréquence est exécutée tandis que le signal de blocage de fréquence est dans un état inactif. 39. Procédé de génération de signal d'horloge, caractérisé en ce qu'il comprend : 20 a) la génération d'une première horloge ayant une fréquence maximale ; b) la génération d'une seconde horloge ayant une fréquence minimale ; c) la réception d'un premier signal de synchronisation 25 et d'un second signal de synchronisation et le comptage de la première horloge pendant la période comprise entre les premier et second signaux de synchronisation ; et d) le changement de la fréquence de la première horloge en fonction de la valeur de comptage de la première 30 horloge et d'une valeur de comptage de la seconde horloge. 40. Procédé de génération de signal d'horloge selon la revendication 39, caractérisé en ce qu'il comprend en outre le comptage de la première horloge et de la seconde horloge pendant la période comprise entre les premier et 35 second signaux de synchronisation. 2906377 41. Procédé de génération de signal d'horloge selon la revendication 39, caractérisé en ce qu'il comprend en outre la réception d'un troisième signal de synchronisation et le comptage de la seconde horloge pendant la période 5 comprise entre les deuxième et troisième signaux de synchronisation. 42. Procédé de génération de signal d'horloge selon la revendication 39, caractérisé en ce que le changement de la fréquence de la première horloge comprend le changement 10 de la fréquence de la première horloge en fonction de la différence entre la valeur de comptage de la première horloge et la valeur de comptage de la seconde horloge. 43. Procédé de génération de signal d'horloge selon la revendication 39, caractérisé en ce qu'il comprend en 15 outre le comptage de la première horloge avec la fréquence changée, dans lequel les étapes a) à d) sont exécutées de façon répétée lorsque la valeur de comptage de la première horloge n'est pas dans une plage prédéterminée. 44. Circuit caractérisé en ce qu'il comporte un 20 émetteur-récepteur (240) configuré pour transférer/recevoir des données par l'intermédiaire d'une borne de données en synchronisme avec une horloge TX/RX conformément à la spécification USB, et pour détecter un signal de synchronisation reçu par l'intermédiaire de la borne de 25 données, et pour délivrer en sortie le signal de détection à la suite de la détection d'un signal de synchronisation ; et un générateur (250) de signal d'horloge configuré pour compter l'horloge TX pendant la période comprise entre deux signaux de détection délivrés en sortie de l'émetteur- 30 récepteur, et pour générer l'horloge TX avec une fréquence correspondant à la valeur de comptage. 45. Circuit selon la revendication 44, caractérisé en ce que le générateur de signal d'horloge comporte un circuit (410) de commande d'horloge TX configuré pour 35 compter l'horloge TX pendant la période comprise entre les deux signaux de détection, et pour générer un signal de 2906377 41 commande de fréquence TX correspondant à la valeur de comptage ; et un générateur (420) d'horloge TX configuré pour générer l'horloge TX avec une fréquence correspondant au signal de commande de fréquence TX. 5 46. Circuit selon la revendication 45, caractérisé en ce que le circuit de commande d'horloge TX bloque le signal de commande de fréquence TX lorsque la valeur de comptage est dans une plage prédéterminée. 47. Circuit selon la revendication 44, caractérisé en 10 ce que le générateur de signal d'horloge comporte un circuit (450) de commande d'horloge RX configuré pour compter l'horloge RX pendant la période comprise entre les deux signaux de détection, et pour générer un signal de commande de fréquence RX correspondant à la valeur de 15 comptage ; et un générateur (460) d'horloge RX configuré pour générer l'horloge RX avec une fréquence correspondant au signal de commande de fréquence RX.