Microcontroladores y DSPs



Documentos relacionados
NINO PICKIT2 PIC PROGRAMMER

Winide y Kit EVALQTY CDM 2011

Instrumentación con Microcontroladores. Ing. Rodrigo Alejandro Gutiérrez Arenas 22/03/12 al 29/03/12

Introducción a Arduino

Manual de usuario. PICnano v1. Programador/depurador de PIC s

Microcontroladores PIC de Microchip: generalidades

I2C. Ing. Pablo Martín Gomez

DESCRIPCION DEL SITEMA MASTER.

Técnicas Digitales III

GUIA GENERAL PARA LA PROGRAMACIÓN DEL SISTEMA EB88 BOOTLOADER: TINY INDICE

Laboratorio de Sistemas Embebidos Conceptos generales (2009)

Guía resumida para utilizar el microcontrolador CY7C68013

Tipos de Dispositivos Controladores

picojava TM Características

Memoria La memoria es la parte del ordenador en la que se guardan o almacenan los programas (las instrucciones y los datos).

GUIA GENERAL PARA LA PROGRAMACIÓN DEL SISTEMA PICCITO 16F88 INDICE

Matemática de redes Representación binaria de datos Bits y bytes

UNIDADES DE ALMACENAMIENTO DE DATOS

Arquitecturas DSP. Phil Lapsley, Jeff Bier, Amit Shoham, Edward A. Lee DSP Processor Fundamentals. Architectures and Features IEEE Press 1997

ZILOG DEVELOPER STUDIO

OBJETIVOS DE LA MATERIA... 4 PROGRAMA ANALÍTICO. CONTENIDOS TEÓRICOS Y PRÁCTICOS... 5 BIBLIOGRAFIA... 7

Herramientas hardware y software para el desarrollo de aplicaciones con Microcontroladores PIC bajo plataformas GNU/Linux

2 Sea una unidad de disco duro de brazo móvil con las siguientes características:

INSTITUTO TECNOLÓGICO SUPERIOR DE PÁNUCO APUNTES DE LA MATERIA DE: MICROPROCESADORES Y MICROCONTROLADORES I

UPV-EHU. EUITI e ITT Vitoria-Gasteiz. Ampliación de Sistemas Digitales. Depuración de programas

Unidad I. 1.1 Sistemas numéricos (Binario, Octal, Decimal, Hexadecimal)

Qué es un Microcontrolador?

Clase 20: Arquitectura Von Neuman

Familias de microcontroladores de 16 bits de Microchip

NANO GRABADOR OCULTO EXTENDED TS9680

Arquitectura de Computadores

Diseño e implementación de Filtros Digitales. Mg. Ing. Luis Romero Dr. Ing. Vicente Mut Dr. Ing. Carlos Soria Año 2011

Dispositivos de almacenamien to secundario. Almacenamiento de datos

Diseño de Sistemas embebidos y comunicaciones: Aplicaciones de telefonía, RF y localización remota. Ing. José Oliden Martínez

TEMPORIZADORES, CONTADORES Y COMPARADORES

Tema 1 Introducción. Arquitectura básica y Sistemas Operativos. Fundamentos de Informática

En este capítulo se describe la forma de cómo se implementó el sistema de video

Introducción a la Computación

En el presente capítulo se describe la programación del instrumento virtual y cómo

TEMA 2: Representación de la Información en las computadoras

Programador de PIC s y Memorias EEPROM

6-REGISTROS DEL 8086 Y DEL 80286

ARREGLOS DEFINICION GENERAL DE ARREGLO

FLASH-POD. Características. Aplicaciones. Descripción general. Emulador en Tiempo Real FLASH-POD. FLASH-POD


Anexo B. Comunicaciones entre mc y PC

Universidad Central de Bayamón Colegio de Desarrollo Empresarial y Tecnología

Programación y diseño de dispositivos mediante microcontroladores PIC

Sistemas de Computadoras Índice

Curso sobre Microcontroladores Familia HC9S08 de Freescale

PROBLEMAS DE FUNDAMENTOS DE TECNOLOGÍA DE COMPUTADORES T5. MEMORIAS

Curso S08 para Cavernícolas

Una computadora de cualquier forma que se vea tiene dos tipos de componentes: El Hardware y el Software.

DISEÑO DE UN PLC DOMÉSTICO UTILIZANDO UN MICROCONTROLADOR PIC-18F4550

