El tema hace unas generalizaciones muy básicas sobre una de las necesidades del sistema de control de un microrrobot como es su capacidad de comunicación. Fundamentalmente vamos a tener la necesidad de comunicarnos de tres formas distintas: Comunicación con un ordenador para intercambio de datos, comunicación con otros procesadores, comunicación con otros dispositivos para expansión de los recursos.
Vamos ha realizar una descripción sobre comunicación asíncrona del puerto serie PUERTO SERIE RS-232.
Este puerto el RS232, existente en todos los ordenadores actualmente es el sistema mas común para la transmisión de datos entre ordenadores. Todos los ordenadores como mínimo poseen uno (módem, ratón,…).
El RS232 es un estándar de comunicaciones propuesto por la Asociación de Industrias Electrónicas (EIA) y es la última de varias versiones anteriores. Antiguamente se utilizaba para conectar terminales a un ordenador Host. Se envían datos de 7, 8 o 9 bits. La velocidad se mide en baudios (bits/segundo) y sólo son necesarios dos cables, uno de transmisión y otro de recepción.
Lo mas importante del estándar de comunicaciones es la funciones especifica de cada pin de entrada y salida de datos porque nos encontramos básicamente con dos tipos de conectores los de 25 pines y los de 9 pines, es probable que se encuentre mas la versión de 9 pines aunque la versión de 25 permite muchas mas información en la transferencia de datos.
Las señales con la que actúa el puerto son digitales (0 - 1) y la tensión a la que trabaja es de 12 Voltios, resumiendo:
12Vlts. = Logica “0”
-12 Vlts = Logica “1”
2
Las características de los pines y su nombre típico son:
TXD Transmitir Datos Señal de salida
RXD Recibir Datos Señal de entrada
RTS Solicitud de envió Señal de salida
DTR Terminal de datos listo Señal de salida
CTS Libre para envió Señal de entrada
DSR Equipo de datos listo Señal de entrada
DCD Detección de portadora Señal de entrada
SG Tierra Referencia para señales
RI Indicador de llamada Señal de entrada
Conector 25 pines
Conector 9 pines
Nombre
Descripcion
1
1
-
Masa chasis
2
3
TxD
Transmit Data
3
2
RxD
Receive Data
4
7
RTS
Request to send
5
8
CTS
Clear to send
6
6
DSR
Data Set Ready
7
5
SG
Signal Ground
8
1
DCD
Data Carrier Detect
15
-
TxC
Transmit Clock
17
-
RxC
Receive Clock
20
4
DTR
Data Terminal Ready
22
9
RI
Ring Indicator
24
-
RTxC
Transmin/Receive Clock
Existen hasta prácticamente 25 señales más pero no son muy usadas y para usos con el microcontrolador generalmente no son necesarias.
Los pines que portan los datos son RxD y TxD los demás se encargan de otros trabajos, el DTR indica que el ordenador esta encendido, DSR que el dispositivo conectado al puerto esta encendido, RTS que el ordenador al no estar ocupado puede recibir datos, al revés de CTS que lo que informa es que es el dispositivo el que puede recibir datos, DCD detecta que existen presencia de datos, etc.
3
Para controlar al puerto serie, la CPU emplea direcciones de puertos de E/S y líneas de interrupción (IRQ). En el AT-286 se eligieron las direcciones 3F8h (o 0x3f8) e IRQ 4 para el COM1, y 2F8h e IRQ 3 para el COM2. El estándar del PC llega hasta aquí, por lo que al añadir posteriormente otros puertos serie, se eligieron las direcciones 3E8 y 2E8 para COM3-COM4, pero las IRQ no están especificadas. Cada usuario debe elegirlas de acuerdo a las que tenga libres o el uso que vaya a hacer de los puertos serie (por ejemplo, no importa compartir una misma IRQ en dos puertos siempre que no se usen conjuntamente, ya que en caso contrario puede haber problemas). Es por ello que últimamente, con el auge de las comunicaciones, los fabricantes de PCs incluyan un puerto especial PS/2 para el ratón, dejando así libre un puerto serie.
Antes de iniciar cualquier comunicación con el puerto RS232 se debe de determinar el protocolo a seguir dado que el estándar del protocolo no permite indicar en que modo se esta trabajando, es la persona que utiliza el protocolo el que debe decidir y configurar ambas partes antes de iniciar la transmisión de datos.
Siendo los parámetros a configurar los siguientes:
• Protocolo serie (numero bits-paridad-bits stop)
• Velocidad de puerto
• Protocolo de control de flujo (RTS/CTS o XON/XOFF).
Para la visualización de las señales y la comunicación del PC con el micro es necesario unas rutinas macro que gestione el software del micro así como un programa base para el PC que gestione el control dentro del Ordenador
El programa para controlar el PC sirve cualquiera que gestione el puerto serie. Uno muy común es el programa TERMINAL en DOS (que se encuentra en la red) aunque los hay mejores este es bastante bueno por su sencillez y facilidad de uso.