TODOPIC
Microcontroladores PIC => dsPIC => Mensaje iniciado por: Automata78 en 28 de Octubre de 2006, 17:35:36
-
Hola gente !!
Hace tiempo que vengo escuchando sobre los DSP, y no mucho de los dsPic, mi pregunta es, aunque se que es un poco amplia cual es el fuerte de los DSP o dsPic, que tipo de rutinas matemáticas, manejo de señales analógicas etc ?
Puede ser que con un DSP se pueda construir un reproductor de mp3, siendo este el "cerebro" de todos los algoritmos matemáticos ? ( es solo una pregunta que tiene que ver con un sueño que tengo je je je !!! :mrgreen: )
Muchas gracias por sus comentarios !!!
Saludos !!!!
-
Hola Automata78:
No sé mucho de DSP pero he investigado un poco porque pienso probar en hacer un reproductor de ogg vorbis (codec abierto y libre pero con la misma finalidad del mp3) al igual que vos queres hacer con mp3. Cómo no sé mucho DSP te dejo este enlace de la wikipedia:
http://es.wikipedia.org/wiki/Procesador_digital_de_se%C3%B1al
http://www.redeya.com/electronica/tutoriales/dsp1/dsp1.htm (proviene del enlace anterior)
Espero que te sirva.
Saludos.
Martín
-
Los dsp tienen muchas virtudes, mayor velocidad, 16 bits, más periféricos, más memoria... pero la que realmente define a un dsp como Procesador Digital de Señales es su capacidad para hacer estas tres operaciones en un sólo ciclo de reloj:
1. Multiplican dos números de 16 bits
2. Colocan el resultado sobre un registro de más de 32 bits (32 para el resultado, más bits de carry y otros controles)
3. Sacan de la pila otros dos números para multiplicarlos en el siguiente ciclo de reloj
De hecho, la única diferencia entre los dsPIC 33F y los PIC 24H es la existencia de este módulo dsp.
-
Estuve investigando en el asunto (despues busco bien la info) pero esta pregunta la vi por ahi y se necesita alrededor de 70MIPS a 80MIPS para reproducir MP3 y esto si hablamos de DSP profesionales tipo TMS320 de Texas.
El DSPIC es considerado un 60% a 70% de un DSP profesional (por el costo y funcionalidad es excelente) pero el otro problema es su maxima velocidad de proceso.
EN el caso de los DSPIC33 se puede llegar a los 40 Mhz (digamos que overclockeamos un poco y llevamos a 50Mhz) son menos de 50MIPS, muy lejos de lo necesitado.
Ni hablar si el micro debe tambien realizar la lectura de la MMC o Flash.
Estuve investigando utilizar el descompresor MAD que utiliza logica entera para la matemática con lo que seria mas rápida la descompresion.
En fin no te quiero pinchar el globo pero tal vez no sea suficiente :( igual sirve la investigacion para cuando haya un micro mas rápido.
Yo te puedo ayudar con la parte del manejo de la MMC y el sistema de archivos.
Salute
-
Ya sé que es una locura pero justo estaba hablando con Darukur de usar dos microcontroladores o dsPic para repartir el trabajo para la decodificación. Seguro que se pone dificil pero como dice Nocturno "Pero claro, si fuera facil no entretendria tanto..." :)
Saludos.
Martín
-
Esto trae a mi lo que te comente de como hacer "codigo segmentado" entre dos microprocesadores.
Lo que he hecho es sistemas multiprocesador comunicados por buses, pero cada uno tiene su código y su funcionalidad y solo se pasan datos.
Yo pensaba mas en que un micro que ejecute las capas de mas bajo nivel y le pase tareas de mas alto nivel al otro o viceversa (que seria lo mas logico)
Me parece que usaria un bus paralelo con DATA_ENABLE para la transferencia rápida.
PD: Zaphyrus vos que sos investigador fijate la implementacion de MAD y su version mini que es MADLLD.
Saludos a todos.
-
Darukur, de dsPic no tengo ni idea ¿Qué es el MAD? Ya sé que lo puedo buscar y que lo voy a hacer, seguro que el fin de semana porque ahora debo terminar una PCB. Voy a bajar las datasheet de los dsPic para ver que tiene, si es como el PIC24 es un núcleo RISC (de los que a mí me fascinan) pero tengo que aprender la parte DSP.
Ya estoy bajando las datasheet para tenerlas.
Saludos.
Martín
-
No bajes nada de DSPIC, te paso todo lo que tengo, librerias, compiladores, manuales, etc.
Proyectos de MP3 http://opencircuits.com/Music_Player
Pagina de "los que saben" de MPeg
http://www.tnt.uni-hannover.de/project/mpeg/audio/#mpeg7
http://www.chiariglione.org/mpeg/standards/mpeg-1/mpeg-1.htm
Pagina con conceptos de MP3 http://www.tnt.uni-hannover.de/project/mpeg/audio/faq/mpeg1.html#1-7
Pagina de tecnologia para MP3 http://www.mp3-tech.org/
MAD player (MPEG AUDIO DECODER) http://www.underbit.com/products/mad/
La info de MADLLD http://www.bsd-dk.dk/%7Eelrond/audio/madlld/
-
Espectacular :-/ . Con eso ya tengo todo para investigar. Completo el post.
Gracias Darukur!!! :-)
Saludos.
Martín
-
Y dale con los post de "ya me pongo a ver".
Pone cuando tengas algo mister POSTMAN!
Salute
:D
-
Bueno, pero esta es una consulta para los moderadores. ¿Hay alguna forma de escribir fórmulas en los post? Porque si nos vamos a poner a investigar el codec mp3 las vamos a necesitar.
También posteo (y no al pedo :mrgreen:) para preguntar con permiso de Automata78 si podemos iniciar un nuevo tema como "Reproductor de Mp3 con dsPic" ya que fue su idea.
Saludos.
Martín
PD: Darukur vos te llevaste un post de arriba con el anterior :-)
-
Hoy por hoy creo que el foro no tiene TEX para escribir fórmulas. Realmente sería una buena mejora para el foro pero no sé si estará en la mano de los administradores el poder implementarla.
Con respecto a lo de abrir un nuevo tema; ¿desde cuando hay que preguntar para eso, hombre? :mrgreen:
-
Sería interesante poder escribir fórmulas en el foro. ¿El Tex sería un lenguaje como el LaTex?
Ya abrí el tema sobre "Reproductor de Mp3 con dsPic" -> http://www.todopic.com.ar/foros/index.php?topic=14639.0
¡Gracias Nocturno!
Martín
-
Sí, de hecho LaTEX es una implementación del lenguaje TEX.
-
Tengo una duda, un dsPIC33F según la página de microchip corre hasta 40MIPS max, esto hace que cada instrucción se ejecute en 25nS, esta bien esto?
Creo que algunos usando un cristal determinado y configurando el PLL adecuado hacen correr el pic hasta 50MIPS (cuando su datasheet dice que maximo debe correr hasta 40MIPS), pero acaso esto no daña al pic de alguna manera con el tiempo? En todo caso, existe algún modelo de pic o dsPIC que corra a mas de 40MIPS según lo diga su datasheet? en otras palabras cual es el pic maz veloz?
Javicho.
-
Hola eso se denomina "overclocking" es decir hacer trabajar al micro mas alla de la frecuencia especificada por el fabricante, que funcione igual no garantiza que nunca se queme.
Saludos !
-
Entonces:
1. El tiempo de cada instrucción es de 25nS para 40MIPS?
2. Esta es la máxima velocidad que se puede encontrar en un dsPIC?
Javicho.
-
1. T = 1 / F, T = 1 / 40.000.000 = 0,000000025 = 25ns
2. En un dsPIC33F, máximo 40MIPS sin overclok
-
Hay noticias sobre el overclock a 50mips de sisco al dspic-vgagen?
-
Sí, overclockeando se pueden llevar a 50mips. Yo lo he probado y van bien, casi ni se calientan.
-
No es tan cierto que los DSP tienen mas memoria y perifericos .. pues hay algunos 24F que tienen mas perifericos y mas funciones interesantes que el dsPIC33F
Un DSP tiene arquitectura Harvard y ademas (lo que no tienen los microcontroladores) tiene memoria de datos seccionada, el dsPIC tiene una seccion de memoria X y otra seccion de memoria Y, esto permite al nucleo poder accesar dos registros al mismo tiempo, esto combinado con las intrucciones MAC ( multiplicación, suma y acumula) mejora bastante las operaciones comunes en DSP, por ejemplo ..... en un filtro digital se debe resolver ecuaciones de diferencias esto es: y^-1 * a0 + y^-2 * a1 etc etc
en este caso el valor y^-1 puede ubicarse en la memoria Y y la constante a0 en la memoria X, la operacion MAC multiplica la variable y la constante, y la suma en un acumulador todo en un ciclo de instruccion!!! :shock: :shock: , en cambio en un microcontrolador se deberia sacar de memoria el dato y^-1, luego el dato a0, realizar la multiplicacion, guardar el dato en memoria, luego sacar la operacion pasada sumar, etc etc
Y esto es solo una característica del DSP!
Saludos!
-
La pena es que microchip no haya implementado coma flotante todavía... sino ya seria la monda.
-
si microchip implementara el punto flotante en sus micros ... para mi seria un rotundo exito ..!
Ahora quien sabe cuanto cuesta implementar esa tecnología
-
Tal vez habria que probar el dsPIC a 50MIPS todo un mes o 2 meses o mas por ejemplo trabajando las 24 horas del dia y ver si se presenta alguna falla. Quisiera saber cual es la falla exacta que se presenta si uno lo trabaja a esa velocidad.
Javicho.
-
Si realmente necesitas trabajar a esa velocidad, pues sí habría que hacer la prueba, aunque eso sólo te garantizaría que ese micro funciona. No necesariamente otro micro idéntico iba a funcionar exactamente igual.
Cuando lo subí de 50mips sencillamente no funcionaba.
Para aplicaciones serias, yo no lo pondría nunca por encima de 40mips.
-
Decir, que mucha gente todavia piensa que los micros son como los pentiums, que el unico problema a resolver a la hora de poner todos los MIPS (al final megahercios) que quieras es el termal... sin pensar que el PLL del micro solo llega hasta cierta frecuencia, que a lo mejor el diseño interno a partir de cierta frecuencia tiene acoplos no deseados, etc etc...
(Charla disuasoria a aquellos con un disipador de pentium/amd y samples de dsPICs de sobra)