miércoles, 2 de marzo de 2011

Proteus

Proteus es una compilación de programas de diseño y simulación electrónica, desarrollado por Labcenter Electronics que consta de los dos programas principales: Ares e Isis, y los módulos VSM y Electra.

ISIS

El Programa ISIS, Intelligent Schematic Input System (Sistema de Enrutado de Esquemas Inteligente) permite diseñar el plano eléctrico del circuito que se desea realizar con componentes muy variados, desde simples resistencias, hasta algúno que otro microprocesador o microcontrolador, incluyendo fuentes de alimentación, generadores de señales y muchos otros componentes con prestaciones diferentes. Los diseños realizados en Isis pueden ser simulados en tiempo real, mediante el módulo VSM, asociado directamente con ISIS.

El módulo VSM

Una de las prestaciones de Proteus, integrada con ISIS, es VSM, el Virtual System Modeling (Sistema Virtual de Modelado), una extensión integrada con ISIS, con la cual se puede simular, en tiempo real, con posibilidad de más rapidez; todas las características de varias familias de microcontroladores, introduciendo nosotros mismos el programa que controlará el microcontrolador y cada una de sus salidas, y a la vez, simulando las tareas que queramos que lleve a cabo con el programa. Se pueden simular circuitos con microcontroladores conectados a distintos dispositivos, como motores, lcd´s, teclados en matriz, etc. Incluye, entre otras, las familias de PIC's PIC10, PIC12, PIC16, PIC18, PIC24 y dsPIC33. ISIS es el corazón del entorno integrado PROTEUS. Combina un entorno de diseño de una potencia excepcional con una enorme capacidad de controlar la apariencia final de los dibujos.

ARES

ARES, o Advanced Routing and Editing Software (Software de Edición y Ruteo Avanzado); es la herramienta de enrutado, ubicación y edición de componentes, se utiliza para la fabricación de placas de circuito impreso, permitiendo editar generalmente, las capas superficial (Top Copper), y de soldadura (Bottom Copper).

Forma Manual

Ejecutando ARES directamente, y ubicando cada componente en el circuito. Tener cuidado al DRC, Design Rules Checker (Verificador de Reglas de Diseño)

Forma Automática

El propio programa puede trazar las pistas, si se guarda previamente el circuito en ISIS, y haciendo clic en el ícono de ARES, en el programa, el programa compone la Netlist

Método 1 (Autorouter)

  1. Poner SOLO los componentes en la board
  2. Especificar el área de la placa (con un rectángulo, tipo "Board Edge")
  3. Hacer clic en "Autorouter", en la barra de botones superior
    1. Editar la estrategia de ruteo en "Edit Strategies"
  4. Hacer clic en "OK"

Método 2 (Electra Autorouter)

Utilizando el módulo Electra (Electra Auto Router), el cual, una vez colocados los componentes trazará automáticamente las pistas realizando varias pasadas para optimizar el resultado.
Con Ares además se puede tener una visualización en 3D del PCB que se ha diseñado, al haber terminado de realizar la ubicación de piezas, capas y ruteo, con la herramienta "3D Visualization", en el menú output, la cual se puede demorar, solo haciendo los trazos un periodo de tiempo un poco más largo que el de los componentes, los cuales salen al empezar la visualización en 3D.




El pic 16f84


Las altas prestaciones de los microcontroladores PIC derivan de las características de su arquitectura. Están basados en una arquitectura tipo Harvard que posee buses y espacios de memoria por separado para el programa y los datos, lo que hace que sean más rápidos que los microcontroladores basados en la arquitectura tradicional de Von Neuman.
    Otra característica es su juego de instrucciones reducido (35 instrucciones) RISC, donde la mayoría se ejecutan en un solo ciclo de reloj excepto las instrucciones de salto que necesitan dos.
    Posee una ALU (Unidad Aritmético Lógica) de 8 bits capaz de realizar operaciones de desplazamientos, lógicas, sumas y restas. Posee un Registro de Trabajo (W) no direccionable que usa en operaciones con la ALU.

    Dependiendo de la instrucción ejecutada, la ALU puede afectar a los bits de Acarreo , Acarreo Digital (DC) y Cero (Z) del Registro de Estado (STATUS).
    La pila es de 8 niveles. No existe ninguna bandera que indique que esté llena, por lo que será el programador el que deberá controlar que no se produzca su desbordamiento.
    Este microcontrolador posee caracterísitcas especiales para reducir componentes externos con lo que se reducen los costos y se disminuyen los consumos. Posee 4 diferentes modos de oscilador, desde el simple circuito oscilador RC con lo que se disminuyen los costos hasta la utilización de un oscilador a cristal.
    En el modo SLEEP el consumo se reduce significativamente y puede ‘despertarse’ al microcontrolador utilizando tanto interrupciones internas como externas y señal de reset. Además posee la función Watchdog Timer (Perro Guardian) que protege al micro de ‘cuelgues’ debido a fallos software que produzcan bucles infinitos.
