Noticias:

Auriculares.org: el foro sobre auriculares en español

Menú Principal

Implementacion de USB en Isabellina HPA (por Red Wine Audio)

Iniciado por mrarroyo, Agosto 03, 2009, 19:07:13

Tema anterior - Siguiente tema

Ignacio

Perdonadme. He tenido un repentino "asuntillo" familiar que me ha tenido apartado del mundanal ruido unos días. A ver si ahora tengo un rato y subo esos diagramas y su explicación.

Saludos.
Ignacio.
Audiomeca Romance/Romeo, DV XX2 Mk.II, PC: cMP2 (ortodoxo), Fanfare FT-1A.
Tact 2.2 XP, Murano P1000S.
Quad ESL 989.
CKKIII, Sen's HD600
Cardas GR, Cello Strings, VdH Revelation

Ignacio

#16
Tan solo quería mostrar una versión más doméstica de lo que ya ha explicado muy bien Lord.Camilo. Ahí va:

I2S: un poco de historia

I2S es el protocolo estandar para transmisión de señales digitales de audio entre dispositivos electrónicos -inicialmente en formato PCM, aunque hoy en día también se usa para transmitir señales DSD-, léase los chips que realmente tratan la señal digital. Fue diseñado como un bus de señales digitales entre una fuente (como el mecanismo lector de los CDs/DVDs), un procesador de señales (también llamado DSP, como puede ser un chip que convierta de 16/44.1 a 24/96 o un filtro digital) y el convertidor propiamente dicho (que es un chip que llamaremos DAC). Esto es importante porque generalmente se tiende a identificar el DAC con el aparato completo que convierte de digital a analógico, pero realmente el DAC es solo una parte de dicho aparato.

Lo importante de este bus es que contiene, al menos, 3 tipos de señales importantes que se transmiten en paralelo:

Data: es una linea que transmite los datos digitales -el contenido del CD- secuencialmente, es decir, en serie: un bit detrás de otro.
BCK: es una señal de reloj que indica al receptor de los datos, donde empieza cada bit de la señal de datos.
WCK: es una señal de reloj que indica al receptor de los datos donde empieza cada palabra o conjunto de bits -recordemos que en el caso de los CDs, cada palabra contiene 16 bits-.

Con estas 3 señales básicas, se maneja toda la información de la transmisión digital. También podemos en ocasiones ver alguna señal adicional como la MCK que es una señal de un "Reloj maestro" que se suele tomar como referencia para sincronizar todas las señales de reloj de los diferentes dispositivos y transmisiones, pero no es estrictamente necesaria.  

Originalmente no estaba previsto fuera del mundo profesional que la transmisión de señales digitales saliera fuera de los aparatos de captura. Es decir que no se contemplaba la existencia de transportes de CDs y de convertidores separados, sino que todos los lectores de CDs eran cerrados y solo disponían del mecanismo lector y del DAC. Así pues, los elementos básicos que manejan el bus I2S son los siguientes:

El mecanismo de lectura de la fuente digital (los CDs), que lee los bits del disco y los transmite vía el bus I2S:



y el DAC, que lee los datos del bus I2S y genera la señal analógica de toda vida:



De esta manera, un lector de CDs básico es algo así como esto:



Si recordais los primeros años del CD, éstos eran acusados de no sonar demasiado bien -¡sonaban horribles!-. Así fue como aparecieron los primeros lectores de CDs que incluían DSPs con diversas funciones según el diseño que se quisiera implementar: diferentes tipos de filtrado digital, oversampling, distintos niveles de dithering, etc. No hace falta que sepais que es todo esto, tan solo saber que lo que se pretendía era "adecuar" la señal digital antes de proporcionársela al DAc con el objeto de que sonara mejor. Así pues, el diseño resultante de un lector de CD moderno viene a ser el siguiente:



Por supuesto, este dibujo solo muestra los bloques de transferencia de datos básicos a efectos de comprensión del mismo. Además, llevan otros dispositivos electrónicos como la fuente de alimentación, amplificación, etc.

