APLICACION DE LENG C CON MICROCONTROLADORES PIC.pdf

249
UNIVERSIDAD POLITÉCNICA SALESIANA Sede Guayaquil FACULTAD DE INGENIERÍAS CARRERA: Ingeniería Electrónica Proyecto Final previa a la obtención del Título de: Ingeniero en Electrónica TEMA: Aplicación de Lenguaje C para microcontroladores PIC y Visual C# en el desarrollo de un Sistema de Control de Acceso Peatonal Autores: Eduardo Mendoza Merchán Luis Chacón Buñay Director: Ing. Luís Córdova Rivadeneira Guayaquil, 30 de Abril del 2007

Transcript of APLICACION DE LENG C CON MICROCONTROLADORES PIC.pdf

  • UNIVERSIDAD POLITCNICA SALESIANA Sede Guayaquil

    FACULTAD DE INGENIERAS

    CARRERA: Ingeniera Electrnica

    Proyecto Final previa a la obtencin del Ttulo de:

    Ingeniero en Electrnica

    TEMA:

    Aplicacin de Lenguaje C para microcontroladores PIC y Visual C#

    en el desarrollo de un Sistema de Control de Acceso Peatonal

    Autores: Eduardo Mendoza Merchn

    Luis Chacn Buay

    Director: Ing. Lus Crdova Rivadeneira

    Guayaquil, 30 de Abril del 2007

  • A U T O R A

    Las ideas y contenidos expuestos en el presente proyecto, son de exclusiva

    responsabilidad de los autores.

    f.......................................................

    Eduardo Vicente Mendoza Merchn

    f.......................................................

    Lus Alonso Chacn Buay

  • C E R T I F I C O :

    Haber revisado minuciosamente el Proyecto Final de Titulacin, De los Sres.

    Eduardo Mendoza Merchn, y Lus Chacn Buay, que se ajusta a las normas

    establecidas por la Universidad Politcnica Salesiana Sede Guayaquil, por tanto,

    autorizo su presentacin para los fines legales pertinentes.

    .

    Ing. Lus Crdova Rivadeneira

    DIRECTOR DEL PROYECTO

    Guayaquil, 30 de Abril del 2007

  • ACTA DE CESIN DE DERECHOS DEL PROYECTO FINAL Conste por el presente documento la cesin de los derechos del Proyecto Final de Titulacin, de conformidad con las siguientes clusulas: PRIMERA.- El ing. Lus Crdova R. por sus propios derechos, en calidad de Director de Proyecto Final, Eduardo Mendoza M. y Lus Chacn B., por sus propios derechos, en calidad de autores de Proyecto Final. SEGUNDA.- UNO.- El Sr. Eduardo Mendoza M. y Lus Chacn B., realizaron El Proyecto Final titulado Aplicacin de Lenguaje C para microcontroladores PIC y Visual C# en el desarrollo de un Sistema de Control de Acceso Peatonal, para optar por el Ttulo de Ingeniero en Electrnica, especialidad Sistemas Industriales en la Universidad Politcnica Salesiana Sede Guayaquil. DOS.- Es poltica de la Universidad que el Proyecto Final se apliquen y materialicen en beneficio de la comunidad. TERCERA.- Los comparecientes Ing. Lus Crdova R., en calidad de Director de Proyecto Final, los Sres. Eduardo Mendoza M. y Lus Chacn B., como autores, por medio del presente instrumento, tiene a bien ceder en forma gratuita sus derechos en el Proyecto Final titulado Aplicacin de Lenguaje C para microcontroladores PIC y Visual C# en el desarrollo de un Sistema de Control de Acceso Peatonal, a favor de la Universidad Politcnica Salesiana: y, conceden autorizacin para que la Universidad pueda utilizar el proyecto en su beneficio y/o de la comunidad, sin reserva alguna. CUARTA.- Aceptacin.- Las partes declaran que aceptan expresamente todo lo estipulado en la presente cesin de derecho. Para constancia suscriben la presente cesin de derechos, en la ciudad de Guayaquil, a los treinta das de mes de Abril del ao dos mil siete.

    ---------------------------------------- Ing. Lus Crdova Rivadeneira

    DIRECTOR DE PROYECTO FINAL

    -------------------------------------- -------------------------------------

    Eduardo Mendoza Merchn Lus Chacn Buay

    AUTOR AUTOR

  • D E D I C A T O R I A

    Este trabajo est dedicado a mis padres, por

    quienes decid aprovechar esta valiosa

    oportunidad de superacin personal y profesional,

    a mi hermano Ren, que me a brindado todo su

    apoyo moral, y econmico sin los cuales no

    hubiese podido culminar mi carrera, y

    principalmente a Dios que me dado la sabidura

    necesaria para la culminacin de este importante

    proyecto, de manera especial a todas y cada una

    de las personas que me apoyaron en su momento.

    Eduardo

    Este trabajo dedico con cario a Dios y a mis

    padres quines me han apoyado para alcanzar una

    de mis metas anheladas, y as poder servir mejor a

    quines el Seor me confe. a mis sobrinos por

    abrir un nuevo camino para esperarlos junto a mi

    familia querida, a la Fuerza Area Ecuatoriana

    que me apoyo con el trabajo. En fin a todos que

    hoy no recuerdo y fueron una inspiracin en su

    momento, gracias a la vida por permitirme crecer,

    espero devolver de alguna manera esta alegra.

    Lus.

  • A G R A D E C I M I E N T O

    A la Universidad Politcnica Salesiana sede Guayaquil,

    que nos permiti formarnos como profesionales, crecer

    como personas, y obtener un Ttulo Acadmico. De

    manera muy especial al Ingeniero Lus Crdova, por su

    total colaboracin en este trabajo, y al Ing. Ral

    lvarez G. que gracias a su intervencin se logr una

    exitosa culminacin. Adems nuestra gratitud sincera

    para aquellas personas que de una u otra manera

    ayudaron en el desarrollo del presente trabajo.

    Eduardo Mendoza M.

    Lus Chacn B.

  • CONTENIDO AUTORA CERTIFICACIN ACTA DE CESIN DE DERECHOS DEDICATORIA AGRADECIMIENTO NDICE GENERAL NDICE DE FIGURAS NDICE DE TABLAS RESUMEN OBJETIVOS JUSTIFICACIN METODOLOGA INTRODUCCIN 1.- INTRODUCCIN A LOS SISTEMAS DE CONTROL DE ACCESO 2.- MICROCONTROLADORES PIC DE GAMA MEDIA. 3.- LENGUAJE ENSAMBLADOR, LENGUAJE C PARA PIC Y C#. 4.- DESARROLLO DEL SISTEMA DE CONTROL DE ACCESO. 5.- ANLISIS DE COSTOS. 6.- CONCLUSIONES Y RECOMENDACIONES. 7.- BIBLIOGRAFA 8.- ANEXOS 9.- VOCABULARIO TCNICO

  • NDICE GENERAL

    Autora I

    Certificacin II

    Acta de sesin de derechos III

    Dedicatoria IV

    Agradecimiento V

    Contenido VI

    i.- Resumen 1

    ii.- Objetivos 3

    iii.- Justificacin 3

    vi.- Metodologa 4

    v.- Introduccin 5

    1.- CAPTULO I:

    Sistemas de control de acceso

    1.1.- Antecedentes: 7

    1.2.- Nociones del Control de Acceso Discrecional. 8

    1.2.1.- Autorizacin Positiva y Negativa. 8

    1.2.2.- Autorizacin Fuerte y Dbil. 6

    1.2.3.- Autorizaciones Explcitas e Implcitas 9

    1.2.4.- Autorizaciones basadas en el contenido 9

    1.2.5.- Control de Acceso Obligatorio 9

    1.2.6.- Control de Acceso basado en Roles 10

    1.2.7.- Control de Acceso basado en Restricciones 10

    1.3.- Anlisis general de los sistemas de control de acceso. 11

    1.3.1.- El primer mecanismo 12

    1.3.2.- El segundo mecanismo 12

    1.3.3.- El tercer mecanismo 12

    1.3.4.- El cuarto mecanismo 13

    1.4.- Mecanismos de seguridad utilizados en los sistemas de control de acceso 14

  • 1.4.1.- Control de Acceso basadas en teclados y bandas magnticas 14

    1.4.2.- Sistemas de Control de Acceso basados en Tarjetas Inteligentes. 16

    1.4.3.- Etiquetas y Llaveros Inteligentes 18

    1.4.4.- Sistemas de control de acceso basados en huellas dactilares. 19

    1.4.4.1.- La identificacin biomtrica 19

    a) Falsa aceptacin 21

    b) Falso rechazo 21

    1.4.5.- Lectores subcutneos de huellas dactilares 22

    i.- Funcionamiento: 23

    1.4.6.- Otros controles de acceso 24

    1.5.- Cerraduras Especiales 25

    1.5.1.- Cerradura electromagntica 26

    1.5.2.- Cerradura electromecnica (Multipla 2000) 26

    1.5.3.- Cerradura electrnica Rench 27

    1.5.4.- Cerradura electrnica para mltiples aplicaciones 28

    2.- CAPTULO II

    Microcontroladores PIC de gama media.

    2.1.- Introduccin: 29

    2.2.- El microcontrolador PIC 30

    2.2.1.- Juego de instrucciones y entorno de programacin 31

    2.2.2.- Programacin del PIC 31

    2.2.2.- Tamao de palabra 33

    2.2.3.- Caractersticas generales 33

    2.2.4.- Variaciones del PIC 34

    a).- PICs modernos 34

    b).- Clones del PIC 34

    c).- PICs WrelesS 34

    e).- PICs para procesado de seal (dsPICs) 35

    2.2.4.- PICs ms comnmente usados 35

    2.2.5.- Familia de la serie PIC18 35

    2.2.5.- PICs en Internet 37

    2.3.- Arquitectura interna de un microcontrolador PIC 38

  • 2.3.1.- El procesador 38

    2.2.2. Memoria de programa 40

    i) ROM con mscara 41

    ii) EPROM 42

    iii) OTP (Programable una vez) 42

    iv) EEPROM 42

    v) FLASH 43

    2.2.3. Memoria de datos 43

    2.2.4. Lneas de E/S para los controladores de perifricos 44

    2.2.5. Recursos auxiliares 45

    2.4.-Descripcin del PIC 16F877 46

    2.4.1.- Caractersticas del PIC 16F877 46

    2.4.2- Descripcin de los puertos 48

    3.- CAPTULO III

    Lenguaje Ensamblador y Lenguaje C

    3.1.- El lenguaje Ensamblador 54

    3.1.1.- Programa fuente en Lenguaje Ensamblador: 56

    3.1.2.- Conjunto de instrucciones 57

    3.1.3.- Herramientas de desarrollo. El MPLAB. 58

    3.2.- El Lenguaje Basic 59

    3.2.1.- Ventajas e inconvenientes 59

    3.3.- Lenguaje C 61

    3.3.1.- Historia del Lenguaje C (C, C++, C#) 61

    3.3.2.- Caractersticas y desventajas de Leguaje C 64

    3.4.- El Compilador de C para PIC 65

    3.4.1 Introduccin 65

    3.4.2.- La programacin en PIC C 67

    3.4.3.-Anlisis de un problema sencillo 67

    3.4.4.- Estructura de un programa en C 68

    3.4.5.- Libreras y funciones 69

    3.4.5.1.- la funcin main() 69

    3.4.5.2.- Archivos de cabecera (#include) 70

  • 3.4.5.3.- funcin printf 70

    3.4.5.4.- variables 72

    3.4.5.5.- Constantes: 74

    3.4.5.6.- Comentarios 74

    3.4.5.7.- Funciones 75

    3.4.5.8.- Palabras reservadas de C 76

    3.4.5.9.- Directiva #asm y #endasm 77

    3.4.5.10.- Manejo de la memoria EEPROM interna 77

    3.4.5.11- Reloj del sistema #USE DELAY (CLOCK) 78

    3.4.5.12.- librera LCD 78

    3.4.5.13.- Librera KBD 79

    3.4.5.14.- Interrupciones. (#INT_xxx) 80

    3.4.5.15.- Bus de datos I2C 81

    3.4.5.16.- Interfaz de comunicaciones RS-232 83

    3.4.5.17.- Convertidor anlogo a digital 85

    3.4.5.18.- Generacin de PWM 88

    4.- CAPTULO IV

    Anlisis y desarrollo del Sistema de Control de Acceso.

    4.1 Descripcin de Sistema 91

    4.2.- Seleccin de dispositivos y lenguajes de programacin 96

    4.2.1.- Seleccin del microcontrolador 97

    4.2.2.- Seleccin del lenguaje de programacin del microcontrolador 101

    4.2.3.- Eleccin del software y hardware para el grabado del PIC . 105

    4.2.4.- Seleccin del Lenguaje de programacin del ordenador 107

    4.3.- Anlisis de los programas y libreras de los microcontroladores PIC. 107

    4.3.1.- Programa microcontrolador esclavo 108

    4.3.1.1.- La librera pantalla. 109

    i).- Funcin beep() 109

    ii).- Funcin alarma() 109

    iii).- Funcin pantalla() 110

    4.3.1.2.- La librera selapart.h 112

    4.3.1.3.- La librera selclave.h 116

  • 4.3.1.4.- programa principal esclavo 122

    4.3.2.- Programa microcontrolador maestro 129

    4.3.3.- Programa ordenador C# y SQL 141

    4.3.3.1.- Seleccin del lenguaje C# 142

    4.3.3.2.- Seleccin de la base datos 142

    4.3.3.3.- Anlisis del cdigo fuente proporcionado en C# 143

    4.3.3.4.- Anlisis de librera wcltextboxserial.dll 145

    4.3.3.5.- Pasos para la comunicacin serial en C# 146

    4.3.3.6.- Pasos para la conexin de c# con sql 148

    4.3.3.7.- Pasos para abrir un archivo wav 149

    4.3.3.8.- Programa principal de C# 150

    i) Men abrir puertas desde ordenador 150

    ii) Men mantenimiento de la base de datos 152

    iii) Men cambiar claves en microcontrolador 153

    iv) Men cambiar claves en el ordenador 155

    4.4.- Anlisis del circuito elctrico del sistema de control de acceso 156

    4.4.1.- Microcontrolador maestro 156

    4.4.2.- Microcontroladores esclavos 159

    4.4.3.- Lista de elementos 161

    4.4.4.- Consumo de energa 163

    4.5.- Diseo de las placas de circuito impreso 165

    CAPITULO V

    Anlisis de de costos

    5.1.- Preliminares 173

    5.2.- Determinacin del costo del proyecto 173

    5.2.1.- Clculo del costo de mano de obra 173

    5.2.2.- Clculo del Costo de elementos y materiales 175

    5.2.3.- Clculo del Costo de fabricacin de tarjetas 176

    5.2.4.- Clculo del costo por uso del ordenador 178

    5.2.5.- Clculo del costo neto del sistema de control de acceso 178

    5.2.6.- Costo final del sistema 179

    5.3.- Anlisis de los costos en funcin del nmero de unidades fabricadas 179

  • 5.4.- Anlisis de sistemas anlogos al control de acceso peatonal 183

    5.4.1.- Control de acceso intemperie 183

    5.4.2.- Teclado de combinacin para puertas 185

    5.4.3.- Control de acceso AC-903 186

    6.- Conclusiones y Recomendaciones

    6.1.- Conclusiones 187

    6.2.- Recomendaciones 189

    7.- Bibliografa

    7.1.- Libros 191

    7.2.- Direcciones electrnicas 190

    8. Anexos

    A) El Bus I2C (Inter Integrated Circuit) 194

    B) Interfaz RS-232 199

    C) El Circuito Integrado MAX-232 206

    D) Migracin del PIC16F87x a PIC16F87xA 208

    E.- Manual de Usuario 216

    9.- Vocabulario Tcnico

    9.1.- Glosario 222

    9.2.- Vocabulario 227

    NDICE DE FIGURAS:

    Captulo I

    1.1. Distintos mecanismos de control de acceso 7

    1.2. Terminologa utilizada en relacin con seguridad y control de acceso 11

  • 1.3. Cuatro mecanismos complementarios de un sistema de control de acceso 12

    1.4. Tecnologas que apoyan el mecanismo de autenticacin 14

    1.5. a) Tarjeta chip, b) tarjeta magntica, c) control de acceso con teclado 15

    1.6. Lector de tarjeta chip 16

    1.7. Control de acceso con tarjeta inteligente 16

    1.8. Tarjetas Inteligentes 17

    1.9. Llavero y tarjeta inteligente. 18

    1.10 Dedo pulgar y su huella dactilar 19

    1.11 Lector de huellas dactilares 22

    1.12 Lectores subcutneos de huellas dactilares 23

    1.13 Lector de huellas dactilares T4210 23

    1.14 Detalle de la capa subcutnea de la piel 24

    1.15 Reflexiones en lector subcutneo de huellas dactilares 25

    1.16 Controles de acceso peatonal y vehicular 26

    1.15 Cerradura electromagntica. 26

    1.16 Cerradura mltipla 2000 26

    1.17 Cerradura electrnica Rench 27

    1.18 Cerradura para mltiples aplicaciones 28

    Captulo II

    2.1 Microcontrolador Pic 16F877 29

    2.2 Tarjeta con microcontrolador PIC 16F84 30

    2.3 Programador PICSTART 32

    2.4 Microcontroladores de la familia PIC18 36

    2.5 Arquitectura de Von Neumann 39

    2.6 Arquitectura Harvard 39

    2.7 Mapa de la Pila y memoria de programa del PIC 16F877A 40

    2.8 Diagrama de bloques General De un PIC de gama media 45

    2.9 Diagrama de Bloques del Microcontrolador PIC 16F877 49

    2.10 Diagrama de Bloques del Microcontrolador PIC 16F877 53

    2.11 Dimensiones fsicas del Microcontrolador PIC 16F877 53

  • Captulo III

    3.1 Entorno de Desarrollo Integrado MPLAB 58

    3.2 Ejemplo de programa en Leguaje Basic 60

    3.3 Diagrama de flujo del programa media 68

    Captulo IV

    4.1 Esquema general del sistema de Control de Acceso 91

    4.2 Disposicin fsica de los componentes del sistema 92

    4.3 Pantalla del mdulo LCD para ingreso de nmero de apartamento 94

    4.4 Pantalla del mdulo LCD para ingreso de clave 95

    4.5 Pantalla del mdulo LCD con mensaje de puerta abierta 95

    4.6 Pantallas del mdulo LCD si la clave ingresada es incorrecta 95

    4.7 Pantalla del mdulo LCD que india que la alarma ha sido activada 95

    4.8 Microcontrolador fabricado por Atmel 100

    4.9 Entorno de desarrollo de CCS C Compiler ver 4.017 104

    4.10 Entorno de programacin Ic-prog ver 1.05D 106

    4.11 Programador utilizado en el proyecto de control de acceso 106

    4.12 Diagrama de bloques del sistema de control de acceso peatonal 108

    4.13 Circuito de conexin del altavoz del sistema 110

    4.14 Foto del altavoz usado en el proyecto 110

    4.15 Simulacin de los mensajes mostrados por el LCD 111

    4.16 Foto del mdulo LCD usado en el proyecto 111

    4.17 Conexin de los pines del mdulo LCD 112

    4.18 Diagrama de flujo de la librera sel-apart 113

    4.19 Diagrama de flujo de la librera selclave 117

    4.20 Diagrama de flujo del programa principal de los esclavos 122

    4.21 Diagrama de flujo para la interrupcin por I2C para los esclavos 123

    4.22 Diagrama de flujo para la interrupcin por desbordamiento del timer1 124

    4.23 Diagrama de flujo del programa principal maestro 130

    4.24 Diagrama de flujo de interrupcin RS-232 131

    4.25 Diagrama de flujo de interrupcin por desbordamiento de timer0 132

    4.26 Propiedades de textBox 145

  • 4.27 Propiedades de textBox para la dll 146

    4.28 Seleccin del men abrir puertas 151

    4.29 Diagrama de flujo del programa principal 151

    4.30 Recuadro para abrir puertas desde el ordenador 151

    4.31 Diagrama de flujo para abrir puerta 152

    4.32 Seleccin del men mantenimiento 152

    4.33 Men mantenimiento 153

    4.34 Diagrama de flujo del programa mantenimiento de base de datos 153

    4.35 Seleccin del men cambiar clave pic 154

    4.36 Diagrama de flujo del programa cambiar clave pic 154

    4.37 Seleccin del men cambiar clave ordenador 155

    4.38 Diagrama de flujo del programa cambiar clave ordenador 155

    4.39 Diagrama de pines del PIC 16f877a 156

    4.40 Diagrama de conexin del masterClear 157

    4.41 Diagrama de microcontrolador maestro y MAX 232 158

    4.42 Diagrama de microcontrolador Esclavo 160

    4.43 Orden de los pines del teclado utilizado 161

    4.44 Diagrama del Sistema de control de Acceso 162

    4.45 Placas finalizadas con sus respectivos fotolitos 165

    4.46 Vista superior de la insoladora con placa finalizada. 166

    4.47 Seleccin del conector DB9 para PCB 167

    4.48 Diseo final de la placa de circuito Maestro 167

    4.49 Diseo final de la placa de circuito Esclavo 168

    4.50 Diseo final de la placa de circuito Esclavo 168

    4.51 Vista de la placa maestro desde las pistas 169

    4.52 Placa terminada del microcontrolador maestro 169

    4.53 Placa terminada del microcontrolador esclavo 2 170

    4.54 Tarjeta esclavo con su LCD, teclado y parlante. 170

    4.55 Sistema de control de acceso en fase de prueba. 171

    4.56 Detalle del montaje del LCD, Teclado y Parlante 171

    4.56 Prueba final de sistema de control de acceso. 172

  • Captulo V

    5.1 Relacin costos fijos costos variables para una unidad 180

    5.2 Relacin costos fijos costos variables para producir 10 sistemas 181

    5.3 Relacin costos fijos costos variables para producir 100 sistemas 182

    5.4 Relacin costos fijos costos variables de los tres modelos 182

    5.5 Variacin de los precios debido al incremento de la produccin 183

    Teclado de acceso 2 salidas s170132 184

    Control de acceso por teclado s170130 185

    Control de acceso AC-903 186

    Anexos

    a.1 Diagrama general del Bus I2C 194

    a.2 Microcontrolador comunicado por medio del Bus I2C 195

    a.3 Formas de onda de SDA y SCL en la comunicacin I2C 196

    b.1 Estructura de una caracter que se trasmite a travs de RS-232 204

    c.1 Disposicin fsica de las patillas en el MAX232 206

    c.2 Circuito bsico con el MAX232 206

    c.3 Foto del circuito integrado MAX232 207

    e.1 Pantalla principal del programa Control Acceso para PC 216

    e.2 Mens en el panel principal 217

    e.3 Men de mantenimiento 217

    e.4 Submen de mantenimiento insertar 218

    e.5 Submen de mantenimiento modificar 218

    e.6 Submen de mantenimiento eliminar 218

    e.7 Submen de mantenimiento imprimir 219

    e.8 Submen de cambio de clave 219

    e.9 Mensaje de clave incorrecta 219

    e.10 Mensaje de departamento incorrecta 219

    e.11 Mensaje de clave correcta 220

    e.12 Recuadro para ingreso de nueva clave 220

    e.13 Recuadro para abrir puerta 220

    e.15 Mensaje para ingreso de clave 221

  • e.16 Mensaje de presencia en puerta 1 221

    e.17 Mensaje de ingreso de persona 221

    e.18 Mensaje de alarma en puerta 2 221

    NDICE DE TABLAS:

    Captulo II

    2.1 Caractersticas del PIC 16F877 47

    2.2 Descripcin de los pines del PIC 16F877 50

    Captulo III

    3.1 Resumen de instrucciones del lenguaje ensamblador 57

    3.2 Formatos de salida para la funcin printf() 71

    3.3 Tipos de datos en C 73

    3.4 Opciones del bus I2C 82

    3.5 Opciones de interfaz RS-232 84

    Captulo IV

    4.1 Asignacin de pines del LCD al microcontrolador 113

    4.2 Nmero de apartamento y posiciones de memoria 116

    4.3 Consumo de energa por elementos 164

    4.4 Consumo de energa por circuito 164

    Captulo V

    5.1 Costo de mano de obra 174

    5.2 Costo de materiales 175

    5.3 Costo de elaboracin de tarjetas 176

    5.4 Costo por uso de ordenador 178

    5.5 Costo de elaboracin de tarjetas 180

    5.6 Costo por unidad para producir 10 sistemas 181

  • 5.7 Costo por unidad para producir 1000 sistemas 181

    Anexos

    B1 Lista de seales RS-232 199

    B2 Asignacin de pines segn EIA y CCITT 201

    B3 Niveles de voltaje para 1 y 0 lgico 202

  • INTRODUCCIN

    Desde sus inicios, el ser humano y la sociedad se ha visto en la necesidad de restringir o controlar el acceso a ciertas reas. Esta necesidad es motivada inicialmente por temor a que personas inescrupulosas o delincuentes puedan robar y/o extraer bienes materiales o informacin valiosa. Vemos cmo los castillos y fortalezas fueron construidos de tal forma que sus principales vas de acceso eran diseadas con puentes que se elevaban o recogan mediante mecanismos manuales, y muchas otras formas, de tal manera que la persona que intentaba acceder a estas edificaciones adems de identificarse con su nombre, deban hacerle un reconocimiento visual de las caractersticas de ella/l o de un nico elemento, como por ejemplo un anillo.

    En la actualidad, tecnolgicamente han cambiado muchas cosas, pero en el fondo persisten las razones y motivos para mantener mecanismos de control de acceso sobre diferentes reas que se desea proteger. Los mtodos para procesar la informacin y los mecanismos de validacin han sufrido modificaciones sustanciales y constantes. Hoy en da tenemos controles biomtricos, magnticos, visuales, etc., que acoplados a los microcontroladores y a los ordenadores, generan sistemas muy efectivos para el control de acceso.

    Dentro de estos procesos, tienen un rol muy importante los microcontrolador, que son circuitos integrados programables que contiene todos los componentes de un computador personal, aunque de limitadas prestaciones. La cantidad de productos electrnicos que funcionan en base a uno o varios de estos microcontroladores aumenta de forma exponencial. No es aventurado pronosticar que en el siglo XXI habr pocos aparatos que carezcan de microcontroladores.

    La programacin de los microcontroladores se ha realizado desde su invencin por medio de lenguaje Ensamblador, por lo que en la actualidad la mayora de programadores lo utilizan, encontrndose gran cantidad de informacin tanto en textos como en el Internet. Desde hace unos aos atrs se han venido desarrollando nuevas plataformas de programacin basadas en lenguajes tradicionales de alto nivel, tales como Pascal, Basic, C, entre los principales. El objetivo, es hacer que la programacin de los microcontroladores se oriente a solucionar el problema, dejando a un lado la laboriosa configuracin de registros que se realiza en los lenguajes ensambladores. La programacin en estos lenguajes es de hecho ms sencilla,

  • debido a que sus palabras reservadas y estructuras son similares al lenguaje natural en idioma ingles, lo que hace fcil recordarlas y el nombre de estas nos sugiere su aplicacin de manera intuitiva. De igual forma su estructura y bucles son simples y de fcil aplicacin, muy similares a las utilizadas en los lenguajes de computadoras.

    La programacin en lenguaje C, es una de las ms populares, debido a la trayectoria como lenguaje de computadora, entre los compiladores mas conocidos se destacan Hi Tech, Mikro C, Pic C de la Ccs Inc entre los ms conocidos en Internet. Pic C es uno de los compiladores de lenguaje C que ms usuarios ha acaparado, debido principalmente a que utiliza C ANSI, la sencillez con que gestiona las interrupciones, insercin de cdigo en Ensamblador, la gran cantidad de libreras con que viene incorporado su compilador y otras funciones que se ver mas adelante con detalle.

    En el presente proyecto, el control de Acceso se basa principalmente en el uso de microcontroladores y ordenadores, gestionados a travs del lenguaje C, en sus formas Pic C compiler de la Ccs Inc para los microcontroladores PIC y Visual C# 2005, de Microsoft Corporation para el ordenador. Una de las caractersticas principales del sistema desarrollado, esta basado en las comunicaciones entre dispositivos, para lo cual se ha implementado el Bus I2C para la comunicacin entre microcontroladores y la interfaz de comunicacin RS-232 para la comunicacin entre Microcontrolador y PC.

    La elaboracin del presente trabajo es la recopilacin de un cmulo de conocimientos tecnolgicos muy importantes, a fin de que su contenido sea aprovechado por estudiantes de nuestra especialidad, o personas que se interesen o requieran de los conocimientos recopilados en este texto.

    Eduardo Mendoza Merchn

    Lus Chacn Buay

  • CAPTULO I

    SISTEMAS DE CONTROL DE ACCESO

    1.1.- Antecedentes:

    Los controles de acceso son sistemas muy antiguos, que nacieron por la necesidad de

    proteger y controlar el acceso a ciertas reas y lugares. Esta proteccin se ha visto

    motivada inicialmente por temor que personas ajenas al entorno, delincuentes o

    enemigos puedan robar y/o extraer material valioso o informacin de acuerdo a

    criterios personales, sociales, comerciales, etc. Muchas obras majestuosas como por

    ejemplo palacios, bases militares, se caracterizaban por sus muy particulares

    mtodos de acceso, los cuales fueron construidos de tal forma que sus principales

    vas de acceso eran diseadas con puentes que se elevaban mediante mecanismos

    especiales, quedando as abajo un crculo de agua y caimanes que rodeaban dicho

    castillo o fortaleza. En tal sentido, el acceso a estas edificaciones no slo era posible

    suministrando un nombre. En efecto, las palabras claves (passwords), eran utilizadas

    por algunas personas para acceder al castillo, as como seas de reconocimiento

    visual, o algn objeto en particular, como por ejemplo un anillo o un sello.

    En la actualidad muchas cosas han cambiado, debido principalmente al incesante

    avance de la tecnologa, pero en el fondo persisten las razones y motivos para

    mantener mecanismos de control de acceso sobre reas e informacin que se desea

    proteger. Los mecanismos de validacin han sufrido modificaciones: hoy en da

    tenemos controles biomtricos, magnticos, visuales, etc. (ver figura 1.1).

    Figura 1.1 Distintos mecanismos de control de acceso

  • 1.2.- Nociones del Control de Acceso Discrecional.

    La estrategia de control de acceso est basada en la idea de que los sujetos acceden a

    los objetos en base a su identidad y a unas reglas de autorizacin, que indican para

    cada sujeto, las acciones que puede realizar sobre cada objeto del sistema.

    Con esta estrategia, si un usuario desea realizar una operacin sobre un objeto, se

    busca en el sistema una regla de autorizacin que le d permiso para realizar esa

    operacin sobre ese objeto, y si no se encuentra se le deniega el acceso. El motivo

    por el que a este mecanismo de control de acceso se le llama discrecional es porque

    el usuario puede otorgar la autorizacin de acceso a otros usuarios. La forma ms

    comn de administrar las autorizaciones es aplicando el concepto de propiedad, de

    forma que cada objeto pertenece a un propietario que es responsable de otorgar o

    revocar los derechos de acceso sobre los objetos. A continuacin se realiza un breve

    anlisis de las principales variantes de estas estrategias:

    1.2.1.- Autorizacin Positiva y Negativa.

    Segn la autorizacin positiva, la existencia de la regla de autorizacin indica que se

    puede realizar el acceso, mientras que la no existencia de la misma prohbe el acceso.

    En cambio mediante la autorizacin negativa, el acceso se permite slo cuando no

    existe una regla de autorizacin negativa, mientras que la existencia de la regla

    prohbe el acceso.

    La principal diferencia es que en el caso de autorizacin positiva, si un sujeto no

    tiene autorizacin, en algn momento se puede producir una propagacin de

    privilegios de tal forma que otro sujeto le ceda el acceso, en cuyo caso estara

    burlando el control de acceso. Eso no puede suceder con el mecanismo de

    autorizacin negativa.

    1.2.2.- Autorizacin Fuerte y Dbil.

    Autorizaciones fuertes, tanto positivas como negativas son aquellas que no pueden

    ser invalidadas, mientras que las dbiles s pueden ser invalidadas por otras

  • autorizaciones fuertes o dbiles, de acuerdo a unas reglas especficas.

    1.2.3.- Autorizaciones Explcitas e Implcitas.

    Las autorizaciones implcitas son automticamente derivadas por el sistema desde el

    conjunto de autorizaciones explcitas, de acuerdo a un conjunto de reglas. Por

    ejemplo, una regla de derivacin puede ser usada para expresar que un sujeto puede

    acceder a un objeto dado slo si otro sujeto tiene un acceso explcito denegado.

    Existen diversas polticas de propagacin de autorizaciones dependiendo entre otras

    cosas del tipo de sujeto de que se trate. Por ejemplo, si se trata de roles que forman

    una jerarqua, al asignar una autorizacin positiva, sta se propagara hacia todos los

    roles superiores en la jerarqua, y si la autorizacin es negativa, se propagara hacia

    los roles inferiores en la jerarqua. En cambio, si se trata de grupos, la aproximacin

    ms utilizada consiste en la propagacin de la autorizacin, tanto si es positiva como

    si es negativa a todos los elementos del grupo.

    1.2.4.- Autorizaciones basadas en el contenido.

    Condicionan el acceso a un objeto dado el contenido de uno o ms de sus

    componentes. Por ejemplo, restringir el acceso de datos de personas que cobre ms

    de 50 millones al ao.

    Las bases de datos que utilizan esta poltica de control de acceso son susceptibles de

    recibir ataques por parte de sujetos que aparentemente realicen un acceso correcto a

    los datos, pero que en realidad han recibido el permiso de acceso por parte de otro

    sujeto de forma fraudulenta.

    1.2.5.- Control de Acceso Obligatorio.

    Consiste en la clasificacin de tanto los sujetos como los objetos en el sistema. Una

    clase de acceso es asignada a cada objeto y cada sujeto. Una clase de acceso es

    un elemento de un conjunto de clases parcialmente ordenadas. Mientras que la

    forma ms general de conjunto de clases de acceso es un conjunto de etiquetas, a

    veces se define como un conjunto formado por dos componentes, un nivel de

  • seguridad y un conjunto de categoras. Cada nivel de seguridad es un elemento

    de un conjunto jerrquicamente ordenado como alto secreto (TS), secreto (S),

    confidencial (C) y sin clasificar (U), donde TS > S > C > U. El conjunto de

    categoras es un subconjunto de un conjunto desordenado, donde los elementos

    pueden reflejar reas funcionales o diferentes competencias como por ejemplo

    finanzas, administracin, ventas y compras para sistemas comerciales.

    1.2.6.- Control de Acceso basado en Roles.

    En RBAC (Role-Based Access Control), los permisos se asocian con roles, y a los

    usuarios se les hace miembros de los roles. De este modo los usuarios consiguen

    permisos. Esto simplifica considerablemente la gestin de permisos. Los roles

    representan a cada grupo funcional de las organizaciones, agrupando en cada uno de

    ellos a aquellos usuarios que realizan funciones y tienen responsabilidades similares.

    Por ejemplo, los roles en una entidad bancaria podran ser Cajero y Contable, donde

    cada uno de ellos tiene un conjunto de privilegios. Algunos de estos privilegios

    pueden ser como en este caso jerrquicos y compartidos.

    Mediante este simple mecanismo es muy sencillo llevar a cabo ciertas acciones,

    como por ejemplo, intercambiar a los usuarios de un rol a otro, o incluir nuevos

    permisos en los roles, o sustraer permisos en los roles, etc.

    1.2.7.- Control de Acceso basado en Restricciones.

    Una tcnica de control de acceso mucho ms flexible que las anteriores, pero con

    poca experiencia en su utilizacin es la conocida como Control de Acceso Basado

    en Restricciones, donde las restricciones expresadas en un lenguaje formal son

    usadas para especificar asociaciones generales entre los usuarios y sus

    autorizaciones. Esta estrategia permite tener tanto restricciones estticas como

    dinmicas, por ejemplo considerando factores como las horas del da en las que

    estar vigente una autorizacin

  • 1.3.- Anlisis general de los sistemas de control de acceso.

    El presente captulo tiene por objeto analizar de forma general los distintos tipos de

    controles de acceso que existen en la actualidad y la diversidad de mecanismos que

    existen para verificar la identidad del usuario, su nivel de accesibilidad y dems

    complementos que han ido evolucionando de forma paralela al avance de la

    tecnologa, as como a los constantes cambios que sufren debido a los nuevos

    requerimientos y exigencias de las empresas y usuarios.

    En la actualidad, cada computador que se adquiere en una tienda, por lo general ya

    viene equipado con alguna forma o mecanismo de control de acceso el cual es

    provisto y configurado en el sistema operativo, como por ejemplo en Windows Xp se

    configura inicios de sesin para cada usuario, en el cual se puede optar por una clave

    cada vez que inicie su cuenta de usuario. Partiendo de esta base, siempre existir un

    esquema (framework) sugerido que mejore el nivel de seguridad que existe para un

    momento determinado, y que tiene un mnimo efecto sobre los costos y el esfuerzo

    de uso.

    Con el objeto de facilitar el entendimiento de los conceptos y terminologa a ser

    utilizadas en este captulo, en la figura 1.2 se muestra la relacin entre algunos de

    los trminos manejados. En este sentido, los servicios de seguridad podran incluir:

    integridad, confidencialidad, disponibilidad y control de acceso

    Figura 1.2. Terminologa utilizada en relacin con seguridad y control de acceso

  • En la medida que se ha avanzado en los conceptos de seguridad, se puede observar

    que nos vemos obligado a profundizar en trminos tecnolgicos. Es as como nuevas

    condiciones deben ser identificadas para poder establecer los mejores mecanismos de

    seguridad y de control de acceso a la informacin. En tal sentido, podemos reconocer

    que existen, al menos, cuatro (4) mecanismos complementarios de un sistema de

    control de acceso, a saber: (a) identificacin de usuario, (b) autenticacin de usuario,

    (c) la verificacin de la autenticacin, y (d) re-autenticacin.

    Tal como hemos mencionado anteriormente, existen al menos cuatro (4) diferentes

    mecanismos que pueden estar inmersos en un sistema de control de acceso (Ver

    figura 1.3).

    Figura 1.3. Cuatro mecanismos complementarios de un sistema de control de acceso

    1.3.1.- El primer mecanismo de un sistema de control de acceso est diseado para

    identificar a un usuario que se encuentra registrado en un determinado sistema. Esto

    se realiza mediante un User ID.

    1.3.2.- El segundo mecanismo de un sistema de control de acceso consiste de la

    autentificacin de un usuario, es decir, determinar que un usuario es quien dice ser.

    Esto se realiza por medio de algo que se conoce, representado bsicamente por: (a)

    una contrasea o clave de acceso (password), (b) nmero de identificacin personal

    (PIN), (c) entrada asociativa, en la que el sistema autentica al usuario mediante la

    secuencia de palabras o conceptos asociados que el sistema debe almacenar, y (d)

    respuesta desafiante, en la que el sistema proporciona una o varias preguntas que

  • slo el usuario identificado puede presumiblemente responder. Asimismo, este

    mecanismo se puede caracterizar por algo que el usuario posee, como por ejemplo:

    (a) tarjetas inteligentes, (b) tarjetas de crdito o dbito, (c) un token, (d) algn dato

    como la cdula de identidad o pasaporte, entre otros.

    1.3.3.- El tercer mecanismo de un sistema de control de acceso est diseado

    debido a la debilidad inherente que tiene una contrasea o clave de acceso

    (password). Su propsito u objetivo es el probar la autenticidad del usuario mediante

    la utilizacin de, por ejemplo, algo que se es, pudiendo utilizar caractersticas

    inherentes al cuerpo del agente externo o usuario, a saber: (a) tono de voz, es decir, el

    reconocimiento de la voz, (b) las huellas dactilares, (c) patrones de la retina o iris del

    ojo, (d) el ADN, el reconocimiento de los surcos de los labios, (e) reconocimiento

    facial, entre otros. Este mecanismo se refiere a la verificacin de autenticacin.

    1.3.4.- El cuarto mecanismo de un sistema de control de acceso contempla los

    procesos que aseguran que un usuario permanece autenticado, mediante la re-

    autenticacin. Esto se puede llevar a cabo mediante procesos automticos que se

    despiertan segn la permanencia del usuario que est interactuando con un

    determinado sistema.

    Cada uno de estos mecanismos esta apoyado por una tecnologa de seguridad, por

    ejemplo: palabras claves (passwords), los tokens inteligentes o de seguridad,

    certificados digitales, los dispositivos de reconocimiento de huellas digitales, palma

    de la mano, iris del ojo, etc. Estas tecnologas estn presentes en una gran variedad

    de productos de seguridad. La figura 1.4, muestra las diferentes tecnologas que

    apoyan el mecanismo de autenticacin de usuarios y su relacin con la complejidad

    de implantacin.

    1.4.- Mecanismos de seguridad utilizados en los sistemas de control de acceso

    Existen una infinidad de tipos y modelos de control de acceso, que dependen del

    nivel de seguridad, la magnitud del campus que controlen, las tecnologas usadas, la

    integracin en red con ordenadores y bases de datos, etc.

  • Figura 1.4. Tecnologas que apoyan el mecanismo de autenticacin

    A continuacin se ha realizado un breve resumen de los sistemas de control de

    acceso, vistos desde el punto de vista de los mecanismos de seguridad.

    Control de Acceso basadas en:

    Teclados, bandas magnticas y Tarjetas Chip

    Tarjetas Inteligentes

    Etiquetas y Llaveros Inteligentes

    Lector de huellas dactilares o escner

    Lectores subcutneos de huellas dactilares

    Torniquetes, molinetes, puertas batientes

    1.4.1.- Control de Acceso basadas en teclados, bandas magnticas, y Tarjetas

    Chip

    Existen una infinidad de modelos de sistemas de control de acceso, sean estos

    autnomos, o dependientes de un ordenador, los mas comunes en nuestro medio, y

    que de cierta forman han comenzado a ser desplazados en los pases desarrollados

    por las nuevas tecnologas son los sistemas basados en teclados, tarjetas con banda

    magnticas y tarjetas chip, Aunque no estn siendo desplazados del todo, puesto que

    en muchos modelos se complementan con otras tecnologas para generar sistemas

    mas eficaces.

  • Figura 1.5 a) Tarjeta chip, b) tarjeta magntica, c) control de acceso con teclado

    Cuando un control de acceso se basa en un teclado, en el microprocesador se

    almacenan usuarios, y cada uno de los cuales contiene una clave cambiable y que se

    almacena en alguna memoria generalmente de tipo eeprom, puede ser autnoma, es

    decir que funciona sin necesidad de estar interconectado a un ordenador o puede ser

    parte de un sistema de control de acceso.

    Las tarjetas magnticas contienen una banda magntica (llamada a veces magstripe

    como abreviacin de magnetic stripe) es toda aquella banda oscura presente en

    tarjetas de crdito, abonos de transporte pblico o carnets personales que est

    compuesta por partculas ferromagnticas embebidas en una matriz de resina

    (generalmente epoxi) y que almacenan cierta cantidad de informacin mediante una

    codificacin determinada que polariza dichas partculas. La banda magntica es

    grabada o leda mediante contacto fsico pasndola a travs de una cabeza

    lectora/escritora gracias al fenmeno de la induccin magntica.

    Estas tarjetas contrastan con la nueva generacin de tarjetas inteligentes que

    contienen un chip con contactos metlicos, o tarjetas sin contacto que usan un campo

    magntico o radiofrecuencia (RFID) para la lectura a una distancia media.

    Las tarjetas chip, muy usadas hoy en da en la telefona (tarjetas telefnicas),

    contiene en su interior un nmero de serie que es nico y que, adems, es imposible

    de modificar. Eso nos indica que la tarjeta adems de ser nico sobre todo el mundo

    es imposible de alterar. Entonces, se aprovecha eso para disear sistemas de

    seguridad capaz de leer la parte inicial de la tarjeta, comparar el nmero con los

    almacenados en la memoria E2PROM interna del circuito y permitir o impedir el

    acceso de la persona a determinado lugar o recinto.

  • De nada sirve que el sistema de lectura de la tarjeta explore profundamente en la

    memoria para garantizar que el cdigo es vlido si cualquiera con un martillo o

    destornillador puede quitar de su lugar el dispositivo lector y puentear los cables que

    accionan la apertura de la puerta o la traba. Para que esto no suceda el zcalo lector

    de la tarjeta debe estar montado por un lado y la circuitera por el otro, haciendo que

    si un malintencionado quita el lector no logre accionar el sistema puenteando cables.

    Figura 1.6 Lector de tarjeta chip

    1.4.2.- Sistemas de Control de Acceso basados en Tarjetas Inteligentes.

    Los sistemas para el control de acceso basados Tarjetas Inteligentes permiten

    gestionar de forma sencilla la seguridad del acceso, ya sea para una puerta, o para un

    entorno de red de varios edificios. Tendr el control sobre quien tendr acceso a

    travs de cualquier puerta conectada, a cualquier hora del da. Las personas sin el

    nivel de seguridad suficiente no tendrn acceso a las zonas reservadas.

    Figura 1.7 Control de acceso con tarjeta inteligente

    Mediante la tecnologa de las tarjetas inteligentes, los lectores de tarjetas estn

    colocados fuera del alcance de la vista - No tendr que sacar la tarjeta de su cartera o

    bolso para utilizarla. Al contrario que los sistemas de banda magntica, las tarjetas

  • son ledas de forma automtica en el instante en que la presente. EL lector leer su

    tarjeta a travs de su cartera en de segundo.

    La mayora de las Tarjetas Inteligentes, utilizan la reconocida tecnologa para la

    lectura basada en Radio Frecuencia (RF). Esta proporciona una red de lectura

    consistente que no est afectada por la mayora de las condiciones externas.

    Figura 1.8 Tarjetas Inteligentes

    Cada lector de Tarjetas Inteligentes transmite un campo de frecuencia de 125 Khz.

    (campo electromagntico), el cual es recibido por la antena dentro de la tarjeta

    inteligente. El lector posee don bandas de lectura dentro de este campo; una banda

    interna y una externa, y estas son controladas y osciladas rpidamente mediante el

    microprocesador interno del lector.

    El campo del lector tiene la apariencia de dos circunferencias, una en la parte frontal

    del lector y otra en la parte posterior. Esto significa que si monta el lector sobre

    cristal o cualquier superficie no metlica, podr leer la tarjeta a travs de ambos lados

    del escner. (Otra ventaja sobre las tarjetas de banda magntica).

    Por otro lado, el microchip de la tarjeta Inteligente, es un dispositivo pasivo que

    contiene un cdigo de fbrica nico y que no puede ser duplicado. Esto hace de las

  • tarjetas inteligentes un sistema muy seguro. Al entrar la tarjeta a una distancia de

    entre 100mm y 150mm del lector, se activa automticamente mediante la energa del

    campo.

    A pesar de que la tarjeta ser leda con mayor velocidad dependiendo del ngulo, la

    posicin exacta de la tarjeta dentro del campo no es importante (al contrario que los

    lectores de banda magntica). Una vez activada, la tarjeta responde transmitiendo su

    nmero nico de identificacin mediante una seal de 125KHz. Los 34 billones de

    combinaciones posibles hacen prcticamente imposible la duplicacin. Cada nmero

    de identificacin de las tarjetas es testado para comprobar la seguridad y los datos,

    garantizando que el nmero no se leer de forma incorrecta.

    Las tarjetas inteligentes no tienen batera. Esto significa que cada tarjeta tiene una

    vida tericamente infinita, independientemente del nmero de veces que se utilice.

    1.4.3.- Etiquetas y Llaveros Inteligentes

    Las etiquetas y llaveros inteligentes utilizan la misma tecnologa basada en

    microchips que las tarjetas inteligentes pero poseen una antena ms pequea

    compuesta de bobina de cobre con un ncleo de ferrita de hierro. El chip y la antena

    estn sellados en una funda de cristal endurecido de alta calidad, similar a la utilizada

    en los chips para la identificacin de animales. Debido a que son ms pequeos, la

    distancia de lectura es tambin inferior. Los llaveros son de un tamao reducido e

    incorporan su nmero propio de identificacin impreso en el exterior para remisin.

    Figura 1.9 Llavero y tarjeta inteligente.

  • Los llaveros inteligentes estn disponibles en todo tipo de formas y tamaos; siendo

    muy populares por sus dimensiones y por lo prctico que resulta para llevarlos.

    1.4.4.- Sistemas de control de acceso basados en huellas dactilares.

    1.4.4.1.- La identificacin biomtrica

    La identificacin biomtrica es la verificacin de la identidad de una persona basado

    en caractersticas de su cuerpo o de su comportamiento, utilizando por ejemplo su

    mano, el iris de su ojo, su voz o su cara en el reconocimiento facial. Los mtodos de

    identificacin biomtrica, como aquellos usados en las pelculas de James Bond, el

    inolvidable agente 007, que nos parecan increbles hace unos aos, son ahora una

    realidad.

    Figura 1.10 Dedo pulgar y su huella dactilar

    Aunque los estudios biomtricos no son perfectos, s son una herramienta muy

    poderosa para identificar personas. De todos los sistemas de identificacin

    biomtrica existentes, las huellas dactilares son las nicas legalmente reconocidas

    como prueba fidedigna de identidad. Es un sistema que adems de ser efectivo, es

    cmodo de aplicar y la autenticacin se obtiene rpidamente.

    Las huellas digitales son caractersticas exclusivas de los primates. En la especie

    humana se forman a partir de la sexta semana de vida intrauterina y no varan en sus

    caractersticas a lo largo de toda la vida del individuo. Son las formas caprichosas

    que adopta la piel que cubre las yemas de los dedos. Estn constituidas por

    rugosidades que forman salientes y depresiones. Las salientes se denominan crestas

  • papilares y las depresiones surcos interpapilares. En las crestas se encuentran las

    glndulas sudorparas. El sudor que stas producen contiene aceite, que se retiene en

    los surcos de la huella, de tal manera que cuando el dedo hace contacto con una

    superficie, queda un residuo de sta, lo cual produce un facsmil o negativo de la

    huella.

    Las huellas digitales se toman de los dedos ndices de ambas manos, tanto por la

    comodidad al capturarlas, como porque estos dedos estn menos propensos que los

    pulgares a sufrir accidentes que dejen cicatriz.

    Son nicas e irrepetibles an en gemelos idnticos, debido a que su diseo no est

    determinado estrictamente por el cdigo gentico, sino por pequeas variables en las

    concentraciones del factor del crecimiento y en las hormonas localizadas dentro de

    los tejidos. Cabe sealar que en un mismo individuo la huella de cada uno de sus

    dedos es diferente.

    Para la identificacin de huellas, es conveniente contar con la traza digital completa,

    no obstante, pueden utilizarse fracciones de las mismas, con el inconveniente de que

    mientras ms pequeo sea el marcado, menor es el margen de seguridad. El equipo

    requerido para el manejo del sistema consta de:

    Lector de huella dactilar. Los hay de varios modelos, permiten el ingreso de

    la huella ya sea para registrarla o para validarla.

    Terminales, equipo de cmputo estndar. Envan informacin pre-procesada

    al servidor.

    Servidor. Se encarga de la validacin de la huella y del manejo de los

    dispositivos pticos que permiten almacenar y recuperar informacin

    solicitada por el servidor.

    Software de aplicacin. Basado en algoritmos para codificacin y

    comparacin.

  • En el momento de la bioidentificacin, el sistema debe responder a dos preguntas:

    Es la persona quien dice ser?

    Para ello checa si los datos de la persona a identificar, corresponden con los

    guardados en una base de datos.

    Quin es la persona?

    Este es el proceso de autenticacin, es ms tcnico que el anterior, ya que incluye

    varias comparaciones con aquellas huellas que le sean similares, contenidas en

    muchas bases de datos, con el fin de poder diferenciarlas. Para ello compara la huella

    que la persona registra en un escner ptico, con aquella registrada previamente.

    Cabe sealar que si el sistema usa las huellas digitales de los ndices de ambas

    manos, ofrecer un mayor margen de seguridad.

    La identificacin biomtrica por medio de huellas digitales tiene un grado de

    seguridad tan alto debido a que nadie podra sustraer, copiar o reproducir los

    elementos usados en ella, ya que son elementos inherentes a su portador, sin embargo

    puede estar sujeta a errores de:

    a) Falsa aceptacin.-

    Cuando se acepta a alguien que No es; por ejemplo, alguien podra clonar una

    credencial de identificacin, o aduearse de los nmeros confidenciales de una

    persona para hacer una transaccin en perjuicio de su legtimo dueo y hasta

    falsificar su firma.

    b) Falso rechazo.-

    Consiste en no aceptar a alguien que S es, pero su identificacin no se pudo realizar.

    Debido a mltiples motivos, como puede ser: que la imagen de la huella est muy

    daada, o a que tenga una capa de cemento o de pintura, o a que el lector no tenga la

    calidad suficiente para tomar correctamente la lectura.

  • Figura 1.11 lector de huellas dactilares

    En lugar de las tradicionales llaves, por ejemplo los arrendatarios podrn escanear

    sus huellas dactilares para acceder a su apartamento, un rascacielos en construccin

    en el vecindario de Yaletown, situado en la parte baja de Vancouver."Esta tecnologa

    se est utilizando en edificios de finanzas, gobiernos o para aplicaciones de alta

    seguridad", explic el promotor del proyecto, James Schouw. "Pero va a llegar a ser

    ms barata, ms solvente, y a todo el mundo al final le concierne la seguridad".

    1.4.5.- Lectores subcutneos de huellas dactilares

    Se han desarrollado productos para el reconocimiento de las huellas dactilares

    Subcutneas las cuales se encuentran bajo la capa de piel muerta del individuo.

    Esta tecnologa, combinada con sistemas para monitorizar el Tiempo de Asistencia y

    el Control de Acceso aportar una gran seguridad a las empresas.

    El sistema funciona rebotando ondas electromagnticas, similares a las ondas de

    radio, en el tejido vivo y el flujo sanguneo bajo la piel de las personas. Estas

    reflexiones son grabadas para luego construir la imagen de la huella, que es utilizada

    posteriormente para confirmar la identidad del individuo. La tecnologa de los

    lectores de huellas subcutneos le proporcionan mayor precisin y seguridad, debido

    a que la superficie de la huella est contaminada con suciedad o grasa, el sistema

    investiga bajo la capa de piel donde se encuentra la autntica huella dactilar, todo en

    menos de segundo.

  • Figura 1.12 Lectores subcutneos de huellas dactilares

    Otros lectores de huellas dactilares basados en sistemas pticos o de capacitancia no

    funcionan en hasta un 30% de la poblacin debido a su dependencia en la capa

    externa de piel. Condiciones normales de la piel como la sequedad o el desgaste no

    permiten a estos sistemas contrastar las huellas correctamente. Estos sistemas son

    sensibles incluso a pequeas cantidades de grasa, tierra o marcas de rotulador.

    El T4210 es un lector de huellas dactilares subcutneos que se conecta directamente

    en el puerto USB del PC. La sencillez de su diseo y la posibilidad de utilizarlo de

    forma independiente lo convierten en una herramienta ideal para garantizar la

    seguridad de su ordenador porttil o su entorno de red; controlando el acceso de lo

    ordenadores a la red.

    El lector de huellas dactilares T4210 incrementa la seguridad a la vez que reduce el

    nmero de contraseas necesarias. Simplemente con un dedo podr acceder a la

    informacin confidencial de su PC o su entorno de red. Para acceder, introduzca su

    nombre y presente su dedo en el sensor del T4210. En menos de un segundo la huella

    presentada ser comparada con la huella almacenada en el registro del sistema. El

    registro de usuarios es rpido, intuitivo y no requiere un elevado conocimiento de

    informtica.

    Figura 1.13 Lector de huellas dactilares T4210

  • Funcionamiento:

    La gama de lectores biomtricos subcutneos utiliza una tecnologa nueva que lee

    debajo de la capa de piel (muerta) del individuo. Es en la capa subcutnea de la piel

    donde reside la autntica huella dactilar. El sistema funciona rebotando ondas

    electromagnticas, similares a las ondas de radio, en el tejido vivo y el flujo

    sanguneo bajo la piel de las personas.

    Figura 1.14 Detalle de la capa subcutnea de la piel

    Estas reflexiones son grabadas para luego construir la imagen de la huella, que es

    utilizada posteriormente para confirmar la identidad del individuo.

    Figura .1.15 Reflexiones en lector subcutneo de huellas dactilares

    1.4.6.- Otros controles de acceso

    Existe otros tipos de control de acceso, que no han sido mencionado, tales como

    Torniquetes, molinetes, puertas batientes, etc., que son muy utilizados en centros

    comerciales, terminales terrestres, aeropuertos, etc. y que adems de servir para

    contabilizar el numero de individuos o vehculos que visitan dichos locales, generan

  • tarjetas en donde consta la fecha y hora para luego sirve para determinar como por

    ejemplo el costo por garaje.

    Existen diversidad de estos controles de acceso, creados para locales o lugares

    especficos y con funciones que se adaptan al las condiciones que se requieran. A

    continuacin se muestran fotos de algunos modelos y tipos de estos conocidos

    controles de acceso.

    Figura 1.16 Controles de acceso peatonal y vehicular

    1.5.- Cerraduras Especiales

    En lo respecto a los controles de acceso de personal, es conveniente hacer una rpida

    revisin de algunos modelos y tipos de cerraduras, que al fin y al cabo son el

    elemento final de toda la cadena de seguridad implementado en un sistema de control

    de acceso y de su implementacin depende en gran medida la eficacia del sistema.

  • 1.5.1.- Cerradura electromagntica

    Figura 1.5 Cerradura electromagntica.

    Las cerraduras electromagnticas son ideales para Sistemas de Control de Acceso y

    puertas para salida de emergencia, Resisten entre 300 y 600 kg al empuje y el

    montaje es muy sencillo ya que por lo general se entregan con herrajes de sujecin

    para puertas de vidrio, madera, metal, etc. Entre sus principales caractersticas

    podemos mencionar:

    Son altamente resistentes y duraderas.

    Su alimentacin es de 12 V. DC (en la mayora de los casos)

    Son ideales para lugares con alto nivel trnsito

    1.5.2.- Cerradura electromecnica (Multipla 2000)

    Figura 1.16 Cerradura mltipla 2000

  • Esta cerradura trabaja con un electroimn que acciona un pistillo en el sistema de la

    cerradura, el cual dispara un mecanismo que permite retraer los bloques que aseguran

    la puerta, sus caractersticas principales de esta cerradura son:

    - Cierre ms suave

    - Traba ms segura

    - Pistillo autobloqueante

    - Volts: 8 / 12 (opc. 24)

    - Reversible

    - Distancia de entrada posterior graduable de 50 a 70 mm

    - Cerradero graduable en altura

    - Distancia entre agujeros de fijacin unificada

    1.5.3.- Cerradura electronica Rench

    Se trata de una cerradura electrnica accionada mediante un teclado. Utiliza 4 pilas

    AA.

    Figura 1.17 Cerradura electrnica Rench

    Los modelos disponibles se agrupan en: Hogar-Hotel (2 claves), Comerciales,

    Bancarias y Bancarias Plus. Las cerraduras Comerciales poseen cierre de pistillo

    programable y operan con una clave maestra y diferente cantidad de usuarios segn

    el modelo.

    Las cerraduras Bancarias incluyen lo anterior ms retardo, doble usuario, conexin a

    alarma silenciosa e inhibicin a distancia.

    La Bancaria Plus incluye lo anterior ms opciones de auditoria y display.

  • 1.5.4.- Cerradura electrnica para mltiples aplicaciones

    Figura 1.18 Cerradura para mltiples aplicaciones

    Este tipo de cerradura es apta para mltiples aplicaciones: puertas de garajes,

    ascensores, conexin y desconexin de sistemas de seguridad, etc. tiene siete cdigos

    para siete usuarios diferentes mas un master, Indicadores luminosos y sonoros: luz

    verde es apertura, luz roja es pulsacin incorrecta, alimentacin 6 voltios (cuatro

    pilas AA no incluidas) duracin media estimada de las pilas, un ao. Alimentacin

    desde el exterior de emergencia, indicador de batera baja Funcin apertura

    inmediata

  • CAPTULO II

    Microcontroladores PIC de gama media.

    2.1.- Introduccin:

    Desde la invencin del circuito integrado, el desarrollo constante de la electrnica

    digital ha dado lugar a dispositivos cada vez mas complejos. Entre ellos los

    microprocesadores y los microcontroladores, los cuales en la actualidad se

    consideran bsicos en las carreras de ingeniera electrnica.

    Los PIC son una familia de microcontroladores tipo RISC fabricados por

    Microchip Technology Inc. y derivados del PIC1650, originalmente desarrollado por

    la divisin de microelectrnica de General Instruments. El nombre actual no es un

    acrnimo, en realidad, el nombre completo es PICmicro, aunque generalmente se

    utiliza como Peripheral Interface Controller (Controlador de Interfaz Perifrico), ver

    figura 2.1.

    .

    Figura 2.1 Microcontrolador Pic 16F877

    El PIC original se dise para ser usado con la nueva UCP (Unidad Central de

    proceso) de 16 bits CP16000. Siendo en general una buena UCP, sta tena malas

    prestaciones de E/S, y el PIC de 8 bits se desarroll en 1975 para mejorar el

    rendimiento del sistema quitando peso de E/S a la UCP, El PIC utilizaba micro

    cdigo simple almacenado en la ROM para realizar estas tareas; y aunque el trmino

    no se usaba por aquel entonces, se trata de un diseo RISC que ejecuta una

    instruccin cada 4 ciclos del oscilador.

  • En 1985, dicha divisin de microelectrnica de General Instruments se convirti en

    una filial y el nuevo propietario cancel casi todos los desarrollos, que para esas

    fechas la mayora estaban obsoletos. El PIC, sin embargo, se mejor con EPROM

    para conseguir un controlador de canal programable. Hoy en da multitud de PICs

    vienen con varios perifricos incluidos (mdulos de comunicacin serie, UARTs,

    ncleos de control de motores, etc.) y con memoria de programa desde 512 a 32.000

    palabras (una palabra corresponde a una instruccin en ensamblador, y puede ser 12,

    14 , 16 bits, 17 o 18 bits dependiendo de la familia especfica de PICmicro).

    2.2.- El microcontrolador Pic

    Es un circuito integrado programable que contiene todos los componentes de un

    computador. Se emplea para controlar el funcionamiento de una tarea determinada y,

    debido a su reducido tamao, suele ir incorporado en el propio dispositivo al que

    gobierna. Esta ltima caracterstica es la que le confiere la denominacin de

    controlador incrustado (embedded controller).

    Figura 2.2 Tarjeta con microcontrolador PIC 16F84

    El microcontrolador es un computador dedicado. En su memoria slo reside un

    programa destinado a gobernar una aplicacin determinada; sus lneas de

    entrada/salida soportan el conexionado de los sensores y actuadores del dispositivo a

    controlar, y todos los recursos complementarios disponibles tienen como nica

  • finalidad atender sus requerimientos. Una vez programado y configurado el

    microcontrolador solamente sirve para gobernar la tarea asignada.

    A continuacin se realiza un breve resumen de los microcontroladores PIC:

    2.2.1.- Juego de instrucciones y entorno de programacin El PIC usa un juego de instrucciones tipo RISC (Reduced Instruction Set Computer)

    cuyo nmero puede variar desde 35 para PICs de gama baja a 77 para los de gama

    alta. Las instrucciones se clasifican entre las que realizan operaciones entre el

    acumulador y una constante, entre el acumulador y una posicin de memoria,

    instrucciones de condicionamiento y de salto/retorno, implementacin de

    interrupciones y una para pasar a modo de bajo consumo llamada sleep.

    Microchip proporciona un entorno de desarrollo freeware (de distribucin gratuita)

    llamado MPLAB que incluye un simulador software y un ensamblador. Otras

    empresas desarrollan compiladores C y BASIC. Microchip tambin vende

    compiladores para los PICs de gama alta ("C18" para la serie F18 y "C30" para los

    dsPICs) y se puede descargar una edicin para estudiantes del C18 que inhabilita

    algunas opciones despus de un tiempo de evaluacin. Adems del compilador C de

    Microchip, existen otros compiladores tales como CCS C, Hi tech, MiKroC,.

    Para Pascal existe un compilador de cdigo abierto, JAL, lo mismo que PicForth para

    el lenguaje Forth. GPUTILS es una coleccin de herramientas distribuidas bajo

    licencia GNU que incluye ensamblador y enlazador, y funciona en Linux, MacOS y

    Microsoft Windows. GPSIM es otra herramienta libre que permite simular diversos

    dispositivos hardware conectados al PIC.

    2.2.2.- Programacin del PIC Para transferir el cdigo de un ordenador al PIC normalmente se usa un dispositivo

    llamado programador, ver figura 2.3. La mayora de PICs que Microchip distribuye

    hoy en da incorporan ICSP (In Circuit Serial Programming, programacin serie

    incorporada) o LVP (Low Voltage Programming, programacin a bajo voltaje), lo

    que permite programar el PIC directamente en el circuito destino. Para la ICSP se

  • usan los pines RB6 y RB7 como reloj y datos y el MCLR para activar el modo

    programacin aplicando una tensin entre 11 a 14 voltios DC. Existen muchos

    programadores de PICs, desde los ms simples que dejan al software los detalles de

    comunicaciones, a los ms complejos, que pueden verificar el dispositivo a diversas

    tensiones de alimentacin e implementan en hardware casi todas las funcionalidades.

    Muchos de estos programadores complejos incluyen ellos mismos PICs

    preprogramados como interfaz para enviar las rdenes al PIC que se desea

    programar. Uno de los programadores ms simples es el TE20, que utiliza la lnea

    TX del puerto RS232 como alimentacin y las lneas DTR y CTR para mandar o

    recibir datos cuando el microcontrolador est en modo programacin. El software de

    programacin puede ser el ICprog, muy comn entre la gente que utiliza este tipo de

    microcontroladores.

    Figura 2.3 programador PICSTART

    Se pueden obtener directamente de Microchip muchos programadores/depuradores, a

    continuacin se lista los programadores mas usuales y conocidos:

    Programadores

    PICStart Plus (puerto serie)

    Promate II (puerto serie)

    MPLAB PM3 (puerto serie y USB)

    ICD2 (puerto serie y USB)

    PICKit 1 (USB)

    IC-Prog 1.05

    Depuradores integrados

    ICD2 (USB)

  • Emuladores

    ICE2000 (puerto paralelo, convertidor a USB disponible)

    ICE4000 (USB)

    PIC EMU

    PIC CDlite

    2.2.2.- Tamao de palabra El tamao de palabra de los microcontroladores PIC es fuente de muchas

    confusiones. Todos los PICs (excepto los dsPIC) manejan datos en trozos de 8 bits,

    con lo que se deberan llamar microcontroladores de 8 bits. Pero a diferencia de la

    mayora de UCPs, el PIC usa arquitectura Harvard, por lo que el tamao de las

    instrucciones puede ser distinto del de la palabra de datos. De hecho, las diferentes

    familias de PICs usan tamaos de instruccin distintos, lo que hace difcil comparar

    el tamao del cdigo del PIC con el de otros microcontroladores. Por ejemplo,

    pongamos que un microcontrolador tiene 6144 bytes de memoria de programa: para

    un PIC de 12 bits esto significa 4096 palabras y para uno de 16 bits, 3072 palabras.

    2.2.3.- Caractersticas generales Los PICs actuales vienen con una amplia gama de mejoras de hardware incorporadas:

    Ncleos de UCP de 8/16 bits con Arquitectura Harvard modificada

    Memoria de programa de hasta 128 kilobytes

    Puertos de E/S (tpicamente 0 a 5,5 voltios)

    Temporizadores de 8/16 bits

    Tecnologa Nanowatt para modos de control de energa

    Perifricos serie sncronos y asncronos: USART, AUSART, EUSART ,USB

    Conversores analgico/digital de 8-10-12 bits, hasta 16 canales.

    Comparadores de tensin

    Mdulos de captura y comparacin PWM

    Controladores LCD

    Perifrico MSSP para comunicaciones I2C, SPI, PSP.

    Memoria EEPROM interna con duracin de hasta un milln de ciclos de

    lectura/escritura

  • Perifricos de control de motores

    Soporte de interfaz USB

    Soporte de controlador Ethernet

    Soporte de controlador CAN

    Soporte de controlador LIN

    2.2.4.- Variaciones del PIC

    a) PICs modernos Los viejos PICs con memoria PROM o EPROM se estn renovando gradualmente

    por chips con memoria Flash. As mismo, el juego de instrucciones original de 12

    bits del PIC1650 y sus descendientes directos ha sido suplantado por juegos de

    instrucciones de 14, 16 y 18 bits. Microchip todava vende versiones PROM y

    EPROM de la mayora de los PICs para soporte de aplicaciones antiguas o grandes

    pedidos, la nueva generacin de PIC18 trae nuevas mejoras con respecto de sus

    antecesoras, como por ejemplo tiene memoria plana, es decir toda la memoria de

    programa es un solo bloque a diferencia de las anteriores versiones que disponan de

    hasta cuatro bancos de memoria para organizar su memoria, otras ventajas como

    mayor capacidad de direccionamiento, 77 instrucciones y ms ventajas que se vera

    ms adelante en detalle.

    b) Clones del PIC

    Por todos lados surgen compaas que ofrecen versiones del PIC ms baratas o

    mejoradas. La mayora suelen desaparecer rpidamente. Una de ellas que va

    perdurando es Ubicorn (antiguamente Scenix) que vende clones del PIC que

    funcionan mucho ms rpido que el original. OpenCores tiene un ncleo del

    PIC16F84 escrito en Verilog.

    c) PICs wreless

    El microcontrolador rfPIC integra todas las prestaciones del PICmicro de Microchip

    con la capacidad de comunicacin wireless UHF para aplicaciones RF de baja

    potencia. Estos dispositivos ofrecen un diseo muy comprimido para ajustarse a los

  • cada vez ms demandados requerimientos de miniaturizacin en aparatos

    electrnicos.

    d) PICs para procesado de seal (dsPICs)

    Los dsPICs son el ltimo lanzamiento de Microchip, comenzando a producirlos a

    gran escala a finales de 2004. Son los primeros PICs con bus de datos inherente de

    16 bits. Incorporan todas las posibilidades de los anteriores PICs y aaden varias

    operaciones de DSP implementadas en hardware, como multiplicacin con suma de

    acumulador (multiply-accumulate, o MAC), barrel shifting, bit reversion o

    multiplicacin 16x16 bits.

    2.2.4.- PICs ms comnmente usados

    PIC12C508/509 (encapsulamiento reducido de 8 pines, oscilador interno,

    popular en pequeos diseos como el iPod remote)

    PIC16F84 (Considerado obsoleto, pero imposible de descartar y muy

    popular)

    PIC16F84A (Buena actualizacin del anterior, algunas versiones funcionan a

    20 MHz, compatible 1:1)

    PIC12F629/675

    PIC16F628

    La familia PIC16F87X (los hermanos mayores del PIC16F84, con cantidad

    de mejoras incluidas en hardware. Bastante comn en proyectos de

    aficionados)

    2.2.5.- familia de la serie PIC18

    La serie de microcontroladores PIC18 es una mejora de la arquitectura presente en la

    familia PIC16 y PIC17, tiene un PC (Contador de programa) de 21 bits, lo que le

    permite direccionar hasta 2Mbytes de memoria de programa, a continuacin se lista

    las principales caractersticas de la mas reciente familia de PICs de Microchip:

  • Figura 2.4 Microcontroladores de la familia PIC18

    77 instrucciones

    Arquitectura orientada al uso de Lenguaje C

    Memoria de programa lineal hasta 2Mbytes

    Memoria de datos hasta 4Kbytes

    Capacidad de proceso hasta 10MIPS, clock: DC - 48Mhz

    Instrucciones de 16 bits y datos de 8 bits

    Multiplicador por hardware de 8x8 bits

    Pines soportan hasta 25mA en modo sink/source

    Hasta 4 pines para interrupciones externas

    Hasta 3 timers de 16 bits y hasta 2 timers de 8 bits

    Timer 1 con oscilador LP

    Hasta 5 mdulos CCP, configurables como

    o Entradas de captura de 16 bits de resolucin o Modo Comparador de 16 bits de resolucin o Salida PWM hasta 10 bits de resolucin

    156Khz Max con 8 bits de resolucin 39Khz max con 10 bits de resolucin

    Puerto MSSP que puede ser configurado como

    o Puerto Serial SPI - 3 hilos. Soporta los 4 modos o Puerto I2C Master y Slave

    Puerto serial USART direccionable

    Puerto Paralelo PSP

  • Conversor Anlogo Digital 10 bits, hasta 16 canales

    Detector de bajo voltaje programable (LVD) (genera interrupcin)

    Comparadores analgicos

    Programacin Serial en Circuito (ICSP)

    Protecciones

    o Power On Reset (POR) o Power Up Timer (PWRT) o Oscilator Start Up Timer (OST) o WatchDog timer con oscilador RC propio o Proteccin de Cdigo

    Generales

    o Alimentacin: 2.0V - 5.5V o Rango temperatura

    Comercial: 0-70C Industrial: -40C a 85C Extendido: -40C a 125C

    o 18 a 80 pines

    2.2.5.- PICs en Internet Se puede encontrar mucha informacin y documentacin sobre PICs en Internet

    principalmente por dos motivos: el primero, porque han sido muy usados para

    romper los sistemas de seguridad de varios productos de consumo mayoritario

    (televisin de pago, Play Station...), lo que atrae la atencin de los crackers; y

    segundo, porque el PIC16C84 fue uno de los primeros microcontroladores fcilmente

    reprogramables para aficionados. Hay muchos foros y listas de correo dedicados al

    PIC en los que un usuario puede proponer sus dudas y recibir respuestas.

    Pero tambin podemos enfocar el tema de Internet a la posibilidad que se tiene de

    desarrollar con estos, Sistemas SCADA va Web debido a que pueden adquirir y

    enviar datos al puerto serial de un computador utilizando transmisin UART, el

    protocolo RS232, y USB, o la posibilidad de implementar el protocolo TCP/IP

    directamente.

  • 2.3.- Arquitectura interna de un microcontrolador PIC

    Un microcontrolador posee todos los componentes de un computador, pero con unas

    caractersticas fijas que no pueden alterarse. Las partes principales de un

    microcontrolador son:

    Procesador

    Memoria no voltil para contener el programa

    Memoria de lectura y escritura para guardar los datos

    Lneas de E/S para los controladores de perifricos:

    a) Comunicacin paralelo

    b) Comunicacin serie

    c) Diversas puertas de comunicacin (bus l2C, USB, etc.)

    Recursos auxiliares:

    a) Circuito de reloj

    b) Temporizadores

    c) Perro Guardin (watchdog)

    d) Conversores AD y DA

    e) Comparadores analgicos

    f) Proteccin ante fallos de la alimentacin

    g) Estado de reposo o de bajo consumo(sleep).

    A continuacin se pasa revista a las caractersticas ms representativas de cada uno

    de los componentes del microcontrolador.

    2.3.1.- El procesador

    La necesidad de conseguir elevados rendimientos en el procesamiento de las

    instrucciones ha desembocado en el empleo generalizado de procesadores de

    arquitectura Harvard frente a los tradicionales que seguan la arquitectura de von

    Neumann. Esta ltima se caracterizaba porque la UCP (Unidad Central de Proceso)

  • se conectaba con una memoria nica, donde coexistan datos e instrucciones, a travs

    de un sistema de buses1 (vase figura 2.6).

    Figura 2.5 En la arquitectura de von Neumann la UCP se comunicaba a travs de un sistema

    de buses

    En la arquitectura Harvard son independientes la memoria de instrucciones y la

    memoria de datos y cada una dispone de su propio sistema de buses para el acceso.

    Esta dualidad, adems de propiciar el paralelismo, permite la adecuacin del tamao

    de las palabras y los buses a los requerimientos especficos de las instrucciones y de

    los datos. Tambin la capacidad de cada memoria es diferente (figura 2.7).

    Figura 2.6 Arquitectura harvard

    El procesador de los modernos microcontroladores responde a la arquitectura RISC

    (Computadores de Juego de Instrucciones Reducido), que se identifica por poseer un

    repertorio de instrucciones mquina pequeo y simple, de forma que la mayor parte

    de las instrucciones se ejecuta en un ciclo de instruccin.

    1 Los temas tratados estn basados en el libro titulado Microcontroladores PIC diseo prctico de aplicaciones de Jos M. Angulo Usategui 3era edicin.

  • Otra aportacin frecuente que aumenta el rendimiento del computador es el fomento

    del paralelismo implcito, que consiste en la segmentacin del procesador (pipe-line),

    descomponindolo en etapas para poder procesar una instruccin diferente en cada

    una de ellas y trabajar con varias a la vez. l alto rendimiento y elevada velocidad que

    alcanzan los modernos procesadores, como el que poseen los microcontroladores

    PIC, se debe a la conjuncin de tres tcnicas:

    Arquitectura Harvard

    Computador tipo RISC

    Segmentacin

    2.2.2.Memoria de programa

    Es una memoria EEPROM, es decir, de lectura solamente (ROM = Read Only

    Memory) que se programa por tensin (no necesita luz ultravioleta); es decir que

    basta con introducir los datos con cierto nivel de tensin para que stos borren el

    programa anterior y graben uno nuevo, en la figura 2.8 se aprecia el mapa de

    memoria de programa del PIC 16F877A.

    Figura 2.7 Mapa de la Pila y memoria de programa del PIC 16F877A

  • Se llama ROM porque para grabarla se debe conectar el PIC al programador; luego

    de que el PIC coloca estos datos en la plaqueta del dispositivo, slo pueden ser

    ledos, ya que entonces forman el programa del PIC. Esta memoria tiene una longitud

    De memoria que varia del dispositivo desde 512 bytes hasta 128 Kbytes en

    dispositivos mas avanzados como de la familia PIC18, con palabras de 14 , 16 y 18

    bits. Digamos que tiene un ancho de 14 bits y una altura de 1.000 Bytes o que es una

    memoria de 1.000 x 14.

    Observe que dos de las posiciones de memoria tienen las indicaciones vector de

    reset y vector de interrupcin. Eso significa que, cuando se provoca un reset, el

    microprocesador vuelve a la posicin 0000 del programa y cuando se produce una

    interrupcin, a la posicin 0004. Estos retornos forzados deben ser considerados al

    disear el programa del microprocesador; es decir que el reset se produce porque la

    seal externa pone el contador de programa en 000 y todo el programa se reinicia. En

    cambio, cuando ingresa una seal por la pata de interrupcin el contador de

    programa va a 004 y la accin que, en general ocurre, es que se comienza a leer un

    subprograma particular. Cuando este subprograma termina, el contador de programa

    recupera el nmero que tena en el momento de arribar la interrupcin.

    El microcontrolador est diseado para que en su memoria de programa se

    almacenen todas las instrucciones del programa de control. No hay posibilidad de

    utilizar memorias externas de ampliacin.

    Como el programa a ejecutar siempre es el mismo, debe estar grabado de forma

    permanente. Los tipos de memoria adecuados para soportar esta funcin admiten

    cinco versiones diferentes:

    a) ROM con mscara

    En este tipo de memoria el programa se graba en el chip durante el proceso de su

    fabricacin mediante el uso de mscaras. Los altos costes de diseo e instrumental

    slo aconsejan usar este tipo de memoria cuando se precisan series muy grandes.

  • b) EPROM

    La grabacin de esta memoria se realiza mediante un dispositivo fsico gobernado

    desde un computador personal, que recibe el nombre de grabador. En la superficie de

    la cpsula del microcontrolador existe una ventana de cristal por la que se puede

    someter al chip de la memoria a rayos ultravioletas para producir su borrado y

    emplearla nuevamente. Es interesante la memoria EPROM en la fase de diseo y

    depuracin de los programas, pero su coste unitario es elevado.

    c) OTP (Programable una vez)

    Este modelo de memoria slo se puede grabar una vez por parte del usuario,

    utilizando el mismo procedimiento que con la memoria EPROM. Posteriormente no

    se puede borrar. Su bajo precio y la sencillez de la grabacin aconsejan este tipo de

    memoria para prototipos finales y series de produccin cortas.

    d) EEPROM

    La grabacin es similar a las memorias OTP y EPROM, pero el borrado es mucho

    ms sencillo al poderse efectuar de la misma forma que el grabado, o sea,

    elctricamente. Sobre el mismo zcalo del grabador puede ser programada y borrada

    tantas veces como se quiera, lo cual la hace ideal en la enseanza y en la creacin de

    nuevos proyectos. El fabuloso PIC16F84 dispone de 64 K palabras de memoria

    EEPROM para contener instrucciones y tambin tiene algunos bytes de memoria de

    datos de este tipo para evitar que cuando se retira la alimentacin se pierda

    informacin.

    Aunque se garantiza 1.000.000 de ciclos de escritura/borrado en una EEPROM,

    todava su tecnologa de fabricacin tiene obstculos para alcanzar capacidades

    importantes y el tiempo de escritura de las mismas es relativamente grande y con

    elevado consumo de energa.

  • e) FLASH

    Se trata de una memoria no voltil, de bajo consumo, que se puede escribir y borrar

    en circuito al igual que las EEPROM, pero suelen disponer de mayor capacidad que

    estas ltimas. El borrado slo es posible con bloques completos y no se puede

    realizar sobre posiciones concretas. En las FLASH se garantizan 100.000 ciclos de

    escritura-borrado.

    Son muy recomendables en aplicaciones en las que sea necesario modificar el

    programa a lo largo de la vida del producto, como consecuencia del desgaste o

    cambios de piezas, como sucede con los vehculos.

    Por sus mejores prestaciones est sustituyendo a la memoria EEPROM para contener

    instrucciones. De esta forma Microchip comercializa dos microcontroladores

    prcticamente iguales, que slo se diferencian en que la memoria de programa de

    uno de ellos es tipo EEPROM y la del otro tipo Flash. Se trata del PIC 16C84 y el

    PIC 16F84, respectivamente. En la actualidad Microchip tiene abierta una lnea de

    PIC con memoria Flash cada vez ms extensa y utilizada.

    2.2.3.- Memoria de datos

    La RAM (Random Acces Memory o traducido Memoria de Acceso Aleatorio) es una

    memoria de lectura y escritura de 128 posiciones (en las nuevas versiones dispone de

    hasta 4096 posiciones), pero que slo tiene implementados las primeras 48

    posiciones (desde 00 a 2F en hexadecimal). De estos 48 registros, los primeros 12

    son fijos y cumplen un propsito determinado, en tanto que desde el 13 hasta el 48

    son registros de propsito general, en donde el programa puede indicar que se

    almacene un dato para ser tomado ms tarde.

    Los datos que manejan los programas varan continuamente, y esto exige que la

    memoria que contiene debe ser de lectura y escritura, por lo que la memoria RAM

    esttica (SRAM) es la ms adecuada, aunque sea voltil.

  • Hay microcontroladores que tambin disponen como memoria de datos una de

    lectura y escritura no voltil, del tipo EEPROM. De esta forma, un corte en el

    suministro de la alimentacin no ocasiona la prdida de la informacin, que est

    disponible al reiniciarse el programa.

    El PIC16C84, el PIC16F83 y el PIC16F84 disponen de 64 bytes de memoria

    EEPROM para contener datos, el PIC 16F877 dispone de 256 bytes de memoria

    EEPROM, y existen algunos modelos sobretodo en la familia PIC18 que disponen de

    1024 bytes de capacidad.

    La memoria tipo EEPROM y la tipo Flash pueden escribirse y borrarse

    elctricamente. Sin necesidad de sacar el circuito integrado del zcalo del grabador

    pueden ser escritas y borradas numerosas veces.

    2.2.4. Lneas de E/S para los controladores de perifricos

    A excepcin de dos pines destinad0s a recibir la alimentacin, otras dos para el

    cristal de cuarzo, que regula la frecuencia de trabajo, y una ms para provocar el

    Reset, los restantes pines de un microcontrolador sirven para soportar su

    comunicacin con los perifricos externos que controla.

    Las lneas de E/S que se adaptan con los perifricos manejan informacin en paralelo

    y se agrupan en conjuntos de ocho, que reciben el nombre de Puertos. Hay modelos

    con lneas que soportan la comunicacin en serie; otros disponen de conjuntos de

    lneas que implementan puertos de comunicacin para diversos protocolos, como el

    I2C, el USB, etc. A continuacin se muestra el diagrama de bloques del PIC

    16F877A2

    2 LA imagen as como algunos criterios han sido tomados de la coleccin de libros titulado: Curso prctico sobre Microcontroladores, de la empresa Cekit

  • Figura 2.8 Diagrama de bloques General De un PIC de gama media

    2.2.5. Recursos auxiliares

    Segn las aplicaciones a las que orienta el fabricante cada modelo de

    microcontrolador, incorpora una diversidad de complementos que refuerzan la

    potencia y la flexibilidad del dispositivo.

    Entre los recursos ms comunes se citan a los siguientes:

  • a) Circuito de reloj, encargado de generar los impulsos que sincronizan el

    funcionamiento de todo el sistema.

    b) Temporizadores, orientados a controlar tiempos.

    c) Perro Guardin (watchdog), destinado a provocar una reinicializacin cuando

    el programa queda bloqueado.

    d) Conversores AD , para poder recibir y enviar seales analgicas.