Menú English Ukrainian Ruso Inicio

Biblioteca técnica gratuita para aficionados y profesionales. biblioteca técnica gratuita


ENCICLOPEDIA DE RADIOELECTRÓNICA E INGENIERÍA ELÉCTRICA
biblioteca gratis / Esquemas de dispositivos radioelectrónicos y eléctricos.

Diseñamos dispositivos en microcontroladores. Enciclopedia de radioelectrónica e ingeniería eléctrica.

biblioteca técnica gratuita

Enciclopedia de radioelectrónica e ingeniería eléctrica. / Microcontroladores

Comentarios sobre el artículo Comentarios sobre el artículo

Entre la idea inicial de crear un dispositivo basado en un microcontrolador (MC) y el desarrollo de su programa, hay una etapa importante: la elaboración de un diagrama de bloques del algoritmo. A menudo se olvida o, peor aún, se descuida. La programación se lleva a cabo "heurísticamente", en esencia, mediante prueba y error. El resultado es un programa engorroso que de alguna manera funciona, que ni siquiera su creador comprende completamente y es difícil de modernizar. Sin embargo, los programadores conocen y utilizan desde hace mucho tiempo métodos bastante simples que permiten, a partir de la formulación verbal del algoritmo, diseñar correctamente su diagrama de bloques. Los intereses profesionales del autor del artículo se encuentran en el campo de los desarrollos sobre el MK de la serie Z8, pero el material presentado por él se aplica igualmente a los MK de otros tipos.

La interacción de cualquier sistema MC con el operador y el objeto de control se puede representar como se muestra en la Fig. 1 esquema [1]. En general, el objeto de control está equipado con actuadores y sensores. El operador humano actúa sobre el MC con la ayuda de dispositivos maestros y recibe información sobre el estado del objeto a partir de las lecturas de los dispositivos de visualización. Los primeros son interruptores, botones, resistencias variables, los segundos son indicadores luminosos (incluidos gráficos y alfanuméricos), emisores de sonido y otros dispositivos de señalización.

Diseñamos dispositivos sobre microcontroladores

Todos los nodos y conexiones funcionales que se muestran en el diagrama se requieren solo en sistemas complejos de control y gestión interactivos. En los llamados sistemas de control de bucle abierto, el MC funciona "a ciegas", sin recibir ninguna información sobre el estado del objeto. A veces ni siquiera le da al operador ninguna información sobre el trabajo (tanto el suyo como el objeto), especialmente si es posible evaluar los resultados del control observando el objeto mismo. En los sistemas de control cerrados, el MC corrige las acciones de control sobre el objeto en función de las lecturas de los sensores, pero aquí tampoco se requieren dispositivos de visualización. Los sistemas de control no contienen actuadores y, con la ayuda de dispositivos de configuración, el operador solo selecciona los parámetros controlados o cambia los modos de funcionamiento de los indicadores.

La metodología para el diseño de sistemas en MC [2, 3] incluye la formulación y análisis del problema, su interpretación ingenieril, el desarrollo de un diagrama de flujo del algoritmo y el texto del programa de aplicación. En tales sistemas, tienden a asignar el máximo número de funciones a las herramientas de software. La cantidad requerida de memoria, la velocidad y la confiabilidad del sistema en el circuito dependen en última instancia de la efectividad de su implementación. Por supuesto, el desarrollo del concepto y el diseño del producto en sí aún está por hacer, pero los abordaremos sólo en la medida necesaria para el desarrollo del programa MK.

El planteamiento del problema es una formulación verbal de los requisitos del sistema que se está diseñando. En primer lugar, describen su finalidad, características del objeto de control, sensores, indicadores, dispositivos de accionamiento y configuración. A continuación, conviene hablar en detalle sobre el comportamiento deseado del sistema en todas las situaciones posibles, incluidas las "anormales". En ningún caso se puede confiar en las acciones correctas del operador. Por ejemplo, al escuchar una señal de emergencia, puede presionar el botón INICIO en lugar del botón "STOP" prescrito o presionar aleatoriamente todos los botones seguidos. Por supuesto, es imposible prever todas estas situaciones, pero hay que esforzarse por lograrlo. Asegúrese de especificar los valores numéricos de los parámetros del sistema que se está diseñando.