El problema que plantea el bus I2S es que, al tratarse de un bus de datos, tiene unas características electricas que han sido diseñadas para funcionar como tal, pequeño voltage y bajo consumo, en un entorno pequeño y controlado, dentro de equipos cuyos dispositivos electrónicos están muy cerca e inmunes a ciertas contingencias del exterior. Es decir, el típico circuito impreso con los dispositivos electrónicos conectados a él, tal como ha comentado Lord Camilo. Al llevar separadas las señales de reloj y datos es muy importante mantener el sincronismo entre dichas señales pues la variación de cualquier señal de reloj producirá la lectura erronea de los bits o palabras de datos. Es por esto que el bus I2S es tremendamente sensible al problema del jitter.


AES/EBU y SPDIF


Todo lo dicho anteriormente también es aplicable para la señal en sentido inverso, es decir, desde una fuente analógica, se convierte a digital (por un dispositivo llamado ADC) y se transmite vía I2S a los dispositivos de edición de audio y las máquinas que fabricaban los CDs.

Sin embargo, los estudios de sonido se encontraron con el problema de que las distancias entre los equipos que capturaban el sonido, los de edición y los de producción solían ser demasiado grandes. La distancia en la transmisión de señales siempre genera problemas de jitter por lo que no es aplicable conectar diferentes equipos usando un cable largo que transportara un bus I2S pues el jitter generado por la distancia produciría pérdida de sincronismo entre las diferentes señales del bus, las de reloj y la de datos.

Para solucionar esto, la Audio Engineering Society (AES) y la European Broadcasting Union (EBU) diseñaron un protocolo que permitiera enviar todas las señales juntas secuencialmente en un único canal, de tal manera que el jitter afectaría por igual a todas las señales evitando que se produzca desincronización entre ambas. El resultado es el protocolo AES/EBU que consiste en una única transmisión serie de señales digitales de audio para largas distancias.

Hay que tener claro que el protocolo AES/EBU no sustituye al I2S. Internamente, dentro de cada equipo, la señal digital de audio se sigue tranmitiendo siempre mediante el bus I2S, pero para conectar diferentes equipos, entonces se transmite usando AES/EBU. Esto significa que todos los equipos deben estar equipados con dispositivos de entrada que lean la señal AES/EBU y la conviertan a I2S para transmisión interna, y con dispositivos de salida que hagan lo contrario. Más adelante ilustraré esto con el protocolo SPDIF, que funciona de la misma forma.

Con el paso del tiempo y la aparición de nuevas fuentes digitales de audio diferentes al CD, se vio la necesidad en el entorno doméstico, no profesional, de que las fuentes de audio no tenían porque estar dentro del mismo equipo que el convertidor (DAC), lo que obligaría a disponer de un DAC para cada fuente diferente. Y, además, en el caso de los lectores de CD se comprendió que los procesos de lectura y de conversión eran tan diferentes que ambos se beneficiarían de disponer de su propia electrónica trabajando separadamente. Esto planteó un caso parecido al explicado anteriormente: el protocolo I2S se mostraba inadecuado para la transmisión entre equipos separados. En un principio se penso en adoptar el mismo protocolo AES/EBU, pero éste es un protocolo eléctricamente muy robusto, diseñado para transmisión en muy largas distancias que no se dan en un entorno doméstico, por lo que no es necasaria tanta robustez.

Así fue como los inventores del CD, Philips y Sony, decidieron adaptar el protocolo AES/EBU para uso doméstico y diseñaron el protocolo SPDIF (anagrama de Sony/Philips Digital Interconnect Format).

El SPDIF es una adaptación del AES/EBU para el entorno doméstico, básicamente igual pero variando las especificaciones eléctricas y alguna otra pequeña diferencia. Así pues, al igual que pasaba con el AES/EBU, internamente, dentro de cada equipo, la señal digital de audio se sigue tranmitiendo siempre mediante el bus I2S, pero para conectar diferentes equipos, entonces se transmite usando SPDIF. Esto significa que todos los equipos deben estar equipados con dispositivos de entrada que lean la señal SPDIF y la conviertan a I2S para transmisión interna:



y con dispositivos de salida que hagan lo contrario:




