# TMDS

Señal Diferencial de Transición Minimizada (TMDS, del inglés Transition Minimized Differential Signaling), es una tecnología de transmisión de datos en serie a alta velocidad; se utiliza en las interfaces de vídeo DVI y HDMI, así como en otras interfaces de comunicación digital. Es el análogo digital del RAMDAC, que es utilizado en la interfaz de vídeo analógica VGA.
El transmisor incorpora un avanzado algoritmo de codificación que reduce la interferencia electromagnética sobre los cables de cobre y permite la recuperación del reloj en el receptor para alcanzar una alta tolerancia de sesgo.

## Codificación

El método es una forma de codificación 8b/10b pero mediante un conjunto de códigos distinto al original. Se utiliza un proceso de dos etapas para convertir una entrada de 8 bits en un código de 10 bits con las características particulares deseadas. En la primera etapa, el primer bit se mantiene sin cambios, y cada bit subsecuente se transoforma aplicando XOR o XNOR con la transformación del bit anterior. Para elegir entre XOR y XNOR, el codificador determina cuál resultará en la menor cantidad de transiciones; el noveno bit se codifica cuál operación fue utilizada. En la segunda etapa, los primeros ocho bits opcionalmente se invierten para equilibrar el balance de unos y ceros y por lo tanto, el nivel promedio de CC. En el décimo bit se codifica si la inversión se llevó a cabo.
El símbolo TMDS de 10 bits puede representar ya sea un valor de 8 bits durante la transmisión normal de datos, o dos bits de señales de control durante la pantalla en blanco. De las 1024 posibles combinaciones de los 10 bits transmitidos:
* 460 combinaciones se utilizan para representar un valor de 8 bits, ya que la mayoría de los 256 posibles valores tienen dos codificaciones (algunos valores tienen sólo una),
* 4 combinaciones se utilizan para representar 2 bits de señales de control (C0 y C1 en la tabla de abajo); estas combinaciones tienen las propiedades necesarias para ser reconocidos aun si se pierde la sincronización y, por tanto, también se utilizan para sincronizar el decodificador,
* 2 combinaciones usadas como banda de guarda antes de datos HDMI,
* 558 combinaciones restantes, reservadas y de uso prohibido.
Codificación de datos de control :
| Bit de control de entrada | Bit de control de entrada | Codificación de salida |
| C0 | C1 | Codificación de salida |
| 0 | 0 | 0010101011 |
| 0 | 1 | 0010101010 |
| 1 | 0 | 1101010100 |
| 1 | 1 | 1101010101 |
En el canal 0, los bits C0 y C1 codifican las señales HSync y VSync.En los demás canales, codifican las señales CTL0 hasta CTL3, utilizadas en HDMI para indicar el tipo de dato que se va a transferir, el estado de HDCP, entre otras cosas.
La TMDS fue desarrollado por Silicon Image Inc. como miembro de Digital Display Working Group.
Una señal TMDS es similar a una señal diferencial de bajo voltaje (LVDS) en el sentido de que utiliza señalización difrencial para reducir la interferencia electromagnética, lo que permite transferencias de señales más rápidas y con una mayor precisión. TMDS también utiliza un cable de par trenzado para reducir el ruido, en lugar de cable coaxial que es el convencional para transmitir señales de vídeo. Al igual que las señales LVDS, la transmisión de datos es en serie sobre el enlace de datos. Al transmitir datos de vídeo por HDMI, se utilizan tres pares trenzados de TMDS para la transferencia de dichos datos. Cada uno de los tres pares corresponde a un componente RGB.
La capa física para TMDS es Current Mode Logic (CML), acoplada en CD a 3,3 Volts. Si bien los datos son equilibrados en CD (por el algoritmo de codificación), el acoplamiento en directa es parte de la especificación. Las señales TMDS pueden ser conmutadas o repetidas por cualquier método aplicable a las señales CML. Sin embargo, si el acoplamiento directo al transmisor no se conserva, las características de "detección de monitor" de algunos transmisores pueden no funcionar correctamente.