Microcomputadores 2002-03
17/02/2004
INTRODUCCIÓN DISEÑO DE SISTEMAS CON MICROCONTROLADORES
ÍNDICE – 1. INTRODUCCIÓN • 1.1 ¿Qué es un un mi micro crocon controlador? • 1.2 Estr Estru uctur ctura a de de un un mic micro roco cont ntro rola lado dor r • 1.3 Ventaja ajas e inco incon nven venient entes • 1.4 Las aplicaciones • 1.5 Tipos de de mi micro crocon controladores • 1.6 Elecc lecciión de de un un micr icrocon controlad lador • 1.7 Mercado • 1.8 Fabricantes
Introducción
2
1
Microcomputadores 2002-03
17/02/2004
ÍNDICE – 2. CARACTERÍSTICAS DE LOS MICROCONTROLADORES • 2.1 Técnicas de de fa fabricación • 2.2 Tipos de arquitectura • 2.3 Opcio pcione ness avan avanza zad das de memor emoria ia • Memorias externas • 2.4 La alimentación alimentación y bajo consumo consumo • 2.5 Entradas y salidas • 2.6 Polling e interrupciones • 2.7 Reset y reloj • 2.8 Cara Caract cter erís ísti tica cass esp espec ecia iale less de de los los µC • 2.9 Los pines nes y funcio ciones no no ut utili ilizadas
Introducción
3
ÍNDICE – 3. LENGUAJES LENGUAJES DE PROGRA PROGRAMACIÓN MACIÓN PARA MICROCONTROLADORES • 3.1 Lenguaje ensamblador • 3.2 Interpretes • 3.3 Compiladores – 4. HERRAMIENTAS DE DESARROLLO • 4.1 Simuladores • 4.2 Debuggers Residentes • 4.3 Emuladores • 4.4 Generadores de código – 5. LAS FAMILIAS FAMILIAS DE MICROCON MICROCONTROLA TROLADORES DORES
Introducción
4
2
Microcomputadores 2002-03
17/02/2004
ÍNDICE – 2. CARACTERÍSTICAS DE LOS MICROCONTROLADORES • 2.1 Técnicas de de fa fabricación • 2.2 Tipos de arquitectura • 2.3 Opcio pcione ness avan avanza zad das de memor emoria ia • Memorias externas • 2.4 La alimentación alimentación y bajo consumo consumo • 2.5 Entradas y salidas • 2.6 Polling e interrupciones • 2.7 Reset y reloj • 2.8 Cara Caract cter erís ísti tica cass esp espec ecia iale less de de los los µC • 2.9 Los pines nes y funcio ciones no no ut utili ilizadas
Introducción
3
ÍNDICE – 3. LENGUAJES LENGUAJES DE PROGRA PROGRAMACIÓN MACIÓN PARA MICROCONTROLADORES • 3.1 Lenguaje ensamblador • 3.2 Interpretes • 3.3 Compiladores – 4. HERRAMIENTAS DE DESARROLLO • 4.1 Simuladores • 4.2 Debuggers Residentes • 4.3 Emuladores • 4.4 Generadores de código – 5. LAS FAMILIAS FAMILIAS DE MICROCON MICROCONTROLA TROLADORES DORES
Introducción
4
2
Microcomputadores 2002-03
17/02/2004
1. INTRODUCCIÓN I
1.1 ¿Qué es un microco microcontrol ntrolador? ador? •
Evolución de los sistemas de control Al principio los sistemas de control se hacían exclusivamente con componentes discretos lógicos 9 Después se utilizaron microprocesadores. El sistema de control completo podía encajar dentro de una tarjeta de circuito impreso 9 Posteriormente todos los componentes que se requieren para un sistema de control completo se construyeron dentro de un chip, nació el microcontrolador 9
•
Ventajas de los microcontroladores: La mayor capacidad de integración 9 La necesidad de sistemas “inteligentes” o al menos programables 9
Introducción
I
5
1.2 Estructura Estructura de un microcontrol microcontrolador ador 9
Estructura de un sistema programable
Unidad Central
Memoria ROM
Memoria RAM
Bus (direcciones, datos, control)
Interfaz de E/S
Exterior
Introducción
6
3
Microcomputadores 2002-03
17/02/2004
Estructura de un microcontrolador
9
Controlador de Interrupciones
Unidad Central
ROM UVPROM OTPROM
Temporizador 1
RAM
EPROM Temporizador 0
Interfaz específica
Bus (direcciones, datos, control)
Controlador de bus
Puertos de entrada/salida
Puerto serie
Osc P0 P2 P1 P3 Direcciones/datos
Introducción
•
7
Los microcontroladores son la solución en “onchip”. Habitualmente incluyen: CPU 9 RAM 9 EPROM/PROM/ROM/OTPROM 9 I/O (input/output (input/output)) - serie y paralelo paralelo 9 Temporizadores/Contadores 9 Sistema de interrupciones 9 Además de sistemas auxiliares como : 9
– – – –
A/D D/A DSP ...
Introducción
8
4
Microcomputadores 2002-03
I
17/02/2004
1.3 Ventajas e inconvenientes •
Ventajas de los microcontroladores: 9
Reunen en un sólo circuito integrado varios elementos – Disminución del hardware – Menor complejidad de los circuitos impresos
9
Mayor fiabilidad del sistema – Al haber menor número de componentes disminuyen las conexiones y las fuentes de error
9
Tecnología MOS, CMOS o HCMOS – Disminución del consumo
9
Disminución de los costes – Más barato que los componentes que reemplaza – Simplificación en la fabricación (mano de obra)
9
Válido para mayor número de aplicaciones (reducción de coste y volumen)
Introducción
•
9
Inconvenientes de los microcontroladores: 9
Programación mediante máscaras – Fabricación de grandes series – No rentable para pequeñas series – Utilización de OTPROM
9
Herramientas y sistemas de desarrollo – Incrementan el precio final
Introducción
10
5
Microcomputadores 2002-03
I
17/02/2004
1.4 Las aplicaciones Los microcontroladores se usan cuando la potencia de procesamiento no es importante 9 Robótica: 9
– Los sistemas basados en microprocesador y los microcontroladores se usan extensivamente en robótica 9
Captura de datos: temperatura, lluvia, ... – Es una de las aplicaciones especiales de los microcontroladores
9
Sistemas portátiles y autónomos – Debido a su pequeño tamaño y bajo consumo
9
El sector del automóvil – Es uno de los mayores mercados de microcontroladores – Desarrollo de microcontroladores específicos: • Deben responder a condiciones extremas • Deben ser muy fiables
9
Sector doméstico (de 35 a 240 microcontroladores) Introducción
•
11
Se pueden encontrar microcontroladores en: Aparatos electrodomésticos:
9
– microondas, hornos, frigoríficos – televisión ,vídeo, equipos de sonido 9
Equipos informáticos y electrónicos – impresoras, módems, copiadoras láser, ...
Automóviles
9
– Mando de sistemas del automóvil: • ABS, • Inyección • Encendido, ... – Sistemas de diagnóstico – Climatizador 9
Mando medioambiental – Invernadero, Fábrica, Casa
9
Instrumentación, sistemas aerospaciales, ... Introducción
12
6
Microcomputadores 2002-03
I
17/02/2004
1.5 Tipos de microcontroladores •
Según el ancho de palabra: 9
•
Los hay de 4, 8, 16, y 32 bits
Existen Microcontroladores/Procesadores especializados para: Comunicaciones 9 Manejo del teclado 9 Procesamiento de la señal 9 Proceso vídeo 9 ... 9
Introducción
I
13
1.6 Elección de un microcontrolador •
Para elegir el dispositivo más apropiado para un proyecto, se ha de considerar lo siguiente: ¿Puedo obtener ayuda cuando tenga problemas? 9 ¿Qué herramientas de desarrollo están disponibles y cuánto cuestan? 9 ¿Qué clase de documentación tengo disponible? (manuales de referencia, notas de aplicación, libros) 9 ¿Tiene el fabricante disponibles para ese microcontrolador dispositivos periféricos? (conversores A/D, memoria, reguladores de tensión) 9 ¿Disponen de microcontroladores OTM, grabables por máscara, EPROM, de esa misma familia? 9
Introducción
14
7
Microcomputadores 2002-03
•
17/02/2004
Otras cuestiones a considerar son las siguientes: 9
No existen buenos y malos fabricantes de microcontroladores – Posibilidades de integración y competencias técnicas casi idénticas
9
Entre los criterios de elección, el más importante: – Adaptación de la arquitectura a las necesidades de la aplicación – Disponer o no del sistema de desarrollo
9
Considerar las familias de microcontroladores – Microcontroladores compatibles a nivel de arquitectura, programación y herramientas de desarrollo
Introducción
I
15
1.7 Mercado 9
Venta mundial de microcontroladores (en kmillones de dólares) – 4bits – 8-bit – 16-bit
'93 1,6 3,7 0,4
'94 1,7 4,6 0,8
'95 1,8 5,6 1,1
'96 1,8 6,5 1,6
'97 1,8 7,5 2,1
'98 1,8 8,4 2,9
'99 1,8 9,2 3,6
'00 1,7 9,7 4,4
A la vista de estas cifras podemos observar que los microcontroladores son un gran negocio, estamos hablando de billones!!. 9 Esta es la razón de que los fabricantes de circuitos integrados estén potenciando los microcontroladores de 8 bits. 9
Introducción
16
8
Microcomputadores 2002-03
I
17/02/2004
1.8 Los Fabricantes de uP y uC •
MICROPROCESADORES 9
•
MICROCONTROLADORES
Posición 1995 1994 – – – – – – – – – –
9
1 1 Intel $10,800 2 3 AMD 881 992 3 2 Motorola 781 827 4 11 IBM 468 297 5 6 TI 219 202 6 4 Cyrix 210 240 7 5 Hitachi 188 66 8 7 NEC 100 82 9 8 LSI Lógica 58 51 10 10 IDT 45 25
Posición 1995 1994 – – – – – – – – – –
1 1 Motorola $1,781 $1,511 2 2 NEC 1,421 1,208 3 4 Mitsibishi 945 708 4 3 Hitachi 899 782 5 5 Intel 835 605 6 6 TI 807 534 7 8 Philips 524 345 8 7 Matsushita 500 413 9 10 AT&T 492 275 10 9 Toshiba 400 328
Introducción
17
2. CARACTERÍSTICAS DE LOS MICROCONTROLADORES I
2.1 Técnicas de fabricación •
CMOS (Complementary Metal Oxide Semiconductor ) Este es el nombre de la técnica con que se fabrican la mayoría (sino todos) los microcontroladores. 9 Características: 9
– Bajo consumo • Pueden ser alimentados por baterías durante mucho tiempo. – Modo “sleep” • El reloj del sistema puede detenerse para reducir aún más su consumo – Alta inmunidad al ruido eléctrico
Introducción
18
9
Microcomputadores 2002-03
•
17/02/2004
PMP - (National Semiconductor) PMP es un proceso de implantación de alta-energía que permite que el microcontrolador ROM pueda ser programado después de la metalización final (sólo las capas del pasivación necesita ser agregada) 9 El microcontrolador ROM puede estar programado en sólo dos semanas 9
Introducción
I
19
2.2 Tipo de arquitectura •
Arquitectura Von-Neuman Un único bus de datos para instrucciones y datos 9 Las instrucciones del programa y los datos se guardan conjuntamente en una memoria común 9 Cuando la CPU se dirige a la memoria principal, primero accede a la instrucción y después a los datos necesarios para ejecutarla, esto retarda el funcionamiento 9
•
Arquitectura Harvard El bus de datos y el bus de instrucción están separados 9 Acceso en paralelo: 9
– Cuando se está leyendo una instrucción, la instrucción actual está utilizando el bus de datos – Una vez finalizada la instrucción actual, la siguiente ya está disponible en la CPU. – Permite una ejecución más rápida – Mayor segmentación Introducción
20
10
Microcomputadores 2002-03
•
17/02/2004
CISC 9 Complex
Instruction Set Computer
Casi todos los microcontroladores actuales tienen un juego de instrucciones complejo y amplio 9 El conjunto de instrucciones típico de un microcontrolador es de más de 80 9 El conjunto de instrucciones es bastante heterogéneo 9
– Instrucciones son muy potentes. En algunos casos equivalen a muchas instrucciones simples – Instrucciones especializadas para una tarea concreta
Introducción
•
21
RISC 9 Reduced
Instruction Set Computers
Al tener un conjunto de instrucciones reducido:
9
– el controlador es más sencillo y el chip es más pequeño – es más rápido – tiene un consumo menor 9
Principales características: – El juego de instrucciones es ortogonal • Pueden usar cualquier modo de direccionamiento • Banco de registros común a todas las instrucciones • Simplifica la programación – Mayor segmentación
•
SISC 9 Specific 9
Instruction Set Computer
Incluyen instrucciones específicas para control – Instrucciones de entrada/salida eficaces y sencillas – Instrucciones específicas para operar a nivel de bit – Instrucciones para operaciones con tablas de datos Introducción
22
11
Microcomputadores 2002-03
I
17/02/2004
2.3 Opciones avanzadas de Memoria •
EEPROM 9 Electrically 9
Erasable PROM
Muchos microcontroladores incorporan una pequeña memoria EEPROM dentro del chip: – Contiene parámetros que pueden cambiarse si la aplicación lo necesita
Es lenta 9 El número de veces que se puede borrar/grabar está limitado 9
•
FLASH (EPROM) 9
Las memorias FLASH son mejores que las EEPROM – Son más rápidas que las memoria EEPROM – Permiten más ciclos de borrado/grabación. Introducción
•
23
Memoria RAM Útilies para programas de gran tamaño 9 Más rápida que las memorias no volátilies 9 Número ilimitado de veces que puede grabarse 9 Apropiada para aplicaciones con grandes c antidades de datos que cambian contínuamente 9
•
Memoria Field programming/reprogramming Memoria no volátil 9 Puede reprogramase sin desconectar el microcontrolador 9 Apropiada para aplicaciones en el sector del aut omóvil 9
– Se puede reprogramar el microcontrolador "in situ” – Por ejemplo, cambiando los parámetros de la inyección electrónica para adaptar el motor a normas de emisi ón de humos, o ponerlo a punto después de un periodo de desgaste. 9
Permite actualizaciones remotas Introducción
24
12
Microcomputadores 2002-03
•
17/02/2004
Memoria OTP 9 One
Time Programmable
Un OTP es una memoria PROM que sólo puede grabarse una vez 9 Se utiliza para pequeñas series 9
– Para probar el programa antes de fabricar grandes cantidades de microcontroladores con memorias ROM de máscara 9
•
Como los ciclos de desarrollo de productos son cada vez más cortos, es interesante para los fabricantes de microcontroladores ofrecer OTPs como una opción
ROM de máscara Son interesantes para un gran número de unidades cuando el programa va a ser el definitivo 9 El tiempo de entrega es de 8 a 44 semanas 9
Introducción
•
25
Protección del software 9
El software está protegido – Por encriptación – Protección del fusible
Es una opción en OTPs y EPROM 9 En microcontroladores ROM de máscara no es necesiria 9
– Los fabricante de ROM de máscara prueban el microcontrolador para asegurarse que se programa correctamente – En modo de prueba se puede leer cualquier dispositivo • Se lee el código de la ROM y se compara con el original
Introducción
26
13
Microcomputadores 2002-03
•
17/02/2004
Memorias externas Se pueden añadir RAM externas 9 Se necesita que el microprocesador posea un modo expandido o extendido (acceso al bus interno) 9 Se utiliza el multiplexado de datos/direcciones 9
– Se redefinen ciertas líneas de entrada/salida paralelo como bus de datos y direcciones – Para el demultiplexado se utiliza: • la línea AS ( Address Strobe) o ALE ( Address Latch Enable) • registro de 8 bits tipo 74373
Introducción
•
27
Memorias externas (esquema) 8 PB0-7 A 1 1 C H PA0-7 8 6 C M AS
8 A8-15 8
8 D0-7
Q0-7
A0-7
373
LE
OE
8 D0-7 R/W E
a r u t i r c s E e d o l c i C
WE
CLK PB0-7 PA0-7
A8 - A15 A0 - A7
D0 - D7
AS WE Introducción
28
14
Microcomputadores 2002-03
I
17/02/2004
2.4 La alimentación y bajo voltaje •
¿Ahora, por qué están bajando los voltajes REALMENTE en circuitos integrados CCI?
•
Paul K. Johnson (de Hewlett-Packard) explica: 9
Hay unas reglas interesantes de dedo pulgar con respecto a los transistores: – La cantidad de potencia que disipan es proporcional a su tamaño. – Su retraso de propagación es proporcional a su tamaño. – Su costo es proporcional al cuadrado de su tamaño.
9
Si se hace un transistor más pequeño, usted mejora el consumo, velocidad, y el costo. El único inconveniente es que son más complicados y difíciles de fabricar.
9
Menos calor por transistor implica menos tensión (3,3 v) Introducción
•
29
Características 9
Tipo de alimentación a pilas o baterías y con buena autonomía: – Tecnología PMOS (extinguida), CMOS o HCMOS – Disponer de modo reposo • Inhibición de funciones internas • Línea única para “despertar”
9
Tensión disponible: – Tensión necesaria según tecnología: • PMOS de 7 a 15 voltios • CMOS o HCMOS de 3 a 6 voltios • NMOS (algunos CMOS y HCMOS) tensión única de 5 voltios – La elección de la tensión tendrá repercusión sobre la arquitectura – Conviene disponer de un condensador de desacoplo
9
Protección de Brownout – Es un circuito que protege contra sobre-tensiones de alimentación Introducción
30
15
Microcomputadores 2002-03
17/02/2004
9
Idle/Halt y Wakeup – – – –
Pasar a modo de Ocioso/Parada (Idle/Halt) por software En estos modos la memoria RAM no pierde información Se reduce el consumo (70%) Se sale (wakeup) mediante estímulos: • Interrupción desde un temporizador • Puerto serie • Un contador/temporizador "ocioso" puede despertar periódicamente al microcontrolador – En modo Idle, todas las actividades se detienen excepto: • La circuitería del oscilador (o del reloj) • La lógica del watchdog • El amonestador del reloj • El cronómetro Idle – El modo Idle es útil para captura de datos remotos – El modo Halt (parada) se detienen todas las actividades • sale mediante una interrupción
Introducción
I
31
2.5 ENTRADAS y SALIDAS •
Comunicación Serie 9
UART (Universal Asynchronous Receiver-Transmitter ) – Un UART es un adaptador serie para comunicaciones asíncronas
9
USART – Un USART (Unidad Universal de Transmisión Recepción Síncrona y Asíncrona) es un adaptador serie para comunicaciones asíncronas o síncronas – Los dispositivos que usan un USART suelen ser más rápidos (hasta 16 veces) que un adaptador UART
9
SPI (Serial Peripheral Interface. Motorola) – El SPI permite la comunicación serie, duplex y asíncrona. – Dispone de modo de bajo consumo.
9
SCI (Serial Communications Interfaces) – Un SCI es un UART reforzado – Permite la comunicación serie asíncrona full-duplex – Dispone de dos modos de bajo consumo: wait y stop Introducción
32
16
Microcomputadores 2002-03
17/02/2004
9
I2C bus – Inter-Integrated Circuit bus (Philips) – Es un bus de 2 hilos para comunicación serie desarrollado por PHILIPS • Consiste en una línea de datos y otra de reloj • Es multi-maestro, multi-esclavo con detección de colisión • Puede conectar hasta 128 dispositivos • Admiten una distancia de hasta 10 metros – Se desarrolló para aplicaciones de 8 bits – Es muy usado en el campo de la electrónica, el automóvil y el industrial. – Este bus puede comunicar a distintos periféricos • Cada nodo puede iniciar una comunicación para transmitir o recibir datos • Cada nodo de la red tiene una única dirección que acompaña cualquier mensaje
Introducción
9
33
MICROWIRE/PLUS (National Semiconductor) – Es una interface de comunicación serie síncrona bidireccional – La usan los dispositivos fabricados por National Semiconductor: • microcontroladores, conversores A/D, displays, EEPROMs, ...
9
CAN & J1850 – CAN (Controller Area Network ) – Desarrollado conjuntamente por BOSH e INTEL para el cableado de automóviles; es el sistema de cableado multiplexado estándar que se usa en la actualidad en la industria del automóvil
9
1-WIRE – Es un interface de comunicación serie.
Introducción
34
17
Microcomputadores 2002-03
•
17/02/2004
Conversor Analógico Digital (A/D) Convierte la tensión analógica a su valor digital, se utiliza para adquisición de datos analógicos: temperatura, humedad, ... 9 Habitualmente era un componente externo 9 Existen varios tipos de conversores A/D: 9
– Conversores A/D de aproximaciones sucesivas: • Toma cada muestra en periodos de tiempo siempre iguales • Es muy común • Es un sistema barato • Es lento, para cada bit se necesita al menos un ciclo de reloj – Conversores A/D Delta-Sigma • Se encuentra en la gama alta de los DSP • Tiene unas excelentes prestaciones a un precio relativamente barato
Introducción
35
– Conversores A/D FLASH • Estructura básica de los conversores A/D más rápidos, realizan la conversión en un ciclo de reloj • Se necesitan gran cantidad de comparadores (por encima de 10 bits, el número de comparadores no es manejable – Se necesita gran cantidad de corriente para hacer funcionar todos los circuitos
•
Conversores D/A (Digitales/Analógicos) Obtienen una tensión analógica a partir de un valor digital 9 Conversor D/A con Modulador de anchura de Pulso 9
– Es una técnica usada frecuentemente en este tipo de conversores
Introducción
36
18
Microcomputadores 2002-03
•
17/02/2004
Otros dispositivos 9
Contador de pulsos – Es un contador de eventos – Cada pulso incrementa el registro contador, almacenando el número de veces que ha ocurrido un evento
9
Entrada de Captura – Sirve para medir intervalos de tiempo (o frecuencias) entre eventos – Guarda el valor un temporizador cuando ocurre el evento
9
Comparadores – A veces se colocan uno o más comparadores dentro del microcontrolador – Los valores de entrada y de salida del comparador están disponibles en el bus de datos
Introducción
9
37
Microcontroladores con circuitos analógicos incorporados – La información con la que trabajan los sistemas mecánicos y electrónicos es siempre analógica (presión, temperatura, corriente, flujos de aire y de líquidos son magnitudes analógicas). – Cada día aumenta la demanda de microcontroladores con electrónica analógica incorporada. Se utilizan en aplicaciones como: • Telecomunicaciones de alta velocidad • Procesamiento de señal en tiempo real • Sistemas de control industrial • Sistemas para automóviles
Introducción
38
19
Microcomputadores 2002-03
•
17/02/2004
Salidas en paralelo 9
Son las más comunes y se utilizan para: – Controlar relés, triacs, LEDs, displays, ...
9
Control de leds – Se conectan directamente al puerto de “alta” corriente (10 mA) interponiendo una resistencia serie – Si no existen puertos de “alta” corriente se utiliza un transistor amplificador +5V
· · ·
5 PB 3 0 8 6 a PB l 2 o r o t o PB M 1
R=220 a 330 Ω
+5 LED
R LIM
· · · 4,7 K Ω
PXy 2N2222A
PB 0 Introducción
9
39
Control de displays – Si hay líneas suficientes: • los segmentos se controlan con un puerto de alta corriente • los ánodos comunes se alimentan con un puerto normal • se realiza una presentación multiplexada software (la persistencia en la retina es 25 ms máximo) +5
1 k Ω
PA0
2N2907A 1 k Ω
PA1
2N2907A 8 x 47 a 100 Ω
PB7 PB6 PB5 PB4 PB3 PB2 PB1 PB0
DP A g f e d c b a
Introducción
DP A g f e d c b a 40
20
Microcomputadores 2002-03
17/02/2004
– Si no hay líneas suficientes: • Se utiliza un decodificador externo • También se realiza una presentación multiplexada • Se puede utilizar un controlador integrado externo de display, por ejemplo, el MC 14499 de Motorola qu e utiliza comunicación serie +5
1 k Ω
PA0
2N2907A 1 k Ω
PA1
PB3 PB2 PB1 PB0
2N2907A
BCD a DP 7 segm. g f D e C d c B b A a
DP A g f e d c b a
DP A g f e d c b a
Introducción
9
41
Control de displays LCD. Hay diferentes alternativas para su control: – Microcontroladores con puertos especiales para LCD – Controlador externo adaptado al display utilizado – Controlador de propósito general para displays LCD, por ejemplo, MC 145001 de Motorola con comunicación serie
•
Salidas de potencia 9
Montaje Darlington – Los parásitos pueden perturbar el funcionamiento del microcontrolador
9
Control del relé – Sencilla y segura – Para controlar muchos relés existen circuitos especializados, por ejemplo ULN 200X de Sprage
9
Control de triacs – Es conveniente aislar los triacs, por ejemplo con optoacopladores u opto-triacs (MOC 3041 de Motorola) Introducción
42
21
Microcomputadores 2002-03
•
17/02/2004
Entradas en paralelo 9
· · ·
Son las más comunes y se utilizan para:
– Lectura de pulsadores y conmutadores • Conocer el estado de diversos elementos como conmutadores, pulsadores, .... – Explorar un teclado, ... – Verificar la presencia de tensión, como por ejemplo en optoacopladores de aislamiento, ... – Para comprobar el estado de una línea de entrada, basta con conectarla a una entrada y a masa • Si el conmutador está abierto, la entrada está a nivel lógico alto • Si el conmutador está cerrado, la entrada está a nivel +5V lógico bajo 4,7 K Ω a • Los rebotes se pueden evitar por software realizando dos 10 K Ω lecturas sucesivas
PXy
Introducción
9
43
Entradas optoaisladas – La mejor opción es utilizar un optoacoplador • Cuando el circuito externo está alimentado, la entrada está a nivel lógico bajo • Si el circuito externo no está alimentado, la entrada está a nivel lógico alto
9
Los teclados – Codificador de teclado externo (MM74C922 de National Semiconductor) • recibe N teclas de entrada • suministra un código de salida de M bits (N=2M) – Teclado matricial • Las teclas se colocan en la intersección de las líneas y las columnas • Cuando se pulsa una teclas se cortocircuita una línea con una columna, lo que permite localizar la tecla pulsada
Introducción
44
22
Microcomputadores 2002-03
17/02/2004
– Exploración del teclado: • Se configuran las líneas 0 a 3 como salidas y se genera un nivel lógico bajo. Las columnas 4 a 7 se configuran como entradas y se leen • Si todas las entradas están a nivel lógico alto, entonces no hay ninguna tecla pulsada • Si una columna está a 0, significa que se ha pulsado una tecla • Para detectar la línea a la que corresponde se invierten los papeles, es decir, las líneas 0 a 3 se configuran como entrada y las columnas 4 a 7 como salidas
•
Entradas/salidas combinadas El tiempo de reacción humano es inferior al del µC 9 Se pueden utilizar entradas/salidas combinadas: 9
– Control de displays – Exploración de teclado
Introducción
I
45
2.6 Polling e Interrupciones •
Transferencia de E/S por consulta de estado (Polling) El polling es una técnica software en la que el microcontrolador pregunta constantemente al periférico si necesita ser atendido 9 Podemos controlar varios periféricos usando esta técnica: 9
– Se consulta a los periféricos secuencialmente – El periférico activa un flag cuando tiene un dato preparado para transferir al microcontrolador – El flag es leído por el microcontrolador en la siguiente consulta de estado – El microcontrolador ejecutará diferentes rutinas de entrada/salida dependiendo del flag activado
Introducción
46
23
Microcomputadores 2002-03
•
17/02/2004
Interrupciones Cuando los periféricos tienen un dato disponible para hacer la transferencia, se lo comunican al microcontrolador 9 El microcontrolador puede estar ejecutando el programa principal, y sólo responderá a los periféricos cuando ellos lo necesiten 9
– Cuando el microcontrolador recibe una interrupción, abandona el programa principal – Identifica al periférico que ha provocado la interrupción – Ejecuta la rutina de atención a la interrupción adecuada – Vuelve al programa principal
La ventaja de las interrupciones, comparadas con el polling, es la velocidad de respuesta a un evento externo 9 Se reduce la cantidad de software y tiempo de proceso añadido al programa principal para preguntar constantemente a los periféricos si necesitan atención 9
Introducción
•
47
Interrupciones (continuación) La mayoría de los microcontroladores tienen al menos una interrupción externa 9 Disparo de Interrupciones: 9
– Interrupciones por Flanco (de subida o bajada) • No depende del tiempo que está activada la señal de interrupción • Es susceptible a los glitches o picos de interferencias – Interrupciones por Nivel • Tienen que estar a nivel alto (o bajo) durante un tiempo determinado • No son susceptibles a los picos 9
Interrupciones enmascarables – Se pueden habilitar o inhibir de forma global o particular en momentos críticos • Muchos microcontroladores pueden habilitar/ deshabilitar las interrupciones de forma global
9
Interrupciones no enmascarables – No se pueden inhibir, hay que atenderlas siempre
Introducción
48
24
Microcomputadores 2002-03
•
17/02/2004
Interrupciones vectorizadas 9
Cuando se recibe una interrupción el microcontrolador debe localizar el periférico que demanda atención: – Preguntando uno por uno a los periféricos hasta saber cual a producido la interrupción. • Esto es muy lento, pero tiene la ventaja de que el programador decide la prioridad – Utilizando las interrupciones vectorizadas • El periférico se identifica • Indica al microcontrolador, a través del bus de datos, la dirección del vector de interrupción • En ocasiones, cada interrupción tiene asignado un vector determinado
Los microcontroladores de 4 bits tienen un sistema de interrupciones no vectorizado 9 Los microcontroladores de 8, 16 y 32 bits tienen un sistema de interrupciones vectorizadas, con jerarquía de prioridad 9
Introducción
I
49
2.7 Reset y reloj •
Circuitería de inicialización o reset La mayoría de los microcontroladores utilizan una circuitería de inicialización automática cuando se conecta la alimentación 9 Los microcontroladores disponen de una entrada de reset 9
– sensible a nivel alto – sensible a nivel bajo (más común) 9
Se puede añadir un pulsador manual de reset +V +V C
R
RESET
RESET
C
R
Reset sensible a nivel bajo
Reset sensible a nivel alto Introducción
50
25
Microcomputadores 2002-03
•
17/02/2004
El reloj Es un elemento fundamental en los microcontroladores 9 Todos los microcontroladores tienen integrado un oscilador y sólo necesitan un elemento externo para fijar la frecuencia (dentro de las indicadas por el fabricante) 9 Para que funcione el reloj interno: 9
– – – –
Cristal de cuarzo. Referencia de tiempo muy estable Resonador cerámico. Más barato pero no tan exacto Generador externo de señales En ocasiones basta con una resistencia (PIC de Microchip)
Introducción
I
51
2.8 Características Especiales de los microcontroladores •
Los microcontroladores vienen ahora con una series de características que son de una gran ayuda al ingeniero de control: – – – – – – 9
Temporizadores Watchdog Circuitos ”sleep/wakeup" microcontrolador Modos potentes de direccionamiento de entrada/salida. Circuitos conversores analógico/digital etc. Digital Signal Processors
Estas nuevas características específicas para control son cada vez más numerosas y vienen incorporadas sin aumento de precio en los nuevos dispositivos Introducción
52
26
Microcomputadores 2002-03
•
17/02/2004
Temporizador Watchdog ("Perro guardian") Un temporizador watchdog permite la recuperación del sistema ante un problema 9 Si un programa entra en un bucle infinito, o si un fallo de hardware le impide funcionar, entonces el watchdog provocará un reset del sistema en un intervalo de tiempo predeterminado 9 El problema puede continuar existiendo, pero al menos existe una vía de solución 9
– Se podría re-iniciar el sistema en un modo de funcionamiento mínimo o auxiliar 9
Esta característica es muy útil para sistemas desatendidos
Introducción
•
53
Procesadores digitales de señal DSP (Digital Signal Processors) Los DSPs ejecutan algoritmos matemáticos-intensivos repetitivos. Hoy, muchas aplicaciones requieren microcontroladores y DSPs trabajando conjuntamente, y los fabricantes han respondido introduciendo microcontroladores con DSPs incorporados 9 La operación básica de un DSP son MACC (Multiply Accumulate). El número de datos que un DSP puede Multiplicar y Acumular en una única operación, determinará el rango y por consiguiente la aplicación 9 Bits Fixed/Floating Dynamic Range. Aplicaciones típicas 9
– 8 Fixed 48 dB Telephone-quality voice – 16Fixed 96 dB Compact disk (marginal) – 24 Fixed 144 dB Compact disk
Introducción
54
27
Microcomputadores 2002-03
•
17/02/2004
Monitor de reloj (Clock Monitor ) 9
•
Un monitor de reloj puede apagar el microcontrolador (manteniéndolo en reset) si la entrada de reloj es muy lenta, esto puede activarse bajo control de software
Cargador del programa residente ( Resident program loader ) Al arrancar, el microcontrolador carga automáticamente el programa a ejecutar por un puerto serie o paralelo, podemos cambiar el programa las veces que queramos y desde un lugar remoto 9 Apropiado para sistemas distribuidos y para probar n uevos programas y prototipos eliminando el ciclo de borrado/grabado típico de las EPROMs 9
Introducción
•
55
PROGRAMA MONITOR Un monitor es un programa instalado previamente en el microcontrolador que permite desarrollos básicos y depuración de programas. 9 Suelen incluir: 9
– – – – – 9
Carga ficheros objeto en la memoria RAM Ejecución de los programas cargados Acceso a los registros y memoria Desensamblado de código máquina Puntos de ruptura y ejecución de programas paso a paso
Los programas monitor pueden comunicarse con un PC, con lo que muchas funciones del programa monitor pueden ser ejecutadas en el PC – Esto simplifica el programa monitor que debe ser cargado en el microcontrolador y que en ocasiones se limita a recibir el programa (transmitido desde el PC) y ejecutarlo
Introducción
56
28
Microcomputadores 2002-03
I
17/02/2004
2.9 Los pines y funciones no utilizadas 9
Los pines y funciones que no se utilizan deben inhabilitarse de forma expresa – Por ejemplo, si existe una función de puesta en marcha a través de un suceso externo y esta función no se utiliza, es primordial conectar el pin correspondiente al nivel lógico que la inhibe para evitar que los impulsos parásitos externos provoquen un mal funcionamiento del temporizador o del propio programa
9
Otro pin importante a tener en cuenta es el que permite la programación de las memorias EEPROM y UVPROM internas
Introducción
57
3 LENGUAJES DE PROGRAMACIÓN PARA MICROCONTROLADORES I
3.1 Lenguaje máquina/ensamblador El lenguaje máquina (o código máquina) es la representación del programa tal como la entiende el microcontrolador 9 El lenguaje ensamblador es una representación alfanumérica del lenguaje máquina, lo que facilita su lectura: 9
– cada instrucción en lenguaje ensamblador se corresponde con una instrucción en código máquina, por ejemplo: OR P1,#04 → 91 04 10 (H) 9
Un programa en lenguaje ensamblador es rápido y corto – El programador genera el código más óptimo posible, adaptado al microcontrolador.
9
Para programar en ensamblador se requiere un mayor conocimiento tanto de la arquitectura como de la estructura del microcontrolador Introducción
58
29
Microcomputadores 2002-03
•
17/02/2004
Tipos de instrucciones: 9
De transferencia de datos – De entrada/salida
Aritméticas 9 Lógicas 9 De tratamiento de bloques 9 De salto (condicionales/incondicionales) 9 De control de interrupciones 9 De control del microcontrolador 9 De control de contadores 9
•
Formato de las instrucciones Arquitectura RISC (PIC de Microchip) 9 Arquitectura CISC (Familia 96 de Intel) 9
Introducción
I
59
3.2 Intérpretes Un Intérprete es un traductor de un lenguaje de alto nivel (próximo al lenguaje natural) a código máquina 9 El Intérprete está residente en el microcontrolador 9 Ejecuta el programa leyendo cada sentencia en alto nivel traduciéndolas y ejecutándolas 9 Una cosa interesante de los Intérpretes es que se puede construir y desarrollar un programa interactivamente: 9
– se escribe primero un trozo pequeño de programa, – a continuación se puede probar para ver inmediatamente cómo funciona. – Cuando los resultados son satisfactorios, se puede agregar las partes adicionales que se necesiten y así sucesivamente
Introducción
60
30
Microcomputadores 2002-03
17/02/2004
9
Los dos intérpretes más populares que hay para microcontroladores son para los lenguajes BASIC y FORTH – El BASIC es conocido por su sencillez, legibilidad y popularidad. Una idea común es que el BASIC (interpretado) es lento, esto puede ser mejorado usando diferentes técnicas – El FORTH tiene muchos fans debido a su velocidad (se aproxima al lenguaje ensamblador) y su afinidad para construir un sistema con partes reemplazables de s oftware • Muchos sistemas FORTH vienen con un programa monitor que transforma el PC en un sistema de desarrollo • Puede ser difícil escribir en FORTH (sino se tiene experiencia con él) e incluso es duro de leer. Sin embargo, es muy útil y productivo c omo lenguaje para control de sistemas y para robótica • http://www.amresearch.com/
Introducción
I
61
3.3 Los Compiladores 9
Se encargan de traducir todo el programa de alto nivel directamente a código máquina – El código máquina se pasa a la memoria del microcontrolador (EPROM, RAM, ... ) – El microcontrolador ejecuta el programa directamente, sin interpretado
9
Los compiladores más conocidos para microcontroladores son: – C. Permite el acceso a la estructura del microcontrolador: registros, bits, etc. – BASIC compilado – PL/M de Intel – Módula-2 tiene también un seguimiento relativo debido a su eficiente código y alta productividad – ADA. Para grandes chips (16 bits o más) – FORTH compilado. A pesar de que el FORTH interpretado se acerca (y a veces sobrepasa) la velocidad de muchos compiladores Introducción
62
31
Microcomputadores 2002-03
17/02/2004
4 I
HERRAMIENTAS DE DESARROLLO
4.1 Simuladores 9
Un simulador ejecuta el programa de un microcontrolador en un ordenador: – Se puede ejecutar el programa paso a paso y ver exactamente qué pasa según el programa se ejecuta – Permiten ver y modificar el contenido de los registros, memoria, variables y ver como responde el programa – No soporta interrupciones reales – Más lento que el microcontrolador simulado
Evita el ciclo borrado/programado de la EPROM en el desarrollo de programas de microcontrolador 9 Se puede aprender experimentando con pequeños trozos de código y observar en pantalla los resultados 9 Algunos fabricantes tienen un cruce entre simulador software y emulador hardware ( Hardware simulator, National Semiconductor y Philips) 9
Introducción
I
63
4.2 Debuggers residentes Un debbuger residente corre su programa dentro del propio microcontrolador, al mismo tiempo muestra el progreso de depuración en una máquina host (como por ejemplo un PC) 9 Tiene las mismas características que un simulador normal, con la ventaja adicional de que el programa corre en un microcontrolador real 9 Un debbuger residente, utiliza los siguientes recursos del microcontrolador: 9
– Un puerto de comunicaciones, para comunicarse con el host – Una interrupción, para generar programas paso a paso – Memoria para almacenar el programa residente
Introducción
64
32
Microcomputadores 2002-03
I
17/02/2004
4.3 Emuladores Si se dispone de dinero, este es el equipo para desarrollar su sistema. 9 Un emulador es un sofisticado dispositivo que sustituye al microcontrolador al mismo tiempo que está captando información 9 Hemos de retirar el microcontrolador de la placa y poner en su lugar el emulador 9 Nos da total información sobre lo que está pasando en la realidad, y no requiere ningún recurso de la tarjeta que está analizando 9 El emulador puede venir con su propio display o conectado a un PC 9
Introducción
I
65
4.4 Generadores de código Ayudan a generar código de forma automática 9 Pueden generar código tanto en lenguajes de alto nivel (C) como de bajo nivel (ensamblador) 9 El sistema se configura de forma visual, y el generador de código proporciona el trozo de código correspondiente 9
Introducción
66
33
Microcomputadores 2002-03
17/02/2004
5 LAS FAMILIAS DE MICROCONTROLADORES I
5.1 Introducción A continuación se describen los las familias de microcontroladores más conocidas 9 Una pregunta común "¿Qué microcontrolador debo usar?". 9
– El mejor consejo es elegir un chip del que podamos disponer todas las herramientas de desarrollo a un precio razonable, y además buena documentación. – A nivel de experimentar en casa, el Intel 8051, Motorola 68HC11 o Microchip PIC son una buena elección
Introducción
I
67
5.2 Intel •
8048 (Intel) 9
Es el abuelo de los microcontroladores – el primer microcontrolador, aunque un antiguo y un poco obsoleto (para los estándar de hoy en día), es aún muy popular debido a su bajo precio, disponibilidad y un enorme rango de herramientas de desarrollo. – Se utilizaba como microcontrolador en los teclados de los IBM PC (1981)
Está diseñado para bajo coste y pequeño tamaño. 9 Tiene arquitectura de Harvard modificada con memoria ROM para el programa y una memoria RAM adicional de 64 a 256 bytes, ambas on-chip. 9 Las entradas/salidas tienen su propio espacio de memoria 9
Introducción
68
34
Microcomputadores 2002-03
•
17/02/2004
8051 (Intel y otros) El 8051, pertenece a la segunda generación de microcontroladores Intel (1980), ha marcado muchas de las características que tienen los microcontroladores en la actualidad 9 Tiene un diseño un poco raro, pero es muy potente y sencillo de programar (una vez que se conoce) 9 La arquitectura es Hardvard Modificada, con espacio de direcciones separadas para la memoria de programa y la memoria de datos 9
– CPU de 8 bits optimizada para control de eventos – La memoria de programa puede llegar hasta 64k. La parte baja (4k o 8k dependiendo del modelo) está dentro del chip – El 8051 puede direccionar hasta 64k de memoria de datos externa, y solo puede acceder a ella mediante direccionamiento indirecto
Introducción
•
69
8051 (Intel y otros) (continuación ) 9
El 8051 tiene 128 bytes (256 bytes para el 8052) de memoria RAM dentro del chip reservada para: – Registros con funciones especiales (SFR, Special function Registers) – Mapeo de las Entrada/Salidas
9
El 8051 es un "procesador booleano” – Tiene instrucciones que pueden manejar bits desde cualquier sitio (RAM, acumulador, registros de E/S, etc.) – Puede hacer operaciones lógicas a nivel de bits y ejecutar saltos relativos basados en dichos resultados
Existe infinidad de software, comercial y libre, para este microcontrolador 9 Muchos fabricantes hacen cientos de variantes diferentes del 8051 para cualquier aplicación 9 Actualmente se ofrecen a 24 y 33MHz. 9
Introducción
70
35
Microcomputadores 2002-03
17/02/2004
Introducción
•
71
8xC251 (MCS 251) 9
Versión avanzada del 8051 – Incrementa hasta en un 15% el rendimiento del 8051
9
Orientado a comunicaciones con el PC o dispositivos externos: – Copiadoras, escáner, impresoras, CD-ROM, ..
9
Características: – Mayor rendimiento para aplicaciones embedded – Mayor flexibilidad para programación en C – Mayor capacidad de memoria: • 512 byte o 1 Kbyte RAM on-chip • 8 or 16 Kbytes ROM/OTPROM on-chip • opción ROMless – Menor tamaño del código y del consumo – Soporte para “Programmable Counter ArrayK” (PCA): • Real-time capture and compare • High speed output • PWM – Hardware watchdog timer Introducción
72
36
Microcomputadores 2002-03
17/02/2004
9
Opciones: – – – – – – – – –
8xC251SA 8K ROM/OTPROM 8xC251SB 16K ROM/OTPROM 8xC251SP 8K ROM/OTPROM 8xC251SQ 16K ROM/OTPROM 8xC251TA 8K ROM 8xC251TB 16K ROM 8xC251TP 8K ROM 8xC251TQ 16K ROM También disponibles versiones ROMless
1K RAM 1K RAM 512B RAM 512B RAM 1K RAM 1K RAM 512B RAM 512B RAM
Introducción
•
73
80c196 (MCS-96) La tercera generación de microcontroladores Intel 9 El 80C196 es un procesador de 16 bits 9
– Originalmente fabricado en tecnología NMOS (8096), ahora está disponible principalmente en CMOS. – Intel Corp. Ha introducido recientemente una versión del doble de velocidad (50 MHz) del 80C196. 9
Diseñado para aplicaciones de tiempo real – HSI, HSO y EPA (Event Processor Array )
9
Sus características son: – – – – – – – – –
Multiplicador y divisor hardware 6 modos de direccionamiento Alta velocidad de E/S Conversor A/D Canal de comunicaciones Serie Hasta 40 puertos de E/S 8 Controladores de interrupción programables Modulador de anchura de pulso PWM (para conversión D/A) Temporizador Watchdog Introducción
74
37
Microcomputadores 2002-03
Producto 8x98 8x97BH 8x97JF 8xC194 8xC198 8xC196KB 8xC196TB 8xC196KC 8xC196JQ 8xC196KR 8xC196JR 8xC196KQ
17/02/2004
FAMILIA-96 Bus ROM/ RAM RAM Fabricación Núcleo EPA SERIE HSIO A/D PWM (bits) EPROM (datos) (cod.) NMOS
8
BH
8K
256
-
-
1
8
4 CH
NMOS
8 / 16
BH
8K
256
-
-
1
8
8 CH
1
NMOS
8 / 16
BH
16 K
256
256
-
1
8
8 CH
1
CHMOS
8
KX
8K
256
-
-
1
8
-
1
CHMOS
8
KX
8K
256
-
-
1
8
4 CH
1
CHMOS
8 / 16
KX
8K
256
-
-
1
8
8 CH
1
CHMOS
8 / 16
KX
8K
256
-
-
1
8
-
1
CHMOS
8 / 16
KX
16 K
512
-
-
1
8
8 CH
3
CHMOS
8 / 16
KX
12 K
256
256
6
2
-
6 CH
-
CHMOS
8 / 16
KX
16 K
512
256
10
2
-
8 CH
-
CHMOS
8 / 16
KX
16 K
512
256
6
2
-
6 CH
-
CHMOS
8 / 16
KX
12 K
256
256
10
2
-
8 CH
-
Introducción
•
1
75
80186,80188 (Intel) Estos chips son, fundamentalmente, la versión en microcontrolador del 8086 y del 8088 (del famoso IBM PC). 9 El chip tiene: 9
– – – – –
2 Canales de DMA (acceso directo a memoria) 2 Contadores/temporizadores. Controlador de interrupción programable. Refresco de RAM dinámica. Hay versiones de bajo consumo, con puerto serie...
Una de las mayores ventajas de estos dispositivos es que se pueden utilizar herramientas de desarrollo estándar para PC (Compliladores, ensambladores, etc.). 9 Estos chips tienen la misma arquitectura básica que el 8088 original usado en el IBM PC. 9
Introducción
76
38
Microcomputadores 2002-03
•
17/02/2004
80386 EX de Intel 9
El 80386 EX es por supuesto un 386 vestido de microcontrolador, dentro del chip existen: – – – – –
Entrada/Salida serie. Manejo de la alimentación del chip. DMA (Acceso directo a memoria) Contadores/Temporizadores. Circuito de refresco para memoria DRAM.
Ofrecen la potencia de un 386 9 Una de las mayores ventajas de estos dispositivos es que se pueden utilizar herramientas de desarrollo estandar para PC (Compiladores, ensambladores, etc.). 9
– El tiempo de aprendizaje será mucho más corto, pues estos chips tienen la misma arquitectura básica que el 8088 original usado en el IBM PC.
Introducción
I
77
5.3 Western Design Center •
65C02/W65C816S/W65C134S 9
El Western Design Center Inc. es el dueño original y diseñador del microprocesador 65C02 de 8-bit que se usó en el Apple original – El W65C816S es un microcontrolador con un 65C02 dentro
9
Para el ordenador Commodore y el Atari WDC desarrollo el microprocesador 65C816 de 16 bits. – El W65C134S es un microcontrolador hecho con un 65C816
Introducción
78
39
Microcomputadores 2002-03
I
17/02/2004
5.4 Motorola •
MC14500 (Motorola) Este es un chip que todo el mundo debería conocer (está fuera de producción) 9 Características: 9
– – – – – –
Encapsulado de 16 patillas Ancho de palabra de 1 bit! Procesador RISC con un juego de 16 instrucciones Un solo modo de direccionamiento Es un poco raro y limitado Sin límite de memoria
Introducción
•
79
68HC05 (Motorola) Está basado en el antiguo 6800 9 Tiene arquitectura Von-Neuman: 9
– Las instrucciones, datos, entrada/salida y temporizadores ocupan un mismo espacio de memoria
El puntero de pila tiene un ancho de palabra de 5 bits, lo que limita la pila a 32 posiciones 9 algunos modelos incluyen: 9
– Conversor A/D – Sintetizador PLL – E/S serie
Introducción
80
40
Microcomputadores 2002-03
•
17/02/2004
68HC11 (Motorola y Toshiba) 9
El popular 68HC11 es un poderoso microcontrolador de Motorola de 8 bits con las siguientes características: – Direcciones de 16 bits – Juego de instrucciones similar a la familia 68xx: 6801, 6805, 6809 – Tiene un único espacio de memoria principal donde están las instrucciones, datos, E/S, y temporizadores
9
Dependiendo de las versiones pueden tener: – – – – – – –
Memoria EEPROM o OTPROM Memoria RAM Entradas/Salidas digitales Temporizadores Generadores PWM (modulación de anchura de pulso) Contadores Puerto de Comunicaciones síncronas y asíncronas
Introducción
81
M68HC11 Family Product
ROM RAM EPROM/OTP EEPROM (KB) (Bytes) (KB) (Bytes)
68HC11D0
-
68HC11D3
4
68HC711D3
-
68HC11E0
-
512
-
-
68HC11E1
-
512
-
512
68HC11E9
12
512
-
512
68HC711E9
-
512
12
512
68HC11E20
20
768
-
512
68HC711E20
-
768
20
512
68HC11F1
-
1
-
512
68HC11FC0
-
1
-
-
68HC11K0
-
768
-
-
68HC11K1
-
768
-
640
68HC11K4
24
768
-
640
68HC11KS2
-
1
32
640
68HC711KS2
-
1
32
640
68HC11KW1
-
768
-
640
68HC11P1
-
1
-
640
68HC11P2
32
1
-
640
192
-
-
192
-
-
192
4
-
Timer 16-Bit, 3/4IC, 4/5OC, RTI, pulse accumulator 16-Bit, 3/4IC, 4/5OC, RTI, pulse accumulator 16-Bit, 3/4IC, 4/5OC, RTI, pulse accumulator 16-Bit, 3/4IC, 4/5OC, RTI, pulse accumulator 16-Bit, 3/4IC, 4/5OC, RTI, pulse accumulator 16-Bit, 3/4IC, 4/5OC, RTI, pulse accumulator 16-Bit, 3/4IC, 4/5OC, RTI, pulse accumulator 16-Bit, 3/4IC, 4/5OC, RTI, pulse accumulator 16-Bit, 3/4IC, 4/5OC, RTI, pulse accumulator 16-Bit, 3/4IC, 4/5OC, RTI, pulse accumulator 16-Bit, 3/4IC, 4/5OC, RTI, pulse accumulator 16-Bit, 3/4IC, 4/5OC, RTI, pulse accumulator 16-Bit, 3/4IC, 4/5OC, RTI, pulse accumulator 16-Bit, 3/4IC, 4/5OC, RTI, pulse accumulator 16-Bit, 3/4IC, 4/5OC, RTI, pulse accumulator 16-Bit, 3/4IC, 4/5OC, RTI, pulse accumulator 16-Bit, 3/4IC, 4/5OC, RTI, pulse accumulator 16-Bit, 3/4IC, 4/5OC, RTI, pulse accumulator 16-Bit, 3/4IC, 4/5OC, RTI, pulse accumulator
Introducción
Serial
A/D
PWM
Voltage (V)
Bus Freq. (MHz)*
SCI, SPI
-
-
3.0, 5.0
3
SCI, SPI
-
-
3.0, 5.0
3
SCI SPI
-
-
5
3
SCI, SPI
8-CH 8-Bit
-
-
3
SCI, SPI
8-CH 8-Bit
-
3.0, 5.0
3
SCI, SPI
8-CH 8-Bit
-
3.0, 5.0
3
SCI SPI
8-CH 8-Bit
-
5
4
SCI, SPI
8-CH 8-Bit
-
5
3
SCI SPI
8-CH 8-Bit
-
5
4
SCI SPI
8-CH 8-Bit
-
3.0, 5.0
5
SCI SPI
-
-
5
6
4-CH 8-Bit or 3.0, 5.0 2-CH 16-Bit 4-CH 8-Bit or SCI+ SPI 8-CH 8-Bit 3.0, 5.0 2-CH 16-Bit 4-CH 8-Bit or SCI+ SPI 8-CH 8-Bit 3.0, 5.0 2-CH 16-Bit SCI+ SPI 8-CH 8-Bit
SCI+ SPI
8-CH 8-Bit
-
SCI+ SPI
8-CH 8-Bit
-
4-CH 8-Bit or 2-CH 16-Bit Triple SCI 4-CH 8-Bit or 8-CH 8-Bit SPI 2-CH 16-Bit Triple SCI 8-CH 8-Bit 4-CH 8-Bit or SPI 2-CH 16-Bit SCI+ SPI 10-CH 10-Bit
4 4 4
5
4
5
4
5
4
5
4
5
4
82
41
Microcomputadores 2002-03
I
17/02/2004
5.5 MicroChip •
PIC (MicroChip) Los microcontroladores PIC son populares desde hace más de 20 años 9 Fueron los primeros microcontroladores RISC 9
– El diseño RISC es más sencillo, lo que permite añadir más características a bajo precio
Tiene pocas instrucciones (33 instrucciones el 16C5X mientras que el Intel 8048 tiene más de 90) 9 Características hardware: 9
– Tiene arquitectura Harvard: • Buses de instrucciones y datos separados lo que permite el acceso simultáneo a las instrucciones y a los datos, y el solapamiento de algunas operaciones para incrementar las prestaciones de proceso – Cauce segmentado
Introducción
•
83
PIC (MicroChip) (continuación I ) 9
Los microcontroladores PIC están ganando popularidad debido a: • El chip es pequeño, tiene pocas patillas • Muy bajo consumo • Bajo costo – Pueden ser usados en áreas en las que antes se pensaba que eran inapropiados
9
Existen varias líneas – PIC12 – PIC14 – PIC16. • La línea 16C5X es la línea descendiente del diseño original PIC, está limitada y se ha quedado obsoleta con la línea 16CXX – PIC17 – PIC18
Introducción
84
42
Microcomputadores 2002-03
•
17/02/2004
PIC (MicroChip) (continuación II ) 9
La línea 16CXX: – – – –
mejoran las prestaciones de la línea anterior, son más flexibles, mantienen las características de velocidad y sencillez, existe una amplia gama de características y precios.
La línea 17CXX es más ambiciosa hacen cosas que las 16CXX no pueden hacer, pero el campo de aplicación está por determinar. 9 La línea PIC18 es la más extendida actualmente. 9 Los databook de Microchip para microcontroladores PIC tienen una documentación completa de la manera de programarlos que otros fabricantes solo suministran a clientes especiales. 9
Introducción
•
85
PIC (MicroChip). Familias 9
Gama alta – PIC17C4XX • 25 Mhz, 2K EPROM, 128 B RAM de datos • 11 interrupciones externas • 33 entradas/salidas • 55 instrucciones
9
Gama Media – PIC16C6X - PIC16C7X - PIC16C8X • 10 a 20 Mhz, 0 a 4K EPROM, 36 a 192 B RAM de datos • 3 a 12 interrupciones externas • de 13 a 33 entradas/salidas • 35 instrucciones
9
Gama Baja – PIC16C5X • 20 Mhz, 0 a 2K EPROM, 25 a 73 B RAM de datos • Sin interrupciones externas • de 12 a 20 entradas/salidas • 33 instrucciones Introducción
86
43
Microcomputadores 2002-03
I
17/02/2004
5.6 National Semiconductor •
COP400 Familia (National Semiconductor) La familia C0P400 es un microcontrolador de 4 bit, P2CMOS, que ofrece desde 512 hasta 2K de ROM y desde 32x4 hasta 160x4 de memoria RAM 9 El encapsulado varía desde 20 hasta 28 patillas (DIP/SO/PLCC) 9 Incluye: 9
– – – – –
Interface de comunicaciones serie Microwire Temporizadores Contadores Tensión de funcionamiento desde 2,3 hasta 6 voltios. Soporte OTP
Lejos de la vieja tecnología, los microcontroladores de 4 bits tienen un importante mercado y tienen más aplicaciones que nunca 9 Estos dispositivos son muy versátiles, hay más de 60 diferentes Introducción por la familia COP800. 9 Actualmente ha sido desplazada 9
•
87
COP800 Familia (National Semiconductor) La familia COP800 Basic es un microcontrolador de 8 bits totalmente estático, fabricado usando puertas "double metal silicon" de tecnología microCMOS 9 Este microcontrolador de bajo costo contiene: 9
– Las Instrucciones para el manejo de bits – Memoria ROM y RAM – Memoria de E/S mapeada • Pines de E/S con capacidad de corriente de hasta 15mA. – Conversor A/D de 8 canales – Entrada/Salida serie Microwire y UART – Temporizadores/Contadores de 16 bits • Temporizador WATCHDOG – Interrupciones vectorizadas – Comparadores – Modo halt e Idle – Monitor de reloj – Protección Brownout – Tensión de alimentación desde 2.5 hasta 6 V Introducción
88
44