4 votos

Software vs hardware retardadores

Trabajando con un micro controlador, en el que las condiciones exactas debemos elegir entre los temporizadores de Hardware y Software de los retrasos en un Controlador Embebido?

He visto artículos que hacer hincapié en el uso de temporizadores.

Si los temporizadores son tan buenas, ¿por qué es el Software retrasos necesarios?

Este es el enlace que describe el uso de s/w o temporizadores de hardware.

http://betterembsw.blogspot.in/2012/12/software-timing-loops.html

Pero esto no hace hincapié en el caso cuando el h/w temporizadores están disponibles en el controlador que estamos utilizando.

7voto

Bash Puntos 1680

Por hardware retrasos quise decir "Timers".

La ventaja de usar los temporizadores de cuenta de la demora es que proporcionan una manera para permitir que async contar. El uso de un Software "retraso" se fuerza a que el controlador de poner todos sus recursos en el procesamiento de algún tipo de bucle (el incremento de una variable hasta un valor dado) y bloqueando así el resto de la ruta de ejecución de código.

Si el retardo de hardware es tan bueno, entonces, ¿por qué es el Software retrasos necesarios?

Un software de retraso es más fácil de implementar y puede ser suficiente si sólo es un plazo muy corto, que no es significativamente interrumpir cualquier otra tarea en la principal secuencial código de la ruta de procesado. Además, los temporizadores pueden estar en uso por algún otro hardware relacionados con tareas como la generación del PWM y no puede ser "libre" para ser configurado de acuerdo a sus requerimientos de retraso.

Otro caso de uso sería algún retraso inicial que se requiere antes de que el bucle principal se está ejecutando. No habría ninguna necesidad de utilizar un retardo de hardware en ese caso.

Una última cosa que viene a la mente es que un software de retraso no requiere interrupciones ser habilitado globalmente, mientras que un requisito para el temporizador basado retrasos (al menos para el caso de uso habitual).

5voto

smack0007 Puntos 5215

Donde sea posible, yo normalmente uso un temporizador de un software de retraso por las siguientes razones

  • Un temporizador de retardo basado en el tiempo es fácil de calcular como usted sabe cuánto tiempo una garrapata dura. Un software de retraso puede ser optimizado si su compilador es demasiado inteligente o desde una gran cantidad de modernos procesadores de uso de una tubería es difícil calcular con precisión la cantidad de tiempo que un simple software de bucle va a tomar.

  • A menudo usted puede usar un temporizador para generar una interrupción por lo que puede continuar con otras tareas.

Cuando no puedo usar un temporizador?

  • Si no tengo uno de repuesto

  • Si necesitaba un poco de retraso, como por ejemplo el establecimiento de algunos de los puertos de salida de las líneas de una dirección en concreto, a continuación, tirando de otra línea de bajo para significar quiero leer los datos. El retraso puede ser tan corto como un par de ciclos de reloj por lo que sería de ningún beneficio en el uso de un temporizador.

5voto

GSerg Puntos 33571

Los temporizadores de Hardware son muy precisos, pero en general existe un número limitado de ellos disponibles. Software de temporizadores sólo consume ciclos de CPU y espacio en la memoria, que son los únicos límites sobre la cantidad que usted puede tener.

Un compromiso que se utiliza en muchos sistemas es configurar un temporizador de hardware para generar una precisa periódico "la garrapata" interrumpir a una velocidad conocida y, a continuación, aplicar un número arbitrario de software de temporizadores (cuya resolución es la garrapata del período), basado en que la interrupción.

La garrapata de las tarifas varían, en cualquier lugar de la 18.20651 Hz[1] se utiliza en el original de la PC de IBM, a 10 kHz o más en algunos incorporado sistemas de tiempo real.


[1]El valor preciso es \$\frac{7166250}{393609.216} Hz\$. Brownie puntos a la primera persona que puede completamente explicar de dónde viene este número.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X