En primer lugar, la tarea se formula, por regla general, "a nivel de usuario". Por ejemplo, la tarea inicial para el desarrollo de un sistema de control de ventilador puede ser así: "Encienda y apague el ventilador, ajuste la intensidad del flujo de aire y cambie su dirección (escape/descarga)". El análisis de ingeniería reducirá esta tarea al control de la velocidad y la dirección de rotación del accionamiento del ventilador, un motor de CC. Dado que la potencia de las señales de salida del MK es obviamente insuficiente para el control directo del motor, será necesario instalar un dispositivo controlador especial entre ellos, que genera señales de la potencia requerida, y el MK resuelve la tarea. limitado al suministro de acciones de control al conductor.

No nos detendremos en la elección de controles de potencia, sensores y dispositivos para su interfaz con el MC. Hoy en día, se producen microcircuitos especializados para estos fines, cuyo uso es mucho más eficiente que construir un sistema a partir de componentes discretos.

Supongamos que se utilizará el controlador de motor de CC integrado LMD18200 de National Semiconductor. Un circuito típico para su inclusión se muestra en la fig. 2. Contiene un puente de MOSFET de alta potencia, en cuya diagonal está conectado el motor.

Diseñamos dispositivos sobre microcontroladores

El conductor está controlado por tres señales lógicas. Se envían pulsos rectangulares a la entrada PWM (modulación de ancho de pulso), cuya relación entre su duración y el período de repetición (ciclo de trabajo) determina la velocidad del motor. El nivel lógico de la señal en la entrada DIR (dirección - dirección) establece la polaridad de la tensión suministrada al motor y, por tanto, el sentido de su rotación. Configurando el nivel de registro. 1 en la entrada BR (freno), el motor se para, y si en ese momento la entrada PWM tiene log. 0, el circuito de alimentación del motor simplemente estará abierto; de lo contrario, las salidas del motor también se conectarán entre sí, lo que proporcionará un frenado de emergencia.

Hay dos sensores integrados en el conductor. Uno de ellos genera una corriente que fluye desde el pin CUR (corriente - corriente) y es proporcional a la corriente del motor con un factor de 377 µA/A. Salida del sensor de temperatura TF (Thermal Flag - indicador de temperatura) - colector abierto discreto. Pasa al estado de registro. 0. si el cristal del controlador se calienta por encima de 145 °C.

Formulemos los requisitos para el dispositivo de control del motor del ventilador y, en esencia, el controlador del motor.

El dispositivo de control debe estar equipado con botones, al presionarlos el operador (usuario) puede encender y apagar el motor, cambiar de dirección, aumentar y disminuir su velocidad. Debe haber una indicación del sentido de rotación del motor con señales luminosas de diferentes colores y una alarma sonora sobre un accidente (sobrecalentamiento o sobrecarga).

Después de aplicar la tensión de alimentación, el dispositivo debe, sin encender el motor, esperar un comando que establezca el sentido de rotación. Su recepción deberá ser confirmada mediante una señal luminosa. Al recibir el comando "START", el motor debe encenderse y comenzar a girar en la dirección especificada con una frecuencia promedio (ciclo de trabajo de la señal PWM = 0.5). Según los comandos "MÁS LENTO" y "MÁS RÁPIDO", el ciclo de trabajo debe disminuir o aumentar en consecuencia, sin pasar de 0.2...1. El comando "PARAR" debe detener inmediatamente el motor, después de lo cual se puede volver a arrancar emitiendo el Comando "INICIAR".

Si se excede el valor permitido de la corriente consumida, lo que puede ser el resultado, por ejemplo, de un atasco mecánico del eje del motor, se debe apagar este último y sonar una señal sonora intermitente con una frecuencia de 1000 Hz en forma de ráfagas cortas (la duración de las mismas y las pausas entre ellas es de 1 s). Cuando el microcircuito se sobrecalienta, es necesario detener el motor y emitir una señal sonora con ráfagas largas (la duración de las ráfagas y pausas es de 2 s). La alarma sonora debe permanecer encendida hasta entonces. hasta que el operador emita un comando "PARAR", que devuelve el dispositivo a su estado original. Hasta que se dé tal orden, no responderá a ninguna otra.

Ya en esta etapa conviene abstraerse de los detalles que no son esenciales para el desarrollo del programa MC. Por ejemplo, en este caso, no importa. Para que el objeto de control (motor) sirva como accionamiento del ventilador, el tipo de ventilación (escape o suministro) depende de la dirección de su rotación y la intensidad del flujo de aire depende de la frecuencia. Además, al desarrollar un algoritmo, generalmente puede olvidarse del motor y su controlador, centrándose en la formación de señales de control PWM. DIR, BR y procesamiento de señales de sensores CUR y TE.

