Mpc0809JosueVierauC PIC

23
2009 Josué Viera Rivero 01/01/2009 Microchip PIC

description

manual de micros 2009

Transcript of Mpc0809JosueVierauC PIC

Page 1: Mpc0809JosueVierauC PIC

 

 

   

2009 

 

 

 

Josué Viera Rivero 

 

01/01/2009  

Microchip PIC

Page 2: Mpc0809JosueVierauC PIC

 Tabla de Contenido  Josué Viera Rivero 

Microchip PIC  1 

 

Tabla de contenido  

Introducción: ......................................................................................................... 2 

MICROCHIP  PIC    (Programmable  Interface  Controller  )  /  (Programmable 

Intelligent Computer)  (Peripheral Interface Controller): ................................................ 5 

Características: .................................................................................................. 6 

APLICACIONES: .................................................................................................... 10 

RTOS: ................................................................................................................... 16 

mTouch   Entornos Táctiles:............................................................................. 19 

Bibliografía .......................................................................................................... 22 

 

 

Page 3: Mpc0809JosueVierauC PIC

 ué Viera Rivero Introducción  Jos

Microchip PIC  2 

Microcontroladores 

Introducción:  Por  cada  procesador  de  propósito  general  vendido,  se  venden más  de  100 

microcontroladores.  ¿Pero  que  es  un  microcontrolador?  Es  una  computadora 

integrada en un  chip, por  lo  tanto  consta de una CPU  (Central Processor Unit), una 

memoria  y unidades de  Entrada/Salida,  aunque  también  contiene en el mismo  chip 

circuitos de apoyo tales como generador de reloj, módulos específicos, etc. 

 

Su cometido es disponer de una unidad que sea capaz de procesar información, 

interactuar  con  su  entorno  y  responder  ante  estímulos.  Vemos  que  al  estar  en  un 

circuito  integrado,  su  coste  será mucho más  reducido  que  si  quisiésemos  hacer  lo 

mismo  con  un ordenador personal,  además de  consumir menos potencia  y poderlo 

integrar  en  una  placa  de  circuito  impreso,  o  en  un  dispositivo móvil.  Por  lo  tanto 

cualquier “cosa” inteligente, seguramente tendrá un o varios microcontroladores, por 

lo que se le define como un “embedded system” o sistema integrados/empotrado. 

Tenemos  disponibles  dos  arquitecturas  de  computadoras  a  elegir:  Von 

Neumann  y Harvard.  La  primera  se  utiliza  en  los  ordenadores  personales,  donde  la 

memoria comparte el espacio de direcciones con  los dispositivos de E/S. Además, en 

esta  memoria  coexisten  las  instrucciones  de  los  programas  y  los  datos.  En  esta 

estructura  se  comparte  el  bus  de  datos,  el  de  direcciones  y  el  de  control, 

Page 4: Mpc0809JosueVierauC PIC

 Introducción  Josué Viera Rivero 

Microchip PIC  3 

principalmente  para  reducir  el  coste  ya  que  el  ancho  del  bus  suele  ser  grande,  y 

físicamente ocupa bastante espacio. 

 

En  la Harvard,  se utilizan dos buses  independientes, uno para  acceder  a una 

memoria de  instrucciones, y el otro para acceder a  la memoria de datos. Por  lo tanto 

tendremos  implementado  en  hardware  controladores  independientes  para  cada 

memoria,  y  líneas  independientes.  Esta  estructura  es  la  que  se  utiliza  en  los 

microcontroladores,  y  en  supercomputadoras.  De  esta  manera,  podemos  acceder 

simultáneamente  a  ambas memorias,  pudiendo  incrementar  la  eficiencia  ya  que  si 

implementamos  un  pipeline  (usando  instrucciones  RISC),  podremos  buscar  la 

instrucción y un dato al mismo tiempo. También posibilita la opción de usar diferentes 

anchos de palabra para cada línea. 

 

 

Por  la propia naturaleza del microcontrolador,  la memoria de  instrucciones se 

implementa de tipo No‐Volátil, tal como ROM o EEPROM /FLASH, y  luego  la de datos 

como SRAM.  

Page 5: Mpc0809JosueVierauC PIC

 Introducción  Josué Viera Rivero 