USB

USB (Bus Serie Universal) es un bus serie diseñado para transmisión de señales digitales de datos entre ordenadores y sus periféricos a distancias medias (máximo  metros sin repetidor). Por lo tanto, todo lo que se conecte al bus USB tiene que ser reconocido por el ordenador como un periférico suyo. Entonces, por el bus circula tanto la señal de intercambio de datos entre el ordenador y el periférico, como las señales de control del mismo. Además, el bus USB provee de una señal de 5V para alimentar a los periféricos conectados a él, liberándolos de la necesidad de tener una fuente de alimentación propia (de ahí el comentario acerca de la alimentación del Isabellina).

Eso quiere decir que si el bus USB se quiere usar para aplicaciones de audio, entonces el periférico conectado a él debe ser un dispositivo de audio, como una tarjeta de sonido. Es importante entender que el ordenador no sabe que lo que transmite es audio: la comunicación entre el ordenador y su periférico es siempre una comunicación de datos. Es función del periférico de audio su conversión a una señal digital de audio como puede ser SPDIF, AES/EBU o I2S:



Generalmente la conversión desde USB siempre se realiza a I2S ya que para eso es el protocolo estandar de transmisión de audio digital. Si lo que se desea es obtener a la salida del dispositivo USB una señal SPDIF o, directamente, analógica (los llamados DAC/USB), entonces se usan combinaciones de dispositivos como los ya vistos anteriormente:






No tiene mucho sentido convertir de USB a analógico a través de SPDIF porque entonces se realiza una doble conversión:




Finalmente, los convertidores digitales/analógicos con entradas USB y SPDIF, simplemente hacen uso de un conmutador (manual o automático) para seleccionar cual es la entrada requerida:




Esto es todo. ¡Menuda parrafada ha quedado!. Espero no haberos aburrido mucho y que, al menos, algo haya quedado claro. El objetivo era ser más didáctico que preciso.

Saludos.
Ignacio.
Audiomeca Romance/Romeo, DV XX2 Mk.II, PC: cMP2 (ortodoxo), Fanfare FT-1A.
Tact 2.2 XP, Murano P1000S.
Quad ESL 989.
CKKIII, Sen's HD600
Cardas GR, Cello Strings, VdH Revelation

Max

Enhorabuena por el tocho. :)

Me ha encantado, muy ilustrativo.
Auriculares: HD650, ATH M50, Yuin PK2, Shure SE102
Amplificadores: Fiio E5, Ibasso D2 Boa, Beresford TC-7520 (LM4562NA)
Fuentes: PC, iPod Nano 4G

lord.camilo

Muy buena la explicación Ignacio  :plas: :plas:,

Por cierto tienes más información o conoces algún link interesante respecto al multiplexado de las señales I2S que comentas en la última parte, ya que es una cosa que no acabo de ver demasiado clara y no se hasta que punto el uso relés o multiplexores analógicos pueden estropear las señales I2S, aunque me da en la nariz que los primeros son más aconsejables que los segundos :).

Un saludo.

picodeloro

Muy bueno Ignacio :nosomosdignos::nosomosdignos::nosomosdignos::nosomosdignos:

Experimentaré el tema, pues en mi caso con el Buffalo32S puedo elegir mendiante un conmutador si entro por I2S o por SPDIF y aún no tengo claro como lo voy a configurar, mi intención inicial era usarlo únicamente por USB con el receptor USB que venden ellos, pero por momentos me vienen ideas de ponerle también una entrada coaxial a mayores  :-\.

-- o --
Rodrigo
"All the audiophools need are pilot lights that can be rolled for peace of mind."

Spritzer

mrarroyo

Tremenda informacion, muchas gracias. Lo que entendi y no fue mucho es que la Isabellina convierte de USB a analogo via un DAC sin necesidad del paso intermedio (SPDI/F). A proposito el commutador en la Isabellina es manual y yo lo opero, lo prefiero a los automaticos pues a veces cambian de uno a otro sin necesidad.

Gracias.

Pd: La Isabellina HPA esta comenzando a sonar de maravilla. Contare mas el Domingo cuando tenga 300 horas de rodaje.

