Agregar favorito Página de conjunto
Puesto:Inicio >> Noticias >> Electrón

CATEGORÍAS DE PRODUCTOS

productos Etiquetas

Sitios FMUSER

Una introducción a la arquitectura ARM con el principio de funcionamiento de cada módulo

Date:2021/10/18 21:55:01 Hits:
Procesador ARMProcesador ARM El microcontrolador ARM significa Advance RISC Machine; es uno de los núcleos de procesador más extensos y con más licencias del mundo. El primer procesador ARM fue desarrollado en el año 1978 por la Universidad de Cambridge, y el primer procesador ARM RISC fue producido por Acorn Group of Computers en el año 1985. Estos procesadores se usan específicamente en dispositivos portátiles como cámaras digitales, teléfonos móviles, redes domésticas. módulos y tecnologías de comunicación inalámbrica y otros sistemas integrados debido a los beneficios, como bajo consumo de energía, rendimiento razonable, etc. Este artículo brinda una descripción general de la arquitectura ARM con el principio de funcionamiento de cada módulo. Arquitectura ARM El procesador de arquitectura ARM es una máquina avanzada de computación con conjunto de instrucciones reducido [RISC] y es un microcontrolador de computadora con conjunto de instrucciones reducido (RISC) de 32 bits. Fue presentado por la organización informática Acron en 1987. Este ARM es una familia de microcontroladores desarrollados por fabricantes como ST Microelectronics, Motorola, etc. La arquitectura ARM viene con versiones totalmente diferentes como ARMv1, ARMv2, etc., y cada una tiene sus propias ventajas y desventajas.Arquitectura ARMArquitectura ARM El córtex ARM es un microcontrolador complicado dentro de la familia ARM que tiene un diseño ARMv7. Hay 3 subfamilias dentro de la familia ARM cortex: ARM Cortex Ax-seriesARM-Cortex Rx-seriesARM-Cortex Mx-seriesLa arquitectura ARMUnidad de lógica aritméticaMultiplicador de cabinaDesplazador de barrilUnidad de controlArchivo de registroEste artículo cubre los componentes mencionados a continuación.El procesador ARM tiene conjuntamente otros componentes como el Programa registro de estado, que contiene las banderas del procesador (Z, S, V y C). Los bits de modos existen conjuntamente dentro del registro permanente del programa, además de los bits de interrupción e interrupción rápida; Algunos registros especiales: algunos registros se utilizan como la instrucción, los registros de lectura y escritura de datos de memoria y el registro de dirección de memoria. .Multiplexores: varios multiplexores están acostumbrados a la operación de gestión de los buses del procesador. Debido al tiempo restringido del proyecto, tendemos a implementar estos componentes en un modelo muy conductual. Cada componente se describe con una entidad. Cada entidad tiene su propia arquitectura, la cual puede ser optimizada para ciertas necesidades dependiendo de su aplicación. Esto crea el diseño más fácil de construir y mantener. Diagrama de bloques BRAZODiagrama de bloques ARM Unidad lógica aritmética (ALU) La ALU tiene dos entradas de 32 bits. El primario proviene del archivo de registro, mientras que el otro proviene de la palanca de cambios. Indicadores de registros de estado modificados por las salidas de la ALU. La salida de bit V va a la bandera V, así como el conteo va a la bandera C. Mientras que el bit más importante realmente representa la bandera S, la operación de salida de ALU la realiza NORed para obtener la bandera Z. La ALU tiene un bus de funciones de 4 bits que permite implementar hasta 16 códigos de operación. Factor multiplicador de cabina El factor multiplicador tiene 3 entradas de 32 bits y las entradas regresan del archivo de registro. El resultado del multiplicador es de apenas 32 bits menos significativos del producto. La representación de entidad del factor multiplicador se muestra en el diagrama de bloques anterior. La multiplicación comienza cada vez que se activa la entrada 04 inicial. La aleta de la salida aumenta al terminar. Algoritmo de Booth El algoritmo de Booth es una regla algorítmica de multiplicación notable para los números de complemento a 2. Esto trata los números positivos y negativos de manera uniforme. Además, las series de 0 o 1 dentro del factor multiplicador se saltan sin realizar ninguna suma o resta, lo que crea una posible multiplicación más rápida. La figura muestra los resultados de la simulación para el banco de pruebas del multiplicador. Está claro que la multiplicación termina solo en 16 ciclos de reloj. Cambiador de barril El cambiador de barril presenta una entrada de 32 bits para cambiar. Esta entrada proviene del archivo de registro o pueden ser datos inmediatos. La palanca de cambios tiene diferentes entradas de control que regresan del registro de instrucciones. El campo Shift dentro de la instrucción controla la operación de la palanca de cambios de barril. Este campo indica el tipo de desplazamiento a realizar (lógico a la izquierda oa la derecha, aritmético a la derecha o rotar a la derecha). La cantidad por la cual se debe desplazar el registro está contenida en un campo inmediato dentro de la instrucción o pueden ser los 6 bits inferiores de un registro dentro del archivo de registro. El bus de entrada shift_val es de 6 bits, lo que permite un desplazamiento de hasta 32 bits. El tipo de cambio indica el tipo de cambio necesario de 00, 01, 10, 11 que corresponden al cambio a la izquierda, al cambio a la derecha, al cambio aritmético a la derecha y al giro a la derecha, respectivamente. La palanca de cambios de barril se crea especialmente con multiplexores. Unidad de control Para cualquier microprocesador, la unidad de control es el corazón de todo el proceso y es responsable de la operación del sistema, por lo que el diseño de la unidad de control es la parte más importante dentro de todo el diseño. La unidad de control es a veces un diseño de circuito combinacional puro. Aquí, la unidad de control se implementa mediante una máquina de estado fácil. La temporización del procesador también se incluye dentro de la unidad de control. Las señales de la unidad de control se conectan a cada componente dentro del procesador para supervisar su funcionamiento. Diagrama funcional ARM7 Lo último que debe explicarse es cómo se usará el ARM y la forma en que aparecerá el chip. Diagrama funcional ARMDiagrama funcional de ARM Modos de registro del microcontrolador ARM Un microcontrolador ARM es un almacén de carga que reduce la arquitectura de la computadora del conjunto de instrucciones, lo que significa que el núcleo no puede operar directamente con la memoria. Las operaciones de datos deben ser realizadas por los registros y la información se almacena en la memoria por una dirección. El ARM cortex-M3 consta de 37 conjuntos de registros, de los cuales 31 son registros de propósito general y 6 son registros de estado. El ARM utiliza siete modos de procesamiento para ejecutar la tarea del usuario. Modo USUARIO Modo FIQ Modo IRQ Modo SVC Modo UNDEFINED Modo ABORT Modo MonitorModos de registro del microcontrolador ARMModos de registro del microcontrolador ARM Modo USUARIO: El modo usuario es un modo normal, que tiene el menor número de registros. No tiene SPSR y tiene acceso limitado a CPSR.FIQ e IRQ: FIQ e IRQ son los dos modos causados ​​por interrupciones de la CPU. El FIQ está procesando la interrupción e IRQ es una interrupción estándar. El modo FIQ tiene cinco registros adicionales en bancos para proporcionar más flexibilidad y alto rendimiento cuando se manejan interrupciones críticas. Modo SVC: el modo Supervisor es el modo de interrupción de software del procesador para iniciar o restablecer. Modo indefinido: el modo indefinido atrapa cuando es ilegal se ejecutan las instrucciones. El núcleo ARM consiste en un bus de datos de 32 bits y un flujo de datos más rápido. Modo THUMB: en el modo THUMB, los datos de 32 bits se dividen en 16 bits y aumenta la velocidad de procesamiento. Modo THUMB-2: en el modo THUMB-2, las instrucciones pueden ser de 16 bits o de 32 bits y aumenta el rendimiento del microcontrolador ARM cortex –M3. El microcontrolador ARM cortex-m3 usa solo instrucciones THUMB-2. Algunos de los registros están reservados en cada modo para el uso específico del núcleo. Los registros reservados son Puntero de pila (SP). Registro de enlace (LR). Contador de programa (PC). Registro de estado de programa actual (CPSR). Registro de estado de programa guardado (SPSR). Los registros reservados se utilizan para funciones específicas. El SPSR y el CPSR contienen los bits de control de estado que se utilizan para almacenar los datos temporales. Los registros SPSR y CPSR tienen algunas propiedades que son modos operativos definidos, banderas de activación o desactivación de interrupción y bandera de estado de ALU. El núcleo ARM opera en dos estados: estado de 32 bits o estado THUMBS. Programación de microcontroladores ARM-Cortex En la actualidad, los proveedores de microcontroladores ofrecen microcontroladores de 32 bits basados ​​en la arquitectura ARM cortex-m3. Muchos desarrolladores de sistemas integrados están comenzando a utilizar estos microcontroladores de 32 bits para sus proyectos. Los microcontroladores ARM admiten lenguajes de programación de bajo y alto nivel. Algunas de las arquitecturas de microcontroladores tradicionales están hechas con muchas limitaciones, por lo tanto, dificultan el uso del lenguaje de programación de alto nivel.Programación de microcontroladores ARM-CortexProgramación de microcontroladores ARM-Cortex Por ejemplo, el tamaño de la memoria es limitado y el rendimiento puede no ser suficiente. Los microcontroladores ARM funcionan a una frecuencia de 100 MHz y un rendimiento superior, por lo que admiten lenguajes de nivel superior. El microcontrolador ARM está programado con diferentes IDES como keiluvision3, keiluvision4, coocox, etc. Un microcontrolador de 8 bits utiliza instrucciones de 8 bits y el ARM cortex-M utiliza 32 instrucciones. Usos adicionales del procesador Cortex Es un controlador informático de conjunto reducido de instrucciones Unidad central de procesamiento de alto rendimiento de 32 bits Tubería de 3 etapas y una compacta Tiene PULGAR Tecnología -2 Se combina de manera óptima con instrucciones de 16/32 bits Alto rendimiento Admite herramientas y RTOS y su núcleo Vista de depuración y rastreo JTAG o conexión de depuración de cable serie de 2 pines Admite múltiples procesadores Modos de bajo consumo Admite modos de suspensión Controla el paquete de software Múltiples dominios de alimentación Controlador de interrupción vectorial anidado (NVIC) Bajo latencia, bajo nivel de ruido interrumpe la respuesta No es necesario programar el ensamblado Alumbrado público solar basado en ARM Cortex (STM32) En la actualidad, la tecnología solar ha progresado en muchas aplicaciones, como hogares, industrias, etc. El objetivo principal de este proyecto es conservar la energía eléctrica: aquí se implementa una farola solar basada en Arm-Cortex que funciona con energía solar. Por lo general, las farolas solares se usan donde no hay electricidad disponible. Componentes de hardware STM32 con placa ARM cortex LED blancos MOSFET Batería Regulador Panel solar Software Compilador Keil Lenguaje C incorporado Este proyecto utiliza un procesador ARM-Cortex de la familia STM32 y una batería para la fuente de alimentación. Este proyecto utiliza un panel solar para cargar la batería donde el circuito controlador de carga controla la carga de la batería. El procesador ARM-Cortex está conectado a un conjunto de LED con la ayuda del interruptor MOSFET. El control de intensidad de las luces LED es posible variando el ciclo de trabajo de una fuente de CC. Se activa una unidad de microcontrolador ARM-Cortex programada para proporcionar diferentes intensidades en diferentes momentos de la noche mediante el uso de la técnica de modulación de ancho de pulso. El circuito del controlador de carga se utiliza para proteger la batería de las condiciones de descarga profunda y sobrecarga. La programación del nivel de ensamblaje del microcontrolador ARM: el microcontrolador ARM cortex es un microcontrolador de 32 bits, por lo tanto, todas las instrucciones tienen una longitud de 32 bits y se ejecutan en un solo ciclo. . Consiste en un conjunto de instrucciones para realizar las operaciones aritméticas, lógicas y booleanas. El ARM es una arquitectura de almacenamiento de carga, luego las instrucciones se ejecutan condicionalmente. El valor se almacena en la variable a // La programación en lenguaje ensamblador se desarrolla mediante mnemónicos como ADD, SUB, MUL, etc., pero para la programación ARM, se agregan algunas instrucciones adicionales como ADCNES y SWINE, etc. EJ: 12. ORG 0000h MOV r1, #10 MOV r2, #15 ADD r3, r2, r1 // r3=r2+r1 y el valor final almacenado en el registro r3//2.ORG 0000h MOV r1, #10 MOV r2, #15 SUB r3, r2, r1 // r3=r2-r1 y el valor final almacenado en el registro r3 // El microcontrolador ARM Coretex-M3 Programación de nivel C integrada: WAP para alternar el LED único a través del lenguaje C integrado usando el microcontrolador ARM cortex.#include “stm32f10x_gpio.h” #incluye “stm32f10x_rcc.h”GPIO_InitTypeDef GPIO_InitStructure; ent yo; #define LED_PORT GPIOB Void binky(); vacío principal () { vacío binky (); }void binky(void) { RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE); //habilita los pines PORTB// GPIO_InitStructure.GPIO_Speed ​​= GPIO_Speed_50MHz; //establecer la frecuencia del puerto// GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //configurar el PORTB en salida// GPIO_InitStructure.GPIO_Pin = GPIO_Pin_All ; //habilitado todos los pines PORTB// GPIO_Init(GPIOB, &GPIO_InitStructure); //inicialice los pines PORTB//while(1){ GPIO_WriteBit(LED_PORT,GPIO_Pin_8,Bit_SET); para (i=0;i<1000000;i++); GPIO_WriteBit(LED_PORT,GPIO_Pin_8,Bit_RESET); para (i=0;i<1000000;i++);GPIO_WriteBit(LED_PORT,GPIO_Pin_9,Bit_SET); para (i=0;i<1000000;i++); GPIO_WriteBit(LED_PORT,GPIO_Pin_9,Bit_RESET); para (i=0;i<1000000;i++);GPIO_WriteBit(LED_PORT,GPIO_Pin_10,Bit_SET); para (i=0;i<1000000;i++); GPIO_WriteBit(LED_PORT,GPIO_Pin_10,Bit_RESET); para (i=0;i<1000000;i++); }}Por lo tanto, se trata de arquitectura ARM con una aplicación.

Deja un mensaje 

Nombre *
Correo electrónico *
Teléfono
Dirección
Código Ver el código de verificación? Haga clic en Actualizar!
Mensaje
 

Lista de mensajes

Comentarios Loading ...
Inicio| Sobre Nosotros| Productos| Noticias| Descargar| Soporte| Comentarios| Contáctenos| Service

Contacto: Zoey Zhang Web: www.fmuser.net

Whatsapp / Wechat: +86 183 1924 4009

Skype: tomleequan Correo electrónico: [email protected] 

Facebook: FMUSERBROADCAST Youtube: ZOEY FMUSER

Dirección en inglés: Room305, HuiLanGe, No.273 HuangPu Road West, TianHe District., GuangZhou, China, 510620 Dirección en chino: 广州市天河区黄埔大道西273号惠兰阁305(3E)