Programación y simulación de interfaz SPI basada en Proteus
Ahora, hay dispositivos integrados en todos los rincones de la vida de las personas, como DVD, teléfonos móviles, MP3 y computadoras de bolsillo. Estos dispositivos integrados utilizan principalmente procesadores integrados RISC de 32 bits como componentes principales. Entre ellos, dominan los procesadores integrados basados en el núcleo ARM, que ocupan más del 75% de la cuota de mercado en procesadores RISC de 32 bits. Como resultado, cada vez más entusiastas de la electrónica se han unido a las filas del aprendizaje de ARM. Al compararlo con el proceso de desarrollo del sistema general de microcomputadoras de un solo chip, no es difícil encontrar que el diseño del sistema integrado incluye dos aspectos: diseño de hardware y diseño de software. El proceso de depuración incluye depuración de software, pruebas de hardware y depuración del sistema. La depuración de software es generalmente más fácil de realizar, pero las pruebas de hardware y la depuración del sistema son más problemáticas, porque estos dos procesos deben llevarse a cabo después de completar la producción de PCB y la soldadura de componentes; la producción de PCB y la soldadura de componentes consumen mucho tiempo y son laboriosas Sí, si Se puede utilizar la herramienta de simulación ProteuS VSM, el trabajo anterior se puede realizar sin hacer una placa de circuito específica. No hay duda de que esto puede brindar una gran comodidad a la mayoría de los estudiantes de ARM.
1. Escribiendo el código del programa
La programación del código del programa se divide principalmente en 4 partes:
① Código de inicialización de LPC2106;
②Entrada del vector de excepción LPC2106 y la interfaz entre el vector de excepción y el código en lenguaje C, incluido el código para inicializar la pila;
③El código especial de la placa de destino LPC2106, incluido el programa de manejo de excepciones y el programa de inicialización de la placa de destino;
④ De acuerdo con los requisitos del ejemplo y combinado con el diagrama esquemático, escriba el código que realiza la función esperada, es decir, el código de ejecución habitual, y el archivo de código se guarda como "main.C".
Generalmente, para ahorrar tiempo de desarrollo, generalmente se usa una plantilla de proyecto diseñada, y aquí se usa la plantilla de proyecto de la serie LPC2100. La plantilla contiene los archivos de inicio de la serie LPC2100 de microcontroladores ARM7, incluidos STACK.S, HEAP.S, STARTUP.S y TARGET.C; la plantilla también contiene los archivos de encabezado de la serie LPC2100 de microcontroladores ARM7, descripción de carga de dispersión archivos (como mem_a .scf, mem_b.scf y mem_c.scf) y así sucesivamente. De esta manera, estas plantillas de proyecto se pueden usar directamente al escribir códigos de programa en el futuro, en lugar de escribir códigos de programa inicial y de inicio. Solo necesita escribir "main.C" de acuerdo con diferentes requisitos, lo que ahorra mucho tiempo y Mejora enormemente la eficiencia del trabajo.
Aquí explicamos principalmente la escritura de "main.C". La función a realizar es usar la interfaz SPI de hardware para enviar datos de 0 a F, controlar el tubo digital LED para mostrar caracteres de 0 a F a través del 74HC595 y controlar 4 LED para mostrar el número de sistema hexadecimal correspondiente. El código fuente del programa es el siguiente:
2. Imitación
Utilice el entorno de desarrollo integrado ADS para compilar y conectar el programa. El entorno de desarrollo integrado ADS es una herramienta de desarrollo integrada para microcontroladores ARM core lanzada por ARM. El nombre completo en inglés es ARM Developer Suite y la versión madura es ADS1.2. ADS1.2 admite todos los microcontroladores de la serie ARM antes de ARM10, admite depuración de software, admite ensamblaje, programas fuente C y C ++, y tiene las características de alta eficiencia de compilación y sólidas funciones de biblioteca del sistema. Abra el entorno de desarrollo integrado ADS1.2 CodeWarrior IDE, use la plantilla de proyecto agregada previamente para crear un nuevo proyecto spi.mcp y agregue el archivo de código main.c compilado anteriormente en el proyecto. Después de realizar los ajustes pertinentes, seleccione Projeet → Crear comando, compile y conecte el proyecto y genere el archivo spi.hex.
Haga doble clic en el microcontrolador LPC2106 en el esquema, aparecerá una ventana de configuración de propiedades Editar componente, como se muestra en la Figura 2. Agregue la ruta del archivo spi.hex generado anteriormente en ProgramFile y haga clic en Aceptar para completar la configuración.
Conclusión
Este artículo describe la aplicación de ProteuS en el desarrollo de ARM con un simple experimento de interfaz SPI. Se puede ver que Proteus es muy poderoso, puede simular varios circuitos digitales y analógicos, y es simple de operar y fácil de usar. El uso de Proteus para el desarrollo virtual ARM no solo puede reducir la inversión de capital de hardware experimental, sino también superar las limitaciones del contenido experimental en la placa de desarrollo real, lo que permite a los desarrolladores dar pleno rendimiento a su propia iniciativa. El uso de la simulación Pro-teus para llevar a cabo la producción real después de un desarrollo virtual exitoso del sistema puede, sin duda, mejorar la eficiencia del desarrollo, reducir el costo de desarrollo y aumentar la velocidad de desarrollo, lo que tiene un mayor valor de promoción y aplicación.