Comunicación

Versión para imprimirVersión para imprimir

Redes de Comunicación

Hoy en día, las redes de comunicación pueden ser encontradas en cualquier lugar. El sistema telefónico, internet, redes de comunicación en centros comerciales o en casas privadas son sólo unos cuantos ejemplos.

Las redes de comunicación ahora también juegan un gran papel en la tecnología de la automoción. Aquí algunos requisitos han de ser observados y de este modo hacer lo casi imposible para simplemente duplicar una red de comunicación utilizada en un entorno de oficina.

 

AS-Interface communication system

El nombre Actuator Sensor Interface representa a su propio concepto. Aunque técnicamente, el "AS-i" es un bus, el término interfaz muestra que le proporciona una comunicación simple para el acceso a los sensores y actuadores en campo.

Las redes industriales AS-i fueron diseñadas para ser aplicadas en ambientes automatizados, sustituyendo las conexiones tradicionales hechas por pares de hilos que conectan cada uno de los actuadores y sensores al controlador correspondiente, en general un Controlador Lógico Programable (PLC), por un bus único. Además de eso es posible conectar al bus sensores/actuadores que realizan una conversión analógico/digital o viceversa.

El sistema AS-i es configurado y controlado por un maestro, el cual programa la interfaz entre un controlador y el sistema AS-i. Este intercambia información continuamente con todos los sensores y actuadores conectados al bus AS-i de forma predeterminada y cíclica.

 

AS-Interface en el modelo de referencia ISO/OSI

Como todos los fieldbuses, AS-Interface puede también ser categorizado en el modelo referencia ISO-OSI con las siete capas.

En AS-Interface solo tres de las siete capas son implementadas, porque

• no se admiten estructuras de malla, donde las conexiones alternativas de comunicación tienen que estar hechas (Nivel 3 omitido),
• no son implementadas interfaces de red de transporte (Nivel 4 omitido),
• las estaciones están constantemente conectadas, así que no hay funciones de sesión (nivel 5 eliminado) y
• los datos no tienen que ser interpretados o encriptados (Nivel 6 eliminado).

Las tres capas implementadas son la capa física, la capa de enlace de datos y la capa de aplicación (Fig. C.01).

 

Capa Física (Physical Layer)

La capa física está orientada al hardware y se ocupa de todos los aspectos de la creación y el mantenimiento de un enlace físico entre las parejas que se comunican.

 

Capa de Enlace de Datos (Data Link Layer)

La capa de Enlace de Datos es una capa encima de la capa física. Su preocupación es el empaquetado y el direccionamiento de datos y la gestión segura del flujo de transmisiones.

 

Capa de Aplicación (Application Layer)

Esta capa define los comandos, los contenidos de datos, la secuencia del ciclo de AS-Interface y el comportamiento de las estaciones, por ejemplo, al reemplazar un esclavo mientras que el sistema está en funcionamiento (Hot Swap or Live Insertion).

 

Fig. C.01: El modelo de referencia ISO-OSI

 

La Figura C.02 ilustra el sistema AS-i como un todo, mostrando sus principales componentes: cable, fuente de alimentación AS-i con su circuito de desacoplamiento, el sistema de transmisión, el maestro y el esclavo AS-i.

• Interfaz 1: entre el esclavo y los sensores y actuadores;
• Interfaz 2: entre los equipos (fuente de alimentación, maestro y esclavo) y el medio de transmisión;
• Interfaz 3: entre el maestro y el host, es decir, una entidad cualquiera que acceda a la red AS-i de un nivel superior.

Fig. C.02: Componentes AS-Interface components e interfaces

 

El esclavo y los Sensores y Actuadores (Interfaz 1)

El esclavo AS-i, como se ve en la Figura C.02 hace una conexión entre el sistema de transmisión y una interfaz 1 en la cual están conectados los sensores y actuadores. El esclavo los alimenta y genera la comunicación con el maestro. Desde el inicio del desarrollo de la especificación de AS-i estaba claro que el esclavo debería ser pequeño y compacto para poder ser integrado directamente a los sensores y actuadores. Esto se puede lograr mediante el uso de circuitos integrados, dando origen al famoso chip AS-i. Este chip permite que los sensores, actuadores o módulos puedan ser conectados al bus AS-i como un dispositivo esclavo, reconociendo los comandos de salida del maestro y enviando información de respuesta. La gran variedad de sensores y actuadores utilizados últimamente en la automatización, permiten un bajo coste por conexión en dispositivos esclavos AS-i. En el caso de los dispositivos analógicos, los datos de más de 4 bits de información útil por ciclo son divididos y enviados en varios ciclos. Existen dos maneras posibles de usar un chip esclavo AS-i:

• Módulos Activos: El chip AS-i puede ser incorporado en sensores o actuadores (Fig. C.03), de esta forma los elementos están integrados con AS-i y todos los bits de datos y parámetros están disponibles para el dispositivo (sensor o actuador).

Fig. C.03: Sensor o actuador con AS-i incorporado (módulo activo)

 

• Módulos Pasivos: Esta otra forma utiliza el chip esclavo AS-i incorporado en los módulos en los que se pueden conectar sensores y actuadores convencionales. En la Figura C.04 se representa un módulo con dos entradas para sensores y dos salidas para actuadores binarios.

