|
|
Lorsqu'une liaison doit être établie entre un ordinateur et un périphérique, on a le choix entre plusieurs modes de transmissions dont entre autres, une transmission parallèle et série. Le port parallèle d'un PC, généralement occupé par une imprimante bien que maintenant l'USB (Universal Serial Bus) devient très répandu du faite de sa vitesse de transmission, offre de nombreuses lignes numériques utilisables pour l'échange rapide de données. A la différence des ports séries, les ports parrallèles sont particulièrement fragiles. En effet, les entrées et les sorties des ports parallèles ne sont pas protégées contre les surcharges. Pour être connecter un périphérique, l'ordinateur doit être hors tension. Les entrées ne supportent que des tensions comprises entre 0V et 5V. L'utilisation du port série possède de nombreux avantages non négligeable : - les périphériques peuvent être connectés ou déconnectés sans risque alors que l'ordinateur est sous tension - les ports séries peuvent fournir un courant électrique suffisant (environ 10mA) pour alimenter des dispositifs élémentaires comme par exemple une diode électroluminescente. - les ports sont très bien protégés contre les maladresses.
Le port série, appelé également le port sériel ou "COM", d'un ordinateur permet la communication entre deux systèmes numériques. Le port série est utilisée dans tous les domaines de l'informatique permettant la liaison avec des périphériques tels qu'un modem ou une souris. Le port série utilise un connecteur DB9 (9 broches).
Afin que les éléments (un émetteur et un récepteur) qui communiquent ensemble puissent se comprendre, il est nécessaire d'établir un protocole de transmission. Ce protocole devra être le même pour les deux éléments afin que la transmission fonctionne correctement. Il existe de nombreux protocoles de transmission de données qui utilisent le port série dont le plus connus est le protocole RS232 qui est devenu un standard.
Ce protocole fixe aux différentes broches d'entrées et de sorties des fonctions particulières.
Toutefois, pour de petites applications, vous pouvez créer votre propre protocole de transmission.
Un protocole
de transmission se caractérise par différentes règles
qui doivent être respecter par l'émetteur et le récepteur
: Le bit de parité, s'il a été programmé, permet d'indiquer si la transmission s'est bien effectué. Cela évite les erreurs de tansmission et vérifie le bon fonctionnement du sytsème. La parité peut être paire ou impaire.
Dans la majorité des cas, pour de petites applications, qui n'utilisent donc pas le protocole RS232, seules les lignes TXD (broche 3) et RXD (broche 2) et masse (broche 5) seront utilisées.
Sous DOS, tous les langages de programmation proposés des instructions ("PORT[..]" pour Turbo Pascal) permettant de gèrer le port série. Ces instructions permettaient d'avoir un accès direct à l'ensemble du matériel d'un ordinateur. L'arrivée de Windows imposait aux programmeurs certaines limites matérielles. La première version de Delphi, pour Windows 3.1x, avait encore l'instruction "PORT[..]". Par contre, Windows 95 ainsi que Windows 98 n'offraient plus d'accès direct aux ports. Il fallait passer par des instructions en assembleur. Windows NT et également Windows XP a été conçu de façon à interdire tous les accès directs aux ports pour la sécurité. La seule façon d'y accèder et d'utiliser les routines du système d'exploitation. Pour utiliser le port série avec Delphi, il existe différents composants dont le plus connus est le composant TComPort. Ce composant est surtout utilisé car il gère le protocole RS232. Dans ce tutorial, pour communiquer avec le port série d'un ordinateur, nous utiliserons une librairie DLL.
Notre programme d'exemple a pour but de faire clignoter une DEL (diode electroluminescente, en anglais LED : Ligh Emiting Diode). Pour cela, il suffit de créer une holorge. Une horloge est un signal périodique (de manière successive dans le temps) passant d'un état haut à un état bas. On utilise la broche TXD, c'est à dire la broche 3.
Le courant de sortie est limité entre 10 à 20mA, il n'est pas nécessaire d'utiliser une résistance de tirage. Pour relier le montage à l'ordinateur, il existe plusieurs types de câble (mâle-femelle ou femelle-femelle). Veillez bien à relier les bonnes broches. Vous pouvez vous aider des deux schémas des connecteurs DB9 (voir ci-dessus). Ce petit montage électronique permet par exemple de vérifier si la connexion fonctionne correctement.
La librairie DLL (34 Ko) de Burkhard Kainka permet d'avoir un accès direct sur les différentes lignes du port série. Une librairie DLL est un fichier ("RSCOM.dll") qui comporte des fonctions et des procédures pouvant être appelées par le programme principale.
On peut schématiser le principe de fonctionnement du programme Delphi lorsqu'il communique avec le port série avec la librairie DLL comme ceci : - accès direct aux lignes du port série sans réaliser des masques - compatibilité avec Windows 95, 98, 2000, NT et XP Créez un nouveau projet. Enregsitrez les sources dans un répertoire et placez la DLL dans le même répertoire. Ajoutez deux composants TButton et un composant TTimer. Modifiez la propriété "Caption" du premier bouton en mettant "Connexion" et pour le deuxième bouton "Déconnexion". Mettez la propriété "Enabled" du Timer à "False". Le type de liaison effecutée est une liaison simplex, c'est à dire que le système A envoit des données alors que le système récupère les données (pour une liaison full-duplex, le système A et B peuvent tous les deux envoyer et recevoir des données). Dans le cas de notre programme, vous l'aurez compris, l'émetteur est l'ordinateur et le récépteur, la DEL. Lorsque vous utilisez une DLL en Delphi, vous devez importer dans votre programmes les procédures et fonctions exportés par la DLL pour pouvoir les utiliser.
Vous pouvez soit importer une par une les procédures et fonctions que vous avez besoin ou soit ajouter le fichier "RSCOMdec.pas" dans la partie "Uses".
Configuration du port Un ordinateur possède souvent deux ports séries (COM1 et COM2) pour communiquer avec d'autres périphériques. La première étape est donc de configurer la connexion à l'aide de la fonction "OpenCOM" et de choisir le port que l'on veut utiliser.
La fonction "OpenCOM" permet de paramètrer la connexion en choisissant le port de l'ordinateur utilisé, la vitesse de transmission, le choix de la parité, le nombre de données et le nombre de bits de stop. Si vous souhaitez utiliser le deuxième port série, il suffit de remplacer "COM1" par "COM2". Réalisation de l'horloge
Vous pouvez modifier la propriété "Interval" du composant TTimer pour accèlérer ou ralentir le temps de clignotement de la DEL. Par exemple, j'ai mis cette propriété à "500", ce qui correspond à 500ms. Déconnexion Pour se déconnecter, il faut désactiver le timer pour arrêter l'envoi de "0" et de "1". Puis on envoit un "0" à TXD. Ceci permet d'allumer la DEL. Pour finir, on utilise la procédure "CloseCOM" pour libérer le port.
|
Tous droits réservés - Contacts |