¡Urgente, urgente, urgente! ! ! Traducción de microcontroladores a idiomas extranjeros.
Papel MCU
--------------------------------- --------------------------------------------------
Texto: admin Publicado el 2008-9-26 11:29:00
Papel de microcomputadora de un solo chip: La microcomputadora de un solo chip es un método de simulación de sistema integrado que utiliza un diseño especial Simulador de conjunto de instrucciones ISS al software depurador de software Keil uVision2 y el software simulador de lenguaje de hardware Modelsim están conectados para realizar una simulación sincrónica de software y hardware.
Palabras clave: BFM, TCL, Verilog, Vhdl, PLI, Modelsim, Keil uVision2, ISS, TFTP, HTTP, tarjeta de red virtual, Sniffer, SMART MEDIA, DMA, MAC, SRAM, CPLD
Explicación de abreviaturas:
BFM: módulo de función de bus. En la simulación del lenguaje de hardware HDL, BFM completa la conversión entre datos de descripción abstractos y señales de sincronización específicas.
PLI: interfaz del lenguaje de programación Verilog, que es la definición de interfaz para el intercambio de datos entre el módulo de lenguaje C y el módulo de lenguaje Verilog.
TCL: Literalmente significa lenguaje de comando de herramienta. Es un lenguaje de interpretación y ejecución. El software EDA popular generalmente se integra con TCL. Con TCL, los usuarios pueden escribir scripts para controlar las herramientas EDA y automatizar las operaciones de las herramientas.
ISS: Simulador de conjunto de instrucciones de CPU, que puede ejecutar código de máquina de CPU.
TFTP: Protocolo simple de transferencia de archivos, el tftp.exe de Windows es la implementación cliente de este protocolo.
SMART MEDIA: Tarjeta de memoria comúnmente utilizada en cámaras digitales y reproductores MP3.
DMA: acceso directo a memoria. Se utiliza para la transferencia de datos de alta velocidad entre dispositivos externos.
MAC: Controlador de acceso al medio. En este artículo, nos referimos al chip de la tarjeta de red.
Prólogo
En los sistemas integrados tradicionales, el ciclo de diseño, el desarrollo de hardware y software se llevan a cabo por separado, y el sistema se integra solo después de que se completa el hardware. En muchos casos, es real. -El software en tiempo y la depuración general comenzarán solo después de que se complete el hardware. La cosimulación de hardware y software es una tecnología que permite que la depuración de programas comience temprano, antes de que los prototipos físicos estén disponibles.
La cosimulación de software y hardware hace posible que los ingenieros de diseño de software comiencen a depurar en las primeras etapas del diseño. Con los métodos tradicionales, los ingenieros de diseño no pueden depurar hasta que se completa el diseño del hardware. Algunos software pueden codificar tareas sin soporte de hardware, como algoritmos que no involucran hardware. El código que interactúa con el hardware se escribe antes de obtenerlo, pero el código realmente no se puede depurar hasta que se ejecuta en el hardware. Al utilizar tecnología de cosimulación de software y hardware, este proceso de depuración del diseño puede comenzar temprano en el diseño. Dado que el desarrollo del software generalmente se completa más adelante en el desarrollo del sistema, comenzar la depuración antes en el ciclo de diseño puede permitir que el proyecto se complete antes. Esta técnica reducirá el riesgo de cambios inesperados en el proyecto cuando el hardware y el software se conecten por primera vez. terminación.
Antes de obtener el prototipo físico, utilizar tecnología de cosimulación de software y hardware para verificar la interfaz entre el hardware y el software le evitará perder demasiado tiempo en la depuración posterior al sistema. Cuando obtenga un prototipo físico y comience a ejecutar el software en él, descubrirá que las partes probadas del software funcionarán correctamente, lo que le ahorrará mucho tiempo y esfuerzo más adelante en el proyecto.
El sistema de cosimulación de software y hardware consta de un entorno de ejecución de hardware y un entorno de ejecución de software. Por lo general, el entorno de software y el entorno de hardware tienen sus propias interfaces de depuración y control. Buses iniciados por el procesador. Interacción de ciclos con el hardware. Este artículo presenta un sistema de cosimulación de software y hardware basado en el desarrollo de una tarjeta Mini Web.
El núcleo de esta solución es utilizar un motor de simulación de 51 microcontroladores GoldBull ISS51 (en adelante, ISS51 es un complemento para el entorno de desarrollo de 51 microcontroladores Keil uVision2). Conecte Keil y el entorno de simulación de hardware Modelsim. Se puede lograr una simulación sincrónica de software y hardware. En este sistema, Keil sirve como interfaz de depuración de software, Modelsim sirve como interfaz de depuración y simulación de hardware, e ISS51 es responsable de la ejecución del software, monitoreo de puntos de interrupción del software, ejecución en un solo paso, devolución de memoria y datos de registro a Keil, sincronización del bus de la CPU. generación y captura, y funciones internas Funciones como el funcionamiento de módulos (como temporizadores, puertos serie).
Introducción a la Mini Tarjeta Web
La Mini Tarjeta Web es un servidor Web que se ejecuta en un microcontrolador, proporciona conexión de puerto de red, un sistema de archivos de gran capacidad y proporciona servicios TFTP y HTTP. Aunque el sistema de software es relativamente complejo, después de la optimización y compilación, el código de ejecución tiene menos de 25 K, lo que deja suficiente espacio para actualizaciones posteriores. 51CPU adopta la serie SST89. Este tipo de CPU tiene función ISP y puede descargar directamente el código de destino a la CPU a través del puerto serie RS232.
La lógica de control DMA es un dispositivo lógico programable que utiliza el CPLD EPM240 de ALTERA. Su función principal es realizar la transferencia DMA entre dispositivos periféricos. Debido a que el acceso IO de 51CPU es muy ineficiente, se necesitan 24 ciclos de reloj para realizar un acceso IO. La transferencia de datos entre dispositivos periféricos requiere más ciclos de reloj. Usando la lógica de control DMA, la transferencia se puede lograr en 3 ciclos de reloj. Este sistema maneja múltiples protocolos de red y requiere una gran cantidad de envío y recepción de mensajes y acceso al sistema de archivos. El uso de DMA puede mejorar en gran medida la velocidad de procesamiento de datos del microcontrolador 51. El canal DMA incluye principalmente transferencia de bloques de datos entre el chip MAC y RAM, y transferencia de bloques de datos entre SMART MEDIA y RAM.
El chip de la tarjeta de red utiliza AX88796. La principal ventaja es que se puede interconectar fácilmente con 51 CPU; admite Ethernet de 100 M y tiene una alta velocidad y un gran búfer de mensajes recibidos, lo que puede suavizar el tráfico de la red; y reducir el costo de 51 CPU. Los mensajes se descartan y retransmiten debido a la baja velocidad de procesamiento.
SMART MEDIA es una tarjeta de memoria móvil que se utiliza principalmente para almacenar archivos. La tarjeta Mini Web admite tarjetas SMD de 8M a 256M.
El sistema de archivos es un nuevo módulo de desarrollo de la tarjeta Mini Web. La prueba del sistema de archivos se realiza principalmente a través de TFTP. Por esta razón, el programa de servicio TFTP en la tarjeta Mini Web. diseñado para admitir el formateo de SMART MEDIA y obtener espacio restante, obtener una lista de nombres de archivos, cargar, descargar y eliminar archivos.
Necesidad de cosimulación de software y hardware:
La mini tarjeta web tiene muchos módulos de software y los riesgos de desarrollo de software son altos. El software depende en gran medida del hardware. El controlador de acceso a la memoria FLASH, el controlador de la tarjeta de red y el controlador DMA requieren una depuración colaborativa del software y el hardware.
El desarrollo de sistemas de archivos es más fácil y rápido en el entorno de simulación. Por ejemplo, al final de la simulación, los datos del modelo de simulación SMART MEDIA se pueden cambiar a un archivo de disco. Al comienzo de la simulación, los datos del archivo de disco se cargan en el modelo de simulación SMART MEDIA. problemas del sistema de archivos, esta función es muy útil.
Utilización de simulación conjunta de software y hardware para facilitar el diseño temprano del sistema. La eficiencia de acceso a la RAM externa del microcontrolador 51 es baja y la copia de memoria y la transferencia de bloques de datos entre dispositivos externos son una pérdida de tiempo. La implementación de una gran cantidad de operaciones de copia de datos u operaciones de verificación y comparación de bloques de datos en el CPLD puede mejorar en gran medida las capacidades de procesamiento de datos del microcontrolador 51. Mediante la simulación conjunta de software y hardware, se puede evaluar la mejora del rendimiento de los datos de procesamiento de CPLD.
Sistema de cosimulación de software y hardware de mini tarjeta web:
El principal problema que resuelve la cosimulación de software y hardware es el diseño y la verificación de la función del sistema.
no resuelve el problema de la fuente de alimentación, el condensador de filtro y la compatibilidad del nivel del bus.
Para realizar una simulación del sistema, primero debe modelar el sistema de hardware. Nos centramos en la corrección y ejecutabilidad del diseño del sistema.
El puerto serie del sistema solo se utiliza para admitir la descarga del software del ISP. La parte del software no realiza ninguna operación en el puerto serie, por lo que no es necesario considerar la simulación del sistema.
Para el chip de tarjeta de red AX88796, el fabricante no proporciona un modelo de simulación. Su interfaz con la CPU cumple con el estándar de interfaz ISA. El funcionamiento del software del AX88796 está diseñado en base al chip de tarjeta de red estándar NE2000. A partir de esto, establecimos un modelo de simulación del chip de la tarjeta de red. Diseñamos un MAC BFM para simular la interfaz ISA del chip de la tarjeta de red. Los registros definidos por NE2000 se implementan en el modelo C. El MAC BFM y el modelo C de registro NE2000 intercambian datos a través de PLI.
Los modelos de simulación SRAM son fáciles de obtener. Muchos fabricantes de dispositivos proporcionan modelos de simulación Verilog. Sin embargo, los modelos de simulación Verilog proporcionados por los fabricantes de dispositivos contienen códigos de control de retardo complejos, que afectarán la velocidad de la simulación. Según la experiencia, podemos garantizar que SRAM se aplique correctamente en el diseño de una sola placa y no cause problemas de sincronización, por lo que podemos usar un modelo de simulación SRAM simplificado, que diseñamos nosotros mismos, con solo una docena de líneas de código efectivo.
51CPU BFM es responsable de la generación y captura de la sincronización de los pines del microcontrolador. 51CPU BFM está estrechamente incluido con ISS51. SMART MEDIA está instalado por ISS51, que es un modelo de simulación proporcionado por Samsung. También utilizamos el mismo tipo de tarjeta de memoria de Samsung. Este modelo se puede utilizar para verificar la corrección del funcionamiento del software SMART MEDIA y la sincronización de la interfaz del controlador DMA.
El controlador DMA es parte del desarrollo del hardware de la tarjeta Mini Web. Aplica el código de diseño lógico a la simulación, que no solo puede detectar la exactitud del diseño lógico, sino que también permite que todo el sistema de simulación funcione normalmente. .
Conecte los modelos de hardware anteriores para generar el diagrama del modelo del sistema de hardware que se muestra en la siguiente figura:
Figura 2. Diagrama de circuito del módulo de hardware de la mini tarjeta Web
En La Figura 2 U11 es el modelo de simulación SMART MEDIA y U4 es el modelo del controlador DMA.
Tarjeta de red virtual
Para realizar la simulación del sistema, debe ingresar incentivos del mundo real y transferir la salida del sistema de simulación al mundo real. Incluso si no puede conectarse al mundo real, debe proporcionar entradas que simulen el mundo real y detectar y analizar la salida del sistema simulado.
Para la tarjeta Mini Web, se conecta al entorno real a través del puerto de red. Utilizando la tecnología de tarjeta de red virtual, el modelo MAC C de la Figura 3 puede comunicarse con la tarjeta de red virtual.
Para una aplicación que se ejecuta en un sistema Windows, no sabe si la tarjeta de red es virtual o real. La aplicación envía y recibe datos a través de la tarjeta de red virtual. sistema a través de la red.
De esta manera, puede usar TFTP para transferir archivos de páginas web al sistema de emulación de tarjetas Mini Web, usar IE para navegar por las páginas web en el sistema de emulación de tarjetas Mini Web y todas las funciones de Mini Web. La tarjeta se puede probar.
Utilice el detector de olores de red Sniffer para monitorear el flujo de mensajes de la tarjeta de red virtual para facilitar la depuración del protocolo.
Tecnología de aceleración de simulación
Cosimulación de software y hardware, el cuello de botella que afecta la velocidad de simulación es la simulación de la parte del código HDL. Si no intenta mejorar la velocidad de simulación de la parte del código HDL, la depuración del software será muy ineficiente.
Una de las formas de mejorar la velocidad de la simulación de hardware es utilizar la sincronización de eventos en la simulación de hardware de software para mantener el software y el hardware sincronizados solo cuando la CPU accede a IO.
El segundo método de aceleración de simulación es la suspensión del reloj del sistema de simulación de hardware. Para la tarjeta Mini Web, el reloj solo controla el controlador DMA. Cuando el software no opera el controlador DMA, el funcionamiento del controlador DMA no tiene sentido, por lo que el reloj se puede poner en suspensión durante las operaciones que no son DMA; Durante el primer acceso IO, se proporciona la diferencia horaria desde el último acceso IO. Esta diferencia horaria se puede utilizar como período de suspensión del reloj después del procesamiento. Si ISS51 realiza continuamente acceso IO, no se producirá la suspensión del reloj.
El controlador DMA funciona en modo de consulta y puede utilizar la tecnología de suspensión del reloj sin causar inconsistencia entre la simulación y los resultados reales. El tercer método consiste en acortar algunos parámetros de tiempo de retraso prolongado en el modelo de simulación SMART MEDIA. Porque mientras espera que SMART MEDIA entre en el estado listo, la CPU debe consultar IO continuamente, lo que afecta la velocidad de simulación. Lo usamos principalmente para verificar la función del software y este tipo de modificación también es aceptable.
Método 4: en el diseño de software, utilice interrupciones externas con precaución, porque una vez que se inicia la interrupción, ISS51 necesita consultar si hay una señal de interrupción en cada ciclo de la máquina, lo que da como resultado una simulación de software y una simulación de hardware en cada instrucción. Todas están sincronizadas, lo que afecta la velocidad de la simulación. Si se deben utilizar interrupciones externas, se recomienda utilizar el modelo C en lugar del modelo Verilog, lo que no afectará la velocidad de simulación o el usuario puede utilizar el comando de control ISS51 para habilitar la ISS en una PC normal en el momento adecuado; según el tiempo del módulo externo que genera la interrupción externa (la CPU es AMD Athlon 1000, SDRM512M 133), ejecute el sistema de emulación de tarjeta Mini Web y use el comando PING para probar la velocidad de respuesta del sistema de emulación de tarjeta Mini Web:
Respuesta de 10.10.112.76: bytes=32 tiempo=64ms TTL=128
Utilice IE para abrir el archivo de la página web en el sistema de emulación de tarjeta Mini Web, y la velocidad no es muy diferente al del acceso telefónico a Internet. Cree múltiples conexiones TFTP, transfiera o descargue archivos de páginas web al sistema de simulación al mismo tiempo y use IE para navegar por páginas web, pero no se produce ninguna interrupción de la respuesta.
Resumen
Utilizando la cosimulación de software y hardware, la Mini tarjeta Web puede simular todas las funciones sin hardware, lo que mejora la confianza en el éxito del diseño del sistema. La cosimulación de software y hardware facilita los ajustes del diseño del sistema, puede evaluar el rendimiento en la etapa inicial del diseño y facilita la depuración de software y hardware. Es una tecnología que vale la pena promover.
Ya enviado a tu correo