Confiabilidad y seguridad de un programa

Hola a todos en el foro.
El tema que me gustaria discutir es despues de tener un programa listo, me refiero a que ya se cumplio con las especificaciones del diseño, que se puede hacer para que el programa se vuelva confiable y seguro.
Espero sus comentarios
Gracias por la atensión prestada
 
juanfrj dijo:
Hola a todos en el foro.
El tema que me gustaria discutir es despues de tener un programa listo, me refiero a que ya se cumplio con las especificaciones del diseño, que se puede hacer para que el programa se vuelva confiable y seguro.
Espero sus comentarios
Gracias por la atensión prestada

Si tu programa funciona las 24 hs, los 365 días del año, para mí es un programa 'seguro y confiable'.

Ahora bien, empecemos por otro lado. ¿Qué es lo que ves vulnerable en tu software?

A menudo por ej. activar el watchdog puede ser una buena idea pero también debes tener en cuenta que habilitarlo no es la solución a todo y deberás considerar qué hará el software al reiniciarse por acción el WatchDog.

Si nos comentas de qué trata tu aplicación podremos guiarte mejor.

No siempre la solución está en hacer más robusto al firmware, a veces es por el harware y en casi la generalidad de los casos es por ambos lados.

Saludos
 
un ejemplo de watchdog sin los videos que cada cinco minutas hacen un autoreset para que no se bloqueen.
Realmente los videos son una caña, cuando usted hace algo tan sencillo como instroducir una cinta. Automaticamente empizan a contar el tiempo que tarda en moverse el mecanismo, si falla hacen una cora segun donde se encuentre presuntamente la cinta y si no contninuan.


El tema del watchdog tiene la dificultat de que se deben guardar las variables deforma que si se produce un reset el programa sepa continuar, es facil si cuando reinicializas controlas como inicializas cada variable con el fin de no sobreescribir.
 
gracias por sus respuestas.
ya que esto es algo tan general, que posibles problemas se pueden presentar en la ejecucion de un programa con un pic, y que posibles soluciones se le pueden dar.
por ejemplo, que problemas puede evitar el accionar el WDT, u otros parametros de configuracion?
 
juanfrj dijo:
gracias por sus respuestas.
ya que esto es algo tan general, que posibles problemas se pueden presentar en la ejecucion de un programa con un pic, y que posibles soluciones se le pueden dar.
por ejemplo, que problemas puede evitar el accionar el WDT, u otros parametros de configuracion?

juanfrj realmente no entiendo tu pregunta. ¿A que te refierse con un problema que pueda evitar accionar el WDT? ¿a qué parámetros de configuración te refieres?
 
Hola y gracias por tu respuesta.
La verdad es que apenas estoy empezando con el cuento de los Microprocesadores , y estoy un poco preocupado por los problemas que se pueden presentar mientras un programa esta en ejecucion, por ejemplo ciclos infinitos inesperados, disminucion del voltaje de alimentacion, cosas asi, pero en especial problemas externos, como por ejemplo, que problemas me pueden ocasionar variaciones en el voltaje de alimentacion cuando estoy trabajando con el conversor A/D del pic con referencia interna.
Mi pregunta acerca del watchdog timer se refería a que tipos de inconvenientes (en software y externos) se pueden evitar cuando éste se habilita, osea que se gana con habilitarlo?
Muchas gracias y espero me haga entender :D
 
juanfrj dijo:
Hola y gracias por tu respuesta.
La verdad es que apenas estoy empezando con el cuento de los Microprocesadores , y estoy un poco preocupado por los problemas que se pueden presentar mientras un programa esta en ejecucion, por ejemplo ciclos infinitos inesperados, disminucion del voltaje de alimentacion, cosas asi, pero en especial problemas externos, como por ejemplo, que problemas me pueden ocasionar variaciones en el voltaje de alimentacion cuando estoy trabajando con el conversor A/D del pic con referencia interna.

Entiendo tus dudas y miedos pero hay que analizar cada caso en concreto y sobre todo cada aplicación en concreto.

Dar lineamientos generales es una cosa, pero dar una respuesta categórica a un tema como este sin saber el tipo de aplicación es sencillamente poco serio y no me atrevería a darte una respuesta categórica sobre tu aplicación que no la conozco.

De todas formas te digo lo siguiente.

Si tu voltaje de alimentación del pic desciende unos mV y usas referencia interna, no deberás preocuparte por el A/D en sí, el mismo seguirá funcionando. El punto es que si la tensión de entrada al A/D está en un valor grande, por ej 5V y el pic está alimentado con 4V entonces ahí si debes preocuparte por no dañar el pic.

Si la referencia de lo que estás sensando tiene un tope que también está fijado por la alimentación del PIC, su valor también descenderá proporcionalmente (ej si lees un potenciómetro)

Si el voltaje desciende mucho podrías activar el Brown Out Detector que está hecho para que tu pic se reinice y se mantenga así mientras esté en un valor de voltaje bajo.

juanfrj dijo:
Mi pregunta acerca del watchdog timer se refería a que tipos de inconvenientes (en software y externos) se pueden evitar cuando éste se habilita, osea que se gana con habilitarlo?
Muchas gracias y espero me haga entender :D

El micro se pudiera colgar por un problema eléctrico ya sea por un mal diseño o bien por alguna causa no prevista y eventual.

El watchdog debe ser reiniciado constantemente para que no actue. Si ocurrió algo que colgó la electrónica del pic en sí o bien que hizo que el soft se perdiera, el watchdog en ese caso, te reiniciará el pic.

Saludos
 
buenas disculpen pero me gustaria saber como habilitar los parametros del watchdog en un pic 16f877, la verdad me e leido todo el datasheet pero no se como activarlo y en que parte del programa colocarlo...

el programa se basa en detectar una serie de bits y compararlo pero me pidieron que activara el watchdog por seguridad de que se colgara o algo... el programa solo se debe reiniciar si se cuelga... y tambien tengo que activar el timer 1 para que se ejecute cada parte del programa


gracias de antemano si me pueden ayudar... :rolleyes:
 
Atrás
Arriba