Kostenlose technische Bibliothek ENZYKLOPÄDIE DER FUNKELEKTRONIK UND ELEKTROTECHNIK USB-COM-LPT-Konverter auf einem Mikrocontroller Lexikon der Funkelektronik und Elektrotechnik / Computer Der Artikel beschreibt einen einfachen Konverter, mit dem Sie Peripheriegeräte, die mit einer LPT-Schnittstelle ausgestattet sind, an einen Computer anschließen können, der nur über eine USB-Schnittstelle verfügt. Die Konvertierung erfolgt in zwei Schritten - eine spezielle Mikroschaltung konvertiert USB in COM (RS-232), und dann konvertiert der Mikrocontroller COM in LPT. Da der Computer in diesem Fall Informationen über einen virtuellen COM-Port austauscht, können nur Programme, die unter Berücksichtigung dieser Funktion entwickelt oder modifiziert wurden, über den vorgeschlagenen Konverter mit einem externen LPT-Gerät interagieren. Für alle anderen müssen Sie einen speziellen Softwaretreiber mit dem Betriebssystem verbinden, der noch entwickelt werden muss. Zu einer Zeit wurden viele elektronische Geräte und Geräte entwickelt und hergestellt, die mit dem LPT-Port eines Personalcomputers verbunden waren. Sie existieren noch heute. Gleichzeitig ersetzen LPT-Ports (übrigens auch COM-Ports) in Computern nach und nach die USB-Schnittstelle. Besonders schnell ist dieser Vorgang bei tragbaren Computern (Notebook). Aufgrund ihrer Kompaktheit und Autonomie ist es jedoch sehr bequem, solche Computer als tragbare Werkzeuge zum Einrichten verschiedener elektronischer Geräte, einschließlich solcher mit einer LPT-Schnittstelle, zu verwenden. Der Wegfall von LPT-Anschlüssen in Computern macht die Arbeit mit solchen Geräten problematisch. Um dieses Problem zu lösen, wird ein Konverter vorgeschlagen, der preiswerte und erschwingliche elektronische Komponenten verwendet und eine offene Architektur zum Entwickeln eigener Programme hat. Das Vorhandensein eines Mikrocontrollers ermöglicht es, falls erforderlich, jedes notwendige Protokoll für den Informationsaustausch zwischen einem Computer und einem über den Konverter angeschlossenen Gerät zu entwickeln. Die Abbildung zeigt die Umrichterschaltung. Die über den X1-Anschluss über die USB-Schnittstelle übertragenen Informationen werden mit dem CP2103-GM-Chip [1] in das serielle RS-232-Schnittstellenformat konvertiert. Es führt auch die Rücktransformation durch. Die Ausgänge der Steuerleitungen der RS-232-Schnittstelle dieser Mikroschaltung sind durch Jumper verbunden, die der ständigen Bereitschaft zum Informationsaustausch entsprechen. Die TXD- und RXD-Pins sind jeweils mit dem Informationseingang und -ausgang des eingebauten UART-Mikrocontrollers ATmega8515-8AC [2] verbunden. Stecker X2 ist für die In-Circuit-Programmierung des Mikrocontrollers vorgesehen. Der Mikrocontroller arbeitet gemäß dem Programm, dessen Bootcodes in der Tabelle angegeben sind, und verarbeitet die am Eingang des eingebauten UART empfangenen Computerbefehle. Dabei erzeugt er an seinen Ausgängen und den damit verbundenen Kontakten des XXNUMX-Steckers die Ausgangssignale des LPT-Ports und empfängt die Eingangssignale dieses Ports. Das Programm ist in der Programmiersprache C in der Entwicklungsumgebung CodeVision geschrieben. Gemäß dem vom Autor entwickelten und in das Mikrocontrollerprogramm eingebetteten Informationsaustauschprotokoll muss der Computer Zwei- oder Drei-Byte-Befehle an den Konverter senden. Das niedrigstwertige Bit des ersten Bytes des Befehls gibt die Richtung der Informationsübertragung an: O - vom Computer zum Konverter (Record); 1 - in die entgegengesetzte Richtung (Lesen). Das nächste Bit definiert den Adressraum: 0 – LPT-Anschlussregister; 1 - nichtflüchtiger Datenspeicher des Mikrocontrollers. Die sechs höchstwertigen Bits des ersten Bytes werden noch nicht verwendet. Das zweite Byte des Befehls enthält die Adresse eines Registers oder Speicherplatzes, die im Bereich 0-255 liegen kann. Das dritte Byte ist nur in Schreibbefehlen vorhanden und enthält einen Code, der dazu bestimmt ist, in ein Register oder eine Speicherzelle eingegeben zu werden. Als Antwort auf einen Zwei-Byte-Lesebefehl sendet der Konverter ein Byte an den Computer - den Inhalt des angeforderten Registers oder der Speicherzelle. Initiator der Informationsübertragung in alle Richtungen ist immer ein Computer. Die Fähigkeit, Informationen aus dem EEPROM des Mikrocontrollers zu lesen und zu schreiben, ist zwar für die betreffende Anwendung nicht erforderlich, aber für die Entwicklung und Verbesserung der vom Konverter ausgeführten Funktionen nützlich. Um beispielsweise Byte 0x01F in das EEPROM des Mikrocontrollers an Adresse 0x5 zu schreiben, muss der Computer eine Folge von drei Bytes über den virtuellen COM-Port senden: 0x03, 0x01, 0x5F. Und um Daten an derselben Adresse zu lesen, reicht ein Befehl von zwei Bytes: 0x02, 0x01. Als Antwort darauf sendet der Konverter das aus der angegebenen EEPROM-Zelle gelesene Byte. Wie Sie wissen, besteht der LPT-Port aus Sicht des Programmierers im normalen Betriebsmodus (nicht EPP oder ECP) aus drei Registern: Daten (DR), Status (SR) und Steuerung (CR). Die Adresse des DR-Registers ist dieselbe wie die Basisadresse des Ports, die Adressen der SR- und CR-Register sind um eine bzw. zwei Einheiten größer. Diese Struktur des LPT-Ports ist auch in der vorgeschlagenen Vorrichtung implementiert. Auch die Belegung der Bits aller Register bleibt vollständig erhalten. Auf diese Weise können Sie zuvor erstellte Computerprogramme für die Arbeit mit dem beschriebenen Konverter zu minimalen Kosten recyceln. Das Programm enthält Header-Dateien, die die Namen von Mikrocontroller-Registern und Einträgen von Binärwerten von Zahlen beschreiben, die zum Initialisieren von Variablen und anderen Operationen verwendet werden. Das Programm konfiguriert den UART des Mikrocontrollers so, dass er im asynchronen Modus mit einer Geschwindigkeit von 115200 Baud mit acht Informationen (keine Parität) und einem Stoppbit arbeitet. Der virtuelle COM-Port des Computers muss auf die gleiche Weise konfiguriert werden. Es gibt Routinen zum Empfangen (UART_RXD) und Senden von Bytes (UART_TXD) über UART sowie Routinen zum Schreiben (WRLPT) und Lesen von RD_LPT von LPT-Portregistern und nichtflüchtigen Speicherzellen (WR_EEPROM und RD_EEPROM). Für maximale Kompatibilität mit LPT werden die Registermasken MaskSR und MaskCR bereitgestellt. Wenn Informationen an die mit dem XXNUMX-Anschluss verbundenen Mikrocontroller-Portleitungen ausgegeben oder von diesen Leitungen eingegeben werden, werden bestimmte Bits der SR- und CR-Register automatisch unter Verwendung der erwähnten Masken und der logischen XOR-Operation (exklusives ODER) invertiert. Der Quelltext des Programms ist mit einem ausführlichen Kommentar versehen, so dass Sie es ohne große Schwierigkeiten verstehen können. Um den Betrieb mit dem Konverter sicherzustellen, ist es notwendig, einen Softwaretreiber für den virtuellen COM-Port im Computer zu installieren, der den Informationsaustausch mit dem CP2103-Chip gewährleistet. Dieser Treiber ist auf der Website des Herstellers dieser Chips unter silabs.com/public/documents/software_doc/drivers/Microcontrollers /lnterface/en/CP210x_VCP_Win2K_XP_S2K3.exe frei verfügbar. Um den Konverter zu überprüfen, können Sie verschiedene Test- und Debug-Programme verwenden, die es Ihnen ermöglichen, mit dem COM-Port zu arbeiten, wenn sie nicht direkt auf die Register dieses Ports zugreifen, wie dies normalerweise in DOS und Windows9X/Me der Fall war. Solche Aufrufe sollten durch vom Betriebssystem bereitgestellte Portfunktionen (z. B. CreateFile, Get-CommConfig, SetCommConfig, Read-Corn, WriteFile) ersetzt werden. Nach dem Einschalten des Konverters leuchtet die HL3-LED. Der Empfang des ersten Bytes des Befehls löscht ihn. Nachdem der Befehl vollständig empfangen und ausgeführt wurde, leuchtet die LED wieder auf, was bedeutet, dass er bereit ist, den nächsten Befehl zu empfangen. Ein solcher Algorithmus eignet sich zum Überwachen des Durchgangs von Befehlen und des normalen Betriebs des Konverters. Falls der Mikrocontroller einfriert, verwendet das Programm einen Watchdog-Timer, der den Mikrocontroller neu startet, wenn eine solche Situation eintritt. Dadurch wird die Stabilität des Wechselrichters auch beim Betrieb in stark gestörter Umgebung verbessert. Ein vollständiger Satz von Mikrocontroller-Programmprojektdateien kann heruntergeladen werden hier. Literatur
Autor: O. Valpa, Miass, Oblast Tscheljabinsk; Veröffentlichung: radioradar.net Siehe andere Artikel Abschnitt Computer. Lesen und Schreiben nützlich Kommentare zu diesem Artikel. Neueste Nachrichten aus Wissenschaft und Technik, neue Elektronik: Kunstleder zur Touch-Emulation
15.04.2024 Petgugu Global Katzenstreu
15.04.2024 Die Attraktivität fürsorglicher Männer
14.04.2024
Weitere interessante Neuigkeiten: ▪ Taschenkamera Sony HDR-GW66VE für Extremsport ▪ Aktualisierte NFC-Spezifikation ▪ Acer Nitro V 16 Gaming-Laptop ▪ Fallschutz für Ihr Smartphone News-Feed von Wissenschaft und Technologie, neue Elektronik
Interessante Materialien der Freien Technischen Bibliothek: ▪ Website-Abschnitt Leistungsverstärker. Artikelauswahl ▪ Artikel Release Presse. Zeichnung, Beschreibung ▪ Artikel Ist es möglich, einen Menschen gegen seinen Willen zu hypnotisieren? Ausführliche Antwort ▪ Artikel Inspektor der Militärregistrierungsstelle der Stadtverwaltung. Jobbeschreibung ▪ Artikel Valkoder - von der Maus. Enzyklopädie der Funkelektronik und Elektrotechnik
Hinterlasse deinen Kommentar zu diesem Artikel: Alle Sprachen dieser Seite Startseite | Bibliothek | Artikel | Sitemap | Site-Überprüfungen www.diagramm.com.ua |