Beruflich Dokumente
Kultur Dokumente
net
Sistemas programables
otro
MPLAB DE MICROCHIP
Otro
ARINC 429
Las especificaciones ARINC 429 definen las características eléctricas y de datos, y los protocolos
que son
utilizados.
ARINC 429 emplea un bus estándar unidireccional conocido como Mark 33 cuyas características
principales son:
™ La transmisión se realiza en serie, en palabras de 32 bits más un tiempo muerto denominado
“gap” y mediante un par de cables trenzados y apantallados en lazo abierto “open loop”.
™ La comunicación se realiza en modo diferencial, las líneas “A” y “B” contienen información
respecto a masa.
™ Existe una sola fuente transmisora.
™ Pueden existir hasta 20 receptores por cada fuente.
Características del mensaje:
™ La información fluye desde una puerta de transmisión hasta una o varias puertas de recepción.
™ En ningún caso la información puede llegar hasta una puerta destinada a la tranmisión.
™ La transmisión entre 2 computadores en ambos sentidos se realiza por buses independientes.
Características eléctricas:
™ La fuente y el destino deben estar conectados mediante un par de cables trenzados y
apantallados.
™ El apantallamiento debe conectarse a masa en ambos lados de la conexión y en todos los
conectores intermedios del cableado.
Las distorsiones se pueden producir por:
• características de los cables.
• desacuerdos eléctricos.
• ruido de interferencias eléctricas.
Nota: Si uno de los lados de la línea de transmisión se encuentra en circuito abierto o en corto, se
debilita la inmunidad contra el ruido, lo que puede producir un fallo intermitente.
™ Los niveles de voltaje del transmisor son: +5V, 0V y ‐5V cada conductor con respecto a tierra;
+10V, 0V y ‐10V entre el conductor A y el B.
™ Para la señal en el receptor se utiliza modulación bipolar RZ (retorno a cero), con 3 estados:
“HI”, “NULL” y “LO” entre el cable A y el B.
• HI dentro del rango +7,5V a +11V
• NULL dentro del rango +0,5V a ‐0,5V
• LO dentro del rango ‐7,5V a ‐11V
Características de Velocidad:
™ Transmisión en alta velocidad 100 Kilobites por segundo.
™ Transmisión en baja velocidad 12 a 14,5 kilobites por segundo.
™ No se pueden utilizar ambas velocidades en el mismo bus.
Bus de expansión
En una primera aproximación creamos un bus de expansión específicamente
creado para el microcontrolador. Esto tiene importantes desventajas, entre ellas:
− Para conectar periféricos creados por otros grupos de trabajo es necesario
adaptarlos a la señalización del bus en cuestión.
− Periféricos diseñados para ese bus no servían para ser usados en otros diseños
con buses de otro tamaño. Por ejemplo: no servían para un bus de 16 o 32 bits sin
ser adaptados.
Otro
Estructura de un bus
Un bus es un medio compartido de comunicación constituido por un conjunto de líneas
(conductores) que conecta las diferentes unidades de un computador. La principal función de un
bus será, pues, servir de soporte para la realización de transferencias de información entre dichas
unidades. La unidad que inicia y controla la transferencia se conoce como master del bus para
dicha transferencia, y la unidad sobre la que se realiza la transferencia se conoce como slave. Los
papeles de master y slave son dinámicos, de manera que una misma unidad puede realizar ambas
funciones en transferencias diferentes. Por ejemplo, una unidad de DMA hace de slave en la
inicialización que realiza el master, la CPU, para una operación de E/S. Sin embargo, cuando
comienza la operación, la unidad de DMA juega el papel de master frente a la memoria, que en
esta ocasión hace de slave.
Para garantizar el acceso ordenado al bus, existe un sistema de arbitraje, centralizado o
distribuido, que establece las prioridades cuando dos o más unidades pretenden acceder al mismo
tiempo al bus, es decir, garantiza que en cada momento sólo exista un master.
Para establecer el tiempo de duración de las transferencias y que sea conocido tanto por el
master como por el slave, un bus debe disponer de los medios necesarios para la sincronización
master-slave.
Líneas
Las líneas de un bus podemos clasificarlas en grupos, atendiendo al papel que cumplen en las
transferencias.
1.1.1 Líneas de información básica.
Las utiliza el master para definir los dos elementos principales de una transferencia, el slave
y los datos. Se dividen, pues, en dos grupos: direcciones y datos.
1.1.1.1. Líneas de Direcciones
Determinan la unidad que hace de slave en la transferencia
1.1.1.2. Líneas de Datos
Transportan los datos de la transferencia.
Existen buses con líneas independientes para cada uno de los anteriores tipos de
información. En cambio en otros se utilizan las mismas líneas multiplexadas en el tiempo.
1.1.2. Líneas de control
Transmiten las órdenes que determinan la operación de transferencia a realizar por las
líneas de datos y direcciones, y marcan el ordenamiento temporal de las señales que circulan por el
bus. Las primeras son las líneas de control propiamente dichas, de las que las más importantes
son:
Escritura en memoria
Lectura de memoria
Operación de salida
Operación de entrada
Las segundas son las líneas de sincronismo, entre las que cabe citar las siguientes:
Reconocimiento de transferencia
Reloj
Reset
1.1.3. Líneas de arbitraje
Establecen la prioridad entre diferentes peticiones de acceso al bus. Por ejemplo:
Petición del bus
Cesión del bus
Ocupación del bus
1.2. Direccionalidad de buses
Las líneas de un bus podemos también clasificarlas en función de su direccionalidad:
1.2.1. Líneas unidireccionales
Emisor simple
Desde el punto de vista físico un bus es un conjunto de conductores eléctricos paralelos
dispuestos sobre una tarjeta de circuito impreso. Los dispositivos del sistema se conectan a través
de conectores (slots) dispuestas a intervalos regulares a lo largo del bus.
La disposición anterior corresponde generalmente a los buses del sistema. Los denominados
buses de entrada/salida conectan las unidades a través de cables.
Los principales parámetros que caracterizan un bus son:
Ancho de banda: velocidad de transferencia medida en Mb/s
Anchura del bus: número de líneas que lo componen
Ancho de datos: número de líneas de datos
Capacidad de conexión: número de unidades conectadas al bus
Bus de Datos: Este es un bus bidireccional, pues los datos pueden fluir hacia ó
desde la CPU. Los m terminales de la CPU, de D0 - Dm-1 , pueden ser entradas ó
salidas, según la operación que se esté realizando ( lectura ó escritura ) . en todos
los casos, las palabras de datos transmitidas tiene m bits de longitud debido a que
la CPU maneja palabras de datos de m bits; del número de bits del bus de datos,
depende la clasificación del microprocesador.
Bus de Control: Este conjunto de señales se usa para sincronizar las actividades y
transacciones con los periféricos del sistema. Algunas de estas señales, como R /
W , son señales que la CPU envía para indicar que tipo de operación se espera en
ese momento. Los periféricos también pueden remitir señales de control a la CPU,
como son INT, RESET, BUS RQ.
Las señales más importantes en el bus de control son las señales de cronómetro,
que generan los intervalos de tiempo durante los cuales se realizan las
operaciones. Este tipo de señales depende directamente del tipo del
microprocesador.
5.7 Comunicación
Otro
En el contexto de los sistemas digitales, la palabra “bus” se refiere al sistema que permite la
interconexión e intercambio de datos entre dispositivos complejos. Recordemos que estamos
trabajando con aeronaves, cada vez más complejas, llenas de equipos de aviónica, de
comunicaciones,
de computadores, etc. que requieren una considerable suma de cableado, lo que supone además
de
complejidad una gran proporción de peso indeseado.
Esta interconexión (bus) envuelve mucho más que un cableado físico, entre otras cosas define los
niveles de voltaje y las reglas (protocolos) que gobiernan la transferencia de datos.
Como estamos entrando en calor, vamos a definir algunos términos relativos a los “buses”.
™ Unidireccional: transmisión en un sentido.
™ Bidireccional: transmisión en dos sentidos.
™ Serie: se transmite un bit de datos cada vez.
™ Paralelo: se transmiten 8, 16, 32 bits de datos agrupados cada vez.
Nota: las limitaciones impuestas por la longitud de los conductores y el peso, hacen que en las
aeronaves se utilice la transferencia en serie mejor que en paralelo.
™ LRU: Unidad Reemplazable en Línea (como el Interface de Datos de Motor o la Unidad
Electrónoca de Flap/Slat).
™ Local Bus: buses que se utilizan dentro de las LRU.
Nota: los Local Bus utilizan transferencias en paralelo, debido a que es mejor para mover
grandes
cantidades de datos en pequeñas distancias.
Puerto serial
Los puertos seriales (también llamados RS-232, por el nombre del estándar al que hacen
referencia) fueron las primeras interfaces que permitieron que los equipos intercambien
información con el “mundo exterior”. El término serial se refiere a los datos enviados mediante
un solo hilo: los bits se envían uno detrás de otro (consulta la sección sobre transmisión de
datos para conocer los modos de transmisión).
Originalmente, los puertos seriales solo podían enviar datos, no recibir, por lo que se
desarrollaron puertos bidireccionales (que son los que se encuentran en los equipos actuales).
Por lo tanto, los puertos seriales bidireccionales necesitan dos hilos para que la comunicación
pueda efectuarse.
Esta es la razón por la cual en este tipo de transmisión, cada carácter se encuentra precedido
por un bit de inicio (llamado bit START) y seguido por un bit de fin (llamado bit STOP). Estos
bits de control, necesarios para la transmisión serial, desperdician un 20 % del ancho de
banda (de cada 10 bits enviados, 8 se utilizan para cifrar el carácter y 2 para la recepción).
Los puertos seriales, por lo general, están integrados a la placa madre, motivo por el cual los
conectores que se hallan detrás de la carcasa y se encuentran conectados a la placa madre
mediante un cable, pueden utilizarse para conectar un elemento exterior. Generalmente, los
conectores seriales tienen 9 o 25 clavijas y tienen la siguiente forma (conectores DB9 y DB25
respectivamente):
Puerto paralelo
La transmisión de datos paralela consiste en enviar datos en forma simultánea por varios
canales (hilos). Los puertos paralelos en los PC pueden utilizarse para enviar 8 bits (un octeto)
simultáneamente por 8 hilos.
Los primeros puertos paralelos bidireccionales permitían una velocidad de 2,4 Mb/s. Sin
embargo, los puertos paralelos mejorados han logrado alcanzar velocidades mayores, como
el EPP(Enhanced Parallel Port, puerto paralelo mejorado) que alcanza velocidades de 8 a 16
Mbps. El puerto ECP (Enhanced Capabilities Port, puerto de capacidad mejorada)
desarrollado por Hewlett-Packard y Microsoft, posee las mismas características del EPP, pero
incluye soporte Plug and Playque permite que el equipo reconozca los periféricos conectados.
Los puertos paralelos, al igual que los seriales, se encuentran integrados a la placa madre.
Los conectores DB25 permiten la conexión con un elemento exterior (por ejemplo, una
impresora).
El puerto de datos (DATA), permite transmitir un byte (8 bits) de datos. Cada uno
de los bits se corresponde con uno de los pines D0 a D7. Por tanto, en conjunto, se
pueden transmitir valores entre 0 y 255 en formato binario. Por ejemplo, para
transmitir el 139, 10001011 en binario, se pondrán a 5 voltios los pines D7, D3, D1 y
D0. Este puerto puede configurarse para servir tanto de entrada como de salida de
datos.
Los cables rojos pertenecen al puerto de control, los amarillos al de datos y los
verdes al de estado. Utilizaremos también dos cables negros para los conectores a
tierra.
Como ejemplo de utilización vamos a conectar 8 leds a cada uno de los pines de datos, de
esta manera obtendremos feedback visual en tiempo real de lo que ocurre en cada
momento, es decir, si ponemos un pin a 0 el led deberá de permanecer apagado si lo
ponemos a 1 se encenderá. Utilizaremos el siguiente esquema para la realización del
montaje.
Por supuesto necesitaremos 8 leds y 8 pequeñas resistencias de 470 ohmnios, que son las
representadas en la imagen por esos pequeños rectángulos intercalados entre pin y led. Las
resistencias sirven para limitar la corriente que pasará por cada cable, aunque en este caso
concreto son prescindibles, porque cada pin del puerto paralelo sólo puede suministrar
40mA como máximo, una corriente suficientemente baja para que aguanten la mayoría de
los leds y no se quemen. Pero por si las moscas…
Una vez tengamos el engendro preparado, ya sólo nos queda conectarlo al ordenador a
través del puerto paralelo y ponernos a programar. El siguiente ejemplo está escrito en C
para Linux, pero es fácilmente portable a cualquier otro lenguaje de programación para
cualquier plataforma. El propio código está comentado, pero después se apuntan un par de
cosillas interesantes como refuerzo.