Microchip PIC  4 

Dependiendo de  la utilidad,  rapidez o  complejidad del  cálculo  y del entorno, 

disponemos de varios fabricantes y a  la vez de varias familias de microcontroladores, 

tales como ATMEL, FREESCALE (Motorola), Microchip, ST, Texas.  

Cada uno tiene implementado microcontroladores de 8, 16, ó 32 bits (ancho de 

los  datos).  ¿Por  qué?  Simplemente  dependiendo  de  la  capacidad  de  cómputo  que 

deseemos y la rapidez. Por ejemplo, si disponemos de uno de 8 bits y queremos sumar 

flotantes, tendremos que esperar varios ciclos, ya que la ALU disponible será de 8 bits, 

mientras que con un procesador de 32 bits será más rápido y podrá hacer las mismas 

tareas que el de 8 en menos tiempo. 

 

Page 6: Mpc0809JosueVierauC PIC

              PIC  Josué Viera Rivero 

Microchip PIC  5 

MICROCHIP PIC  (Programmable Interface Controller ) / (Programmable Intelligent Computer)  (Peripheral Interface Controller): 

La  compañía  fue  fundada  en  1989,  y  es  uno  de  los mayores  fabricantes  de 

microcontroladores, de memorias y de dispositivos analógicos.  

1990   Se fabricó la unidad número 1 millón.  

1994  El  Mercado  de  microcontroladores  obtiene  un  valor  de  1  billón  de 

dólares.  

1997   Las ventas alcanzan un valor de 400 Millones de dólares.  

1999   El Mercado tiene un valor de 3 billones de dólares.  

1999  Se produce la unidad 1 billón.  

2004   Las ventas alcanzan un valor de 800 Millones de dólares.  

2005  Se producen la unidad número 4 billones.  

2006   Las ventas alcanzan un valor de 1 billón de dólares.   

Y se fabrica la unidad 5 Billones. 

Se consigue el puesto número 1 del ranking de MC de 8 bits. 

2007   El Mercado tiene un valor de 9 billones de dólares.  

2008   Actualmente  cuenta  con  más  de  400  tipos  de  Microcontroladores 

disponibles, de los cuales, 250 son de 8 bit. Se comercializa la unidad 6 billones desde 

que se inicio la producción en 1990. 

POBLACIÓN MUNDIAL:  6 739 543 471    6.7 BILLONES (USA). 

PD: 1 billion: mil millones.  1 000 000 000 

 

Page 7: Mpc0809JosueVierauC PIC

              PIC  Josué Viera Rivero 

Microchip PIC  6 

Características: 

• Usan la arquitectura Harvard.  

• Número reducido de instrucciones (desde 35 a 70) 

• La mayoría se ejecutan en un solo ciclo (4 ciclos de reloj). 

 

Gran cantidad de recursos: 

Memoria:  FLASH (repogramable), OTP , ROM. De 8 a 32 bits. 

Pines: desde 6 (4 de E/S) a 100 (85 de E/S). 

 

  Se dispone de  infinidad de herramientas para programarlos, desde el ensamblador 

en un txt, pasando por BASIC y hasta lenguajes de alto nivel como C. 

 

PIC10F200 0.375KBytes (256 Palabras), 16 posiciones de RAM. 33  instrucciones. Reloj 

de 4MHz = 1 MIPS. Su datapath es de 8 bits, y  las  instrucciones son de 12 bits de 

ancho.  Recordar  estructura  Harvard  ‐>  Memorias  independientes  con  buses 

diferentes. 6 pines. 

 

 

Page 8: Mpc0809JosueVierauC PIC

              PIC  Josué Viera Rivero 

Microchip PIC  7 

 

 

PIC32MX360F512L  512 KBytes.  32 KB de Ram. Reloj de 80 MHz. 100 pines 

Pipeline de 5 etapas.  646 páginas de hoja de características.

Page 9: Mpc0809JosueVierauC PIC

              PIC  Josué Viera Rivero 

Microchip PIC  8 

 

 

 

 

Page 10: Mpc0809JosueVierauC PIC

              PIC  Josué Viera Rivero 

Microchip PIC  9 

 

Ejemplos de encapsulados y tamaños de PIC:

 

