Haz una pregunta
  Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos
Foros Registrarse ¿Olvidaste tu contraseña?

Temas similares

23/10/2008 #1


Necesito con microcontroladores y watchdog
Hola a todos estuve buscando en el foro de micros y no encontre esta duda que tengo en particular
asi que pido disculpas desde antes por si no era necesario crear un nuevo tema.


Estoy en 7mo semestre y apenas estoy llevando la materia de microcontroladores, tengo algunas dudas sobre el Watchdog timer:
¿Para que sirve?
¿Por que es tan necesario?
¿Que pasa si lo detengo?
y si se puede alimentar con diferentes fuentes de reloj, ¿en que afecta a mi programa?

Bueno esto es por parte de perro guardian

Tambien quisiera preguntar porque es tan importante aprender a programar en ensamblador ya que mi maestro siempre nos dice que debemos aprender este lenguaje antes de pasar a C pero no se porque es tan importante.¡¡¡

Por otro lado, estoy haciendo mi servicio y tengo que hacer un manual de practicas del PIC 16F877 pero por supuesto antes tengo que ver como funciona y que perifiericos tiene asi que estoy leyendo todo el manual de este pic, es por eso que tengo esas dudas sobre el perro guardian. Espero que me respondan ya que es importante tanto para la escuela como para mi servicio¡¡¡¡

Despues los molesto con mas cosass
Muchas gracias a todos este foro es el mejor¡¡¡
saludos desde mexicooooo¡¡¡
23/10/2008 #2


Nadie sabe? T_T'' porfavor necesito ayudaAAA
23/10/2008 #3


Da tiempo...


El perro guardián es un sistema de seguridad.

Te pongo un ejemplo típico, la maquina tragaperras/marcianitos.(suelen utilizar un simple ne555 + transistor que descarga el condensador)

Tienes un bar con la maquina tragaperras y entra un chino y con un mechero de chispas de cocina. Le empieza a darle chispas y aunque la maquina no le da el dinero se queda bloqueada. Menudo rollo, apaga la luz y vuelve a empezar.

Por eso todas estas maquinas llevan un dispositivo que si la maquina no da muestras de vida la RESETEA automaticamente y aqui no a pasado nada.

El chinito al darle con el mechero lo que hace es hacer interferencias que normalmente detienen al oscilador cuarzado debido a la alta impedancia de las patillas.


El perro es basicamente un contador que cuando llega a tope genera un reset.

La temporizacion la podriamos generar desde el propio cuarzo, pero como te comentaba es una patilla muy sensible. Si el cuarzo se detiene el perro no cuenta no funciona, mal rollo no.


Lo mejor es hacer un sistema completamente independiente y a prueba de bombas.
Un oscilador RC interno+ contadores y una salida directamente al reset, sin intermediarios que lo puedan afectar.
Ademas añadimos una bandera (un bit) para indicar que se ha disparado.

El perro no es obligatorio utilizarlo, si el diseño tiene en cuenta posibles interferencias, fluctuaciones de la red, no tiene que pasar nada, todos los ordenadores personales de los años 80-90 (spectrum, msx,commodore664...) no llevaban y funcionaban bastante bien.

Pero con el perro guardian garantizas un funcionamiento seguro, tu te la jugarias en un ascensor, pues resulta que hay ascensores con pic's.

Para las practicas del cole no es necesario el perro, no solo eso es aconsejable que verifiquen que esta desactivado ya que si no da problemas "raros", del tipo ha veces funciona y otras no.

Cuando se programa con perro es necesario hacer dos rutinas de arranque.
La rutina de arranque en frío donde se inicializan las variables
La rutina de arranque por fallo, donde no se tocan las variables y se salta a la rutina principal.(la bandera que te comentaba).

Imaginate que tienes un montaje con un pulsador y una bombilla.

Damos tension al montaje,
se inicializa la variable bombilla=apagada.
bucle (pulsador)
si aprieto y esta apagada --->encender bombilla
si aprieto y esta endendida-->apagar bombilla
perro guardian =0
repetir


Ahora pasa el tio de la moto, se bloquea (perro -->disparo reset)

reset
esta activada la bandera=Watchdog salta a bucle

si no se inicializa la variable bombilla=apagada.

bucle (pulsador)
si aprieto y esta apagada --->encender bombilla
si aprieto y esta endendida-->apagar bombilla
perro guardian =0
repetir

Aunque pase 20 veces el pesao de la moto, nosotros ni nos daremos cuenta , la bombilla si estaba encendida sigue encendida,fijate que el reset no borra las variables, esto nos permite conocer como estaba antes y actuar en consecuencia.

Un buen diseño con watcgdog debe ser transparente al usuario, auqnue se resetea el usuario ni se de cuenta (siempre que sea posible).(la bombilla sigue encendida)

Para comprobar si funciona bien simplemente pones un 555 como monostable cada 20 segundos bloquee el cuarzo a traves de un simple transistor npn. La bombilla debe mantener su estado.




En cuanto al tema del asembler es muy sencillo, con asembler aprendes como funciona el micro en profundidad.(educativo).

En la practica es mas comodo programar en C en proyectos grandes.
Aunque en rutinas conflictivas se programa en asembler, dentro del C se colocan rutinas en asember.

En asembler se crea codigo rapido y optimizado a costa de un esfuerzo.Depende de cada chip, PIC, ATMEL(8051)...
En C puedes crear codigo rapidamente, pero no tan optimizado . Ademas puedes pasar de un chip a otro sin grandes esfuerzos.
24/10/2008 #4


Siii, sí te entendí perfectamente¡¡¡¡ muchas gracias por tu respuesta tan completa, en verdad te agradezco mucho el esfuerzo tiopepe123 ya no será tan complicado entender el manual de este PIC que estoy leyendo

Saludos y mucha suerte¡¡
Respuesta
¿Tienes una mejor respuesta a este tema? ¿Quieres hacerle una pregunta a nuestra comunidad y sus expertos? Registrate

Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO ©2011, Crawlability, Inc.