TODOPIC
Microcontroladores PIC => Todo en microcontroladores PIC => Mensaje iniciado por: devaronaomar en 15 de Febrero de 2010, 15:37:12
-
Hola a todos, soy nuevo en el foro aunque llevo mucho tiempo entrando y "curioseando" posts agenos. El caso es que estoy haciendo mi proyecto de fin de carrera y necesito imperativamente ayuda con PICs.
Bueno, tengo un VS1053 para codificar aundio, hasta ahí todo bien. También tengo la intención de usar un 18f2550 y hasta ahí tambien todo... aparentemente bien aunque...:-(..
Resulta que la placa en la que tengo montado el VS1053 tiene unos pines preparados para comunicación vía RS232 por donde pensaba comunicarlo con el PIC y además alimentar el PIC y aportarle el mismo rejol que el conversor para evitar malos sincronismos pero resulta que tx/rx de datos es, al parecer, cmos. De hecho en toda la placa no hay ningún punto de 5V y el 18f2550 tiene niveles altos a 5V (TTL).
Según el tutor de mi proyecto puedo usar ciertos "adaptadores" que tendría que colocar uno en cada puerta aunque aún así creo que las puertas bidireccionales serán problemáticas.
Bueno ya expuesto mi problema aquí van las preguntas ;-)
¿Cuál creen que es la solución adecuada, adaptadores o cambiar de PIC? (cabe destacar que no sólo tengo el 18f2550, sino también el programador t20 :()
¿Existe algún sustituto del 18f2550 adaptado para funcionar con niveles altos a 2,8V y Vcc<5V?
Para dar más información: Además de estar iniciándome en PICs me estoy iniciando en C, pues no he tenido la oportunidad de estudiarlo y pretendo programarlo en éste lenguaje.
Mil gracias
-
Ese chip lo tengo funcionando con un 18F67J50 ya que trabaja a 3V3, así no tienes que utilizar ninguna electrónica intermedia adicional.
La otra posibilidad es seguir con el 18F2550 y utilizar un conversor de niveles (3V3-5V), aquí puedes ver una posible forma de implentarlo:
http://www.sparkfun.com/commerce/product_info.php?products_id=8745
un saludo!
-
También están los pequeños pero maravillosos TXS010X (http://focus.ti.com/docs/prod/folders/print/txs0102.html) de Texas Instruments. Los hay de 2, 4, 6 u 8 bits
-
Lo son... si que lo son! Me los apunto que no los conocía :)
-
Manolo Nocturno y yo los hemos utilizado y son una gozada para adaptar niveles.
-
Sí, todavía alguna vez tengo pesadillas con su soldadura
-
Pero el 18f2550 tb trabaja a 3.3v, no seria mas practico eso ?
Bueno el data!
Salu2.
-
El 18F2550 también trabaja bien con puertas cmos? Por más que lo he buscado no lo encuentro en las hojas de características..
Cómo sabe el PIC si los 3 y poco voltios que tiene son un nivel alto o un nivel bajo?
Si el 18F2550 funciona sin problemas con 3.3 entonces no tengo que poner los translators de tensión.. alguien me lo puede confirmar?
gracias
-
Yo estoy ahora usando un pic18f2550 con una memoria eeprom externa 24lc512 a 3.3v ambos y funciona bien. Para mandar algo al puerto serie de la pc tengo que hacer un circuito amplificador.
Salu2.
-
El PIC leerá perfectamente un 1 si le llegan 3,3V en un pin, pero el problema lo tienes al enviar algo al VS1053. Sus entradas no toleran los 5V que envía el PIC por lo que tendrás que reducirlo a 3.3V.
Lo ideal es poner un transistor, aunque también puedes hacerlo con un divisor de tensión con dos resistencias.
Y si quieres una solución idónea, la que te comentaba Diego antes, con el TXS010X
-
Hola ,recuperando componentes de placas en desuso me hice de un MAX3232 que segun la hoja de datos es un rs232 que
trabaja con baja tension desde 3volt a 5,5volt quizas ya lo sabian pero yo me entere hoy :shock: por las dudas lo comento :shock:
Salu2
-
El PIC leerá perfectamente un 1 si le llegan 3,3V en un pin, pero el problema lo tienes al enviar algo al VS1053. Sus entradas no toleran los 5V que envía el PIC por lo que tendrás que reducirlo a 3.3V.
Lo ideal es poner un transistor, aunque también puedes hacerlo con un divisor de tensión con dos resistencias.
Y si quieres una solución idónea, la que te comentaba Diego antes, con el TXS010X
Pero si alimentas el PIC con 3.3V no hay forma de que te envíe 5V. Ahora mismo estoy haciendo pruebas con un PIC18F2550 alimentado a 3.3V para comunicarme por I2C sin un adaptador adicional, en las pruebas se ha comportado bien, aunque si pensara en publicarlo, venderlo o cualquier otra cosa, mejor usamos el adaptador porque a este voltaje el PIC queda cerca de su mínimo de operación.
-
Según la datasheet, el 18F2550 puede funcionar a un mínimo de 4.2V
Por debajo quizás hayas conseguido que funcione el tuyo, pero a lo mejor no va bien en todas sus funciones. Y si lo fuera, no tienes garantizado que otro micro vaya a funcionar.
Para poder trabajar con esa tensión, lo ideal es que metas un 18LF2550, que sí puede trabajar incluso a 2V. Aunque eso sí, mientras más baja es la tensión, más pequeña es la frecuencia máxima.
-
Que yo sepa el 18f2550 puede trabajar desde los 2.0v... Yo lo uso a 3.3v y va bien. Es mas, por algo tienes la posibilidad de activar/desactivar el fusible VERGEN para el usb que trabaja a 3.3v
-
Qué raro, no es lo que dice la datasheet, ¿seguro que no es un LF?
(http://img690.imageshack.us/img690/7514/voltaje18f2550.jpg)
-
No sabia que el datasheet hacia referencia a los LF, aunq tampoco pense que los habia. Aun asi, es muy raro pues siempre e trabajado sin problemas a esos voltajes. Es mas, como digo, ahora mismo tengo un proyecto que esta corriendo a 3.67v de una bateria. Y el oscilador, los botones, interrupciones externas, memoria externa, el core, el usb y todo anda de maravilla =S
No tengo ningun pic que anteponga la letra L en la F :lol:
Supongo que en estos casos se esta haciendo algun tipo de overclockin por decir algo??? Muy raro, me has descuadrado toda una vida (bueno aprox. 2 años xD) de conocer a los PICs (y mas que nada a este que es el q mas e utilizado) con esa imagen que nunca la vi hasta hoy :shock: jajaja
-
Nocturno, yo le di una vuelta a la hoja de datos buscando información sobre voltajes mínimos de operación del 18f2550 (sin L) antes de hacer mis pruebas a 3.3V (necesitaba conectarme con un dispositivo de 3.3V por I2C, estuve preguntando a varias personas pero nadie supo nada :P), porque no tenía nada para adaptar niveles a la mano (pienso conseguir unos PCA9306 de Texas).
Vi la gráfica que mencionas, pero cuando vi la tabla que adjunto (pág. 363), decidí hacer caso omiso de cualquier otra cosa que viera y procedí a realizar las conexiones :p. Para mi sorpresa, el circuito funciona bastante bien, los datos que obtengo por el bus I2C los envío a una PC mediante un puerto USB/COM. Aún así, como mencioné antes, consideré que si este circuito fuera a ser producido, no sería adecuado trabajar este PIC a 3.3V, y ahora lo confirmo, de la misma hoja de datos:
Página 8
Like all Microchip PIC18 devices, members of the
PIC18F2455/2550/4455/4550 family are available as
both standard and low-voltage devices. Standard
devices with Enhanced Flash memory, designated with
an “F” in the part number (such as PIC18F2550),
accommodate an operating VDD range of 4.2V to 5.5V.
Low-voltage parts, designated by “LF” (such as
PIC18LF2550), function over an extended VDD range
of 2.0V to 5.5V.
Me sigue pareciendo extraño que haya trabajado tan bien el circuito, supongo que estarán muy bien hechos estos PIC ;).
-
No es raro que te funcione. Pero no podrás vender un circuito en esas condiciones porque no tienes asegurado que funcione en el 100% de los casos.
Yo he hecho trabajar dsPIC a mucha más frecuencia de la nominal, he provocado cortocircuitos en las salidas de un PIC, y he hecho otras perrerías varias y la mayoría de las veces han funcionado, pero estamos jugando con fuego.
-
En fin, que funciona, pero nadie nos garantiza que en cualquier momento no lo haga y echemos a perder todo ;).
pero estamos jugando con fuego.
-
osea, que mejor no me arriesgo y pongo adaptadores de voltajes jejeje
-
Si el CI con el que te vas a comunicar se alimenta a 3.3V pero soporta entradas de nivel TTL, no hay problema, el PIC puedes alimentarlo a 5V. Este caso lo encontré al conectar un PIC18f2550 y un FPGA Spartan 3. El PIC alimentado a 5V y el FPGA a 3.3V, pero el FPGA soporta entradas TTL, así que no hubo ningún problema :).
Si el CI con el que te comunicas se alimenta a 3.3V y solamente vas a recibir datos de él, el PIC alimentado a 5V puede reconocer niveles lógicos altos de 3.3V.
Si la comunicación debe ser bidireccional y el segundo CI se alimenta a 3.3V, o usas un PIC que trabaje al mismo voltaje o usas un adaptador de niveles. Aunque como se mencionó en este post, bien podrías hacer alguna prueba a ver qué pasa, solo no te fies :p.