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