Download Zumbadores, altavoces y audio CODECs
Document related concepts
no text concepts found
Transcript
1 tema 6: zumbadores, altavoces y stereo CODECs Diseño Automático de Sistemas José Manuel Mendías Cuadros Dpto. Arquitectura de Computadores y Automática Universidad Complutense de Madrid 2 sonido y música (i) ⌦ Un sonido es una onda longitudinal mecánica con una frecuencia comprendida entre 20 y 20000 Hz. una onda longitudinal es aquella cuya dirección de propagación es igual a la de oscilación de las partículas que forman el medio donde se propaga. un sonido es una vibración periódica de las partículas del aire que macroscópicamente se manifiesta como una variación periódica de la presión en un cierto punto. © J.M. Mendías, 2001 ⌦ Magnitudes objetivas del sonido: Frecuencia: número de vibraciones completas por unidad de tiempo. Amplitud: valor máximo de la elongación de una vibración. Intensidad: cantidad media de energía transportada por una onda, por unidad de superficie y tiempo. Es proporcional al cuadrado de la amplitud de la onda. dado el amplio intervalo de intensidades perceptibles, se utiliza una escala logarítmica relativa denominada nivel de intensidad que se expresa en decibelios. ⌦ Magnitudes subjetivas del sonido: Sonoridad o volumen: percepción humana de la intensidad, entre otros factores, depende de la amplitud y de la frecuencia de la onda. Tono: percepción humana de la frecuencia de una onda, entre otros factores depende de la amplitud y de la frecuencia de la onda. Timbre: percepción humana de la forma de la onda, es decir, del número, intensidad y distribución temporal de los armónicos que forman un sonido. diseño automático de sistemas 3 sonido y música (ii) ⌦ Tipos de sonidos: © J.M. Mendías, 2001 Nota musical pura: onda sinusoidal de frecuencia y amplitud definidas. Nota musical real: onda formada por la superposición de un número relativamente pequeño de notas puras (la fundamental y los armónicos), de frecuencias relacionadas y amplitudes diferentes. Ruido: onda formada por la superposición de un gran número de ondas de frecuencias y amplitudes no relacionadas. ⌦ Una composición musical es una sucesión de una o varias notas simultáneas, donde las frecuencias fundamentales de las notas y sus duraciones guardan una relación simple entre sí. La relación de frecuencias permite clasificar las notas por escalas y por octavas, y permite determinar cuando una cierta composición es armoniosa. La duración de las notas habitualmente suele guardar una relación 2/1 una redonda dura el doble que una blanca una blanca dura el doble que una negra (o la mitad de una redonda) una negra dura el doble que una corchea (o la mitad de una blanca) Esta relación entre las duraciones permite agruparlas en compases. Los conceptos subjetivos asociados respectivamente a la relación entre frecuencias y a la relación entre duraciones, se llaman armonía y ritmo. diseño automático de sistemas 4 sonido y música (iii) © J.M. Mendías, 2001 ⌦ Una escala diatónica exacta es aquella que incluye las 8 notas (octava) que forman los 3 acordes mayores: Un acorde mayor esta formado por 3 notas (primera, tercera y quinta) cuyas frecuencias guardan una relación de 4/4, 5/4 y 6/4. La relación entre las frecuencias de la misma nota en octavas consecutivas es 2/1. Conociendo las frecuencias relativas de las notas, basta fijar la frecuencia absoluta de una de ellas para para determinar la frecuencia absoluta las demás Por convenio internacional la frecuencia del LA que se encuentra a la derecha del DO central del piano es de 440 Hz. Algunas notas difieren entre sí 1 tono (cuando la relación entre sus frecuencias es 9/8 o 10/9) ó 1 semitono (cuando la relación entre sus frecuencias es 16/15) Escala diatónica exacta en DO mayor 1 tono 1 tono 1 semitono 1 tono 1 tono 1 tono 1 semitono DO central RE MI FA SOL LA SI DO 264 Hz 297 Hz 330 Hz 352 Hz 396 Hz 440 Hz 495 Hz 528 Hz 9/8 10/9 16/15 9/8 2/1 diseño automático de sistemas 10/9 9/8 16/15 5 sonido y música (iv) Construcción de la escala diatónica exacta en DO mayor DO central RE MI FA SOL LA SI DO 264 Hz 297 Hz 330 Hz 352 Hz 396 Hz 440 Hz 495 Hz 528 Hz DO mayor 10/9 16/15 9/8 10/9 DO central MI SOL 264 Hz 330 Hz 396 Hz 9/8 16/15 5/4 SOL mayor © J.M. Mendías, 2001 9/8 6/4 RE SOL SI RE 297 Hz 396 Hz 495 Hz 594 Hz FA mayor 3/4 5/4 6/4 DO central FA LA 264 Hz 352 Hz 440 Hz DO 528 Hz 5/4 3/4 6/4 diseño automático de sistemas 6 sonido y música (v) ⌦ Si se construyese una escala diatónica exacta partiendo de RE serían necesarias nuevas notas con frecuencias diferentes a las de la escala exacta en DO mayor. Si tuvieran que disponerse sonidos para todas las posible claves musicales se precisarían muchas notas diferentes por octava. © J.M. Mendías, 2001 ⌦ Una escala uniformemente temperada incluye 13 notas por octava cuyas frecuencias están uniformemente espaciadas cualesquiera 2 notas consecutivas difieren entre sí en un semitono, y sus frecuencias siempre guardan una relación de 12 2 Este hecho permite calcular la frecuencia absoluta de cualquier nota a partir de la frecuencia de una de ellas según la fórmula fnota = fLA ⋅ 12 2n = 440 ⋅ 12 2n ≈ 440 ⋅ 1.06n donde n es el número de notas de separación respecto del LA (negativo hacia la izquierda). DO# RE# FA# SOL# LA# 277.2 Hz 311.1 Hz 370.0 Hz 415.3 Hz 466.2 Hz DO central RE MI FA SOL LA SI DO 261.6 Hz 293.7 Hz 329.6 Hz 349.2 Hz 392.0 Hz 440 Hz 493.9 Hz 523.3 Hz 6 2 6 2 12 2 diseño automático de sistemas 6 2 6 2 6 2 12 2 7 sonido y música (v) © J.M. Mendías, 2001 ⌦ La diferencia fundamental entre la escala exacta y la uniformemente temperada, es que mientras la primera se acomoda mejor a las preferencias del oído, la segunda es más práctica. Una pieza musical compuesta en una cierta tonalidad, suena mejor (más armoniosamente) cuando la frecuencia de las notas se ajusta a la escala exacta. Sin embargo, una pieza musical suena relativamente bien, independientemente de la tonalidad para la que haya sido compuesta, cuando la frecuencia de las notas se ajusta a la escala uniformemente temperada. Los instrumentos musicales típicamente están ajustados según la segunda escala. diseño automático de sistemas 8 generación digital de sonido (i) © J.M. Mendías, 2001 ⌦ Un sistema digital puede generar sonidos a través de un altavoz. ⌦ Un altavoz, es un transductor capaz de generar una onda sonora análoga (en frecuencia y amplitud) a una señal eléctrica dada. ⌦ Se compone de una membrana elástica unida a una bobina móvil que se monta dentro del campo magnético de un imán permanente. La fuerza de atracción entre la bobina y el imán es función de la intensidad y el sentido de la corriente que circule por la bobina. Cambios en la corriente, provocan movimientos en la bobina que se traducen en vibraciones de la membrana. Si estas vibraciones tienen la frecuencia adecuada, se escucha un sonido. ⌦ Dado que un sistema digital puede generar una señal digital periódica a través de uno de sus pines, puede producir sonidos si dicho pin se conecta un altavoz. Si se desea generar un sonido complejo, se debe generar por separado cada uno de sus armónicos y sumarlos para generar una única señal. ⌦ Un zumbador es un pequeño altavoz conectado a un oscilador de frecuencia fija. desde un sistema digital solo puede controlarse si suena o no +5V altavoz diseño automático de sistemas +5V zumbador 9 generación digital de sonido (ii) 47783 ciclos 23892 ciclos oscilador CONT MOD 47783 buzz > 23891 16 3.823 ms (261.6 Hz = DO) © J.M. Mendías, 2001 23891 ciclos mientras buzz = 1 genera un DO CONT 1250000-0 st oscilador CONT MOD 47783 bipp timer fCLK = 12.5 Mhz (80 ns) tc > 23891 16 0.5 s genera un DO durante 0.5 s cuando bipp = 1 (261.6 Hz = DO) diseño automático de sistemas 10 generación digital de sonido (iii) ⌦ Diseñar un generador de sonidos programable, capaz de generar las 84 notas que forman las 7 octavas centrales del piano: note sharp octave newNote sound fCLK = 12.5 Mhz (80 ns) tabla de notas# tabla de notas 1 0 12 × 27 − octave 18 = ld 3 semiPer © J.M. Mendías, 2001 note: indica la nota a generar (silencio, DO, RE, MI ... SI) sharp: indica si la nota es natural o sostenida . octave: indica la octava a la que pertenece la nota (numerada de izquierda a derecha: DO central pertenece a la 4ª octava) newNote: señal de strobe. cl oscilador 18 diseño automático de sistemas T Q 11 generación digital de sonido (iv) ⌦ Para generar 84 sonidos diferentes sería necesario una tabla conteniendo la duración en ciclos del periodo (o semiperiodo) de cada nota, © J.M. Mendías, 2001 Sin embargo, como la relación entre las frecuencias de la misma nota en octavas diferentes es múltiplo de 2, nos basta con 2 tablas de 8 entradas (una para notas naturales y otra para notas sostenidas) y un desplazador. tabla de notas (se selecciona cuando sharp = 0) note 000 frecuencia nota (Hz) (7ª octava) 0 silencio DO 3520 ⋅ 12 2− 9 010 1/2 periodo (ciclos) 0 tabla de notas# (se selecciona cuando sharp = 1) note 000 nota frecuencia (7ª octava) (Hz) 0 silencio 1/2 periodo (ciclos) 0 001 DO# 3520 ⋅ 12 2−8 2819 2660 010 RE# 3520 ⋅ 12 2− 6 2511 3520 ⋅ 12 2− 5 2370 011 MI#=FA 3520 ⋅ 12 2− 4 2237 FA 3520 ⋅ 12 2− 4 2237 100 FA# 3520 ⋅ 12 2−3 2112 101 SOL 1993 101 SOL# 3520 ⋅ 12 2−1 1881 110 LA 3520 ⋅ 12 2− 2 3520 1776 110 LA# 3520 ⋅ 12 21 1676 111 SI 3520 ⋅ 12 22 1582 111 SI#=DO 3520 ⋅ 12 23 1493 001 RE 3520 ⋅ −7 011 MI 100 12 2 2986 diseño automático de sistemas 12 generación digital de sonido (v) ⌦ Diseñar un metrónomo programable, capaz de medir las 7 duraciones de nota posibles: figure: indica la duración a generar (silencio, semifusa, fusa, ..., redonda) start: señal de strobe. end: señal de fin de medida. start figure © J.M. Mendías, 2001 3 ld figureReg 7 cl ce cyclesCnt cl tc ce CONT MOD 13021 (60 negras/segundo) (960 semifusas/segundo) 0 8 semifusaCnt 6 6 fCLK = 12.5 Mhz (80 ns) = end diseño automático de sistemas 13 generación digital de sonido (vi) ⌦ Con una única salida digital oscilando entre 0 y 1, sólo se pueden generar ondas cuadradas que varíen entre 2 niveles eléctricos. © J.M. Mendías, 2001 por lo que un sistema digital sólo puede controlar el tono (frecuencia) del sonido, pero no el volumen (amplitud) ni el timbre (forma) del mismo. para poder generar ondas con mayor riqueza es necesario disponer de un conversor digital/analógico. +5V n D/A ⌦ Un audio CODEC es un conversor analógico/digital y digital/analógico especializado en el muestreo y generación de señales dentro del rango de frecuencias audibles. Las señales que muestrea son señales eléctricas analógicas generadas a partir de ondas sonoras captadas por un micrófono, o generadas por un sistema de audio. Las señales que genera son señales eléctricas analógicas que pueden transformarse en ondas sonoras a través de un altavoz, o ser procesadas por un sistema de audio. ⌦ Elementos de un CODEC: número de canales: número de señales que es capaz de muestrear/generar simultáneamente. CODECs mono (1 canal), CODECs stéreo (2 canales). resolución: núm. de bits usados para codificar el valor de la muestra (amplitud de la onda). periodo de muestreo: intervalo que transcurre entre 2 muestras consecutivas. diseño automático de sistemas 14 audio CODEC AK4520A: funcionamiento (i) © J.M. Mendías, 2001 ⌦ AK4520A es un audio CODEC stéreo de 20 bits de resolución, con frecuencia de muestreo configurable en el rango de 16KHz a 54 KHz y transmisión serie síncrona de muestras. ⌦ Funcionamiento del ADC (conversor analógico-digital): Muestrea simultáneamente a una frecuencia configurable fs, las dos entradas analógicas que tiene por canal (AINL+, AINL-) y (AINR+, AINR-). Digitaliza y formatea las muestras según el valor de las entradas (DIF1, DIF0). Transmite las muestras digitales en serie a través del puerto STDO. ⌦ Funcionamiento del DAC (conversor digital-analógico) Recibe en serie las muestras digitales a través del puerto STDI. Interpreta las muestras según el formato indicado por el valor de las entradas (DIF1, DIF0). Convierte las muestras en valores analógicos que enviará por los puertos (AOUTL y AOUTR). ⌦ Su funcionamiento se controla por medio de 3 señales de reloj: MCLK: determina la frecuencia de muestreo fs. LRCK: determina la muestra (izquierda o derecha) que se está transmitiendo a través del puerto serie STDO. SCLK: sincroniza la transferencia serie de cada uno de los bits de la muestra. diseño automático de sistemas 15 audio CODEC AK4520A: funcionamiento (ii) V funcionamiento ADC periodo de muestreo © J.M. Mendías, 2001 valor de la primera muestra t V funcionamiento DAC t diseño automático de sistemas 16 entradas analógicas AINLAINL+ AINRAINR+ voltajes de referencia para entradas VREFH VREFL salidas analógicas AOUTL AOUTR voltaje de referencia común para salidas VCOM AK5420A interfaz analógico reloj principal selector de canal reloj de transmisión de datos serie STDI STDO entrada serie de datos salida serie de datos interfaz digital VD DGND alimentación analógical alimentación digital AGND selector de-enfasis test VA DEM diseño automático de sistemas TST configuración de power-down alimentación, configuración y test MCLK LRCK SCLK CMODE formato de datos serie DIF selector de frecuencia de muestreo PWDA* PWAD* © J.M. Mendías, 2001 audio CODEC AK4520A: pinout (ii) 17 audio CODEC AK4520A: configuración (iii) ⌦ CMODE, determina la relación entre la frecuencia de muestreo, fs, y la frecuencia del reloj principal fMCLK CMODE = 0: fMCLK = 256 fs CMODE = 1: fMCLK = 384 fs © J.M. Mendías, 2001 ⌦ DIF, determina el formato de transmisión serie de la muestra digital. Las muestras son enteros con signo codificados en C2. DIF = (00): canal izq. = LRCK, canal der. = LRCK*, fSCLK ≥ 32 fs STDO: 20 bits, justificado MSB STDI: 16 bits, justificado LSB DIF = (01): canal izq. = LRCK, canal der. = LRCK*, fSCLK ≥ 40 fs STDO: 20 bits, justificado MSB STDI: 20 bits, justificado LSB DIF = (10): canal izq. = LRCK, canal der. = LRCK*, fSCLK ≥ 40 fs STDO: 20 bits, justificado MSB STDI: 20 bits, justificado MSB DIF = (11): canal izq. = LRCK*, canal der. = LRCK, fSCLK = 32 fs ó fSCLK ≥ 40 fs STDO: IIS (I2S) STDI: IIS (I2S) diseño automático de sistemas 18 AK4520A en las placas de prototipado (i) +5V IMPORTANTE los switches 3-7 deben estar abiertos (posición 1) y el jumper J17 puesto tipo A, B, C fMCLK = 256 fs, fSCLK ≥ 40 fs canal izq. = LRCK, canal der. = LRCK* STDO/STDI: 20 bits, C2, justificado MSB FPGA 1 DIF1 0 DIF0 0 CMODE P9 MCLK P77 SCLK P66 LRCK P70 P6 diseño automático de sistemas STDI J17 STDO AK4520A © J.M. Mendías, 2001 SW3 SW4 SW5 SW6 SW7 19 AK4520A en las placas de prototipado (ii) fMCLK = 256 fs, fSCLK ≥ 40 fs canal izq. = LRCK, canal der. = LRCK* STDO/STDI: 20 bits, C2, justificado MSB FPGA 1 DIF1 0 DIF0 0 CMODE P3 MCLK P5 SCLK P4 LRCK P6 STDI P7 STDO AK4520A © J.M. Mendías, 2001 tipo D diseño automático de sistemas 20 audio CODEC AK4520A: temporización (i) 244 ns (max) 27 ns (min) ⇒ fMCLK = 4.096 MHz (min) ⇒ fs = 16 KHz (min) 27 ns (min) MCLK fMCLK = 256 fs 72 ns (min) ⇒ fMCLK = 13.824 MHz (max) ⇒ fs = 54 KHz (max) © J.M. Mendías, 2001 289 ns (min) 120 ns (min) fSCLK ≥ 40 fs = 40 fMCLK / 256 fSCLK = 64 fs = fMCLK / 4 (típico) SCLK 30 ns (min) fLRCK = fs ciclo de trabajo 45-55% 120 ns (min) 30 ns (min) LRCK 100 ns (max) 100 ns (max) STDO STDI 40 ns (min) 40 ns (min) diseño automático de sistemas 21 audio CODEC AK4520A: temporización (i) 32 ciclos de SCLK (típico) 32 ciclos de SCLK (típico) © J.M. Mendías, 2001 SCLK LRCK STDO 19 18 1 0 19 18 1 0 19 STDI 19 18 1 0 19 18 1 0 19 transmisión de la muestra del canal izquierdo transmisión de la muestra del canal derecho diseño automático de sistemas 22 control del audio CODEC AK4520A (i) Selección y generación de frecuencias ⌦ Selección de fMCLK fMCLK = fCLK = 12.5 MHz ⇒ fs = fMCLK ÷ 256 = 48.828 KHz 13.824 Mhz ≥ fMCLK ≥ 4.096 MHz ⌦ Selección de fSCLK ⌦ Selección de fLRCK fLRCK = fs ⇒ fLRCK = fCLK ÷ 256 MCLK clkGen clk CONT MOD 256 fCLK = 12.5 Mhz (80 ns) © J.M. Mendías, 2001 fSCLK = 64 fs ≥ 40 fs fSCLK = 64 fs ⇒ fSCLK = fCLK ÷ 4 0 1 2 3 4 5 6 7 transSubCycle diseño automático de sistemas SCLK necesarios dependiendo de la placa tranCycle LRCK 23 control del audio CODEC AK4520A (ii) 80 ns fCLK = 12.5 Mhz (80 ns) MCLK clk 00 transSubCycle 01 10 11 00 01 10 11 00 01 10 11 00 01 10 11 © J.M. Mendías, 2001 clkGen(0) 4 ciclos = 320 ns > 289 ns 2 ciclos = 160 ns > 120 ns 2 ciclos = 30 ns > 120 ns 2 ciclos = 160 ns > 30 ns 2 ciclos = 30 ns > 30 ns SCLK clkGen(1) LRCK clkGen(7) 100 ns STDO 100 ns 19 17 18 la lectura síncrona es posible durante 2 ciclos STDI 19 3 ciclos = 240 ns > 40 ns 18 17 1 ciclo = 80 ns > 40 ns diseño automático de sistemas 24 control del audio CODEC AK4520A (iii) Receptor de muestras © J.M. Mendías, 2001 ⌦ La conversión serie/paralelo requiere 2 registros de desplazamiento de 20 bits (uno por canal), cada uno de los cuales deberá desplazar cuando: STDO esté transmitiendo los datos correspondientes a su canal: clkGen(7) = ‘1’ para canal izquierdo, clkGen(7) = ‘0’ para canal derecho STDO esté transmitiendo datos válidos, es decir pertenecientes a la muestra en curso: transCycle < 20 los datos que transmite STDO estén estabilizados: transSubCycle = 2 (podría ser tambien transSubCycle = 3) < 20 leftSTDOsh transCycle se =2 20 transSubCycle muestra canal izquierdo STDO rightSTDOsh se 20 muestra canal derecho diseño automático de sistemas clkGen(7) 25 control del audio CODEC AK4520A (iv) Transmisor de muestras © J.M. Mendías, 2001 ⌦ La conversión paralelo/serie también requiere 2 registros de desplazamiento de 20 bits (uno por canal). ⌦ Cada uno de estos registros deberá desplazar cuando: por STDI se deban transmitir los datos correspondientes a su canal: clkGen(7) = ‘1’ para canal izquierdo, clkGen(7) = ‘0’ para canal derecho por STDI se deban transmitir datos válidos, es decir pertenecientes a la muestra en curso: transCycle < 20 de manera que los datos que transmite STDI estén estabilizados con antelación suficiente: transSubCycle = 2 ⌦ Cada uno de estos registros deberá cargar un nuevo dato en algún instante anterior al comienzo de su transmisión, en particular en el último ciclo de reloj del intervalo de transmisión de datos correspondientes al canal contrario: para canal izquierdo cuando: clkGen(7) = ‘0’ y transCycle = 31 y transSubCycle = 3 para canal derecho cuando: clkGen(7) = ‘1’ y transCycle = 31 y transSubCycle = 3 ⌦ Lo valores a transmitir por la línea STDI se obtendrán multiplexando (según el valor de clkGen(7)) las salidas serie de los registros de desplazamiento. diseño automático de sistemas 26 control del audio CODEC AK4520A (v) Transmisor de muestras (cont.) clkGen(7) muestra canal izquierdo clkGen(7) © J.M. Mendías, 2001 20 leftSTDIsh 1 0 ld se < 20 transCycle =2 transSubCycle = 31 transCycle =3 transSubCycle muestra canal derecho 20 rightSTDIsh ld se necesario dependiendo de la placa STDI diseño automático de sistemas 27 control del audio CODEC AK4520A (vi) Conectando directamente leftSTDOSh a leftSTDISh y rightSTDOSh a rightSTDISh es posible hacer un puente digital stéreo de audio LRCK muestra izq. 1 © J.M. Mendías, 2001 STDO leftSTDOsh muestra der. 1 muestra izq. 2 muestra izq. 1 muestra der. 2 muestra izq. 3 muestra der. 3 muestra izq. 2 muestra der. 1 rightSTDOsh muestra izq. 3 muestra der. 2 leftSTDIsh rightSTDIsh muestra izq. 1 STDI muestra der. 1 muestra izq. 2 muestra der. 2 diseño automático de sistemas 28 control del audio CODEC AK4520A (vi) ⌦ Diseñar un zumbador usando como dispositivo de salida un audio CODEC. buzz: cuando vale 1 genera un DO. 8000 (max. negativo en C2) 1 > 23891 16 oscilator 0 (261.6 Hz = DO) CONT MOD 47783 © J.M. Mendías, 2001 7FFF (max. positivo en C2) 20 ld STDIshifter se STDI = 31 transCycle =3 transSubCycle < 20 transCycle buzz =2 diseño automático de sistemas transSubCycle 29 control del audio CODEC AK4520A (vii) ⌦ Dado que sólo se transmiten 2 valores diferentes, el diseño se puede simplificar eliminando el desplazador. MCLK clk © J.M. Mendías, 2001 LRCK oscilador > 23891 0 CONT MOD 47783 1 STDI CONT MOD 256 =0 clkGen 0 1 2 3 4 5 6 7 SCLK (261.6 Hz = DO) fCLK = 12.5 Mhz (80 ns) buzz diseño automático de sistemas 30 procesado digital de señal (i) clk rst © J.M. Mendías, 2001 A/D DSP n n (procesador digital señal) D/A sampleClk circuito de eco digital simulación digital de eco Σ din Σ retardo (FIFO) b dout • pared situada a 100 m del emisor • velocidad sonido: 340 m/s • frecuencia de muestreo: 48.828 KHz. • retardo = 200 / 340 = 0.59 s a diseño automático de sistemas • capacidad FIFO: 0.59 × 48828 = 28722 muestras • a < 1 (factor de realimentación < 1) 31 procesado digital de señal (ii) ⌦ Diseñar un interfaz monocanal, parametrizable, orientado a DSP, con un audio CODEC (AK4520A). wordLenght: anchura de la muestra (de 20 a 1 bits, truncando los menos significativos). sampleFrecuency: frecuencia de muestreo 0: 48.828 KHz, 1: 24.414 KHz, 2: 12.207 KHz, 3: 6.103 KHz, 4: 3.051 KHz channel: canal usado 0: izquierdo, 1: derecho © J.M. Mendías, 2001 ⌦ El interfaz debe usar un protocolo tipo strobe sin espera el tiempo de cálculo máximo del DSP que lo utilice estará relacionado con fCLK y los parámetros sampleFrequency y wordLenght. STDO din dout STDI start rst monoCodecInterface MCLK SCLK clk LRCK diseño automático de sistemas 32 procesado digital de señal (iii) transCycle LRCK 0 1 2 3 4 5 6 7 8 MCLK transSubCycle SCLK transCycle LRCK transCycle LRCK diseño automático de sistemas clkGen enable MCLK transSubCycle SCLK sampleFrequency = 3 0 1 2 3 4 5 6 7 8 9 CONT MOD 2048 clk clkGen CONT MOD 1024 enable clkGen transSubCycle SCLK CONT MOD 512 0 1 2 3 4 5 6 7 clk sampleFrequency = 1 MCLK clkGen CONT MOD 256 sampleFrequency = 0 enable clk sampleFrequency = 2 © J.M. Mendías, 2001 1 clk 0 1 2 3 4 5 6 7 8 9 10 enable MCLK transSubCycle SCLK transCycle LRCK 33 procesado digital de señal (iv) clk MCLK clkGen CONT MOD 256 © J.M. Mendías, 2001 clk 0 1 2 3 4 5 6 7 transSubCycle SCLK transCycle LRCK CONT MOD 28+sampleFrequency enable 1 0 1 ... sampleFrequency -1 sampleFrequency sampleFrequency + 1 sampleFrequency + 2 sampleFrequency + 3 sampleFrequency + 4 sampleFrequency + 5 sampleFrequency + 6 sampleFrequency + 7 sampleFrequency = 0 enable ... clkGen MCLK transSubCycle SCLK transCycle LRCK sampleFrequency > 0 ⌦ SampleFrecuency = 0 tiempo cálculo = 256 - 4·wordLenght ⇒ tiempo cálculo min. = 256 - 4·20 = 248 ciclos ⌦ SampleFrecuency = 1 tiempo cálculo = 512 - 8·wordLenght ⇒ tiempo cálculo min. = 512 - 8·20 = 352 ciclos tiempo cálculo = 28+sampleFrequency - wordLenght ·22+sampleFrequency diseño automático de sistemas 34 procesado digital de señal (v) STDO transWindow © J.M. Mendías, 2001 dout STDOsh wordLength STDIsh channelSel ld se ldSTDIsh shift wordLength din ruta de datos diseño automático de sistemas shift wordLength dinReg STDI se ld ldDinReg 35 procesado digital de señal (vi) clkGen(sampleFrequency+7) enable channel channelSel © J.M. Mendías, 2001 transSubCycle =2 shift transCycle transSubCycle transWindow < wordLenght =0 ldDinReg transCycle = wordLenght D Q transSubCycle start =3 ldSTDIsh transCycle = 31 diseño automático de sistemas