Ignacio

#21
Cita de: lord.camilo en Agosto 18, 2009, 16:50:19
Por cierto tienes más información o conoces algún link interesante respecto al multiplexado de las señales I2S que comentas en la última parte, ya que es una cosa que no acabo de ver demasiado clara y no se hasta que punto el uso relés o multiplexores analógicos pueden estropear las señales I2S, aunque me da en la nariz que los primeros son más aconsejables que los segundos :).

En el proyecto de Doede Douma (http://www.dddac.de/ma_dac31.htm), Doede usa un relé (bueno, usa 3, uno para cada linea del bus I2S) accionados por un switch corriente y moliente. Descárgate el PDF de los circuitos de su proyecto porque son bastante ilustrativos: http://www.dddac.de/ma_dac07.htm.

Me sonaba haber leido algo parecido en Twisted Pear Audio, pero acabo de comprobarlo y veo que lo que conmutan son diferentes entradas AES/EBU y SPDIF, no I2S.



Cita de: picodeloro en Agosto 18, 2009, 18:48:14
Experimentaré el tema, pues en mi caso con el Buffalo32S puedo elegir mendiante un conmutador si entro por I2S o por SPDIF y aún no tengo claro como lo voy a configurar, mi intención inicial era usarlo únicamente por USB con el receptor USB que venden ellos, pero por momentos me vienen ideas de ponerle también una entrada coaxial a mayores  :-\.
Rodrigo

Yo creo que usar el Buffalo solo con la entrada USB de Twisted Pear Audio es desaprovechar el tremendo potencial que tiene ese DAC. Ellos usan el PCM2707 como convertidor USB-I2S. Es un buen chip, pero si quieres sacarle su mejor nivel le tienes que hacer una buena fuente y ponerle un buen reloj. Y, sobre todo, solo te permitirá trabajar con resoluciones de 44.1 o 48KHz en el PC, lo que te impide aprovechar la capacidad del PC de trabajar con resoluciones mayores que, créeme, estan a años luz de esos habituales 44.1 o 48KHz. Yo buscaría un convertidor USB-I2S que soportara resoluciones mayores como los que están basados en el chip TAS1020 que es el que utiliza el M-Audio Transit. Una opción muy interesante, y de la que puedes encontrar bastante literatura en internet, es comprar el Transit, que es muy barato, y modificarlo para usar la salida I2S del TAS1020. Busca en Google: "m-audio transit mods".

De todas maneras, yo, en tu caso, no me complicaría la vida: dejaría el Buffalo con la entrada SPDIF, dejando abierto en el futuro la opción de conectarlo vía I2S. Esto te permite usar el Buffalo desde prácticamente cualquier fuente, incluido el PC. A ver si tengo un rato y, aparte de sacar las fotos prometidas al CKIII, os cuento el desarrollo, casi terminado, de mi proyecto de PC como fuente. Lo digo porque si dices que has pensado usar el Buffalo solo con USB es porque, deduzco, solo vas a utilizar el PC como fuente, ¿no?.  Lo que si que puedo adelantarte es que, despues de bastantes experimentos, yo estoy conectando el PC al equipo vía SPDIF.



Cita de: mrarroyo en Agosto 19, 2009, 03:34:42
Tremenda informacion, muchas gracias. Lo que entendi y no fue mucho ....

:juer:



Saludos.
Ignacio.
Audiomeca Romance/Romeo, DV XX2 Mk.II, PC: cMP2 (ortodoxo), Fanfare FT-1A.
Tact 2.2 XP, Murano P1000S.
Quad ESL 989.
CKKIII, Sen's HD600
Cardas GR, Cello Strings, VdH Revelation

EvilEmil

Cita de: Ignacio en Agosto 18, 2009, 14:49:39
Espero no haberos aburrido mucho y que, al menos, algo haya quedado claro. El objetivo era ser más didáctico que preciso.

Claro no, ¡clarísimo :o!

Da verdadero gusto leer este tipo de cuestiones técnicas en un lenguaje sencillo y accesible a todo el mundo, no sólo a gente técnica. En especial cuando se tratan de cuestiones tan de base en nuestro hobby y con las que convivimos a diario. Se agradecen también mucho los gráficos que acompañan el artículo. Ayudan mucho a abstraer todos los conceptos que expones. Me voy a imprimir el post para guardarlo en mi colección de documentos técnicos :), mi particular libro para dummies ;D :D.