Fig. C.04: Módulo 2E/2S para sensores/actuadores convencionales (módulo pasivo)

 

Independientemente de la forma en que fue implementado el esclavo, tendrá una arquitectura como se muestra en la figura C.05, en que las conexiones con la interfaz 1 pueden ser físicas o lógicas y con la interfaz 2 son físicas.

 

Fig. C.05: Arquitectura de un esclavo AS-i

 

Los pulsos de tensión detectados en el cable AS-i son filtrados, digitalizados y registrados en el receptor. Al mismo tiempo la señal recibida es sometida a pruebas de detección de errores, para garantizar que los ruidos no hayan corrompido los requerimientos del maestro.

En el emisor, la información del registrador de envío es codificada y enviada por el bus como una secuencia de pulsos de corriente de acuerdo con la modulación APM.

Finalmente el control de ejecución decodifica las peticiones del maestro, verifica si hay posibles errores, realiza el comando codificado por ellos y si fuera el caso, produce una respuesta para enviarla. El control de la ejecución (o de secuencia) también posee un área de memoria no volátil.

Todo esto se verá con más profundidad en el apartado Protocolo AS-i.

 

El esclavo tiene los siguientes registros y flags:

• Registrador de Dirección: Este registrador de 5 bits contiene una dirección actual del esclavo. Si la dirección de una petición del maestro es igual a la dirección contenida en él, entonces el esclavo responderá a la solicitud. Después de un reset el registrador se carga con un valor de dirección contenida en la memoria no volátil del esclavo. Su contenido puede ser cambiado por el maestro a través de las peticiones Eliminar dirección y Asignar dirección.
• Registradores de Identificación: Estos registradores contienen la configuración de entradas y salidas (configuración de I/O) y los códigos de identificación (código ID) del esclavo. Con excepción del registrador Código 1 ID, que puede ser el valor alterado por el maestro, los otros son permanentes y grabados durante su fabricación.
• Registrador de datos de salida: El registrador Datos de Salida es de cuatro bits y tiene los datos de la última solicitud de datos del maestro (data request) que fue recibida sin errores por el esclavo. Los bits que están relacionados a una salida de acuerdo con la configuración de E/S representan el valor de esta salida, en cuanto a los demás son ignorados. Después de un reset el registrador es cargado con el valor hexadecimal F por defecto.
• Registrador de Parámetros: Este registrador de 4 bits tiene el último valor de los parámetros recibidos de una solicitud  de parámetros válida. Los bits corresponden a los puertos de salida de los parámetros.
• Registrador de recepción: Este registrador contiene la última solicitud del maestro para procesamiento en el control de ejecución.
• Registrador de envío: Este registrador de 5 bits tiene la respuesta del esclavo la cual puede ser enviada.
• Registrador de Estado: El registrador de estado contiene 3 bits para indicar determinadas condiciones de estado del esclavo:
o Flag S0: Se activa durante el proceso de almacenamiento de dirección del esclavo.
o Flag S1: Se activa si la entrada FID reporta un error de periféricos.
o Flag S3: Se activa si ocurre un error durante la lectura de la dirección del esclavo en la memoria no volátil.
• Flag de Sincronización: Si el esclavo recibe correctamente una solicitud del maestro, la decodifica y el flag de sincronización es activado. En el estado sincronizado la pausa del maestro es monitoreada después de una petición del maestro por un poco de tiempo, y el esclavo responde que inicia después de los dos tiempos de bit.
• Flag de Intercambio de Datos Bloqueado: Este flag es activado por un reset y se desactiva al recibir una solicitud sin errores de parámetros. Este mecanismo impide que las solicitudes de datos (datos solicitados) sean aceptadas sin los parámetros de puertos, siempre y cuando no se hayan cargado con parámetros nominales. Este comportamiento es necesario para evitar inconsistencias entre el esclavo y el maestro. Puede ocurrir, por ejemplo, que un esclavo pueda ser reiniciado (reset) por un fallo de alimentación momentáneo, sin que el maestro tome conocimiento. Esto pasaría con los parámetros que fueran reiniciados, en cuanto a la imagen que el maestro mantiene de ellos permanece igual. El esclavo puede responder entonces de forma diferente a la esperada por el maestro, causando problemas no deseados. Por esta razón un paquete de datos solo puede ser realizado después de una solicitud de parámetros por parte del maestro.

 

Como se indica en la Figura C.05 la interfaz 1 del esclavo posee 4 puertos de datos que dependiendo de la configuración de E/S pueden ser usadas como entradas, salidas o como puertos bidireccionales. También cuenta con una salida data strobe, que avisa cuando los datos de salida están presentes y cuando los datos de entrada son esperados.

Para actuadores esclavos es recomendado que el monitor de timeout, conocido por watchdog, y que el circuito integrado del esclavo, sean activados. Si dentro del tiempo especificado no es recibida una solicitud correcta de datos ("data request") en la dirección del esclavo, el actuador puede utilizar la señal de watchdog para ir a un estado seguro.

Este mecanismo permite que una serie de posibles errores sea cubierta, como fallos de hardware del maestro, interferencias en el cable de transmisión o pérdida de dirección del esclavo. Cuando sea necesario, un sistema AS-i puede ser más seguro. Normalmente, se especifica un valor entre 40 y 100ms como período de timeout.