TARJETA CONVERSORA ANALOGA/DIGITAL (A/D)

GUIA GENERAL PARA LA PROGRAMACIÓN DEL SISTEMA EVOLUPIC Bootloader 16F88 BOOTLOADER: AN1310 DE MICROCHIP INDICE

1.2 SISTEMAS DE PRODUCCIÓN

Contenido QUÉ ES SERVIDOR CLOUD?... 3 ACCESO AL SERVIDOR CLOUD... 3 ADMINISTRACIÓN DEL SISTEMA... 6

Introducción al NASM. Convenciones de colores

USO DEL SOFTWARE PROVIEW 32

SoftXpand 2011 Guía de instalación rápida Página 1 SoftXpand 2011 Guía de instalación rápida

Manual de uso del software. RoboPlus. Octubre 6. Interconectividad de dispositivos Nombre del profesor: Emilio Vargas Soto

REGISTROS DE DESPLAZAMIENTO

INTERRUPCIONES. La comunicación asíncrona de los sistemas periféricos con la CPU, en ambos sentidos, se puede establecer de dos maneras fundamentales:

ACTIVIDADES TEMA 1. EL LENGUAJE DE LOS ORDENADORES. 4º E.S.O- SOLUCIONES.

Control Teaching de un Brazo Robot de Cinco Grados de Libertad

2.- PLATAFORMA ARDUINO (HARDWARE)

Preliminares. Tipos de variables y Expresiones

DISEÑO E IMPLEMENTACIÓN DE UNA TARJETA DE ADQUISICIÓN DE DATOS PARA EL LABORATORIO DE TELECOMUNICACIONES DE LA FIEC.

1. SISTEMAS DIGITALES

Transformación de binario a decimal. Transformación de decimal a binario. ELECTRÓNICA DIGITAL

SISTEMAS DE INFORMACIÓN II TEORÍA

Capítulo 5 Programación del algoritmo en LabVIEW

Interoperabilidad de Fieldbus

NOTA DE APLICACIÓN AN-P002. Programando Wiring con NXProg

DEPARTAMENTO ELECTRÓNICA PIC - TEMA 2 INTRODUCCIÓN A LOS MICROCONTROLADORES PIC

INSTRUMENTACIÓN AVANZADA Departamento de Ingeniería Eléctrica y Electromecánica Facultad de Ingeniería Universidad Nacional de Mar del Plata

Circuitos Digitales II y Laboratorio Electrónica Digital II y Laboratorio

UNIDADES FUNCIONALES DEL ORDENADOR TEMA 3

MODOS DE DIRECCIONAMIENTO DEL µc51

Contenido. Sistemas de Entrada/Salida. Categorias de los Dispositivos de Entrada/Salida. Categorias de los Dispositivos de Entrada/Salida

Arquitectura basica de un computador

podemos enfocar al funcionamiento del robot, es decir la parte de electrónica. Para que el

Fundamentos de Computadores I

Ensamblador. Interrupciones. Dentro de una computadora existen dos clases de interrupciones:

CLASIFICACIÓN DE LAS COMPUTADORAS. Ing. Erlinda Gutierrez Poma

Unidad de trabajo 2: INFORMÁTICA BÁSICA (primera parte)

Análisis general de un Microprocesador

Sensor de Temperatura utilizando el Starter Kit Javelin Stamp. Realizado por: Bertha Palomeque A. Rodrigo Barzola J.

Buceando en los MCUs Freescale...

BUS I2C: IMPLEMENTACIÓN PRÁCTICA CON MICROCONTROLADORES PIC MEMORIAS EEPROM SERIE

1.2 Análisis de los Componentes. Arquitectura de Computadoras Rafael Vazquez Perez

SINTESIS Y DESCRIPCIÓN DE CIRCUITOS DIGITALES UTILIZANDO VHDL ANTECEDENTES

Figura 4.1 Clasificación de los lenguajes de bases de datos

Sistemas de Numeración Operaciones - Códigos

DISPOSITIVO DE ALMACENAMIENTO ESTANDAR PARA SOLUCION EMBEBIDA

Capítulo 1 Introducción a la Computación

Lenguajes de Programación

Transcripción:

Microcontroladores y DSPs Introducción a los Controladores Digitales de señales dspic30f M.C. Ricardo Álvarez Glez. FCE BUAP

dspic30f Controladores digitales de señales de 16 bits Ofrecen la capacidad de un DSP con las características de control en tiempo real de un microcontrolador. Interrupciones priorizadas Perifericos extensivos incluidos

dspic30f Controladores digitales de señales de 16 bits Características para manejo de potencia Todo esto combinado con una máquina DSP Acumuladores duales de 40 bits. MACS de 16 x 16 de un solo ciclo Barrel Shifter de 40 bits Búsquedas duales de operandos

dspics Familia de controladores digitales de señales de 16 bits Ofrecen la flexibilidad y control de un microcontrolador, con las caracteristicas de cómputo y la eficiencia de un DSP. La familia de controladores digitales de señales de 16 bits dspic30f, es la mas reciente y avanzada familia de procesadores de Microchip.

Arquitectura Harvard Modificada

Arquitectura Harvard Permite palabras de diferente tamaño: Programa 24 bits Datos 16 bits Mejora la eficiencia del conjunto de instrucciones Permite procesamiento mas rápido, el procesador puede buscar anticipadamente la próxima instrucción, mientras ejecuta la instrucción actual que accesa datos en la RAM.

Memoria de programa PC de 24 bits, para direccionar hasta 4M x 24 palabras El espacio de memoria de programa contiene: Localidad de reset Tablas de vectores de interrupción Memoria de programa de usuario EEPROM de datos Memoria de configuración.

Facilidad de instrucciones para realizar ciclos. Se pueden realizar ciclos con las instrucciones do y repeat, ambas pueden interrumpirse en cualquier momento. Estas características hacen los algoritmos repetitivos DSP muy eficientes, mientras mantienen la habilidad de manejar eventos de tiempo real

Memoria de datos Espacio de datos de 64Kbytes, y es tratado como un espacio lineal de datos para muchas instrucciones. Las instrucciones de multiplicación de DSP dividen la memoria en dos bloques X, Y. Estas instrucciones DSP soportan lecturas duales de operandos. Cuando no se usan las instrucciones de DSP, la memoria es tratada como un solo bloque de memoria X

Memoria de datos Primeros 2KB SFRs Después de los SFR hasta 8 KB RAM de datos, se puede dividir en los bloques X, Y para instrucciones DSP Los primeros 8 KB de datos (2k SFR+ 6k RAM), son conocidos como RAM cercana, accesible

Arreglo de registros de trabajo 16 registros de trabajo de 16 bits cada uno W0...W15 W15 apuntador del stack de software (unicamente) Los registros de trabajo restantes pueden funcionar como: Registros de datos Apuntador de direcciones de datos Registro de offset de dirección

Modos de direccionamiento Inherente (sin operandos) Relativo Literal Memoria directa Registro directo Registro indirecto Los seis modos de direccionamiento son soportados por cada instrucción. Los registros de trabajo son usados ampliamente como apuntadores para los modos de direccionamiento indirecto

Visibilidad de espacio de programa Los 32 KB superiores del mapa de memoria de datos pueden mapearse opcionalmente en memoria de programa, usando el registro de 8 bits de visibilidad de página en memoria de programa (PSVPAG)

El mapeo de memoria de programa, como si fuera memoria de datos, permite que cualquier instrucción tenga acceso a la memoria de programa como si fuera memoria de datos. Esta característica es usada para tablas de búsqueda, especialmente para tablas de coeficientes de filtros, para algoritmos DSP.

dspic30f Conjunto de Instrucciones. Instrucciones MCU Instrucciones DSP Estas dos clases de instrucciones están integradas independientemente en la arquitectura y desarrolladas en una sencilla unidad de ejecución.

dspic30f Conjunto de Instrucciones. Casi todas las instrucciones se ejecutan en un solo ciclo. Instrucciones de dos ciclos: Instrucciones que cambian el flujo del programa (bra, call, etc). Movimiento doble de palabras (mov D) Instrucciones de lectura/escritura de memoria de programa

dspic30f Conjunto de Instrucciones. Para muchas instrucciones, el dspic30f, es capaz de ejecutar: Lectura de memoria de datos Lectura de registro de trabajo Escritura a memoria de datos Lectura de memoria de programa (instrucción). Todo esto durante un solo ciclo de máquina! Operaciones del tipo A+B=C en un solo ciclo

Divide Support

Máquina DSP Multiplicador de punto fijo de 17 x17 bits de alta velocidad. ALU de 40 bits. Dos acumuladores saturados de 40 bits Corredor de barril bidireccional de 40 bits (capaz de recorrer hasta 15 bits a la derecha o 16 bits a la izquierda en un solo ciclo)