Page 11: Mpc0809JosueVierauC PIC

       Aplicaciones  Josué Viera Rivero 

Microchip PIC  10 

APLICACIONES:  

Podemos ver en  la siguiente gráfica todas  las posibilidades de  interacción que 

dispone  un  microcontrolador  con  el  entorno,  y  como  puede  accionar  una  gran 

variedad de dispositivos. 

 

La siguiente tabla nos detalla los interfaces que dispone el PIC. Tenemos desde 

la  típica  USART  hasta  los  buses más  avanzados  de  CAN,  pasando  por  conversores 

Analógicos/Digitales, modulador de ancho de pulso y los típicos registros de captura y 

comparadores . 

Page 12: Mpc0809JosueVierauC PIC

       Aplicaciones  Josué Viera Rivero 

Microchip PIC  11 

 

A continuación vemos dependiendo de la complejidad del diseño a tratar, 

elegiremos una familia de las disponibles, empezando por las de 8 bits a 32 bits.  

 

En las siguientes tablas, ya nos centramos en los PIC de 8 bit ya que son los más 

comunes ya que son capaces de ejecutar y controlar las tareas más comunes. El 

fabricante nos indica posibles usos para cada familia y las prestaciones: 

 

Page 13: Mpc0809JosueVierauC PIC

       Aplicaciones  Josué Viera Rivero 

Microchip PIC  12 

 

PIC 10F: LV: Baja alimentacion 2V  ‐ HV: High Voltage 15V 

 

PIC 16F   20 a 40 pines: 

 

PIC 18F    

 

Page 14: Mpc0809JosueVierauC PIC

       Aplicaciones  Josué Viera Rivero 

Microchip PIC  13 

 

 

 

Además,  Microchip  nos  proporciona  en  su  página  web  en  el  apartado  de 

Application Design: 

 

Por ejemplo, en Lighting ‐> Incasdecent:  

Available Documentation: 1. TB094: Dimming AC Incandescent Lamps Using A PIC10F200

2. AN954: Transformerless Power Supplies, Resistive and Capacitive

3. TB008: Transformerless Power Supplies  

Page 15: Mpc0809JosueVierauC PIC

       Aplicaciones  Josué Viera Rivero 

Microchip PIC  14 

Nos da el código, las formulas para los cálculos, el esquemático, programas de 

diseño/programación para muchísimos escenarios y montajes.  

 

Ejemplos: 

CONSUMER ELECTRONICS: 

TCP/IP Networking: Internet Radio Using OLED Display and MP3 Audio Decoder 

Four Channel Digital Voltmeter with Display and Keyboard 

Decoding an Infrared Remote Using a PIC16C5X Microcontroller 

Measure Tilt Using PIC16F84A & ADXL202 

AN996, Designing a Digital Compass Using the PIC18F2520 

TELECOMMUNICATIONS: 

Implementation of the Data Encryption Standard Using PIC17C42 

DTMF Detection Using PIC18 Microcontrollers 

Page 16: Mpc0809JosueVierauC PIC

       Aplicaciones  Josué Viera Rivero 

Microchip PIC  15 

Credit Card Reader Using PIC12C509317KB  AN730  

CRC Generating and Checking 

 

dsPICS  (Operaciones especiales: Modulo, Bit‐Reversed, 16x16 Multiplicadores) 

Single cycle MAC) y 32 Bits: 

HTTP Server using BSD Socket API for PIC32MX  / FTP / SNMP 

USB Mass Storage Class on an Embedded Device 

Implementing FIR and IIR Digital Filters  

Analog to Digital Conversion  

Reading and Using Fast Fourier Transformation (FFT) 

 

Page 17: Mpc0809JosueVierauC PIC

           RTOS  Josué Viera Rivero 

Microchip PIC  16 

RTOS: Aunque  los  microcontroladores  son  máquinas  de  ejecución  secuencial,  y 

dispongamos de interrupciones para reaccionar de manera rápida ante eventos, en las familias de 32 bits  se puede  implementar un Sistema Operativo para poder ejecutar tareas en Tiempo Real: 

Real Time Systems: 

 

