La interfaz serial síncrona (SSI) es un estándar de interfaz serial ampliamente utilizado para aplicaciones industriales entre un maestro (por ejemplo, un controlador) y un esclavo (por ejemplo, un sensor). SSI se basa en los estándares RS-422 [1] y tiene una alta eficiencia de protocolo además de su implementación en varias plataformas de hardware, lo que lo hace muy popular entre los fabricantes de sensores. SSI fue desarrollado originalmente por Max Stegmann GmbH en 1984 para transmitir los datos de posición de codificadores absolutos- por esta razón, algunos fabricantes de equipos de accionamiento / servo se refieren a su puerto SSI como "Interfaz Stegmann". Anteriormente estaba cubierto por la patente alemana DE 34 45 617 que expiró en 1990. Es muy adecuado para aplicaciones que exigen confiabilidad y robustez en las mediciones en diferentes entornos industriales.
Es diferente del bus de interfaz de periféricos en serie (SPI): un bus SSI es diferencial , simplex , no multiplexado y se basa en un tiempo de espera para enmarcar los datos. Un bus SPI es de un solo extremo , dúplex y utiliza una línea de selección para enmarcar los datos. Sin embargo, los periféricos SPI en microcontroladores pueden implementar SSI con circuitos integrados de controladores diferenciales externos y temporización controlada por programa.
Introducción
SSI es un canal de comunicación en serie síncrono, punto a punto, para la transmisión de datos digitales. La transmisión de datos síncrona es aquella en la que los datos se transmiten sincronizando la transmisión en los extremos de recepción y envío utilizando una señal de reloj común. Dado que los bits de inicio y parada no están presentes, esto permite un mejor uso del ancho de banda de transmisión de datos para más bits de mensaje y hace que todo el proceso de transmisión sea más simple y fácil. El reloj necesita su propio ancho de banda y debe incluirse al determinar el ancho de banda total requerido para la comunicación entre los dos dispositivos.
En general, como se mencionó anteriormente, es una conexión punto a punto desde un maestro (por ejemplo, PLC, microcontrolador) a un esclavo (por ejemplo, codificadores rotativos ). El maestro controla la secuencia del reloj y el esclavo transmite los datos / valores actuales a través de un registro de desplazamiento. Cuando los invoca el maestro, los datos se registran fuera del registro de desplazamiento. El maestro y el esclavo están sincronizados por el reloj común del controlador.
Las señales CLOCK y DATA se transmiten de acuerdo con los estándares RS-422. RS-422, también conocido como ANSI / TIA / EIA-422-B, es un estándar técnico que especifica las características eléctricas del circuito de interfaz digital de voltaje balanceado. Los datos se transmiten mediante señalización equilibrada o diferencial, es decir, las líneas CLOCK y DATA son básicamente cables de par trenzado.
Las entradas pueden usar un optoacoplador para aislamiento galvánico (para más detalles, consulte [1] ) que puede ser controlado por niveles RS-422/485. La salida de DATOS del sensor es impulsada por un controlador de línea RS-422/485. La señalización diferencial mejora la resistencia a la interferencia electromagnética (EMI), lo que lo convierte en un canal de comunicación confiable en largas longitudes de transmisión y entornos externos hostiles.
Diseño SSI
La interfaz tiene un diseño muy simple como se ilustra en la figura anterior. Consta de 2 pares de cables, uno para transmitir las señales de reloj del maestro y el otro para transmitir los datos del esclavo. Las secuencias de reloj son activadas por el maestro cuando surge la necesidad. Se pueden usar diferentes frecuencias de reloj que van desde 100 kHz a 2 MHz y el número de pulsos de reloj depende del número de bits de datos que se transmitirán.
La interfaz esclava SSI más simple utiliza un multivibrador monoestable (monoflop) reactivable para congelar el valor actual del sensor. Los valores congelados actuales del esclavo se almacenan en registros Shift. Estos valores se registran secuencialmente cuando los inicia el controlador. El diseño se está revolucionando con la integración de microcontroladores, FPGA y ASIC en la interfaz.
El formato de los datos está diseñado de tal manera que garantice una comunicación adecuada de los datos. El protocolo para la transmisión de datos se basa en tres partes posteriores diferentes (inicial- ”1" -> bits de datos -> final- "0"). El significado principal de este tipo de formato es garantizar el correcto funcionamiento de la interfaz y por lo tanto una transmisión de datos segura libre de errores de hardware o software.
En estado inactivo, el RELOJ está en un nivel alto y también la salida del sensor está en un nivel alto, de modo que se puede utilizar para detectar cualquier contacto de cable roto. Esto ayuda a observar las condiciones de funcionamiento adecuadas de la interfaz.
Después de pulsos n-CLOCK (flancos ascendentes), los datos se transmiten por completo. Con el siguiente pulso CLOCK (flanco ascendente n + 1) la salida del sensor pasa a un nivel bajo que se puede utilizar para detectar un cortocircuito en el cable. Si es alto incluso después de n + 1 flancos ascendentes, significa que la interfaz tiene un cortocircuito.
Las lecturas de varios esclavos (hasta tres) se pueden habilitar al mismo tiempo conectándolos a un reloj común. Sin embargo, para evitar bucles de tierra y aislar eléctricamente al esclavo, se necesita un aislamiento galvánico completo mediante optoacopladores.
Transmisión y sincronización SSI
Las siguientes palabras clave serán útiles para comprender el procedimiento de transmisión de datos SSI.
- 'tm' representa el tiempo de espera de transferencia (tiempo de monoflop). Es el tiempo mínimo requerido por el esclavo para darse cuenta de que la transmisión de datos está completa. Después de tm, la línea de datos queda inactiva y el esclavo comienza a actualizar sus datos en el registro de desplazamiento.
- 'tp' representa el tiempo de pausa. Es el retardo de tiempo entre dos secuencias de reloj consecutivas del maestro.
- 'tw' representa el tiempo de repetición. Es el tiempo mínimo transcurrido entre retransmisiones de los mismos datos y siempre es menor que tm.
- 'T' representa el ancho de cada ciclo de reloj. Es el tiempo transcurrido entre dos flancos descendentes o ascendentes en una secuencia de reloj continua.
- MSB: bit más significativo
- LSB: bit menos significativo
Transmisión única
El diagrama ilustra la transmisión de datos individuales utilizando el protocolo SSI:
El SSI está inicialmente en modo inactivo, donde tanto las líneas de datos como las de reloj permanecen ALTAS y el esclavo sigue actualizando sus datos actuales.
El modo de transmisión se evoca cuando el maestro inicia un tren de pulsos de reloj. Una vez que el esclavo recibe el comienzo de la señal del reloj (1), automáticamente congela sus datos actuales. Con el primer flanco ascendente (2) de la secuencia de reloj, se transmite el MSB del valor del sensor y, con los consiguientes flancos ascendentes, los bits se transmiten secuencialmente a la salida.
Después de la transmisión de la palabra de datos completa (3) (es decir, se transmite LSB), un flanco ascendente adicional del reloj establece la línea de reloj ALTA. La línea de datos se establece en LOW y permanece allí durante un período de tiempo, tm, para reconocer el tiempo de espera de la transferencia. Si se recibe una señal de reloj (solicitud de salida de datos) dentro de ese tiempo, los mismos datos se transmitirán nuevamente (transmisión múltiple).
El esclavo comienza a actualizar su valor y la línea de datos se establece en ALTO (modo inactivo) si no hay pulsos de reloj dentro del tiempo, tm. Esto marca el final de la transmisión única de la palabra de datos. Una vez que el esclavo recibe una señal de reloj a la vez, tp (> = tm), el valor de posición actualizado se congela y comienza la transmisión del valor como se describió anteriormente.
Varias transmisiones
Las transmisiones múltiples de los mismos datos ocurren solo si hay reloj continuo incluso después de la transmisión del bit menos significativo, es decir, los pulsos de reloj no permiten que el monoflop pase al estado estable. Esto se ilustra a continuación.
Las secuencias iniciales son las mismas que las de la transmisión única. En el estado inactivo, las líneas CLOCK y DATA son altas pero con la llegada del primer flanco descendente se evoca el modo de transmisión y, de manera similar, los bits de datos se transmiten secuencialmente comenzando con el MSB con cada flanco ascendente. La transmisión del LSB significa que se completa la transmisión de los datos. Un flanco ascendente adicional empuja la línea de datos a BAJA, lo que significa el final de la transmisión de los datos en particular.
Pero, si hay pulsos de reloj continuos incluso después de eso (es decir, los siguientes pulsos de reloj llegan en el tiempo tw (
Luego, sigue el mismo procedimiento que las transmisiones anteriores, lo que conduce a múltiples transmisiones de los mismos datos. El valor del esclavo se actualiza solo cuando el tiempo entre dos pulsos de reloj es mayor que el tiempo de espera de transferencia, tm.
La transmisión múltiple se utiliza para verificar la integridad de los datos. Se comparan los dos valores recibidos consecutivos, los fallos de transmisión se indican mediante diferencias entre los dos valores.
Interrumpir la transmisión
La transmisión de datos es controlada por el maestro y la transmisión se puede interrumpir en cualquier momento simplemente deteniendo la secuencia de reloj, por un período superior a tm. El esclavo reconocerá automáticamente el tiempo de espera de la transferencia y entrará en modo inactivo.
Cableado: de acuerdo con los estándares RS-422
Dado que SSI se basa en los estándares RS-422, es necesario seleccionar los cables adecuados y permanecer dentro de los límites de la longitud del cableado y las frecuencias de reloj.
La relación entre la longitud del cable y la frecuencia del reloj se muestra en la siguiente figura. [2] Esto se puede utilizar como una guía conservadora. Esta curva se basa en datos empíricos utilizando un cable telefónico de par trenzado sin blindaje estándar de 24 AWG , conductor de cobre, con una capacitancia en derivación de 52,5 pF / metro (16 pF / pie) terminado en una carga resistiva de 100 ohmios. La restricción de la longitud del cable que muestra la curva se basa en los requisitos de calidad de la señal de carga supuestos de:
- Tiempos de subida y bajada de la señal iguales o inferiores a un intervalo de media unidad a la velocidad de conmutación de datos aplicable.
- Una pérdida de voltaje máxima entre el generador y la carga del 66%
Cuando se utilizan altas velocidades de datos, la aplicación se limita a cables más cortos. Es posible utilizar cables más largos cuando se utilizan velocidades de datos bajas. La resistencia de CC del cable limita la longitud del cable para aplicaciones de baja velocidad de datos al aumentar el margen de ruido a medida que aumenta la caída de voltaje en el cable. Los efectos de CA del cable limitan la calidad de la señal y limitan la longitud del cable a distancias cortas cuando se utilizan altas velocidades de datos. Los ejemplos de combinaciones de velocidad de datos y longitud de cable varían de 90 kbit / sa 1,2 km a 10 Mbit / sa 5 m para RS-422.
Los cables que tienen características diferentes del par trenzado 24 AWG, 52,5 pF / metro (16 pF / pie), también se pueden emplear dentro de los límites mencionados anteriormente. Primero, determine los valores absolutos de resistencia y capacitancia del bucle del cable típico de 24 AWG proporcionado por la longitud del cable asociada con la velocidad de señalización de datos deseada en la figura. Luego, convierta esos valores a longitudes equivalentes del cable realmente utilizado. Por ejemplo, serían posibles distancias más largas cuando se usa 19 AWG, mientras que se necesitarían distancias más cortas para 28 AWG.
La longitud máxima permitida del cable que separa el maestro y el esclavo es función de la tasa de señalización de datos y está influenciada por la distorsión tolerable de la señal, la cantidad de ruido acoplado longitudinalmente y las diferencias de potencial de tierra introducidas entre el circuito maestro y esclavo. En consecuencia, se recomienda a los usuarios que restrinjan la longitud del cable al mínimo. El tipo y la longitud del cable utilizado deben ser capaces de mantener la calidad de señal necesaria para la aplicación en particular. Además, el equilibrio del cable debe ser tal que mantenga niveles de diafonía aceptables, tanto generados como recibidos.
Protocolos derivados
Algunos fabricantes y organizaciones [3] agregaron información adicional al protocolo SSI básico. Se hizo principalmente para garantizar una transmisión de datos adecuada. Para una transmisión segura y para indicar el final de la transmisión de datos, se pueden agregar bits CRC o bits de paridad. En palabras simples, se utilizaron para identificar si el byte se ha interpretado y recibido correctamente. En la especificación original se utilizaron múltiples transmisiones para garantizar la integridad de los datos. En este caso, se iniciaron dos transmisiones consecutivas de los mismos datos y se compararon para detectar cualquier error en la transmisión. Sin embargo, esto reduce la eficiencia del protocolo en un 50% en comparación con la transmisión de datos en paralelo.
Beneficios
- La transferencia de datos en serie ha reducido el cableado. Esto, además de la simplicidad del diseño SSI debido al uso de un número mínimo de componentes, ha reducido considerablemente el costo y ha creado más ancho de banda de transmisión para los bits de mensajes.
- Alta inmunidad a interferencias electromagnéticas debido a los estándares RS-422 y mayor confiabilidad de la transmisión de datos debido a la señalización diferencial.
- Aislamiento galvánico óptimo
- Completa flexibilidad de protocolo para la cantidad de bits transferidos. No se limita a un cierto número de palabras y tiene una elección arbitraria del tamaño del mensaje.
- Los esclavos usan el reloj maestro y, por lo tanto, no necesitan osciladores de precisión.
- El SSI permite conectar hasta tres esclavos a un reloj común. Por lo tanto, es posible obtener valores de múltiples sensores.
Las limitaciones en esta interfaz son insignificantes para aplicaciones en automatización industrial. SSI solo puede manejar comunicaciones de corta distancia (hasta 1,2 km) y solo admite un dispositivo maestro . Pero 1,2 km es una distancia bastante buena para la comunicación según los estándares de la industria de la automatización. En comparación con los sistemas de comunicación avanzados basados en buses de campo o Ethernet, SSI se limita a una arquitectura maestro esclavo y una simple comunicación punto a punto entre un maestro y un esclavo . Otra desventaja es que no hay reconocimiento de esclavo de hardware, es decir, detección de esclavo para comunicación.
Ver también
Referencias
enlaces externos
- POSITAL, conexión de dispositivo SSI al microcontrolador, [2]
- National Instruments, "¿Qué es la interfaz síncrona en serie (SSI)?"
- Texas Instruments, "SSI y SPI como términos intercambiables"
- SSI (en alemán), "Synchron-Serielle Schnittstelle"