TODOPIC
Microcontroladores PIC => dsPIC => Mensaje iniciado por: marin_rafael en 15 de Febrero de 2012, 20:09:58
-
buenas chicos, soy completamente nuevo en esto, nunca había publicado en un post, ni una pagina.. pero tengo un problema y quería ver si me podían ayudar.
yo estoy desarrollando un sistema de adquisición de datos, estoy usando un DsPIC30F4011, los datos los estoy tomando con un convertidor analógico digital externo, el sistema de adquisición de datos es de cuatro canales.. el problema radica en almacenar la informacion en la Sd, la conexion la estoy haciendo a traves del modulo spi. negus he leido en las datashet la memoria en modo spi puede trabajar hasta una frecuencia de 25Mhz. E intentado utilizar una frecuencia de mas de 1.25mhz y pareciera que el PIC se queda esperando algo, o la memoria SD.. No se si alguien ya ha trabajo en eso que pueda ayudarme.
Estoy Usando para el manejo de la Sd las librerias del Mikro C para DsPIC de la Mikroelectronica
si alguien puede ayudarme por le agradeceria
-
Debido a que las librerías de MikroC son totalmente cerradas, o sea es imposible ver el código fuente y probar algún cambio, lo mejor sería comunicarte con el soporte técnico de Mikroelectronica. La comunicación con la memoria es mucho mas que seleccionar la velocidad de SPI ;-)
Saludos!
-
mikroelectronica ya tiene ejemplos hechos para el uso de memorias SD.
Estos estan disponibles en la pagina de ellos. Yo los he utilizado y funcionan sin problemas.
saludos!
-
yo tenia en e PIC un cristal de 4mhz y me funcionaba fino la memoria sd, el problema empezo cuando coloque un cristal de 10mhz y active el pll x8, debido que el sistema de adquisicion de datos debe ser de unos 2khz necesito que sea rapido, pero la velocidad de almacenamiento del pic en la SD no es lo suficientemente rapido tambien lo quice a ccelerar y probe con 5mhz y se quedaba como habia mencionado colgado
-
He logrado resolver el problema, gracias a PalitroqueZ que escribio en el post LECTO-GRABADOR de tarjetas MMC , SD, MicroSD con pic 16F877A de esta misma pagina efectivamente el arreglo de resistencia que se encargan de disminuir la tension a 3.3v afectan las señales cuando se aumenta bastante la frecuencia inclusive logre hacerlo funcionar hasta 10mhz pero mas de ahi tengo cierto problemas debido al protoboard no soporta mas frecuencia.
Por cierto lo logre solucionar usando unos buffer de la familia ls un 74LS125A
-
En una PCB, con divisores resistivos de 3.3k y 1.8k también es posible hacerlo trabajar a 10MHz.
-
Si desactivas el Watchdog Timer y el Brown-out Reset el PIC16F877A puede trabajar muy comodamente a 3.3v, creo que es necesario desactivar solo uno pero no recuerdo cual es, lo podes deshabilitar desde el compilador o a la hora de grabar el programa asi te ahorras el uso de buffers o divisores