ENCICLOPEDIA DE RADIOELECTRÓNICA E INGENIERÍA ELÉCTRICA Reproductor de MP3 - decodificador para PC. Enciclopedia de radioelectrónica e ingeniería eléctrica. Enciclopedia de radioelectrónica e ingeniería eléctrica. / Компьютеры El reproductor de MP3 que se señala a la atención de los lectores es un dispositivo que es un decodificador de MP3 conectado al puerto paralelo (LPT) de una computadora. Se puede usar en un centro de música estacionario o en un automóvil (cuando se usa para controlar y almacenar información de cualquier tipo de computadora o dispositivo en un microcontrolador), para expandir la funcionalidad de las computadoras "lentas", etc. MP3, MPEG-1* Capa 3, MPEG Nombres de audio de una técnica de compresión para un flujo o archivo de audio digitalizado. La característica fundamental de la codificación MPEG es la compresión con pérdida. Después de empaquetar y desempaquetar un archivo de audio utilizando el método MP3, el resultado no es idéntico al original "bit a bit". Por el contrario, el empaquetado excluye deliberadamente los componentes no esenciales de la señal empaquetada, lo que conduce a un aumento extremo de la relación de compresión. Dependiendo de la calidad de sonido requerida, el método MP3 es capaz de comprimir una señal de audio digital diez o más veces. Gracias a esto, las composiciones musicales de un CD de audio en forma comprimida con una calidad de sonido aceptable ocupan solo 60 ... 70 MB. Hoy en día, este formato se está volviendo cada vez más popular. Docenas de dispositivos de varias compañías se producen en masa utilizando una amplia variedad de soportes de información: tarjetas de memoria, CD, discos duros. Hay muchos dispositivos de aficionados, cuyas descripciones, por ejemplo, se pueden encontrar en Internet [1], que van desde computadoras con decodificación de datos de software hasta dispositivos con decodificación de hardware y la capacidad de trabajar con varios medios diferentes simultáneamente. Sin embargo, el uso de un reproductor de MP3 con una computadora portátil, incluso con un procesador de bajo rendimiento (286, 386, 486), que se puede comprar en el mercado de radio por una pequeña tarifa, se compara favorablemente con todos los demás dispositivos. En primer lugar, por el precio: el costo del microcontrolador, la pantalla LCD y otras partes es más que una computadora portátil vieja. En segundo lugar, en términos de funcionalidad: una pantalla con alta resolución y escala de grises (o incluso color), un gran conjunto de teclas de control, la capacidad de usar la computadora simultáneamente para otros fines (por ejemplo, como un reloj, para controlar varios dispositivos ). En tercer lugar, en términos de flexibilidad: el software está escrito en un lenguaje de programación de alto nivel y se puede cambiar fácil y rápidamente sin usar un programador que use la computadora. El diagrama de bloques del reproductor de MP3 se muestra en la fig. 1. Como puede ver, está conectado al puerto paralelo de la computadora y consta de un convertidor de nivel de señal U1, un decodificador MP3 de hardware U2 y una fuente de alimentación A1. El cuello de botella en el dispositivo es el bajo ancho de banda del puerto paralelo de la computadora. Cuando se probó en una computadora con un puerto SPP (Standard Parallel Port) basado en un procesador Intel 486DX-33, el flujo de datos máximo en el que se reprodujeron las composiciones musicales sin tartamudear fue de 128 Kbps. En una computadora con un puerto paralelo EPP (puerto paralelo mejorado), donde la tasa de intercambio alcanza 0,5.. 2 MB / s (la tasa de intercambio con el dispositivo es mucho menor, ya que los datos se intercambian solo a lo largo de una de las líneas de señal, y la transmisión de datos se realiza mediante software) normalmente se reproduce un flujo de 192 Kbps y superior. Si lo desea, para conectar el dispositivo con una computadora, puede usar la interfaz para conectarse al bus ISA, descrita en [2], con una ligera modificación del software. Sin embargo, en este caso, el alcance del dispositivo se reducirá: solo se puede conectar a computadoras de escritorio, ya que las computadoras portátiles generalmente no tienen dicho bus. El diagrama esquemático del dispositivo se muestra en la fig. 2. El convertidor de nivel lógico se implementa en elementos NOT con colector abierto (microcircuitos DD1, DD2) y transforma los niveles TTL en lógicos con un nivel alto de 3 V y viceversa. El chip DD3 (VS1001k de la empresa finlandesa VLSI Oy) es un procesador de señal digital (Digital Signal Processor - DSP) para decodificar por hardware las capas 1, 2 y 3 de MPEG [3, 4]. Su diagrama de bloques se muestra en la fig. 3. El chip contiene un núcleo DSP de bajo consumo y alto rendimiento (VS_DSP), memoria de trabajo, programa (4 Kbytes) y datos (0,5 Kbytes) RAM para aplicaciones de usuario, interfaces de datos y control en serie, un DAC de alta calidad y un 3- Amplificador de frecuencia para auriculares. El VS1001k acepta el flujo de datos de entrada a través del bus serie, que está conectado como esclavo en el sistema. El flujo de entrada se decodifica y pasa a través de un control de volumen A/D híbrido a un DAC delta-sigma de 18 bits. La decodificación se controla a través del bus de control serie. Además de la decodificación simple, puede agregar aplicaciones especiales: efectos DSP, que se encuentran en la memoria RAM del usuario. Para controlar el chip y transferir el flujo de datos MP3, se utilizan dos buses: SCI (interfaz de control en serie) para el control y SDI (interfaz de datos en serie) para la transferencia de datos. El propósito de las líneas de estos neumáticos se da en la Tabla 1. VS1001k contiene 15 registros SCI (Tabla 2). Después de un "restablecimiento" del hardware, todos se ponen a 0. El registro MODE se utiliza para controlar las operaciones del VS1001. Los nombres de sus bits, sus funciones y descripciones se dan en la Tabla. 3. El registro STATUS contiene información sobre el estado actual del chip. Los bits 1 y 0 se usan para controlar el nivel de salida analógica (0 - 0 dB, 1 = -6 dB, 3 - -12 dB), bit 2: para apagar la parte analógica del microcircuito (cuando está ajustado a uno, se apaga). Escribir en el registro VOL (ver a continuación) establece automáticamente el nivel de la señal de salida analógica y el usuario no tiene que preocuparse por su estado. El registro CLOCKF se utiliza si la frecuencia del reloj es distinta de 24,576 MHz (debe ser un múltiplo de 2 kHz). El valor de este registro se calcula mediante la fórmula CLOCKF = ХТ1/2000 (ХТ1 - frecuencia de reloj en hercios). El registro puede tomar valores de 0 a 32767, sin embargo, los valores mayores están limitados por la frecuencia máxima de reloj del microcircuito (32 MHz). Establecer el MSB del registro en 1 habilita el duplicador de frecuencia interno. La frecuencia de reloj de hasta 15 MHz se puede duplicar. El registro CLOCKF debe configurarse antes de que se decodifiquen los datos MP3, de lo contrario no se reproducirá correctamente. La frecuencia del reloj determina la frecuencia máxima de muestreo de los datos de audio y la frecuencia del flujo de datos MP3 de entrada. Por ejemplo, a una frecuencia de reloj de 12,288 MHz, el microcircuito decodifica datos de audio con una frecuencia de muestreo de 24 kHz y un flujo de hasta 96 Kbps, a una frecuencia de 22,580 MHz, con una frecuencia de muestreo de 44,1 kHz y un flujo de hasta 160 kbps, un flujo con una velocidad variable que no exceda los 256 kbps. Si la frecuencia del reloj es de 24,576 MHz, todos los datos de audio se decodifican con una frecuencia de muestreo de hasta 48 kHz y una frecuencia de bits de hasta 192 Kbps, a una frecuencia de 28 MHz, una transmisión con una frecuencia máxima de hasta 320 Kbps. El DECODEJTIME El registro, al procesar el flujo correcto, contiene la decodificación de tiempo actual en segundos. Los bits 8-0 del registro AUDATA contienen el valor de la tasa de datos en kilobits por segundo (si es variable, contienen la tasa actual del flujo), los bits 12-9 contienen el índice de tasa de muestreo (Tabla 4). Los bits 14 y 13 no se utilizan y siempre se establecen en 0. El bit 15 caracteriza el tipo de datos de audio (0 - mono, 1 - estéreo). Usando los registros WRAM WRAMADDR AIADDR, puede cargar y ejecutar aplicaciones escritas por el usuario en el chip, por ejemplo, mezclar canales, crear efectos estéreo cuando se reproduce una señal mono, introducir un ecualizador digital. Se pueden encontrar ejemplos de tales aplicaciones y herramientas para desarrollarlas en el sitio web del fabricante del chip. Sin embargo, debe recordarse que todo esto aumenta la carga en el procesador de señal digital y su rendimiento es limitado. Por ejemplo, con una velocidad de reloj de 24,576 MHz y la decodificación de un flujo de datos de 128 Kbps a una frecuencia de muestreo de 44,1 kHz, solo hay alrededor del 28 % del tiempo libre del procesador. Cuando el expansor de respuesta de frecuencia está habilitado (mediante el bit SM_BASS del registro MODE), se gasta un 6,5 % adicional del rendimiento del DSP. Los registros HDAT0 y HDAT1 contienen información sobre el título de la pieza musical que se extrae del flujo de datos MPEG actual. El registro VOL es para el control de volumen. En cada canal, el valor puede variar de 0 a 255 (correspondiente a la atenuación de la señal desde el nivel máximo hasta cero en pasos de 0,5 dB). Para el canal izquierdo, el valor se multiplica por 256 y se suma al valor del canal derecho. Por lo tanto, para obtener el volumen máximo, el registro debe contener 0 y silencio completo: 65535. Después de un "reinicio" del hardware, se establece el volumen máximo, un "reinicio" del software no cambia el volumen establecido. Cuando estableces el volumen mínimo (255 en ambos canales), se apaga la alimentación de la parte analógica, lo que va acompañado de un clic. Puedes excluirlo si usas el valor máximo de 254 en ambos canales (0xFEFE) para apagar el sonido. El chip PQ3VZ1 de SHARP se utiliza en el dispositivo como regulador de tensión de alimentación de 20 V (DA51). La tensión de salida Uout (dentro de 1,5 ... 20 V con una corriente de carga de hasta 0,5 A) se calcula mediante la fórmula Uout = Uobr (1 + R3 / R4), donde R4 = 1 kOhm, y la tensión de referencia Uobr = 1,25, 3 V. En este caso, R1,5 \u1,25d 1 kOhm y Uout \u1,5d 1 (3,125 + XNUMX / XNUMX) \uXNUMXd XNUMX V. Las bobinas de filtrado L1-L3 y los condensadores C3-C6 se utilizan para separar los circuitos de potencia de las partes analógica y digital. El microcircuito tiene una función de encendido / apagado incorporada, que se puede usar en una versión portátil del dispositivo. El software de administración de dispositivos está escrito en C y debe compilarse y colocarse en una computadora. El autor usó el compilador Borland C. Para el control se utilizan las siguientes funciones, las cuales están definidas en el archivo vs1001.h: void SCIWrite(int aress, int data) - escribir en SCI; int SCIRead(int aress) - leer SCI; void SDIWrite(int data) - escribir en SDI; void xReset(void) - hardware "restablecer"; int DREQ(void) - lee el valor de la señal DREQ. El programa funciona así:
Si lo desea, configure los registros restantes, por ejemplo, VOL, MODE, etc. Luego, la función DREQQ verifica el estado de la salida DREQ. Si se establece en 0 (la función DREQQ devuelve 0), entonces puede enviar datos desde un archivo MP3. * La abreviatura MPEG es una abreviatura de Moving Picture Expert Group, el nombre del grupo de expertos de ISO (Organización Internacional de Normalización), que actúa en la dirección de desarrollar estándares para codificar y comprimir datos de video y audio. A menudo, la abreviatura MPEG se usa para referirse a los estándares desarrollados por este grupo. En el caso más simple, el programa se ve así (mp3play.cpp): Al reproducir el siguiente archivo, es necesario realizar un "reinicio" de software del chip VS1001k (estableciendo el bit SMRESET del registro SCI MODE en 1). La verificación del rendimiento del dispositivo comienza con la parte analógica del chip DD3. En todos los pines UDDA, UDDD. y xRESET y TEST0 deben ser de aproximadamente +3 V, y el pin RCAP debe ser de aproximadamente +1,3 V. Si este último es 0 o UD DA, la parte analógica del VS1001 está defectuosa. Cuando el decodificador se "restablece por completo" aplicando un nivel bajo al pin xRESET, debe suceder lo siguiente: después de 4096 ciclos de reloj después de que el voltaje en xRESET vuelve a un nivel de unidad, debe aparecer un nivel bajo en el pin DREQ, que después 6000 ciclos del generador de reloj deberían cambiar a un nivel alto. Si los niveles de señal en este pin no cambian en el orden que se muestra, el software interno del chip está defectuoso. Luego verifique el funcionamiento del bus SCI. Para hacer esto, el valor de volumen máximo se escribe en el registro VOL y luego el valor OxFFFF, que apaga la parte analógica del chip Vsl001k. Como resultado, debería escucharse un clic en los auriculares conectados a la toma XS2. El siguiente fragmento de programa (scitest.cpp) demuestra esto: se escucharán cinco clics en la salida con un período de 0,5 s: Ahora debe verificar la lectura de los registros SCI. Para hacer esto, escriba algún valor en el registro VOL, por ejemplo 12345, y luego lea la información de este registro y compare el resultado. En la pantalla de la computadora, si la prueba es exitosa, se muestra el mensaje "Prueba de lectura SCI aprobada", de lo contrario, "Error de lectura SCI" (sciread.cpp). A continuación, verifique el registro en SDI. Es conveniente utilizar una prueba especial integrada en el microcircuito que produce una señal sinusoidal en la salida analógica. Para habilitar la prueba, es necesario transmitir vía SDI una secuencia de ocho bytes 0x53 OxEF Ox6E n 0 0 0 0, donde n = 48... 119 (seleccionada por el usuario). Los parámetros de la señal se determinan a partir de la tabla. 5, donde el índice de frecuencia de muestreo es Fsldx = (n - 48)mod9 y el índice del número de muestras es FSin = (n - 48)/9. Por ejemplo, en n = 62 (en este caso n - 48 = 14) Fsldx = 5 y FSin = 1. El valor Fsldx = 5 corresponde a la frecuencia de muestreo de 16000 Hz y el valor FSin = 1-16 muestras. Así, a la salida obtendremos una señal sinusoidal con una frecuencia de 16000/16 = 1000 Hz. Para salir del modo de prueba, la secuencia de bytes 0x45 0x78 0x69 0x74 0 0 0 0 se transmite a través de SDI. El siguiente fragmento de programa (sinetest.cpp) demuestra esta prueba: en la salida analógica, puede escuchar una señal con una frecuencia de 1 kHz durante 5 segundos: Para probar la memoria del chip VS1001k, se envía a SDI una secuencia de ocho bytes 0x4D OxEA 0x6D 0x54 0 0 0 0. Después de este comando, debe esperar 500 ciclos de reloj. El resultado de la prueba se puede leer desde el registro HDAT000 SCI. Los datos recibidos se interpretan de la siguiente manera: si el bit se establece en 0, se pasa la prueba de memoria (Tabla 1). En la pantalla de la computadora, si la prueba es exitosa, se muestra el mensaje "Prueba de memoria completada con éxito", de lo contrario, "Error de memoria xxxxx", donde xxxxx es el valor leído del registro HDATO. Aquí hay un fragmento del programa de prueba de memoria (memtest.cpp): Para verificar los registros SCI, es necesario enviar la secuencia de ocho bytes 0x53 0x70 0xEE n 0 0 0 0 al SDI, donde n es el número de registro para la prueba. El contenido del registro especificado se lee y se copia en el registro HDAT0. Si es necesario verificar el registro HDAT0, su valor se copia en el registro HDAT1. El dispositivo está montado en una placa de circuito impreso hecha de acuerdo con el dibujo que se muestra en la Fig. 4. Durante la instalación, inserte trozos de alambre estañado en los orificios enmarcados por las almohadillas de contacto del diámetro mínimo y suéldelos a los conductores impresos en ambos lados del tablero. En lugar de PQ20VZ51, puede usar cualquier regulador de voltaje de microcircuito que le permita obtener 3 V en la salida (por ejemplo, LM317). Inductores L1-L3 cualquiera con una inductancia de 10 μH. Los inversores con salida de colector abierto DD1.1-DD1.6, DD2.1-DD2.3 pueden ser de las series K155, KR531, K555, KR1533. No es deseable reemplazar el chip VS1001k con dispositivos con otros índices de letras (versiones anteriores), ya que tienen una serie de fallas. Literatura
Autor: V. Kardapolov, aldea Tbilisskaya, territorio de Krasnodar Ver otros artículos sección Компьютеры. Lee y escribe útil comentarios sobre este artículo. Últimas noticias de ciencia y tecnología, nueva electrónica: Cuero artificial para emulación táctil.
15.04.2024 Arena para gatos Petgugu Global
15.04.2024 El atractivo de los hombres cariñosos.
14.04.2024
Otras noticias interesantes: ▪ Analizador de espectro portátil B&K PRECISION modelo 2650 ▪ Está lloviendo en las entrañas de la tierra ▪ Simulando una erupción volcánica Feed de noticias de ciencia y tecnología, nueva electrónica
Materiales interesantes de la Biblioteca Técnica Libre: ▪ sección del sitio Enciclopedia de radioelectrónica e ingeniería eléctrica. Selección de artículos ▪ artículo de la biosfera. Historia y esencia del descubrimiento científico. ▪ articulo Rectificador de baja ondulación. Enciclopedia de radioelectrónica e ingeniería eléctrica.
Deja tu comentario en este artículo: Todos los idiomas de esta página Hogar | Biblioteca | Artículos | Mapa del sitio | Revisiones del sitio www.diagrama.com.ua |