Brevet FR2669447A1 — publié le 19920522

La présente invention concerne de façon générale un procédé et un appareil de transfert de données en une seule instruction, et elle concerne plus particulièrement la réception de données, en provenance d'un dispositif périphérique, dans la mémoire externe d'un processeur. Les techniques traditionnellement utilisées pour le transfert de données emploient ou bien l'utilisation continue du processeur pendant toute la durée du transfert, ou bien un dispo- sitif de commande externe qui est spécialement affecté au trans- fert Ces manières habituelles de faire sont bien connues de façon générale et sont largement employées dans les domaines conceptuels utilisant l'ordinateur Les moyens programmés qui utilisent des processeurs sont peu coûteux et rentables du point de vue encom- brement, mais, toutefois, ils ne sont pas adaptés au calcul Chaque cycle de transfert demande au moins deux cycles d'instruction, et le processeur n'est pas en mesure d'effectuer tout autre calcul pendant toute la durée du transfert de données Un exemple d'uti- lisation d'un moyen programmé pour résoudre le problème du trans- fert des données d'un dispositif périphérique dans une mémoire peut être trouvé dans "Microprocessors and Microcomputers, Hardware and Software", de Tocci et Laskowski, à la page 224 Les disposi- tifs de commande spécialisés n'utilisent pas Le processeur pendant toute l'opération de transfert, mais il faut toutefois que ces dispositifs de commande obtiennent la commande du bus de données pour transférer les données Le processus par lequel la commande du bus de données est obtenue de la part du processeur impose que le dispositif de commande émette une demande d'utilisation du bus et reçoive de la part du processeur une cession d'utilisation du bus; ceci ajoute un retard inconnu au nombre, au moins égal à deux, de cycles d'instruction de chaque cession d'utilisation du bus De plus, le dispositif de commande utilisera le bus de données pendant tout ou partie du transfert de données, ce qui limitera la quantité de données que le processeur pourra transférer entre lui-même et la mémoire Un exemple de l'utilisation d'un dispositif de commande spécialisé pour résoudre le problème du transfert de données d'un dispositif périphérique à une mémoire peut être trouvé dans la note d'application suivante, de Thomas Hardy, "A transparent DMA using a MC 6809 E MPU and a MC 6844 DMAC", ( 1984) L'utilisation des techniques traditionnelles fait que le concepteur reste avec L'un des problèmes suivants, à savoir une utilisation inefficace de la puissance de calcul du processeur, ou bien un bus de données qui n'est pas toujours disponible pour le processeur, ce qui limite la quantité de calculs qui peut être effectuée par le processeur pen- dant un certain temps. Alors que les exemples ci-dessus présentés sont bien adaptés à leurs applications, existe néanmoins le besoin d'un pro- cessus de transfert peu coûteux et peu encombrant, qui n'utilise qu'un seul cycle d'instruction du processeur pour charger des données d'un dispositif périphérique dans la mémoire externe du processeur et laisse l'usage du bus de données à la disposition du processeur. L'invention propose un appareil de transfert de données en une seule instruction, qui, en réponse à un unique évènement déclenchant provenant d'un dispositif de commande, transfert des données d'un dispositif de sortie à un dispositif d'entrée. L'appareil, en réponse à l'évènement déclenchant unique, produit au moins un signal qui sélectionne le dispositif d'entrée et le dis- positif de sortie Une fois sélectionné le dispositif de sortie, l'apparei L couple le dispositif de sortie au dispositif d'entrée A la suite du couplage des dispositifs de sortie et d'entrée, L'appa- reil crée, à destination du dispositif d'entrée, au moins un signal qui provoque la validation d'une fonction d'écriture. La description suivante, conçue à titre d'illustration de L'invention, vise à donner une meilleure compréhension de ses caractéristiques et avantages; elle s'appuie sur les dessins annexés, parmi lesquels: la figure 1 est le schéma de principe d'un système de transmission de données de radiofréquence; les figures 2 et 3 constituent, ensemble, le schéma de principe d'un récepteur pouvant utiliser un appareil de transfert de données en une seule instruction; la figure 4 est une carte d'implantation en mémoire pour la mémoire représentée sur la figure 2; et la figure 5 est un organigrammme des opérations effec- tuées par le dispositif de commande pour un transfert de données, du convertisseur analogique-numérique de signaux en phase ( 209) à la mémoire ( 303). Un système de transmission en radiofréquence, qui trans- porte un signal de données d'un émetteur 107 à un récepteur 101 est représenté sur la figure 1 Dans un système radiotéléphonique, l'émetteur 107 serait l'émetteur d'une station fixe desservant une zone de couverture radio contenant des émetteurs-récepteurs mobiles ou portatifs, dont un récepteur, à savoir le récepteur 101, est représenté sur la figure 1 Ce récepteur radio contient un proces- seur 105 qui effectue des calculs sur les données reçues par le récepteur radio Les données qui sont reçues par le récepteur radio doivent être transférées au processeur 105 pour que les calculs soient effectués Le transfert des données en phase (I) et des données en quadrature (Q), du récepteur 101 au processeur 105, est réalisé par le bloc de commande 103. La figure 2 représente le schéma de principe du récepteur radio 101 Le récepteur 101 obtient des signaux de radiofréquence (RF) de la part de l'émetteur-récepteur fixe 107 Dès réception des signaux, le récepteur 101 filtre, dans un filtre 221, les signaux et mélange, dans un mélangeur 219, les signaux RF avec le signal d'un oscillateur local (LO) 223 Après passage dans un filtre supplémentaire 217, les signaux résultants sont des signaux de fréquence intermédiaire (IF) Un mélangeur 201 ajoute les signaux d'un oscillateur local 225 aux signaux IF et un mélangeur 203 soustrait des signaux IF le signal de l'oscillateur local 225, ce qui produit des signaux de bande de base (BB) Les signaux BB passent alors dans des filtres passe-bas 205 et 207 afin de former respectivement des signaux en phase (I) et des signaux en quadra- ture (Q) Les signaux I sont le résultat du mélange direct du signal de l'oscillateur local 225 avec les signaux IF, tandis que les signaux Q sont le résultat du déphasage ( 90 ) du signal de l'oscillateur local 225 et du mélange du signal déphasé avec les signaux IF Les signaux de bande de base I et Q sont respectivement appliqués en entrée à deux convertisseurs analogique-numérique (ADC) 209 et 211, dans lesquels ils sont échantillonnés à inter- valles réguliers par le signal d'horloge d'échantillonnage, les signaux résultants obtenus étant emmagasinés dans des tampons 213 et 215 Après échantillonnage, les données I et Q sont primées en vue d'être transférées dans le lieu du traitement numérique, o des calculs seront effectués sur les données Le processeur 105 peut faire accès aux données contenues dans les tampons 213 et 215, via le bus de données 113 Si le processeur 105 demande des données en provenance des convertisseurs analogique-numérique 209 et 211, le module de commande 103 commande le transfert des données Pour rendre les données disponibles sur le bus de données 113, il faut valider les sorties des tampons à trois états 213 et 215. La partie de traitement numérique du processeur 105 est représentée par le schéma de principe de la figure 3 Elle consiste en un processeur de signaux numériques (DSP, par exemple le DSP 56001 disponible auprès de la société Motorola Inc ou un DSP analogue) 301 et en une mémoire 303 Le processeur de signaux numérique 301, la mémoire 303, le dispositif de commande 103 et les tampons 213 et 215 des convertisseurs analogique-numérique sont classiquement interconnectés par le bus de données 113 et le bus d'adresses 111 Le bus d'adresses 111 est utilisé par le processeur pour pointer un emplacement de registre particulier dans la mémoire 303 ou les convertisseurs analogique-numérique 209 et 211 Des lignes de commande spécialisées, par exemple les lignes RD, WR et CS (respectivement associées à la lecture, l'écriture et la séLec- tion de puce), sont utilisées pour effectuer des fonctions sur le registre particulier qui a été sélectionné par le bus d'adresses 111 Les tampons à trois états 213 et 215 des convertisseurs analo- gique-numérique se présentent sous la forme de registres dans les cartes d'implantation en mémoire 401 et 403 de la mémoire 301 du processeur de signaux numériques de manière à autoriser le proces- seur de signaux numériques à Lire dans ces tampons comme s'ils étaient des emplacements de mémorisation La mémoire disponible du processeur consiste en mémoire vive (RAM) interne et en mémoire vive et mémoire morte (ROM) externes L'adressage de la mémoire s'effectue selon les cartes d'implantation en mémoire de la figure 4 Le processeur de signaux numériques 301 est utilisé par le récepteur radio pour effectuer des calculs d'égalisation sur les données reçues Dans le mode de réalisation préféré, les calculs comprennent: ( 1) la commande automatique de fréquence (AFC), ( 2) la corrélation, ( 3) le filtrage d'adaptation, ( 4) des mesures de puissance, et ( 5) la commande automatique de gain (AGC) Les données utilisées pour les calculs sont les données échantillonnées venant des tampons 213 et 215 des convertisseurs analogique-numé- rique placés dans le récepteur 101 Les données et les résultats des calculs sont emmagasinés dans la mémoire 303 et sont extraits de la mémoire 303 par utilisation combinée du bus de données 113, du bus d'adresses 111 et des cartes d'implantation en mémoire 401, 403 et 405. Les cartes d'implantation en mémoire utilisées par le processeur de signaux numériques 301 sont présentées sur la figure 4 Les emplacements de mémorisation adressables du processeur de signaux numériques 301 sont séparés en trois cartes distinctes: la mémoire 401 de données X, la mémoire 403 de données Y et la mémoire de programme 405 Ces cartes d'implantation en mémoire sont toutes les trois formées d'emplacements de mémorisation internes par rapport au processeur de signaux numériques 301 et externes par rapport au processeur de signaux numériques 301 Les nombres précédés du signe Z qui se trouvent le long du côté gauche des cartes d'implantation en mémoire 401, 403 et 405 sont les adresses hexadécimales utilisées par le processeur de signaux numériques 301 pour se reporter à des emplacements particuliers des cartes d'implantation en mémoire Les mémoires de données X et Y, 401 et 403, et la mémoire de programme qui sont internes par rapport au processeur de signaux numériques 301 ont des adresses allant de 0000 à OOFF et, dans la mémoire X, de $FFCO à $FFFF Tous les autres emplacements de mémorisation adressables sont externes au processeur de signaux numériques 301 Les RAM externes relatives aux blocs de mémoire de données X et Y sont adressées entre 92000 et $ 2800 Les adresses relatives aux tampons des convertisseurs ana Logique-numérique 213 et 215 sont comprises entre 94000 et 94800 On note que Les emplacements associés au tampon 213 du convertisseur analogique- numérique pour les signaux I, soit I ADC, se trouvent dans le bloc de mémoire X et que les emplacements asso- ciés au tampon 215 du convertisseur analogique-numérique pour les signaux Q, soit Q ADC, se trouvent dans le bloc de mémoire Y; ceci permet au processeur de signaux numériques 301 de choisir entre les données I et Q en basculant la ligne de sélection de mémoire X/Y Les périphériques "sur puce" sont adressés dans la mémoire 401 de données X entre 9 FFCO et 9 FFFF Les résultats des calculs effectués par le processeur de signaux numériques 301 sont emmagasinés dans les mémoires 401 et 403 de données X et Y Les résultats des calculs de commande automatique de fréquence (AFC) sont écrits dans la mémoire de données Y à 9 FFFO, et les résultats des calculs de commande automatique de gain (AGC) sont écrits dans la mémoire de données Y à 9 FFDO et 9 FFEO, respectivement pour les bits les moins signficatifs et les bits les plus significatifs La ROM de programme externe est adressée entre 88000 et SEOOO dans la carte 405 de la mémoire de programme. On note aussi que, sur la figure 4, sont présentées à titre d'exemple les indications suivantes La mémoire 401 de données X a une capacité de 2 K x 24 pour sa RAM externe, et une capacité de 2 K x 24 pour son bloc de mémoire associé à I ADC La mémoire 403 de données Y a des capacités identiques pour sa RAM externe et son b Loc Q ADC, et son adresse SFFCO est affectée à une ROM de mise au point (BUG ROM). Le transfert de données sur le bus de données est contrôlé par le dispositif de commande 103 Si le processeur de signaux numériques 301 demande une lecture dans l'un ou l'autre des tampons 213 et 215 des convertisseurs analogique-numérique, le dispositif de commande modifie le programme de lecture normal du processeur de signaux numériques 301 L'instruction de lecture venant du processeur de signaux numériques 301 est considérée comme un événement déclenchant unique qui émane d'un dispositif de commande Comme représenté sur l'organigramme de la figure 5, le processus de transfert provenant du dispositif de commande 103 est déclenché à L'étape 501 par une instruction de Lecture venant du processeur de signaux numériques 301 Le premier test est effectué à L'étape 517 afin de contrôler si L'instruction de Lecture est destinée à L'un des deux tampons 213 et 215 des convertisseurs ana Logique-numérique du récepteur Le dispositif de commande 103 contrôLe Le bus d'adresses en cherchant une adresse comprise entre 94000 et 94800, car i L sait que ce sont Les emplacements d'adres- sage des tampons 213 et 215 des convertisseurs ana Logique-numérique du récepteur Si La demande de Lecture est faite pour L'un des tampons des convertisseurs numériques, Le bit 14 (A 14) présent sur Le bus d'adresses sera haut et Le bit 13 (A 13) sera bas Dans Le cas o La Lecture est destinée à L'un des tampons 213 et 215 des convertisseurs ana Logique-numérique, Le dispositif de commande 103 décide, à L'étape 517, dans que L convertisseur ana Logique-numérique i L va Lire Une fois ceci déterminé, Le dispositif de commande produit un signa L d'excitation pour La Ligne de sélection de mémoire X/Y du processeur de signaux numériques Si La Ligne est excitée dans L'état haut à L'étape 503, Le processeur de signaux numériques 301 adressera La mémoire 401 dans Le b Loc de données X associé à I ADC, tandis que L'état bas se rapporte au b Loc de données Y associé à Q ADC de La mémoire 403 Si e L Le est excitée dans L'état haut, a Lors, à L'étape 505, Le dispositif de commande 103 produit un signa L qui va Lide Les sorties du tampon 213 du convertisseur ana Logique-numérique de données en phase, ce qui permet aux données I de passer sur Le bus de données 113 Si La Ligne de sélection de mémoire XIY est dans L'état bas, a Lors Le dispositif de commande 103 produit un signa L qui va Lide Les sorties du tampon 215 du convertisseur analogique-numérique de données en quadrature, ce qui autorise Les données Q à passer sur Le bus de données 113 à L'étape 511 Le précédent signal de validation sélectionne Le -dispositif de sortie approprié Puisque La mémoire externe 303 du processeur de signaux numériques est constituée de plusieurs mémoires de 8 K x 8 bits, seuls les 11 bis Les moins significatifs sont nécessaires pour adresser un emplacement quelconque à L'intérieur des mémoires Les bits d'ordre supérieur (A 12-A 15) sont uti Lisés par Le dispositif de commande pour effectuer la sélection entre des puces de mémoire ou d'autres dispositifs périphériques se trouvant dans les cartes d'implantation en mémoire 401, 403 et 405 Puisque les bits inférieurs de l'adresse des mémoires externes et l'adresse des mémoires des convertisseurs ana Logique-numérique sont identiques, le seul changement nécessaire pour modifier effectivement l'adresse contenue dans Les cartes d'implantation en mémoire 401, 403 et 405 entre Les convertisseurs analogique-numérique 213 et 215 et la mémoire externe 303 consiste en L'excitation de la ligne de sélection de puce (CS) se rapportant à la mémoire externe A l'étape 507, le dispositif de commande 103 produit des signaux qui désexcitent la ligne de lecture (ARD) et excitent la Ligne CS de la mémoire externe, ce que l'on appelle une instruction de lecture altérée, ou modifiée, soit ARD Ensuite, à l'étape 509, le disposi- tif de commande 103 excite la ligne d'écriture (AWR) de la mémoire externe et la ligne de sélection de puce (CS) de la mémoire externe, ce qui est appelé une instruction d'écriture altérée, ou modifiée, soit AWR Si, à l'étape 503, l'adresse initiale du processeur de signaux numériques 301 apparaît à l'extérieur de la fenêtre comprise entre 94000 et 94800, alors une instruction de lecture normale du processeur de signaux numériques 301 est exécu- tée à l'étape 513 Ceci termine le programme du dispositif de commande 103, à l'étape 511 Le dispositif de commande 103 réagit en déterminant si la demande de lecture du processeur de signaux numériques 301 se rapporte à l'un des tampons 213 et 215 du con- vertisseur analogique-numérique, en choisissant entre le tampon 213, associé au convertisseur analogique-numérique des données I et le tampon 215 associé au convertisseur analogique-numérique des données Q, en créant l'adresse d'écriture correspondante et en exécutant l'instruction d'écriture. Le mode de réalisation préféré satisfait les exigences des radiotéléphones en ce qui concerne la taille et le coût du dispositif de commande et l'utilisation du processeur Le disposi- tif de commande 103 est mis en oeuvre sous la forme d'un dispositif " 16 L 8 PAL", qui est un élément programmable peu coûteux et de taille réduite Le processus de transfert ne demande qu'une seule instruction de Lecture de La part du processeur de signaux numé- riques 301 pour effectuer La totalité du transfert, de L'un des deux tampons 213 et 215 des convertisseurs analogique-numérique à la mémoire externe 303 du processeur de signaux numériques 301. Ceci satisfait, ou même dépasse, Les exigences énumérées dans Le préambule de La description. Bien entendu, L'homme de L'art sera en mesure d'imaginer, à partir du dispositif et du procédé dont La description vient d'être donnée à titre simplement illustratif et nullement Limita- tif, diverses variantes et modifications ne sortant pas du cadre de l'invention. g REVENDICATIONS 1 Appareil ( 105) de transfert de données en une seule instruction, qui, en réponse à un unique évènement déclenchant émanant d'un dispositif de commande, transfère des données d'un dispositif de sortie ( 209, 211) à un dispositif d'entrée ( 303), caractérisé par: un moyen qui répond à l'évènement déclenchant unique en produisant ( 301) au moins un signal de commande, qui sélectionne le dispositif d'entrée et le dispositif de sortie; un moyen ( 113) servant à coupler les données du disposi- tif de sortie au dispositif d'entrée lorsque Le dispositif de sortie a été sélectionné; et un moyen qui répond à l'évènement déclenchant unique en créant ( 103) au moins un signa L de commande couplé au dispositif d'entrée, qui provoque la validation d'une fonction d'écriture. 2 Appareil se Lon la revendication 1, caractérisé en ce que le dispositif d'entrée comprend en outre un dispositif d'entrée- sortie ( 303). 3 Appareil selon la revendication 2, caractérisé en ce que ledit ou lesdits signaux de commande qui sont appliqués au dispo- sitif d'entrée comprennent en outre un moyen servant à invalider une fonction de lecture. 4 Appareil de transfert de données en une seule instruc- tion, employant un récepteur numérique qui fournit un signa L de sortie correspondant à des signaux radioélectriques reçus et trans- férant des données d'un dispositif de sortie ( 303) à un dispositif d'entrée ( 209, 211) en réponse à un unique évènement déclenchant, caractérisé par: un moyen servant à transformer le signal de sortie en des données numériques ( 209, 21-1); un moyen qui répond à l'évènement déclenchant unique en produisant ( 303) au moins un signal, qui sélectionne le dispositif d'entrée et le dispositif de sortie; un moyen ( 113) servant à coupler les données du disposi- tif de sortie au dispositif d'entrée lorsque le dispositif de sortie a été sélectionné; et un moyen qui répond à l'événement déclenchant unique en créant ( 103) au moins un signal de commande couplé au dispositif d'entrée, qui provoque la validation d'une fonction d'écriture. Appareil selon la revendication 4, caractérisé en ce que le dispositif d'entrée ( 303) comprend en outre un dispositif d'entrée-sortie. 6 Appareil selon la revendication 5, caractérisé en ce que ledit ou lesdits signaux de commande qui sont couplés au dispositif d'entrée comprennent en outre un moyen servant à invalider une fonction de lecture. 7 Appareil de transfert de données en une seule instruc- tion, qui, en réponse à une instruction de lecture venant d'un processeur de signaux numériques ( 301), transfère des données à une mémoire externe ( 303) du processeur de signaux numériques depuis au moins deux dispositifs périphériques ( 209, 211), caractérisé par: un moyen qui répond à l'événement déclenchant unique en choisissant ( 103) un premier dispositif périphérique entre les deux ou plus de deux dispositifs périphériques; un moyen qui répond à l'événement déclenchant unique en produisant ( 103) un signal de validation de sortie qui est couplé audit premier dispositif périphérique; un moyen qui répond à l'événement déclenchant unique en produisant ( 111) une adresse qui correspond à un emplacement de la mémoire externe du processeur de signaux numériques; un moyen ( 113) servant à coupler ledit premier dispositif périphérique à la mémoire externe du processeur de signaux numé- riques lorsque ledit premier dispositif périphérique a été sélec- tionné; et un moyen qui répond à l'événement déclenchant unique en créant ( 103) un signal d'invalidation de lecture et un signal de validation d'écriture qui sont couplés à la mémoire externe du processeur de signaux numérique. 8 Appareil selon la revendication 7, caractérisé en ce que le dispositif périphérique ( 209, 211) comprend en outre un conver- tisseur analogique-numérique employant des tampons à trois états sur ses sorties numériques. 9 Appareil selon la revendication 8, caractérisé en ce que ledit moyen de couplage ( 113) comprend en outre un bus de données entre lesdits tampons à trois états et la mémoire externe du processeur de signaux numériques. Procédé permettant, en réponse à un unique évènement déclenchant venant d'un dispositif de commande, de transférer des données d'un dispositif de sortie à un dispositif d'entrée, carac- térisé par les opérations suivantes: produire, en réponse à l'évènement déclenchant unique, au moins un signal, qui sélectionne le dispositif d'entrée et le signal de sortie ( 503); coupler les données du dispositif de sortie au dispositif d'entrée lorsque le dispositif de sortie a été sélectionné ( 505); et créer, en réponse à l'évènement déclenchant unique, un signal de commande, qui est couplé au dispositif d'entrée afin de provoquer la validation d'une fonction d'écriture ( 509). 11 Procédé selon la revendication 10, caractérisé en ce qu'il comprend en outre l'opération consistant à invalider une fonction de lecture ( 507).