Al analizar la tarea formulada, es aconsejable identificar de inmediato algunos problemas que inevitablemente se manifestarán en las próximas etapas. Por ejemplo, ¿debería el sistema responder a un comando "Ejecutar" si la dirección de rotación no está predefinida? En caso afirmativo. ¿En qué dirección debe girar el motor en tal caso? ¿Se deben mantener la frecuencia y el sentido de rotación establecidos después de detener y reiniciar el motor? ¿Qué pasa después de la emergencia? Todas estas preguntas deben responderse lo antes posible.

A partir de la descripción verbal, se elaboran listas de señales de entrada y salida del MC. El primero de ellos incluye órdenes dadas por el operador y señales de sensores: "ESCAPE". "EMPRENDEDOR". "COMENZAR". "MÁS RÁPIDO". "MÁS LENTO". "DETENER". "SOBRECARGA" (CUR). "SOBRECALENTAMIENTO" (TF). En el segundo, señales de control para el controlador del motor y los indicadores: PWM - velocidad de rotación. DIR - dirección de rotación, BR - apague el motor. G - enciende el LED verde. Y - enciende el LED amarillo. S - sonido.

En vista de lo anterior, se puede concluir que lo que requiere MK. tener al menos 14 pines para conectar circuitos externos (ocho entradas y seis salidas). Dado que la señal CUR es analógica, necesitará un comparador para comparar las lecturas del sensor con un valor aceptable y generar la señal lógica "SOBRECARGA". Por lo tanto, se prefiere MK. equipado con un comparador incorporado. Adecuado, por ejemplo, la modificación mínima de 18 pines de la serie MK Z86. La opción más barata es un microchip. Z86E02. Eso es todo por ahora. con respecto al hardware del dispositivo. La distribución de las señales de entrada y salida sobre las salidas del MK en esta etapa no es significativa.

Además, se recomienda representar el algoritmo dado verbalmente en forma del llamado gráfico de autómata finito. Un dispositivo discreto se considera una máquina de estados finitos si es posible enumerar todos los estados en los que puede estar, todos los eventos (influencias externas) que conducen a cambios de estado y todas las señales de salida generadas. Estos son los dispositivos basados ​​en el MK.

Un ejemplo de un gráfico de autómata se muestra en la fig. 3.

Diseñamos dispositivos sobre microcontroladores

Los estados están representados por los nodos (vértices) del gráfico. En este caso, son cuatro: A. B. C y D. Los vértices están conectados por arcos provistos de flechas que muestran la dirección de la transición, encima del arco se indica el evento Xi que provoca esta transición, y debajo está el conjunto. Yi de las señales de salida generadas por el autómata en este momento y sin cambios hasta la siguiente transición. En teoría, de cada vértice del gráfico deberían salir exactamente tantos arcos. tantas influencias externas diferentes sobre el autómata como sea posible. Si algún evento no cambia el estado del autómata, se muestra el arco correspondiente entrando en el mismo vértice del que salió. Sin embargo, para no saturar el dibujo, en la práctica sólo se dejan los de dichos arcos. que están asociados con cambios en las señales de salida. Por ejemplo, del gráfico que se muestra en la Fig. 3. puedes eliminar los arcos A-A y B-B. En lenguaje corriente, esto significa que el autómata en los estados A y B no responde al evento X3.

Eventos que afectan al autómata implementado como programa MK. no sólo son "directos", causados ​​por cambios en los niveles lógicos de las señales aplicadas a las salidas externas del MK, sino también "indirectos". Estos últimos incluyen, por ejemplo, un determinado resultado de comparar los valores calculados y dados de un determinado parámetro o la finalización de alguna operación prolongada. A veces es difícil trazar la línea entre acontecimientos directos e indirectos. Por ejemplo, un evento tan común como el funcionamiento del temporizador integrado en el MK puede considerarse indirecto si está arreglado. analizando el número en el registro correspondiente, o directo, reaccionando a la señal generada por el cronómetro al final del conteo. Las señales de salida también pueden ser indirectas, sin cambiar directamente los niveles lógicos en las salidas del MK. A menudo, durante las transiciones entre estados de un autómata, ciertos valores solo se asignan a las variables del programa.