La entrada "FID" es usada para señalar los fallos periféricos. Si la electrónica del esclavo detecta un error, esta entrada puede ser utilizada para señalar el evento localmente, a través de LEDs y reportarlo al maestro a través del estado de bits. El maestro puede establecer al esclavo en una lista de esclavos con errores periféricos, y reportarla a su vez a los niveles superiores de control.

Finalmente, una salida de corriente continua, que generalmente esta en el rango de tolerancia de 24V +10/-15% proporciona alimentación a los sensores/actuadores.

 

Sistemas de Transmisión (Interfaz 2)

La interfaz 2 incluye las especificaciones necesarias para el buen manejo de los datos entre los elementos conectados en el bus AS-i. Este define la forma de acceso al medio físico, el intercambio de datos sobre el nivel eléctrico y el tratamiento de algunos errores de comunicación, así como las solicitudes de tiempo en las transacciones.

La topología de red del sistema AS-i se deja a elección del usuario, lo que simplifica su proyecto. La restricción es que el límite máximo de la longitud del cable es de 100m, aunque se puede ampliar con repetidores ampliando el alcance de la red, siempre y cuando se respete los límites de 62 esclavos y un maestro. Es importante notar también que no son necesarias las impedancias en terminales, lo que también simplifica la instalación.

 

El Maestro AS-i (Interfaz 3)

Normalmente, el maestro gestiona las siguientes funciones:

• inicialización de la red,
• identificación de los esclavos,
• transmisión no cíclica de los parámetros a los esclavos,
• transferencia cíclica de los datos,
• diagnóstico de la red (estado de los esclavos, fallo de alimentación, etc.),
• transmisión de los fallos al controlador,
• nueva asignación de las direcciones en caso de cambio de configuración (por ejemplo, sustitución de un esclavo).

 

El protocolo AS-i se basa en el funcionamiento en “polling” maestro-esclavo. El maestro interroga a los esclavos por turno y de forma cíclica. Existen otros intercambios de datos de tipo no cíclico que gestiona el maestro AS-i para tener en cuenta los cambios de configuración o incluso las fases de arranque del bus.

 

Comunicación maestro-esclavo:

• Los esclavos son direccionados por orden ascendente
• Las direcciones inexistentes se saltan
• Después de la dirección máxima existente se llama a la supervisión de la red o la transferencia de un valor de parámetro
• Luego comienza un nuevo ciclo
• Los telegramas incorrectos se detectan de manera segura y se repiten automáticamente

 

El maestro AS-i hace la conexión entre un controlador o un sistema de bus de campo (Host) y los sensores y actuadores de la red AS-i. Se genera el tráfico de mensajes en el bus de forma independiente, de modo que el Host y los sensores y actuadores son vistos como una arquitectura tradicional. Además de esto, el maestro tiene funciones adicionales de configuración y diagnostico de la red AS-i.

La especificación de AS-i divide al maestro en tres capas, que van desde el cable de transmisión hasta la interfaz 3 (Figura C.06).

Fig. C.06: Estructura en capas del maestro AS-i

 

La transmisión física de los requerimientos del maestro es especificada por la interfaz 1 y tiene básicamente las mismas características del esclavo.

La capa lógica más baja es la capa de transmisión, que es responsable de la transmisión y recepción de los telegramas individuales. Es posible la repetición automática de telegramas cuando una respuesta del esclavo falla, garantizando integridad a sus capas superiores.

El control de secuencia o control de ejecución, está por encima de la capa de transmisión y envía los requerimientos de transmisión de datos a ella. La función de esta capa es controlar la secuencia en que los telegramas son enviados, y también procesan las funciones llamadas por la capa superior, generando los telegramas correctamente y en la secuencia requerida.

La capa más alta es la capa maestra, y realiza la interfaz con el Host.

 

El maestro AS-i realiza la función de interconectar la interfaces 2 y 3 a través de mensajes enviados a los esclavos, uno a uno. A continuación se muestran las posibles peticiones que el maestro puede realizar a un determinado esclavo, a través de la interfaz 2, así como el comportamiento del esclavo ante las peticiones, es decir, sus respuestas. La Figura C.07 presenta todas las posibles peticiones que un maestro puede pedir a un esclavo, a partir de la especificación 2.1 AS-i, el cual admite el direccionamiento extendido. Se puede observar en las solicitudes la presencia de un select bit. Este bit toma el lugar de un bit anteriormente utilizado para el intercambio de datos comunes. Al agregar un nuevo bit es posible el direccionamiento del doble de esclavos iniciales: 62. Además de tener una dirección entre 0 y 31 los esclavos también tienen una de tipo: A o B, que es definido por el bit de selección (select bit). Más adelante se volverá a hablar sobre esto.

Fig. C.07: Requerimientos de un maestro a partir de la especificación 2.1

 

Estos requerimientos son analizados uno a uno a continuación:

• Leer configuración de I/O: A través de este requerimiento el maestro recibe como respuesta la configuración de entradas y salidas (IO configuración) de un esclavo. Además se identifica el código de ID del esclavo (ID code) con la configuración de IO solamente en un tipo de esclavo. La configuración de IO se refiere al comportamiento de los puertos de datos de la interfaz 1 del esclavo, y es definida como se muestra en la Figura C.08.

