microchip pic - shoptronicashoptronica.com/images/uc_pic.pdf · circuitos de apoyo tales como...
TRANSCRIPT
2009 Microchip PIC
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
Microchip PIC 2
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,
Introducción
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.
Introducción
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.
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
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.
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.
PIC
Microchip PIC 8
PIC
Microchip PIC 9
Ejemplos de encapsulados y tamaños de PIC:
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 .
Aplicaciones
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:
Aplicaciones
Microchip PIC 12
PIC 10F: LV: Baja alimentacion 2V ‐ HV: High Voltage 15V
PIC 16F 20 a 40 pines:
PIC 18F
Aplicaciones
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
Aplicaciones
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.
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
Aplicaciones o
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)
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
RTOS
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.
RTOS
Microchip PIC 18
Ejemplos de circuitos con PIC:
http://www.educypedia.be/electronics/circuitsmic.htm
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).
mTouch
Microchip PIC 20
mTouch
Microchip PIC 21
Bibliografía
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/