Volviendo al problema a resolver, construyamos un gráfico del autómata de control del motor. Analizando la tarea, se pueden distinguir los siguientes estados:

  • INICIO: se configura inmediatamente después del encendido. Se realizan las acciones iniciales necesarias: se establecen los valores iniciales de las variables del programa y las señales de salida, se configuran los dispositivos periféricos. Después de eso, la máquina pasa al estado STOP1 (un buen ejemplo de una transición a un evento indirecto: la finalización de la inicialización);
  • PARADA 1: la máquina ingresa al finalizar la inicialización o después de salir de una situación de emergencia. Sale mediante comandos que configuran el sentido de rotación del motor:
  • STOP2 - la máquina está esperando el comando "START";
  • TRABAJO: el estado principal, el dispositivo genera una señal PWM. Salir mediante comando "STOP" o mediante señales de sensores de emergencia;
  • SOBRECALENTAR. SOBRECARGA - estados a los que la máquina pasa del estado de TRABAJO como consecuencia del funcionamiento de los sensores correspondientes. El motor está apagado, el dispositivo genera pitidos. Salir - sólo con el comando "STOP".

El gráfico construido se muestra en la fig. cuatro

Diseñamos dispositivos sobre microcontroladores

Es fácil ver que es imposible cambiar una dirección de rotación incorrecta establecida aleatoriamente sin encender y luego apagar el motor. Además, para iniciarlo, siempre es necesario dar dos comandos: dirección y inicio. Al rechazar el comando START, se puede excluir el estado STOP2. y dirigir los arcos de los mandos de “PRESIÓN” y “ESCAPE” directamente al estado de TRABAJO. Como resultado, habrá un botón menos en el panel de control y se liberará una entrada MK. y el motor se encenderá inmediatamente después de presionar cualquiera de los botones que configuran la dirección. En rigor, para cualquier cambio en el algoritmo de control especificado, se debe obtener el consentimiento del cliente o del futuro usuario del dispositivo. Pero en la práctica amateur, el cliente, el artista y el usuario son a menudo una sola persona y basta con "consultarse a uno mismo".

Llama la atención que el gráfico no refleja la forma en que se genera la señal PWM de ciclo de trabajo variable. En el caso general, esto se puede hacer mediante un dispositivo especial controlado desde el MK. Pero nos esforzamos por implementar todo de forma puramente programática, por lo que tendremos que dividir el estado WORK en dos. En el primero de ellos (TRABAJO) PWM=0, en el segundo (TRABAJO 1) - PWM = 1.

Ahora proporcionemos eventos que causan transiciones entre ellos: disparo alternativo de dos temporizadores, uno de los cuales establece la duración de los pulsos PWM y el segundo establece las pausas entre ellos, y cada temporizador, después de funcionar, inicia el otro. Debido a que en este caso los temporizadores "lógicos" nunca funcionan simultáneamente, se pueden implementar utilizando un temporizador "físico", cambiando programáticamente su retardo después de cada operación.

Los comandos "más rápido" y "más lento" ajustan los retrasos de tiempo de los temporizadores, dejando su suma sin cambios e igual al período de repetición de pulso PWM especificado. El autómata puede responder a estos comandos en ambos estados considerados. Sin embargo, para simplificar el algoritmo, está permitido restringir la reacción a sólo uno de ellos. Debido a la corta duración de estos estados, el retraso en la ejecución será imperceptible para el operador.

Otra aclaración necesaria es comprobar la admisibilidad de los valores de retardo. Según el trabajo, el ciclo de trabajo de la señal PWM. igual a T1/(T1+T0). donde T1 y T0 son los retardos de tiempo de los temporizadores, siempre debe permanecer en el intervalo 0,2 ... 1. Por tanto, después de cada comando de cambio de velocidad, la máquina debe pasar al estado CHECK y solo a partir de ahí volver al estado Estado de TRABAJO a lo largo de uno de los dos arcos. El primero corresponde a un resultado positivo de la prueba, al pasar por ella se establecen nuevas velocidades de obturación. El segundo: el resultado es negativo, las extractos que estaban vigentes antes permanecen sin cambios.

