Brevet FR2818773A1 — publié le 20020628

L'invention concerne un procédé et un arrangement d'échange de données entre un dispositif programmable, notamment un microcontrôleur, et un circuit logique. Lors de l'interconnexion d'un dispositif programmable, notamment un microcontrôleur, avec un circuit logique, par exemple un circuit PLD, qui fonctionne également d'après un programme, un échange de données doit avoir lieu dans les deux sens, un échange de données devant ici également être possible sur demande du circuit logique. Le nombre de lignes et de branchements nécessaires à cet effet doit en outre être le plus petit possible. Cet objet est réalisé avec le procédé conforme à l'invention en ce qu'un signal de commande (appelé " Strobe " dans les dessins) est transmis du dispositif programmable vers le circuit logique à l'aide d'une première ligne et qu'au moins une deuxième ligne utilisable dans les deux sens est amenée en situation de domination par le circuit logique si une transmission de données doit avoir lieu du côté du circuit logique. Le procédé conforme à l'invention peut être utilisé de manière particulièrement avantageuse si le circuit logique demande de lui-même une transmission de données. Cela est notamment le cas lorsque le circuit logique reçoit des grandeurs d'entrée indépendamment du microcontrôleur, comme par exemple dans le cas d'un circuit de verrouillage radioélectrique pour véhicules avec lequel le récepteur radio et le circuit logique forment un seul élément. Le nombre de lignes et de branchements est particulièrement faible en utilisant le procédé conforme à l'invention si une seule deuxième ligne de transmission en série est utilisée pour la transmission bidirectionnelle des données. L'invention n'exclue cependant pas de prévoir deux deuxièmes lignes ou plus, le cas échéant même huit, ce qui permettrait de transmettre en parallèle un nombre correspondant de bits. 2 - Conformément à un perfectionnement de l'invention, le dispositif programmable permet d'éviter une transmission de données vers le circuit logique en évitant une collision provoquée par l'émission simultanée dans les deux sens en ce que la transmission de données vers le circuit logique est libérée en cas de demande de transmission de données par le dispositif programmable lorsque l'au moins une deuxième ligne est en situation de soumission pendant une durée prédéfinie après un changement de niveau du signal de commande, qu'après écoulement de la durée prédéfinie l'au moins une deuxième ligne est amenée dans un état dominant par le dispositif programmable et qu'une transmission de données du dispositif programmable vers le circuit logique est amorcée par le changement d'état suivant du signal de commande. Concernant la transmission de données du circuit logique vers le dispositif programmable, une collision est évitée grâce à un autre perfectionnement de l'invention en ce que l'au moins une deuxième ligne est basculée en situation de soumission par le dispositif programmable avant l'écoulement de la durée prédéfinie de manière à ce qu'une transmission de données soit possible du circuit logique vers le dispositif programmable. Dans un mode de réalisation avantageux, les dispositions de réception des données par le dispositif programmable consistent en ce qu'en cas de demande de réception provoquée par le programme dans le dispositif programmable et si l'au moins deuxième ligne est en situation de soumission, celle-ci reste en situation de soumission et le signal de commande prend le premier niveau, après quoi la durée prédéfinie commence. L'objet est réalisé avec un arrangement conforme à l'invention en ce qu'un signal de commande (" Strobe ") peut être transmis du dispositif programmable vers le circuit logique à l'aide d'une première ligne et qu'au moins une deuxième ligne utilisable dans les deux sens qui -3- relie le dispositif programmable au circuit logique peut être amenée en situation de domination par le circuit logique si une transmission de données doit avoir lieu du côté du circuit logique. Des perfectionnements et des améliorations de l'arrangement conforme à l'invention sont indiqués dans les autres revendications secondaires. L'invention autorise de multiples formes de réalisation. L'une d'entre elles est représentée schématiquement dans le dessin au moyen de plusieurs figures et décrite ci-après. Les figures illustrent: Figure 1 un synoptique d'un arrangement conforme à l'invention et Figure 2 à figure 6 des diagrammes d'état destinés à expliquer le procédé conforme à l'invention. Le microcontrôleur et le circuit logique seront désignés ci-après par le terme composants. L'ensemble des deux composants ainsi que les programmes qui sont exécutés dans les deux composants seront désignés ci-après par le terme système. La figure 1 représente un microcontrôleur qui peut faire partie d'un appareil de commande destiné à différents usages, par exemple dans l'équipement électronique d'un véhicule. Une partie de la fonction du système global est assurée par un circuit logique 2 qui peut être réalisé sous la forme d'un PLD (Programmable Logic Device), par exemple. Le microcontrôleur 1 remplit le rôle dit du maître, alors que le circuit logique 2 remplit non seulement le rôle dit de l'esclave, mais peut également au cas par cas intervenir activement dans l'échange de données et signaler un échange de données. Cela peut être nécessaire, par exemple, lorsque le circuit logique 2 reçoit encore des signaux d'autres dispositifs. Une telle fonction est prévue, par exemple, dans le cas d'un récepteur radio pour un verrouillage centralisé d'un véhicule. -4- Le microcontrôleur 1 et le circuit logique 2 sont reliés par le biais d'une premier ligne 3 qui fonctionne de manière bidirectionnelle et qui achemine un signal désigné ci-après par Signal de commande. Au moins une ligne supplémentaire 4 sert à la transmission bidirectionnelle des données. Suivant les exigences spécifiques, il est également possible de prévoir plusieurs lignes en parallèle 4, par exemple deux, quatre ou huit. La figure 2 représente un diagramme d'état, à savoir deux états 5, 6 dans lesquels peut se trouver aussi bien le microcontrôleur 1 que le circuit logique 2. La détermination du mode de transmission a lieu dans le premier état et la transmission des données dans le deuxième état 6. Un passage de l'état 5 à l'état 6 est provoqué par un événement dans le déroulement du programme de l'un des deux composants, événement par lequel est déterminé un mode de transmission, par exemple la transmission de données du microcontrôleur vers le circuit logique. Le système passe dans l'état de transmission de données en réponse ou en réaction à cet événement. Dans ce cas, lorsqu'il se produit un message indiquant la fin de la transmission de données, par exemple par le caractère final des données transmises, le système repasse dans l'état 5. Le diagramme d'état selon la figure 3 explique la détermination du mode de transmission 5' par le microcontrôleur 1 dans une représentation plus détaillée que la figure 2. Au sein de l'état 5, le microcontrôleur peut prendre un état de repos 7 ainsi que les états Transmission 8, Demande 9 et Réception 10. Il passe dans l'état 5' en présence de l'événement E " Transmission de données terminée " ou " Réinitialisation " après la mise sous tension (réinitialisation à la mise sous tension). Les événements qui provoquent le passage du microcontrôleur de l'état de repos 7 à l'état Transmission 8 sont une demande adressée par le programme au -5 - microcontrôleur pour une transmission et le passage de la ligne de données 4 (figure 1) en s tuation de soumission. La ligne de données reste alors dans cette situation alors que la ligne de Signal de commande prend un premier état (Valide) et qu'une temporisat on T démarre. La temporisation sert à laisser la priorité au circuit logique lors de la transmission de données avant une transmission de données par le microcontrôleur. Cela permet d'éviter les collisions qui sont provoquées par le fait que les deux composants doivent émettre au même moment. C'est le circuit logique qui possède actuellement la priorité, car les possibilités techniques de programmation permettant de retarder le processus de transmission préparé n'y sont pas aussi complète que dans le microcontrôleur. Lorsque l'état Transmission 8 est atteint, les autres activités A dépendent de l'écoulement de la temporisation et du fait que la ligne de données est en situation de soumission ou de domination. Un basculement en situation de domination veut dire ici que le circuit logique a envoyé une demande. Par conséquent, la ligne de données est maintenue en situation de soumission du côté du microcontrôleur alors que le Si gnal de commande prend l'état invalide de manière à ce qu'une transmission de données en " Réception " (vue depuis l'état du microcontrôleur) puisse commencer. Toutefois, si la ligne de données est en situation de soumission, elle bascule en situation de domination et le Signal de commande devient invalide. Le microcontrôleur peu ainsi commencer la transmission des données. Si le microcontrôleur es prêt en position de repos et que la ligne de données est dominante, l'état de Demande 9 est atteint par le fait que la ligne de données, vue depuis le microcontrôleur, est basculée en situation de domination et le Signal de commande devient valide. La temporisation T démarre elle aussi. Le même état de " Réception " est de nouveau atteint à partir de cet état -6 - après écoulement de la temporisation et lorsque la ligne de données est dominante, c'est-à-dire commutée en situation de domination par le circuit logique. Si le programme du microcontrôleur demande la réception de données et que la ligne de données est en situation de soumission, le système passe alors de l'état de repos 7 à l'état de " Réception " 10, après quoi l'état de " Réception " est atteint après écoulement de la temporisation et lorsque la ligne de données est de nouveau en situation de soumission. La figure 4 illustre la détermination du mode de transmission 5'' dans le circuit logique en partant de nouveau d'un état de repos 14. En l'absence de demande et si le Signal de commande est valide, la ligne de données est amenée en situation de soumission à partir de cet état. Un état 15 qui signifie, pour le circuit logique, " réception ou émission " est alors atteint sur l'initiative du microcontrôleur. Si le Signal de commande est invalide et en présence de données dominantes, la ligne de données est basculée en situation de soumission à partir du microcontrôleur, après quoi ce dernier peut émettre et le circuit logique peut recevoir. Mais si la ligne de données se trouve en situation de soumission, une transmission de données peut alors avoir lieu du circuit logique vers le microcontrôleur. L'état de repos 14 peut également être abandonné en présence d'une demande de transmission de données émise par le circuit logique et si le Signal de commande est invalide. Le circuit logique fait alors basculer la ligne de données en situation de domination et passe dans un état 16 Demande I. Si le Signal de commande devient ensuite valide (sur commande du microcontrôleur), la ligne de données reste dominante. Un nouvel état 17 Demande II est atteint, à partir duquel la ligne de données bascule en situation de soumission après que le Signal de commande soit redevenu invalide et la transmission de données du -7 - circuit logique vers le microcontrôleur peut alors commencer (Réception). La transmission de données du microcontrôleur est représentée dans la figure 5. Après que le microcontrôleur 1 et le circuit logique 2 aient été préparés pour la transmission de données conformément aux figures 3 et 4, l'état 6' ou 6'' (figure 6) est atteint dans les deux composants. Lors d'une transmission de données vers le circuit logique, la ligne de données bascule sur les données de référence transmises et le Signal de commande devient valide après l'événement qui a fait passer le Signal de commande au niveau invalide. L'état 21 Transmission I est ainsi atteint, après quoi, après la transmission des données de référence (un bit ou un octet ou un autre groupe de bits), le Signal de commande redevient invalide. Un contrôle destiné à vérifier si toutes les données ont été transmises est effectué dans l'état 22 Transmission II. Si ce n'est pas le cas, les données de référence suivantes sont transmises en 21. Mais si toutes les données ont été transmises, la ligne de données prend la situation de soumission après l'état 22. La procédure est similaire dans le microcontrôleur avec les états 23 et 24 pour recevoir des données en provenance du circuit logique. La figure 6 représente les opérations correspondantes dans le circuit logique pour la transmission de données vers le circuit logique (états 25, 26 - Transmission I et Transmission II et états 27 et 28 pour la transmission en direction du microcontrôleur - Réception I et Réception II). - 8- REVENDICATIONS 1. Procédé d'échange de données entre un dispositif programmable, notamment un microcontrôleur, et un circuit logique, caractérisé en ce qu'un signal de commande est transmis du dispositif programmable vers le circuit logique à l'aide d'une première ligne et qu'au moins une deuxième ligne utilisable dans les deux sens est amenée en situation de domination par le circuit logique si une transmission de données doit avoir lieu du côté du circuit logique. 2. Procédé selon la revendication 1, caractérisé en ce que la transmission de données vers le circuit logique est libérée en cas de demande de transmission de données par le dispositif programmable lorsque l'au moins une deuxième ligne est en situation de soumission pendant une durée prédéfinie après un changement de niveau du signal de commande, qu'après écoulement de la durée prédéfinie l'au moins une deuxième ligne est amenée dans un état dominant par le dispositif programmable et qu'une transmission de données du dispositif programmable vers le circuit logique est amorcée par le changement d'état suivant du signal de commande. 3. Procédé selon la revendication 2, caractérisé en ce que l'au moins une deuxième ligne est basculée en situation de soumission par le dispositif programmable avant l'écoulement de la durée prédéfinie de manière à ce qu'une transmission de données soit possible du circuit logique vers le dispositif programmable. 4. Procédé selon l'une des revendications précédentes, caractérisé en ce qu'en cas de demande de réception provoquée par le programme dans le dispositif programmable et si l'au moins deuxième ligne est en situation de soumission, celle-ci reste en situation de soumission et le signal de commande prend le premier niveau, après quoi la durée prédéfinie commence. 5. Arrangement d'échange de données entre un dispositif programmable, notamment un microcontrôleur, et -9 - un circuit logique, caractérisé en ce qu'un signal de commande peut être transmis du dispositif programmable vers le circuit logique à l'aide d'une première ligne (3) et qu'au moins une deuxième ligne (4) utilisable dans les deux sens qui relie le dispositif programmable au circuit logique peut être amenée en situation de domination par le circuit logique si une transmission de données doit avoir lieu du côté du circuit logique. 6. Arrangement selon la revendication 5, caractérisé en ce que les programmes de transmission de données dans le dispositif programmable (1) et dans le circuit logique (2) sont configurés de manière à ce qu'en cas de demande de transmission de données de la part du dispositif programmable (1), la transmission de données vers le circuit logique (2) est libérée si l'au moins une deuxième ligne (4) est en situation de soumission pendant une durée prédéfinie après un changement de niveau du signal de commande, qu'après écoulement de la durée prédéfinie l'au moins une deuxième ligne est amenée dans un état dominant par le dispositif programmable et qu'une transmission de données du dispositif programmable (1) vers le circuit logique (2) est amorcée par le changement d'état suivant du signal de commande. 7. Arrangement selon la revendication 6, caractérisé en ce que les programmes sont également configurés de manière à ce que l'au moins une deuxième ligne (4) est basculée en situation de soumission par le dispositif programmable avant l'écoulement de la durée prédéfinie de manière à ce qu'une transmission de données soit possible du circuit logique (2) vers le dispositif programmable (1). 8. Arrangement selon l'une des revendications 5 à 7, caractérisé en ce que les programmes sont également configurés de manière à ce qu'en cas de demande de réception provoquée par le programme dans le dispositif programmable (1) et si l'au moins deuxième ligne (4) est en situation de soumission, celle-ci reste en situation de -10soumission et le signal de commande prend le premier niveau, après quoi la durée prédéfinie commence.