For example, in a dishwasher system, the following tasks may exist: 1. Water Manager: This task manages the water intake and drain 2. Motor Manager: This task manages the direction and speed of a motor according to the selected wash cycle 3. Door Manager: This task tracks the status of the dishwasher door and informs other tasks of the current status or any change in the status 4. Display Manager: This task tracks the status of various functions of the

dishwasher and displays it on the LCD mounted on the front-panel 

 

Page 18: Mpc0809JosueVierauC PIC

           RTOS  Josué Viera Rivero 

Microchip PIC  17 

 

 

Se puede usar “Preempitve approach” para en un momento crítico parar el 

refresco del display para controlar la válvula de entrada de agua, la bomba, el 

calentador, etc. 

Un ejemplo de un S.O de Tiempo Real Open‐Source. Vemos que solamente 

ocupa unos 2KBytes de código, despreciable en los microcontroladores de 32 Bits que 

disponían 512KBytes en el más potente. 

 

Page 19: Mpc0809JosueVierauC PIC

           RTOS  Josué Viera Rivero 

Microchip PIC  18 

 

Ejemplos de circuitos con PIC: 

http://www.educypedia.be/electronics/circuitsmic.htm 

 

Page 20: Mpc0809JosueVierauC PIC

         mTouch  Josué Viera Rivero 

Microchip PIC  19 

mTouch   Entornos Táctiles:  Tenemos  dos  soluciones  para  paneles  táctiles:  por  efecto  capacitivo  o 

inductivo. 

El  primero  se  basa  en  una  PCB  con  una  tira  de  metalización  y  un  panel 

dieléctrico. Cuando pulsemos, estaremos cambiando  la capacidad del circuito. Con el 

inductivo,  tenemos  una  espira  y  al  presionar,  tendremos  una  lámina metálica  que 

mueve y se acerca a la bobina, cambiando el acoplamiento. 

Comparación:       Cualquier material ya que el panel frontal tendrá debajo una lamina 

metálica que es lo que se mueve. 

El montaje  tiene  u  Circuito  Oscilador  que    consta  de  2  comparadores  y  un  Latch.   

Vemos que definimos una tensión umbral mínima.   Empezará a salir  un '1', y la onda 

cuadrada sale por el pin y con el circuito RC se convierte en un diente de sierra con un 

determinado tiempo de subida. Cuando llegue a umbral superior, se invierte Latch y se 

crea la bajada. Vemos en grafica la oscilación RC. 

Por  lo  que  en  reposo,  estará  oscilando  a  una  frecuencia  fijada  por  nosotros 

(Seguiremos las pautas de diseño que nos digan los PDF de diseño).   

Cuando  pulsemos  el  botón,  estaremos  incrementando  la  capacidad  total  (2 

capacidades en paralelo), por lo que la constante de Tiempo RC se incrementará. Por lo 

tanto el tiempo de subida será menor que conlleva una frecuencia menor. Por  lo que 

simplemente con un TIMER/Capture activado por      flanco subida podremos medir  la 

frecuencia actual de los pulsos y compararla con la que tengamos registrada de reposo  

(Timer 0). 

Page 21: Mpc0809JosueVierauC PIC

         mTouch  Josué Viera Rivero 

Microchip PIC  20 

 

 

 

Page 22: Mpc0809JosueVierauC PIC

         mTouch  Josué Viera Rivero 

Microchip PIC  21 

 

Page 23: Mpc0809JosueVierauC PIC

    Bibliografía  Josué Viera Rivero 

Microchip PIC  22 

Bibliografía  

Wikipedia[En línea 24/12/2008]. –  

http://en.wikipedia.org/wiki/Microcontroller 

http://es.wikipedia.org/wiki/Microcontrolador 

http://en.wikipedia.org/wiki/PIC_microcontroller 

http://es.wikipedia.org/wiki/Microcontrolador_PIC 

http://en.wikipedia.org/wiki/Computer_architecture 

http://en.wikipedia.org/wiki/Von_Neumann_architecture 

http://en.wikipedia.org/wiki/Harvard_architecture 

 

MICROCHIP[En línea 24/12/2008]. –  

http://www.microchip.com 

  Hoja de características 

  Application Notes 

  Web Online Courses 

PIC TUTORIAL[En línea 24/12/2008]. –  

http://cholopic.pe.nu/