Continuando con el análisis del gráfico, prestamos atención a que los estados SOBRECALENTAMIENTO y SOBRECARGA difieren solo en el período de repetición de la señal sonora. Es una buena idea combinarlos en uno solo, llamándolo ACCIDENTE. La señal de audio S se puede generar usando dos temporizadores, similar a la señal PWM analizada anteriormente. Además, es recomendable utilizar el mismo temporizador "físico", que en este estado permanece inactivo.

Para que el sonido sea intermitente se puede utilizar otro temporizador, pero es más fácil prescindir de él, contando los periodos de la señal generada mediante un contador implementado en software, encendiendo y apagando la señal de salida después de un determinado número de ellos. Todo esto requerirá prever estados adicionales del autómata y transiciones entre ellos.

El gráfico desarrollado del control automático del motor se muestra en la fig. 5.

Diseñamos dispositivos sobre microcontroladores

Tenga en cuenta que las formulaciones verbales de las acciones a realizar se reemplazan asignando ciertos valores a las variables. Por ejemplo, en lugar de la frase "encender el LED amarillo", se indica Y = 1 y se especifica que el LED verde debe estar apagado, G = 0. Además de las señales de salida y retrasos del temporizador mencionados anteriormente, el La constante T es el período de repetición del pulso PWM y la variable N es el número de pulsos S que quedan hasta el final del intervalo formado de la señal de sonido.

El siguiente paso es transformar el gráfico en un diagrama de bloques del algoritmo de operación MC. En primer lugar, todos los vértices del gráfico (estados del autómata) deben estar numerados. El orden de numeración es muy importante en la implementación hardware del autómata. Si lo elige correctamente, podrá simplificar significativamente el dispositivo. Para la implementación de software, esto no es tan importante y, en la mayoría de los casos, la numeración puede ser arbitraria. El programa necesariamente proporciona la llamada "variable de estado", a la que en el curso del trabajo se le asignan valores iguales a los números de los estados actuales. En programas complejos, puede haber varias de estas variables. Muchos lenguajes de programación le permiten dar nombres simbólicos a los valores numéricos. Esto puede ser ampliamente utilizado, ya que una línea en un programa que asigna el valor RABOTA a una variable es mucho más descriptiva que una línea que asigna el valor 6, por ejemplo.

En la fig. 6 se presenta un diagrama de bloques típico del algoritmo de control en la forma más general. Después de la inicialización, el programa se ejecuta cíclicamente. Después de analizar la variable de estado, ejecuta el procedimiento correspondiente en cada ciclo. Un cambio en el estado del autómata se indica asignando un nuevo valor a la variable de estado, como resultado se realizará otro procedimiento en el siguiente ciclo.

Diseñamos dispositivos sobre microcontroladores

Los procedimientos que implementan cada uno de los estados del autómata se construyen según diagramas de bloques similares a los mostrados en la Fig. 7. En primer lugar, se analizan las influencias externas (eventos). A continuación, se divide el proceso en tantas ramas como arcos salen del vértice correspondiente del gráfico del autómata, cada una de ellas prevé la ejecución de las funciones necesarias para implementar esta transición, y finalmente, a la variable de estado se le asigna un valor igual al número del vértice al que se dirige el arco. También es posible otro enfoque: primero se implementan los arcos que entran en el vértice y luego reaccionan a los impactos. Su principal inconveniente es que el programa debe "saber" desde qué estado el autómata pasó al estado dado, lo que no era necesario en el caso anterior.

Diseñamos dispositivos sobre microcontroladores

Tenga en cuenta que en la fig. La figura 7 muestra dos posibles salidas del procedimiento estatal. En el primero se analizan cíclicamente los eventos hasta encontrar uno de ellos que provoca la salida de este estado. En el segundo, si ninguna de estas influencias está presente. el procedimiento finaliza como lo muestra la línea discontinua.

Si hay pocas influencias externas y la reacción ante ellas en cada estado es específica, los procedimientos de detección de eventos se incluyen en los bloques de procesamiento de estados. Por ejemplo, es posible comprobar si el botón "INICIO" se pulsa sólo en el estado en el que la máquina debería responder. A menudo, el procedimiento de filtrado de eventos se coloca en el bucle principal (en la Fig. 6 se muestra con una línea discontinua) y se proporciona una variable a la que se le asigna un valor que está asociado de forma única con el evento que ocurrió. Por ejemplo, el resultado de sondear el teclado es el código de la tecla presionada. En el bloque de procesamiento de estado, realizado según la segunda de las opciones anteriores, solo se analiza el valor de esta variable.