Ignacio, no cabe duda de que te lo has currado :pulgar:. Muchas gracias por esta información tan básica y tan importante.

hitoridekimasu

Ignacio, lo mismo digo. Te lo has currado un montón y está todo clarísimo y sencillo de entender. Tienes una gran capacidad didáctica.
Mis agradecimientos y felicitaciones  :plas:

JAD

Pues nada, eso, muy currao, gran aportación didáctica, y lo importante, que cualquiera lo puede entender.

Saludos  y felicidades :pulgar:


Loudness War      This is madness!!

rocoa

Excelente aportación Ignacio! :plas: :plas:.
Gracias y un saludo.

azelais

Interesantísima aportación. Muy bien explicado; es un placer leerlo.
Enhorabuena.
Un saludo

picodeloro

Cita de: Ignacio en Agosto 19, 2009, 10:46:13
Yo creo que usar el Buffalo solo con la entrada USB de Twisted Pear Audio es desaprovechar el tremendo potencial que tiene ese DAC. Ellos usan el PCM2707 como convertidor USB-I2S. Es un buen chip, pero si quieres sacarle su mejor nivel le tienes que hacer una buena fuente y ponerle un buen reloj. Y, sobre todo, solo te permitirá trabajar con resoluciones de 44.1 o 48KHz en el PC, lo que te impide aprovechar la capacidad del PC de trabajar con resoluciones mayores que, créeme, estan a años luz de esos habituales 44.1 o 48KHz. Yo buscaría un convertidor USB-I2S que soportara resoluciones mayores como los que están basados en el chip TAS1020 que es el que utiliza el M-Audio Transit. Una opción muy interesante, y de la que puedes encontrar bastante literatura en internet, es comprar el Transit, que es muy barato, y modificarlo para usar la salida I2S del TAS1020. Busca en Google: "m-audio transit mods".

De todas maneras, yo, en tu caso, no me complicaría la vida: dejaría el Buffalo con la entrada SPDIF, dejando abierto en el futuro la opción de conectarlo vía I2S. Esto te permite usar el Buffalo desde prácticamente cualquier fuente, incluido el PC. A ver si tengo un rato y, aparte de sacar las fotos prometidas al CKIII, os cuento el desarrollo, casi terminado, de mi proyecto de PC como fuente. Lo digo porque si dices que has pensado usar el Buffalo solo con USB es porque, deduzco, solo vas a utilizar el PC como fuente, ¿no?.  Lo que si que puedo adelantarte es que, despues de bastantes experimentos, yo estoy conectando el PC al equipo vía SPDIF.

Muchas gracias por el consejo, desconocía lo de las modificaciones en la Transit, en un principio tenía pensado usar el de Twisted Pear Audio por le tema del I2S y no sabía muy bien como tratar el tema, tenía en mente usar en vez de ese receptor USB el Musiland 01 USB pues al ser 24/192 parace una opción mejor  :-\.

Con respecto a preparar un PC con salida SPDIF pues también me llama mucho, la tarjeta de audio integrada en la placa base de mi ordenador tiene una salida SPDIF, tengo que mirar como va con el DAC. Tengo curiosidad por ver como has tratado este tema del PC.

-- o --
Rodrigo
"All the audiophools need are pilot lights that can be rolled for peace of mind."

Spritzer

Ignacio

Cita de: picodeloro

Muchas gracias por el consejo, desconocía lo de las modificaciones en la Transit, en un principio tenía pensado usar el de Twisted Pear Audio por le tema del I2S y no sabía muy bien como tratar el tema, tenía en mente usar en vez de ese receptor USB el Musiland 01 USB pues al ser 24/192 parace una opción mejor  :-\.


