Saltar al contenido principal
LibreTexts Español

10.2: Desrebotar

  • Page ID
    82805
  • \( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)

    \( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)

    \( \newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\)

    ( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\)

    \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\)

    \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\)

    \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\)

    \( \newcommand{\Span}{\mathrm{span}}\)

    \( \newcommand{\id}{\mathrm{id}}\)

    \( \newcommand{\Span}{\mathrm{span}}\)

    \( \newcommand{\kernel}{\mathrm{null}\,}\)

    \( \newcommand{\range}{\mathrm{range}\,}\)

    \( \newcommand{\RealPart}{\mathrm{Re}}\)

    \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\)

    \( \newcommand{\Argument}{\mathrm{Arg}}\)

    \( \newcommand{\norm}[1]{\| #1 \|}\)

    \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\)

    \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\AA}{\unicode[.8,0]{x212B}}\)

    \( \newcommand{\vectorA}[1]{\vec{#1}}      % arrow\)

    \( \newcommand{\vectorAt}[1]{\vec{\text{#1}}}      % arrow\)

    \( \newcommand{\vectorB}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)

    \( \newcommand{\vectorC}[1]{\textbf{#1}} \)

    \( \newcommand{\vectorD}[1]{\overrightarrow{#1}} \)

    \( \newcommand{\vectorDt}[1]{\overrightarrow{\text{#1}}} \)

    \( \newcommand{\vectE}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash{\mathbf {#1}}}} \)

    \( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)

    \( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)

    Antes de comenzar la discusión de los circuitos secuenciales, existe un problema que ocurre cuando se intenta simular el borde ascendente de un reloj en el circuito. En todos los laboratorios hasta este punto los interruptores de palanca parecen encenderse y apagarse limpiamente. Esto se debe a que los interruptores se utilizan para representar una entrada constante al circuito. El único estado de interés es si el switch es 0 o 1. La rapidez o limpieza del interruptor cambió de 0 a 1 o 1 a 0 no importaba.

    En realidad ningún interruptor hace nunca una transición limpia entre 0 y 1. Los interruptores no pueden encender/apagar limpiamente. Todos los interruptores mecánicos, cuando se encienden o apagan, exhiben un período de tiempo en el que el interruptor oscila entre encendido/apagado antes de que se asiente en un valor constante. Esta oscilación es generalmente demasiado rápida para que un humano la note, pero las oscilaciones producen múltiples ondas cuadradas y, por lo tanto, múltiples activadores de borde. Estos disparadores de borde son lo suficientemente lentos como para que un pestillo o flip-flop vea múltiples cambios de estado fantasma en lugar de un solo cambio de estado limpio.

    El laboratorio de este capítulo demostrará cómo un circuito puede hacer una transición entre estados definidos. Esto requiere que cada vez que se lanza el interruptor solo se vea como producido un solo borde. Los múltiples bordes que genera el conmutador hacen que el circuito se comporte incorrectamente. Entonces se debe hacer algo para obtener un solo cambio de estado cuando se lanza un switch.

    Para manejar estos múltiples cambios de estado fantasma, los circuitos necesitan ser desrebotados. Una forma sencilla de pensar en el debouncing es darse cuenta de que si se procesan múltiples señales de encendido/apagado en una pequeña cantidad de tiempo, en realidad son solo ruido proveniente del interruptor, y los bordes deben combinarse en un solo evento.

    Todos los tipos de interruptores, incluidas las teclas del teclado en el que escribimos, deben ser desrebotados. Este debouncing generalmente se maneja en software que está diseñado para filtrar el ruido del interruptor. Sin embargo los circuitos que estamos viendo en este texto no implementan un procesador, por lo que una solución de software no es posible.

    Para desrebotar los circuitos en este capítulo se utiliza un enfoque de hardware. Este enfoque de hardware requiere que se implementen tres partes en nuestro circuito.

    1. Un pequeño interruptor de botón es sustituido por nuestro interruptor de palanca. El pulsador proporciona una entrada mucho más limpia que el interruptor de palanca, por lo que es más fácil obtener un solo borde limpio al presionar el botón. El botón sí introduce un problema, y es que solo tiene una entrada. A menos que se presione el botón, no es ni positivo ni rectificado. A esto se le llama un estado abierto. Todos los chips que se han utilizado en circuitos hasta el momento han sido de la variedad HC o HCT, en gran parte por su menor costo. Pero los chips HC y HCT no manejan estados abiertos, por lo que este laboratorio requiere que el chip solía ser la versión ttl del chip 7414.
    2. Un condensador adicional está conectado a la salida del interruptor de botón pulsador. Este condensador ayuda a limpiar aún más el borde.
    3. Un inversor Schmitt, que es un chip 7414, se inserta en el circuito. Un inversor Schmitt es un circuito implementado con histéresis. Histéresis significa que la salida de un circuito depende no sólo del estado actual, sino de la historia de sus entradas pasadas. Por lo que el inversor Schmitt nuevamente se usa para ayudar a limpiar los bordes del interruptor.

    La implementación del debouncing en el circuito se presentará con los circuitos utilizados en este capítulo. Cómo funciona el circuito de desrebote no es un tema de este texto, por lo que se presenta sin más comentarios.


    This page titled 10.2: Desrebotar is shared under a CC BY 4.0 license and was authored, remixed, and/or curated by Charles W. Kann III via source content that was edited to the style and standards of the LibreTexts platform; a detailed edit history is available upon request.