A diferencia del modelo teórico, los acontecimientos reales suelen ocurrir simultáneamente. En tal situación, el autómata debe reaccionar ante todo al evento que tiene mayor prioridad. La forma más sencilla de priorizar es elegir la secuencia correcta para analizar eventos. Por ejemplo, según el diagrama de bloques mostrado en la Fig. 7, el evento X1 tiene la máxima prioridad. el más bajo - en HZ. Si los eventos de alta prioridad ocurren con mucha más frecuencia que los de baja prioridad, es posible que la cola nunca llegue a los últimos. Para evitar esto, se debe dar la máxima prioridad a los eventos raros. A veces es necesario cambiar la distribución de estos últimos mientras el programa se está ejecutando, por ejemplo, colocando cada evento recién procesado al final de la cola.

El comportamiento impredecible del sistema en el MK a menudo se debe al ruido o al rebote de los contactos de los controles. Estos eventos falsos deben "detectarse" mediante filtros de software. En la mayoría de los casos, para reconocer que ha tenido lugar un evento, basta con asegurarse de que el nivel lógico de la señal en la entrada correspondiente del MK se mantenga sin cambios durante un tiempo determinado. En casos críticos, se utilizan procedimientos más complejos.

Entre los numerosos acontecimientos, a menudo se puede destacar la "emergencia", cuya reacción debería ser inmediata. Un ejemplo típico. Para no perder el momento en que expira el temporizador, el programa tiene que comprobar constantemente el estado de su registro, no pudiendo hacer nada más hasta que expire el temporizador. La señal de solicitud de interrupción generada por el temporizador al final del conteo resuelve el problema. Al aceptarlo. El MC inmediatamente (al menos mucho más rápido que durante el procesamiento normal del software del mismo evento) procede a la ejecución de la rutina del servicio de interrupción, cuya dirección (vector) debe especificarse en celdas de memoria del programa especialmente asignadas.

El aparato de interrupción vectorial prioritaria del programa que se está ejecutando se proporciona en la gran mayoría de microcontroladores. Las interrupciones pueden ser externas o internas. En el último caso, la entrada de solicitud de interrupción no tiene una salida externa, sino que está conectada a una fuente de solicitud ubicada directamente en el chip MK. Por lo general, las interrupciones internas provienen no solo del temporizador, sino también de otros dispositivos integrados en este MK: controladores de puerto serie, comparadores de señales analógicas y convertidores de analógico a digital.

A menudo, una de las interrupciones internas de los MK modernos está asociada con el llamado temporizador de vigilancia (Watch Dog), que sirve para proteger contra fallas accidentales. Este temporizador requiere constante

inicialización escribiendo un código específico en una ubicación específica en el espacio de direcciones. El programa MC está diseñado de tal manera que durante su curso normal, este procedimiento se realiza con bastante frecuencia. Si el MK se "cuelga", la inicialización del temporizador de vigilancia se detiene y después de un tiempo envía su solicitud de interrupción, cuyo procesamiento está diseñado para restaurar el funcionamiento normal del sistema. Normalmente, la respuesta a una interrupción de vigilancia es la misma. como una señal externa que establece el MK a su estado original.

Las interrupciones se controlan habilitándolas o deshabilitándolas según el estado del autómata implementado. Si la misma interrupción en diferentes estados necesita ser procesada de manera diferente, el procedimiento de procesamiento se construye como el bucle principal del programa, previendo el análisis de estado en él. La diferencia es. que tal procedimiento no esté encerrado en un círculo. Una vez completado, el MK continuará ejecutando el programa desde el lugar donde fue interrumpido. Esto está plagado de fallas, ya que en un estado que ha cambiado como resultado del manejo de interrupciones, continuar con las acciones interrumpidas puede dar un resultado incorrecto. Se protegen de tales errores desactivando las interrupciones durante la ejecución de secciones críticas del programa, que. Sin duda ralentiza la reacción del sistema.

Si hay más fuentes de solicitud de interrupción en el sistema que las entradas MC proporcionadas para ellas, se implementa una solicitud de grupo en el hardware combinando las salidas de varias fuentes de acuerdo con el esquema OR. Al aceptar tal solicitud. El MC está obligado a averiguar quién lo envió y procesarlo en consecuencia.