Desconocía esta última versión del Monitor 01. Le acabo de echar un vistazo rápido. Y tienes razón: parece una opción muy, pero que muy muy, interesante.  Y por lo que cuesta, merece la pena probarlo. Acabo de enviar un correo a un vendedor chino que he visto que a USA y Nueva Zelanda lo envía gratis -quiero decir, sin gastos de envío- porque supongo que a España hará lo mismo.


Cita de: picodeloro

Con respecto a preparar un PC con salida SPDIF pues también me llama mucho, la tarjeta de audio integrada en la placa base de mi ordenador tiene una salida SPDIF, tengo que mirar como va con el DAC. Tengo curiosidad por ver como has tratado este tema del PC.


Supongo que sonará mal, como todas las tarjetas de sonido integradas. Lo mejor es deshabilitar esa tarjeta en la BIOS y poner una tarjeta profesional decente. Yo uso una ESI Juli@ muy modificada, aunque todas las modificaciones son muy sencillas de realizar. La Juli@ es una tarjeta muy usada en el DIY precisamente por su calidad intrínseca -tiene una de las mejores salidas SPDIF del mercado- y su facilidad de mejorarla.

Concretamente, las modificaciones realizadas son las siguientes:


  • Eliminar la parte analógica, dejando solo la digital.
  • Eliminar el dichoso conector múltiple que suelen tener este tipo de tarjetas para conectar el cable múltiple que la conecta a los dispositivos midi y de audio.
  • Poner 2 conectores BNC buenos (en mi caso, los Cardas) para la entrada y la salida SPDIF.
  • Modificar la alimentación porque, afortunadamente, la Juli@ tiene separadas la alimentación de la parte de datos de la de audio digital. Esto lo puedes hacer de dos maneras: cambiar el regulador que alimenta la parte digital de la tarjeta por uno bueno y, en este caso, la sigues alimentando desde el PC o, mejor todavía, eliminar ese regulador y utilizar los puntos de soldadura de dicho regulador en la placa como puerta de entrada para una fuente externa.

De esta manera se optimiza la Juli@ para que trabaje sobre lo que mejor hace, que es la salida digital. No obstante, la Juli@ también permitiría extraer la señal I2S, por lo que sería interesante, en tu caso y siempre que el Buffalo estuviera pegadito al PC, ver cómo se comportaba en este caso.

De todas maneras, la tarjeta de sonido es solo una parte del proceso. Lo más complicado es el trabajo sobre el PC. No es un trabajo técnico sino de configuración de la BIOS, del Sistema Operativo, y del software de reproducción para optimizar su rendimiento exclusivamente para audio, por lo que cualquiera lo puede hacer si tiene una guía detallada de los pasos. Prometo describir todo el proceso y poner fotos del mismo. Lo que no prometo es cuando podré hacerlo -ya habeis visto el tiempo que me ha llevado tener un rato para escribir lo del SPDIF-.

Saludos.
Ignacio.
Audiomeca Romance/Romeo, DV XX2 Mk.II, PC: cMP2 (ortodoxo), Fanfare FT-1A.
Tact 2.2 XP, Murano P1000S.
Quad ESL 989.
CKKIII, Sen's HD600
Cardas GR, Cello Strings, VdH Revelation

Ignacio

Se me había olvidado indicar que también tuve una EMU 0404 USB a la que le hice una fuente ad-hoc porque la fuente que traía de origen era una castaña. Esta es otra de las tarjetas más usadas para extraer audio de alta resolución. Así pude comparar entre usar una tarjeta USB o una tarjeta PCI interna. Y, en mi caso, no había ni color: la Juli@ modificada se merendaba con patatas fritas a la 0404.

Así que, hace poco, le regalé la 0404 a un amigo -bueno, no se la regalé, se la cambié por un retal, que a él le sobraba, de 2 metros de cable Furutech α3 de alimentación.

Saludos.
Ignacio.
Audiomeca Romance/Romeo, DV XX2 Mk.II, PC: cMP2 (ortodoxo), Fanfare FT-1A.
Tact 2.2 XP, Murano P1000S.
Quad ESL 989.
CKKIII, Sen's HD600
Cardas GR, Cello Strings, VdH Revelation