Interrupciones El dspic30f tiene un sistema priorizado de interrupciones. Cada fuente de interrupción tiene su propio vector, y se le puede asignar dinámicamente uno de siete niveles de prioridad. La tabla de vectores de interrupciones (IVT) reside en la parte baja de la memoria de programa.

Periféricos

Variantes del dispositivo Los dspics se dividen en tres categorías principales: Propósito general Control de motores/conversión de energía Sensores

Familia de propósito general 40-80 pines ideal para una variedad de aplicaciones empotradas de 16 bits

Motor Control and Power Conversion Family 28-80 pines, ideales para soportar aplicaciones de control de motores, UPS, inversores, fuentes de alimentación conmutadas y equipo relacionado. 10-bit, 500-ksps A/D Converter. Motor Control PWM. Quadrature Encoder. Timers, Input Capture, Output Compare. UART, SPI, I2C, CAN Serial Interfaces

Sensor Family 18-28 pines, ideal para soportar aplicaciones incrustadas de bajo costo.. 12-bit, 100-ksps A/D Converter. Timers, Input Capture, Output Compare. UART, SPI, I2C Serial Interfaces

Herramientas de desarrollo El proceso de desarrollo se puede dividir en tres partes principalmente: a. Escribir el código b. Corregir el código c. Programar el dispositivo

Es una herramienta de depuración efectiva en costo, que permite que se pueda probar el código en la tarjeta de circuito.

MPLAB ICE 4000 In-Circuit Emulator, es una herramienta de depuración completa, capaz de emular todos los miembros de la familia 30F a velocidad completa.

Herramientas de programación. MPLAB PM3, puede programar todos los tipos de encapsulado y tiene mas memoria que el ICD2, ideal para programar en producción. MPLAB ICD2, además de ser un programador, es un depurador, ideal para probar y depurar código.

MPLAB PM3 Universal Device Programmer Puede controlarse desde el MPLAB IDE, desde una linea de comandos, o puede funcionar solo.. Built-in support for In-Circuit Serial Programming.. Serialized programming for unique ID numbers.. Safe mode for code security.. High-speed programming and download through USB.. Secure digital and multimedia card slot for convenient program storage.

MPLAB ASM30 Assembler Interpreta instrucciones y directivas en archivos de código fuente, para generar código objeto. Se usa un ligador para convertir el código objeto en un archivo final de salida (.hex) para programar un dispositivo. Las directivas son interpretadas en tiempo de construcción, por el ensamblador, y se usan para definir secciones de memoria, inicializar constantes, declarar y definir símbolos, etc. Un punto. Debe preceder cada directiva.

Formato general para instrucciones y directivas: [label:] instruction[operands] [; comment] [label:] directive[arguments] [; comment]

Directivas comunmente usadas:.equ equates a value to a symbol.include includes another file into the current file.global makes a symbol globally visible.text starts a section of executable code.end ends assembly within a file.section starts a section (of code or data, in program or data memory)

Directivas comunmente usadas:.space allocates space within a section.bss adds variables to the uninitialized data section.data adds variables to the initialized data section.hword declares words of data within a section.palign aligns code within a section.align aligns data within a section

MPLAB LINK30 LINKER OVERVIEW

Función del ligador Esencialmente liga todos los archivos ensamblados y compilados en el proyecto, para formar un solo archivo ejecutable que pueda programarse en un dispositivo, simularse o emularse. El archivo hex y el archivo mapa se genera a partir del archivo coff

Ejemplo 1 /*Programa de ejemplo para realizar el encendido/apagado de dos leds conectados a RD0 y RD1. Autor: Ricardo Alvarez */.title "parpadeo de led".equ 30F2010,1.include "p30f2010.inc".text.equ cont,0x0810.global reset

reset:goto main.org 100 main: mov # SP_init,W15 ;inicializa el SP mov # SPLIM_init,W0 mov W0,SPLIM nop bclr TRISD,#00 ;RD0 salida bclr TRISD,#01 ;RD1 salida nop

bset PORTD,#00 bclr PORTD,#01 loop: btg PORTD,#00 call rtdo btg PORTD,#01 call rtdo bra loop ;************************************************

rtdo: mov #0xFFFF,W0 mov W0,cont resta: dec cont bra NZ,resta return.end