TODOPIC
Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: javier en 18 de Abril de 2012, 10:56:41
-
Hola, tengo un problema tratando de setear el modulo SPI a 20mhz, estoy manejando la memoria 25LC1024 (soporta 20mhz max)
Tengo un cristal de 10mhz y seteado H4 (pll x 4) =>el micro corre a 40mhz , el problema es que no puedo dividir el clock por 2, las unicas opciones que da el CCS es dividir por 4,16 y 64 ( SPI_CLK_DIV_4 , SPI_CLK_DIV_16, SPI_CLK_DIV_64 )
Se les ocurre alguna solucion para resolver este problema??
#include "18f4620.h"
#fuses H4,WDT,NOPROTECT
#use delay(clock=40000000,restart_wdt)
setup_spi(SPI_MASTER | SPI_L_TO_H |SPI_CLK_DIV_4 | SPI_XMIT_L_TO_H );// SPI_CLK_DIV_2 ???
-
La unica solucion que se me ocurre es que utilices el TMR2, segun el datasheet el SPI puede tomar la frecuencia de este timer dividida entre 2.
Aun asi, leiste esto en el datasheet?
This allows a maximum data rate (at 40 MHz) of 10.00 Mbps.
Segun he visto ahi y en los datos lo maximo son 10mhz para el SPI.
-
A 20 MHz! Veo que no has leído ningún datasheet, el PIC tampoco soporta esa velocidad.... :?
Saludos!
-
noooo, tienen razon, la verdad es que asumi que si la memoria que fabrican ellos soporta 20mhz el SPI del pic tambien llegaria a esa velocidad, estoy viendo si encuentro algun pic donde el spi llegue a 20 mhz...sin suerte todavia
Saludos,
Javier
-
El PIC18F46K20 (a 64mhz - el seteo seguiria dividido 4 - SPI_CLK_DIV_4 )soporta 16mps, todavia no encuentro alguno que llegue a 20mps
Saludos,
Javier
-
No creas que el problema es de la velocidad del micro, un dspic33 que va a 70MIPS el SPI como maximo puede ir a 10mhz.
Sobre que la memoria vaya a 20mhz pues si, tambien venden una que va a 80mhz pero aun no conozco micro que llege a esa velocidad del SPI xD
-
PIC24H y PIC32, si no recuerdo mal.
Saludos!
-
Gracias suky y MerLiNz , todavia no me cabe en la cabeza siendo ellos los fabricantes de la memoria y el micro la spi del micro no llega a aprovechar la velocidad de la memoria..y veo que sacaron un nuevo modelo de memoria SST flash que trabaja con SPI tambien , la de 1mb (SST25VF010A) puedo trabajar hasta 33mhz!, ya les mande un email preguntado si algun modulo spi en algun pic llega a esa velocidad...
saludos
Javier
-
Gracias suky y MerLiNz , todavia no me cabe en la cabeza siendo ellos los fabricantes de la memoria y el micro la spi del micro no llega a aprovechar la velocidad de la memoria..y veo que sacaron un nuevo modelo de memoria SST flash que trabaja con SPI tambien , la de 1mb (SST25VF010A) puedo trabajar hasta 33mhz!, ya les mande un email preguntado si algun modulo spi en algun pic llega a esa velocidad...
saludos
Javier
Creo que no has llegado a ver las que trabajan a 80mhz xD de 32mbit y similares tambien de SST
de todas formas estas memorias son algo mas dificiles de usar, para escribir algo tienen que estar borradas, es decir no puedes escribir encima de un byte ya usado tendrias que borrar y volver a grabarlo y como no se admiten borrados por byte sino por sectores pues imagina.
-
Gracias suky y MerLiNz , todavia no me cabe en la cabeza siendo ellos los fabricantes de la memoria y el micro la spi del micro no llega a aprovechar la velocidad de la memoria..y veo que sacaron un nuevo modelo de memoria SST flash que trabaja con SPI tambien , la de 1mb (SST25VF010A) puedo trabajar hasta 33mhz!, ya les mande un email preguntado si algun modulo spi en algun pic llega a esa velocidad...
saludos
Javier
Se piensa en general, por más que un microntrolador de su empresa no llegue a 20MHz, no significa que otros no y hay que aprovechar el uso general :tongue: