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.

Depuración de microcontroladores mediante un emulador de ROM. 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

La complejidad de desarrollar y depurar el programa de trabajo de un dispositivo electrónico que contiene un microprocesador a menudo determina el coste de su desarrollo en su conjunto. En los microcontroladores (MCU) que integran memoria y algunos dispositivos periféricos, esto es especialmente pronunciado. Una de las herramientas que facilita enormemente la depuración es el emulador de ROM descrito en [1]. Este artículo describe la tecnología para trabajar con él. Las capacidades de depuración no se limitan a las técnicas descritas. Este proceso, como el diseño en general, es hasta cierto punto un arte: cada uno crea “su propia música” para un mismo instrumento. Estaremos agradecidos a los lectores que compartan sus herramientas y métodos originales para depurar programas MK.

La complejidad y la intensidad del trabajo del proceso de depuración del software MK están determinadas por los siguientes factores [2]:

  • fuerte interconexión entre las partes de software y hardware del sistema;
  • falta de acceso directo a los recursos internos y puntos de control del MK;
  • naturaleza de múltiples bits de las señales, distribuidas de manera compleja en el tiempo;
  • falta de periodicidad o muy baja frecuencia de repetición de señales en el sistema;
  • una amplia variedad de dispositivos externos y protocolos para intercambiar información con ellos.

Los equipos de prueba tradicionales (por ejemplo, un osciloscopio) solo se pueden utilizar de forma limitada para depurar MCU.

El método de depuración más simple (y al mismo tiempo el más ineficaz) es el “método de prueba y error”: cargar un programa en un dispositivo de memoria de sólo lectura (RPM) reprogramable, intentar ejecutarlo, detectar y corregir errores en el proceso. programa y hardware, borrar la ROM, cargar el programa nuevamente, etc. D. Los procesos de borrar y escribir datos en el chip EEPROM toman mucho tiempo y después de una cierta cantidad de ciclos de reprogramación fallan por completo. La instalación y extracción repetida del microcircuito reduce la confiabilidad de los contactos eléctricos en el zócalo ROM. Prácticamente no existe la posibilidad de obtener información de depuración del sistema.

Actualmente, los microcontroladores se depuran con mayor frecuencia utilizando herramientas cruzadas basadas en una computadora personal. Esto permite una distracción mínima de los recursos de MK. El dispositivo que se está depurando, como se muestra en la figura, está conectado a la computadora a través de alguna herramienta, por ejemplo, un emulador de ROM. Un complejo de este tipo le permite descargar y editar un programa, ingresar módulos de prueba en él, obtener cierta información sobre el sistema y mucho más, de lo que hablaremos a continuación.

Aunque los emuladores de ROM no son la única herramienta de depuración ni la más poderosa, siguen siendo populares. Su "longevidad" se explica por su independencia del tipo de MK (solo se requiere la capacidad de trabajar con una memoria de programa externa), operación en tiempo real, bajo precio y accesibilidad para una amplia gama de desarrolladores de equipos y radioaficionados. Consideremos la tecnología de depuración de programas utilizando un emulador de ROM usando el ejemplo de los microcontroladores de la familia MCS-51 (8031, 8051, 80C31, 80C51. KR1816BE31, KR1816BE51, KR1830BE31, KR1830BE51, etc.).

Al iniciar la depuración, es necesario verificar la funcionalidad del hardware del sistema y del propio MK. Para ello, puedes utilizar las pruebas de “cuenta gratuita” [3]. que consisten en buscar entre todas las combinaciones de códigos posibles en las líneas de los puertos MK. Durante la prueba, las líneas del puerto se configurarán en el estado de salida, por lo que, en primer lugar, verifique en el diagrama del circuito del dispositivo que se está depurando que no estén cargadas en las salidas de otros elementos. Desconecte temporalmente dichas cargas, si están presentes.

Cargue el emulador de ROM con códigos de comando "sin operación" (NOP) dentro de todo el espacio de direcciones de los programas MK. Para MCS-51 este es el código 00Н. Al ejecutar dicho "programa", el microcontrolador busca secuencialmente en todas las direcciones de memoria del programa. Verifique las señales de ALE, PME y los puertos P0, P2 con un osciloscopio. Los oscilogramas en las líneas del puerto deben corresponder a los diagramas de tiempo del contador binario, teniendo en cuenta la multiplexación del byte bajo de la dirección y los datos en P0.

A continuación, verifique los puertos P1 y R1 cargando el programa de prueba que se proporciona en la Tabla 00 en el emulador de ROM. 0. Genera una secuencia de códigos de XNUMXH a XNUMXFFH en las líneas de los puertos especificados, simulando un contador binario de ocho bits. Si los oscilogramas corresponden a los requeridos, restablezca las cargas desconectadas de los puertos y proceda a depurar el programa de trabajo del MK. Recuerde que está depurando las partes de software y hardware del sistema al mismo tiempo y no olvide monitorear periódicamente las señales en los puntos de control con un osciloscopio. La discrepancia entre el tipo de señales y sus ideas sobre ellas es motivo de reflexión seria y comprobaciones adicionales.

Depuración de microcontroladores usando un emulador de ROM

Para facilitar el desarrollo y la depuración, se debe seguir el principio modular de programación, es decir, dividir el programa MK en partes según su funcionalidad. Esto facilitará el movimiento de módulos individuales y, si es necesario, su uso en otros proyectos. El módulo al que se transfiere el control después de encender o reiniciar el MK se llama principal o principal. Debe transferir el control al punto de entrada del programa usando un comando de salto en lugar de una llamada de subrutina, para no saturar la pila con la dirección del remitente.

Para evitar resultados inesperados del programa, asegúrese de asignar un valor inicial a cada variable antes de usarla por primera vez. En algunos casos, puede ser necesario inicializar el equipo periférico. El bloque de inicialización se coloca al comienzo del módulo principal del programa.

En la tabla se muestra una vista aproximada del módulo de software principal al comienzo de la depuración. 2. Contiene sólo el punto de entrada al programa y el controlador de salida. Aunque una salida de este tipo se utiliza muy raramente en sistemas de microcontroladores, debe preverse para la finalización correcta de situaciones de emergencia. En el ejemplo considerado, una vez finalizado el trabajo, el programa realiza un “bucle”. Sólo saldrá de este estado reiniciando el sistema con una señal de reinicio del hardware.

Depuración de microcontroladores usando un emulador de ROM

Durante la depuración, se agregan otros módulos de software al módulo principal a medida que están listos. El orden en el que se conectan y depuran juega un papel importante. Debe comenzar con los controladores de los dispositivos de salida de información (pantalla, convertidor digital-analógico, etc.), colocando sus llamadas en el módulo principal. Luego se depuran los controladores de los dispositivos periféricos restantes y las rutinas de procesamiento de datos, y solo después se verifica el funcionamiento conjunto de todos los módulos de software. Si hay una pantalla alfanumérica, su controlador se depura primero y se usa en el futuro para mostrar información de depuración, por ejemplo, el contenido de la memoria de datos interna del MK. Si se utiliza un emulador de ROM de manera que la información contenida en él pueda ser escrita y leída tanto por la computadora de control como por el dispositivo que se está depurando, el MK puede colocar datos de depuración en el área de memoria libre del emulador de ROM y el control La computadora los lee y los muestra en su pantalla.

Por ejemplo, para generar el contenido de la RAM de datos interna del MK, conecte su salida de señal de escritura a la memoria de datos externa (WR) con la entrada de señal de escritura del emulador de ROM y use la subrutina que se proporciona en la Tabla. 3. Se supone que el tamaño de la memoria del programa del dispositivo que se está depurando no excede los 32 KB, por lo tanto, la información de depuración colocada en la memoria del emulador comienza en la dirección 8000H. El contenido de los registros R0 y R1 se envía por separado, ya que luego se utilizan en la subrutina para organizar el bucle. Después de generar la información de depuración, el programa MK se suspende, la computadora de control lee, muestra y analiza el contenido de las celdas de memoria del emulador ROM 8000H-807FH. De manera similar, se pueden mostrar los contenidos de todos los registros MK accesibles mediante programación.

Depuración de microcontroladores usando un emulador de ROM

Al comenzar a depurar el controlador de un dispositivo periférico, desconecte temporalmente las señales de control generadas por el microcontrolador para evitar posibles fallas del dispositivo debido a errores en el programa. Si el proceso es de una sola vez, "haga un bucle" y programe la señal de sincronización del osciloscopio si es necesario. Depure el controlador monitoreando las señales generadas por el MC con un osciloscopio. Después de asegurarse de que los diagramas de tiempo de las señales de control correspondan a los requeridos, conecte el dispositivo periférico y continúe depurando el controlador en hardware real. Finalmente, elimine los elementos de depuración del módulo de software y verifique su funcionamiento en su forma final.

El uso de recursos MK compartidos por diferentes módulos a menudo conduce al hecho de que el programa depurado deja de funcionar cuando se agrega otra subrutina. Por lo tanto, después de depurar el siguiente módulo, asegúrese de que todos los controladores y subrutinas previamente depurados continúen funcionando correctamente. Si su programa utiliza interrupciones, no las desactive a menos que sea absolutamente necesario. Un módulo depurado no debe eliminarse del programa, incluso si no es necesario en este momento.

Cuando el MK se congela, el siguiente método de localización de errores es útil: ingrese puntos de control en el programa que muestren números que aumentan sucesivamente en la pantalla. Después de la congelación, la pantalla mostrará el número correspondiente al último punto de control superado con éxito. Si varios de estos puntos quedan atrapados en un bucle infinito, los números en la pantalla cambiarán rápidamente. Para determinar qué puntos están incluidos en el bucle, deberá ralentizar artificialmente el cambio de números estableciendo un retraso de software al generar cada uno de ellos, por ejemplo, en forma de un bucle inactivo. Si el sistema que se está depurando no tiene una pantalla incorporada, la información se puede mostrar en la pantalla de la computadora de control a través del área de memoria libre del emulador de ROM.

Una vez depurados todos los controladores de dispositivos, comenzamos a depurar otras rutinas. Si alguno de ellos implementa un algoritmo complejo para procesar o convertir datos, mostrar uno o más valores de variables intermedias a menudo no proporciona información suficiente para el análisis de errores. Escribir información de depuración del volumen requerido en el área de memoria libre de la ROM El emulador ayudará a superar las dificultades aquí.

Una vez logrado el funcionamiento normal de todos los módulos de software, puede depurarlos juntos. Las dificultades que surgen en este caso se dividen en dos grupos. El primero incluye los problemas de compartir recursos comunes del microcontrolador: unidad aritmético-lógica, memoria de datos, puertos de entrada y salida. El segundo está relacionado con el funcionamiento de dispositivos microcontroladores en tiempo real.

Los sistemas en tiempo real suelen ser multiproceso. Varias tareas de software (hilos) se ejecutan en paralelo, interactuando entre sí y utilizando recursos compartidos. Pero en cada momento, el MC, por su estructura, resuelve solo uno de ellos, cambiando alternativamente a otros, teniendo en cuenta la prioridad. Los conflictos entre tareas surgen tanto por falta de recursos como por falta de tiempo para el procesamiento de datos. Por lo tanto, preste especial atención a los recursos MC utilizados en los módulos de software y, a menudo, controle los cambios en su estado mostrando información de depuración. Intente reducir la cantidad de variables globales, reemplazándolas por variables locales siempre que sea posible. Monitorear el estado de la pila. Calcule el tiempo de ejecución de las secciones críticas del programa, pruebe el sistema para varios valores de señales de entrada que son posibles en la práctica.

Con un emulador de ROM, también puede depurar un programa diseñado para funcionar en la memoria interna del MK, si lo coloca temporalmente en la memoria del programa externo. Dado que en este caso los puertos P0 y P2 estarán ocupados dando servicio a la memoria externa, si las líneas de E/S libres restantes del MK no son suficientes, P0 y P2 se reemplazan con puertos de E/S direccionados como celdas de memoria de datos externa. Se conectan según circuitos estándar, utilizando registros de activación para aumentar el número de líneas de salida y elementos con tres estados de salida para aumentar el número de líneas de entrada.

Después de depurar el sistema usando un emulador, elimine los elementos de depuración, escriba el programa en la ROM (o en la memoria interna del programa MK) y verifique el funcionamiento del dispositivo en su forma final.

Literatura

  1. Vydolob G., Kudryashov V., Samoilov V. Emulador de ROM/RAM RE020. - Radio, 1997. N° 11, págs. 30-32.
  2. Zelenko G.V., Ivannikov A.D., Sypchuk P.P. Diseño y depuración de sistemas de microprocesadores. - M. Ingeniería Mecánica. mil novecientos ochenta y dos.
  3. Williams GB Depuración de sistemas de microprocesadores: Trans. De inglés - M Energoatomizdat. 1988

Autores: G.Vydolob, V.Samoylov, Moscú (Zelenograd)

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

Dos bits de información - en un átomo 09.09.2020

Los científicos holandeses lograron crear un sistema de un átomo de hierro sobre un sustrato, en el que es posible controlar el momento orbital de un átomo y la excitación de sus estados de espín independientemente uno del otro.

Para controlar el sistema, los investigadores utilizaron la aguja de un microscopio de túnel de barrido, al interactuar con un átomo, su impulso orbital se invirtió sin excitación de los estados de espín. En tales condiciones, el átomo tiene dos grados de libertad asociados con un campo magnético, que en el futuro se puede utilizar para crear sistemas de almacenamiento de información de gran capacidad con una densidad de registro de dos bits por átomo.

Reducir el tamaño de un solo bit a la escala de un átomo haría posible colocar grandes cantidades de datos en medios extremadamente pequeños. Potencialmente, tales sistemas se pueden crear utilizando los espines controlados por campos magnéticos de átomos individuales S, las sumas vectoriales de sus propios momentos angulares de las partículas elementales incluidas en su composición. Son los estados de espín los que se eligen como bits en tales sistemas, porque el momento orbital de cada átomo L (su momento angular como un todo) en muestras reales se suprime debido a la combinación de la interacción espín-órbita y el campo cristalino.

Pero incluso en el caso de que L de un átomo en tal sistema no sea igual a cero, la interacción espín-órbita conduce a la unión de L y S en una superposición, en la que solo el momento angular total de L + S El sistema se conserva y las excitaciones independientes de L y S son imposibles. Para almacenar información en el estado orbital de un átomo, a su vez, debe poder almacenar L y poder controlarlo sin afectar los estados de espín. Entonces, los estados de espín y orbital pueden desempeñar el papel de ceros y unos, y el átomo mismo podría actuar como portador de información en la cantidad de dos bits, cada uno de los cuales corresponde a un grado de libertad del sistema (un bit por espín y impulso orbital).

Rasa Rejali de la Universidad Tecnológica de Delft creó un sistema de este tipo de un átomo, en el que es posible excitar de forma independiente los estados orbitales y de espín. Para ello, el físico y sus colegas colocaron un único átomo de hierro sobre un átomo de nitrógeno magnéticamente neutro en un sustrato de Cu2N, obteniendo así un sistema con momento orbital y espín prácticamente libres. La aguja de un microscopio electrónico de barrido permitió a los físicos estudiar el átomo y manipularlo.

El método propuesto para cambiar independientemente los estados orbital y de espín de un solo átomo aún está lejos de la implementación práctica. Sin embargo, la similitud de la naturaleza del espín y los estados orbitales da la esperanza de que en el futuro el momento orbital de los átomos pueda controlarse de manera tan simple como ahora: mediante espines. En este caso, los portadores de información pueden volverse bastante reales, en los que cada átomo actuará no como uno, sino como dos bits, lo que aumentará aún más la densidad máxima potencial de grabación de datos.

Otras noticias interesantes:

▪ Masa del neutrino más ligero calculada

▪ Cable óptico rayo

▪ Los drones ayudarán a combatir la pesca ilegal

▪ Batería alimentada por saliva humana

▪ Cápsula eléctrica para estimular el estómago y mejorar el apetito

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

 

Materiales interesantes de la Biblioteca Técnica Libre:

▪ sección del sitio Radio - para principiantes. Selección de artículos

▪ Artículo de Némesis. expresión popular

▪ artículo ¿Por qué una falsificación se llama tilo? Respuesta detallada

▪ artículo Montaje en el tapón del depósito de combustible. transporte personal

▪ artículo Tecnología de producción de biogás. Enciclopedia de radioelectrónica e ingeniería eléctrica.

▪ articulo Transistores de campo exterior. Enciclopedia de radioelectrónica e ingeniería eléctrica.

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