Reproductor Mp3PuBliC Rev B con STA013 y CS4334

(c) Javier Saiz 2002

 

  1. Noticias recientes (ultima actualizacion 21/04/2005)

  2. Introduccion

  3. Características del reproductor

  4. Estado de funcionamiento del Firmware

  5. Ficheros

  6. Documentacion

  7. Software (codigo para FAT32 )

  8. Hardware

  9. Programador (TE-20SE)

  10. Galeria de Fotos

  11. Enlaces de interés

  12. Donde conseguir PCB y componentes

 


Introducción:

En esta página vas a encontrar el reproductor de ficheros mp3 de www.mp3ar.com (creado por Michael Weston, Leandro Gentilli y Ben Stragnell (Revision B)) pero modificado para utilizar el decodificador STA013 y el conversor digital analogico CS4334. He utilizado estos circuitos integrados por varias razones: se pueden conseguir "fácilmente", son algo más baratos y sobre todo más fáciles de soldar que el MAS3507 y DAC3550 de la Rev B, al menos para mi. Hay que decir que el CS4334 no es tan potente como el DAC3550 ( no tiene salida para auriculares, ni entradas auxiliares, etc).

Para llevar a cabo la modificación he tenido que hacer cambios tanto en el diseño como en el software.

Para la parte de control (microcontrolador, memoria, circuitos integrados etc ) he utilizado el esquema original del reproductor de la Revisión B pero he añadido unos diodos en las lineas de las teclas para evitar que si se pulsan 2 a la vez se pueda producir un cortocircuito ya que esas líneas estan compartidas con la memoria y tambien he añadido un potenciómetro para ajustar el contraste del LCD (si no es retroiluminado). Se pueden ver los esquemas en la seccion de ficheros.

Para la parte de decodificacion he utilizado este esquema:

Imagen extraida de MP3 Player, Using The STA013 Chip

extraido de la página de Paul (www.pjrc.com), donde se puede encontrar mucha información sobre el STA013.

El software de diseño de PCB's que he utilizado es el EAGLE 4.03 (http://www.cadsoft.de/), con él he creado una placa de circuito impreso a doble cara de 10x15 cm donde los únicos componentes SMD que hay son el STA013 y el CS4334.

La calidad de la fotografia no es muy buena pero aqui se puede ver la PCB con los componentes y un disco duro de 2,5'' (el que utilizan los ordenadores portátiles)

 

 

Características del reproductor:

Varían mucho dependiendo del "firmware" con el que se programa el PIC16F877.

- Si se utiliza el Firmware110.zip se puede utilizar tanto un CD-ROM como un Disco Duro, pero no al mismo tiempo, el firmware detecta automáticamente lo que hay conectado y ejecuta la parte del codigo necesaria para su manejo:

- Si se utiliza el fat32_Vxxx sólo se puede utilizar un Disco Duro con el sistema de ficheros FAT32. Los ficheros mp3 se deben organizar en directorios dentro del directorio raiz con un máximo de 254 ficheros por directorio. Hay 2 metodos de reproduccion aleatoria: RND1 (un fichero entre todos los del HD) y RND2 (1 fichero entre los del directorio actual y cuando se acaban se pasa al siguiente directorio).

Con cualquiera de los códigos con los que se programe el PIC, éste se puede reprogramar a través del puerto paralelo utilizando un pequeño programa, es decir, sólo hay que utilizar el programador de PIC's la primera vez, después, una vez colocado en la placa, ya no hace falta sacarlo del zócalo para actualizar el código.

La memoria EEPROM del PIC almacena el volumen, los agudos y los bajos.

Estado de funcionamiento del Firmware:

Desde el 03-08-2002 ya se puede utilizar el nuevo codigo que he creado para soportar FAT32 (ver SOFTWARE).

La principal modificacion del firmware ha sido la de añadir código para inicializar el STA013 ya que hay que "bajar" un fichero de configuracion (almacenado en la EEPROM 24LC64 (aunque con una 24LC32 hubiera sido suficiente)) .

Hasta el momento, he modificado el código de Ben Stragnell que permite utilizar el reproductor con un disco duro. El sistema de ficheros no es ni FAT16 ni FAT32, es un sitema de ficheros creado por el propio Ben Stragnell (para facilitar el trabajo al microcontrolador (y al programador)), antes de conectar el disco duro hay que "formatearlo" con una aplicacion de Ben, la misma que permite "bajar" los ficheros mp3 al disco . En estos momentos he conseguido que funcione todo excepto el control de bajos y agudos (de momento...), de la parte del código que controla el CD-ROM funciona todo excepto el control de volumen, bajos y agudos.

