Autor Tema: ¿Oscilador interno?  (Leído 3763 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18310
    • MicroPIC
¿Oscilador interno?
« en: 15 de Abril de 2004, 03:02:00 »
Hola amigos.

Acabo de conseguir programar por primera vez un 16f877a pero he observado que el programa sólo se ejecuta si desinstalo el cristal externo de 20 MHz que tenía pinchado en la protoboard.

Yo creía que los micros no podían funcionar sin cristal pero este lo hace. ¿Tienen un oscilador interno?

(lo he grabado en modo HS, por si sirve de pista)

Gracias

Desconectado Elena2000

  • PIC24F
  • *****
  • Mensajes: 722
RE: ¿Oscilador interno?
« Respuesta #1 en: 15 de Abril de 2004, 05:28:00 »
Hola Nocturno!!

Todos los PICs tienen implementado un circuito de reloj como parte de su arquitectura.  Para hacer actuar correctamente al reloj y que sicronice los pulsos como debe ser, se tiene que conectar algunos componentes externos a la entrada del rejoj, o bien un cristal o sino un circuito RC, por ejemplo.
La opción HS del grabador indica que se está usando un cristal de alta frecuencia, que corresponde con el cristal que tienes (el límite entre alta y baja frecuencia es 4MH).

Ahora... no me cosco... para grabar el .hex en el PIC, no necesitas el cristal, sólo configurar el software del programador con HS, en tu caso, vale. Se graba ok. Pero al correr el programa y que el PIC haga lo que tú le has grabado, debes tener conectado el cristal... no entiendo lo que dices que "funciona cuando desinstalas el cristal"...

no... no me entero, me cuentas, vale?

Desconectado ZarruZ

  • PIC10
  • *
  • Mensajes: 22
RE: ¿Oscilador interno?
« Respuesta #2 en: 15 de Abril de 2004, 09:43:00 »
sabes, a mi me paso algo parecido, pero el pic trabajaba debido a ruidos producidos en el protoboard, ya que estaba montado sobre una placa metalica, es probable que tu tengas un problema parecido, y por si acaso en la configuracion desactiva la opcion low voltaje program (ya que eso hizo inestable a mi pic 16f877), o algo asi, no me acuerdo en este momento exactamente como dice tal opcion, espero haberte ayudado un poco. bye

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18310
    • MicroPIC
RE: ¿Oscilador interno?
« Respuesta #3 en: 15 de Abril de 2004, 11:54:00 »
Pues sí querida Elena, para grabarlo no tengo que tener conectado el cristal, aunque si lo tengo conectado se graba sin problemas.
Sin embargo, y sorprendentemente, una vez que retiro de la placa el cable ICSP y alimento el PIC para que ejecute el programa grabado, sólo funciona si "desinstalo" el cristal, es decir, lo tengo que quitar de la placa, desmontarlo, retirarlo, despincharlo...  

Zarruz, lo que dices de ruidos en la protoboard podría ser, pero no sé cómo desactivar el low voltaje program.

Gracias.

Desconectado NPI_C

  • PIC10
  • *
  • Mensajes: 8
RE: ¿Oscilador interno?
« Respuesta #4 en: 15 de Abril de 2004, 14:19:00 »
Ya que estamos con el tema del oscilador interno Y SIN PRETENDER DESVIAR LA CONSULTA DE NOCTURNO (si alguno de los "entendidos" sólo tiene ganas de reponder una de las cuestiones, que sea la suya, que la mia es pura curiosidad...)

El caso es que he recibido unos samples del 12F629 y el 12F675 que sabéis son de 8 pines. Nunca he trabajado con micros tan pequeños y me preguntaba dos cosas básicamente:

-Da una opción de oscilador interno... ¿es posible que éste si que funcione sin RC o XT....? Lo vería lógico al tener tan pocas patillas disponibles... que Microchip haya implementado alguna función interna para producir los pulsos de reloj a través de la alimentación... ??? ¿Puede ser? Pura ingnoracia. Gracias de antemano.

-Segundo y último punto: ¿puedo programar dichos bichos de 8 pines en un TE20 SE? Publiqué una pregunta en el foro de Programadores pero a nadie le sale de los cojones contestar... así que ya que estamos si alguien se precia le estaría enormemente agradecido....


GRACIAAAAAAAAAS!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18310
    • MicroPIC
RE: ¿Oscilador interno?
« Respuesta #5 en: 15 de Abril de 2004, 16:00:00 »
Curioso, acabo de cambiar el cristal de 20 MHz por uno de 4 MHz y sí me funciona, incluso dejándolo en la proto.

¿Cómo puedo comprobar si el cristal de 20 funciona bien o está defectuoso?

Desconectado MarquesSalsero

  • PIC18
  • ****
  • Mensajes: 467
RE: ¿Oscilador interno?
« Respuesta #6 en: 15 de Abril de 2004, 17:14:00 »
Tsch Tsch Tsch.... NPI_C no seamos groseros que por aqui hay señoritas.

Te contesto:

Si, hay muchos modelos de pic que tienen la posibilidad de usar el oscilador interno sin RC ni cistal externo. Los detalles varían de un PIC a otro y por eso siempre, repito SIEMPREEEEEEE hay que leerse la hoja de caracteristicas de un pic que vamos a usar antes de meternos con el, ya que hay pequeñas diferencias entre ellos que nos pueden llegar a amargar un proyecto. Incluso entre las versiones con y sin la letra "a" al final. Cuando se usa el oscilador interno el pic hace uso de un valor almacenado en OSCCAL en la meoria no volatil del pic. Es muy buena idea el que cada vez que nos llegue un nuevo pic de este tipo ( cada unidad ) leamos ese valor y lo escribamos en la parte inferior del pic, ya que si alguna vez lo borrasemos, sería casi imposible el lograr que el pic trabajase en una frecuencia exacta. Luego basta con poner al principio de nuestro programa

OSCCAL=B5 ( o el valor hex que previamente leyeses del pic )

En cuanto a lo del TE20, este es un programador muy basico ( yo lo use al principio de este hobby ) y no funciona muy bien con algunos de los nuevos PICs, pero depende en gran medida del programa que uses con el. Mirate la documentación del programa que estás usando a ver si soporta el chip que te interesa. Si el programa que usas no lo soporta busca con Google a ver si hay otro programa que lo haga. Yo termine hasta el occipicio del ICPROG y de las cosas raritas que me hacía a veces y termine por comprar un programador medianamente serio.
Hay 10 tipos de personas las que entienden binario y las que no

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18310
    • MicroPIC
RE: ¿Oscilador interno?
« Respuesta #7 en: 16 de Abril de 2004, 00:24:00 »
Gracias Marqués, aunque ahora me asalta otra duda.

Si dices que el valor OSCCAL está grabado en la memoria no volátil del PIC, ¿cómo existe riesgo de borrarlo?

Desconectado cucaracha

  • PIC24H
  • ******
  • Mensajes: 1409
    • CUCAWEB
RE: ¿Oscilador interno?
« Respuesta #8 en: 16 de Abril de 2004, 04:15:00 »
Pues programando encima. Volatil y no volatil, recuerda, era tema de si está alimentado o no...
Saludos desde Huelva (ESPAÑA)

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18310
    • MicroPIC
RE: ¿Oscilador interno?
« Respuesta #9 en: 16 de Abril de 2004, 04:27:00 »
Pues tienes razón, jejeje, hace ya tanto que me explicaron la diferencia entre rom y ram?.

Bueno, pues como no tenía ni idea no he tenido ninguna precaución con ese valor asi que, si Murphy nuevamente se manifiesta, seguro que lo he borrado.

Intentaré encontrarlo y ya os diré.

Gracias

Desconectado MarquesSalsero

  • PIC18
  • ****
  • Mensajes: 467
RE: ¿Oscilador interno?
« Respuesta #10 en: 16 de Abril de 2004, 12:58:00 »
Pues eso, ten en cuante que gay RAM ROM EPROM y EEPROM

Si lo has borrado pon un valor de "7F" y a correr, ya que a no ser que necesites que la frecuencia de oscilación sea exacta, no tendras problemas...

Y como me espero la siguiente pregunta, alla va la respuesta, necesitas una frecuencia bastante exacta de oscilacion si vas a usar puertos de comunicacion serie, si vas a montarte un receptor o emisor de infrarojos y en general para cualquier cosa que tenga una comunicacion con el exterior basada en frecuencias fijas o si por ejemplo piensas usar los contadores internos para temporizaciones en las que requieras exactitud. Si vas a montar un reloj para cocer huevos te da lo mismo que tengas un error de un 10%, pero con ese mismo error una comunicacon serie no funciona.
Hay 10 tipos de personas las que entienden binario y las que no