En este número de Tektronix Tips&Ticks os explicamos para qué sirve el CRC dentro de las líneas de HD-SDI.
Pulsa sobre la imagen para descargar la publicación:
El CRC en HD-SDI – Que historia!
Todo el mundo sabe que en HD-SDI, cada linea tiene su propio bloque CRC de verificación de errores y así verificar por separado las señales de luminancia y crominancia. Lo que no es tan conocido es como funciona realmente. En esta nota nos dará los conocimientos básicos para entender los procesos implicados en esta tecnología que mantiene la integridad de los datos durante el trayecto. Al mismo tiempo, se explicará el interés de la visualización de los datos disponibles en los osciloscopios.
Primer nivel de control : El Bit de Paridad
Cojamos en binario, una simple palabra de 7 bits: 0100101
El primer nivel de verificación seria evaluar cuántos de esos bits están en nivel 1 (en este caso 3), y luego se añade un bit extra, de valor 1, si el número de 1’s es impar ó 0, si es par.
Este bit de paridad es normalmente llamado ‘Check Sum’ ya que representa bien la suma de todos los bits basado en el hecho de que en binario 1+1=0 y 1+0=1.
Añadiendo este bit extra, la palabra acaba teniendo 8 bits. Es fácil comprender que, si uno de esos bits cambia durante el trayecto, la paridad ya no corresponderá con la palabra recibida e inmediatamente el error seria detectado. Limitaciones de este sistema: Solo detecta un número impar de errores y tampoco te dice, cuál de ellos es el que ha sido recibido erróneamente
El código CRC (Control por redundancia cíclica)
El control por redundancia cíclica es la solución para los dos inconvenientes anteriores. El CRC representa una manera más potente y relativamente sencilla de implementar la verificación de la integridad de los datos.
El control por redundancia cíclica consiste en calcular una imagen del paquete de datos mediante un algoritmo especifico e incluir el resultado en el mismo bloque antes de la transmisión. El algoritmo de cálculo del CRC es también conocido por el receptor del mensaje, que realiza el mismo calculo a la llegada del paquete de datos. Si el resultado del cálculo difiere del valor previamente incluido en el bloque, no solo podremos saber que hay un error, sino que, hasta cierto punto, se puede corregir la trama corrupta.
El algoritmo de cálculo CRC en HD-SDI.
Consideremos primero que cualquier cadena de n bits, puede ser representada como un polinomio binario.
Por ejemplo, la palabra de 4 bits 1001 puede ser expresada así:
1*X3 + 0*X² + 0*X1 +1*X0 que es X3+1.
El truco del CRC en HD-SDI consiste en que el algoritmo adoptado, divide el polinomio correspondiente con la cadena de datos a verificar (Linea completa de video), por un polinomio fijo conocido del tipo
X18 + X5 + X4 + 1 (1000000000000110001).
Esta división lógica se procesa según van entrando los datos, y el resto de la misma se convierte en el código CRC para ese bloque de datos. Este valor se inserta inmediatamente sobre 20bits, justo después del bloque EAV (End Active Video) Y el código de número de linea. La magia de las matemáticas hace que todo funcione.
Nota: Los canales Y y C tienen su propio CRC independiente.