Construccion
Se trata de uno de los microcontroladores más populares del mercado actual, ideal para principiantes, debido a su arquitectura de 8 bits, 18 pines, y un set de instrucciones RISC muy amigable para memorizar y fácil de entender, internamente consta de:
  • Memoria Flash de programa (1K x 14).
  • Memoria EEPROM de datos (64 x 8).
  • Memoria RAM (68 registros x 8).
  • Un temporizador/contador (timer de 8 bits).
  • Un divisor de frecuencia.
  • Varios puertos de entrada-salida (13 pines en dos puertos, 5 pines el puerto A y 8 pines el puerto B).
Otras características son:
  • Manejo de interrupciones (de 4 fuentes).
  • Perro guardián (watchdog).
  • Bajo consumo.
  • Frecuencia de reloj externa máxima 10MHz. (Hasta 20MHz en nuevas versiones). La frecuencia de reloj interna es un cuarto de la externa, lo que significa que con un reloj de 20Mhz, el reloj interno sería de 5Mhz y así pues se ejecutan 5 Millones de Instrucciones por Segundo (5 MIPS)
  • No posee conversores analógicos-digital ni digital-analógicos.
  • Pipe-line de 2 etapas, 1 para búsqueda de instrucción y otra para la ejecución de la instrucción (los saltos ocupan un ciclo más).
  • Repertorio de instrucciones reducido (RISC), con tan solo 30 instrucciones distintas.
  • 4 tipos distintos de instrucciones, orientadas a byte, orientadas a bit, operación entre registros, de salto
Composicion
l   Repertorio de 35 Instrucciones.
l   Todas las instrucciones se ejecutan en un solo ciclo excepto las de salto que necesitan dos.
l   Versiones de 4 MHz (PIC16F84-04) y 10 MHz (PIC16F84-10).
l   Memoria de programa Flash de 1 K x 14 bits.
l   Memoria de datos RAM de 68 bytes.
l   Memoria de datos EEPROM de 64 bytes.
l   Pila con 8 niveles de profundidad.
l   Modos de direccionamiento directo, indirecto y relativo.
l   4 fuentes de interrupciones:
l   A través del pin RB0/INT.
l   Desbordamiento del temporizador TMR0.
l   Interrupción por cambio de esto de los pins 4:7 del Puerto B.
l   Completada la escritura de la memoria EEPROM.
l   1.000.000 de ciclos de borrado/escritura de la memoria EEPROM.
l   40 años de retención de la memoria EEPROM.
l   13 pins de E/S con control individual de dirección.
l   Contador/Temporizador TMR0 de 8 bits con divisor programable.
l   Power-on Reset (POR).
l   Power-up Timer (PWRT).
l   Oscillator Start-up Timer (OST).
l   Watchdog Timer (WDT).
l   Protección de código.
l   Modo de bajo consumo SLEEP.
l   Puede operar bajo 4 modos diferentes de oscilador.
l   Programación en serie a través de dos pins.
l   Tecnología de baja potencia y alta velocidad CMOS Flash/EEPROM.
l   Rango de alimentación: 2.0 a 6.0 V.

Usos

En los últimos años se ha popularizado el uso de este microcontrolador debido a su bajo costo y tamaño. Se ha usado en numerosas aplicaciones, que van desde los automóviles a decodificadores de televisión. Es muy popular su uso por los aficionados a la robótica y electrónica.
Puede ser programado tanto en
lenguaje ensamblador como en Basic y principalmente en C, para el que existen numerosos compiladores.Cuando se utilizan los compiladores Basic,es posible desarrollar ùtiles aplicaciones en tiempo récord,especialmente dirigidas al campo domèstico y educacional.

Programa de ejemplo

A continuación hay un pequeño programa en ensamblador (MPASM) que pone a 0 las posiciones de memoria 20 y 21 (en hexadecimal) usando un direccionamiento indirecto:
MOVLW 20h
   MOVWF FSR
   CLRF  INDF
   INCF  FSR
   CLRF  INDF
MOVLW k: (Move Literal to W) Es una instrucción que carga en el registro de trabajo W, un literal (constante) k, que en este caso es 20h.
MOVWF f: (Move W to File), Copia el contenido del registro W a la posición de memoria f. En este caso, FSR representa una dirección de memoria. FSR es el registro usado para direccionamiento indirecto. En FSR se carga la dirección de memoria que se va a direccionar con INDF (otro registro).
CLRF f: (Clear File), Pone en 0 el registro en la posición de memoria f.
INCF f: (Increment File), Incrementa en uno el valor almacenado en la posición de memoria f.

Otro Programa de ejemplo

Este otro programa permite poner a valor lógico uno la salida RB0 del microcontrolador cuando se detecta un valor lógico uno en la entrada RA0 mediante el uso de saltos incondicionales GOTO (ir a...):
SIGUE       BTFSS    PORTA,0   ; testea el pin RA0 del PORTA, si encuentra un "1" salta una instrucción, de lo contrario continua
               GOTO     APAGA     ; salta a la subrutina APAGA
               GOTO     ENCIENDE  ; salta a la subrutina ENCIENDE
   APAGA       BCF      PORTB,0   ; pone en "0" el pin RB0 del PORTB
               GOTO     SIGUE     ; vuelve al testeo
   ENCIENDE    BSF      PORTB,0   ; pone en "1" el pin RB0 del PORTB
               GOTO     SIGUE     ; todo de nuevo