En esta definición, IN significa una entrada de proceso, OUT una salida, IO un comportamiento bidireccional del puerto y TRI indica una salida de alta impedancia sin función. Este último caso es admitido cuando durante un reset un error de lectura de la memoria del esclavo no permite que una identificación sin ambigüedad sea definida.

Siempre que una salida está definida (OUT), esto significa que el bit de información correspondiente en la respuesta del esclavo es indefinido. De la misma forma, un bit de información de una petición del maestro referente a un puerto de entrada (IN) es indefinido, lo mismo cuando el bit es alto.

La configuración de I/O permite que la información innecesaria sea ocultada. Además junto con el código ID constituyen un perfil del esclavo. Esta esdefinida por el fabricante, tiene siempre 4 bits, y no puede ser modificada por el usuario.

Fig. C.08: Códigos de configuración de entrada y salida

 

• Leer Código ID: El código ID de los esclavos de acuerdo a la versión 2.1 de la especificación tiene el mismo código de ID original, leído por el maestro a través de la petición "Read ID Code – Leer Código ID", dos otros códigos - "Extended ID Code 1" y "Extended ID Code 2". En conjunto ellos sirven para identificar esclavos diferentes. Los esclavos de acuerdo a la nueva especificación, por ejemplo, tienen el código ID "A", en hexadecimal, en cuanto un código ID "B" indica un esclavo "safety at work – seguridad en el trabajo". Todos los esclavos con código ID igual a "A" tienen también los otros dos códigos de ID.
• Leer Código 1 Extendido: Esta es semejante a la anterior, es usada para leer el código 1 extendido del esclavo cuando existe. Este código es diferente al original, puede ser modificado por el usuario.
• Leer Código 2 Extendido: Este código extiende las posibilidades de configuración de los esclavos, y es como el código ID original no puede ser modificado por el usuario, siendo definido de forma definitiva por el fabricante.

El perfil de un esclavo, constituido por el conjunto de los códigos ID y de la configuración de I/O, tiene la definición del comportamiento de los parámetros, puertos de datos y otras características adicionales del esclavo.

• Solicitud de Datos: Esta es la más frecuente en AS-i, y es la que permite atribuir valores a las salidas de datos del esclavo en la interfaz 1, y obtiene como respuesta el valor de las entradas. Como se mencionó anteriormente, el comportamiento de los puertos es definido por la configuración de I/O. Los puertos de datos pueden ser usados de diferentes formas, no sólo como entradas y salidas binarias de variables de proceso. Pueden ser usadas también para configuraciones adicionales, y también como representación digitalizada de variables analógicas de proceso.
• Solicitud de Parámetros: Esta es usada por el maestro para enviar un estándar de bits a los puertos de salida de parámetros en la interfaz 1 de un esclavo, los cuales pueden controlar determinados comportamientos en el esclavo. El ultimo valor enviado es mantenido en el esclavo hasta que uno más reciente sea recibido o que ocurra un reset. Para un esclavo estándar hay 4 bits de parámetros, para los esclavos con direccionamiento extendido solo 3, ya que uno de ellos es usado como bit de selección. Esta no puede ser realizada a un esclavo con dirección 0, pues sería interpretada de manera diferente.
• Asignar Dirección: Este comando permite atribuir una nueva dirección permanente a un esclavo como dirección 0. El esclavo envía una respuesta de reconocimiento e inicia el proceso de grabación en la memoria no volátil, que no tarda más que 500ms. Durante el proceso el esclavo responde a las peticiones en la nueva dirección. Esta petición es la que permite sustituir esclavos dañados sin necesidad de reiniciar la red.
• Reset de Esclavo: Esta dispara el proceso que coloca el esclavo en su estado inicial, y tiene el mismo efecto que un reset de power-up o disparo por el puerto correspondiente de la interfaz 1 del esclavo. Este no puede tardar más de 2 ms.
• Eliminar dirección de Operación: El comando "Delete Address" es usado para apagar temporalmente la dirección de un esclavo y es usado en conjunto con "Address Assignment", porque sólo puede ser usado como un esclavo de dirección 0.

Por ejemplo, para cambiar la dirección de un esclavo, primero se usa la petición "Delete Address", y luego "Address Assignment". El esclavo reconoce que recibió una "Delete Address" sin errores respondiendo como 0 (en hexadecimal), y responde en esta dirección. Para restaurar la dirección anterior, un preciso que ocurra un reset en el esclavo.

• Leer Status: Esta petición es usada para obtener el valor del registrador de estado del esclavo accesado. Su contenido regresa como respuesta del esclavo. El registrador contiene tres flags con el siguiente significado:
o S0: "Dirección Volátil". Este flag está activado cuando la rutina interna del esclavo que graba permanentemente una nueva dirección se está ejecutando.
o S1: "Error Periférico". Este flag es activado cuando el esclavo detecta una entrada alta en el puerto FID de la interfaz 1, indicando una falla externa en el equipo.
o S3: "Leer error no-volátil". Este bit es activado cuando hay un error en la lectura de la memoria no volátil del esclavo, después de un reset.

El bit S2 no es utilizado y está reservado para usos futuros. El maestro puede utilizar la información de estado de los esclavos para realizar funciones de diagnótico. Los esclavos de acuerdo con la especificación 2.0 no soportan el "Peripheral Error".

La difusión de las peticiones de este tipo es recibido por todos los esclavos y son caracterizados por no necesitar de una respuesta del esclavo. En este sentido son anormales en AS-i y hasta el hoy solamente una petición de reset es definida como broadcast.

 

La Capa de Transmisión

La capa de transmisión también conocida como control de transmisión, es responsable de intercambiar telegramas individuales con los esclavos. Este recibe del control de ejecución una petición de envío, junto con los datos que serán enviados a través del canal de comunicación, agregando el  start bit, el bit de paridad y el el bit de fin, generan, por lo tanto, el frame (telegrama) del maestro. Este telegrama es enviado siguiendo los requisitos de tiempo del sistema de transmisión, de acuerdo con lo descrito en la sección de telegramas.

Es posible que la petición del control de ejecución sea de dos tipos: transmisión única o repetible. En la primera forma, en caso de no haber respuesta del esclavo después del tiempo límite de espera o una respuesta no válida, el control de transmisión reporta el error a la capa superior, sin reenviar el telegrama. En la segunda forma, el error solo es reportado después de una segunda acción más realizada. Por el contrario, en caso de que la transacción sea buena, el control de transmisión favorece al control de ejecución de los datos enviados por el esclavo, sin los bits adicionales de inicio, fin y de paridad. También el control de transmisión debe reportar una señal AS-i Power Fail (APF), que indica baja tensión del límite inferior en el bus AS-i.

La Figura C.09 muestra la máquina de estados que modela el comportamiento del control de transmisión. MT viene de múltiples transmisiones y significa que el control de transmisión repite el envío de un telegrama en caso de error en la primera vez.

Alternativamente, ST equivale a single transmission – transmisión única, y en este caso el error es reportado después del primer fallo. Las transiciones de estado ocurren en función de las operaciones lógicas representadas por los operadores en e y ou. Las entradas y salidas están separadas por una barra ("/").

Fig. C.09: Control de Transmisión

 

El Control de Ejecución

El control de ejecución, o control de secuencia, es responsable de generar los telegramas AS-i en la secuencia correcta, utilizando el servicio de envío de frames individuales ejecutado por la capa inferior. Para ello posee un conjunto de campos de datos y listas que permiten mantener una imagen de la red AS-i y sus esclavos constantemente actualizada, y que a su vez es usada por la capa superior para implementar la interfaz con el host.

Estos campos de datos son representados como sigue:

• Imagen de Datos de Entrada (IDI): Este campo contiene las copias más recientes de datos recibidos de los esclavos a través de la llamada "Solicitud de Datos - Data Request". Cada esclavo ocupa 4 bits de memoria.
• Imagen de Datos de Salida (ODI): Este campo contiene los datos más recientes escritos por el host y son enviados a los esclavos a través de "Solicitud de Datos". Aquí también son necesarios cuatro bits para cada uno de los 62 esclavos.
• Imagen de Datos de Entrada Analógica (AIDI): Este campo contiene los datos recibidos de las entradas analógicas de esclavos de acuerdo con los perfiles 7.3 y 7.4, analógicamente a los datos de IDI.
• Imagen de Datos de Salida Analógica (AODI): Este campo, es semejante al anterior, contiene los valores más recientes que son enviados a las salidas analógicas.
• Imagen de Datos de Configuración (CDI): Este campo contiene los códigos de I/O y los códigos ID de cada esclavo. Por lo tanto, son necesarios 2 bytes para cada esclavo.
• Datos de Confifuración Permanente (PCD): Este campo es semejante al anterior, aunque en un área no volátil. Los códigos ID o la configuración de I/O de un esclavo no presentes en la red se establecen como un valor F (hexadecimal).
• Imagen del Parámetro (PI): Esta área está reservada para los 4 bits de parámetros de cada esclavo. Por lo tanto, por cada dos esclavos se ocupa un byte.
• Parámetro Permanente: Este campo contiene los parámetros configurados de cada esclavo, y se encuentra en un área no volátil, como las PCD.
• Lista de Esclavos Detectados (LDS): Cada esclavo corresponde a un bit de la lista, que es activado cuando el esclavo es detectado correctamente.
• Lista de Esclavos Activados (LAS): En esta lista el bit correspondiente al esclavo es activado cuando es activado correctamente.
• Lista de Esclavos Proyectados (LPS): Esta lista está en la memoria no volátil y representa los esclavos que se supone están conectados en la red AS-i cuando sea encendida.
• Lista de Periféricos en Falla (LPF): En esta lista el bit correspondiente al esclavo es activado cuando se detecta una señal de alto en el esclavo FID (sección 7.4).

 

Además de estos campos de datos, el control de ejecución reporta al host estados del maestro a través de algunas banderas. Estas banderas son las siguientes:

• Config_OK: Este indicador es activado cuando la configuración nominal y la real detectada están de acuerdo. Se trata de una manera simple de obtener información al respecto de la configuración;
• LDS.0: Indica la presencia de un esclavo con dirección "0" - que no es permitido en operación normal;
• Auto_Address_Enable: Indica que el direccionamiento automático está activado;
• Auto_Address_Available: Indica que existen condiciones para ocurrir el direccionamiento automático *
• Mode: Indica si el maestre está en modo "Configuración" (1) o "Protegido" (0);
• Normal_Operation: Indica que el maestre está transitando cíclicamente entre las fases de operación normal;
• APF: "AS-i Power Fail" - Indica la tensión en el bus debajo del límite inferior;
• Offline_Ready: Activado cuando la fase offline está completa;
• Periphery_OK: Indica que la Lista de Periféricos de Falla está vacía;
• Offline: Cuando es activado por el usuario, lleva el maestre a la fase offline;
• Data_Exchange_Active: Habilita el intercambio de datos entre el maestre y el esclavo.

