Bibliothèque technique gratuite ENCYCLOPÉDIE DE LA RADIOÉLECTRONIQUE ET DU GÉNIE ÉLECTRIQUE Convertisseur USB-COM-LPT sur un microcontrôleur Encyclopédie de l'électronique radio et de l'électrotechnique / ordinateurs L'article décrit un convertisseur simple qui vous permet de connecter des périphériques équipés d'une interface LPT à un ordinateur doté uniquement d'une interface USB. La conversion s'effectue en deux étapes - un microcircuit spécialisé convertit USB en COM (RS-232), puis le microcontrôleur convertit COM en LPT. Étant donné que l'ordinateur dans ce cas échange des informations via un port COM virtuel, seuls les programmes développés ou modifiés avec cette fonctionnalité à l'esprit pourront interagir avec un périphérique LPT externe via le convertisseur proposé. Pour tous les autres, vous devrez connecter un pilote logiciel spécial au système d'exploitation, qui reste à développer. À une certaine époque, de nombreux appareils électroniques et appareils connectés au port LPT d'un ordinateur personnel ont été développés et fabriqués. Ils existent encore aujourd'hui. Dans le même temps, les ports LPT (ainsi que les ports COM, d'ailleurs) des ordinateurs remplacent progressivement l'interface USB. Ce processus est particulièrement rapide dans les ordinateurs portables (notebook). Mais en raison de leur compacité et de leur autonomie, il est très pratique d'utiliser de tels ordinateurs comme outils portables pour configurer divers équipements électroniques, y compris ceux dotés d'une interface LPT. L'élimination des ports LPT dans les ordinateurs rend le travail avec de tels équipements problématique. Pour résoudre ce problème, il est proposé un convertisseur utilisant des composants électroniques peu coûteux et abordables et doté d'une architecture ouverte pour développer vos propres programmes. La présence d'un microcontrôleur dans celui-ci permet, si nécessaire, de développer tout protocole nécessaire à l'échange d'informations entre un ordinateur et un appareil connecté via le convertisseur. La figure montre le circuit du convertisseur. Les informations transmises via le connecteur X1 via l'interface USB sont converties à l'aide de la puce CP2103-GM [1] au format d'interface série RS-232. Il effectue également la transformation inverse. Les sorties des lignes de commande de l'interface RS-232 de ce microcircuit sont connectées par des cavaliers correspondant à la disponibilité constante pour l'échange d'informations. Les broches TXD et RXD sont connectées respectivement à l'entrée et à la sortie d'informations du microcontrôleur UART intégré ATmega8515-8AC [2]. Le connecteur X2 est destiné à la programmation en circuit du microcontrôleur. Fonctionnant selon le programme, dont les codes de démarrage sont indiqués dans le tableau, le microcontrôleur traite les commandes informatiques reçues à l'entrée de l'UART intégré. En les exécutant, il génère les signaux de sortie du port LPT sur ses sorties et les contacts du connecteur XXNUMX qui leur sont connectés et reçoit les signaux d'entrée de ce port. Le programme est écrit en langage C dans l'environnement de développement CodeVision. Selon le protocole d'échange d'informations développé par l'auteur et intégré au programme du microcontrôleur, l'ordinateur doit envoyer des commandes de deux ou trois octets au convertisseur. Le bit le moins significatif du premier octet de la commande spécifie le sens de transfert des informations : O - de l'ordinateur au convertisseur (enregistrement) ; 1 - dans le sens opposé (lecture). Le bit suivant définit l'espace d'adressage : 0 - registre de port LPT ; 1 - mémoire de données non volatile du microcontrôleur. Les six bits les plus significatifs du premier octet ne sont pas encore utilisés. Le deuxième octet de la commande contient l'adresse d'un registre ou d'un emplacement mémoire, qui peut être compris entre 0 et 255. Le troisième octet n'est présent que dans les commandes d'écriture et contient un code destiné à être inscrit dans un registre ou une cellule mémoire. En réponse à une commande de lecture de deux octets, le convertisseur envoie un octet à l'ordinateur - le contenu du registre ou de la cellule mémoire demandé. L'initiateur du transfert d'informations dans n'importe quelle direction est toujours un ordinateur. La capacité de lire et d'écrire des informations à partir de l'EEPROM du microcontrôleur, bien que non requise pour l'application en question, est utile pour le développement et l'amélioration des fonctions réalisées par le convertisseur. Par exemple, pour écrire l'octet 0x01F dans l'EEPROM du microcontrôleur à l'adresse 0x5, l'ordinateur doit envoyer une séquence de trois octets via le port COM virtuel : 0x03, 0x01, 0x5F. Et pour lire des données à la même adresse, une commande de deux octets suffit : 0x02, 0x01. En réponse, le convertisseur enverra l'octet lu dans la cellule EEPROM spécifiée. Comme vous le savez, du point de vue du programmeur, le port LPT en mode de fonctionnement normal (pas EPP ni ECP) se compose de trois registres: données (DR), état (SR) et contrôle (CR). L'adresse du registre DR est la même que l'adresse de base du port, les adresses des registres SR et CR sont plus grandes d'une et deux unités, respectivement. Cette structure du port LPT est également implémentée dans le dispositif proposé. L'affectation des bits de tous les registres est également totalement préservée. Cela vous permet de recycler des programmes informatiques créés précédemment pour travailler avec le convertisseur décrit à un coût minime. Le programme comprend des fichiers d'en-tête décrivant les noms des registres du microcontrôleur et des entrées de valeurs binaires de nombres utilisés pour initialiser des variables et d'autres opérations. Le programme configure l'UART du microcontrôleur pour qu'il fonctionne en mode asynchrone à une vitesse de 115200 bauds avec huit informations (sans parité) et un bit d'arrêt. Le port COM virtuel de l'ordinateur doit être configuré de la même manière. Il existe des routines pour recevoir (UART_RXD) et transmettre des octets (UART_TXD) via UART, ainsi que des routines pour écrire (WRLPT) et lire RD_LPT des registres de port LPT et des cellules de mémoire non volatiles (WR_EEPROM et RD_EEPROM). Pour une compatibilité maximale avec LPT, les masques de registre MaskSR et MaskCR sont fournis. Lorsque des informations sont émises vers les lignes des ports du microcontrôleur connectés au connecteur XXNUMX, ou qu'elles sont entrées à partir de ces lignes, certains bits des registres SR et CR sont automatiquement inversés à l'aide des masques mentionnés et de l'opération logique XOR (OU exclusif). Le texte source du programme est fourni avec un commentaire détaillé, ce qui vous permet de le comprendre sans trop de difficulté. Pour assurer le fonctionnement avec le convertisseur, il est nécessaire d'installer un pilote logiciel pour le port COM virtuel de l'ordinateur, qui assure l'échange d'informations avec la puce CP2103. Ce pilote est disponible gratuitement sur le site du fabricant de ces puces à l'adresse silabs.com/public/documents/software_doc/drivers/Microcontrollers/lnterface/en/CP210x_VCP_Win2K_XP_S2K3.exe. Pour vérifier le convertisseur, vous pouvez utiliser une variété de programmes de test et de débogage qui vous permettent de travailler avec le port COM s'ils n'accèdent pas directement aux registres de ce port, comme c'était généralement le cas sous DOS et Windows9X/Me. Ces appels doivent être remplacés par des fonctions de port (par exemple, CreateFile, Get-CommConfig, SetCommConfig, Read-Corn, WriteFile) fournies par le système d'exploitation. Une fois le convertisseur allumé, la LED HL3 s'allume. La réception du premier octet de la commande l'éteindra. Après avoir reçu la commande dans son intégralité et l'avoir exécutée, la LED s'allumera à nouveau, ce qui signifie qu'elle est prête à recevoir la commande suivante. Un tel algorithme est pratique pour surveiller le passage des commandes et le fonctionnement normal du convertisseur. Au cas où le microcontrôleur se fige, le programme utilise une minuterie de surveillance qui redémarre le microcontrôleur lorsqu'une telle situation se produit. Cela améliore la stabilité de l'onduleur même lorsqu'il fonctionne dans un environnement à fortes interférences. Un ensemble complet de fichiers de projet de programme de microcontrôleur peut être téléchargé ici. littérature
Auteur : O.Valpa, Miass, région de Tcheliabinsk ; Publication : radioradar.net Voir d'autres articles section ordinateurs. Lire et écrire utile commentaires sur cet article. Dernières nouvelles de la science et de la technologie, nouvelle électronique : Cuir artificiel pour émulation tactile
15.04.2024 Litière pour chat Petgugu Global
15.04.2024 L’attractivité des hommes attentionnés
14.04.2024
Autres nouvelles intéressantes : ▪ Circuit intégré pilote LED Marvell 88EM8189 ▪ Le pendentif protégera des criminels ▪ Redémarrage biochimique de l'œil : traiter la cécité ▪ Les explosifs amélioreront la sécurité des voitures électriques Fil d'actualité de la science et de la technologie, nouvelle électronique
Matériaux intéressants de la bibliothèque technique gratuite : ▪ section du site destinée au radioamateur-concepteur. Sélection d'articles ▪ article Trompette de Jéricho. Expression populaire ▪ article Travail sur machines à cirer. Instruction standard sur la protection du travail
Laissez votre commentaire sur cet article : Toutes les langues de cette page Page principale | bibliothèque | Articles | Plan du site | Avis sur le site www.diagramme.com.ua |