17 de diciembre de 2012

Crear un maestro 1-Wire con Xilinx PicoBlaze

REFERENCIA DISEÑO 5508
 

Crear un maestro 1-Wire con Xilinx PicoBlaze

Por:
Stewart Merkel, Miembro del Personal Técnico Principal

31 de octubre 2012

Resumen: Los diseñadores que tiene interfaz 1-Wire ® sensores de temperatura con matrices de Xilinx compuertas programables en campo (FPGAs) puede utilizar este diseño de referencia para conducir un DS28EA00 1-Wire dispositivo esclavo. El software descargable mencionado en este documento también se puede utilizar como punto de partida para conectar otros dispositivos 1-Wire esclavos. El sistema implementa un maestro 1-Wire conectada a una temperatura UART y salidas a un PC desde el sensor de temperatura DS28EA00. Además, altas / bajas salidas de alarma se muestran en los pins DS28EA00 PIO mediante LEDs.

Introducción

Este diseño de referencia (DR) describe un 1-Wire ® Master con PicoBlaze ™ 8-bit diseño integrado microcontrolador implementado y probado en el Xilinx Spartan ® ® -6 LX9 Microboard por Avnet. Este ejemplo utiliza el diseño DS28EA00 1-Wire termómetro digital con detección de secuencia y PIO en un módulo periférico. Este módulo utiliza el puerto estándar PMod ™ desarrollado por Digilent Inc.

Diseño del Sistema Diagrama de bloques

