Descripción general del puerto serial Introducción Para muchas aplicaciones de puerto serie, puede comunicarse con su dispositivo sin conocimiento detallado de cómo funciona el puerto serie. Si su aplicación es sencilla, o si ya está familiarizado con los temas mencionados anteriormente, es posible que desee comenzar con para ver cómo utilizar el dispositivo de puerto serie con software. La sesión Serial Port MATLAB® ¿Qué es la comunicación serial? La comunicación serial es el protocolo de bajo nivel más común para la comunicación entre dos o más dispositivos. Normalmente, un dispositivo es una computadora, mientras que el otro dispositivo puede ser un módem, una impresora, otro ordenador o un instrumento científico como un osciloscopio o un generador de funciones. Como su nombre indica, el puerto serial envía y recibe bytes de información de forma serial, un bit a la vez. Estos bytes se transmiten utilizando un formato binario (numérico) o un formato de texto. El serial Port interface Standard La interfaz de puerto serie para conectar dos dispositivos está especificada por el estándar TIA/EIA-232C publicado por la Asociación de la industria de telecomunicaciones. El estándar de interfaz de puerto serie original fue dado por RS-232, que representa el número estándar recomendado 232. El término todavía está en uso popular, y se utiliza en esta guía cuando se hace referencia a un puerto de comunicación serial que sigue el estándar TIA/EIA-232.RS-232 RS-232 define estas características de puerto serie: La velocidad máxima de transferencia de bits y la longitud del cable Los nombres, las características eléctricas y las funciones de las señales Las conexiones mecánicas y las asignaciones de pines La comunicación primaria se realiza utilizando tres pines: el PIN de transmisión de datos, el PIN de datos de recepción y el PIN de tierra. Otros pines están disponibles para el control de flujo de datos, pero no son obligatorios. Otros estándares como RS-485 definen funciones adicionales como velocidades de transferencia de bits más altas, longitudes de cable más largas y conexiones a hasta 256 dispositivos. Conexión de dos dispositivos con un cable serial El estándar RS-232 define los dos dispositivos conectados con un cable serial como el equipo de terminal de datos (DTE) y el equipo de terminación de circuito de datos (DCE). Esta terminología refleja el origen RS-232 como un estándar para la comunicación entre un terminal de ordenador y un módem. A lo largo de esta guía, su computadora se considera un DTE, mientras que los dispositivos periféricos tales como módems e impresoras se consideran DCEs. Muchos instrumentos científicos funcionan como DTEs. Porque el RS-232 implica principalmente conectar un DTE con un DCE, las asignaciones del PIN se definen tales que se utiliza el cableado recto, donde el pin 1 está conectado con el pin 1, el pin 2 está conectado con el pin 2, y así sucesivamente. El siguiente diagrama muestra una conexión serial DTE a DCE mediante el PIN de transmisión de datos (TD) y el PIN de datos de recepción (RD). Para obtener más información sobre los pines de puerto serie, consulte. Señales de puerto serie y asignaciones de pines Si usted conecta dos DTEs o dos DCEs usando un cable serial recto, los pines TD en cada dispositivo están conectados el uno al otro, y los pines RD en cada dispositivo están conectados el uno al otro. Por lo tanto, para conectar dos dispositivos como, debe utilizar un cable. módem nulo Como se muestra en el diagrama siguiente, los cables del módem nulo cruzan las líneas de transmisión y recepción en el cable. Nota Puede conectar varios dispositivos RS-422 o RS-485 a un puerto serie. Si tiene un adaptador RS-232/RS-485, puede utilizar el objeto de puerto serie con estos dispositivos. MATLAB Señales de puerto serie y asignaciones de pines Los puertos seriales constan de dos tipos de señal: señales de datos y señales de control. Para soportar estos tipos de señal, así como el suelo de la señal, el estándar RS-232 define una conexión de 25 pines. Sin embargo, la mayoría y las plataformas utilizan una conexión de 9 pines. Windows® UNIX® De hecho, sólo se requieren tres pines para las comunicaciones de puerto serie: uno para recibir datos, uno para transmitir datos y otro para el terreno de la señal. El siguiente diagrama muestra el esquema de asignación de pines para un conector macho de 9 pines en un DTE. Los pines y las señales asociadas con el conector de 9 pines se describen en la siguiente tabla. Consulte el estándar RS-232 para obtener una descripción de las señales y las asignaciones de pines utilizadas para un conector de 25 pines. Asignación de PIN y señal de puerto serie anclar Etiqueta Nombre de la señal 1 Cd Carrier detect 2 Rd Datos recibidos 3 Td Datos transmitidos 4 Dtr Terminal de datos Ready 5 Gnd Señal de tierra 6 Dsr Conjunto de datos listo 7 Rts Solicitud para enviar 8 Cts Borrar para enviar 9 Ri Indicador de anillo El término es sinónimo de o, mientras que el término es sinónimo de. Conjunto de datos Módem Dispositivo terminal de datos Computadora Nota El PIN del puerto serial y las asignaciones de señal son con respecto al DTE. Por ejemplo, los datos se transmiten del PIN TD del DTE al pin RD del DCE. Estados de señal Las señales pueden estar en un estado o en un estado. ActivoInactivo Un estado activo corresponde al valor binario 1, mientras que un estado inactivo corresponde al valor binario 0. Un estado de la señal activa se describe a menudo como,,, o a.Logic 1EnVerdadMarca Un estado de la señal inactiva se describe a menudo como,,, o a. lógica 0fueraFalsoEspacio Para las señales de datos, el estado ocurre cuando el voltaje de la señal recibida es más negativo que-3 voltios, mientras que el estado ocurre para los voltajes más positivos que 3 voltios.Enfuera Para las señales de control, el estado ocurre cuando el voltaje de la señal recibida es más positivo que 3 voltios, mientras que el estado ocurre para los voltajes más negativos que-3 voltios.Enfuera La tensión entre-3 voltios y + 3 voltios se considera una región de transición, y el estado de la señal es indefinido. Para llevar la señal al estado, el dispositivo de control (o) el valor de los pines de datos y (o) el valor de los pines de control.Enno afirmaBajaAfirmaPlantea Por el contrario, para llevar la señal al estado, el dispositivo de control valida el valor de los pines de datos y desvalida el valor de los pines de control.fuera El siguiente diagrama muestra los Estados para una señal de datos y para una señal de control.Enfuera Los pines de datos La mayoría de los dispositivos de puerto serie admiten la comunicación, lo que significa que pueden enviar y recibir datos al mismo tiempo.Full-duplex Por lo tanto, los pines separados se utilizan para transmitir y recibir datos. Para estos dispositivos, se utilizan los pines TD, RD y GND. Sin embargo, algunos tipos de dispositivos de puerto serie admiten solo unidireccional o comunicaciones.Half-duplex Para estos dispositivos, sólo se utilizan los pines TD y GND. Esta guía asume que un puerto serial de dúplex completo está conectado con su dispositivo. El PIN TD transporta los datos transmitidos por un DTE a un DCE. El PIN de RD transporta datos recibidos por un DTE desde un DCE. Los pines de control Los pines de control de un puerto serie de 9 pines se utilizan para determinar la presencia de dispositivos conectados y controlar el flujo de datos. Los pines de control incluyen Los pines RTS y CTS Los pines DTR y DSR Los pines de CD y RI Los pines RTS y CTS. Los pines RTS y CTS se utilizan para indicar si los dispositivos están listos para enviar o recibir datos. Este tipo de control de flujo de datos, llamado, se utiliza para evitar la pérdida de datos durante la transmisión.apretones de hardware Cuando está habilitado para el DTE y el DCE, los apretones de hardware usando RTS y CTS siguen estos pasos: 1. El DTE valida el PIN RTS para indicar el DCE que está listo para recibir los datos. 2. El DCE valida el PIN CTS indicando que está claro enviar los datos sobre el PIN TD. Si los datos ya no se pueden enviar, el PIN CTS no se afirma. 3. Los datos se transmiten al DTE sobre el PIN TD. Si los datos no pueden ser aceptados más, el PIN RTS no es afirmado por el DTE y la transmisión de datos se detiene. Para habilitar el hardware de apretón de manos en el software, ver.MATLABControl del flujo de datos: apretón de manos Los pines DTR y DSR. Muchos dispositivos utilizan los pines DSR y DTR para indicar si están conectados y encendidos. La señalización de la presencia de dispositivos conectados mediante DTR y DSR sigue estos pasos: 1. El DTE valida el PIN DTR para solicitar que el DCE se conecte a la línea de comunicación. 2. El DCE valida el PIN DSR para indicar que está conectado. 3. DCE desvalida el PIN DSR cuando se desconecta de la línea de comunicación. Las líneas DTR/DSR tienen múltiples finalidades en función de la aplicación. Por ejemplo, estas líneas se pueden utilizar para agitar las manos, controlar el flujo o incluso suministrar energía a la unidad. Sin embargo las líneas RTS/CTS se utilizan sobre todo para el control de flujo de datos entre el host y el dispositivo. Consulte la documentación del dispositivo para determinar su comportamiento específico del PIN. Los pines de CD y RI. Los pines del CD y del RI se utilizan típicamente para indicar la presencia de ciertas señales durante las conexiones del módem-módem. Un módem utiliza un PIN de CD para indicar que ha realizado una conexión con otro módem o que ha detectado un tono de portadora. El CD se afirma cuando el DCE está recibiendo una señal de una frecuencia adecuada. CD no se afirma si el DCE no está recibiendo una señal adecuada. El PIN RI se utiliza para indicar la presencia de una señal de timbre audible. El RI se afirma cuando el DCE está recibiendo una señal de timbre. El RI es sin afirmar cuando el DCE no está recibiendo una señal de timbre (por ejemplo, es entre los anillos). Serial Data Format El formato de datos en serie incluye un bit de inicio, entre cinco y ocho bits de datos, y un bit de parada. También se puede incluir un bit de paridad y un bit de parada adicional en el formato. El siguiente diagrama ilustra el formato de datos en serie. La notación siguiente expresa el formato de los datos de puerto serie: number of data bits - parity type - number of stop bits Por ejemplo, 8-N-1 se interpreta como ocho bits de datos, sin bit de paridad y un bit de parada, mientras que 7-E-2 se interpreta como siete bits de datos, paridad par, y dos bits de detención. Los bits de datos se denominan a menudo como un porque estos bits suelen representar un carácter ASCII.Carácter Se llama a los bits restantes porque enmarcan los bits de datos.bits de encuadre Bytes versus valores A es la colección de bits que componen el formato de datos en serie.Byte Al principio, este término puede parecer impreciso porque un byte es 8 bits y el formato de datos en serie puede oscilar entre 7 bits y 12 bits. Sin embargo, cuando los datos en serie se almacenan en el equipo, los bits de trama se eliminan y solo se conservan los bits de datos. Por otra parte, ocho bits de datos se utilizan siempre sin importar el número de bits de datos especificados para la transmisión, con los bits no utilizados asignados un valor de 0. Al leer o escribir datos, es posible que deba especificar un, que puede constar de uno o más bytes.Valor Por ejemplo, si lee un valor de un dispositivo con el formato, ese valor consta de cuatro bytes.int32 Para obtener más información sobre cómo leer y escribir valores, vea.Escribir y leer datos La comunicación sincrónica y asincrónica El estándar RS-232 admite dos tipos de protocolos de comunicación: sincrónico y asincrónico. Utilizando el protocolo sincrónico, todos los bits transmitidos se sincronizan con una señal de reloj común. Los dos dispositivos inicialmente se sincronizan entre sí y envían continuamente caracteres para mantenerse sincronizados. Incluso cuando realmente no se envían datos reales, un flujo constante de bits permite que cada dispositivo sepa dónde está el otro en un momento dado. Es decir, cada bit que se envía es o bien datos reales o un carácter inactivo. Las comunicaciones sincrónicas permiten velocidades de transferencia de datos más rápidas que los métodos asincrónicos, ya que no se requieren bits adicionales para marcar el principio y el final de cada byte de datos. Mediante el Protocolo asincrónico, cada dispositivo utiliza su propio reloj interno, lo que resulta en bytes que se transfieren en momentos arbitrarios. Por lo tanto, en lugar de utilizar el tiempo como una forma de sincronizar los bits, se utiliza el formato de datos. En particular, la transmisión de datos se sincroniza utilizando el bit inicial de la palabra, mientras que uno o más bits de parada indican el final de la palabra. El requisito de enviar estos bits adicionales hace que las comunicaciones asincrónicas sean ligeramente más lentas que las sincrónicas. Sin embargo, tiene la ventaja de que el procesador no tiene que lidiar con los caracteres inactivos adicionales. La mayoría de los puertos serie funcionan asincrónicamente. Nota Cuando se usa en esta guía, los términos y se refieren a si las operaciones de lectura o escritura bloquean el acceso a la línea de comandos.SíncronoAsincrónicaMATLAB Para obtener más información, consulte.Controlar el acceso a la línea de comandosMATLAB ¿Cómo se transmiten los bits? Por definición, los datos seriales se transmiten un bit a la vez. El orden en que se transmiten los bits es: 1. El bit de inicio se transmite con un valor de 0. 2. Los bits de datos se transmiten. El primer bit de datos corresponde al bit menos significativo (LSB), mientras que el último bit de datos corresponde al bit más significativo (MSB). 3. Se transmite el bit de paridad (si está definido). 4. Se transmiten uno o dos bits de parada, cada uno con un valor de 1. Es el número de bits transferidos por segundo.Velocidad Los bits transferidos incluyen el bit de inicio, los bits de datos, el bit de paridad (si está definido) y los bits de parada. Bits de inicio y parada Como se describe en, la mayoría de los puertos seriales operan asincrónicamente.La comunicación sincrónica y asincrónica Esto significa que el byte transmitido debe identificarse por los bits de inicio y de parada. El bit de inicio indica cuando el byte de datos está a punto de comenzar; los bits de parada indican (s) cuando se ha transferido el byte de datos. El proceso de identificación de bytes con el formato de datos serie sigue estos pasos: 1. Cuando un PIN de puerto serie está inactivo (no transmitiendo datos), está en un estado.En 2. Cuando los datos están a punto de transmitirse, el PIN de puerto serie cambia a un estado debido al bit de inicio.fuera 3. El PIN de puerto serie cambia a un estado debido a los bits de parada.En Esto indica el final del byte. Bits de datos Los bits de datos transferidos a través de un puerto serie pueden representar comandos de dispositivo, lecturas de sensores, mensajes de error, etcétera. Los datos se pueden transferir como datos binarios o datos ASCII. La mayoría de los puertos seriales utilizan entre cinco y ocho bits de datos. Los datos binarios normalmente se transmiten como ocho bits. Los datos basados en texto se transmiten como siete bits u ocho bits. Si los datos se basan en el juego de caracteres ASCII, se requiere un mínimo de siete bits porque hay 27 o 128 caracteres distintos. Si se utiliza un octavo bit, debe tener un valor de 0. Si los datos se basan en el conjunto de caracteres ASCII ampliado, se deben utilizar ocho bits porque hay 28 o 256 caracteres distintos. El bit de paridad El bit de paridad proporciona una comprobación simple de errores (paridad) para los datos transmitidos. En la tabla siguiente se muestran los tipos de comprobación de paridad. Tipos de paridad Tipo de paridad Descripción Incluso Los bits de datos más el bit de paridad dan lugar a un número par de 1s. Marca El bit de paridad es siempre 1. Extraño Los bits de datos más el bit de paridad dan lugar a un número impar de 1s. Espacio El bit de paridad es siempre 0. Las marcas y la comprobación de paridad de espacio rara vez se usan porque ofrecen una detección de errores mínima. Puede optar por no usar la comprobación de paridad en absoluto. El proceso de verificación de paridad sigue estos pasos: 1. El dispositivo transmisor fija el bit de paridad a 0 o a 1, dependiendo de los valores de bits de datos y del tipo de verificación de paridad seleccionada. 2. El dispositivo receptor verifica si el bit de paridad es consistente con los datos transmitidos. Si es así, se aceptan los bits de datos. Si no es así, se devuelve un error. Nota La comprobación de paridad solo puede detectar errores de 1 bit. Los errores de bits múltiples pueden aparecer como datos válidos. Por ejemplo, supongamos que los bits de datos 01110001 se transmiten a su equipo. Si se selecciona la paridad par, el bit de paridad se fija a 0 por el dispositivo transmisor para producir un número par de 1s. Si se selecciona la paridad impar, el bit de paridad se fija a 1 por el dispositivo transmisor para producir un número impar de 1s. Búsqueda de información de puerto serie para su plataforma Esta sección describe las maneras de encontrar la información del puerto serial para y las plataformas.WindowsUNIX Nota El sistema operativo proporciona valores predeterminados para todas las configuraciones de puerto serie. Sin embargo, esta configuración se reemplaza por el código y no tendrá ningún efecto en la aplicación de puerto serie.MATLAB Utilice la funciónseriallist La función devuelve una lista de todos los puertos serie de un sistema.seriallist La lista incluye puertos seriales virtuales proporcionados por dispositivos USB a serie y dispositivos de Perfil de puerto serie Bluetooth. Esto proporciona una lista de los puertos seriales que usted tiene acceso a en su ordenador y podría utilizar para la comunicación del puerto serial. Por ejemplo: seriallist ans = 1×2 string array "COM1" "COM3" PlataformaMicrosoftWindows 1. 2. 3. 4. 5. Abra el panel de control.Windows Haga clic.Device Manager En el cuadro de diálogo, expanda el puertos nodo.Device Manager Haga doble clic en el nodo.Communications Port (COM1) Seleccione la pestaña.Port Settings PlataformaUNIX Para buscar información de puerto serie para las plataformas, debe conocer los nombres de puerto serie.UNIX Estos nombres pueden variar entre diferentes sistemas operativos. En una plataforma, los dispositivos de puerto serie suelen denominar, etc.Linux®ttyS0ttyS1 Utilice el comando para visualizar o para configurar la información del puerto serial.setserial Por ejemplo, para visualizar qué puertos están disponibles: setserial -bg /dev/ttyS* /dev/ttyS0 at 0x03f8 (irq = 4) is a 16550A /dev/ttyS1 at 0x02f8 (irq = 3) is a 16550A Para mostrar información detallada sobre:ttyS0 setserial -ag /dev/ttyS0 /dev/ttyS0, Line 0, UART: 16550A, Port: 0x03f8, IRQ: 4 Baud_base: 115200, close_delay: 50, divisor: 0 closing_wait: 3000, closing_wait2: infinte Flags: spd_normal skip_test session_lockout Nota Si el comando no funciona, asegúrese de que tiene permiso de lectura y escritura para el puerto.setserial -ag Para todas las plataformas soportadas, utilice el comando de visualizar o de configurar la información del puerto serial.UNIXstty Por ejemplo, para mostrar las propiedades de puerto serie, escriba:ttyS0 stty -a < /dev/ttyS0 Para configurar la velocidad en baudios a 4800 bits por segundo, ingrese: stty speed 4800 < /dev/ttyS0 > /dev/ttyS0 Uso de puertos seriales USB virtuales Si tiene dispositivos que se presentan como puertos seriales en su sistema operativo, puede usarlos como puertos seriales USB virtuales.MATLAB Un ejemplo de estos dispositivos sería un dongle serial USB. Para los dispositivos, utilice el soporte en el.Bluetooth® Bluetooth Instrument Control Toolbox™ Consulte para obtener más información .Bluetooth Interface Overview (Instrument Control Toolbox) puede comunicarse con estos dispositivos siempre y cuando los controladores de serie proporcionados por el proveedor del dispositivo sean capaces de emular el hardware nativo. MATLAB Cierto software, como HyperTerminal, no requiere que el controlador de dispositivo implemente y admita completamente el hardware nativo. Bibliografía seleccionada [1] TIA/EIA-232-F, Interface Between Data Terminal Equipment and Data CircuitTerminating Equipment Employing Serial Binary Data Interchange. [2] Jan Axelson, Serial Port Complete, Lakeview Research, Madison, WI, 1998. [3] Instrument Communication Handbook, IOTech, Inc., Cleveland, OH, 1991. [4] TDS 200-Series Two Channel Digital Oscilloscope Programmer Manual, Tektronix, Inc., Wilsonville, OR. [5] Courier High Speed Modems User's Manual, U.S. Robotics, Inc., Skokie, IL, 1994.