* Por una cuestión de terminología, puede ocurrir confusión entre este flag y lo anterior. Nótese que el primero es definido por el usuario, permitiendo el auto direccionamiento en caso de que las condiciones sean satisfactorias, lo que es indicado por el flag Auto_Address_Available.

Es importante notar que cuatro de estos flags son habilitados por el usuario - host - y afectan el comportamiento del maestro: los dos últimos de la lista, el indicador "Auto_Address_Available" y el "Mode". Todos los demás no pueden ser alterados por el usuario y son controlados por el propio maestro.

El comportamiento del maestro es dividido en varias etapas, o fases, que son ejecutadas por el control de ejecución.

La Figura C.10 ilustra la máquina de estados que modela el comportamiento del control de ejecución. El área punteada indica el modo de operación normal, es decir, cuando el maestro realiza intercambio de datos cíclico con los esclavos configurados, manteniendo actualizada el área "Imagen de Datos de entrada" y los puertos de datos de acuerdo con el área "Imagen de Datos de Salida". Además del intercambio de datos de entrada y salida, realizada en la fase "Intercambio de Datos", en el ciclo de operación normal son intercambiadas información de gerenciamiento de la red en las otras dos etapas.

La operación detallada en cada una de las etapas permitirá conocer todo el comportamiento del control de ejecución, y consecuentemente de la mayor parte del maestro.

Fig. C.10: Fases (estados) de control de ejecución

 

La Capa Maestra y la Interfaz 3

La interfaz del maestro con el host (interfaz 3) se define solo de forma lógica, dejando la forma de implementación a cargo del fabricante. Está especificada por las normas solo en forma de funciones que el maestro debe atender. La capa maestra es la que hace la adaptación de estas funciones al host específico. El host normalmente es uno u otro sistema de bus de campo de jerarquía superior, como un PLC o un PC. Así, las formas de acceso al maestro, es por lo tanto, una red AS-i, si se hace de varias maneras. En caso de que el host fuera un PC, por ejemplo, el maestro puede estar en una placa conectada a la placa principal y accedida a través de drivers que implementan las funciones definidas por la interfaz 3 y adaptadas para este sistema en la capa maestra. Las posibilidades son virtualmente infinitas. En caso que sea un PLC, el maestro casi siempre es un modulo externo, visto como un modulo de I/O comúnmente, y que es accedido por medio de áreas de memoria mapeadas adecuadamente. La implementación de la interface, es diferente del caso anterior. El mismo razonamiento se aplica para el caso de los gateways AS-i. Existen en el mercado gateways AS-i para Profibus DP, para DeviceNet, para Modbus y otros.

Son pocas las funciones que llevan las capas inferiores a un intercambio efectivo de datos entre el maestro y el esclavo. La mayoría de ellos acceden a los campos de datos del maestro, que mantiene una imagen actualizada de la red a fin de obtener la información que necesitan. Las que llevan un intercambio de datos son ejecutadas en la fase de gerenciamiento, que puede enviar un telegrama directo en cada ciclo.

 

Protocolo AS-i

a) Principio de la comunicación

El protocolo AS-i se basa en el funcionamiento Maestro/Esclavo. La comunicación se establece entre un maestro único y un número máximo de 31 esclavos en la red.

El maestro interroga cíclicamente por turno a todos los esclavos. En cada ciclo se actualiza la información de las entradas/salidas tanto en el maestro como en los esclavos.

La duración del ciclo está garantizada (aspecto determinista de la red) y es siempre la misma en función del número de esclavos.

En funcionamiento nominal (es decir, exceptuando las fases de inicialización), la duración del ciclo es de 5 ms para 31 esclavos. Este tiempo disminuye cuanto menor sea el número de esclavos (por ejemplo, 1 ms para 6 esclavos).

La comunicación entre maestro y esclavo se llama transacción. Contiene:

-Petición de maestro: El maestro envía peticiones a la dirección de un esclavo

-Respuesta del esclavo: El esclavo direccionado responde dentro de un tiempo

Las peticiones/respuestas son tramas de bits de longitud fija con:

-La dirección del esclavo

-El valor de las entradas y salidas

-El perfil del dispositivo

 

b) Codificación de la señal

Las inductancias integradas en el circuito desacoplador de la alimentación AS-i transforman los impulsos de corriente que generan los transmisores AS-i en impulsos de tensión.

Estos impulsos son el resultado final de un tratamiento particular de la señal que incluye:

• una codificación de tipo Manchester diferencial,
• una modulación basada en el principio de los impulsos alternos que suministran una señal de tipo sen2.

Como los cables no tienen terminadores, los pulsos de los mensajes tienen una gran variación de amplitud. Al ser capaz de afrontar el problema causado principalmente por reflexiones al final del cable, que atienden las frecuencias mayores, AS-i representa un sistema extremamente robusto.