El sistema mostrado en la Figura 1 se muestra la implementación de alto nivel del diseño. El sistema requiere:

  • PicoBlaze procesador
  • 2 Brams (cada 1024 x 18-bit)
  • RS-232 (USB UART)
  • LED para alarmas
  • 681Ω ± 1% de la resistencia de pullup
  • Maxim Integrated DS28EA00 periférica módulo (DS28EA00PMB1 #)
  • Xilinx plataforma de cable USB

Figura 1.  El diseño del sistema de diagrama de bloques.
Figura 1. El diseño del sistema de diagrama de bloques.

Requisitos de diseño de referencia

Software

Los requisitos del RD de software son:

Hardware

La configuración de hardware de RD es la siguiente:

  • DS28EA00 módulo periférico (DS28EA00PMB1 #)
  • USB-A a USB-B cable micro
  • Xilinx plataforma de cable USB

  • Estructura de archivos

    La estructura de directorios y archivos críticos para este RD se muestran en la Tabla 1 .
    Tabla 1. Diseño de referencia Estructura de directorios
    Directorio Archivo suministrada Descripción
    S6LX9_PicoBlaze_1Wire_ise_14_2 \ Todos Contiene los archivos de todo el proyecto
    fuente \ ise \ OneWire.xise ISE archivo de proyecto
    fuente \ hdl \ OneWire.vhd De nivel superior VHDL fuente
    kcpsm6.vhd Fuente microcontrolador PicoBlaze
    fuente \ hdl \ KCPSM3_UART \ UART_Manual.pdf PicoBlaze UART manual de
    UART_real_time_clock.pdf PicoBlaze UART en tiempo real manual del reloj
    fuente \ hdl \ KCPSM3_UART \ VHDL \ bbfifo_16x8.vhd PicoBlaze UART FIFO macro
    kcuart_rx.vhd PicoBlaze UART recepción macro
    kcuart_tx.vhd PicoBlaze UART transmitir macro
    uart_rx.vhd PicoBlaze UART recibir envoltura
    uart_tx.vhd PicoBlaze UART transmitir envoltura
    fuente \ psm kcpsm6.exe Ejecutable de Windows para compilar la aplicación PicoBlaze
    OWP.psm
    OWP.log PicoBlaze 1-Wire registro de la salida del compilador
    OWP.vhd Aplicación compilada PicoBlaze formateado para inicializar el Spartan-6 Block RAM
    ROM.form.vhd BRAM plantilla instanciación utilizado por el ensamblador PicoBlaze
    KCPSM6_User_Guide_31March11.pdf Guía del usuario PicoBlaze
    fuente \ ucf OneWire.ucf Las restricciones de usuario del archivo que define las limitaciones de tiempo y el pasador de ubicación para el proyecto
    ready_for_download onewire.bit Proyecto bitstream
    hardware DS28EA00PMB1_sch.pdf DS28EA00 esquemática módulo periférico y tabla de diseño
    DS28EA00PMB1_BOM.xls Lista de materiales para el módulo periférico DS28EA00
    DS28EA00PMB1_gerber.zip Gerber para fabricar el módulo periférico DS28EA00

    Instalación del controlador de UART y puerto COM virtual

    Si el Microboard S6LX9 no se ha conectado a la PC antes, debe instalar el controlador de software para el puerto virtual COM (VCP):
    1. Siga las instrucciones de la " Guía de instalación de Silicon Labs CP210x USB a UART "para completar la instalación del controlador USB para el Microboard S6LX9. Haga clic aquí para conocer la ubicación del controlador.
    2. Conecte el USB-A. USB a micro-B cable al equipo host y J3 conector de la Microboard S6LX9
    3. Windows 7 le asignará automáticamente un VCP a la junta. El Administrador de dispositivos muestra los puertos COM está asignado. También permite al usuario seleccionar un puerto COM. Por ejemplo, en este sistema, el puerto predeterminado COM virtual es COM17. Busque en los puertos (COM & LPT) lista para el Silicon Labs CP210x USB to UART Bridge artículo. Tenga en cuenta el puerto COM asignado por el sistema.

    Configuración de la Microboard S6LX9

    Utilice el siguiente procedimiento para configurar la aplicación:
    1. Conecte el cable USB con un conector JTAG vaina y la cinta entre el conector JTAG en el tablero y un puerto USB del PC.
    2. Conecte el cable USB a la PC y el puerto J3 en la placa S6LX9. LED D7 se iluminará.
    3. Enchufe el módulo DS28EA00 periférico con el lado de los componentes hacia el Spartan-6 en J5, la fila en la pata 1 está marcada por el punto blanco.
    Figura 2.  El Microboard S6LX9.
    Figura 2. El Microboard S6LX9.

    La Demo 1-Wire

    Usando el archivo de flujo de bits creado previamente llamado "onewire.bit", la demostración se puede cargar en la FPGA y ejecutarse sin crear el diseño. Las herramientas de Xilinx debe estar instalado en el PC host y el hardware deben configurarse como se explica en las instrucciones de la sección " Configuración de la Microboard S6LX9 "y" Instalación del controlador de UART y puerto COM virtual . "secciones Aquí está el procedimiento rápido para seguir:
    1. Siga las instrucciones de instalación que se describen en la sección " Instalación del controlador de UART y puerto COM virtual "sección.
    2. Configure el Microboard S6LX9 como se describe en " Configuración de la Microboard S6LX9 "sección.
    3. Iniciar una sesión o Tera Term HyperTerminal. Ajuste los seriales parámetros del puerto a su VCP, 9600 baudios, sinparidad, 8 bits, 1 bit de parada y sin control de flujo .
    4. Uso del cable de plataforma de Xilinx y el software de Xilinx iMPACT llamado herramienta de carga, cargue la "onewire.bit" archivo en el Spartan-6.
    5. Si el módulo DS28EA00 periférico está enchufado correctamente, verá lo siguiente:
    6. Nota : Si el "romid" muestra todos los ceros, vuelva a comprobar las conexiones. El módulo periférico DS28EA00 probablemente no tiene la orientación correcta o está conectado a la fila equivocada.
    7. Puede ejecutar la demostración, escriba "1" en el indicador de comandos. Esto mostrará la temperatura en hexadecimal complemento a 2, seguido continuamente por la temperatura en decimal. Además, los dos LEDs en el módulo periférico DS28EA00 se iluminará para representar las alarmas de alta y baja, similar a un termostato de calefacción y refrigeración de control. La alarma de alta un umbral predeterminado se establece para encender a ≥ 29 ° C y la B baja alarma de umbral predeterminado se establece para encender a <27 ° C. Para salir en cualquier momento, pulse el botón Esc clave.
    8. Puede cambiar los LEDs DS28EA00 periféricos de alarma del módulo mediante la introducción de un umbral de complemento a 2. A modo de ejemplo, si introduce 1Ch (28d) en el umbral de alarma de alta, el LED A se encenderá a ≥ 28 ° C. Si ingresa 1Ah (26d) en el umbral de alarma de baja, el LED B se encenderá a <26 ° C. Estas nuevas alarmas se activan escribiendo "1" en el indicador de comandos.

    Compilar el diseño

    Este diseño está contenida en el código de la aplicación PicoBlaze y puede ser actualizado para funcionar con cualquier dispositivo esclavo 1-Wire. Hay claves 1-Wire subrutinas que deben ser entendidos por el diseñador. El bajo nivel de 1-Wire subrutinas se enumeran en la Tabla 2 . El diseño está contenida dentro de OWP.psm y si se desea se puede modificar para su aplicación.
    Tabla 2. Clave 1-Wire Subrutinas
    Acelerar Subrutina Descripción
    Estándar ow_reset_slow Restablece los dispositivos 1-Wire esclavos y los prepara para un comando.
    Estándar write_byte_slow Envía 8 bits de comunicación a los dispositivos esclavos 1-Wire.
    Estándar write_byte_slow_power Envía 8 bits de comunicación a los dispositivos esclavos 1-Wire y luego suministra pullup fuerte. El pullup fuerte se borrarán cuando el próximo 1-Wire subrutina se emite.
    Estándar read_byte_slow Recibe 8 bits de comunicación de los dispositivos esclavos 1-Wire.
    Estándar read_byte_slow_power Recibe 8 bits de comunicación de dispositivos esclavos 1-Wire y luego suministra pullup fuerte. El pullup fuerte se borrarán cuando el próximo 1-Wire subrutina se emite.
    Overdrive ow_reset_fast Restablece los dispositivos 1-Wire bus esclavos y los prepara para un comando.
    Overdrive write_byte_fast Envía 8 bits de comunicación a los dispositivos esclavos 1-Wire.
    Overdrive write_byte_fast_power Envía 8 bits de comunicación a los dispositivos esclavos 1-Wire y luego suministra pullup fuerte. El pullup fuerte se borrarán cuando el próximo 1-Wire subrutina se emite.
    Overdrive read_byte_fast Recibe 8 bits de comunicación de los dispositivos esclavos 1-Wire.
    Overdrive read_byte_fast_power Recibe 8 bits de comunicación de los dispositivos esclavos 1-Wire y luego suministra pullup fuerte. El pullup fuerte se borrarán cuando el próximo 1-Wire subrutina se emite.

    Volver a compilar Procedimiento

    1. El ensamblador PicoBlaze producirá los archivos necesarios para la implementación de su diseño. Los nuevos archivos se sobrescribirán los archivos más antiguos, por lo que una copia de seguridad de los archivos originales antes de volver a compilar. Abra el Explorador de Windows , vaya a la "fuente \ psm" y haga doble clic en el archivo de programa denominado "kcpsm6.exe". Es posible que reciba una advertencia de seguridad que indica "El editor no pudo ser verificada. ¿Seguro de que desea ejecutar este software?" Haga clic en ejecutar y obtendrá la siguiente ventana KCPSM6 ensamblador:
    2. Escriba el OWP.psm nombre de archivo y pulse la tecla de retorno para compilar.
    3. El ensamblador PicoBlaze comenzarán a publicarse. Si no hay ningún error en el código PicoBlaze, verá una pantalla como la de abajo. Si hay errores, se le avisará con el número de línea donde el problema está en el archivo de código (por ejemplo, en el archivo OWP.psm) y le pide que corrija el error antes de volver a ejecutar el ensamblador.
    4. Inicie el Xilinx ISE Project Navigator y abra el archivo en "ise \ OneWire \ OneWire.xise" como se muestra a continuación.
    5. Seleccione el archivo de nivel superior en la jerarquía de diseño (es decir, OneWire - PicoBlaze ) en el panel Jerarquía y haga doble clic en el archivo de programación Generar .
    6. Confirme el hardware conjunto de conexiones como se define en la " Configuración de la Microboard S6LX9 "sección. Iniciar una sesión o Tera Term HyperTerminal con los parámetros del puerto serie ajustados a su virtual COM port, 9600 baudios,sin paridad, 8 bits, 1 bit de parada y sin control de flujo .
    7. En la interfaz de usuario ISE gráfica (GUI), seleccione Configuración de dispositivo de destino para descargar el diseño de FPGA en el microcircuito S6LX9. La aplicación PicoBlaze inmediatamente comenzará a funcionar en la terminación de descarga.

    Resumen

    Este RD ilustra cómo utilizar la PicoBlaze Xilinx para interfaz con un módulo de DS28EA00 periférica. El RD también se puede utilizar como punto de partida para la interfaz con otros dispositivos esclavos 1-Wire.



    1-Wire es una marca registrada de Maxim Integrated Products, Inc. HyperTerminal es una marca registrada de Hilgraeve, Incorporated. ISE es una marca registrada de Xilinx, Inc. PicoBlaze es una marca comercial de Xilinx, Inc. PMod es una marca comercial de Digilent Inc . Spartan es una marca registrada de Xilinx, Inc. Windows es una marca registrada y marca de servicio registrada de Microsoft Corporation. Windows XP es una marca registrada y marca de servicio registrada de Microsoft Corporation. Xilinx es una marca registrada y marca de servicio registrada de Xilinx, Inc.



















    Piezas relacionadas
    DS1821 Termostato programable digital y termómetro Muestras gratuitas  
    DS1825 Resolución programable 1-Wire Termómetro Digital Con ID 4-Bit Muestras gratuitas  
    DS18B20 Resolución programable 1-Wire Termómetro Digital Muestras gratuitas  
    DS18B20-PAR 1-Wire Parasite-Power Termómetro Digital  
    DS18S20 1-Wire Parasite-Power Termómetro Digital Muestras gratuitas  
    DS18S20-PAR Parasite-Power Termómetro Digital  
    DS1920 Temperatura i Botón ®  
    DS1990A Número de serie i Botón Muestras gratuitas  
    DS1990R Número de serie i Botón Muestras gratuitas  
    DS2401 Número de serie del silicio Muestras gratuitas  
    DS2406 Interruptor Dual Plus Memoria direccionable 1Kb Muestras gratuitas  
    DS2408 1-Wire 8-Channel Conmutador Direccionable Muestras gratuitas  
    DS2411 Silicon Serial Number con V CC de entrada Muestras gratuitas  
    DS2413 1-Wire conmutador de canal de Direccionable Dual Muestras gratuitas  
    DS2431 1024-Bit 1-Wire EEPROM Muestras gratuitas  
    DS28EA00 1-Wire Termómetro digital con la secuencia de detección y PIO Muestras gratuitas  
    MAX31826 1-Wire sensor de temperatura digital con 1Kb cerradura EEPROM Muestras gratuitas  


     

No hay comentarios:

Publicar un comentario