Subido por Gilberto Domínguez

Puerto serial

Anuncio
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.
Descargar