Conviene señalar que esta curva de tensión de los impulsos de forma sen2 en la línea AS-i permite eliminar los componentes de alta frecuencia de las señales, de tal modo que AS-i respete los límites de radiación parásita exigidos por la norma EN 5501.

Esta es la representación esquemática de dicho tratamiento:

Fig. C.11: Modulación APM

 

La selección de una modulación adecuada para AS-i debía atender un conjunto de requerimientos bastante exigentes, lo que llevó al desarrollo de un nuevo procedimiento de modulación, conocido como  Modulación de Pulsos Alternados (APM - Alternating Pulse Modulation). Estos requerimientos incluyen:

• La señal del mensaje superpuesta a la tensión de alimentación debe ser precisa y libre de componente de corriente continua.
• El transmisor del esclavo, y cuando sea posible, el del maestro, debe ser capaz de generar la señal de una manera simple, que ocupe poco espacio y bajo coste.
• Dado que el cable AS-i tiene una impedancia que aumenta en gran medida por la frecuencia, la señal de los datos debe tener una banda relativamente estrecha.
• Los niveles altos de radiación de ruido también son inaceptables.

La modulación APM es un procedimiento para la transmisión en serie en banda base como se muestra en la Figura C.11. La secuencia de bits es inicialmente codificada de manera que un cambio de fase ocurre siempre que la señal se modifica (código Manchester). El resultado es una corriente de envío que en conjunto con un solo inductor en el sistema usa la diferenciación para generar la señal de tensión deseada en los conductores.

Cada aumento en la corriente de envío resulta en un pulso de tensión negativa, y da como resultado un pulso positivo. De este modo es bastante simple generar señales en los esclavos que tienen una tensión superior a su tensión de alimentación. Esto significa que los inductores pueden ser eliminados en los esclavos, lo que mantiene la electrónica integrada pequeña y barata. En el lado receptor estas señales de tensión son detectadas en la línea y convertidas de nuevo en el envío de bits-secuencia. El receptor se sincroniza con la detección del primer pulso negativo, que es interpretado como un start bit. Si los impulsos de tensión se acercan a los pulsos sen2, los requisitos de límite de baja frecuencia y baja emisión de ruidos se cumplen al mismo tiempo. Esto se consigue por medio de una forma adecuada en los pulsos de corriente enviada, que se generan como la integral de un pulso sen2. Usando esta modulación y las topologías permitidas se alcanzan tiempos de bit de 6µs. Esto permite una velocidad de transmisión de 167kBit/s.

 

La codificación Manchester es un código autosincronizante, basado en la existencia de una transición en cada semiperiodo, que permite a la estación receptora realizar un muestreo preciso y sencillo de la información.

Además, el valor medio de la señal es constante, independientemente del número de bits en 0 o en 1, lo que mejora la calidad de la detección de fallos.

Principio de la codificación Manchester diferencial:

Fig. C.12: Codificación Manchester Diferencial

 

La codificación Manchester diferencial tiene en cuenta el valor binario de la señal en el momento anterior.

 

c) Acceso al Medio

El maestro envía un telegrama que es recibido por el esclavo en una dirección particular y el esclavo con esta dirección responde dentro del tiempo previsto. Esta operación es designada como una transacción. El sistema de transmisión permite la conexión al bus de un maestro y de hasta 62 esclavos.

El procedimiento elegido permite la construcción de esclavos mucho más simples y, por lo tanto, de costo efectivo, en cuanto a flexibilidad e integridad. En el caso de las pequeñas perturbaciones en la red, el maestro puede, por ejemplo, repetir telegramas a la dirección del cual no recibe respuesta, o respuesta invalida. Los mensajes AS-i, por lo tanto, son de dos tipos: las que son enviadas por el maestro y las respuestas del esclavo. La Figura C.13 ilustra una transacción y el tiempo usado. Está constituida de:

• una solicitud del maestro,
• una pausa del maestro,
• una respuesta del esclavo y
• una pausa del esclavo.

Fig. C.13: Una transacción AS-i

 

La solicitud del maestro se extiende siempre a 14 tiempos de bit, y la respuesta del esclavo a 7. Un tiempo de bit corresponde a un intervalo de tiempo uniforme de 6µs. La pausa del maestro debe estar en un intervalo de un mínimo de 2 tiempos de bit y un máximo de 10 tiempos de bit. Si el esclavo está sincronizado, puede comenzar a transmitir su respuesta lo más pronto después de más de 2 tiempos de bit, en caso contrario necesitara más de dos tiempos, hasta que se pueda estar monitorizando la pausa del maestro en este periodo para cualquier información adicional antes de que pueda aceptarla como válida. Sin embargo si el maestro no ha recibido respuesta dentro de un máximo de 10 tiempos de bit, puede asumir que no habrá respuesta e iniciar la transacción siguiente. La pausa entre el final de una respuesta del esclavo es la siguiente solicitud del maestro y debe estar entre 1,5 y 2 tiempos de bit.

Una solicitud del maestro se compone de:

• Start Bit (SB). Identifica el inicio de una solicitud del maestro en el bus. Su valor siempre es "0".
• Control Bit (CB). Identifica el tipo de solicitud: "0" para solicitudes de datos, parámetros o atribuciones de dirección y  "1" para los de comando.
• Address (A4..A0). Dirección del esclavo solicitado.
• Información (I4..I0). Estos 5 bits componen, la solicitud realizada, los datos enviados al esclavo.
• Bit de Paridad (PB). El número de bits con valor "1" indicada que una solicitud se está ejecutando y el ultimo bit sebe ser par.
• End Bit (EB). Identifica el final de una solicitud del maestro. Siempre tiene el valor "1".

Una respuesta de cualquier esclavo se compone de:

• Start Bit (SB). Identifica el inicio de una respuesta del esclavo. Siempre tiene el valor "0".
• Información (I3..I0). Estos bits componen la información propiamente enviada al maestro.
• Bit de Paridad (PB). Así como una solicitud, también una respuesta debe tener paridad par.
• End Bit (EB). Siempre de valor "1", asignada al final de una respuesta del esclavo.

La versión 2.1 AS-i (1998) tiene la posibilidad de direccionar el doble de esclavos. Con ella, se pueden conectar hasta 62 esclavos. Para que esto sea posible, se utiliza un bit de campo de información para seleccionar un bit llamado "select bit", o, bit de selección. De esta forma, los esclavos conectados al bus fueron divididos en dos grupos de 31 esclavos como máximo, cada grupo: A y B. Además, un esclavo pasó a tener una dirección y recibió distinción tipo A ó B. Esta modificación fue introducida para no perder la compatibilidad de esclavos de la versión anterior con los maestros de la nueva versión.

Los esclavos de la versión anterior pueden ser direccionados normalmente, pero ocupan dos direcciones de cada uno. Para ellos no hay una distinción entre esclavo "A" o "B", y no reconocen el bit de selección como un bit normal de información. Los maestros conforme a la nueva versión tienen los medios de identificar el tipo de esclavo y enviar las solicitudes propiamente. Esto ya fue visto anteriormente.

 

d) Tratamiento de Errores

El reconocimiento de errores es de gran importancia para la comunicación sin fallos a través de AS-i, que generalmente no es blindado. Dado que los telegramas AS-i en las operaciones son bastante cortos, la detección de errores es diferente de la que normalmente se aplica a las otras redes de campo. La petición principal contiene 11 bits de datos que se deben controlar y la respuesta del esclavo tiene 4 bits. La adición de bits para la comprobación de los errores de mensaje reducirá drásticamente la tasa de transmisión de red alcanzable. Así que en su lugar, AS-i realiza un mayor control sobre la transmisión de los bits en sí. Esto hace uso del conocimiento de redundancias en el código y las longitudes fijadas de los telegramas. Como resultado de esto los siguientes errores se pueden distinguir:

• Error de Inicio de Bit;
• Error de alternancia;
• Error de pausa;
• Error de Información;
• Error de paridad;
• Error de Fin de Bit y;
• Error de tamaño del telegrama.

Cada solicitud del maestro y cada respuesta del esclavo son sometidas a una verificación de estos 7 tipos de errores. Si alguno de ellos es detectado, la solicitud (o respuesta) es considerada inválida.

 

e) Señales Analógicas de E/S

AS-i soporta transmisión de señales analógicas. Para esto el valor analógico digitalizado será separado en varias partes y transmitido, a través de varios ciclos. Para una señal de entrada analógica de 12 bits de datos, serán necesarios 6 ciclos, constituyendo un tiempo total de transmisión de 30 ms (en la versión 2.1 de la especificación AS-i). Un circuito de conversión A/D debe ser parte integral del dispositivo esclavo que tiene E/S analógicas.

En este circuito será realizado no solo la conversión de señales, también debe ser capaz de congelar el valor convertido hasta que todos los bits sean totalmente transmitidos, y solo entonces estará listo para una nueva muestra de señal analógica.

AS-International define un estándar para la transmisión de valores de señales analógicas (definido en el apartado S-17 de la especificación AS-Inteface). Para facilitar el uso práctico, algunos PLC´s ya ofrecen bloques funcionales para aplicaciones con valores de señales analógicas.

Para asegurar la consistencia de los datos entre el maestro y el esclavo, un bit handshake fue definido en este perfil, el cual es invertido por el esclavo y retorna. Asimismo, el maestro puede verificar que tenga una respuesta del esclavo y el esclavo puede verificar si el maestro quiere la repetición de la última solicitud o si quiere la siguiente parte de los datos. Por otro lado, esto reduce la carga útil en cada frame de 3 bits por ciclo. Además asegura la transmisión correcta de los mismos datos con perturbaciones. Para entradas analógicas, el maestro solicita y el esclavo responde; para salidas analógicas el esclavo solicita y el maestro responde.

Fig. C.14: Secuencia de transmisión de un valor analógico

 

f) Telegramas

Los telegramas maestro-esclavo incluyen la pregunta del maestro y la respuesta del esclavo. Estas preguntas-respuestas son tramas de dimensiones reducidas y longitud fija llamadas telegramas, que recogen información útil como la dirección del esclavo, el valor de sus entradas salidas, su identificación (perfil), su estado, etc. Toda esta información resulta accesible a través de los servicios de lectura/escritura de datos, lectura de status, lectura de identificación, asignación de dirección, etc. del maestro AS-i.

 

Figura C.15: Estructura de un telegrama AS-i.