En la tabla siguiente se muestra la evolucion de las modificaciones del software:

 

Version Original de Mp3Public Rev B

Mi codigo

CD-ROM

DISCO DURO (HD)

V1.2.6_BETA

Firmware110.zip Funciona bien pero aun no se puede controlar el volumen, los bajos y los agudos. Funciona todo.
       
       

Ficheros:

- En formato PDF:

- En formato JPG:

- En formato TXT:

- En formato ZIP :

Documentacion:

Software:

Hardware:

Los componentes pricipales utilizados son: STA013, CS4334, PIC16F877, SRAM 32K CY62256, EEPROM 24LC64, 74HC04, 74HC138, 74HC245,74HC573, además de los condensadores y resistencias que hay en el esquema.

Galeria de Fotos: Aqui se pueden ver fotografias de la placa y del reproductor aunque la calidad no es muy buena :(

Enlaces de interés:

www.mp3ar.com: Este enlace ya no funciona, desgraciademente ha desaparecido la web original del reproductor (La primera version solo permite CD-ROM, la segunda version (Rev B) permite CD-ROM y HD (es la mezcla de la primera version con el reproductor de Ben Stragnell)) ¡¡que lio...!!. Leandro Gentili ha creado un nuevo reproductor para HD con FAT32 llamado NewMp3PuBliC que utiliza tan solo 3 chips (PIC18C452, VS1001K Y 74LVC245) y un LCD Gráfico (122X32), además, la PCB lleva incluida un fuente de alimentacion conmutada. En la página se puede comprar el KIT (incluido el LCD) por unos 103 $ incluidos los gastos de envio.

MP3Public - sourceforge (Ben Stragnell) : Todo el software y el firmware es libre y se "subio" a sourceforge para que otros programadores colaboraran en su mejora, lamentablemente, esto no ha sido asi y solo existe el software creado por Ben Stragnell. En la mejora del firmware si que han habido algunos colaboradores.

Open source MP3 Player (Michael Weston): Este ingeniero de Canada "ruteo" la primera versión del reproductor y despues mezclo los 2 diseños (tanto hardware como software) creando la Revision B.

http://bourmad.fr.st/mp3ar: Esta página es de Medhi Bourmad, que ha montado el reproductor original Rev B con el diseño de Greg Wood (todo en formato DIP, excepto el MAS y el DAC). En ella se puede ver toda la evolucion de su trabajo.

revbfat32.htm: Página donde se pueden descargar todas las actualizaciones del firmware para FAT32 para el reproductor Rev B original (MAS/DAC)

CD'n'GO! : Enlace a la pagina de Joshy (Jose Mejuto Porral) donde se puede encontrar la mejor Suite de Mp3 formado por un Extractor Digital de Audio, un Compresor de Audio y un tagueador, asi como una sencilla utilidad para grabar CDs (Burn'nn'Go !). Todo en Castellano y totalmente LIBRE.

Snail Instruments : Un lugar donde conseguir componentes electronicos a buen precio y dificiles de conseguir en unidades limitadas. Es posible que tambien puedan hacer la placa de este reproductor pero no se lo he preguntado.

Donde conseguir la PCB y los componentes:

El STA013 y CS4334 se pueden conseguir en www.pjrc.com .

El resto de componentes se pueden conseguir facilmente en las tiendas de electronica o en www.amidata.es. 

Noticias

21-04-2005: He solucionado un problema en la descarga de los ficheros Bottom y Top. Ahora son dos archivos ZIP que hay que descromprimir. Y he eliminado algunos enlaces que ya no funcionan.

He estado mucho tiempo sin trabajar en el reproductor pero lo he estado disfrutando, en cuanto a la aplicacion para bajar los ficheros a través del puerto paralelo aún no la tengo al 100% terminada, es lo que uso cargar los ficheros en mi reproductor y aunque se está comportanto con mucha estabilidad sigue siendo una version BETA (de momento no he conseguido encontrar una solucion aceptable para que se pueda descargar ya que pesa mucho y mi servidor no permite archivos grandes, en fin..ya veremos). Ultimamente y dado el bajo precio por el que se puede conseguir una caja sin disco duro para conectarlo a través del USB estoy pensando en usar una de estas tarjetas para acoplarla al reproductor y asi poder disfrutar de las ventajas del USB 2.0 para bajar con rapidez los ficheros. Si hago algo en este sentido lo publicaré en la web.

17-11-2003: He eliminado los ficheros ZIP de versiones anteriores del Eagle y he dejado solo uno.

02-07-2003: Pequeñas modificaciones en la página (redaccion, enlaces...etc)

26-05-2003: Mucho tiempo sin actualizar la página aunque he seguido trabajando en el código y aqui esta la nueva versión del firmware para FAT32 fat32_V015. Tambien he estado trabajando en una aplicacion windows (Visual Basic 6.0) para transferir ficheros mp3's al disco duro del reproductor a través del puerto paralelo y en otra aplicacion para obtener los codigos de cualquier mando remoto SONY, asi solo hay que modificar la tabla del firmware con ellos, compilar el firmware y programar el PIC.

(pulsa aqui para ver la imagen ampliada)

Pronto publicare el firmware compatible con estas aplicaciones.

09-01-2003: Esta página lleva ya 1 año y 7 dias funcionando.

19-12-2002: Nueva version del firmware para FAT32 fat32_V014 que incluye los ficheros para programar la EEPROM segun la frecuencia del cristal del STA013. He quitado el enlace del FORO ya que no funciona y he añadido el apartado "Documentacion" con ficheros que he utilizado para hacer el código.

27-10-2002: Nueva version del firmware para FAT32 fat32_V013. En esta version ya funciona el control de agudos y bajos y se ha liberado espacio en el banco 2 de la memoria de programa, asi se podran incluir nuevas modificaciones. Funciona el control remoto pero hay que conocer los codigos de las teclas para incluirlas en el firmware antes de compilarlo. En el futuro intentare hacer una aplicacion para bajar los codigos a traves del puerto paralelo o hacer un firmware para mostrar en el LCD el codigo de la tecla pulsada en el remoto.

16-09-2002: Bueno, algo más de un mes sin ninguna novedad en cuanto al firmware, pero en cuanto tenga algo nuevo lo publicare. He añadido un enlace a CDNGO, que es el extractor de audio y compresor de mp3 que utilizo, en Castellono y totalmente LIBRE !!! (gracias Joshy). Por cierto si alguien ha montado este reproductor y tiene alguna foto que me la envie para hacer una galeria de fotos.

06-08-2002:Nueva version del firmware para FAT32 fat32_V012.

05-08-2002:Nueva version del firmware para FAT32 fat32_V011.

04-08-2002: He añadido el FORO de Tomi http://mp3ar.tomitech.sk/ y el apartado "Donde conseguir la PCB y los componentes " y he colocado en la seccion "software" el codigo de la version que soporta FAT32.

03-08-2002: Por si alguien de los que han construido el reproductor quiere probarla, aqui esta la primera version del codigo que soporta FAT32 fat32_v010 , aun faltan ajustar algunos detalles pero poco a poco.

29-07-2002: He publicado en elforo de www.mp3ar.com la ultima version del firmware para Fat32 de la Reb B. original (revbfat32_v050.zip). Ahora empezare a modificarla para mi reproductor con el STA013 y CS4334. Supongo que en 2 o 3 semanas la tendre lista, depende del tiempo que tenga.

14-07-2002: He publicado el codigo fuente que soporta FAT32 en el foro de www.mp3ar.com. El código solo funciona en el reproductor original (MAS3507/DAC3550) y cuando este listo lo adaptare al (STA013/CS4334). Ahora estoy trabajando en 2 modos de reproduccion aleatoria: Rnd1(aleatoriamente se reproduce un fichero entre todos los que hay en el HD) y Rnd2( se reproducen aleatoriamente todos los ficheros de un directorio y cuando ya se han reproducido todos se pasa al siguiente directorio secuencialmente). Tambien estoy trabajando en dar mas utilidad a la 5 tecla cambiando con ello el interfaz de usuario: la linea 1 del LCD mostrara 4 menus diferentes (0..3) seleccionados ciclicamente con la 5 tecla, y dentro de cada uno de ellos se seleccionara el modo (skp, fil, dir, rand1, rand2 ...) con la tecla 2.

[0] Skp Fil Dir

[1] Rand1 Rand2

[2] Vol Bas Trb

[3] Input Aux

19-06-2002: Ya he terminado la primera version del codigo que soporta FAT32. Faltan ajustar algunos detalles (control por infrarojos, almacenamiento en la EPROM del PIC del valor del volumen, bajos y agudos, etc ). De momento solo he publicado (en el foro de mp3ar.com) el fichero HEX para la version hardware (Rev B.) original ya que asi podra ser probado por mas gente. Cuando el codigo este mas optimizado y esten ajustados esos "pequeños" detalles publicare el codigo fuente en ensamblador.

24-05-2002: Añadida la seccion "Fotos". En cuanto a la modificacion para soportar FAT32 ya he conseguido mostrar en la LCD (haciendo "scroll") los nombres largos de los ficheros (hasta 256 caracteres).

21-05-2002: He cambiado el archivo firmware110.zip por otro que contiene los archivos binarios de configuracion del STA013 con los que hay que programar la EEPROM. Y he añadido la apliacion boot.exe para actualizar el firmware del PIC a traves del puerto paralelo.

20-05-2002: Ya he conseguido "navegar" por los ficheros del directorio raiz y seleccionar el que voy a reproducir, de momento solo se muestra el nombre corto de MSDOS.

11-05-2002: Hoy he conseguido reproducir los ficheros del directorio raiz (FAT32). El disco duro que estoy utilizando para las pruebas es un SEAGATE Model ST32520A de 2,5 GB con sistema de ficheros FAT32 y un tamaño de cluster de 4K. De momento aun no puedo "navegar" a traves de los ficheros pero creo que la parte mas dificil ya esta hecha. En fin, seguire informando...

24-04-2002: He colocado la primera version del codigo que ya funciona. Ahora estoy modificando el codigo para que soporte un disco duro con FAT32. De momento estoy intentando que reproduzca ficheros del directorio raiz, a ver si lo consigo ... despues ya veremos. Dentro de poco colocare unas cuantas fotos del reproductor [ a ver si no tardo tanto :) ]

