ENCICLOPEDIA DE RADIOELECTRÓNICA E INGENIERÍA ELÉCTRICA Convertidor USB-COM-LPT en un microcontrolador Enciclopedia de radioelectrónica e ingeniería eléctrica. / Компьютеры El artículo describe un convertidor simple que le permite conectar dispositivos periféricos equipados con una interfaz LPT a una computadora que solo tiene una interfaz USB. La conversión se lleva a cabo en dos etapas: un microcircuito especializado convierte USB a COM (RS-232) y luego el microcontrolador convierte COM a LPT. Dado que la computadora en este caso intercambia información a través de un puerto COM virtual, solo los programas desarrollados o modificados con esta característica en mente podrán interactuar a través del convertidor propuesto con un dispositivo LPT externo. Para todos los demás, deberá conectar un controlador de software especial al sistema operativo, que aún no se ha desarrollado. En un momento, se desarrollaron y fabricaron muchos dispositivos electrónicos y dispositivos conectados al puerto LPT de una computadora personal. Todavía existen hoy. Al mismo tiempo, los puertos LPT (así como los puertos COM, por cierto) en las computadoras están reemplazando gradualmente a la interfaz USB. Este proceso es especialmente rápido en ordenadores portátiles (notebook). Pero debido a su tamaño compacto y autonomía, es muy conveniente utilizar estas computadoras como herramientas portátiles para configurar varios equipos electrónicos, incluidos aquellos con una interfaz LPT. La eliminación de los puertos LPT en las computadoras hace que trabajar con dichos equipos sea problemático. Para solucionar este problema, se propone un conversor que utiliza componentes electrónicos económicos y asequibles y que tiene una arquitectura abierta para desarrollar sus propios programas. La presencia de un microcontrolador en él permite, si es necesario, desarrollar cualquier protocolo necesario para el intercambio de información entre una computadora y un dispositivo conectado a través del convertidor. La figura muestra el circuito convertidor. La información transmitida a través del conector X1 a través de la interfaz USB se convierte mediante el chip CP2103-GM [1] al formato de interfaz serie RS-232. También realiza la transformación inversa. Las salidas de las líneas de control de la interfaz RS-232 de este microcircuito están conectadas por puentes correspondientes a la preparación constante para el intercambio de información. Los pines TXD y RXD están conectados respectivamente a la entrada y salida de información del microcontrolador UART integrado ATmega8515-8AC [2]. El conector X2 está diseñado para la programación en circuito del microcontrolador. Trabajando de acuerdo con el programa, cuyos códigos de arranque se dan en la tabla, el microcontrolador procesa los comandos de la computadora recibidos en la entrada del UART incorporado. Ejecutándolos, genera las señales de salida del puerto LPT en sus salidas y los contactos del conector XXNUMX conectados a ellos y recibe las señales de entrada de este puerto. El programa está escrito en lenguaje C en el entorno de desarrollo de CodeVision. De acuerdo con el protocolo de intercambio de información desarrollado por el autor e integrado en el programa del microcontrolador, la computadora debe enviar comandos de dos o tres bytes al convertidor. El bit menos significativo del primer byte del comando especifica la dirección de transferencia de información: O - de la computadora al convertidor (registro); 1 - en la dirección opuesta (lectura). El siguiente bit define el espacio de direcciones: 0 - registro de puerto LPT; 1 - memoria de datos no volátil del microcontrolador. Los seis bits más significativos del primer byte aún no se utilizan. El segundo byte del comando contiene la dirección de un registro o ubicación de memoria, que puede estar en el rango 0-255. El tercer byte está presente solo en los comandos de escritura y contiene un código destinado a ser ingresado en un registro o celda de memoria. En respuesta a un comando de lectura de dos bytes, el convertidor envía un byte a la computadora: el contenido del registro solicitado o celda de memoria. El iniciador de la transferencia de información en cualquier dirección es siempre una computadora. La capacidad de leer y escribir información de la EEPROM del microcontrolador, aunque no se requiere para la aplicación en cuestión, es útil para el desarrollo y mejora de las funciones realizadas por el convertidor. Por ejemplo, para escribir el byte 0x01F en la EEPROM del microcontrolador en la dirección 0x5, la computadora debe enviar una secuencia de tres bytes a través del puerto COM virtual: 0x03, 0x01, 0x5F. Y para leer datos en la misma dirección, basta un comando de dos bytes: 0x02, 0x01. En respuesta, el convertidor enviará el byte leído desde la celda EEPROM especificada. Como sabes, desde el punto de vista del programador, el puerto LPT en modo de operación normal (no EPP o ECP) consta de tres registros: datos (DR), estado (SR) y control (CR). La dirección del registro DR es la misma que la dirección base del puerto, las direcciones de los registros SR y CR son mayores en una y dos unidades, respectivamente. Esta estructura del puerto LPT también se implementa en el dispositivo propuesto. La asignación de los dígitos de todos los registros también se conserva por completo. Esto le permite reciclar programas informáticos creados previamente para trabajar con el convertidor descrito a un costo mínimo. El programa incluye archivos de encabezado que describen los nombres de los registros del microcontrolador y las entradas de los valores binarios de los números utilizados para inicializar variables y otras operaciones. El programa configura la UART del microcontrolador para trabajar en modo asíncrono a una velocidad de 115200 baudios con ocho informaciones (sin paridad) y un bit de parada. El puerto COM virtual de la computadora debe configurarse de la misma manera. Hay rutinas para recibir (UART_RXD) y transmitir bytes (UART_TXD) a través de UART, así como rutinas para escribir (WRLPT) y leer RD_LPT de registros de puertos LPT y celdas de memoria no volátil (WR_EEPROM y RD_EEPROM). Para una máxima compatibilidad con LPT, se proporcionan máscaras de registro MaskSR y MaskCR. Cuando la información se envía a las líneas del puerto del microcontrolador conectadas al conector XXNUMX, o se ingresa desde estas líneas, ciertos bits de los registros SR y CR se invierten automáticamente utilizando las máscaras mencionadas y la operación lógica XOR (OR exclusivo). El texto fuente del programa se proporciona con un comentario detallado, lo que le permite comprenderlo sin mucha dificultad. Para garantizar el funcionamiento con el convertidor, es necesario instalar un controlador de software para un puerto COM virtual en la computadora, que garantiza el intercambio de información con el microcircuito CP2103. Este controlador está disponible gratuitamente en el sitio web del fabricante de estos chips en silabs.com/public/documents/software_doc/drivers/Microcontrollers/lnterface/en/CP210x_VCP_Win2K_XP_S2K3.exe. Para verificar el convertidor, puede usar una variedad de programas de prueba y depuración que le permiten trabajar con el puerto COM si no acceden directamente a los registros de este puerto, como se hacía habitualmente en DOS y Windows9X/Me. Dichas llamadas deben ser reemplazadas por las funciones de puerto (por ejemplo, CreateFile, Get-CommConfig, SetCommConfig, Read-Corn, WriteFile) proporcionadas por el sistema operativo. Después de encender el convertidor, el LED HL3 se enciende. Recibir el primer byte del comando lo extinguirá. Después de recibir el comando por completo y ejecutarlo, el LED se encenderá nuevamente, lo que significa que está listo para recibir el siguiente comando. Tal algoritmo es conveniente para monitorear el paso de comandos y el funcionamiento normal del convertidor. En caso de que el microcontrolador se congele, el programa utiliza un temporizador de vigilancia que reiniciará el microcontrolador cuando ocurra tal situación. Esto mejora la estabilidad del inversor incluso cuando funciona en un entorno de fuerte interferencia. Se puede descargar un conjunto completo de archivos de proyecto de programa de microcontrolador aquí. Literatura
Autor: O.Valpa, Miass, Región de Chelyabinsk; Publicación: radioradar.net Ver otros artículos sección Компьютеры. Lee y escribe útil comentarios sobre este artículo. Últimas noticias de ciencia y tecnología, nueva electrónica: Cuero artificial para emulación táctil.
15.04.2024 Arena para gatos Petgugu Global
15.04.2024 El atractivo de los hombres cariñosos.
14.04.2024
Otras noticias interesantes: ▪ Circuito integrado de controlador LED Marvell 88EM8189 ▪ El colgante protegerá de los delincuentes. ▪ Reinicio bioquímico del ojo: tratamiento de la ceguera ▪ Los explosivos mejorarán la seguridad de los coches eléctricos Feed de noticias de ciencia y tecnología, nueva electrónica
Materiales interesantes de la Biblioteca Técnica Libre: ▪ sección del sitio para el diseñador de radioaficionados. Selección de artículos ▪ artículo Trompeta de Jericó. expresión popular ▪ artículo Trabajo en máquinas enceradoras. Instrucción estándar sobre protección laboral
Deja tu comentario en este artículo: Todos los idiomas de esta página Hogar | Biblioteca | Artículos | Mapa del sitio | Revisiones del sitio www.diagrama.com.ua |