ENCICLOPEDIA DELLA RADIOELETTRONICA ED ELETTRICA Convertitore USB-COM-LPT su microcontrollore Enciclopedia della radioelettronica e dell'elettrotecnica / Компьютеры L'articolo descrive un semplice convertitore che consente di collegare dispositivi periferici dotati di interfaccia LPT a un computer che dispone solo di un'interfaccia USB. La conversione viene eseguita in due fasi: un microcircuito specializzato converte USB in COM (RS-232), quindi il microcontrollore converte COM in LPT. Poiché il computer in questo caso scambia informazioni attraverso una porta COM virtuale, solo i programmi sviluppati o modificati tenendo presente questa caratteristica potranno interagire tramite il convertitore proposto con un dispositivo LPT esterno. Per tutti gli altri, dovrai collegare uno speciale driver software al sistema operativo, che deve ancora essere sviluppato. Un tempo venivano sviluppati e prodotti molti dispositivi elettronici e dispositivi collegati alla porta LPT di un personal computer. Esistono ancora oggi. Allo stesso tempo, le porte LPT (così come le porte COM, tra l'altro) nei computer stanno gradualmente sostituendo l'interfaccia USB. Questo processo è particolarmente veloce nei computer portatili (notebook). Ma grazie alla loro compattezza e autonomia, è molto conveniente utilizzare tali computer come strumenti portatili per configurare varie apparecchiature elettroniche, comprese quelle con interfaccia LPT. L'eliminazione delle porte LPT nei computer rende problematico il lavoro con tali apparecchiature. Per risolvere questo problema, viene proposto un convertitore che utilizza componenti elettronici economici e convenienti e ha un'architettura aperta per lo sviluppo dei propri programmi. La presenza di un microcontrollore al suo interno consente, se necessario, di sviluppare qualsiasi protocollo necessario per lo scambio di informazioni tra un computer e un dispositivo collegato tramite il convertitore. La figura mostra il circuito del convertitore. Le informazioni trasmesse attraverso il connettore X1 tramite l'interfaccia USB vengono convertite utilizzando il chip CP2103-GM [1] nel formato dell'interfaccia seriale RS-232. Esegue anche la trasformazione inversa. Le uscite delle linee di controllo dell'interfaccia RS-232 di questo microcircuito sono collegate da ponticelli corrispondenti alla costante disponibilità allo scambio di informazioni. I pin TXD e RXD sono collegati rispettivamente all'ingresso e all'uscita delle informazioni del microcontrollore UART integrato ATmega8515-8AC [2]. Il connettore X2 è destinato alla programmazione in circuito del microcontrollore. Lavorando secondo il programma, i cui codici di avvio sono riportati nella tabella, il microcontrollore elabora i comandi del computer ricevuti all'ingresso dell'UART integrato. Eseguendoli, genera i segnali di uscita della porta LPT sulle sue uscite e i contatti del connettore XXNUMX ad esse collegato e riceve i segnali di ingresso di questa porta. Il programma è scritto in linguaggio C nell'ambiente di sviluppo CodeVision. Secondo il protocollo di scambio di informazioni sviluppato dall'autore e incorporato nel programma del microcontrollore, il computer deve inviare comandi a due o tre byte al convertitore. Il bit meno significativo del primo byte del comando specifica la direzione di trasferimento delle informazioni: O - dal computer al convertitore (record); 1 - nella direzione opposta (lettura). Il bit successivo definisce lo spazio degli indirizzi: 0 - registro della porta LPT; 1 - memoria dati non volatile del microcontrollore. I sei bit più significativi del primo byte non sono ancora utilizzati. Il secondo byte del comando contiene l'indirizzo di un registro o di una locazione di memoria, che può essere compreso tra 0 e 255. Il terzo byte è presente solo nei comandi di scrittura e contiene un codice destinato ad essere inserito in un registro o in una cella di memoria. In risposta a un comando di lettura a due byte, il convertitore invia un byte al computer: il contenuto del registro richiesto o della cella di memoria. L'iniziatore del trasferimento di informazioni in qualsiasi direzione è sempre un computer. La capacità di leggere e scrivere informazioni dalla EEPROM del microcontrollore, sebbene non richiesta per l'applicazione in questione, è utile per lo sviluppo e il miglioramento delle funzioni svolte dal convertitore. Ad esempio, per scrivere il byte 0x01F nella EEPROM del microcontrollore all'indirizzo 0x5, il computer deve inviare una sequenza di tre byte tramite la porta COM virtuale: 0x03, 0x01, 0x5F. E per leggere i dati allo stesso indirizzo basta un comando di due byte: 0x02, 0x01. In risposta ad esso, il convertitore invierà il byte letto dalla cella EEPROM specificata. Come sapete, dal punto di vista del programmatore, la porta LPT nella modalità di funzionamento normale (non EPP o ECP) è composta da tre registri: dati (DR), stato (SR) e controllo (CR). L'indirizzo del registro DR è lo stesso dell'indirizzo base della porta, gli indirizzi dei registri SR e CR sono rispettivamente maggiori di una e due unità. Questa struttura della porta LPT è implementata anche nel dispositivo proposto. Anche l'assegnazione dei bit di tutti i registri è completamente preservata. Ciò consente di riciclare i programmi per computer creati in precedenza per funzionare con il convertitore descritto a un costo minimo. Il programma include file di intestazione che descrivono i nomi dei registri del microcontrollore e le voci di valori binari di numeri utilizzati per inizializzare variabili e altre operazioni. Il programma configura l'UART del microcontrollore per funzionare in modalità asincrona a una velocità di 115200 baud con otto informazioni (nessuna parità) e un bit di stop. La porta COM virtuale del computer deve essere configurata allo stesso modo. Esistono routine per la ricezione (UART_RXD) e la trasmissione di byte (UART_TXD) tramite UART, nonché routine per la scrittura (WRLPT) e la lettura RD_LPT dei registri delle porte LPT e delle celle di memoria non volatile (WR_EEPROM e RD_EEPROM). Per la massima compatibilità con LPT, vengono fornite le maschere di registro MaskSR e MaskCR. Quando l'informazione viene trasmessa alle linee di porta del microcontrollore collegate al connettore XXNUMX, o viene immessa da queste linee, alcuni bit dei registri SR e CR vengono automaticamente invertiti utilizzando le suddette maschere e l'operazione logica XOR (OR esclusivo). Il testo sorgente del programma è provvisto di un commento dettagliato, che permette di comprenderlo senza troppe difficoltà. Per garantire il funzionamento con il convertitore, è necessario installare nel computer un driver software per la porta COM virtuale, che assicuri lo scambio di informazioni con il chip CP2103. Questo driver è disponibile gratuitamente sul sito Web del produttore di questi chip all'indirizzo silabs.com/public/documents/software_doc/drivers/Microcontrollers /lnterface/en/CP210x_VCP_Win2K_XP_S2K3.exe. Per controllare il convertitore, puoi utilizzare una varietà di programmi di test e debug che ti consentono di lavorare con la porta COM se non accedono direttamente ai registri di questa porta, come di solito si faceva in DOS e Windows9X/Me. Tali chiamate dovrebbero essere sostituite con funzioni di porta (ad esempio, CreateFile, Get-CommConfig, SetCommConfig, Read-Corn, WriteFile) fornite dal sistema operativo. Dopo aver acceso il convertitore, il LED HL3 si accende. La ricezione del primo byte del comando lo estinguerà. Dopo aver ricevuto il comando per intero ed averlo eseguito, il LED si riaccenderà, il che significa che è pronto per ricevere il comando successivo. Tale algoritmo è conveniente per monitorare il passaggio dei comandi e il normale funzionamento del convertitore. Nel caso in cui il microcontrollore si blocchi, il programma utilizza un timer watchdog che riavvierà il microcontrollore quando si verifica una situazione del genere. Ciò migliora la stabilità dell'inverter anche durante il funzionamento in un ambiente con forti interferenze. È possibile scaricare un set completo di file di progetto del programma del microcontrollore qui. Letteratura
Autore: O.Valpa, Miass, regione di Chelyabinsk; Pubblicazione: radioradar.net Vedi altri articoli sezione Компьютеры. Leggere e scrivere utile commenti su questo articolo. Ultime notizie di scienza e tecnologia, nuova elettronica: Macchina per diradare i fiori nei giardini
02.05.2024 Microscopio infrarosso avanzato
02.05.2024 Trappola d'aria per insetti
01.05.2024
Altre notizie interessanti: ▪ Tracce di eruzioni islandesi ▪ Isolamento acustico dal metamateriale ▪ Tablet Onda V972 con display Retina da 9,7". News feed di scienza e tecnologia, nuova elettronica
Materiali interessanti della Biblioteca Tecnica Libera: ▪ sezione del sito Le tue storie. Selezione dell'articolo ▪ articolo Quali cinesi sono matriarcali e vivono senza famiglie tradizionali? Risposta dettagliata ▪ pulitore di articoli. Descrizione del lavoro ▪ articolo Finitura finale di prodotti idraulici. Ricette e consigli semplici
Lascia il tuo commento su questo articolo: Tutte le lingue di questa pagina Homepage | Biblioteca | Articoli | Mappa del sito | Recensioni del sito www.diagram.com.ua |