26-02-2002: Ya tengo acabada la primera version del firmware. De momento solo he modificado el codigo que soporta el HD y ya funciona el control de agudos y bajos. Si no pasa nada durante esta semana pondre el codigo en la web.

08-02-2002: Bueno, por fin creo que he solucionado el "problema" que desde hace varios dias me traia de cabeza : cuando el reproductor se apagaba y se volvia a encender inmediatamente, el STA013 no se inicializaba bien y no reproducia nada. La solucion ha sido cambiar el condensador C12 de 0,1 uF por uno electrolitico de 100 uF.

03-02-2002: Hoy he terminado de poner todo en un "caja". La fuente de alimentacion esta montada en una placa para prototipos. A partir de ahora dedicare más tiempo al firmware, ya que necesita algunos ajustes antes de sacar la primera version. He puesto los archivos PDF de los integrados.

30-01-2002: He probado el circuito para los auriculares con el TDA2822M y he decidido no utilizarlo ya que el sonido que produce tiene ruido de fondo debido a la fuente de alimentacion, utilizare la salida de audio del reproductor tanto para la salida de linea como para los auriculares (el sonido es completamente limpio).

He modificado el fichero "componentes.txt".

24-01-2002: He añadido el enlace a la pagina del programador TE-20SE.

21-01-2002: He añadido los ficheros en formato JPG del circuito para los auriculares, fuente de alimentacion y de la conexion de los 5 pulsadores y el receptor de infrarojos.

20-01-2002: Estoy haciendo con el Eagle los esquemas de la fuente de alimentación y del circuito para los auriculares y al mismo tiempo estoy tratando de poner todo en una caja, cuando la tenga terminada continuaré con el código para poner la primera versión. Ah, he puesto algunos enlaces de interés.

14-01-2002: He añadido los ficheros para el Eagle 4.08r2 y he cambiado los archivos PDF.

11-01-2002: Estoy tardando mucho en incluir los ficheros del Eagle porque los estoy actualizando a la version 4.08. Se ha creado la pagina de inicio para acceder a la futura página en Inglés y el apartado "estado de funcionamiento del software" para indicar la evolucion de la modificación.

08-01-2002: Se han añadido ficheros PDF en el apartado de "descargas".

06-01-2002: Se ha añadido el fichero con la situacion de los componentes en la placa.

04-01-2002: Se ha añadido el apartado características del reproductor.

03-01-2002: He modificado el apartado de introducción añadiendo el esquema del STA013 que hay en la página de Paul (www.pjrc.com) y una foto de la PCB sin componentes.

02-01-2002: Fecha de Inicio de esta página. Poco a poco ire actualizandola con más contenido y también intentare traducirla al Inglés.