A veces, todo el algoritmo del dispositivo se implementa mediante un conjunto de rutinas de manejo de interrupciones. En este caso, el bucle principal degenera en varias instrucciones de máquina, hasta una única instrucción de salto incondicional sobre sí mismo. Muchos MK proporcionan específicamente comandos HALT o IDLE para los cuales. esencialmente deja de funcionar (a veces incluso el generador de reloj se apaga). Sólo la solicitud de interrupción recibida puede sacar al MK de este estado. Terminó de procesar la solicitud. El MC realiza la transición incondicional al comando de parada proporcionado en el bucle principal y "se queda dormido" nuevamente. Este modo es muy económico, ya que la potencia consumida por el MK detenido disminuye muchas veces y aumenta solo durante la reacción a influencias externas.

El diagrama de bloques del algoritmo de control del motor del ventilador desarrollado teniendo en cuenta lo anterior consta de dos partes como se muestra en la Fig. 8 (bucle principal) y fig. 9 (manejo de la interrupción del temporizador). Ambos corresponden básicamente a los diagramas de bloques típicos discutidos anteriormente, excepto que se combinan las mismas operaciones que se realizan al procesar diferentes eventos. El controlador de interrupciones del temporizador genera señales PWM y S. Al pasar del estado STOP al estado RUN, la interrupción se habilita y, al regresar al estado STOP, se deshabilita.

Diseñamos dispositivos sobre microcontroladores

El programa ahora tiene una variable de estado ST, a la que se le asignan valores de cadena para mayor claridad: los nombres de los estados correspondientes. Como se mencionó anteriormente, en el programa serán números: números de estado o sus nombres simbólicos. Los valores asignados a la variable N0 se eligen basándose en el supuesto de que los períodos de repetición de los pulsos generados PWR y S son iguales e iguales a 1 ms. Si no lo es. el diagrama de bloques deberá modificarse ligeramente.

Diseñamos dispositivos sobre microcontroladores

Ahora puede proceder a elegir MK, distribuir las señales de entrada y salida en sus salidas y desarrollar un diagrama de circuito completo del dispositivo. Habiendo determinado a qué circuitos externos se conectarán los bits de un puerto de E/S específico del MK y los niveles lógicos de las señales en estos circuitos, el programador puede comenzar a desarrollar el programa.

Literatura

  1. Franke K. Introducción a las microcomputadoras: Per. con él. - M.: Energía atómica. 1998.
  2. Kagan BM, Stashin VV Fundamentos del diseño de dispositivos de automatización con microprocesadores. - M.: Energoatomíat. 1987.
  3. Stashin VV, Urusov AV, Mologoitseva OF Diseño de dispositivos digitales en microcontroladores de un solo chip. - M.: Energoatomíat. 1990.

Autor: M. Gladshtein, Rybinsk

Ver otros artículos sección Microcontroladores.

Lee y escribe útil comentarios sobre este artículo.

<< Volver

Últimas noticias de ciencia y tecnología, nueva electrónica:

Cuero artificial para emulación táctil. 15.04.2024

En un mundo tecnológico moderno donde la distancia se está volviendo cada vez más común, mantener la conexión y la sensación de cercanía es importante. Los recientes avances en piel artificial realizados por científicos alemanes de la Universidad del Sarre representan una nueva era en las interacciones virtuales. Investigadores alemanes de la Universidad del Sarre han desarrollado películas ultrafinas que pueden transmitir la sensación del tacto a distancia. Esta tecnología de punta brinda nuevas oportunidades de comunicación virtual, especialmente para quienes se encuentran lejos de sus seres queridos. Las películas ultrafinas desarrolladas por los investigadores, de sólo 50 micrómetros de espesor, pueden integrarse en textiles y usarse como una segunda piel. Estas películas actúan como sensores que reconocen señales táctiles de mamá o papá, y como actuadores que transmiten estos movimientos al bebé. El toque de los padres sobre la tela activa sensores que reaccionan a la presión y deforman la película ultrafina. Este ... >>

Arena para gatos Petgugu Global 15.04.2024

Cuidar a las mascotas a menudo puede ser un desafío, especialmente cuando se trata de mantener limpia la casa. Se ha presentado una nueva e interesante solución de la startup Petgugu Global, que facilitará la vida a los dueños de gatos y les ayudará a mantener su hogar perfectamente limpio y ordenado. La startup Petgugu Global ha presentado un inodoro para gatos único que puede eliminar las heces automáticamente, manteniendo su hogar limpio y fresco. Este innovador dispositivo está equipado con varios sensores inteligentes que monitorean la actividad del baño de su mascota y se activan para limpiar automáticamente después de su uso. El dispositivo se conecta al sistema de alcantarillado y garantiza una eliminación eficiente de los residuos sin necesidad de intervención del propietario. Además, el inodoro tiene una gran capacidad de almacenamiento, lo que lo hace ideal para hogares con varios gatos. El arenero para gatos Petgugu está diseñado para usarse con arena soluble en agua y ofrece una gama de arena adicional ... >>

El atractivo de los hombres cariñosos. 14.04.2024

El estereotipo de que las mujeres prefieren a los "chicos malos" está muy extendido desde hace mucho tiempo. Sin embargo, una investigación reciente realizada por científicos británicos de la Universidad de Monash ofrece una nueva perspectiva sobre este tema. Observaron cómo respondieron las mujeres a la responsabilidad emocional y la voluntad de los hombres de ayudar a los demás. Los hallazgos del estudio podrían cambiar nuestra comprensión de lo que hace que los hombres sean atractivos para las mujeres. Un estudio realizado por científicos de la Universidad de Monash arroja nuevos hallazgos sobre el atractivo de los hombres para las mujeres. En el experimento, a las mujeres se les mostraron fotografías de hombres con breves historias sobre su comportamiento en diversas situaciones, incluida su reacción ante un encuentro con un vagabundo. Algunos de los hombres ignoraron al vagabundo, mientras que otros lo ayudaron, como comprarle comida. Un estudio encontró que los hombres que mostraban empatía y amabilidad eran más atractivos para las mujeres en comparación con los hombres que mostraban empatía y amabilidad. ... >>

Noticias aleatorias del Archivo

endoscopio desechable 30.04.2011

Una microcámara del tamaño de un grano de sal podría revolucionar la tecnología médica. Mucha gente sabe lo desagradable que es tragar el colon de un endoscopio para un examen gástrico. Por otro lado, después de cada examen, debe descontaminarse, lo que lleva tiempo.

La tecnología inventada por científicos del Instituto Fraunhofer de Fiabilidad y Microintegración de Berlín nos permite resolver dos problemas a la vez. Con su ayuda, la cámara se puede hacer en miniatura y tan barata que el endoscopio se vuelve desechable.

La esencia de la tecnología es esta. La microcámara consta de una lente, un conjunto de sensores ópticos y un analizador. Ahora este último está conectado a los elementos sensores con fibras ópticas, por lo que el endoscopio resulta ser tan grueso. Y crecen tanto el sensor como el analizador y la lente por métodos microelectrónicos similares, lo que hace posible obtener muchos microcircuitos baratos a la vez. Sin embargo, hasta hace poco, las tres partes se fabricaban por separado y luego se ensamblaban.

Científicos alemanes lograron hacer crecer una lente, sensores y un analizador en un solo proceso. Después de eso, solo queda cortar el sustrato (y en él caben 28 mil dispositivos) en pedazos y conectar un cable eléctrico delgado a la salida del analizador. El endoscopio está listo. Al mismo tiempo, ofrece una imagen muy clara: una resolución de 62,5 kilopíxeles.

Otras noticias interesantes:

▪ Los autobuses de Londres ayudan a los automovilistas a planificar su ruta

▪ Neumáticos para rovers planetarios

▪ Comunicación láser en el espacio

▪ Memoria flash rápida Samsung eUFS 3.1 de 512 GB

▪ Controladores Panasonic con ReRAM integrada de 40nm

Feed de noticias de ciencia y tecnología, nueva electrónica

 

Materiales interesantes de la Biblioteca Técnica Libre:

▪ Sección del sitio Radioelectrónica e ingeniería eléctrica. Selección de artículos

▪ artículo Bolsa de plástico. Historia de la invención y la producción.

▪ artículo ¿Qué es una esponja? Respuesta detallada

▪ artículo Goteo nasal. Cuidado de la salud

▪ Artículo Masa de gelatina transparente. recetas simples y consejos

▪ artículo Dulces de una red. secreto de enfoque

Deja tu comentario en este artículo:

Nombre:


Email opcional):


comentar:





Todos los idiomas de esta página

Hogar | Biblioteca | Artículos | Mapa del sitio | Revisiones del sitio

www.diagrama.com.ua

www.diagrama.com.ua
2000 - 2024