Anda di halaman 1dari 200

UNIVERSIDAD TECNOLOGICA ISRAEL

FACULTAD DE ELECTRONICA DIGITAL Y TELECOMUNICACIONES

DISEO E IMPLEMENTACION DE MODULO DIDACTICO PARA APRENDIZAJE DE OPERACIONES ARITMETICAS BASICAS (SUMA RESTA MULTIPLICACION) CON DOS CIFRAS PARA ALUMNOS DE PRIMERO A TERCERO DE EDUCACION BASICA, USANDO INTERFACE USB PARA COMUNICACIN CON SISTEMA OPERATIVO LIBRE (LINUX 10.4 CON GENOME)

PROYECTO PREVIO A LA OBTENCIN DEL TTULO EN INGENIERIA DE TELECOMUNICACIONES Y ELECTRONICA DIGITAL.

Estudiante Freddy Giovanny Guaranda Burga

Tutor Ingeniero Jos Robles Salazar M.B.A.

Quito Ecuador.
Febrero 2013

UNIVERSIDAD TECNOLGICA ISRAEL

FACULTAD DE ELECTRONICA DIGITAL Y TELECOMUNICACIONES

CERTIFICADO DE RESPONSABILIDAD

Yo, Ingeniero Jos Robles Salazar M.B.A , certifico que el seor Freddy Giovanny Guaranda Burga con C.C No. 1717304602 realiz la presente tesis con ttulo DISEO E IMPLEMENTACION DE MODULO DIDACTICO PARA APRENDIZAJE DE OPERACIONES ARITMETICAS BASICAS (SUMA RESTA MULTIPLICACION) CON DOS CIFRAS PARA ALUMNOS DE PRIMERO A TERCERO DE EDUCACION BASICA, USANDO INTERFACE USB PARA COMUNICACIN CON SISTEMA OPERATIVO LIBRE (LINUX 10.4 CON GENOME) y que es autor intelectual del mismo , que es original, autntica y personal.

_____________________________ Ingeniero Jos Robles Salazar M.B.A

II

UNIVERSIDAD TECNOLGICA ISRAEL

FACULTAD DE ELECTRONICA DIGITAL Y TELECOMUNICACIONES

CERTIFICADO DE AUTORA

El documento de tesis con ttulo DISEO E IMPLEMENTACION DE MODULO DIDACTICO PARA APRENDIZAJE DE OPERACIONES ARITMETICAS BASICAS (SUMA RESTA MULTIPLICACION) CON DOS CIFRAS PARA ALUMNOS DE PRIMERO A TERCERO DE EDUCACION BASICA, USANDO INTERFACE USB PARA COMUNICACIN CON SISTEMA OPERATIVO LIBRE (LINUX 10.4 CON GENOME) ha sido desarrollado por Freddy Giovanny Guaranda Burga con C.C No. 1717304602 persona que posee los derechos de autora y responsabilidad , restringindose la copia o utilizacin de cada uno de los productos de esta tesis sin previa autorizacin.

___________________________ Freddy Giovanny Guaranda Burga

III AGRADECIMIENTO

A Dios por permitirme culminar uno ms de los proyecto de vida, por darme la oportunidad de crecer profesionalmente y de esta manera poder brindar a mi familia un mejor futuro. A mi Tutor, Ing. Jos Robles Salazar M.B.A. quien con su conocimiento, direccionamiento y paciencia supo guiarme en el desarrollo y culminacin de este proyecto. Por ltimo a todos y cada uno de mis maestros, compaeros de trabajo y amigos por ser en todo este tiempo quienes me brindaron su apoyo incondicional en el feliz trmino de esta meta.

IV DEDICATORIA.

A mi Seor, Jess, quien me dio la fe, la fortaleza, la salud y la esperanza para terminar este proyecto. A mis padres, Jos Augusto y Rosa Elena quienes me ensearon desde pequeo a luchar para alcanzar mis metas. A m querido hermano Vinicio, quien con su ayuda incondicional ayudo a plasmar este proyecto A las personas que nunca dudaron que lograra este triunfo: mi hermana Soledad, mi hermano Eduardo, porque quiero que siempre se sientan orgullosos de su hermano. Gracias! Siempre cuentan conmigo. A m querida hija Daiana, quien supo prestarme el tiempo que le perteneca, durante estos aos de preparacin Gracias! A mi esposa, Nora Casique, quien inicio junto a m este camino y me brind su amor, su cario, su estmulo, comprensin su apoyo constante y paciente, una evidencia ms de su gran amor. Gracias! Te amo!

V
APROBACION DEL TRIBUNAL DE GRADO

Proyecto de aprobacin de acuerdo con el Reglamento de Ttulos y Grados de la Facultad de Electrnica y Telecomunicaciones de la Universidad Tecnolgica Israel.

Quito,

Para constancia firman: TRIBUNAL DE GRADO

F. PRESIDENTE

F VOCAL

F .. VOCAL

VI

RESUMEN

La implementacin del mdulo didctico para el aprendizaje de operaciones aritmticas bsicas (suma, resta, multiplicacin) con dos cifras para alumnos de primero a tercero de educacin bsica, usando interface usb para comunicacin con sistema operativo libre (Linux 10.4 con Genome), es una tesis creada para ayudar a los nios de los primeros niveles de educacin bsica a practicar sus operaciones aritmticas de manera fcil y sencilla, esto se logra, al hacer que la consola despliegue imgenes divertidas y de tamao considerable en su display grfico, a ms de algunas instrucciones de tipo auditivo, esto invita al alumno a seguir en el uso de la consola, haciendo que el nio se entretenga mientras aprende. La consola didctica, esta basada en el manejo de un microcontrolador (PIC), la programacin de este, se genera usando lenguaje de programacin C, se debe mencionar tambin, que la consola didctica, esta fabricada para poder realizar comunicacin usb con sistema operativo Linux, lo que hace de la consola una herramienta distinta de las tradicionales, ya que la mayora de software o hardware con coneccin a computador, esta diseada para trabajar con sistema operativo Windows, sin embargo cabe indicar, que al ser Linux un sistema operativo libre, cuenta con un sinnmero de versiones disponibles en el internet, por lo que la versin a usarse es el Ubuntu 10.4 con escritorio Genome, que es una de las versiones ms estables encontradas.

VII

ABSTRACT

The implementation of the training module for learning basic arithmetic operations (addition, subtraction, multiplication) with two figures for students in first through third basic education, using USB interface for communication with free operating system (Linux 10.4 with Genome), is a thesis created to help children of the first levels of basic education to practice their arithmetic easy and simple, this is achieved by making the deployment console and funny images in sizable graphic display, more than some auditory type instructions, this invites the student to follow in using the console, causing the child to be entertained while learning.

The console didactic, is based on the management of a microcontroller (PIC), this programming is generated using the C programming language, you should also mention that the console didactic, is manufactured to perform USB communication with Linux operating system , making the console a tool other than the traditional ones, as most software or hardware for computer connection, is designed to work with Windows operating system, it should be noted however, that when a free operating system Linux, has a number of versions available on the internet, so that is the version to be used with desktop Ubuntu 10.4 Genome, which is one of the most stable versions found.

VIII

CONTENIDO
PROPUESTA / PROYECTO: ...................................................................................... 1 1. CUL ES EL PROBLEMA? ............................................................................... 1 2. POR QU ES IMPORTANTE INVESTIGAR SOBRE EL TEMA? ...................... 1 3. QU SE CONOCE AL RESPECTO HASTA EL MOMENTO, DENTRO Y FUERA DEL PAS? .................................................................................................. 2 4. POR QU LO VA HACER? ............................................................................... 2 5. CMO LO VA A REALIZAR? ............................................................................ 3 6. CULES SON LOS RESULTADOS ESPERADOS? ......................................... 4 7. CMO VA A TRANSFERIR Y DIFUNDIR LOS RESULTADOS? ...................... 5 8. QU EFECTOS E IMPACTOS PODRA TENER LAS NUEVAS TECNOLOGAS O LOS NUEVOS CONOCIMIENTOS EN EL GRUPO OBJETIVO? ................................................................................................................................. 5 CAPITULO 1 ............................................................................................................... 6 1 INTRODUCCIN .................................................................................................. 6 1.2 ANTECEDENTE ................................................................................................ 7 1.2.1 FORMULACIN DEL PROBLEMA.............................................................. 7 1.3. SISTEMATIZACIN........................................................................................ 8 1.3.1. 1.3.2. .3.3. 1.4.1. 1.4.2. DIAGNSTICO ....................................................................................... 8 PRONSTICO ........................................................................................ 8 CONTROL DEL PRONSTICO ............................................................... 9 OBJETIVO GENERAL .......................................................................... 10 OBJETIVOS ESPECFICOS ................................................................. 10

1.4. OBJETIVOS .................................................................................................. 10

1.5. JUSTIFICACIN ........................................................................................... 11 1.5.1. JUSTIFICACIN TERICA ...................................................................... 11 1.5.2. JUSTIFICACIN PRCTICA .................................................................... 11 1.5.3. JUSTIFICACIN METODOLGICA......................................................... 12 1.6. ALCANCE Y LIMITACIONES........................................................................ 13 1.6.1. ALCANCE ................................................................................................. 13 1.6.2. LIMITACIONES......................................................................................... 14

IX 1.7 ESTUDIOS DE FACTIBILIDAD....................................................................... 15 1.7.1 TCNICA .................................................................................................. 15 1.7.2 OPERATIVA .............................................................................................. 16 1.7.3 ECONMICA ............................................................................................ 16 CAPITULO 2 ............................................................................................................. 17 2 MARCO DE REFERENCIA .................................................................................. 17 2.1 MARCO TERICO ......................................................................................... 17 2.2 LA TECNOLOGA EN LA EDUCACIN ..................................................... 17 2.2.1 CONCEPTO DE EDUCACIN .................................................................. 18 2.2.2 PEDAGOGA EN LA EDUCACIN............................................................ 18 2.2.3 DIMENSIN SOCIAL ................................................................................ 19 2.2.4 DIMENSIN MORAL ................................................................................. 20 2.2.5 Dimensin Econmica ............................................................................... 21 2.3 MARCO CONCEPTUAL .................................................................................. 23 2.3.1 DISPLAY GRFICO (GLCD) ..................................................................... 24 2.3.2 TECLADO MATRICIAL .............................................................................. 25 2.3.3 USB ........................................................................................................... 25 2.3.4 MICRO CONTROLADOR (PIC) ................................................................. 26 2.3.5 PROGRAMACIN LENGUAJE C.............................................................. 26 2.3.6 SISTEMA OPERATIVO LINUX UBUNTU 10.4 .......................................... 27 2.4 MARCO LEGAL ............................................................................................. 29 2.5 MARCO ESPACIAL ....................................................................................... 31 CAPITULO 3 ............................................................................................................. 32 3 PROCESO DE INVESTIGACIN ..................................................................... 32 3.1 UNIDAD DE ANLISIS ................................................................................. 32 3.1.2. TIPO DE INVESTIGACIN. ..................................................................... 32 3.1.3. MTODO .............................................................................................. 33 3.1.3. TCNICA .................................................................................................. 33 3.1.4. INSTRUMENTO........................................................................................ 33 3.2. METODOLOGA ESPECFICA ..................................................................... 34 3.2.1 DISPLAY GRFICO (GLCD) ..................................................................... 35

X 3.2.2 TECLADO MATRICIAL .............................................................................. 36 3.2.3 MICRO CONTROLADOR (PIC) ................................................................. 37 3.2.4 PROGRAMACIN LENGUAJE C.............................................................. 38 3.2.5 SISTEMA OPERATIVO LINUX UBUNTU 10.4 .......................................... 39 3.2.6 Programa de Simulacin Proteus .............................................................. 40 CAPITULO 4 ............................................................................................................. 42 4 IMPLEMENTACIN MODULO DIDCTICO ......................................................... 42 4.1 DISEO DE HARDWARE ............................................................................... 42 4.1.1 CONSOLA DIDACTICA ............................................................................ 42 4.1.2 Interfaz Teclado ............................................................................................ 45 4.1.2.1 Impresin de Teclado en Baquelita ........................................................... 47 4.1.3 Interfaz GLCD ............................................................................................ 50 4.1.4 Interfaz Audio ............................................................................................. 55 4.1.5 Interfaz USB .............................................................................................. 59 4.1.6 Micro controlador PIC 18F450 ................................................................... 61 4.2 SOFTWARE ..................................................................................................... 64 4.2.1 Ventajas del C frente al Ensamblador........................................................ 65 4.2.1.1 MANEJO GLCD ...................................................................................... 68 4.2.2 MANEJO TECLADO .................................................................................. 76 4.2.1 Librera Teclado ......................................................................................... 78 4.2.3 MANEJO USB............................................................................................ 81 4.2.4 MANEJO SALIDA AUDIO .......................................................................... 85 4.3 INTERFAZ GRAFICA PARA UBUNTU 10.4 ................................................... 88 4.3.1 NETBEANS 7.1.2....................................................................................... 88 4.3.2 Caractersticas Generales ......................................................................... 88 4.3.3 Librera Javaxcomm................................................................................... 90 4.4 Programacin en Java ..................................................................................... 97 4.4.1 Pantalla Inicial ............................................................................................ 97 4.5 Funcionamiento Consola Didctica ................................................................ 105 4.2 Caractersticas Generales .............................................................................. 110 4.2.1 Estructura Interna .................................................................................... 110

XI 4.2.2 Medidas ...................................................................................................... 112 4.6 ANLISIS DE COSTOS ................................................................................. 114 4.7 ANALISIS FODA ............................................................................................ 117 CAPITULO 5 ........................................................................................................... 118 5.1 Conclusiones.................................................................................................. 118 5.2 Recomendaciones ......................................................................................... 119 Bibliografa .............................................................................................................. 121 GLOSARIO DE TERMINOS .................................................................................... 122

ndice de Figuras Figura 1 Diagrama de Flujo Funcionamiento Consola .............................................. 3 Figura 2 Diagrama en Bloques Interfaces Consola ................................................ 43 Figura 3 Simulacin en Proteus Consola ................................................................ 44 Figura 4 Simulacin en Proteus Teclado ................................................................. 45 Figura 5 Simulacin en ARES teclado .................................................................... 47 Figura 6 Baquelita Terminada ................................................................................. 49 Figura 7 Simulacin en Proteus GLCD ................................................................... 50 Figura 8 GLCD con Driver T693 .............................................................................. 51 Figura 9 Mapa de Caracteres GLCD ....................................................................... 51 Figura 10 Pantalla de Trabajo GLCD MapBit .......................................................... 54 Figura 11 Tarjeta de Audio (TDB380) ..................................................................... 56 Figura 12 Descripcin de Pines tarjeta de Audio..................................................... 57 Figura 13 Configuracin modo serial TDB380.......................................................... 58 Figura 14 Simulacin en Proteus del manejo USB.................................................. 60 Figura 15 Simulacin en Proteus de PIC 18F4550 .................................................. 61 Figura 16 Pantalla Inicial de Programa PCW ......................................................... 67 Figura 17 Pines de Control USB ............................................................................. 71 Figura 18 Diagrama de Flujo Funcionamiento del Teclado ...................................... 77 Figura 19 Diagrama de Flujo Manejo USB ............................................................... 82 Figura 20 Diagrama de Flujo Manejo USB Consola ................................................. 83 Figura 21 Trama que maneja el Puerto USB............................................................ 84 Figura 22 Diagrama de flujo Manejo Audio en Consola .......................................... 85 Figura 23 Pantalla de Trabajo Netbeans .................................................................. 89 Figura 24 Pantalla Bienvenida Interfaz en Ubuntu ................................................... 97

XII Figura 25 Figura 26 Figura 27 Figura 28 Figura 29 Figura 30 Pantalla de seleccin de puertos............................................................. 99 Segunda Pantalla Manejo Consola ........................................................ 101 Tercera Pantalla manejo Consola Elije Operacin ................................ 102 Cuarta Pantalla Manejo consola Escoja un cuento ............................... 103 Pantalla Manejo Consola Modo Fcil .................................................... 104 Pantalla Manejo Consola Modo Difcil ................................................... 104

ndice de Tablas Tabla 1 Tabla 2 Tabla 4 Tabla 5 Tabla 6 Tabla 7 Comandos usados en la comunicacin serial ............................................. 59 Caractersticas de PIC 18F4550 ................................................................. 62 Tabla de Costos de Materiales ................................................................. 115 Tabla de Costos Mano de Obra ............................................................... 115 Tabla de Costos Insumos ......................................................................... 116 Cuadro Resumen Costos ......................................................................... 116

ndice de Fotografas Fotografa 1 Pantalla USB Consola Didctica ........................................................ 105 Fotografa 2 Pantalla de Bienvenida Consola Didctica........................................ 106 Fotografa 3 Pantalla Cargando Programa Consola Didctica .............................. 106 Fotografa 4 Pantalla Consola Didctica Elija Actividad ........................................ 107 Fotografa 5 Pantalla Consola Didctica Escoja Operacin .................................. 108 Fotografa 6 Pantalla Consola Didctica Operaciones Modo Fcil........................ 108 Fotografa 7 Tapa Superior Consola ....................................................................... 110 Fotografa 8 Estructura Interna Consola ............................................................... 111 Fotografa 9 Medidas Consola Frente ................................................................... 112 Fotografa 10 Medidas Consola Lateral ................................................................ 113

ndice de Anexos Anexo 1 .....Caractersticas GLCD JHD240128 Anexo 2 .....Caractersticas TDB380 Anexo 3......Caractersticas PIC 18F4550

PROPUESTA / PROYECTO:
DISEO E IMPLEMENTACION DE UN MODULO DIDACTICO PARA

APRENDIZAJE DE OPERACIONES ARITMETICAS BASICAS (SUMA RESTA MULTIPLICACION) CON DOS CIFRAS, USANDO INTERFASE USB PARA COMUNICACIN CON SISTEMA OPERATIVO LIBRE (LINUX 10.4 CON GENOME)

1. CUL ES EL PROBLEMA?
Los nios en la actualidad se distraen fcilmente al realizar las operaciones aritmticas bsicas (suma, resta, multiplicacin), si dentro de su proceso de aprendizaje no se cuenta con ayudas tecnolgicas de fcil uso, por esta razn se pretende construir una consola didctica que sirva de apoyo en esta tarea.

2. POR QU ES IMPORTANTE INVESTIGAR SOBRE EL TEMA?


Investigar sobre este tema es importante, ya que como se menciona, los alumnos de los primeros niveles de educacin bsica, tienden a aburrirse fcilmente si no encuentran algo divertido dentro del proceso de aprendizaje, por esta razn la implementacin de la solucin que se proponga ayudar como apoyo dentro del proceso de aprendizaje del nio, al hacer esta tarea mucho ms entretenida, al tratarla como un juego didctico muy llamativo (con figuras, teclas grandes,

2 imgenes atractivas, sonidos graciosos), los nios no sentirn la presin de estudiar, y por si solos querrn aprender, lo que mejorara su desempeo escolar.

3. QU SE CONOCE AL RESPECTO HASTA EL MOMENTO, DENTRO Y FUERA DEL PAS?


Sobre este tema se tiene algunas soluciones en software, por ejemplo MathQuiz ; Aritmetica ; Math Educator; sin embargo como se indica, todo esto est basado solamente en software, la solucin propuesta , se basa en hardware, adems, el software mencionado anteriormente est dedicado nicamente para sistema

operativo Windows, lo propuesto contendr a ms de la parte de hardware, una interfaz grfica explcitamente compatible con software libre Ubuntu 10.4 con Genome; no se conoce aplicacin igual para este sistema operativo. La consola propuesta, ser de fcil manejo, liviana, ms accesible que un computador porttil, y no necesitar conexin a internet para su funcionamiento, ya que todo el programa estar contenido en micros controladores.

4. POR QU LO VA HACER?
La solucin planteada se realizar porque se considera un mtodo de enseanza prctico y divertido, aplicable a cualquier institucin educativa para sus primeros niveles, es decir de primero a tercero de bsica.

5. CMO LO VA A REALIZAR?
La solucin planteada, es de hardware, debido a esto, se realizar mediante el diseo del teclado, el diseo de la interfaz con teclado/display, diseo de la interfaz usb(Universal Serial Bus) cpu (Unidad central de procesamiento), la investigacin de la comunicacin usb con sistema operativo Linux (Ubuntu 10.4 con Genome), investigacin de funcionamiento de interfaz/programacin en Ubuntu .

Figura 1 Diagrama de Flujo Funcionamiento Consola Autor: Freddy Guaranda

6. CULES SON LOS RESULTADOS ESPERADOS?


Consola fsica didctica (construccin y modelacin) Internamente la consola constar de un interfaz de teclado, un interfaz con

display, un interfaz se comunicacin usb (consola/cpu son Linux Ubuntu 10.4 con Genome), las interfaces sern diseadas y construidas en su totalidad. Interfaz grfica programada en Ubuntu 10.4 con Genome , que trabajar

conjuntamente con consola didctica a travs de comunicacin usb (cuando se conecte a CPU con Linux, se deshabilita el display y trabaja interfaz grfica, y viceversa). Una vez realizada la construccin de la consola didctica, se pretende obtener un producto con teclado de fcil digitacin, con esto se refiere, a que se construir con botones grandes, que sea de fcil acceso y suaves, lo que facilitar la digitacin y le dar un aspecto muy llamativo, al momento de digitar una tecla, esta emitir una orden al microprocesador (a travs de la interfaz teclado/microprocesador), lo que aplicar a una subrutina, que emitir una orden al display, que dejar visualizar un nmero correspondiente a la tecla presionada, luego al presionar la operacin deseada, emitir un mensaje visual, al presionar la tecla aceptar, en el display, grficamente aparecer una muestra didctica de la operacin que se est realizando (por ejemplo si suma 2 +2 aparecer en el display, dos manzanas el signo + y dos manzanas ms, para luego indicar el total cuatro manzanas, y al final aparecer el nmero con el resultado (a ms de la parte grfica, se podr ver el nmero fsico, semejando una especie de baco digital).

5 Al mantener al nio ocupado con la visualizacin de la operacin, se pretende obtener una mejora en la concentracin del aprendizaje, as mismo una mejora en la captacin y lgica de las operaciones bsicas, lo que permitir aprender de manera ms fcil estas operaciones

7. CMO VA A TRANSFERIR Y DIFUNDIR LOS RESULTADOS?


Inicialmente esta consola se difundir en el tercero de bsica de la escuela Primaria Francisco de Vitoria, as mismo se difundir en las redes sociales como Facebook.

8. QU EFECTOS E IMPACTOS PODRA TENER LAS NUEVAS TECNOLOGAS O LOS NUEVOS CONOCIMIENTOS EN EL GRUPO OBJETIVO?
A futuro la consola didctica servir de apoyo para los nios de primero a tercero de bsica de cualquier institucin educativa, ya que les ayudar a practicar las operaciones aritmticas bsicas, y a reforzar los conocimientos adquiridos en las instituciones educativas.

CAPITULO 1
1 INTRODUCCIN
El presente trabajo trata de ser una ayuda para los alumnos de primero a tercero de bsica al momento de iniciar su etapa de aprendizaje de la aritmtica bsica (suma, resta, multiplicacin), mediante el uso de una consola didctica, que permitir a los alumnos practicar de manera mucho ms sencilla y divertida las operaciones aritmticas bsicas. La consola propuesta trabajar con un teclado muy llamativo y de fcil uso, lo que permitir que el alumno llegue a ver a esta consola no como un mtodo de enseanza, sino ms bien, como un juguete, que implcitamente le ayudar en sus primeros pasos de educacin. La consola adems de su teclado, constar de un display en donde se podr visualizar las operaciones a realizarse as como mensajes de apoyo, que incentivarn al nio a seguir trabajando en ella. Tendr adems de una interfaz grfica, que le permitir a los padres (conjuntamente con el nio) manejar desde su computador personal, la consola, mediante un programa creado para software libre (Ubuntu 10.4 con Genome), en el cul, se tendr una serie de grficos y sonidos que harn de ella sin duda una de las herramientas preferidas no solo por nios, sino por padres tambin.

1.2 ANTECEDENTES
La tecnologa en la educacin ha proporcionado varios avances en la forma en como los alumnos asimilan la aritmtica, en sus primeros aos de estudio (especficamente en el caso de la suma, resta, multiplicacin). Al observar a una alumna que cursa el tercero de bsica, se puede observar una falta de inters en el aprendizaje de las operaciones aritmticas bsicas. Los resultados del aprendizaje, son sumamente pequeos en comparacin con el tiempo invertido. No olvidar adems que a muchas personas (por no decir que a todos), los primeros aos de educacin son fundamentales para llevar una vida estudiantil llevadera o satisfactoria. En muchos casos se ha visto que la carga emocional que conlleva la falta de bases, ha hecho que la persona tienda a rechazar involuntariamente el aprendizaje posterior de la aritmtica ms avanzada. Por esta razn el inters en crear una consola didctica que no solo sirva de ayuda a los alumnos en esta ardua y larga carrera estudiantil, sino tambin que induzca en los nios un aprecio voluntario a la materia.

1.2.1 FORMULACIN DEL PROBLEMA

De qu manera se puede mejorar la atencin prestada en los nios de

primero a tercero de bsica al iniciar el aprendizaje aritmtico bsico? Se conseguira hacer que los estudiantes que inician su educacin lleguen a

sentir afecto por la aritmtica?

8 Una educacin que se base en el manejo didctico y entretenido, lograr

mejorar el desempeo en los nios de primero a tercero de educacin bsica?

1.3. SISTEMATIZACIN
1.3.1. DIAGNSTICO

La metodologa ldica, indica que el alumno comprende de mejor manera lo

que se le pretende ensear si se le proporciona dichos conocimientos en forma de juego, la tecnologa, ha permitido que esto se pueda lograr de mejor manera dentro de los hogares, al contar con internet, computadores personales, etc. Sin embargo, el internet portable, resulta un tanto costoso, si sumamos adems el hecho de requerir de un computador porttil para poder tener acceso al mtodo ldico necesario, para lograr entretener al nio. Por esta razn, se pretende crear una consola que brinde caractersticas similares al internet, pero que sean ms accesibles y porttiles. la La carencia de mtodos ldicos adecuados provoca a largo plazo, molestia en asimilacin de la aritmtica, ya que utilizan sistemas de apoyo repetitivos y

mecnicos (tablas impresas para multiplicar) que impiden al nio tener bases aritmticas adecuadas.

1.3.2.

PRONSTICO

La falta de prctica de la aritmtica con mtodos ldicos en los primeros

niveles de educacin bsica, provocar que con el paso de los aos, estos

9 estudiantes no desarrollen una buena asimilacin matemtica, lo que sin duda, ser una fuerte barrera que debern afrontar durante su carrera estudiantil. Al no tener el dispositivo planteado, se presentar poco inters en los nios

por la aritmtica, con el pasar de los aos engendrar en ellos una fobia a las matemticas, lo que producir una fuerte sensacin de impotencia tanto en el nio como en los padres, no olvidar adems que las matemticas son usadas en cada uno de los aspectos de la vida diaria. La falta de inters y amor por est, dar como resultado estudiantes mediocres, que no podrn conseguir empleo fcilmente lo que incrementar el ndice de desempleo y como consecuencia una sociedad sin autoestima y pobre.

1.3.3.

CONTROL DEL PRONSTICO

Ayudar de manera prctica y significativa a mejorar la asimilacin de los

alumnos a la aritmtica, con la introduccin de la consola didctica para aprendizaje de operaciones matemticas, en los primeros aos de educacin bsica (primero a tercero). Hacer uso de tcnicas de aprendizaje ms llamativas y didcticas (mtodo

ldico), esto ayudar al nio, no solo a aprender la aritmtica, sino tambin ayudar a mejorar su concentracin, y sobretodo le mostrar que el adquirir nuevos conocimientos puede ser algo muy sencillo y satisfactorio, lo que le brindar

confianza, que le servir a lo largo de no solo su carrera estudiantil, sino tambin de su vida.

10

1.4. OBJETIVOS
1.4.1. OBJETIVO GENERAL

Disear e implementar un mdulo didctico para el aprendizaje de operaciones aritmticas bsicas con dos cifras para alumnos de primero a tercero de educacin bsica.

1.4.2.

OBJETIVOS ESPECFICOS

Realizar la construccin de las diferentes partes del hardware que gobernar

la consola didctica, como son: interfaz teclado/ micro controlador, interfaz Display/micro controlador, interfaz comunicacin USB/CPU Crear libreras que permitan el manejo en software de las interfaces que

gobiernan la consola didctica, como el GLCD, teclado, comunicacin USB. Realizar el diseo y programacin de una interfaz grfica en Linux, que

remotamente conectar el CPU con la consola didctica para aprendizaje de operaciones aritmticas bsicas, que servir como apoyo didctico para el estudiante.

11

1.5. JUSTIFICACIN

1.5.1. JUSTIFICACIN TERICA

La educacin es un tema que preocupa a todas las personas, sin embargo de manera ms directa a los padres, muchos se han preguntado de qu forma se puede mejorar la situacin actual de sus hijos (se enfocar en alumnos de primero a tercero de bsica), muchos de los cuales arrastrarn grandes dificultades, tras varios aos de estudio, ha permitido, que se piense en una forma de ayudar a estos alumnos, con la creacin de una consola didctica que le permite al estudiante practicar sus operaciones aritmticas de manera fcil y divertida. El presente trabajo, pretende incrementar sobre todo la manera en como el nio aprende la aritmtica bsica en sus primeros aos de vida estudiantil (primero a tercero), lo que ayudar a mejorar de manera significativa la forma en cmo el alumno asimilar el proceso educacional, logrando con esto incrementar el nivel acadmico de los jvenes y futuros profesionales.

1.5.2. JUSTIFICACIN PRCTICA

Al tener conciencia de la importancia de las matemticas en el diario vivir, y el peso de estas en el futuro de los estudiantes, el presente estudio pretende aportar de manera significativa a mejorar el desempeo estudiantil mediante el uso de la consola didctica para el aprendizaje de las operaciones aritmticas bsicas.

12 1.5.3. JUSTIFICACIN METODOLGICA En el presente trabajo se utilizar los siguientes mtodos:

1.5.3.1 METODO INDUCTIVO Se usar este mtodo sobre el conocimiento adquirido, para alcanzar el objetivo a travs del conocimiento cientfico, desde la observacin de fenmenos o hechos de la realidad de la educacin bsica, lo que permitir elaborar un mtodo adecuado de enseanza para fomentar en el alumno un aprecio por las matemticas.

1.5.3.2 METODO DEDUCTIVO El mtodo deductivo es un mtodo cientfico que considera que la conclusin est implcita en las premisas. Por lo tanto, supone que las soluciones siguen necesariamente a las premisas: si el razonamiento deductivo es vlido y las premisas son verdaderas, la respuesta slo puede ser verdadera, este mtodo guiar en la manera en como se va a presentar la resolucin de los problemas matemticos bsicos en la pantalla de la consola a disearse, para que la lgica sea mucho ms entretenida y entendible para el alumno.

13 1.5.3.3 METODO ANALITICO El Mtodo analtico es aquel mtodo de investigacin que consiste en la desmembracin de un todo, descomponindolo en sus partes o elementos para observar las causas, la naturaleza y los efectos. El anlisis es la observacin y examen de un hecho en particular. Es necesario conocer la naturaleza del fenmeno y objeto que se estudia para comprender su esencia. Este mtodo permite conocer ms del objeto de estudio, con lo cual se puede: explicar, hacer analogas, comprender mejor su comportamiento y establecer nuevas teoras.

1.6. ALCANCE Y LIMITACIONES


1.6.1. ALCANCE

El presente proyecto se basar en realizar el diseo y construccin de una consola didctica para el aprendizaje de operaciones aritmticas bsicas, que ser empleado en alumnos que se encuentren cursando desde educacin bsica. Con el presente proyecto, se pretende alcanzar un mejoramiento de la asimilacin que los alumnos de estos aos (primero a tercero) tienen actualmente, no se pretende transformar el entorno educacional, ni mucho menos realizar un cambio educativo de fondo, lo que se pretende en el presente trabajo, es dar una herramienta que permita al alumno aprender de una manera ms divertida y lgica, las operaciones aritmticas bsicas. el primero al tercer ao de

14 1.6.2. LIMITACIONES

El presente proyecto se limita exclusivamente para los alumnos de primero a tercero de educacin bsica, para el aprendizaje de operaciones aritmticas bsicas, entendindose nicamente las operaciones de suma, resta y multiplicacin de dos cifras. No se pretende indagar ms hondamente en las operaciones aritmticas como las divisiones, quebrados, logaritmos, factoreo, etc; ya que la base misma de estas, son las operaciones bsicas, una buena base, dar mayores resultados, que abrumar al alumno con operaciones complejas a un nivel bsico de estudios, recordar, adems, que la consola, est dedicado nicamente para alumnos de primero a tercero de bsica, en cuyo pensum, indica que se ensee nicamente las operaciones bsicas que son suma, resta y multiplicacin. Se muestra nicamente de dos cifras, ya que las operaciones aritmticas bsicas, de ms de dos cifras, conllevan a una similar resolucin (el procedimiento de resolucin es el mismo), por lo que se considera que el aprendizaje adecuado de estas operaciones, es base suficiente para lograr un mejor desempeo en aos posteriores de vida estudiantil. Se limita tambin al uso de un teclado analgico, no se usar pantalla touch, ya que localmente (nivel pas), no se encuentran proveedores que satisfagan el requerimiento exclusivo de la aplicacin. Se usar tambin pantalla GLCD

15 monocromtica, ya que no se dispone de controladores para manejo de GLCD a colores.

1.7 ESTUDIOS DE FACTIBILIDAD


El estudio de factibilidad requerido para el diseo de la consola didctica para

aprendizaje de aritmtica bsica para los primeros aos de educacin bsica (primero a tercero) se basa en tres aspectos que se detallan a continuacin:

1.7.1 TCNICA

Tcnicamente, existe la tecnologa necesaria para satisfacer los requerimientos que se plantean en el presente proyecto, ya que los elementos y equipos necesarios estn disponibles en el mercado nacional. A ms de la disponibilidad de los materiales y herramientas necesarias, se tienen todos los conocimientos requeridos para poder ejecutar el diseo e implementacin del proyecto planteado, conocimientos que se adquirieron en el transcurso de la carrera de Electrnica, por lo que no se requerir de ayuda profesional externa, lo que permitir disminuir gastos adicionales.

16 1.7.2 OPERATIVA

Dentro de la carrera de Electrnica se ha proporcionado todos los conocimientos necesarios para poder disear e implementar el proyecto planteado, lo que permitir resolver cualquier inconveniente que se presente en el transcurso de la realizacin del proyecto, es importante resaltar que a ms de los conocimientos obtenidos, se cuenta con un nivel de experiencia considerable, lo que ayudar a reducir las demoras que se puedan tener por la falta de prctica en el uso y manejo de

herramientas y equipos especializados, necesarios para el proyecto.

1.7.3 ECONMICA

El costo que genere el diseo e implementacin del presente proyecto es bajo, ya que la tecnologa a usarse es relativamente barata (micro controladores) en comparacin con otras tecnologas que son elevadas (ordenadores/porttiles). En funcin de esto, se considera que el proyecto es econmicamente factible.

17

CAPITULO 2 2 MARCO DE REFERENCIA


2.1 MARCO TERICO
2.2 LA TECNOLOGA EN LA EDUCACIN

Los efectos que han producido las nuevas tecnologas son significativos en todo mbito. Los procesos tradicionales de enseanza se ven afectados con la llamada informacin tecnolgica que ha facilitado la rpida y efectiva obtencin de datos. La rapidez en las comunicaciones aumenta el acceso a las nuevas tecnologas, en el hogar, en el trabajo y en los centros escolares, lo que significa que el aprendizaje pasa a ser una actividad real de carcter permanente, en la que el cambio tecnolgico obliga a una evaluacin constante del proceso de aprendizaje. Las nuevas tecnologas tienen incidencia sobre la mayor parte de las reas del conocimiento. En las ciencias se usan computadoras con sensores para ordenar y manejar los datos; en las lenguas modernas, las comunicaciones electrnicas dan acceso a las retransmisiones extranjeras y otros materiales, y en la msica la computadora permitir a los alumnos componer y estudiar sin tener que aprender a tocar los instrumentos tradicionales. Para quienes requieren atenciones educativas especiales, proporciona el acceso a los materiales ms tiles y permitir a los estudiantes a pesar de sus dificultades expresar sus pensamientos en palabras, dibujos y actividades.

18 La creciente renovacin y disponibilidad de la tecnologa en las escuelas y los colegios permitir una enseanza ms individualizada, lo que provocar muchos cambios en el sistema educativo. Dado que la tecnologa proporciona un fcil acceso de los estudiantes a los materiales previamente preparados por los profesores, el papel del profesor pasar a ser ms el de un mentor del aprendizaje y no slo la fuente de los conocimientos.

2.2.1 CONCEPTO DE EDUCACIN

Es una funcin social que se desarrolla a lo largo de la vida de una persona. De generacin en generacin se va transmitiendo todo este universo cultural del cual cada persona va creando su propia identidad cultural. No basta con ir adquiriendo todos estos conocimientos durante toda la vida, sino que se debe seguir enriqueciendo ese saber e ir adaptndose a un mundo que est en continuo cambio. La educacin es un campo multidisciplinario, por lo tanto no existe una nica teora que por s sola predomine, por consiguiente se puede analizar desde distintos puntos de vista que se mencionan a continuacin.

2.2.2 PEDAGOGA EN LA EDUCACIN

Segn Herbort, el padre de la pedagoga cientfica, se preocup por hacer de la educacin una ciencia, por buscar las caractersticas cientficas de esta accin

19 humana. En su obra Psicologa y la tica de su tiempo desarrolla los principios fundamentales de la educacin. Hacer de la accin educativa una funcin cientfica. La pedagoga aparece a principios del Siglo XIX como una ciencia de la educacin que abarca todo el fenmeno de la educacin. Se produce la primera desmembracin de este todo pedaggico (Siglo XX) de carcter metodolgico. Pedagoga experimental y racional: aparece una pedagoga experimental (todo saber de educacin aplicado a lo experimental) y una pedagoga racional (nico saber de educacin, aplicaciones de la reflexin y la filosofa. Su historia: a mediados del S.XX aparece lo que se conoce hoy como ciencia de la educacin (filosofa, sociologa, economa, antropologa,...) al igual q otras disciplinas como medicina derecho, ecologa, etc. Todas estas ciencias en su desarrollo empezaron a interesarse por lo educativo. La teora de la educacin es teora por su capacidad cientfica y es tecnolgica por su posibilidad aplicativa. 1

2.2.3 DIMENSIN SOCIAL

En esta dimensin, la educacin se considera como una actividad de integracin social en la que se preparan a los individuos para saber adaptarse y actuar dentro de

Psicologa y la tica de su tiempo Herbort

20 la sociedad. Por tanto, decimos que el papel de la sociedad incide en la educacin de los individuos. Trata de construir la pedagoga social a travs de las experiencias que lleva adelante. Los orfanatos tenan unas necesidades educativas muy fuertes y l se convenci de que poda salvar a la sociedad de la ignorancia.2

2.2.4 DIMENSIN MORAL

Cuando en la vida hay un conflicto de valor, como la eleccin entre dos caminos, aparece la dimensin moral: la educacin debe ayudar a las personas a ser capaces de tener ideas propias para llegar a principios generales de valor y normas de conducta que les ayuda a definirse ante tales situaciones. Durkheim: se sita al lado de la independencia de los dems ante la autonoma personal. Piaget: la moralidad es un proceso evolutivo de construccin moral, en funcin de la cual las personas deben ir desde una heteronimia moral hacia una autonoma moral. Kohlberg: parte del trabajo de Piaget. Determina los estadios del desarrollo moral: Evitar el castigo o conseguir el premio. Razones de su propia conveniencia e inters. Personas que actan en funcin de lo que los dems esperan que haga.
Teora de Pestazzoli

21 Lo que manda la autoridad y el orden establecido. Las normas que regulan derechos y deberes para todos. Personas que se orientan en principios ticos universales.

Estos escenarios significan un proceso ascendente de construccin moral que a travs de la educacin se pueden conseguir.3

2.2.5 Dimensin Econmica

Afirmar la dimensin econmica de las escuelas significa que la economa incide en el desarrollo. En la medida en que la educacin sea igual para todos se dice que puede incidir en la reduccin de las desigualdades sociales. Para esta igualdad de oportunidades es importante que los gobiernos establezcan polticas compensatorias con los ms desfavorecidos. Invertir en educacin es invertir en el futuro de una sociedad. Esta creencia es la que ha llevado a los Estados a invertir en la educacin. La teora del capital humano defiende estas afirmaciones. Perspectiva Marxista: Boudon, Bourdieu y Passeron. Consiste en que la educacin haga posible la igualdad entre clases. Es criticada la afirmacin de que la educacin sea igual para todos. La educacin y los centros educativos no hacen posible la igualdad de oportunidades sino que legitimizan las desigualdades sociales.

Monografa - Teoras de la Educacin

22 Perspectiva Americana: no siempre hay coordinacin entre los niveles acadmicos y polticos. A veces se le da importancia a la conducta del trabajador que a la tericaprofesional.4 Como se observa existen varias teoras que se manejan en torno a la educacin, ya sea esta bsica o avanzada, el principio fundamental es el mismo, absorber conocimiento a travs de un proceso educativo, luego de analizar varias teoras, la que maneja de manera ms global este proceso es la teora de John Dewey en la que se indica que hay dos formas de educar: Educacin incidental: la educacin va unida a la vida misma, se aprende a travs del juego. La educacin debe ser participativa y vital. Educacin sistemtica: son absolutamente necesarias las mediaciones

institucionales y pedaggicas. A Dewey le preocupa la educacin a travs de la accin, le interesa tambin la educacin en y para la vida. La accin educativa tiene una intencionalidad: se quiere educar. Debe llevar a un perfeccionamiento y una optimizacin. La educacin debe estructurarse en cuatro pilares bsicos: Aprender a conocer: adquirir instrumentos para la comprensin. Aprender a hacer: para poder influir sobre el propio entorno. Aprender a vivir: juntos, participando con los dems. Aprender a ser: q recoge todos los elementos de los tres anteriores.5
Wikipedia - Teora de la Educacin

23

2.3 MARCO CONCEPTUAL


Como se pudo observar todas las teoras manejan principalmente tres elementos bsicos que son aprender a conocer (observar), aprender a hacer (a travs de prcticas de laboratorio), aprender a vivir (participar con los dems), gracias a esto, se puede manejar el diseo del proyecto de una mejor manera (juegos interactivos), haciendo nfasis en el manejo adecuado de la metodologa tanto psicolgica como social que indican que el aprendizaje debe ser entretenido, llamativo y sobre todo debe ayudar a la persona a mejorar su nivel socio-cultural. Para la elaboracin del presente proyecto se dividir el estudio en seis temas especficos: Display Grfico (GLCD) Teclado Matricial USB Micro controladores (PICS) Programacin Lenguaje C Sistema Operativo Linux

Teora de la Educacin - John Dewey

24 2.3.1 DISPLAY GRFICO (GLCD)

Para mejorar el aprendizaje de los nios, se debe lograr llamar su atencin, y que mejor manera de hacerlo, se presenta los datos en un visor con imgenes que le sean muy agradables y llamativas, para lograr este propsito, se cuenta con varias alternativas, la que se ha decidido utilizar es el denominado GLCD, que es un visor de imgenes capaz de mostrar no solo caracteres, sino tambin grficos que pueden ser definidos por el programador. Una Pantalla Grfica de Cristal Lquida o GLCD (acrnimo del ingls Graphic Liquid Crystal Display) es una pantalla plana formada por una matriz de pxeles monocromos colocados delante de una fuente de luz o reflectora. A menudo se utiliza en dispositivos electrnicos de pilas, ya que utiliza cantidades muy pequeas de energa elctrica, hay versiones de pantallas con diferentes controladores embebidos, como el Samsung KS0107, Samsung KS0108 o el Toshiba T6963. Ella dispone de una memoria RAM interna del mismo tamao de la capacidad que dispone la pantalla, por ejemplo si una pantalla tiene un tamao de 128 pixeles de largo por 64 pixeles de alto (128x64) tiene una memoria RAM interna de la misma capacidad (128x64).

25 2.3.2 TECLADO MATRICIAL

Para poder ingresar datos en la consola didctica que se construir, se debe de disponer de alguna herramienta o mtodo que permita el ingreso de estos datos, por lo tanto se usar un teclado matricial bsico, sin embargo el mismo ser construido especficamente para este propsitos, ya que no se cuenta con un teclado con la disposicin de teclas y tamao adecuado. Un teclado matricial est constituido por una matriz de pulsadores dispuestos en columnas y filas, cada pulsador se conecta a una fila y a una columna, para detectar si hay una tecla pulsada se aplica el siguiente procedimiento: Se hace un barrido por cada una de las filas, inicialmente se aplica a la primera fila un nivel bajo y a las otras tres un nivel alto si en este instante se pulsa alguna tecla de esta fila entonces el nivel bajo aparecer en la columna en la que se encontraba la tecla, seguidamente se pasa a verificar la segunda fila enviando un nivel bajo a esta y a las otras un nivel alto y as sucesivamente. Verificando los niveles de los terminales de las columnas se podr deducir si hay alguna tecla pulsada en la fila donde se est aplicando el nivel bajo, considerando que si no hay alguna tecla pulsada en las entradas del PIC se encontrara un nivel alto.

2.3.3 USB

Para poder realizar el intercambio de informacin entre el usuario de la consola didctica y un computador, existen varias tcnicas de envo de datos, para este caso,

26 se usar el puerto USB, que maneja tericamente las mismas bases del puerto serial.

2.3.4 MICRO CONTROLADOR (PIC)

Como todo sistema electrnico, es necesario un cerebro o control primario, para que el sistema funcione, para el caso del presente proyecto, el cerebro que manejar la consola didctica, ser un micro controlador, denominado PIC. Los PIC son una familia de micro controladores fabricados por Microchip Technology Inc. Originalmente desarrollado por la divisin de microelectrnica de General Instrument. El nombre actual no es un acrnimo. En realidad, el nombre completo es PICmicro, aunque generalmente se utiliza como Peripheral Interfase Controller (controlador de interfaz perifrico). El PIC utilizaba micro cdigo simple almacenado en 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

2.3.5 PROGRAMACIN LENGUAJE C

Para que el PIC, entienda o sepa lo que debe hacer, requiera de ciertas instrucciones de trabajo, existen varios tipos de lenguaje de programacin, pero para el presente proyecto, se usar el lenguaje de programacin C

27 C es un lenguaje de programacin creado en 1972 por Dennis M. Ritchie en los Laboratorios Bell, es un lenguaje orientado a la implementacin de Sistemas Operativos, concretamente Unix. C es apreciado por la eficiencia del cdigo que produce y es el lenguaje de programacin ms popular para crear software de sistemas, aunque tambin se utiliza para crear aplicaciones. Se trata de un lenguaje dbilmente tipificado de medio nivel pero con muchas caractersticas de bajo nivel. Dispone de las estructuras tpicas de los lenguajes de alto nivel pero, a su vez, dispone de construcciones del lenguaje que permitirn un control a muy bajo nivel. Los compiladores suelen ofrecer extensiones al lenguaje que posibilitan mezclar cdigo en ensamblador con cdigo C o acceder directamente a memoria o dispositivos perifricos. Uno de los objetivos de diseo del lenguaje C es que slo sean necesarias unas pocas instrucciones en lenguaje mquina para traducir cada elemento del lenguaje, sin que haga falta un soporte intenso en tiempo de ejecucin.

2.3.6 SISTEMA OPERATIVO LINUX UBUNTU 10.4

Todo computador para su funcionamiento, debe contar con un sistema operativo, se ha escogido software libre como sistema operativo de interaccin con la consola didctica, por ser software de distribucin gratuita (no requiere licencia), tener amplio soporte, y lo ms importante, es que se cuenta con cdigo base que permitir que sea totamente adaptable a la necesidad del usuario.

28 La distribucin Linux ms popular recibe su versin 10.04 Lucid Lynx. Se trata de LTS, que cuenta con 3 aos de soporte por parte de Canonical en su versin de escritorio. Novedades en Ubuntu 10.04. Entre las mejoras y aadidos destacamos: - Kernel 2.6.32 El motor de todo sistema Linux es el kernel. Esta actualizacin incluye mejoras "que no se ven" pero que hacen de Ubuntu 10.04 un sistema ms fiable, seguro y robusto. - Gnome 2.30. Gnome es el entorno de escritorio por defecto en Ubuntu. - Mejora en la velocidad de arranque, encender o reiniciar el PC es ahora mucho ms rpido. - Nuevo driver libre para tarjetas Nvidia: Nouveau. Al mismo tiempo se ha mejorado la integracin de los drivers propietarios de Nvidia. - Mejoras en el Centro de software de Ubuntu. Muy importante, sobre todo para usuarios nuevos, facilitando la instalacin de aplicaciones en Ubuntu 10.04 - Aspecto grfico mejorado. Se ha hablado ya mucho de este tema, la nueva apariencia del sistema ms acorde con las expectativas actuales de los usuarios. - Por defecto no se incluye Gimp en Ubuntu 10.04, aunque se puede instalar fcilmente. Buena decisin, ya que es un programa de retoque grfico para usos avanzados innecesario (y confuso) para muchos usuarios. Simple Scan remplaza a XSANE como aplicacin para escanear imgenes.

29 - OpenOffice 3.2, con mejoras principalmente en Calc, Impress y Base. Linux/Unix 2012.

2.4 MARCO LEGAL

De acuerdo al marco legal de la educacin vigente en el Ecuador, la educacin comprende los siguientes niveles: a) b) c) Pre primario Primario Medio

El presente proyecto estar regido nicamente al nivel Primario (exclusivamente de primero a tercero de bsica). Art. 3.- Son fines de la educacin ecuatoriana: b) Desarrollar la capacidad fsica, intelectual, creadora y crtica del estudiante, respetando su identidad personal para que contribuya activamente a la

transformacin moral, poltica, social, cultural y econmica del pas; c) Propiciar el cabal conocimiento de la realidad nacional para lograr la integracin social, cultural y econmica del pueblo y superar el subdesarrollo en todos sus aspectos;

30 e) Estimular el espritu de investigacin, la actividad creadora y responsable en el trabajo, el principio de solidaridad humana y el sentido de cooperacin social; f) Atender preferentemente la educacin preescolar, escolar, la alfabetizacin y la promocin social, cvica, econmica y cultural de los sectores marginados; y, g) Impulsar la investigacin y la preparacin en las reas: tcnica, artstica y artesanal.

Estructura General Art. 9.- La educacin en el nivel primario tiene por objeto la formacin integral de la personalidad del nio, mediante programas regulares de enseanza-aprendizaje y que lo habilitan para proseguir estudios en el nivel medio. Art. 10.La educacin en el nivel medio comprende los tres ciclos: bsico,

diversificado y especializado. Art. 36.- Los planes y programas educativos deben ser formulados cientficamente de conformidad con las orientaciones de la poltica educativa y las necesidades del desarrollo de la realidad nacional, para lo cual deber contar con la participacin de los sectores que conforman la accin educativa, con sujecin al Reglamento Reglamento de Educacin General del Ecuador. Como se pudo observar, el presente proyecto, est dentro del mbito legal presente en el Ecuador, como se menciona en varios artculos, la consola didctica, ayudar

31 a mejorar el nivel acadmico estimulando el espritu de investigacin de los estudiantes Art.3. Prrafo b, c, e, f, g contribuyendo con la estructura general que indica que la educacin primaria (bsica) es la base fundamental para el desarrollo de todos los sectores sociales Estructura General Art. 9, 10, 36.6

2.5 MARCO ESPACIAL


El presente proyecto est concebido para alumnos de primero a tercero de educacin bsica de la escuela Francisco de Vitoria, ubicada en el sector de Quitumbe, ciudadela El Ejercito, al sur de la ciudad de Quito, Provincia de Pichincha, parte del Estado Ecuatoriano

Reglamento de Educacin General del Estado

32

CAPITULO 3
3 PROCESO DE INVESTIGACIN
3.1 UNIDAD DE ANLISIS

El presente proyecto est concebido para alumnos de primero a tercero de educacin bsica de la escuela Francisco de Vitoria, ubicada en el sector de Quitumbe, ciudadela El Ejercito, al sur de la ciudad de Quito, Provincia de Pichincha, parte del Estado Ecuatoriano

3.1.2. TIPO DE INVESTIGACIN.

De acuerdo al problema planteado, la investigacin ser del tipo Investigacin de campo; ya que se trata de la investigacin aplicada para comprender y resolver alguna situacin, necesidad o problema en un contexto determinado. El investigador trabaja en el ambiente natural en que conviven las personas y las fuentes consultadas, de las que se obtendrn los datos ms relevantes a ser analizados, son individuos, grupos y representaciones de las organizaciones cientficas no experimentales dirigidas a descubrir relaciones e interacciones entre variables sociolgicas, psicolgicas y educativas en estructuras sociales reales y cotidianas; por esto, en la investigacin los datos se recogern de manera directa de la realidad en su ambiente natural.

33

3.1.3.

MTODO

Para este proyecto se usar el mtodo deductivo, este mtodo inductivo o inductivismo es aquel mtodo cientfico que obtiene conclusiones generales a partir de premisas particulares. Se trata del mtodo cientfico ms usual, en el que pueden distinguirse cuatro pasos esenciales: la observacin de los hechos para su registro; la clasificacin y el estudio de estos hechos; la derivacin inductiva que parte de los hechos y permitir llegar a una generalizacin; y la contrastacin.

3.1.3. TCNICA Para el presente proyecto se usar la observacin directa que consiste en observar atentamente el fenmeno, hecho o caso, tomar informacin y registrarla para su posterior anlisis. La observacin es un elemento fundamental de todo proceso investigativo; esto nos permite obtener un mayor numero de datos.

3.1.4. INSTRUMENTO El presente trabajo har uso de los instrumentos sealados a continuacin: Registro de rasgos

Se realizar a travs de un registro de rasgos que pretende reunir el mayor nmero de datos posibles acerca de la personalidad del alumno; se trata de tomar nota de

34 cules rasgos son caracterstica suya y cules no, aunque de algunos no podr definirse con toda claridad. Se puede decir que el registro de rasgos es un reflejo de la personalidad del alumno que proporcionar un rico panorama general del mismo. Es muy importante tener en cuenta que, por medio de este registro, se trata de saber solamente si el alumno posee o no el rasgo sealado, de ninguna manera el grado en que lo posee. El registro de rasgos tiene la ventaja de permitir que se rena amplia informacin sobre los alumnos, aunque en una forma no pormenorizada.

3.2. METODOLOGA ESPECFICA


Para la elaboracin del presente proyecto se dividir el estudio en seis temas especficos: Display Grfico (GLCD) Teclado Matricial USB Micro controladores (PICS) Programacin Lenguaje C Sistema Operativo Linux

35 3.2.1 DISPLAY GRFICO (GLCD)

Para mejorar el aprendizaje de los nios, se debe lograr llamar su atencin, y que mejor manera de hacerlo, si se presenta los datos en un visor con imgenes que le sean muy agradables y llamativas, para lograr este propsito, se cuenta con varias alternativas, la que se ha decidido utilizar es el denominado GLCD, que es un visor de imgenes capaz de mostrar no solo caracteres, sino tambin grficos que pueden ser definidos por el programador. Una Pantalla Grfica de Cristal Lquida o GLCD (acrnimo del ingls Graphic Liquid Crystal Display) es una pantalla plana formada por una matriz de pxeles monocromos colocados delante de una fuente de luz o reflectora. A menudo se utiliza en dispositivos electrnicos de pilas, ya que utiliza cantidades muy pequeas de energa elctrica, hay versiones de pantallas con diferentes controladores embebidos, como el Samsung KS0107, Samsung KS0108 o el Toshiba T6963. Ella dispone de una memoria RAM interna del mismo tamao de la capacidad que dispone la pantalla, por ejemplo si una pantalla tiene un tamao de 128 pixeles de largo por 64 pixeles de alto (128x64) tiene una memoria RAM interna de la misma capacidad (128x64).7

Wikipedia 2010

36 3.2.2 TECLADO MATRICIAL

Para poder ingresar datos en la consola didctica que se construir, se debe de disponer de alguna herramienta o mtodo que permita el ingreso de estos datos, por lo tanto se usar un teclado matricial bsico, sin embargo el mismo ser construido especficamente para estos propsitos, ya que no se cuenta con un teclado con la disposicin de teclas y tamao adecuadoUn teclado matricial est constituido por una matriz de pulsadores dispuestos en columnas y filas, cada pulsador se conecta a una fila y a una columna, Para detectar si hay una tecla pulsada se aplica el siguiente procedimiento: Se hace un barrido por cada una de las filas, inicialmente se aplica a la primera fila un nivel bajo y a las otras tres un nivel alto si en este instante se pulsa alguna tecla de esta fila entonces el nivel bajo aparecer en la columna en la que se encontraba la tecla, seguidamente se pasa a verificar la segunda fila enviando un nivel bajo a esta y a las otras un nivel alto y as sucesivamente. Verificando los niveles de los terminales de las columnas se podr deducir si hay alguna tecla pulsada en la fila donde se est aplicando el nivel bajo, considerando que si no hay alguna tecla pulsada en las entradas del PIC se encontrara un nivel alto. USB Para poder realizar el intercambio de informacin entre el usuario de la consola didctica y un computador, existen varias tcnicas de envo de datos, para este caso,

37 se usar el puerto USB, que maneja tericamente las mismas bases del puerto serial. La especificacin del USB 2.0 fue lanzada en abril de 2000.Tambin conocido como USB de alta velocidad, el USB 2.0 es un bus externo que soporta tasas de transferencia de datos de hasta 480Mbps. (Universal Serial Bus) Puerto de gran velocidad para comunicar computadoras y perifricos. Soporta plug&play y conexin en caliente (hotplugging). Soporta transferencias de 12 Mbps. Un slo puerto USB permitir ser usado para conectar ms de 127 dispositivos perifricos como ratones, mdems, teclados, impresoras, etc. Comenz a ser utilizado en 1996, pero la popularidad lleg en las iMac en 1998. Prcticamente remplaz a los puertos serial y puertos paralelo. 8

3.2.3 MICRO CONTROLADOR (PIC)

Como todo sistema electrnico, es necesario un cerebro o control primario, para que el sistema funcione, para el caso del presente proyecto, el cerebro que manejar la consola didctica, ser un micro controlador, denominado PIC. Los PIC son una familia de microcontroladores tipo RISC fabricados por Microchip Technology Inc. El nombre actual no es un acrnimo. En realidad, el nombre completo es PICmicro, aunque generalmente se utiliza como Peripheral Interfase Controller (controlador de interfaz perifrico)

Wikipedia 2011

38 3.2.4 PROGRAMACIN LENGUAJE C

Para que el PIC, entienda o sepa lo que debe hacer,

requiere de ciertas

instrucciones de trabajo, existen varios tipos de lenguaje de programacin, pero para el presente proyecto, se usar el lenguaje de programacin C C es un lenguaje de programacin creado en 1972 por Dennis M. Ritchie, es un lenguaje orientado a la implementacin de Sistemas Operativos, concretamente Unix. C es apreciado por la eficiencia del cdigo que produce y es el lenguaje de programacin ms popular para crear software de sistemas, aunque tambin se utiliza para crear aplicaciones. Se trata de un lenguaje dbilmente tipificado de medio nivel pero con muchas caractersticas de bajo nivel. Dispone de las estructuras tpicas de los lenguajes de alto nivel pero, a su vez, dispone de construcciones del lenguaje que permitirn un control a muy bajo nivel. Los compiladores suelen ofrecer extensiones al lenguaje que posibilitan mezclar cdigo en ensamblador con cdigo C o acceder directamente a memoria o dispositivos perifricos. Uno de los objetivos de diseo del lenguaje C es que slo sean necesarias unas pocas instrucciones en lenguaje mquina para traducir cada elemento del lenguaje, sin que haga falta un soporte intenso en tiempo de ejecucin. Es muy posible escribir C a bajo nivel de abstraccin; de hecho, C se us como intermediario entre diferentes lenguajes. En consecuencia, el lenguaje C est disponible en un amplio abanico de plataformas (seguramente ms que cualquier otro lenguaje). Adems, a pesar de su naturaleza de bajo nivel, el lenguaje se desarroll para incentivar la programacin independiente de la mquina. Un programa escrito cumpliendo los

39 estndares e intentando que sea porttil puede compilarse en muchos

computadores. C se desarroll originalmente (conjuntamente con el sistema operativo Unix, con el que ha estado asociado mucho tiempo) por programadores para programadores. Sin embargo, ha alcanzado una popularidad enorme, y se ha usado en contextos muy alejados de la programacin de software de sistema, para la que se dise originalmente.

3.2.5 SISTEMA OPERATIVO LINUX UBUNTU 10.4

Todo computador para su funcionamiento, debe contar con un sistema operativo, se ha escogido software libre como sistema operativo de interaccin con la consola didctica, por ser software de distribucin gratuita (no requiere licencia), tener amplio soporte, y lo ms importante, es que se cuenta con cdigo base que permitir que sea totalmente adaptable a la necesidad del usuario. La distribucin Linux ms popular recibe su versin 10.04 Lucid Lynx. Se trata de LTS, que cuenta con 3 aos de soporte por parte de Canonical en su versin de escritorio. Novedades en Ubuntu 10.04Entre las mejoras y aadidos destacamos: - Kernel 2.6.32 El motor de todo sistema Linux es el kernel. Esta actualizacin incluye mejoras "que no se ven" pero que hacen de Ubuntu 10.04 un sistema ms fiable, seguro y robusto.

40 - Gnome 2.30. Gnome es el entorno de escritorio por defecto en Ubuntu. - Mejora en la velocidad de arranque, encender o reiniciar el PC es ahora mucho ms rpido. - Nuevo driver libre para tarjetas Nvidia: Al mismo tiempo se ha mejorado la integracin de los drivers propietarios de Nvidia. - Mejoras en el Centro de software de Ubuntu. Muy importante, sobre todo para usuarios nuevos, facilitando la instalacin de aplicaciones en Ubuntu 10.04 - Aspecto grfico mejorado. Se ha hablado ya mucho de este tema, la nueva apariencia del sistema ms acorde con las expectativas actuales de los usuarios. - Por defecto no se incluye Gimp en Ubuntu 10.04, aunque se puede instalar fcilmente. Buena decisin, ya que es un programa de retoque grfico para usos avanzados innecesario (y confuso) para muchos usuarios. Simple Scan remplaza a XSANE como aplicacin para escanear imgenes.

3.2.6 Programa de Simulacin Proteus

Se trata de un completo programa que permitir disear y simular circuitos electrnicos de forma prctica y accesible. Proteus est formado por dos utilidades principales: ARES e ISIS, y por los mdulos Electra y VSM.

41 Principales caractersticas La aplicacin ISIS permitir generar circuitos reales, y comprobar su

funcionamiento en un PCB (printed circuit board). Entorno de diseo grfico de esquemas electrnicos fcil de utilizar y con

efectivas herramientas. Entorno de simulacin con la tecnologa exclusiva de Proteus de modelacin

de sistemas virtuales (VSM). Herramienta ARES para el enrutado, ubicacin y edicin de componentes,

utilizado para la fabricacin de placas de circuito impreso. Interfaz intuitivo y atractivo estandarizado para todos los componentes de

Proteus.

Proteus cuenta con una gran cantidad de funciones para trabajar con circuitos electrnicos. Por ejemplo, permitir generar pistas de cobre de forma automtica. Adems, permitir la simulacin de PICs casi a tiempo real, de forma que se puede comprobar si el circuito creado funciona de la forma que se esperaba.

42

CAPITULO 4 4 IMPLEMENTACIN MODULO DIDCTICO


4.1 DISEO DE HARDWARE
4.1.1 CONSOLA DIDACTICA

Para realizar la simulacin de funcionamiento de la consola, se utilizar el programa PROTEUS V7.9, donde se dispone de todos los elementos necesarios, a excepcin de la tarjeta de audio, que no se puede simular, y se deber realizar las pruebas de funcionamiento con el circuito armado. La presente consola ser gobernada por las siguientes etapas claramente definidas que son: Interfaz Teclado Interfaz Display (GLCD) Interfaz USB (para comunicacin con CPU) Salida Audio (emisiones auditivas)

43

Figura 2 Diagrama en Bloques Interfaces Consola Autor: Freddy Guaranda

44

Figura 3 Simulacin en Proteus Consola Autor: Freddy Guaranda

45

4.1.2 Interfaz Teclado


Se trata de una placa diseada para interactuar directamente con el usuario, la placa consta de un arreglo de pulsadores en filas y columnas, se la diseo de un tamao que resulte prctico de usar y llamativo para el alumno, con botones que sean de fcil y cmodo uso, esto implica que sean suaves y de un tamao considerable, a continuacin se muestra imgenes del teclado diseado y construido

Figura 4 Simulacin en Proteus Teclado Autor: Freddy Guaranda

46

El teclado requerir de ocho puertos de este PIC, 4 se usarn para el muestreo de filas, y las otras cuatro restantes para el muestreo de columnas, de este modo se conseguirn leer 16 teclas, usando nicamente las 8 lneas o puertos de este PIC. Ahora bien el funcionamiento es bastante simple, se va a sumir que tanto las filas como columnas se encuentran inicialmente en estado alto (uno lgico), la pulsacin de un botn se la puede detectar al poner cada fila en bajo (cero lgico) y realizar un barrido de las columnas para detectar una de ellas en bajo , si ninguna columna est en bajo, entonces el cero de las filas se recorre hacia la siguiente consecutivamente, logrando censar cada una de las columnas y pudiendo verificar la tecla especifica que haya sido presionada. Como se ha indicado, se lograr verificar fsicamente la pulsacin de una tecla, mediante un cambio de voltaje tanto en las filas como columnas, ahora bien, como lo que estamos provocando es un cortocircuito (al enviar a tierra el voltaje de entrada), se requiere de la colocacin de una resistencia, que sea la encargada de absorber o servir de carga, para que el circuito no presente daos al enviar el voltaje de entrada a tierra, par este caso se usar resistencias de 1K ohm, que ser suficiente para crear una carga y evitar daos en el circuito. Como se indic anteriormente, se utilizar el Proteus para la simulacin y el ISIS como adicional para el diseo de las pistas, a continuacin se puede observar la placa que ser posteriormente quemada en la baquelita.

47

Figura 5 Simulacin en ARES teclado Autor: Freddy Guaranda

4.1.2.1 Impresin de Teclado en Baquelita


Realizado el diseo de las pistas, se proceder a imprimir las mismas sobre la baquelita, por medio de un papel termotransferible, se imprimir el diseo de manera normal mediante una impresora laser (necesariamente debe ser laser, no se puede usar impresora de tinta), una vez impreso en este papel termotransferible, se realizar la impresin en la baquelita mediante una fuente de calor (para este caso se usar una plancha domestica), se debe presionar uniformemente la plancha sobre el papel termotransferible aproximadamente 5 minutos (el tiempo de exposicin depender tanto del calor que emane la plancha y de la experiencia que se tenga).

48 Para la impresin o quemado de las pistas previamente diseadas en el ISIS, se usar Perxido de Nitrgeno, mezclado con agua oxigenada, esta mezcla genera un gas que es txico y puede causar dao respiratorio, por lo que se deber usar proteccin (guantes, mascarilla), es recomendado realizarlo en un espacio con bastante ventilacin, y en un envase adecuado (para este caso se usar un envase plstico), una vez realizada la mezcla de estos dos componentes, Realizada la transferencia de las pistas en la baquelita, se usar una lija delgada para realizar el pulimento de las pistas de la baquelita, esto se realiza, debido a que la impresin generar pistas de color negro, y se debe dejarla de color cobre, para poder realizar las sueldas requeridas. Para realizar las pruebas de funcionamiento, se debe colocar un multmetro en posicin de continuidad para revisar que tanto las pistas como los contactos se encuentren consecutivas separadas respectivamente, esto asegura primeramente, que se tenga buen contacto entre las pistas, y que adems, los terminales de las teclas no se junten provocando malos contactos entre filas y columnas, lo que podra generar lecturas errneas de teclas presionadas. Realizadas las verificaciones, de continuidad, se proceder a programar y configurar las libreras necesarias para el reconocimiento especifico de cada tecla, lo que se ver mas adelante en el capitulo de software.

49

Figura 6 Baquelita Terminada Autor: Freddy Guaranda

50 4.1.3 Interfaz GLCD

Para la consola, se requiere del uso de un Display grfico (GLCD), se har de esta manera, debido a que la idea principal de la consola, es hacer que el uso de la misma sea llamativo para el alumno, esto se lograr, haciendo que en el GLCD, a ms del tamao considerable de los nmeros que se muestren, se visualice imgenes que permita que el estudiante muestre inters en usar la consola. Se

usar el GLCD SHZJ2058 como se muestra en la Figura 7, de un tamao de 240 X 128 pixeles , monocromtico (blanco y negro)con fondo de luz amarillo

Figura 7 Simulacin en Proteus GLCD Autor: Freddy Guaranda

51

Figura 8 GLCD con Driver T693

En la Figura 8, se puede observar el Display que se va a usar en este proyecto, como se mira es fcil realizar grficos de cualquier ndole con solo configurarlo adecuadamente (la manera de configurarlo se mostrar mas adelante)

Figura 9 Mapa de Caracteres GLCD

En el cuadro anterior (Figura 9) se observa el Pixelado de las letras y nmeros de acuerdo a la configuracin de fbrica del GLCD (6x5), como se ver mas adelante, para el propsito requerido se modificarn estos parmetros.

52 4.1.3.1 Caractersticas del GLCD

Construccin de visualizacin Modo de visualizacin Tipo de pantalla Luz de fondo Direccin de la vista Temperatura de funcionamiento Manejar la tensin Conducir mtodo Tipo Nmero de lnea de datos Conector

240 X 128 puntos OSTN FSTN Positivo transreflectiva W/G/B/5.0V 6:00 Interior Poder Individual 1/128 deber, 1/12 seg COB 8 bits en paralelo PIN

Nota: Para conocer todas las caractersticas del GLCD, consulte Anexo 1

4.1.3.2 Pixelado de Imgenes

Para el manejo del GLCD, sobre todo en lo referente a imgenes, se debe tener muy en claro que este maneja pixeles, que en conjunto formarn una letra, nmero o grficos, pero para lograr este manejo, se debe tener en cuenta los siguientes puntos:

53 Un carcter puede estar formado por 6X5 u 8X8 pixeles, esto se refiere a que

un carcter tendr dentro del GLCD, un espacio de 8 pixeles de ancho, por ocho pixeles de largo, a esto hay que agregarle, que por lograr un buen manejo, y por normas, el carcter estar formado de 8X8, de los cuales solo se usara efectivamente 6X7pixeles, los pixeles sobrantes, se dedicar, como espacio libre para que al momento de graficarlos no se sobrepongan los unos con los otros. Como se mira en el primer punto, se debe tomar muy en cuenta el Pixelado

para la formacin de una imagen dentro de un GLCD, por lo tanto para este caso se usar un programa denominado GLCD Bit Map Editor, proporcionado por CCS, que viene como herramienta dentro del programa Micko C, esta herramienta, permite generar un mapa de bits de cualquier imagen requerida, solo se debe poner mucha atencin en el tamao de la imagen, de ser necesario, se debe redimensionarla con cualquier editor de grficos (en este caso se usar Paint), que dentro de su barra de herramientas, permite modificar, tanto el tamao de la imagen como el Pixelado de la misma (da la opcin de hacerla monocromtica)

54 4.1.3.2 GLCD Bit Map Editor

Figura 10 Pantalla de Trabajo GLCD MapBit

Autor: Freddy Guaranda

Como se observa en la Figura 10, este programa internamente maneja el driver T6963, que permite dimensionar el grfico, a un mapa de bits que este de acorde a requerimientos necesitados, con tan solo escoger el driver requerido, y el tamao del GLCD a usarse, sin embargo, se puede engaar al programa, y escoger un tamao de GLCD mas pequeo, para de esta manera optimizar espacio en la memoria del PIC

55 4.1.3.3 Ejemplo Pixelado de Imagen

Ahora se mostrar un ejemplo de cmo se debe pixelar una imagen para poder visualizarla correctamente en el GLCD, tomando en cuenta los siguientes aspectos: Recordar que un GLCD maneja internamente una memoria RAM y otra ROM,

por lo tanto se debe tener mucho cuidado en cuanto al tamao de la imagen, ya que se puede saturar la memoria, y provocar un funcionamiento errneo del mismo Debido a que se maneja una limitada memoria, es recomendable dimensionar

de manera adecuada el tamao, por ejemplo, se requiere usar solo la mitad de la pantalla del GLCD, no se debe escoger en el Bit Map Editor un GLCD de 240 x 128 (tomado en cuenta que es el que se usar en la consola), lo recomendable es usar uno de 128x128, con esto al generar el mapa de bits, permite ahorrar espacio en memoria y sobre posicin de imgenes,

4.1.4 Interfaz Audio A mas de usar la parte grfica en la consola didctica, se ha implementado el uso de una tarjeta de audio, la que permite emitir seales acsticas de felicitacin o de nimo de acuerdo al avance que el alumno presente durante el uso de la consola didctica, tambin se implement gracias a esta tarjeta de sonido, un apartado dentro de la programacin, que da la posibilidad al usuario, de escuchar varios cuentos infantiles pregrabados, que el mismo podr seleccionar a travs de un men, lo que le servir de distraccin al momento de concluir con el repaso de las

56 operaciones aritmticas, lo que sin duda mejorar la aceptacin del nio hacia la consola didctica.

Figura 11 Tarjeta de Audio (TDB380)

En la Figura 11 se puede observar la tarjeta de audio que se usar para emitir los mensajes auditivos que emitir la consola didctica a la derecha se puede ver la tarjeta fsica y a la izquierda se tiene la distribucin de pines que puede ser usado de acuerdo a lo que se requiera.

57

Figura 12 Descripcin de Pines tarjeta de Audio

En la Figura 12 se verifica la descripcin de cada uno de los pines que conforman la tarjeta de audio (TD380), donde se pondr hincapi en los puertos seriales, que servirn para la comunicacin mas adelante. La tarjeta de audio TDB380 posee varios modos de trabajo, siendo los mas usados; la comunicacin paralela, la reproduccin randomica, reproduccin normal, y reproduccin en modo serial, siendo esta ltima la utilizada en la consola

58

Figura 13 Configuracin modo serial TDB380

En la Figura 13 se indica como se debe conectar fsicamente la tarjeta de audio con el PIC (representado en la Figura con el MCU 8051), se usarn los pines 13, 15 y 16 tal como se indica en la Figura anterior. Nota: Para conocer todas las caractersticas del TDB380, consulte Anexo 2

59

Tabla 1 Comandos usados en la comunicacin serial

La tabla uno muestra los diferentes comandos que se usar para el control serial desde el PIC 18f4550 y la tarjeta de audio TDB380, como se puede ver, para la comunicacin de esta tarjeta no se requiere bits de control (el nico control que se tiene, es el pin de Busy (pin 13), como es usual en la trama serial, lo nico que se necesita, es realizar una pausa adecuada en la inicializacin, para que la tarjeta inicialice adecuadamente.

4.1.5 Interfaz USB Para poder realizar la comunicacin de la consola didctica con un computador, se requiere de un mtodo o interfaz que interprete o codifique los datos que son

60 enviados desde la consola hacia el computador, para que este sepa que se intenta decirle, para este fin , se requiere del PIC 18F4550, que dentro de su estructura, posee un puerto para comunicacin USB, sin embargo, el presente proyecto pretende comunicarse con un sistema operativo libre (en este caso (UBUNTU 10.0), para esto se realizar la interpretacin de estos comandos, a travs del puerto USB del PIC 18F4550 y mediante una interfaz grfica programada en JAVA, ms adelante se topar este punto de manera mas detallada, como resumen se dir que gracias a la propiedad de JAVA de ser una plataforma independiente del sistema operativo , no se tendr mayor dificultad en realizar la comunicacin USB, bastar con emular un puerto serial virtual que internamente convierta las ordenes del puerto USB del PIC en comandos seriales que sern interpretados por JAVA.
J1
VCC D+ DGND USBCONN 1 3 2 4 USB_VCC USB_D+ USB_DUSB_D+ 1k5 1N4148 1N4148

R6

D1

D2
VCC

Figura 14 Simulacin en Proteus del manejo USB Autor: Freddy Guaranda

El manejo del puerto USB, se lo realizar mediante los pines 26 y 27 del PIC, en la Figura 14 se observa que la resistencia R6, es la que brindar al USB la

caracterstica de ser un dispositivo de alta velocidad (en la bibliografa se indica un

61 enlace de consulta sobre todo el protocolo USB, para ms informacin referirse al mismo)

4.1.6 Micro controlador PIC 18F450

Como en todo proyecto, se requiere de un cerebro principal, que controle o maneje todos los procesos que sern realizados por la consola, para este caso las prestaciones que brinda el PIC 18F4550, son suficientes para cumplir con el

propsito del proyecto tal como son: espacio de memoria, numero de puertos libres, puerto para comunicacin USB, etc., tal y como se muestra en la Figura 15.

U1
KBD_C0 KBD_C1 KBD_C2 KBD_C3 SW_DIF XTAL2 XTAL1 MEM_SDA MEM_SCK USB_VCC KBD_F0 KBD_F1 KBD_F2 KBD_F3 2 3 4 5 6 7 14 13 33 34 35 36 37 38 39 40 RA0/AN0 RC0/T1OSO/T1CKI RA1/AN1 RC1/T1OSI/CCP2/UOE RA2/AN2/VREF-/CVREF RC2/CCP1/P1A RA3/AN3/VREF+ RC4/D-/VM RA4/T0CKI/C1OUT/RCV RC5/D+/VP RA5/AN4/SS/LVDIN/C2OUT RC6/TX/CK RA6/OSC2/CLKO RC7/RX/DT/SDO OSC1/CLKI RB0/AN12/INT0/FLT0/SDI/SDA RB1/AN10/INT1/SCK/SCL RB2/AN8/INT2/VMO RB3/AN9/CCP2/VPO RB4/AN11/KBI0/CSSPP RB5/KBI1/PGM RB6/KBI2/PGC RB7/KBI3/PGD RD0/SPP0 RD1/SPP1 RD2/SPP2 RD3/SPP3 RD4/SPP4 RD5/SPP5/P1B RD6/SPP6/P1C RD7/SPP7/P1D RE0/AN5/CK1SPP RE1/AN6/CK2SPP RE2/AN7/OESPP RE3/MCLR/VPP 15 16 17 23 24 25 26 GLCD_RW GLCD_RD GLCD_CD USB_DUSB_D+ MP3_RX MP3_TX

19 20 21 22 27 28 29 30 8 9 10 1

GLCD_DB0 GLCD_DB1 GLCD_DB2 GLCD_DB3 GLCD_DB4 GLCD_DB5 GLCD_DB6 GLCD_DB7 GLCD_CE GLCD_RST MP3_PL PIC_RESET

C1
18 220u VUSB PIC18F4550

Figura 15 Simulacin en Proteus de PIC 18F4550 Autor: Freddy Guaranda

62

Tabla 2 Caractersticas de PIC 18F4550

La tabla 2 muestra las especificaciones del PIC 18F4550, donde se puede constatar que el espacio de memoria y el numero de puertos son los adecuados para los propsitos del proyecto, para saber mas sobre las especificaciones, consultar el data sheet del PIC Nota: Para consultar las caractersticas completas del PIC dirigirse al Anexo 3

63 4.1.6.1 Distribucin de Pines

El micro controlador PIC 18F4550 formar parte de la lgica de control de la consola didctica, sus funciones especficas consistirn en controlar la actividad que se

realiza sobre el teclado, manejar la memoria serial externa, enviar los datos desde la memoria al GLCD, controlar el dispositivo USB, enviar las rdenes auditivas, enviar datos desde el puerto USB al computador y viceversa

GLCD Para el manejo del GLCD se usarn los pines del RC0 al RC2 que se encargaran de la lectura escritura. Los pines del RD0 al RD7 como pines de entrada de datos (recordar que es comunicacin paralela) Los pines RE0, RE1, para el manejo del RESET y contraste

TECLADO Para el manejo del teclado se usarn los pines del RA0 al RA3 para filas y del RB4 al RB7 para el manejo de columnas

AUDIO Para el manejo del TDB380 (audio) se usarn los pines RC6 para RX, RC7 para TX, RE2 para manejo del PL (busy)

64 MEMORIA Para el control de la memoria serial, se utilizarn los pines RB0 y RB1, estos pines enviarn y recibirn los datos que estn almacenados en el CI 24056

CONFIGURACION MICROCONTROLADOR

El PIC est configurado para trabajar con un cristal de 4MHZ conectado en los pines RA6 y RA7 , a ms de esto, se colocara en el pin RE3, el pulsador que servir de master reset , con resistencia en pull up, para evitar un cortocircuito al enviar VCC directamente a tierra

USB El manejo del USB, se har a travs de los pines RC4 y RC5, con configuracin de baja velocidad gracias a la resistencia de 1,5 K y dos diodos de alta velocidad de switcheo, que permitir, una cantidad de tensin en el USB D+ de 3.3 voltios a Vcc, lo que permitir al computador detectar que se esta intentando realizar una comunicacin USB de alta velocidad, esto brindar una velocidad de transmisin de 480Mbps, lo que permitir tener un nivel de confiabilidad muy alto.

4.2 SOFTWARE
Para la programacin de la consola didctica, se utilizar el programa PIC C Compiler desarrollado por CCS, este es un compilador de alto nivel, se escogi este

65 tipo de compilador (de alto nivel), debido a que permite la creacin de programas independientemente de la plataforma a usarse, y si se habla de microprocesadores, recordar que estos, han evolucionado, tomando en cuenta que deban mantener programas embebidos en su interior, es decir que tuviesen dentro de su estructura un CPU, memoria y perifricos, que pudiesen ser independientes de su utilidad. Dentro de los lenguajes de alto nivel se tiene el BASIC, FORTRAN, PASCAL, C, etc. El que maneja este compilador es el lenguaje C

4.2.1 Ventajas del C frente al Ensamblador

Mayor facilidad de programacin. El lenguaje C dispone de un conjunto de

operadores, datos y comandos que le confieren, al mismo tiempo, potencia y facilidad de programacin, lo que permitir un tiempo de desarrollo de programas mucho menor que con el lenguaje Ensamblador. Portabilidad entre sistemas. Con el lenguaje C se asegura la portabilidad entre

diferentes plataformas hardware o software, lo que quiere decir, por ejemplo, que un algoritmo implementado en C en una plataforma con Linux puede ser adaptado, prcticamente sin modificaciones, a un PIC. Esto permitir el aprovechamiento de numerosos algoritmos que se encuentran ya disponibles para otras plataformas diferentes a los PIC. El Ensamblador, por el contrario, ya se ha indicado que es fuertemente dependiente del hardware, por lo que no permitir su adaptacin de una plataforma a otra distinta.

66 Desarrollo de programas estructurados. El lenguaje C permitir desarrollar

programas estructurados en funciones, bloques o procedimientos, lo que proporciona una compartimentacin del cdigo. Por el contrario, el Ensamblador no es un lenguaje estructurado, lo que lleva a que los programas desarrollados en ensamblador sean lineales, con el inconveniente que esto implica en lo que se refiere a claridad del cdigo escrito. Fcil mantenimiento de los programas. Por ser un lenguaje de compresin

relativamente fcil. A pesar de todas las ventajas indicadas para el lenguaje C, no se puede prescindir totalmente del Ensamblador. ste, al estar ms cercano al nivel del hardware que se programa, permitir generar cdigo ms compacto (menor nmero de instrucciones para realizar una misma tarea), lo que lleva a una mayor velocidad de ejecucin. Aunque el desarrollo de programas para micro controladores es posible realizarlo totalmente en Ensamblador, la utilizacin del lenguaje C supone una alternativa muy interesante por su rapidez, facilidad, y portabilidad, sin que esto signifique que este nuevo enfoque venga a sustituir definitivamente al Ensamblador, en casos en los que se necesita crear partes de cdigo sujetas a determinadas restricciones ( reducido nmero de instrucciones, alta velocidad de ejecucin,) se puede implementar esa parte de cdigo directamente en Ensamblador dentro de un programa en C, consiguiendo de este modo un cdigo mucho ms eficiente. Esta ventaja no la tienen otros compiladores de Basic Pascal.

67

Figura 16 Pantalla Inicial de Programa PCW


Autor: Freddy Guaranda

La Figura 18 presenta una muestra de la interfaz grfica del programa PCW (PIC C Compiler), como se observa, mantiene un ambiente de programacin muy agradable a la vista, lo que ayudar en el proceso de escritura de las sentencias y rutinas necesarias para el control de este modulo didctico

68 4.2.1.1 MANEJO GLCD

Como ya se mencion, para la visualizacin de la consola, se va a utilizar un GLCD de 240 X 128 pixeles, para esto, se ha utilizado el driver proporcionado por CCS con algunas modificaciones; el driver es el T6963 graphical lcd driver, a continuacin se mostrar las modificaciones realizadas.

4.2.1.1.1 MODIFICACIONES A DRIVER 4.2.1.2 Area GLCD

Original #define set_tris_lcd(x) set_tris_d(x) //TRIS DataBus=x, note:control bus (PORTC) always outputs const int16 TextHome = 0x0780; const int8 TextArea = 0x001E; // how many bytes before a new line const int16 GraphicsHome = 0x0000; const int8 GraphicsArea = 0x001E; // how many bytes before a new line Modificado #define set_tris_lcd(x) set_tris_d(x) //TRIS DataBus=x, note:control bus (PORTC) always outputs const int16 TextHome = 0x0F00; const int8 TextArea = 0x001E; // how many bytes before a new line

69 const int16 GraphicsHome = 0x0000; const int8 GraphicsArea = 0x001E; // how many bytes before a new line Se modific el TextHome a 0x0F00 , debido a que el driver proporcionado por CCS maneja un GLCD de 240 X 64 pixeles, por lo tanto se recalcul el rea del GLCD de la siguiente forma: 240 bits / 8 bits = 30 Bytes 128 filas de 30 bytes 240 filas de 30 bytes 240 X 128 = 30720 pixeles, 3840 bytes que transformado a Hexadecimal es 0x0F00 Las modificaciones realizadas al driver, permite bsicamente dos cosas, la primera es lograr controlar el tamao total del GLCD (recordar que el driver maneja pantallas de 64x64 y el este es de 240x128), y la segunda es manejar de mejor manera la memoria interna del GLCD (RAM y ROM)

4.2.1.3 PINES DE CONTROL

Original struct lcd_pin_def { BOOLEAN unused1; BOOLEAN unused2; // C0 // C1

BOOLEAN unused3; // C2

70 BOOLEAN unused4; // C3 BOOLEAN w_bar; // C4 Write bar active low BOOLEAN r_bar; // C5 Read bar active low BOOLEAN cd; // C6 Command/Data BAR 1=command 0=data

BOOLEAN reset_bar; // C7 Reset active low int data : 8; // PortD=Data bus

Modificado struct lcd_pin_def { BOOLEAN w_bar; BOOLEAN r_bar; // C0 // C1

BOOLEAN cd; // C2 BOOLEAN unused0; // C3 BOOLEAN unused1; // C4 Write bar active low BOOLEAN unused2; // C5 Read bar active low BOOLEAN reset_bar; // C6 Command/Data BAR 1=command 0=data

BOOLEAN unused3; // C7 Reset active low int data }; Se modific el uso de los pines C4 y C5, que en el driver original estaban destinados para los pines de envi de datos (del PIC al GLCD), y que se necesitan para el : 8; // PortD=Data bus

71 manejo del puerto USB, tal como se observa en la Figura 17, los pines requeridos son los 24 y 25 que representan D+ y D- del USB

Figura 17 Pines de Control USB

4.2.1.4 Librera GLCD

Para poder graficar de manera adecuada en el GLCD se debe crear a mas de las modificaciones en el driver, libreras que faciliten esta tarea, a continuacin se

muestra la manera en como crear la librera adecuada para los diferentes tipos de GLCD (para este caso 240X128). Recolectar informacin en internet sobre el GLCD, verificar si existen proyectos

realizados en C para este mismo GLCD (controlador T693), de esto se puede extraer como conclusin, que los driver originales son creados para el controlador T693 de

72 128 X 64 pixeles, que para el caso seria la mitad del GLCD, por lo que las modificaciones realizadas en el punto anterior, son bsicas del manejo del GLCD

4.2.1.5 Funcionamiento del Driver

El driver que se ha programado, maneja un cuadro de coordenadas, en el que invocando la librera adecuada, se debe colocar la direccin del puntero (maneja posicin en coordenadas x y), y el espacio de memoria, y el driver iniciar el

despliegue del dato de izquierda a derecha y de arriba hacia abajo, con una velocidad aproximada de 100ms, que dar la impresin al ojo humano de grficos casi instantneos.

4.2.1.5.1 Inicializacin de GLCD

Se realiza la inicializacin para indicarle al GLCD , para que trabaje en modo texto o modo grafico o mixto (para este caso mixto), indica la direccin de home de texto, la home de inicio de grficos, se indica el rea que se ocupar de texto, indicar la direccin de memoria de grficos y el rea de grficos (cantidad de bytes). Se coloca el estado inicial de los pines del GLCD, esto permitir al GLCD encontrarse dentro de los parmetros requeridos para iniciar la lectura /escritura adems inicializo comunicacin I2C void glcd_init(void) { la

73 int16 counter; set_tris_c(0x00); // graphic lcd control lines all output set_tris_e(0x00); // graphic lcd control lines all output set_tris_lcd(0xff); //TRIS DATA bus,note:control bus always outputs bit_clear(LCD2,0); LCD.w_bar = 1; LCD.r_bar = 1; LCD.cd = 1; // INITIAL STATES OF CONTROL PINS // // command

// bit_clear(LCD2,1); //LCD.reset_bar = 0; // perform a reset delay_us(10); // delay for a reset

bit_set(LCD2,1); //LCD.reset_bar = 1; // run delay_us(5); // Set up the graphics and text areas glcd_WriteCmd2(TextHome, 0x40); glcd_WriteCmd2(TextArea, 0x41); glcd_WriteCmd2(GraphicsHome, 0x42); glcd_WriteCmd2(GraphicsArea, 0x43); // set address to 0 glcd_WriteCmd2(0x0000, 0x24); glcd_WriteCmd2(0x0000, 0x24); // Clear all RAM of LCD (8k) glcd_WriteByte(1, AutoModeWrite);

74 for (counter = 0; counter < 0x1fff; counter++) glcd_WriteByteAuto(0); } glcd_WriteByte(1, AutoModeReset); bit_set(LCD2,0); // fill everything with zeros

4.2.1.5.2 Inicializacin Comunicacin I2C

Esto ayuda a manejar la comunicacin serial desde el GLCD hacia la memoria, aunque en realidad la inicializacin se realiza entre el PIC y la memoria, y los datos son recuperados desde el GLCD void glcd_init_ext_eeprom(void) { init_ext_eeprom(); Esto es una instruccin propia del PIC C.

4.2.1.5.3 Manejo Datos e Instrucciones

Dentro de este Driver, se debe identificar si lo que se enva es una instruccin o un dato, esto se lograr mediante el uso de la siguiente subrutina: void glcd_WriteCmd1(int data, int cmd) {

75 glcd_WriteByte(0, data); glcd_WriteByte(1, cmd);

Dentro de esta subrutina, se indica que el bit 0 representara un dato y el bit 1 indicara una instruccin, esto se realiza de esta manera debido a que al manejar un cambio brusco dentro del programa del PIC, puede generar que el mismo se cuelgue.

4.2.1.5.4 Pausa Necesaria

Todo LCD o GLCD, maneja retardos entre l envi de un comando y otro comando, esto permitir al GLCD, manejar de mejor manera la forma de trabajo interna, permitiendo que no se presente sobre escrituras de imagen y bloqueo de seales (escritura/lectura) Para este caso se maneja alrededor de 200 ms entre cada envi de comando/instruccin, se usa el comando NOP, que indica un ciclo de mquina.

4.2.1.5.5 Escritura en GLCD

Para lograr escribir en el GLCD ya sea grficos o texto, se debe indicarle al mismo en donde se posicionar el cursor, y a partir de esto, el GLCD sabr en donde inicia la escritura, esto se lograra manejando la subrutina que se indicar mas adelante, la manera en como escribe es haciendo un rastreo de izquierda a derecha y de arriba

76 hacia abajo, manejando coordenadas ordenadas en formato x y, donde X representa filas y Y representa columnas. Instrucciones que manejan escritura en GLCD void glcd_gotoxy(int x, int y, int1 text) { // sets memory location to screen location x, y // location 1,1 is upper left corner; text = 1 (text area), text = 0 (graphics area) int16 location, home; int line; if (!text) { home = GraphicsHome; line = GraphicsArea; else { home = TextHome; line = TextArea; } location = home + (((int16)y - 1) * line) + x - 1; glcd_WriteCmd2(location, 0x24); Para poder indicarle al GLCD si lo que se intenta escribir es texto o grficos, se debe enviar un cero para grficos o un uno para texto dentro de la instruccin void glcd_gotoxy(int x, int y, int1 0 para grafico, 1 para texto)

4.2.2 MANEJO TECLADO

Para el manejo del teclado, se utiliz una librera programada exclusivamente para este caso, a continuacin se indica el flujograma de funcionamiento donde se puede

77 observar el orden de trabajo y las subrutinas que este debe hacer de acuerdo al caso seleccionado.

Figura 18 Diagrama de Flujo Funcionamiento del Teclado

Autor: Freddy Guaranda

78 4.2.1 Librera Teclado

La librera del teclado permite reconocer cuando se digite una tecla especfica, a continuacin se indica la forma en como se configura el teclado #byte trisa = 0xF92 #byte trisb = 0xF93 #byte porta = 0xF80 #byte portb = 0xF81

#define C0 0 #define C1 1 #define C2 2 #define C3 3 #define F0 4 #define F1 5 #define F2 6 #define F3 7

// Keypad layout: char const KEYS[4][4] = {{'D','7','4','1'}, {'0','8','5','2'}, {'E','9','6','3'}, {'F','C','B','A'}};

79 4.2.1.1 Inicializacin Teclado

En esta etapa se configura los pines del PIC que se manejarn como entradas y salidas, las entradas se encuentran conectadas con resistencias pull up a VCC (siempre estarn en estado alto, a la espera de un cambio a estado bajo). La inicializacin se maneja con la siguiente subrutina: void kbd_init() { BYTE temp0; temp0 = get_tris_a(); temp0 &= 0xF0; set_tris_A(temp0); temp0 = get_tris_b(); temp0 |= 0xF0; temp0 &= 0xF4; set_tris_B(temp0);

4.2.1.2 Barrido de Teclas

Para saber que tecla se ha presionado, se debe realizar un barrido de filas y columnas, esto se logra mediante la siguiente subrutina: char kbd_getc( ) { static char last_key;

80 BYTE kchar; BYTE col; BYTE row; BYTE temp0; Boolean flag; kchar='\0'; flag = false; col = 0; while((col<5)&& !flag) { output_A(0xFF); switch (col) case 0: bit_clear(porta,C0); break; case 1: bit_clear(porta,C1); break; case 2: bit_clear(porta,C2); break; {

81 Como se observa dentro de la subrutina, se ha implementado una bandera, esta ayudara a saber primero, que tecla se ha presionado, a mas de esto, servir para poder realizar una comparacin entre la tecla anterior y la tecla actual, esto trabajar como un anti rebote, lo que permitir que al momento de presionar una tecla, solo la escriba una vez, evitando la saturacin de nmeros y colgado de memoria en el PIC

4.2.3 MANEJO USB

A continuacin se muestra el flujograma del funcionamiento bsico del dispositivo USB, se debe tener en cuenta que para que el PIC 18F4550, sepa que se ha conectado el USB, se ha programado el mismo, de tal manera que al inicializarse, realice un rastreo de conexin con USB, de no detectar nada, salta a otra subrutina, donde realizarn todos los procesos previamente definidos (suma, resta,

multiplicacin), por esta razn se debe apagar y encender la consola, en caso de requerir conexin con el computador mediante el puerto USB.

82

Figura 19 Diagrama de Flujo Manejo USB

Autor: Freddy Guaranda

83

Figura 20 Diagrama de Flujo Manejo USB Consola

Autor: Freddy Guaranda

Como se observa en las ilustraciones 19 y 20, el manejo del puerto USB esta ligado al control de la consola didctica, esto permite poder saber a que momento se realizo la conexin USB y poder deshabilitar las funciones internas de la consola didctica e iniciar la transmisin de datos entre el PIC y la PC

4.2.3.1 Manejo de Comunicacin con Dispositivos de Clase (CDC)

Dentro del manejo del puerto USB, se tienen varias configuraciones, que permiten realizar una comunicacin ms eficaz de acuerdo a las necesidades, por ejemplo

84 transmisin de video, transmisin de informacin, etc. Una de estas caractersticas es el manejo de CDC, esto implica que se crear internamente un puerto serial (COM) virtual; con un adecuado firmware se logra que el puerto USB se comporte como un puerto serial, para este cometido. Se requiere de las libreras proporcionadas por el PIC C como lo son las USB_CDC.H, USB _DESC_CDC.H , USB.C, el anlisis de estas libreras no se encuentran dentro del estudio planteado, por lo que se indicar nicamente el funcionamiento global del mismo. EL CDC enva los datos en la trama de control, esto permitir que internamente al USB encapsular los datos dentro de las tramas de control y le permitir comportarse como un puerto serial.

Figura 21 Trama que maneja el Puerto USB

Como se ve en la Figura 21, se puede aprovechar el paquete de datos que maneja el USB, para adicionar en el, las tramas seriales que son las que se requieren

conjuntamente con el paquete Javaxcomm para realizar el intercambio de informacin entre la consola didctica y la Pc cargada con sistema operativo Ubuntu 10.4 (Linux)

85 4.2.4 MANEJO SALIDA AUDIO

A continuacin se muestra el flujograma del funcionamiento de la tarjeta de audio TDB380

Figura 22 Diagrama de flujo Manejo Audio en Consola

Autor: Freddy Guaranda

La salida de audio es una parte muy importante dentro de la consola didctica, es la encargada de emitir las ordenes auditivas, que permitirn al alumno mantenerse atento a lo que esta realizando, logrando mejorar la concentracin de este en las tareas que esta realizando

86

4.2.4.1 Inicializando TDB380

Para realizar un manejo adecuado de este reproductor de audio, se debe crear un driver con todas las opciones que puede manejar; se recomienda crear dentro del programa subrutinas con todas las funciones disponibles, aunque no se utilicen, ya que esto a largo plazo facilitar el uso de la tarjeta en otros proyectos. Nota: Si se requiere informacin de cmo habilitar esta opcin, consulte Anexo 2

4.2.4.2 Play Randmico

Esta funcin permite realizar una reproduccin randomica de lo almacenado en la memoria porttil que posee el reproductor Nota: Si se requiere informacin de cmo habilitar esta opcin, consulte Anexo 2

4.2.4.3 Play Normal

Esta funcin sirve para realizar una reproduccin ordenada de la memoria porttil que posee el reproductor, mediante la escritura de una pista especfica que debe estar enumerada secuencialmente por nmeros, por ejemplo A001, A002, A003, etc. Nota: Si se requiere informacin de cmo habilitar esta opcin, consulte Anexo 2

87 4.2.4.4 Volumen UP/Down

Esta funcin facilita el envo de un dato desde la tarjeta de audio hacia el PIC, el cul interpretar este dato como un incremento o decremento del volumen, de acuerdo a lo requerido. A pesar de poder realizar este incremento de volumen a voluntad, se ha saeteado al reproductor en el volumen mximo. Nota: Si se requiere informacin de cmo habilitar esta opcin, consulte Anexo 2

4.2.4.5 Resumen

Esta funcin permite reiniciar la reproduccin de la ltima pista reproducida Nota: Si se requiere informacin de cmo habilitar esta opcin, consulte Anexo 2

4.2.4.5 Stop

Esta funcin ayuda a detener la reproduccin de la pista Nota: Si se requiere informacin de cmo habilitar esta opcin, consulte Anexo 2

88 4.2.4.6 Seleccionar Carpeta

Esta funcin maneja la seleccin de una carpeta que no sea la raz de la SD, recordar que el reproductor, puede incluir 15 carpetas distintas enumeradas del 0 al 15 que almacenen diferentes tipos de pistas, esto lo se usar para poder separar los mensajes auditivos de los cuentos a escucharse Nota: Si se requiere informacin de cmo habilitar esta opcin, consulte Anexo 2

4.3 INTERFAZ GRAFICA PARA UBUNTU 10.4


Para el desarrollo de la interfaz grfica, se usar programacin en JAVA, para la consola se maneja el software llamado NETBEANS 7.1.2 , este, tiene soporte tanto para Windows, como para Linux, esta ltima es la que interesa debido a que el programa de la interfaz de consola deber trabajar bajo este sistema operativo (Ubuntu de Linux).

4.3.1 NETBEANS 7.1.2 4.3.2 Caractersticas Generales

Programacin basada en lenguaje C Nivel Alto de programacin Relativamente sencillo de usar Soporte en lnea

89 Libreras dedicadas o susceptibles a modificaciones

La Figura 23 muestra la pantalla de trabajo del NETBEANS, a la izquierda se puede ver un men de bsqueda rpida, donde se encuentran los proyectos realizados y las funciones a usarse, a la derecha se observa la pantalla donde se ingresarn los comandos correspondientes a la programacin realizada.

Figura 23 Pantalla de Trabajo Netbeans


Autor: Freddy Guaranda

90 4.3.3 Librera Javaxcomm

Para el desarrollo de la interfaz, se requerir de una librera en particular, denominada Javaxcomm, esta librera, permite realizar la comunicacin USB desde el PIC hacia el computador, esto se logra realizando una emulacin puerto COM a bajo nivel, lo que permitir a la interfaz grfica, leer el puerto USB como si se tratara de un puerto serial, recordar, que la base del trabajo del puerto USB, es el manejo serial de las tramas, por lo tanto se esta realizando el mismo proceso, pero a otro nivel de comunicacin, esto, brindar la misma fiabilidad y prestaciones de una comunicacin USB, pero tratada como serial.

4.3.3.1 Configuracin de Javaxcomm

Para poder manejar la librera Javaxcomm, se debe iniciar instalando Java en este computador (sistema operativo Linux) de la siguiente manera desde un terminal $ sudo apt-get install sun-java6-bin sun-java6-jre sun-java6-jdk Luego de instalado Java, se procede a instalar las libreras de Javaxcomm tal y como se muestra a continuacin: Paso 1: Descargar la api desde el sitio de java developernetwork http://java.sun.com /products/javacomm/

91 Paso 2: Instalar el soporte nativo para el sistema operativo. Aunque la aplicacin en teora sea independiente de la plataforma, se tendr que instalar soporte para este sistema operativo y cada versin del API a usar es distinta para cada sistema operativo. Adems de esto la nueva versin de la API ya no esta disponible para Windows .Descargar la versin para Linux Paso 3: Descomprimir el archivo comm3.0_u1_linux.zip Paso 4: Para instalar el manejo de java desde el puerto serial hay que hacer lo siguiente: 1)Copiar los .so que vienen con el paquete comm (libLinuxSerialParalell.so y libLinuxSerialParalell_g.so) en /usr/lib/jvm/java-6-sun-1.6.0.24/jre/lib/i386 (Relativo a la instalacin de java, no se instala en la misma carpeta en todas las distribuciones de Linux, as que hay que buscarla) 2) Copiar el archivo comm.jar en /usr/lib/jvm/java-6-sun-1.6.0.24/jre/lib/ext 3) Copiar el archivo javax.comm.properties adjunto en /usr/lib/jvm/java-6-sun-1.6.0.24/jre/lib 4) Copiar los .so adjuntos en /usr/lib (Los mismos del paso 1)Para copiar archivos en Linux a las carpetas de sistema se debe de hacer con privilegios de root, para ello se escriben los comandos sudo o su. En terminal se hace de la siguiente manera y es semejante para todos los pasos solo hay que cambiar la ruta de copiado. $ sudo cp /ruta/del/archivo /ruta/de/copiado

92 Existe un modo ms sencillo copiando los archivos de modo grfico tan solo con hacer click derecho en el archivo deseado copiar y pegar para los usuarios de Windows que no estn familiarizados con la terminal. Para ello se accede al terminal y se escribe: $ sudo nautilus De este modo se abrir una ventana con privilegios de root. Basta con copiar y pegar los archivos en la ubicacin correcta

4.3.3.2 Enlaces Simblicos

Son los enlaces que suelen utilizarse habitualmente para unir internamente un acceso directo con una determinada funcin, con la caractersticas que cualquier cambio que se haga tanto en el directorio original como en el contenido del enlace simblico quedar reflejado en el otro (si cambias el contenido del enlace simblico se podr ver en el original y viceversa) Borrar el enlace simblico no afecta al original (seguir existiendo) Para crear un enlace simblico escribir el siguiente comando desde la terminal ln -s DIRECTORIO_ORIGINAL DIRECTORIO_ENLACE

Donde DIRECTORIO_ORIGINAL es el directorio al que se quiere apuntar

93 DIRECTORIO_ENLACE es donde se quiere poner el enlace al DIRECTORIO_ORIGINAL Sirva de ejemplo la siguiente sentencia ln -s $HOME/www /opt/joomla1.5.1/joomla-1.5.2-0/apache2/htdocs/ Donde /opt/joomla1.5.1/joomla-1.5.2-0/apache2/htdocs/ es la ruta al directorio en el que se encuentran los archivos del servidor web que tengo montado en mi equipo con el stack de Bitnami $HOME es mi directorio de usuario www es un directorio que me he creado en mi carpeta de usuario

4.3.3.3 Crontab (Administrador de procesos en segundo plano)

El fichero crontab permite manejar los demonios de arranque para poder ejecutar el enlace simblico desde la inicializacin del sistema operativo, tal como se muestra en el punto siguiente a tratar manejo de script. La configuracin se realiza tal y como se indica a continuacin: Cada uno de los ficheros crontab de configuracin, estn formados por asignaciones de valores a variables de entorno y una lnea por actividad que se requiera programar para su ejecucin. Las lneas en blanco, los espacios iniciales y los tabuladores se ignoran.

94 Los comentarios en este fichero son lneas completas cuyo primer carcter que no sea un espacio es un carcter #. Las lneas de programacin de tareas siguen un formato estndar formada por cinco campos que indican un instante de ejecucin y la ruta del fichero que hay que ejecutar. Los campos que describen el instante de ejecucin son por orden: minuto 0-59 hora 0-23 da del mes 0-31 mes 0-12 (o su nombre con las tres primeras letras en ingls) dia semana 0-7 (0 or 7 indica domingo, o su nombre con las tres primeras letras en ingls) Un campo puede contener: Un asterisco (*) para indicar todos los posibles valores. Un valor fijo para indicar un minuto, hora, da o mes. Un rango de valores, dos nmeros separados por guiones. Un rango puede terminar en /numero para indicar el incremento. Una lista de valores separados por comas. Un valor */numero para indicar todos los valores con incremento de "nmero". Ejemplos Se observan diversas formas de configurar la ejecucin de la orden

/usr/bin/fetchmail:

95 Ejecutarlo a las 12 de la noche cada da 00*** /usr/bin/fetchmail

Ejecutarlo a las 12 :15 de la noche cada da 15 0 * * * /usr/bin/fetchmail

Ejecutarlo 15 despus de cada hora exacta, a las y cuarto 15 * * * * /usr/bin/fetchmail

Ejecutarlo el da 1 del mes a las 6:30 30 6 1 * * /usr/bin/fetchmail

Ejecutarlo cada dos da a las 6:30 30 6 */2 * * /usr/bin/fetchmail

Ejecutarlo los das 1,3,7,12,15 y 20 del mes a las 6:30 30 6 1,3,7,12,15,20 * * /usr/bin/fetchmail

Ejecutarlo el da 1 de julio a las 6:30 30 6 1 7 * /usr/bin/fetchmail

Ejecutarlo los lunes cada 10 minutos */10 * * * 1 /usr/bin/fetchmail

Ejecutarlo de lunes a viernes a las hora en punto 0 * * * 1-5 /usr/bin/fetchmail

96 4.3.3.3 Manejo de Script Primer script

Los script se manejan directamente desde el crontab, se tiene dos, el primero permite verificar si existe el archivo autoserial.lock, y de ser el caso, borra este archivo, que se crea al generar el enlace smblico (segundo script) # m h dom mon dow command @reboot if [ -e /var/tmp/autoserial.lock ]; then echo Removing lockfile $lockfile; rm -fv /var/tmp/autoserial.lock; fi

Segundo script

Crea el enlace simblico del ttyACMx a un ttyUSB8x, donde x puede ser cualquier USB de 0 a 9, por ejemplo si genera un ACM0 seria igual a un ttyUSB80, por qu se usar un ttyUSB8x es porque estos puertos se encuentran libres, sera muy difcil que un computador este usando un puerto 80, a mas de eso se crea un ttyUSB, debido a que la librera TXRXCOMM, no permite el manejo de puertos ACM, pero si de ttyUSB,. En caso de ser desconectado el puerto, este mismo script, realiza el borrado del puerto, logrando as saber si se ha establecido la conexin o se finalizado la misma. @reboot /home/freddy/usbCron.sh

97

4.4 Programacin en Java

La

programacin en java se realizar a travs del netbeans, a continuacin se

explica como se manejar las diferentes clases que controlaran la interfaz grfica en Ubuntu.

4.4.1 Pantalla Inicial

Para crear la pantalla inicial de la interfaz didctica se debe crear un JFRAME, con varias LABEL, donde se digitarn los mensajes iniciales de bienvenida, tal como se muestra en la Figura 24.

Figura 24 Pantalla Bienvenida Interfaz en Ubuntu

Autor: Freddy Guaranda

98

Internamente, se maneja varias subrutinas, que permiten primeramente, hacer un barrido del puerto USB (recordar que el USB se manejar como serial, gracias a las libreras TXRXCOMM instaladas previamente), las clases que se manejan se incluyen a continuacin: import inout.TxRxRS232; import java.util.logging.Level; import java.util.logging.Logger; * @author freddy public class Inicio extends javax.swing.JFrame { Para iniciar con el muestreo de los puertos habilitados, se utilizan los siguientes comandos: private TxRxRS232 serial = new TxRxRS232(); private String portName = "/dev/ttyS80"; Inicio.SerialCheck serialCheck = new SerialCheck(); Lo que se har en este punto es crear una nueva instancia serial, donde se verificarn los puertos seriales que se encuentren enlazados en este computador * Creates new form Inicio public Inicio() throws Exception { //jTextFieldSerialRx.setVisible(false); initComponents(); serial.setup();

99 portName = serial.getPortName(); serialCheck.start(); // // // // // } Luego de revisado los estados de los puertos existentes, en el caso de no haber encontrado un Puerto de comunicacin, el programa procede a cerrar dicha comunicacin, para que trabaje el programa secundario (en el PIC). En el caso de haberse encontrado un puerto habilitado, este puede ser seleccionado a travs del cuadro de dialogo tal y como se muestra en la Figura 25, en ese momento se procede con el intercambio de informacin entre la consola didctica y el computador Thread.sleep(5000); TxRxRS232.PortWriter.sendData("P"); serialCheck.serialFlag=false; this.dispose(); serial.close();

Figura 25 Pantalla de seleccin de puertos


Autor: Freddy Guaranda

100

Una vez elegido el Puerto a utilizarse, se procede a inicializar el JFRAME y los LABEL con las siguientes instrucciones: private void initComponents() { jLabel1 = new javax.swing.JLabel(); jLabel2 = new javax.swing.JLabel(); jLabel3 = new javax.swing.JLabel(); setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE); addWindowListener(new java.awt.event.WindowAdapter() { public void windowClosing(java.awt.event.WindowEvent evt) { formWindowClosing(evt); } Internamente el programa estar censando constantemente el estado de la comunicacin serial, a la espera de que se digite alguna tecla, esto, se enlazar con una accin especfica, que har que el programa navegue de acuerdo a las teclas presionadas desde la consola didctica.

101

Figura 26 Segunda Pantalla Manejo Consola

Autor: Freddy Guaranda

En la Figura 26, se debe escoger el tipo de actividad que se quiere realizar, se puede escoger entre practicar las operaciones bsicas y escuchar un cuento. Dentro de la opcin de practicar las operaciones (Figura 27), el programa, se encuentra censando el estado del interruptor interno de la consola, que es el que indica el nivel de las operaciones, que estn entre fcil y difcil (recordar que el programa del PIC tiene un puerto especfico asignado a esta tarea)

102

Figura 27 Tercera Pantalla manejo Consola Elije Operacin

Autor: Freddy Guaranda

En caso de haber elegido la opcin de cuentos, se tendr una pantalla que permite escoger el cuento que se desea escuchar como se muestra a continuacin (Figura 28)

103

Figura 28 Cuarta Pantalla Manejo consola Escoja un cuento


Autor: Freddy Guaranda

El manejo del nivel de operacin se escoger de acuerdo al interruptor de la consola didctica (bajo nivel para fcil, alto nivel para difcil); el formato establecido dentro del manejo del PIC, indica que para el modo grfico, se deben usar las mismas grficas del GLCD (cartillas didcticas), con la diferencia que estas cartillas numricas se encuentran a color; para el modo difcil, se utilizar una pantalla similar a la usada comnmente en un cuaderno de matemticas tal y como se muestra en las ilustraciones siguientes (Figura 29 modo fcil, Figura 30 modo difcil)

104

Figura 29 Pantalla Manejo Consola Modo Fcil

Autor: Freddy Guaranda

Figura 30 Pantalla Manejo Consola Modo Difcil

Autor: Freddy Guaranda

105

4.5 Funcionamiento Consola Didctica

El funcionamiento de la consola didctica para aprendizaje de operaciones aritmticas bsicas, es muy similar al descrito en el punto 4.4 Programacin en JAVA. Como se puede observar en la Fotografa 2 , al momento de iniciar la consola (Fotografa 3), se tiene un tiempo de espera de 5 segundos, que es el tiempo en el cual, el programa del PIC, empieza a censar si el puerto USB se encuentra conectado, de ser ese el caso, se pone en modo USB (Fotografa 1), e internamente, desconecta la visualizacin de pantallas en el GLCD, e inicia una interaccin de la consola didctica con la interfaz grfica programada en Java para Linux, esto claro, gracias a las libreras previamente cargadas en LINUX (punto 4.3.3 Librera Javaxcomm).

Fotografa 1 Pantalla USB Consola Didctica Autor: Freddy Guaranda

106

Fotografa 2 Pantalla de Bienvenida Consola Didctica Autor: Freddy Guaranda

Fotografa 3 Pantalla Cargando Programa Consola Didctica Autor: Freddy Guaranda

En el caso de que el PIC no detecte una conexin USB, salta a otra subrutina, donde primeramente desconecta la comunicacin serial-USB (recordar que en realidad, la comunicacin se esta haciendo serialmente, empaquetando los datos dentro de la trama USB), y habilita tanto la lectura/escritura desde el PIC al GLCD y el censado

107 de teclas, as tambin habilita la funcin de clculo para la comparacin de respuestas

Fotografa 4 Pantalla Consola Didctica Elija Actividad Autor: Freddy Guaranda

En la Fotografa 3 se puede ver la pantalla que

permite poder seleccionar la

actividad que el alumno desee realizar , se puede escoger entre practicar las operaciones bsicas (suma, resta, multiplicacin) y escuchar un cuento, se implement esta opcin, ya que se constat que el alumno despus de un determinado tiempo(aproximadamente 1 hora) , empieza a perder inters en el uso de la misma, por lo tanto esta implementacin brinda la oportunidad de mantener al alumno atento en el uso de la consola.

108

Fotografa 5 Pantalla Consola Didctica Escoja Operacin Autor: Freddy Guaranda

Fotografa 6 Pantalla Consola Didctica Operaciones Modo Fcil Autor: Freddy Guaranda

109 En el caso de haber elegido la opcin de practicar las operaciones se puede escoger entre los diferentes tipos de operaciones bsicas que maneja la consola (suma, resta, multiplicacin) tal como se muestra en la Fotografa 4; tal y como se lo realiz en la interfaz grfica de Java, en la consola, se tiene dos niveles de dificultad, la mas llamativa, es la mostrada en la Fotografa 5 , donde se puede ver que las pantallas utilizadas son dos cartillas didcticas, que son comnmente usadas en las aulas de estudio para incentivar el aprendizaje en los nios.

110

4.2 Caractersticas Generales

4.2.1 Estructura Interna

En la siguiente Imagen (Fotografa 6) se puede observar la estructura interna de la cubierta (tapa) de la consola didctica, al lado derecho se ancla externamente el teclado matricial, y al lado izquierdo se coloc el Display grfico (GLCD)

Display Grfico (GLCD)

Teclado

Fotografa 7 Tapa Superior Consola Autor: Freddy Guaranda

111

Amplificador

Tarjeta principal

TDB380

Fotografa 8 Estructura Interna Consola Autor: Freddy Guaranda

En la fotografa 8 se puede ver la estructura interna del cuerpo de la

consola

didctica, en ella se puede notar claramente el Amplificador de audio, la tarjeta reproductor de pistas (TDB380) y la tarjeta principal, que es donde se encuentra el PIC, y las interfaces de funcionamiento (teclado, GLCD, USB)

112

4.2.2 Medidas

Largo 29 cm

A n c h o 2 1 c m

Fotografa 9 Medidas Consola Frente Autor: Freddy Guaranda

113 A l t o 7 c m Puerto USB

Interruptor ONN/OFF Plug Alimentacin

Fotografa 10 Medidas Consola Lateral Autor: Freddy Guaranda

Las medidas de la consola son: Largo; 29cm Ancho 21cm Alto 7cm En las fotografas anteriores, se puede observar el prototipo de la consola terminada, donde se muestran las especificaciones fsicas de la misma (Fotografas 9 y 10), como se pretendi desde un principio, la consola didctica, es llamativa, de fcil uso y adaptable al nio, por lo que ser de gran ayuda en el proceso de aprendizaje del alumno

114

4.6 ANLISIS DE COSTOS


En la siguiente tabla, se describen los costos incurridos dentro del proceso de desarrollo; en el mismo se incluyen los costos de ensayo y tiempo de investigacin necesarios para el desarrollo e implementacin de la consola didctica.

CUADRO DE MATERIALES tem Baquelita 20X20 PIC 18F4550 Memoria 24LC256 Resistencias Diodos Puente de Diodos Conector USB tipoB Regulador 7805 Conectores Hembra Espadines Socket 8 Pines Socket 40 Pines Bus datos Borneras Cantidad 3 3 3 15 4 3 2 5 20 4 2 2 5 8 Valor en Dlares 60 24 15 7,5 80 1,5 2 5 10 6 2,5 6 10 4

115 Amplificador Led Cable USB GLCD Parlantes Bateras Quemador PIC Acido Total Tabla 3 Tabla de Costos de Materiales 4 5 2 1 2 5 1 10 20 50 16 95 6 30 45 15 510,5

CUADRO DE COSTOS MANO DE OBRA Cantidad en tem Investigacin Pruebas Total Tabla 4 Tabla de Costos Mano de Obra das 60 20 Valor en Dlares 1600 530 2130

116 CUADRO DE COSTOS INSUMOS tem Impresiones Anillados Empastados Total Tabla 5 Tabla de Costos Insumos Cantidad 500 5 2 Valor en Dlares 500 25 40 565

CUADRO RESUMEN DE COSTOS Item Materiales Papelera Mano de Obra Total Tabla 6 Cuadro Resumen Costos Cantidad Valor en Dlares 510,5 565 2130 3205,5

117

4.7 ANALISIS FODA


Fortalezas De fcil manejo Oportunidades

Intuitivo

En comparacin con equipos similares, la consola didctica maneja grficas mucho ms amigables con el usuario

Llamativo No necesita conexin a internet para proveer prestaciones Prctico iguales a las soluciones on line La programacin de la consola puede ser variada para prestar un sin nmero de facilidades, no solo en materia de aritmtica, sino en muchas ms como por ejemplo idiomas, lectura, etc. Debilidades Tamao excesivo Amenazas

Costo de Demo Considerable

Por el hecho de ser demo, las partes usadas en el proyecto presentan precios considerables Productos similares con tamaos mas reducidos que la consola

118

CAPITULO 5
5 CONCLUCIONES Y RECOMENDACIONES

5.1 Conclusiones

El uso de la consola didctica para aprendizaje de operaciones aritmticas

bsicas, mejor de manera significativa la forma en como los alumnos aprenden a sumar, restar y multiplicar, todo esto ayudado por la digitalizacin de algunas cartillas didcticas lo que hace de la consola un mtodo para aprender muy divertido y til. La mejora mostrada al practicar las operaciones aritmticas bsicas con la

consola didctica, ayud a los padres a sentirse ms confiados en la manera como sus hijos van mejorando da a da, lo que conlleva a un mejor entendimiento y una disminucin de estrs entre padres e hijos. Al realizar la configuracin sobre Linux, se determin que es un sistema

operativo muy flexible, que puede ser modificado a conveniencia, que cuenta con soporte de un sin nmero de blogs y tutoriales on line, lo que permiti la configuracin del mismo para los propsitos necesitados de manera segura y rpida, a ms de esto el beneficio que otorga el hecho de ser un software de distribucin libre, permite trabajar sin la necesidad de instalar licencias ni complementos que generen costos adicionales. La programacin en Java de la Interfaz grfica permiti verificar que este

ambiente de programacin es muy adecuado en cuanto a portabilidad se trata, ya

119 que al ser independiente del sistema operativo nativo, puede ser muy beneficioso en programas que requieran trabajar sobre una plataforma independiente El lenguaje en C para la aplicacin del PIC 18F4550, fue muy til dentro del

proceso de programacin, al realizar programacin de alto nivel, se puede realizar rutinas y subrutinas, de manera mas ordenada, a ms de esto, el programa usado (PIC C), tiene una gran variedad de libreras que resultaron muy tiles al momento de encontrarse inconvenientes en la realizacin del escaneo del GLCD

5.2 Recomendaciones

El manejo de la consola didctica contribuye de manera significativa al

aprendizaje de las operaciones aritmticas bsicas, para esto se recomienda el uso prolongado de la misma, para poder obtener resultados altamente satisfactorios, recordando que la consola, posee una opcin de cuentos, donde el alumno se podr distraer mientras toma un descanso, logrando as mejorar el apego del nio hacia la consola. Para lograr un entendimiento claro de las opciones que posee la consola

didctica, se ha colocado un seguro en la programacin, que consiste en bloquear el teclado mientras las ordenes auditivas estn en proceso, por lo que se recomienda, no forzar el teclado para evitar daos prematuros del mismo. Verificar la existencia de los driver necesarios para el manejo de los

diferentes perifricos que se requieran usar, de ser necesario, asegurarse primero, que el GLCD (en este caso), maneje un driver conocido, caso contrario, se deber

120 crear uno nuevo, y para este propsito, se debe tener conocimientos avanzados de programacin o al menos una idea clara de que es programar. Para el manejo del reproductor TDB380, se requiere realizar un anlisis a

fondo de las caractersticas del mismo, a ms de esto, se debe realizar pruebas por separado de este modulo, ya que no se puede discriminar daos ya sea en la

configuracin o en l envi de comandos desde el PIC al serial del mdulo y en el tipo de archivos que ese esta usando para las pistas de reproduccin Mientras se est realizando la programacin tanto en el PIC como en Java, se

debe tener muy en cuenta el reiniciar el dispositivo si se ha realizado cambios de fondo en el programa, ya que los simuladores, a pesar de ser una herramienta de mucha utilidad en el proceso de diseo, no pueden recrear el funcionamiento especfico de cada dispositivo, y puede dar una idea errnea del funcionamiento del programa, volviendo el diseo muy complejo y desconfiable.

121

Bibliografa
1. 2. http://interface.centraltreasure.com/files/pdf/usb_standart_in_a_nutshell_pdf.pd http://es.scribd.com/doc/54731106/javax-comm-API-Instalacion-Ubuntu-einstalacion-JDK 3. 4. 5. 6. 7. 8. www.ccsinfo.com http://rxtx.qbang.org/wiki/index.php/Event_based_two_way_Communication www.oracle.com/Sun www.java.com/es/ http://es.wikibooks.org/wiki/Programaci%C3%B3n_en_C http://www.monografias.com/trabajos33/programacion-lenguajec/programacion-lenguaje-c.shtml 9. 10. 11. http://courseware.ikor.org/java http://es.wikibooks.org/wiki/Programaci%C3%B3n_en_Java www.netbeans.org

122

GLOSARIO DE TERMINOS

USB CPU GLCD LUDICO

Universal Serial Bus Unidad Central de Procesamiento Display Grfico Mtodo de enseanza con estrategias para aprender a travs del juego

PIC PCB VCM ISIS MICRO C MICROCHIP CCS PAINT PIXELAR PULL UP VCC CDC COM

Micro controlador Programable Tarjeta de circuito impreso (espaol) Modelacin de circuitos virtuales Sistema de enrutado de Esquemas inteligentes (espaol) Software compilador para PIC desarrollado por Microchip Compaa fabricante de circuitos electrnicos Empresa de Servicios Informticos personalizados Software de Windows creado para editar imgenes Hacer de una fotografa o imagen una sucesin de puntos Accin de elevar la tensin de salida de un circuito electrnico Corriente continua directa Manejo de Comunicacin con dispositivos de Clase (USB) Puerto de un computador para realizar comunicacin (serial o paralela)

ANEXO 1
CARACTERSTICAS GLCD JHD240128

         ! "  #  $  %   ! & # '  

   (     ) 0   ) 1 2 ! ! # 3

    2

'

3 4 3 5

) 6     7 (  

1. FEATURES
'LVSOD\FRQVWUXFWLRQ   '276 'LVSOD\PRGH 67125)671 <* 'LVSOD\W\SH 3RVLWLYH7UDQVIOHFWLYH %DFNOLJKW :*%9 9LHZLQJGLUHFWLRQ RFORFN 2SHUDWLQJWHPSHUDWXUH ,QGRRU 'ULYLQJYROWDJH 6LQJOHSRZHU 'ULYLQJPHWKRG GXW\ELDV 7\SH &2% &KLS2Q%RDUG 1XPEHURIGDWDOLQH ELWSDUDOOHO &RQQHFWRU 3LQ

2. MECHANICAL DATA
,7(0 0RGXOHVL]H 9LHZLQJDUHD 'RW 6L]H 3LWFK :,'7+     +(,*+7      $ERXW 7+,&.1(66  0$;    81,7 PP PP PP PP PP J

'LDPHWHURIPRXQWLQJKROH :HLJKW

3. ABSOLUTE MAXIMUM RATINGS


8 9 @ 9 A B C B @ D E E F G H 9 I F B R S P T G C G S P U 9 C B V 9 F W B X P G C E G P Q Y ` a b c d e f f g h s t t u q v w x

s t t

4. ELECTRICAL CHARACTERISTICS
k d d e f g h e l i m f f l i n o p q r n s t i f d f i j u v w x y z { | | } ~

| { v } x

| { v } x

| { v } x

| { v } x

v { | { y x z

z v y

v { | { y x z

z v y

| { | { } } { | u

y x z z v y

y x { x

~ v z

| x y

{ y y x

{ y y x

5. RELIABILITY
2SHUDWLQJOLIHWLPH
/RQJHUWKDQKRXUV DWURRPWHPSHUDWXUHZLWKRXWGLUHFWLUUDGLDWLRQRIVXQOLJKW

5HOLDELOLW\&KDUDFWHULVWLFV
,WHP +LJKWHPS /RZWHPS +LJKKXPLGLW\ 7KHUPDOVKRFN 9LEUDWLRQ  +UV  +UV  5++UV  &\FOHV PLQ  PLQ  PLQ  PLQ 2SHUDWLQJWLPH7KLUW\PLQXWHV H[SRVXUHLQHDFKGLUHFWLRQ [\] 6ZHHS)UHTXHQF\ PLQ +] +] +] $PSOLWXGHPPGRXEOHDPSOLWXGH 7HVW &ULWHULRQ 7RWDOFXUUHQW FRQVXPSWLRQVKRXOGEH EHORZGRXEOHRI LQLWLDOYDOXH &RQWUDVWUDWLR VKRXOGEHZLWKLQ LQLWLDOYDOXHf 1RGHIHFWLQ FRVPHWLFDQG RSHUDWLRQDOIXQFWLRQ LVDOORZDEOH

6. BLOCK DIAGRAM

7. TIMING DIAGRAM

8. AC characteristics

9. Standard Character Code Table

10. INSTRUCTION SET

11. EXTERNAL DIMENSION

12.INTERFACE

ANEXO 2
CARACTERSTICAS TDB380

TENDA ELECTRONICS LIMITED

TDB380

Embedded MP3 Module


Model No.:TDB380
Datasheet V2.0

1. Product Features........................................................................................................... 2 2. Product Applications...................................................................................................... 2 3. Electrical Parameters .................................................................................................... 2 4. Pins and Operating Modes............................................................................................ 3 4.1. Pins Description .................................................................................................. 3 4.2 Operating Mode and settings ............................................................................... 4 4.2.1. MP3 Mode........................................................................................................ 5 4.2.2. Direct-Play Mode ............................................................................................. 6 4.2.3. Parallel Mode ................................................................................................... 8 4.2.4. Serial Mode...................................................................................................... 9 5. On-Board EEPROM .....................................................................................................11 6. Transfer files to SD Memory Card ................................................................................11 7. Versions ...................................................................................................................... 12 8. Contact and Support ................................................................................................... 13

Note : The functions descriptive in grey words in the datasheet are not valid now .

www.tendaelectronics.com

tendaelectronics@gmail.com

TENDA ELECTRONICS LIMITED


1. Product Features

TDB380

* Support mp3 files playing with stereo audio output * Support normal mp3 player functions ( play, next, prev.,vol-,vol+,..) * With Parallel and Serial interface for MCU controlling * Loop play function available * Support one pushbutton play one mp3 file ,eight pushbuttons max. * Easy to update the mp3 files by SD card reader connect to PC * Wide power supply from 5V to 30V * Select and play more than 3000 files by MCU via parallel or serial interface * Support SD card from 32MB to 2GB * Size with 51mm*33mm*8mm * TF Card version also available with the same function but smaller size * TF Card version size 51mm*21mm*8mm

2Product Applications

Entertainment (MP3 music player , Sound box ,Background music system ,Game Machine music system ,Kid Rider Music player, Talking Robot, High-Class Talking Toys, ) Announcing system (Elevator announcer , Queue calling system ,Bus station announcer ,advertsing system ,Warning system , Spots Voice Introducer ,Voice Tour Guider, Machine Voice manual , Home & Office Appliance (MP3 Door Bell ,Home anti-theft alarm system, Phone Switch Board Music Player,Voice guide manual for home appliance,) And so on .

3.

Electrical Parameters

Parameter Operating voltage Limited voltage Standby current Operating current Audio power

Conditions

Min. 6 5

Typical 12

Max. 24 30 50 100

Unit V V mA mA mVpp

VDD=12V VDD=12V Max. volume


2

200

www.tendaelectronics.com

tendaelectronics@gmail.com

TENDA ELECTRONICS LIMITED


4. Pins and Operating Modes

TDB380

4.1.Pins Description

Pin Name P0 - P7 PL VOL+ VOLSCL SDA BUSY RXD TXD HPR HPL GND VDD

Pin No. 8-1 14 9 10 11 12 13 15 16 17 18 19 20

Description Date Ports / Trigger Input Trigger input Button ,Vol+ ButtonVolEEPROM CLK (I2C) EEPROM DATA (I2C) Busy Low active Serial Port ,Data Receive Serial Port ,Data Transmit Audio output R Audio output L Power GND Power Positive

Remark

LED : D2 on PCB

LED : D1 on PCB

www.tendaelectronics.com

tendaelectronics@gmail.com

TENDA ELECTRONICS LIMITED


4.2 Operating Mode and settings

TDB380

MP3 Mode : The module will work as a normal mp3 player with Play/Pause , Stop,Prev.,Next, FF 10 (Fast forward 10 songs),REW 10 (Rewind 10 songs), Vol+,Volfunctions . Direct-Play Mode: The module will play 8 files by 8 pushbuttons,Press one pushbutton play the related MP3 file, Keep pressing the pushbutton for loop playing. Parallel Mode: The module working under Parallel interface control via PL and P7-P0 pins. Serial Mode: The module working under Serial interface control via TXD and RXD All the functions of this module can be realized in Parallel and serial mode . There are 4 operating Modes ( MP3 Mode,Direct-Play Mode, Parallel Mode, Serial Mode) The Operating Mode settings M1,M0 00 01 10 11 Operating Mode Parallel Mode Direct- Play Mode MP3 Mode Serial Mode Priority High Low Low Highest Remark M0 and M1 points shown on above PCB picture 0: Connect to GND 1: NC (Not connected)

www.tendaelectronics.com

tendaelectronics@gmail.com

TENDA ELECTRONICS LIMITED

TDB380

Note:When the module powered , it will detect the state of M0 and M1 to enter into the selected Mode,The priority of serial interface Mode is Highest ,It is valid in any Mode.

4.2.1. MP3 Mode

p MP3 Mode settings Set M1=1M0=0 before powered the module. qMP3 Mode introduction The module work as a normal mp3 player with Play/Pause , Stop,Prev.,Next, FF 10 (Fast forward 10 songs),REW 10 (Rewind 10 songs), Vol+,Vol- ,FC (Folder Change) functions . r MP3 Mode Application Schematic.

www.tendaelectronics.com

tendaelectronics@gmail.com

TENDA ELECTRONICS LIMITED


sPins function in MP3 Mode. Pin Name PL P7 P6 P5 P4 P3 P2 P1 P0 BUSY Function Play/ Pause Previous Next Stop Vol + Vol FF 10 files REW 10 files Folder Change Busy ,Low active Priority High Low Low Higher Highest Highest Lowest Lowest Highest

TDB380

Remark

Priotity : Highest > Higher > Low > Lowest Set the module to MP3 Mode and keep PL pin low level(Connect PL to GND),Once power up the module it will start to play all the MP3 files and Loop automatically. Connect a pushbutton between PL and GND , Press the button,it will start to play all files,during playing the next press will Pause it. In Pause state ,press this button again will continue to play . Playing order: From first file to last file in folder 1, then first file to last file in folder 2 , loop in this way . FF 10 / REW 10 :It will Fast Forward 10 files , or Rewind 10 files ,if the folder no have enough files , it will switch to next folder or previous folder. P0 for folder change: The module playing file in folder 1 , press the button to change the folder, it will switch to folder 2 and start to play file 1 in this folder.

4.2.2. Direct-Play Mode


p Direct-Play Mode settings Set M1=0M0=1 before powered the module qDirect-Play Mode introduction In the Direct-Play Mode , Press the PL button will random trigger one file, Long press for loop playing all the files in root directory .P7 to P0 work as direct play buttons, one button corresponding one file , negative pulse trigger .Press the button one time ,will play file one time and stop. Long press the button will loop playing the corresponding file. r Direct-Play Mode Application Schematic www.tendaelectronics.com
6

tendaelectronics@gmail.com

TENDA ELECTRONICS LIMITED

TDB380

s Pins function in MP3 Mode Pin No. 1 2 3 4 5 6 7 8 9 10 Pin Name PL P7 P6 P5 P4 P3 P2 P1 P0 BUSY Function Loop playing files in root directory randomly Play file 1 in root directory Play file 2 in root directory Play file 3 in root directory Play file 4 in root directory Play file 5 in root directory Play file 6 in root directory Play file 7 in root directory Play file 8 in root directory Busy , Low active Priority Low 1 Low 2 Low 3 Low 4 Low 5 Low 6 Low 7 Low 8 Low 9 -Remark

Note: Priority order Low 9 > Low 8 >Low 7 > Low 6 > Low 5 >Low 4 > Low 3 > Low 2 > Low 1 For example ,when press button P1 and P0 ,it will play the file corresponding to P0 ,because it have higher priority .

www.tendaelectronics.com

tendaelectronics@gmail.com

TENDA ELECTRONICS LIMITED


4.2.3. Parallel Mode

TDB380

pParallel Mode settings Set M1=0M0=0 before powered the module qParellel Mode introduction All the functions of the module can be realized in Parallel Mode , by PL and address pins P7 - P0 .Such as play the exact file , volume setting , and so on . r Parallel Mode Application Schematic

sPins function in Parallel Mode Pin No. 14 8-1 13 Pin Name PL P7-P0 BUSY Function Execute the Command Set command for the specified MP3 file Busy ,Low active Priority Low High -Remark

www.tendaelectronics.com

tendaelectronics@gmail.com

TENDA ELECTRONICS LIMITED


tData Pin and Function ... P7-P0 000 001-199 200-231 Function Random play files in root directory Selected the MP3 file Set volume(0 to 31) , Value=command word-200 Other command same in Serial Mode Priority Low Low Highest

TDB380

Remark

Note : Undefined command word will be carried out . When the Failling Edge is detected from PL, the system will read the data ports and judge to carry out the command and operation. uData ports P7 0 0 0 1 1 1 P6 0 0 0 1 1 1 P5 0 0 0 1 1 1 P4 0 0 0 1 1 1 , P3 0 0 0 1 1 1 P2 0 0 1 1 1 1 P1 0 0 1 0 1 1 P0 0 1 0 1 0 1 No. 0 1 2 233 254 255 Remark

0: Data port connect to GND

1: Data port N/C (Not connected )or connect to positive

4.2.4.

Serial Mode

p Serial Mode settings The Serial Mode always valid in any settings or Operating Mode. q Serial Mode introduction The Serial Mode is full-function with the highest priority . Serial Port Baud rate : 4800bps , Verify Bit :None ,Data bit : 8 ,

Stop Bit :1

www.tendaelectronics.com

tendaelectronics@gmail.com

TENDA ELECTRONICS LIMITED


rParallel Mode Application Schematic

TDB380

s Serial port command The Serial port command are Single-byte ,No need Preamble Code and Check Code . Command and function list as follows Command Word 000 001-199 200-231 232 233 234 235 236 237 238 239 240 241 C8- E7 0xE8 0xE9 0xEA 0xEB 0xEC 0xED 0xEE 0xEF 0xF0 0xF1 0x00 Function Random play files in folder 01(Root directory) Play the selected MP3 file Set volume , Value=command word - 200 Vol + Vol Responds Illegal Command signal Suspend current playing Resume playing Pause 0.5 second Responds files amount in current folder ,255 Maximum Stop to play Responds the folders amount in the SD card Change to folder 01 ( Root directory)
10

Priority Low Low Highest Highest Highest High Low Low Low Low High High High

Remark

Not Valid Now

Not Valid Now Not Valid Now

Not Valid Now

www.tendaelectronics.com

tendaelectronics@gmail.com

TENDA ELECTRONICS LIMITED


255 0xFF Change to folder 15

TDB380
High

Note: The Command word can send by series ,but not over 30 Command words .The system will process the pause automatically . Undefined command word will be carried out. When the folder number over 15 , it will return to folder 01( root directory),When the files number over 199 in the folder,it will return to file 1 . The Maximum folder is 15(including root directory) in the SD card , the extra will not be identified. There are 199 files maximum in each folder,the extra files will not be identified. When the Module Operating in MP3 Mode ,the maximum files is 65535 in each folder. tPins function in Serial Mode Pin No. 13 15 16 Pin Name BUSY RXD TXD Function Busy, Low active Data Receive Data Transmit Priority ---Remark

5. On-Board EEPROM

The On-Board EEPROM with 256 Byte for storing the operating information. Now only use Byte address 0x00 - 0x0F , others Byte address 0x10 - 0xFF are available for users. Parameter Volume Value 00 - 31 Store Address 0x01 Read-Write Nature Read and Write Remark

NoteByte addresses 0x00 - 0x0F only for system using,Prohibit to access .

6. Transfer files to SD Memory Card

The Root directory will default act as folder No.01 ,and other folders should be named to 02 ,03,14,15 . The folders will not be identified over folder 15 . In PC ,Name the MP3 files to A001.mp3 ,A002.mp3 ,A199.mp3 ,select all the files and right click the mouse and send the files to SD card root directory (act as folder 01).Then New folders(folder 02,03,15) in PC , and copy the MP3 files to each folder and www.tendaelectronics.com
11

tendaelectronics@gmail.com

TENDA ELECTRONICS LIMITED

TDB380

name them A001.mp3 ,A002.mp3,A003.mp3 ,A199.mp3. The maximum files in each folder is 199 .Also select all the folders right clik the mouse and send them to SD card . The files and folders transfer order to SD card is the real order in the MP3 Module playing system , rename the MP3 files and foders just for the order transfer .Becausse the file transfer in PC will follow the rule :Transfter the selected folders to SD card ,it will transfter folder 02 first ,then 03,15 ,inside the folder it will transfer from A001.mp3,A002.mp3,A199.mp3 in folder 02,then A001.mp3 ,A002.mp3 A199.mp3 in folder 03,By order. Example

7.

Versions

Date 2007-06 2008-08

Description Initial version Add product pictures

Remark V1.0 V2.0

Note : The functions descriptive in grey words in the datasheet are not valid now .

www.tendaelectronics.com

12

tendaelectronics@gmail.com

TENDA ELECTRONICS LIMITED


8. Contact and Support

TDB380

Tenda Electronics Limited Add: Guang Cong North Road,Taiping Economic and Technological Development Zone,Guangzhou,China Contact Person : Mr Keith / Miss Lynn / Miss Lisa Tel: 86-20-22100510 Fax:86-20-37921106 Email:tendaelectronic@gmail.com web:www.tendaelectronics.com

The End

www.tendaelectronics.com

13

tendaelectronics@gmail.com

ANEXO 3
CARACTERSTICAS PIC 18F4550

PIC18F2455/2550/4455/4550 Data Sheet


28/40/44-Pin, High-Performance, Enhanced Flash, USB Microcontrollers with nanoWatt Technology

2009 Microchip Technology Inc.

DS39632E

Note the following details of the code protection feature on Microchip devices: Microchip products meet the specification contained in their particular Microchip Data Sheet. Microchip believes that its family of products is one of the most secure families of its kind on the market today, when used in the intended manner and under normal conditions. There are dishonest and possibly illegal methods used to breach the code protection feature. All of these methods, to our knowledge, require using the Microchip products in a manner outside the operating specifications contained in Microchips Data Sheets. Most likely, the person doing so is engaged in theft of intellectual property. Microchip is willing to work with the customer who is concerned about the integrity of their code. Neither Microchip nor any other semiconductor manufacturer can guarantee the security of their code. Code protection does not mean that we are guaranteeing the product as unbreakable.

Code protection is constantly evolving. We at Microchip are committed to continuously improving the code protection features of our products. Attempts to break Microchips code protection feature may be a violation of the Digital Millennium Copyright Act. If such acts allow unauthorized access to your software or other copyrighted work, you may have a right to sue for relief under that Act.

Information contained in this publication regarding device applications and the like is provided only for your convenience and may be superseded by updates. It is your responsibility to ensure that your application meets with your specifications. MICROCHIP MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND WHETHER EXPRESS OR IMPLIED, WRITTEN OR ORAL, STATUTORY OR OTHERWISE, RELATED TO THE INFORMATION, INCLUDING BUT NOT LIMITED TO ITS CONDITION, QUALITY, PERFORMANCE, MERCHANTABILITY OR FITNESS FOR PURPOSE. Microchip disclaims all liability arising from this information and its use. Use of Microchip devices in life support and/or safety applications is entirely at the buyers risk, and the buyer agrees to defend, indemnify and hold harmless Microchip from any and all damages, claims, suits, or expenses resulting from such use. No licenses are conveyed, implicitly or otherwise, under any Microchip intellectual property rights.

Trademarks The Microchip name and logo, the Microchip logo, dsPIC, KEELOQ, KEELOQ logo, MPLAB, PIC, PICmicro, PICSTART, rfPIC and UNI/O are registered trademarks of Microchip Technology Incorporated in the U.S.A. and other countries. FilterLab, Hampshire, HI-TECH C, Linear Active Thermistor, MXDEV, MXLAB, SEEVAL and The Embedded Control Solutions Company are registered trademarks of Microchip Technology Incorporated in the U.S.A. Analog-for-the-Digital Age, Application Maestro, CodeGuard, dsPICDEM, dsPICDEM.net, dsPICworks, dsSPEAK, ECAN, ECONOMONITOR, FanSense, HI-TIDE, In-Circuit Serial Programming, ICSP, Mindi, MiWi, MPASM, MPLAB Certified logo, MPLIB, MPLINK, mTouch, Octopus, Omniscient Code Generation, PICC, PICC-18, PICDEM, PICDEM.net, PICkit, PICtail, PIC32 logo, REAL ICE, rfLAB, Select Mode, Total Endurance, TSHARC, UniWinDriver, WiperLock and ZENA are trademarks of Microchip Technology Incorporated in the U.S.A. and other countries. SQTP is a service mark of Microchip Technology Incorporated in the U.S.A. All other trademarks mentioned herein are property of their respective companies. 2009, Microchip Technology Incorporated, Printed in the U.S.A., All Rights Reserved. Printed on recycled paper.

Microchip received ISO/TS-16949:2002 certification for its worldwide headquarters, design and wafer fabrication facilities in Chandler and Tempe, Arizona; Gresham, Oregon and design centers in California and India. The Companys quality system processes and procedures are for its PIC MCUs and dsPIC DSCs, KEELOQ code hopping devices, Serial EEPROMs, microperipherals, nonvolatile memory and analog products. In addition, Microchips quality system for the design and manufacture of development systems is ISO 9001:2000 certified.

DS39632E-page ii

2009 Microchip Technology Inc.

PIC18F2455/2550/4455/4550
28/40/44-Pin, High-Performance, Enhanced Flash, USB Microcontrollers with nanoWatt Technology
Universal Serial Bus Features:
USB V2.0 Compliant Low Speed (1.5 Mb/s) and Full Speed (12 Mb/s) Supports Control, Interrupt, Isochronous and Bulk Transfers Supports up to 32 Endpoints (16 bidirectional) 1 Kbyte Dual Access RAM for USB On-Chip USB Transceiver with On-Chip Voltage Regulator Interface for Off-Chip USB Transceiver Streaming Parallel Port (SPP) for USB streaming transfers (40/44-pin devices only)

Peripheral Highlights:
High-Current Sink/Source: 25 mA/25 mA Three External Interrupts Four Timer modules (Timer0 to Timer3) Up to 2 Capture/Compare/PWM (CCP) modules: - Capture is 16-bit, max. resolution 5.2 ns (TCY/16) - Compare is 16-bit, max. resolution 83.3 ns (TCY) - PWM output: PWM resolution is 1 to 10-bit Enhanced Capture/Compare/PWM (ECCP) module: - Multiple output modes - Selectable polarity - Programmable dead time - Auto-shutdown and auto-restart Enhanced USART module: - LIN bus support Master Synchronous Serial Port (MSSP) module Supporting 3-Wire SPI (all 4 modes) and I2C Master and Slave modes 10-Bit, Up to 13-Channel Analog-to-Digital Converter (A/D) module with Programmable Acquisition Time Dual Analog Comparators with Input Multiplexing

Power-Managed Modes:
Run: CPU on, Peripherals on Idle: CPU off, Peripherals on Sleep: CPU off, Peripherals off Idle mode Currents Down to 5.8 A Typical Sleep mode Currents Down to 0.1 A Typical Timer1 Oscillator: 1.1 A Typical, 32 kHz, 2V Watchdog Timer: 2.1 A Typical Two-Speed Oscillator Start-up

Special Microcontroller Features:


C Compiler Optimized Architecture with Optional Extended Instruction Set 100,000 Erase/Write Cycle Enhanced Flash Program Memory Typical 1,000,000 Erase/Write Cycle Data EEPROM Memory Typical Flash/Data EEPROM Retention: > 40 Years Self-Programmable under Software Control Priority Levels for Interrupts 8 x 8 Single-Cycle Hardware Multiplier Extended Watchdog Timer (WDT): - Programmable period from 41 ms to 131s Programmable Code Protection Single-Supply 5V In-Circuit Serial Programming (ICSP) via Two Pins In-Circuit Debug (ICD) via Two Pins Optional Dedicated ICD/ICSP Port (44-pin, TQFP package only) Wide Operating Voltage Range (2.0V to 5.5V)
10-Bit CCP/ECCP A/D (ch) (PWM) 10 10 13 13 2/0 2/0 1/1 1/1 EUSART MSSP I/O SPP SPI Y Y Y Y Master I2C Y Y Y Y Comparators 2 2 2 2 Timers 8/16-Bit 1/3 1/3 1/3 1/3

Flexible Oscillator Structure:


Four Crystal modes, including High-Precision PLL for USB Two External Clock modes, Up to 48 MHz Internal Oscillator Block: - 8 user-selectable frequencies, from 31 kHz to 8 MHz - User-tunable to compensate for frequency drift Secondary Oscillator using Timer1 @ 32 kHz Dual Oscillator Options allow Microcontroller and USB module to Run at Different Clock Speeds Fail-Safe Clock Monitor: - Allows for safe shutdown if any clock stops

Program Memory Device

Data Memory

Flash # Single-Word SRAM EEPROM (bytes) Instructions (bytes) (bytes) 24K 32K 24K 32K 12288 16384 12288 16384 2048 2048 2048 2048 256 256 256 256

PIC18F2455 PIC18F2550 PIC18F4455 PIC18F4550

24 24 35 35

No No Yes Yes

1 1 1 1

2009 Microchip Technology Inc.

DS39632E-page 1

PIC18F2455/2550/4455/4550
Pin Diagrams

28-Pin PDIP, SOIC

MCLR/VPP/RE3 RA0/AN0 RA1/AN1 RA2/AN2/VREF-/CVREF RA3/AN3/VREF+ RA4/T0CKI/C1OUT/RCV RA5/AN4/SS/HLVDIN/C2OUT VSS OSC1/CLKI OSC2/CLKO/RA6 RC0/T1OSO/T13CKI RC1/T1OSI/CCP2(1)/UOE RC2/CCP1 VUSB

1 2 3 4 5 6 7 8 9 10 11 12 13 14

28 27 26 25 24 23 22 21 20 19 18 17 16 15

RB7/KBI3/PGD RB6/KBI2/PGC RB5/KBI1/PGM RB4/AN11/KBI0 RB3/AN9/CCP2(1)/VPO RB2/AN8/INT2/VMO RB1/AN10/INT1/SCK/SCL RB0/AN12/INT0/FLT0/SDI/SDA VDD VSS RC7/RX/DT/SDO RC6/TX/CK RC5/D+/VP RC4/D-/VM

40-Pin PDIP

MCLR/VPP/RE3 RA0/AN0 RA1/AN1 RA2/AN2/VREF-/CVREF RA3/AN3/VREF+ RA4/T0CKI/C1OUT/RCV RA5/AN4/SS/HLVDIN/C2OUT RE0/AN5/CK1SPP RE1/AN6/CK2SPP RE2/AN7/OESPP VDD VSS OSC1/CLKI OSC2/CLKO/RA6 RC0/T1OSO/T13CKI RC1/T1OSI/CCP2(1)/UOE RC2/CCP1/P1A VUSB RD0/SPP0 RD1/SPP1

PIC18F2455 PIC18F2550

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21

RB7/KBI3/PGD RB6/KBI2/PGC RB5/KBI1/PGM RB4/AN11/KBI0/CSSPP RB3/AN9/CCP2(1)/VPO RB2/AN8/INT2/VMO RB1/AN10/INT1/SCK/SCL RB0/AN12/INT0/FLT0/SDI/SDA VDD VSS RD7/SPP7/P1D RD6/SPP6/P1C RD5/SPP5/P1B RD4/SPP4 RC7/RX/DT/SDO RC6/TX/CK RC5/D+/VP RC4/D-/VM RD3/SPP3 RD2/SPP2

Note 1:

RB3 is the alternate pin for CCP2 multiplexing.

PIC18F4455 PIC18F4550

DS39632E-page 2

2009 Microchip Technology Inc.

PIC18F2455/2550/4455/4550
Pin Diagrams (Continued)
RC6/TX/CK RC5/D+/VP RC4/D-/VM RD3/SPP3 RD2/SPP2 RD1/SPP1 RD0/SPP0 VUSB RC2/CCP1/P1A RC1/T1OSI/CCP2(1)/UOE NC/ICPORTS(2) 44 43 42 41 40 39 38 37 36 35 34

44-Pin TQFP

44-Pin QFN

44 43 42 41 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23

RC6/TX/CK RC5/D+/VP RC4/D-/VM RD3/SPP3 RD2/SPP2 RD1/SPP1 RD0/SPP0 VUSB RC2/CCP1/P1A RC1/T1OSI/CCP2(1)/UOE RC0/T1OSO/T13CKI

NC/ICCK(2)/ICPGC(2) NC/ICDT(2)/ICPGD(2) RB4/AN11/KBI0/CSSPP RB5/KBI1/PGM RB6/KBI2/PGC RB7/KBI3/PGD MCLR/VPP/RE3 RA0/AN0 RA1/AN1 RA2/AN2/VREF-/CVREF RA3/AN3/VREF+

12 13 14 15 16 17 18 19 20 21 22

RC7/RX/DT/SDO RD4/SPP4 RD5/SPP5/P1B RD6/SPP6/P1C RD7/SPP7/P1D VSS VDD RB0/AN12/INT0/FLT0/SDI/SDA RB1/AN10/INT1/SCK/SCL RB2/AN8/INT2/VMO RB3/AN9/CCP2(1)/VPO

1 2 3 4 5 6 7 8 9 10 11

PIC18F4455 PIC18F4550

33 32 31 30 29 28 27 26 25 24 23

NC/ICRST(2)/ICVPP(2) RC0/T1OSO/T13CKI OSC2/CLKO/RA6 OSC1/CLKI VSS VDD RE2/AN7/OESPP RE1/AN6/CK2SPP RE0/AN5/CK1SPP RA5/AN4/SS/HLVDIN/C2OUT RA4/T0CKI/C1OUT/RCV

Note 1: 2:

RB3 is the alternate pin for CCP2 multiplexing. Special ICPORT features available in select circumstances. See Section 25.9 Special ICPORT Features (44-Pin TQFP Package Only) for more information.

2009 Microchip Technology Inc.

RB3/AN9/CCP2(1)/VPO NC RB4/AN11/KBI0/CSSPP RB5/KBI1/PGM RB6/KBI2/PGC RB7/KBI3/PGD MCLR/VPP/RE3 RA0/AN0 RA1/AN1 RA2/AN2/VREF-/CVREF RA3/AN3/VREF+

12 13 14 15 16 17 18 19 20 21 22

RC7/RX/DT/SDO RD4/SPP4 RD5/SPP5/P1B RD6/SPP6/P1C RD7/SPP7/P1D VSS VDD VDD RB0/AN12/INT0/FLT0/SDI/SDA RB1/AN10/INT1/SCK/SCL RB2/AN8/INT2/VMO

1 2 3 4 5 6 7 8 9 10 11

PIC18F4455 PIC18F4550

OSC2/CLKO/RA6 OSC1/CLKI VSS VSS VDD VDD RE2/AN7/OESPP RE1/AN6/CK2SPP RE0/AN5/CK1SPP RA5/AN4/SS/HLVDIN/C2OUT RA4/T0CKI/C1OUT/RCV

DS39632E-page 3

PIC18F2455/2550/4455/4550
Table of Contents
1.0 Device Overview .......................................................................................................................................................................... 7 2.0 Oscillator Configurations ............................................................................................................................................................ 23 3.0 Power-Managed Modes ............................................................................................................................................................. 35 4.0 Reset .......................................................................................................................................................................................... 45 5.0 Memory Organization ................................................................................................................................................................. 59 6.0 Flash Program Memory .............................................................................................................................................................. 81 7.0 Data EEPROM Memory ............................................................................................................................................................. 91 8.0 8 x 8 Hardware Multiplier............................................................................................................................................................ 97 9.0 Interrupts .................................................................................................................................................................................... 99 10.0 I/O Ports ................................................................................................................................................................................... 113 11.0 Timer0 Module ......................................................................................................................................................................... 127 12.0 Timer1 Module ......................................................................................................................................................................... 131 13.0 Timer2 Module ......................................................................................................................................................................... 137 14.0 Timer3 Module ......................................................................................................................................................................... 139 15.0 Capture/Compare/PWM (CCP) Modules ................................................................................................................................. 143 16.0 Enhanced Capture/Compare/PWM (ECCP) Module................................................................................................................ 151 17.0 Universal Serial Bus (USB) ...................................................................................................................................................... 165 18.0 Streaming Parallel Port ............................................................................................................................................................ 191 19.0 Master Synchronous Serial Port (MSSP) Module .................................................................................................................... 197 20.0 Enhanced Universal Synchronous Asynchronous Receiver Transmitter (EUSART) ............................................................... 243 21.0 10-Bit Analog-to-Digital Converter (A/D) Module ..................................................................................................................... 265 22.0 Comparator Module.................................................................................................................................................................. 275 23.0 Comparator Voltage Reference Module ................................................................................................................................... 281 24.0 High/Low-Voltage Detect (HLVD)............................................................................................................................................. 285 25.0 Special Features of the CPU .................................................................................................................................................... 291 26.0 Instruction Set Summary .......................................................................................................................................................... 313 27.0 Development Support............................................................................................................................................................... 363 28.0 Electrical Characteristics .......................................................................................................................................................... 367 29.0 DC and AC Characteristics Graphs and Tables ....................................................................................................................... 407 30.0 Packaging Information.............................................................................................................................................................. 409 Appendix A: Revision History............................................................................................................................................................. 419 Appendix B: Device Differences......................................................................................................................................................... 419 Appendix C: Conversion Considerations ........................................................................................................................................... 420 Appendix D: Migration From Baseline to Enhanced Devices............................................................................................................. 420 Appendix E: Migration From Mid-Range to Enhanced Devices ......................................................................................................... 421 Appendix F: Migration From High-End to Enhanced Devices............................................................................................................ 421 Index .................................................................................................................................................................................................. 423 The Microchip Web Site ..................................................................................................................................................................... 433 Customer Change Notification Service .............................................................................................................................................. 433 Customer Support .............................................................................................................................................................................. 433 Reader Response .............................................................................................................................................................................. 434 PIC18F2455/2550/4455/4550 Product Identification System ............................................................................................................ 435

DS39632E-page 4

2009 Microchip Technology Inc.

PIC18F2455/2550/4455/4550
TO OUR VALUED CUSTOMERS
It is our intention to provide our valued customers with the best documentation possible to ensure successful use of your Microchip products. To this end, we will continue to improve our publications to better suit your needs. Our publications will be refined and enhanced as new volumes and updates are introduced. If you have any questions or comments regarding this publication, please contact the Marketing Communications Department via E-mail at docerrors@microchip.com or fax the Reader Response Form in the back of this data sheet to (480) 792-4150. We welcome your feedback.

Most Current Data Sheet


To obtain the most up-to-date version of this data sheet, please register at our Worldwide Web site at: http://www.microchip.com You can determine the version of a data sheet by examining its literature number found on the bottom outside corner of any page. The last character of the literature number is the version number, (e.g., DS30000A is version A of document DS30000).

Errata
An errata sheet, describing minor operational differences from the data sheet and recommended workarounds, may exist for current devices. As device/documentation issues become known to us, we will publish an errata sheet. The errata will specify the revision of silicon and revision of document to which it applies. To determine if an errata sheet exists for a particular device, please check with one of the following: Microchips Worldwide Web site; http://www.microchip.com Your local Microchip sales office (see last page) When contacting a sales office, please specify which device, revision of silicon and data sheet (include literature number) you are using.

Customer Notification System


Register on our web site at www.microchip.com to receive the most current information on all of our products.

2009 Microchip Technology Inc.

DS39632E-page 5

PIC18F2455/2550/4455/4550
NOTES:

DS39632E-page 6

2009 Microchip Technology Inc.

PIC18F2455/2550/4455/4550
1.0 DEVICE OVERVIEW
1.1.3
This document contains device-specific information for the following devices: PIC18F2455 PIC18F2550 PIC18F4455 PIC18F4550 PIC18LF2455 PIC18LF2550 PIC18LF4455 PIC18LF4550

MULTIPLE OSCILLATOR OPTIONS AND FEATURES

All of the devices in the PIC18F2455/2550/4455/4550 family offer twelve different oscillator options, allowing users a wide range of choices in developing application hardware. These include: Four Crystal modes using crystals or ceramic resonators. Four External Clock modes, offering the option of using two pins (oscillator input and a divide-by-4 clock output) or one pin (oscillator input, with the second pin reassigned as general I/O). An internal oscillator block which provides an 8 MHz clock (2% accuracy) and an INTRC source (approximately 31 kHz, stable over temperature and VDD), as well as a range of 6 user-selectable clock frequencies, between 125 kHz to 4 MHz, for a total of 8 clock frequencies. This option frees an oscillator pin for use as an additional general purpose I/O. A Phase Lock Loop (PLL) frequency multiplier, available to both the High-Speed Crystal and External Oscillator modes, which allows a wide range of clock speeds from 4 MHz to 48 MHz. Asynchronous dual clock operation, allowing the USB module to run from a high-frequency oscillator while the rest of the microcontroller is clocked from an internal low-power oscillator. Besides its availability as a clock source, the internal oscillator block provides a stable reference source that gives the family additional features for robust operation: Fail-Safe Clock Monitor: This option constantly monitors the main clock source against a reference signal provided by the internal oscillator. If a clock failure occurs, the controller is switched to the internal oscillator block, allowing for continued low-speed operation or a safe application shutdown. Two-Speed Start-up: This option allows the internal oscillator to serve as the clock source from Power-on Reset, or wake-up from Sleep mode, until the primary clock source is available.

This family of devices offers the advantages of all PIC18 microcontrollers namely, high computational performance at an economical price with the addition of high-endurance, Enhanced Flash program memory. In addition to these features, the PIC18F2455/2550/4455/4550 family introduces design enhancements that make these microcontrollers a logical choice for many high-performance, power sensitive applications.

1.1
1.1.1

New Core Features


nanoWatt TECHNOLOGY

All of the devices in the PIC18F2455/2550/4455/4550 family incorporate a range of features that can significantly reduce power consumption during operation. Key items include: Alternate Run Modes: By clocking the controller from the Timer1 source or the internal oscillator block, power consumption during code execution can be reduced by as much as 90%. Multiple Idle Modes: The controller can also run with its CPU core disabled but the peripherals still active. In these states, power consumption can be reduced even further, to as little as 4%, of normal operation requirements. On-the-Fly Mode Switching: The power-managed modes are invoked by user code during operation, allowing the user to incorporate power-saving ideas into their applications software design. Low Consumption in Key Modules: The power requirements for both Timer1 and the Watchdog Timer are minimized. See Section 28.0 Electrical Characteristics for values.

1.1.2

UNIVERSAL SERIAL BUS (USB)

Devices in the PIC18F2455/2550/4455/4550 family incorporate a fully featured Universal Serial Bus communications module that is compliant with the USB Specification Revision 2.0. The module supports both low-speed and full-speed communication for all supported data transfer types. It also incorporates its own on-chip transceiver and 3.3V regulator and supports the use of external transceivers and voltage regulators.

2009 Microchip Technology Inc.

DS39632E-page 7

PIC18F2455/2550/4455/4550
1.2 Other Special Features 1.3
Memory Endurance: The Enhanced Flash cells for both program memory and data EEPROM are rated to last for many thousands of erase/write cycles up to 100,000 for program memory and 1,000,000 for EEPROM. Data retention without refresh is conservatively estimated to be greater than 40 years. Self-Programmability: These devices can write to their own program memory spaces under internal software control. By using a bootloader routine, located in the protected Boot Block at the top of program memory, it becomes possible to create an application that can update itself in the field. Extended Instruction Set: The PIC18F2455/2550/4455/4550 family introduces an optional extension to the PIC18 instruction set, which adds 8 new instructions and an Indexed Literal Offset Addressing mode. This extension, enabled as a device configuration option, has been specifically designed to optimize re-entrant application code originally developed in high-level languages such as C. Enhanced CCP Module: In PWM mode, this module provides 1, 2 or 4 modulated outputs for controlling half-bridge and full-bridge drivers. Other features include auto-shutdown for disabling PWM outputs on interrupt or other select conditions, and auto-restart to reactivate outputs once the condition has cleared. Enhanced Addressable USART: This serial communication module is capable of standard RS-232 operation and provides support for the LIN bus protocol. The TX/CK and RX/DT signals can be inverted, eliminating the need for inverting buffers. Other enhancements include Automatic Baud Rate Detection and a 16-bit Baud Rate Generator for improved resolution. When the microcontroller is using the internal oscillator block, the EUSART provides stable operation for applications that talk to the outside world without using an external crystal (or its accompanying power requirement). 10-Bit A/D Converter: This module incorporates programmable acquisition time, allowing for a channel to be selected and a conversion to be initiated, without waiting for a sampling period and thus, reducing code overhead. Dedicated ICD/ICSP Port: These devices introduce the use of debugger and programming pins that are not multiplexed with other microcontroller features. Offered as an option in select packages, this feature allows users to develop I/O intensive applications while retaining the ability to program and debug in the circuit.

Details on Individual Family Members

Devices in the PIC18F2455/2550/4455/4550 family are available in 28-pin and 40/44-pin packages. Block diagrams for the two groups are shown in Figure 1-1 and Figure 1-2. The devices are differentiated from each other in six ways: 1. Flash program memory (24 Kbytes for PIC18FX455 devices, 32 Kbytes for PIC18FX550 devices). A/D channels (10 for 28-pin devices, 13 for 40/44-pin devices). I/O ports (3 bidirectional ports and 1 input only port on 28-pin devices, 5 bidirectional ports on 40/44-pin devices). CCP and Enhanced CCP implementation (28-pin devices have two standard CCP modules, 40/44-pin devices have one standard CCP module and one ECCP module). Streaming Parallel Port (present only on 40/44-pin devices).

2. 3.

4.

5.

All other features for devices in this family are identical. These are summarized in Table 1-1. The pinouts for all devices are listed in Table 1-2 and Table 1-3. Like all Microchip PIC18 devices, members of the PIC18F2455/2550/4455/4550 family are available as both standard and low-voltage devices. Standard devices with Enhanced Flash memory, designated with an F in the part number (such as PIC18F2550), accommodate an operating VDD range of 4.2V to 5.5V. Low-voltage parts, designated by LF (such as PIC18LF2550), function over an extended VDD range of 2.0V to 5.5V.

DS39632E-page 8

2009 Microchip Technology Inc.

PIC18F2455/2550/4455/4550
TABLE 1-1: DEVICE FEATURES
PIC18F2455 DC 48 MHz 24576 12288 2048 256 19 Ports A, B, C, (E) 4 2 0 MSSP, Enhanced USART 1 No 10 Input Channels 2 POR, BOR, RESET Instruction, Stack Full, Stack Underflow (PWRT, OST), MCLR (optional), WDT Yes Yes 75 Instructions; 83 with Extended Instruction Set enabled 28-Pin PDIP 28-Pin SOIC PIC18F2550 DC 48 MHz 32768 16384 2048 256 19 Ports A, B, C, (E) 4 2 0 MSSP, Enhanced USART 1 No 10 Input Channels 2 POR, BOR, RESET Instruction, Stack Full, Stack Underflow (PWRT, OST), MCLR (optional), WDT Yes Yes 75 Instructions; 83 with Extended Instruction Set enabled 28-Pin PDIP 28-Pin SOIC PIC18F4455 DC 48 MHz 24576 12288 2048 256 20 4 1 1 MSSP, Enhanced USART 1 Yes 13 Input Channels 2 POR, BOR, RESET Instruction, Stack Full, Stack Underflow (PWRT, OST), MCLR (optional), WDT Yes Yes 75 Instructions; 83 with Extended Instruction Set enabled 40-Pin PDIP 44-Pin QFN 44-Pin TQFP PIC18F4550 DC 48 MHz 32768 16384 2048 256 20 4 1 1 MSSP, Enhanced USART 1 Yes 13 Input Channels 2 POR, BOR, RESET Instruction, Stack Full, Stack Underflow (PWRT, OST), MCLR (optional), WDT Yes Yes 75 Instructions; 83 with Extended Instruction Set enabled 40-Pin PDIP 44-Pin QFN 44-Pin TQFP Features Operating Frequency Program Memory (Bytes) Program Memory (Instructions) Data Memory (Bytes) Data EEPROM Memory (Bytes) Interrupt Sources I/O Ports Timers Capture/Compare/PWM Modules Enhanced Capture/ Compare/PWM Modules Serial Communications Universal Serial Bus (USB) Module Streaming Parallel Port (SPP) 10-Bit Analog-to-Digital Module Comparators Resets (and Delays)

Ports A, B, C, D, E Ports A, B, C, D, E

Programmable Low-Voltage Detect Programmable Brown-out Reset Instruction Set

Packages

2009 Microchip Technology Inc.

DS39632E-page 9

PIC18F2455/2550/4455/4550
FIGURE 1-1:
Table Pointer<21> inc/dec logic 21 20 PCU PCH PCL Program Counter 8
PCLATU PCLATH

PIC18F2455/2550 (28-PIN) BLOCK DIAGRAM


Data Bus<8> PORTA 8 Data Latch Data Memory (2 Kbytes) Address Latch 12 Data Address<12> 4 BSR 12 FSR0 FSR1 FSR2 inc/dec logic 4 Access Bank 12 PORTB RB0/AN12/INT0/FLT0/SDI/SDA RB1/AN10/INT1/SCK/SCL RB2/AN8/INT2/VMO RB3/AN9/CCP2(3)/VPO RB4/AN11/KBI0 RB5/KBI1/PGM RB6/KBI2/PGC RB7/KBI3/PGD RA0/AN0 RA1/AN1 RA2/AN2/VREF-/CVREF RA3/AN3/VREF+ RA4/T0CKI/C1OUT/RCV RA5/AN4/SS/HLVDIN/C2OUT OSC2/CLKO/RA6

31 Level Stack Address Latch Program Memory (24/32 Kbytes) Data Latch 8
Table Latch

STKPTR

ROM Latch

Instruction Bus <16> IR

Address Decode

8 Instruction Decode & Control State Machine Control Signals PRODH PRODL 3 OSC1
(2)

PORTC 8 RC0/T1OSO/T13CKI RC1/T1OSI/CCP2(3)/UOE RC2/CCP1 RC4/D-/VM RC5/D+/VP RC6/TX/CK RC7/RX/DT/SDO

8 x 8 Multiply W 8 8 ALU<8> 8

OSC2(2) T1OSI T1OSO MCLR(1) VDD, VSS VUSB

Internal Oscillator Block INTRC Oscillator 8 MHz Oscillator Single-Supply Programming In-Circuit Debugger

Power-up Timer Oscillator Start-up Timer Power-on Reset Watchdog Timer Brown-out Reset Fail-Safe Clock Monitor

BITOP 8

USB Voltage Regulator

Band Gap Reference

PORTE MCLR/VPP/RE3(1)

BOR HLVD

Data EEPROM

Timer0

Timer1

Timer2

Timer3

Comparator

CCP1

CCP2

MSSP

EUSART

ADC 10-Bit

USB

Note 1: 2: 3:

RE3 is multiplexed with MCLR and is only available when the MCLR Resets are disabled. OSC1/CLKI and OSC2/CLKO are only available in select oscillator modes and when these pins are not being used as digital I/O. Refer to Section 2.0 Oscillator Configurations for additional information. RB3 is the alternate pin for CCP2 multiplexing.

DS39632E-page 10

2009 Microchip Technology Inc.

PIC18F2455/2550/4455/4550
FIGURE 1-2:
Table Pointer<21> inc/dec logic 21 20 PCU PCH PCL Program Counter 8
PCLATU PCLATH

PIC18F4455/4550 (40/44-PIN) BLOCK DIAGRAM


Data Bus<8> Data Latch Data Memory (2 Kbytes) Address Latch 12 Data Address<12> PORTB 4 BSR 12 FSR0 FSR1 FSR2 inc/dec logic PORTC RC0/T1OSO/T13CKI RC1/T1OSI/CCP2(4)/UOE RC2/CCP1/P1A RC4/D-/VM RC5/D+/VP RC6/TX/CK RC7/RX/DT/SDO 4 Access Bank 12 RB0/AN12/INT0/FLT0/SDI/SDA RB1/AN10/INT1/SCK/SCL RB2/AN8/INT2/VMO RB3/AN9/CCP2(4)/VPO RB4/AN11/KBI0/CSSPP RB5/KBI1/PGM RB6/KBI2/PGC RB7/KBI3/PGD PORTA RA0/AN0 RA1/AN1 RA2/AN2/VREF-/CVREF RA3/AN3/VREF+ RA4/T0CKI/C1OUT/RCV RA5/AN4/SS/HLVDIN/C2OUT OSC2/CLKO/RA6

31 Level Stack Address Latch Program Memory (24/32 Kbytes) Data Latch 8
Table Latch

STKPTR

ROM Latch

Instruction Bus <16>


IR

Address Decode

8 Instruction Decode & Control State Machine Control Signals PRODH PRODL 3 Internal Oscillator Block INTRC Oscillator 8 MHz Oscillator Single-Supply Programming In-Circuit Debugger Power-up Timer Oscillator Start-up Timer Power-on Reset Watchdog Timer Brown-out Reset Fail-Safe Clock Monitor Band Gap Reference BITOP 8 8 ALU<8> 8 PORTE 8 x 8 Multiply 8 W 8 8 PORTD

VDD, VSS OSC1(2) OSC2(2) T1OSI T1OSO ICPGC(3) ICPGD(3) ICPORTS(3) ICRST(3) MCLR(1) VUSB

RD0/SPP0:RD4/SPP4 RD5/SPP5/P1B RD6/SPP6/P1C RD7/SPP7/P1D

RE0/AN5/CK1SPP RE1/AN6/CK2SPP RE2/AN7/OESPP MCLR/VPP/RE3(1)

USB Voltage Regulator

BOR HLVD

Data EEPROM

Timer0

Timer1

Timer2

Timer3

Comparator

ECCP1

CCP2

MSSP

EUSART

ADC 10-Bit

USB

Note 1: 2: 3: 4:

RE3 is multiplexed with MCLR and is only available when the MCLR Resets are disabled. OSC1/CLKI and OSC2/CLKO are only available in select oscillator modes and when these pins are not being used as digital I/O. Refer to Section 2.0 Oscillator Configurations for additional information. These pins are only available on 44-pin TQFP packages under certain conditions. Refer to Section 25.9 Special ICPORT Features (44-Pin TQFP Package Only) for additional information. RB3 is the alternate pin for CCP2 multiplexing.

2009 Microchip Technology Inc.

DS39632E-page 11

PIC18F2455/2550/4455/4550
TABLE 1-2: PIC18F2455/2550 PINOUT I/O DESCRIPTIONS
Pin Number Pin Name PDIP, SOIC MCLR/VPP/RE3 MCLR VPP RE3 OSC1/CLKI OSC1 CLKI OSC2/CLKO/RA6 OSC2 CLKO RA6 9 I I 10 O O I/O TTL Analog Analog 1 I P I ST Pin Type Buffer Type

Description

ST

Master Clear (input) or programming voltage (input). Master Clear (Reset) input. This pin is an active-low Reset to the device. Programming voltage input. Digital input. Oscillator crystal or external clock input. Oscillator crystal input or external clock source input. External clock source input. Always associated with pin function OSC1. (See OSC2/CLKO pin.) Oscillator crystal or clock output. Oscillator crystal output. Connects to crystal or resonator in Crystal Oscillator mode. In select modes, OSC2 pin outputs CLKO which has 1/4 the frequency of OSC1 and denotes the instruction cycle rate. General purpose I/O pin.

Legend: TTL = TTL compatible input CMOS = CMOS compatible input or output ST = Schmitt Trigger input with CMOS levels I = Input O = Output P = Power Note 1: Alternate assignment for CCP2 when CCP2MX Configuration bit is cleared. 2: Default assignment for CCP2 when CCP2MX Configuration bit is set.

DS39632E-page 12

2009 Microchip Technology Inc.

PIC18F2455/2550/4455/4550
TABLE 1-2: PIC18F2455/2550 PINOUT I/O DESCRIPTIONS (CONTINUED)
Pin Number Pin Name PDIP, SOIC Pin Type Buffer Type

Description

PORTA is a bidirectional I/O port. RA0/AN0 RA0 AN0 RA1/AN1 RA1 AN1 RA2/AN2/VREF-/CVREF RA2 AN2 VREFCVREF RA3/AN3/VREF+ RA3 AN3 VREF+ RA4/T0CKI/C1OUT/RCV RA4 T0CKI C1OUT RCV RA5/AN4/SS/ HLVDIN/C2OUT RA5 AN4 SS HLVDIN C2OUT RA6 2 I/O I 3 I/O I 4 I/O I I O 5 I/O I I 6 I/O I O I 7 I/O I I I O TTL Analog TTL Analog Digital I/O. Analog input 4. SPI slave select input. High/Low-Voltage Detect input. Comparator 2 output. See the OSC2/CLKO/RA6 pin. ST ST TTL Digital I/O. Timer0 external clock input. Comparator 1 output. External USB transceiver RCV input. TTL Analog Analog Digital I/O. Analog input 3. A/D reference voltage (high) input. TTL Analog Analog Analog Digital I/O. Analog input 2. A/D reference voltage (low) input. Analog comparator reference output. TTL Analog Digital I/O. Analog input 1. TTL Analog Digital I/O. Analog input 0.

Legend: TTL = TTL compatible input CMOS = CMOS compatible input or output ST = Schmitt Trigger input with CMOS levels I = Input O = Output P = Power Note 1: Alternate assignment for CCP2 when CCP2MX Configuration bit is cleared. 2: Default assignment for CCP2 when CCP2MX Configuration bit is set.

2009 Microchip Technology Inc.

DS39632E-page 13

PIC18F2455/2550/4455/4550
TABLE 1-2: PIC18F2455/2550 PINOUT I/O DESCRIPTIONS (CONTINUED)
Pin Number Pin Name PDIP, SOIC Pin Type Buffer Type

Description

PORTB is a bidirectional I/O port. PORTB can be software programmed for internal weak pull-ups on all inputs. RB0/AN12/INT0/FLT0/ SDI/SDA RB0 AN12 INT0 FLT0 SDI SDA RB1/AN10/INT1/SCK/ SCL RB1 AN10 INT1 SCK SCL RB2/AN8/INT2/VMO RB2 AN8 INT2 VMO RB3/AN9/CCP2/VPO RB3 AN9 CCP2(1) VPO RB4/AN11/KBI0 RB4 AN11 KBI0 RB5/KBI1/PGM RB5 KBI1 PGM RB6/KBI2/PGC RB6 KBI2 PGC RB7/KBI3/PGD RB7 KBI3 PGD 21 I/O I I I I I/O 22 I/O I I I/O I/O 23 I/O I I O 24 I/O I I/O O 25 I/O I I 26 I/O I I/O 27 I/O I I/O 28 I/O I I/O TTL TTL ST Digital I/O. Interrupt-on-change pin. In-Circuit Debugger and ICSP programming data pin. TTL TTL ST Digital I/O. Interrupt-on-change pin. In-Circuit Debugger and ICSP programming clock pin. TTL TTL ST Digital I/O. Interrupt-on-change pin. Low-Voltage ICSP Programming enable pin. TTL Analog TTL Digital I/O. Analog input 11. Interrupt-on-change pin. TTL Analog ST Digital I/O. Analog input 9. Capture 2 input/Compare 2 output/PWM2 output. External USB transceiver VPO output. TTL Analog ST Digital I/O. Analog input 8. External interrupt 2. External USB transceiver VMO output. TTL Analog ST ST ST Digital I/O. Analog input 10. External interrupt 1. Synchronous serial clock input/output for SPI mode. Synchronous serial clock input/output for I2C mode. TTL Analog ST ST ST ST Digital I/O. Analog input 12. External interrupt 0. PWM Fault input (CCP1 module). SPI data in. I2C data I/O.

Legend: TTL = TTL compatible input CMOS = CMOS compatible input or output ST = Schmitt Trigger input with CMOS levels I = Input O = Output P = Power Note 1: Alternate assignment for CCP2 when CCP2MX Configuration bit is cleared. 2: Default assignment for CCP2 when CCP2MX Configuration bit is set.

DS39632E-page 14

2009 Microchip Technology Inc.

PIC18F2455/2550/4455/4550
TABLE 1-2: PIC18F2455/2550 PINOUT I/O DESCRIPTIONS (CONTINUED)
Pin Number Pin Name PDIP, SOIC Pin Type Buffer Type

Description

PORTC is a bidirectional I/O port. RC0/T1OSO/T13CKI RC0 T1OSO T13CKI RC1/T1OSI/CCP2/UOE RC1 T1OSI CCP2(2) UOE RC2/CCP1 RC2 CCP1 RC4/D-/VM RC4 DVM RC5/D+/VP RC5 D+ VP RC6/TX/CK RC6 TX CK RC7/RX/DT/SDO RC7 RX DT SDO RE3 VUSB VSS VDD 11 I/O O I 12 I/O I I/O O 13 I/O I/O 15 I I/O I 16 I I/O O 17 I/O O I/O 18 I/O I I/O O 14 8, 19 20 P P P ST ST ST Digital I/O. EUSART asynchronous receive. EUSART synchronous data (see TX/CK). SPI data out. See MCLR/VPP/RE3 pin. Internal USB 3.3V voltage regulator output, positive supply for internal USB transceiver. Ground reference for logic and I/O pins. Positive supply for logic and I/O pins. ST ST Digital I/O. EUSART asynchronous transmit. EUSART synchronous clock (see RX/DT). TTL TTL Digital input. USB differential plus line (input/output). External USB transceiver VP input. TTL TTL Digital input. USB differential minus line (input/output). External USB transceiver VM input. ST ST Digital I/O. Capture 1 input/Compare 1 output/PWM1 output. ST CMOS ST Digital I/O. Timer1 oscillator input. Capture 2 input/Compare 2 output/PWM2 output. External USB transceiver OE output. ST ST Digital I/O. Timer1 oscillator output. Timer1/Timer3 external clock input.

Legend: TTL = TTL compatible input CMOS = CMOS compatible input or output ST = Schmitt Trigger input with CMOS levels I = Input O = Output P = Power Note 1: Alternate assignment for CCP2 when CCP2MX Configuration bit is cleared. 2: Default assignment for CCP2 when CCP2MX Configuration bit is set.

2009 Microchip Technology Inc.

DS39632E-page 15

PIC18F2455/2550/4455/4550
TABLE 1-3:
Pin Name PDIP MCLR/VPP/RE3 MCLR VPP RE3 OSC1/CLKI OSC1 CLKI OSC2/CLKO/RA6 OSC2 CLKO 13 32 30 I I 14 33 31 O O Analog Analog 1

PIC18F4455/4550 PINOUT I/O DESCRIPTIONS


Pin Number Pin Buffer Type Type QFN TQFP 18 18 I P I ST Description Master Clear (input) or programming voltage (input). Master Clear (Reset) input. This pin is an active-low Reset to the device. Programming voltage input. Digital input. Oscillator crystal or external clock input. Oscillator crystal input or external clock source input. External clock source input. Always associated with pin function OSC1. (See OSC2/CLKO pin.) Oscillator crystal or clock output. Oscillator crystal output. Connects to crystal or resonator in Crystal Oscillator mode. In RC mode, OSC2 pin outputs CLKO which has 1/4 the frequency of OSC1 and denotes the instruction cycle rate. General purpose I/O pin.

ST

RA6

I/O

TTL

Legend: TTL = TTL compatible input CMOS = CMOS compatible input or output ST = Schmitt Trigger input with CMOS levels I = Input O = Output P = Power Note 1: Alternate assignment for CCP2 when CCP2MX Configuration bit is cleared. 2: Default assignment for CCP2 when CCP2MX Configuration bit is set. 3: These pins are No Connect unless the ICPRT Configuration bit is set. For NC/ICPORTS, the pin is No Connect unless ICPRT is set and the DEBUG Configuration bit is cleared.

DS39632E-page 16

2009 Microchip Technology Inc.

PIC18F2455/2550/4455/4550
TABLE 1-3:
Pin Name PDIP

PIC18F4455/4550 PINOUT I/O DESCRIPTIONS (CONTINUED)


Pin Number Pin Buffer QFN TQFP Type Type Description PORTA is a bidirectional I/O port.

RA0/AN0 RA0 AN0 RA1/AN1 RA1 AN1 RA2/AN2/VREF-/ CVREF RA2 AN2 VREFCVREF RA3/AN3/VREF+ RA3 AN3 VREF+ RA4/T0CKI/C1OUT/ RCV RA4 T0CKI C1OUT RCV RA5/AN4/SS/ HLVDIN/C2OUT RA5 AN4 SS HLVDIN C2OUT RA6

19

19 I/O I TTL Analog TTL Analog Digital I/O. Analog input 0. Digital I/O. Analog input 1.

20

20 I/O I

21

21 I/O I I O TTL Analog Analog Analog TTL Analog Analog Digital I/O. Analog input 2. A/D reference voltage (low) input. Analog comparator reference output. Digital I/O. Analog input 3. A/D reference voltage (high) input.

22

22 I/O I I

23

23 I/O I O I ST ST TTL Digital I/O. Timer0 external clock input. Comparator 1 output. External USB transceiver RCV input.

24

24 I/O I I I O TTL Analog TTL Analog Digital I/O. Analog input 4. SPI slave select input. High/Low-Voltage Detect input. Comparator 2 output. See the OSC2/CLKO/RA6 pin.

Legend: TTL = TTL compatible input CMOS = CMOS compatible input or output ST = Schmitt Trigger input with CMOS levels I = Input O = Output P = Power Note 1: Alternate assignment for CCP2 when CCP2MX Configuration bit is cleared. 2: Default assignment for CCP2 when CCP2MX Configuration bit is set. 3: These pins are No Connect unless the ICPRT Configuration bit is set. For NC/ICPORTS, the pin is No Connect unless ICPRT is set and the DEBUG Configuration bit is cleared.

2009 Microchip Technology Inc.

DS39632E-page 17

PIC18F2455/2550/4455/4550
TABLE 1-3:
Pin Name PDIP

PIC18F4455/4550 PINOUT I/O DESCRIPTIONS (CONTINUED)


Pin Number Pin Buffer Type Type QFN TQFP Description PORTB is a bidirectional I/O port. PORTB can be software programmed for internal weak pull-ups on all inputs.

RB0/AN12/INT0/ FLT0/SDI/SDA RB0 AN12 INT0 FLT0 SDI SDA RB1/AN10/INT1/SCK/ SCL RB1 AN10 INT1 SCK SCL RB2/AN8/INT2/VMO RB2 AN8 INT2 VMO RB3/AN9/CCP2/VPO RB3 AN9 CCP2(1) VPO RB4/AN11/KBI0/CSSPP RB4 AN11 KBI0 CSSPP RB5/KBI1/PGM RB5 KBI1 PGM RB6/KBI2/PGC RB6 KBI2 PGC RB7/KBI3/PGD RB7 KBI3 PGD

33

8 I/O I I I I I/O TTL Analog ST ST ST ST Digital I/O. Analog input 12. External interrupt 0. Enhanced PWM Fault input (ECCP1 module). SPI data in. I2C data I/O.

34

10

9 I/O I I I/O I/O TTL Analog ST ST ST TTL Analog ST TTL Analog ST TTL Analog TTL TTL TTL ST TTL TTL ST TTL TTL ST Digital I/O. Analog input 10. External interrupt 1. Synchronous serial clock input/output for SPI mode. Synchronous serial clock input/output for I2C mode. Digital I/O. Analog input 8. External interrupt 2. External USB transceiver VMO output. Digital I/O. Analog input 9. Capture 2 input/Compare 2 output/PWM2 output. External USB transceiver VPO output. Digital I/O. Analog input 11. Interrupt-on-change pin. SPP chip select control output. Digital I/O. Interrupt-on-change pin. Low-Voltage ICSP Programming enable pin. Digital I/O. Interrupt-on-change pin. In-Circuit Debugger and ICSP programming clock pin. Digital I/O. Interrupt-on-change pin. In-Circuit Debugger and ICSP programming data pin.

35

11

10 I/O I I O

36

12

11 I/O I I/O O

37

14

14 I/O I I O

38

15

15 I/O I I/O

39

16

16 I/O I I/O

40

17

17 I/O I I/O

Legend: TTL = TTL compatible input CMOS = CMOS compatible input or output ST = Schmitt Trigger input with CMOS levels I = Input O = Output P = Power Note 1: Alternate assignment for CCP2 when CCP2MX Configuration bit is cleared. 2: Default assignment for CCP2 when CCP2MX Configuration bit is set. 3: These pins are No Connect unless the ICPRT Configuration bit is set. For NC/ICPORTS, the pin is No Connect unless ICPRT is set and the DEBUG Configuration bit is cleared.

DS39632E-page 18

2009 Microchip Technology Inc.

PIC18F2455/2550/4455/4550
TABLE 1-3:
Pin Name PDIP

PIC18F4455/4550 PINOUT I/O DESCRIPTIONS (CONTINUED)


Pin Number Pin Buffer QFN TQFP Type Type Description PORTC is a bidirectional I/O port.

RC0/T1OSO/T13CKI RC0 T1OSO T13CKI RC1/T1OSI/CCP2/ UOE RC1 T1OSI CCP2(2) UOE RC2/CCP1/P1A RC2 CCP1 P1A RC4/D-/VM RC4 DVM RC5/D+/VP RC5 D+ VP RC6/TX/CK RC6 TX CK RC7/RX/DT/SDO RC7 RX DT SDO

15

34

32 I/O O I ST ST Digital I/O. Timer1 oscillator output. Timer1/Timer3 external clock input.

16

35

35 I/O I I/O O ST CMOS ST ST ST TTL TTL TTL TTL TTL ST ST ST ST ST Digital I/O. Timer1 oscillator input. Capture 2 input/Compare 2 output/PWM2 output. External USB transceiver OE output. Digital I/O. Capture 1 input/Compare 1 output/PWM1 output. Enhanced CCP1 PWM output, channel A. Digital input. USB differential minus line (input/output). External USB transceiver VM input. Digital input. USB differential plus line (input/output). External USB transceiver VP input. Digital I/O. EUSART asynchronous transmit. EUSART synchronous clock (see RX/DT). Digital I/O. EUSART asynchronous receive. EUSART synchronous data (see TX/CK). SPI data out.

17

36

36 I/O I/O O

23

42

42 I I/O I

24

43

43 I I/O I

25

44

44 I/O O I/O

26

1 I/O I I/O O

Legend: TTL = TTL compatible input CMOS = CMOS compatible input or output ST = Schmitt Trigger input with CMOS levels I = Input O = Output P = Power Note 1: Alternate assignment for CCP2 when CCP2MX Configuration bit is cleared. 2: Default assignment for CCP2 when CCP2MX Configuration bit is set. 3: These pins are No Connect unless the ICPRT Configuration bit is set. For NC/ICPORTS, the pin is No Connect unless ICPRT is set and the DEBUG Configuration bit is cleared.

2009 Microchip Technology Inc.

DS39632E-page 19

PIC18F2455/2550/4455/4550
TABLE 1-3:
Pin Name PDIP

PIC18F4455/4550 PINOUT I/O DESCRIPTIONS (CONTINUED)


Pin Number Pin Buffer QFN TQFP Type Type Description PORTD is a bidirectional I/O port or a Streaming Parallel Port (SPP). These pins have TTL input buffers when the SPP module is enabled.

RD0/SPP0 RD0 SPP0 RD1/SPP1 RD1 SPP1 RD2/SPP2 RD2 SPP2 RD3/SPP3 RD3 SPP3 RD4/SPP4 RD4 SPP4 RD5/SPP5/P1B RD5 SPP5 P1B RD6/SPP6/P1C RD6 SPP6 P1C RD7/SPP7/P1D RD7 SPP7 P1D

19

38

38 I/O I/O ST TTL ST TTL ST TTL ST TTL ST TTL ST TTL ST TTL ST TTL Digital I/O. Streaming Parallel Port data. Digital I/O. Streaming Parallel Port data. Digital I/O. Streaming Parallel Port data. Digital I/O. Streaming Parallel Port data. Digital I/O. Streaming Parallel Port data. Digital I/O. Streaming Parallel Port data. Enhanced CCP1 PWM output, channel B. Digital I/O. Streaming Parallel Port data. Enhanced CCP1 PWM output, channel C. Digital I/O. Streaming Parallel Port data. Enhanced CCP1 PWM output, channel D.

20

39

39 I/O I/O

21

40

40 I/O I/O

22

41

41 I/O I/O

27

2 I/O I/O

28

3 I/O I/O O

29

4 I/O I/O O

30

5 I/O I/O O

Legend: TTL = TTL compatible input CMOS = CMOS compatible input or output ST = Schmitt Trigger input with CMOS levels I = Input O = Output P = Power Note 1: Alternate assignment for CCP2 when CCP2MX Configuration bit is cleared. 2: Default assignment for CCP2 when CCP2MX Configuration bit is set. 3: These pins are No Connect unless the ICPRT Configuration bit is set. For NC/ICPORTS, the pin is No Connect unless ICPRT is set and the DEBUG Configuration bit is cleared.

DS39632E-page 20

2009 Microchip Technology Inc.

PIC18F2455/2550/4455/4550
TABLE 1-3:
Pin Name PDIP

PIC18F4455/4550 PINOUT I/O DESCRIPTIONS (CONTINUED)


Pin Number Pin Buffer Type Type QFN TQFP Description PORTE is a bidirectional I/O port.

RE0/AN5/CK1SPP RE0 AN5 CK1SPP RE1/AN6/CK2SPP RE1 AN6 CK2SPP RE2/AN7/OESPP RE2 AN7 OESPP RE3 VSS VDD VUSB NC/ICCK/ICPGC(3) ICCK ICPGC NC/ICDT/ICPGD(3) ICDT ICPGD NC/ICRST/ICVPP(3) ICRST ICVPP NC/ICPORTS(3) ICPORTS NC

25

25 I/O I O ST Analog ST Analog ST Analog Digital I/O. Analog input 5. SPP clock 1 output. Digital I/O. Analog input 6. SPP clock 2 output. Digital I/O. Analog input 7. SPP output enable output. See MCLR/VPP/RE3 pin. Ground reference for logic and I/O pins. Positive supply for logic and I/O pins. Internal USB 3.3V voltage regulator output, positive supply for the USB transceiver. No Connect or dedicated ICD/ICSP port clock. In-Circuit Debugger clock. ICSP programming clock. No Connect or dedicated ICD/ICSP port clock. In-Circuit Debugger data. ICSP programming data. No Connect or dedicated ICD/ICSP port Reset. Master Clear (Reset) input. Programming voltage input. No Connect or 28-pin device emulation. Enable 28-pin device emulation when connected to VSS. No Connect.

26

26 I/O I O

10

27

27 I/O I O

6, 29

P P P

12, 31 6, 30, 31

11, 32 7, 8, 7, 28 28, 29 18 37 37 12

I/O I/O 13 I/O I/O 33 I P 34 P

ST ST ST ST

13

Legend: TTL = TTL compatible input CMOS = CMOS compatible input or output ST = Schmitt Trigger input with CMOS levels I = Input O = Output P = Power Note 1: Alternate assignment for CCP2 when CCP2MX Configuration bit is cleared. 2: Default assignment for CCP2 when CCP2MX Configuration bit is set. 3: These pins are No Connect unless the ICPRT Configuration bit is set. For NC/ICPORTS, the pin is No Connect unless ICPRT is set and the DEBUG Configuration bit is cleared.

2009 Microchip Technology Inc.

DS39632E-page 21

PIC18F2455/2550/4455/4550
NOTES:

DS39632E-page 22

2009 Microchip Technology Inc.

PIC18F2455/2550/4455/4550
2.0
2.1

OSCILLATOR CONFIGURATIONS
Overview

2.2

Oscillator Types

Devices in the PIC18F2455/2550/4455/4550 family incorporate a different oscillator and microcontroller clock system than previous PIC18F devices. The addition of the USB module, with its unique requirements for a stable clock source, make it necessary to provide a separate clock source that is compliant with both USB low-speed and full-speed specifications. To accommodate these requirements, PIC18F2455/ 2550/4455/4550 devices include a new clock branch to provide a 48 MHz clock for full-speed USB operation. Since it is driven from the primary clock source, an additional system of prescalers and postscalers has been added to accommodate a wide range of oscillator frequencies. An overview of the oscillator structure is shown in Figure 2-1. Other oscillator features used in PIC18 enhanced microcontrollers, such as the internal oscillator block and clock switching, remain the same. They are discussed later in this chapter.

PIC18F2455/2550/4455/4550 devices can be operated in twelve distinct oscillator modes. In contrast with previous PIC18 enhanced microcontrollers, four of these modes involve the use of two oscillator types at once. Users can program the FOSC3:FOSC0 Configuration bits to select one of these modes: 1. 2. 3. XT Crystal/Resonator HS High-Speed Crystal/Resonator HSPLL High-Speed Crystal/Resonator with PLL Enabled 4. EC External Clock with FOSC/4 Output 5. ECIO External Clock with I/O on RA6 6. ECPLL External Clock with PLL Enabled and FOSC/4 Output on RA6 7. ECPIO External Clock with PLL Enabled, I/O on RA6 8. INTHS Internal Oscillator used as Microcontroller Clock Source, HS Oscillator used as USB Clock Source 9. INTIO Internal Oscillator used as Microcontroller Clock Source, EC Oscillator used as USB Clock Source, Digital I/O on RA6 10. INTCKO Internal Oscillator used as Microcontroller Clock Source, EC Oscillator used as USB Clock Source, FOSC/4 Output on RA6

2.1.1

OSCILLATOR CONTROL

The operation of the oscillator in PIC18F2455/2550/ 4455/4550 devices is controlled through two Configuration registers and two control registers. Configuration registers, CONFIG1L and CONFIG1H, select the oscillator mode and USB prescaler/postscaler options. As Configuration bits, these are set when the device is programmed and left in that configuration until the device is reprogrammed. The OSCCON register (Register 2-2) selects the Active Clock mode; it is primarily used in controlling clock switching in power-managed modes. Its use is discussed in Section 2.4.1 Oscillator Control Register. The OSCTUNE register (Register 2-1) is used to trim the INTRC frequency source, as well as select the low-frequency clock source that drives several special features. Its use is described in Section 2.2.5.2 OSCTUNE Register.

2.2.1

OSCILLATOR MODES AND USB OPERATION

Because of the unique requirements of the USB module, a different approach to clock operation is necessary. In previous PIC devices, all core and peripheral clocks were driven by a single oscillator source; the usual sources were primary, secondary or the internal oscillator. With PIC18F2455/2550/4455/4550 devices, the primary oscillator becomes part of the USB module and cannot be associated to any other clock source. Thus, the USB module must be clocked from the primary clock source; however, the microcontroller core and other peripherals can be separately clocked from the secondary or internal oscillators as before. Because of the timing requirements imposed by USB, an internal clock of either 6 MHz or 48 MHz is required while the USB module is enabled. Fortunately, the microcontroller and other peripherals are not required to run at this clock speed when using the primary oscillator. There are numerous options to achieve the USB module clock requirement and still provide flexibility for clocking the rest of the device from the primary oscillator source. These are detailed in Section 2.3 Oscillator Settings for USB.

2009 Microchip Technology Inc.

DS39632E-page 23

PIC18F2455/2550/4455/4550
FIGURE 2-1: PIC18F2455/2550/4455/4550 CLOCK DIAGRAM

PIC18F2455/2550/4455/4550
PLLDIV 111 110 101 100 011 010 001 000 HSPLL, ECPLL, XTPLL, ECPIO 6 4 3 2 CPUDIV 11 10 01 00 CPU Primary Clock FOSC3:FOSC0 T1OSC T1OSCEN Enable Oscillator OSCCON<6:4> 8 MHz INTOSC Postscaler Internal Oscillator Block 8 MHz Source INTRC Source 4 MHz 2 MHz 1 MHz 500 kHz 250 kHz 125 kHz 111 110 101 100 011 010 Clock Source Option for Other Modules MUX Clock Control FOSC3:FOSC0 OSCCON<1:0> Internal Oscillator MUX 1 0 IDLEN Peripherals 4 FSEN 1 MUX (4 MHz Input Only) 96 MHz PLL 2 USBDIV 0 1

12 10 Primary Oscillator OSC2 Sleep OSC1 PLL Prescaler 6 5 4 3 2 1

USB Clock Source

USB Peripheral

CPUDIV Oscillator Postscaler 4 3 2 1 11 10 01 00

XT, HS, EC, ECIO

Secondary Oscillator T1OSO

T1OSI

8 MHz (INTOSC)

31 kHz (INTRC)

001 1 31 kHz 000 0 OSCTUNE<7>

PLL Postscaler

WDT, PWRT, FSCM and Two-Speed Start-up

DS39632E-page 24

2009 Microchip Technology Inc.

PIC18F2455/2550/4455/4550
2.2.2 CRYSTAL OSCILLATOR/CERAMIC RESONATORS TABLE 2-1: CAPACITOR SELECTION FOR CERAMIC RESONATORS
In HS, HSPLL, XT and XTPLL Oscillator modes, a crystal or ceramic resonator is connected to the OSC1 and OSC2 pins to establish oscillation. Figure 2-2 shows the pin connections. The oscillator design requires the use of a parallel cut crystal. Note: Use of a series cut crystal may give a frequency out of the crystal manufacturers specifications. Typical Capacitor Values Used: Mode XT HS Freq 4.0 MHz 8.0 MHz 16.0 MHz OSC1 33 pF 27 pF 22 pF OSC2 33 pF 27 pF 22 pF

Capacitor values are for design guidance only. These capacitors were tested with the resonators listed below for basic start-up and operation. These values are not optimized. Different capacitor values may be required to produce acceptable oscillator operation. The user should test the performance of the oscillator over the expected VDD and temperature range for the application. See the notes following Table 2-2 for additional information.

FIGURE 2-2:

CRYSTAL/CERAMIC RESONATOR OPERATION (XT, HS OR HSPLL CONFIGURATION)


OSC1 To Internal Logic Sleep

C1(1)

Resonators Used: 4.0 MHz 8.0 MHz 16.0 MHz When using ceramic resonators with frequencies above 3.5 MHz, HS mode is recommended over XT mode. HS mode may be used at any VDD for which the controller is rated. If HS is selected, the gain of the oscillator may overdrive the resonator. Therefore, a series resistor should be placed between the OSC2 pin and the resonator. As a good starting point, the recommended value of RS is 330 .

XTAL
RS(2) C2(1) OSC2

RF(3)

PIC18FXXXX

Note 1: See Table 2-1 and Table 2-2 for initial values of C1 and C2. 2: A series resistor (RS) may be required for AT strip cut crystals. 3: RF varies with the oscillator mode chosen.

2009 Microchip Technology Inc.

DS39632E-page 25

PIC18F2455/2550/4455/4550
TABLE 2-2: CAPACITOR SELECTION FOR CRYSTAL OSCILLATOR
Crystal Freq 4 MHz 4 MHz 8 MHz 20 MHz Typical Capacitor Values Tested: C1 XT HS 27 pF 27 pF 22 pF 15 pF C2 27 pF 27 pF 22 pF 15 pF
Clock from Ext. System Open

FIGURE 2-3:

EXTERNAL CLOCK INPUT OPERATION (HS OSC CONFIGURATION)


OSC1

Osc Type

PIC18FXXXX
OSC2 (HS Mode)

2.2.3

EXTERNAL CLOCK INPUT

Capacitor values are for design guidance only. These capacitors were tested with the crystals listed below for basic start-up and operation. These values are not optimized. Different capacitor values may be required to produce acceptable oscillator operation. The user should test the performance of the oscillator over the expected VDD and temperature range for the application. See the notes following this table for additional information. Crystals Used: 4 MHz 8 MHz 20 MHz Note 1: Higher capacitance increases the stability of oscillator but also increases the start-up time. 2: When operating below 3V VDD, or when using certain ceramic resonators at any voltage, it may be necessary to use the HS mode or switch to a crystal oscillator. 3: Since each resonator/crystal has its own characteristics, the user should consult the resonator/crystal manufacturer for appropriate values of external components. 4: Rs may be required to avoid overdriving crystals with low drive level specification. 5: Always verify oscillator performance over the VDD and temperature range that is expected for the application. An internal postscaler allows users to select a clock frequency other than that of the crystal or resonator. Frequency division is determined by the CPUDIV Configuration bits. Users may select a clock frequency of the oscillator frequency, or 1/2, 1/3 or 1/4 of the frequency. An external clock may also be used when the microcontroller is in HS Oscillator mode. In this case, the OSC2/CLKO pin is left open (Figure 2-3).

The EC, ECIO, ECPLL and ECPIO Oscillator modes require an external clock source to be connected to the OSC1 pin. There is no oscillator start-up time required after a Power-on Reset or after an exit from Sleep mode. In the EC and ECPLL Oscillator modes, the oscillator frequency divided by 4 is available on the OSC2 pin. This signal may be used for test purposes or to synchronize other logic. Figure 2-4 shows the pin connections for the EC Oscillator mode.

FIGURE 2-4:

EXTERNAL CLOCK INPUT OPERATION (EC AND ECPLL CONFIGURATION)


OSC1/CLKI

Clock from Ext. System FOSC/4

PIC18FXXXX
OSC2/CLKO

The ECIO and ECPIO Oscillator modes function like the EC and ECPLL modes, except that the OSC2 pin becomes an additional general purpose I/O pin. The I/O pin becomes bit 6 of PORTA (RA6). Figure 2-5 shows the pin connections for the ECIO Oscillator mode.

FIGURE 2-5:

EXTERNAL CLOCK INPUT OPERATION (ECIO AND ECPIO CONFIGURATION)


OSC1/CLKI

Clock from Ext. System RA6

PIC18FXXXX
I/O (OSC2)

The internal postscaler for reducing clock frequency in XT and HS modes is also available in EC and ECIO modes.

DS39632E-page 26

2009 Microchip Technology Inc.

PIC18F2455/2550/4455/4550
2.2.4 PLL FREQUENCY MULTIPLIER 2.2.5 INTERNAL OSCILLATOR BLOCK
PIC18F2455/2550/4255/4550 devices include a Phase Locked Loop (PLL) circuit. This is provided specifically for USB applications with lower speed oscillators and can also be used as a microcontroller clock source. The PLL is enabled in HSPLL, XTPLL, ECPLL and ECPIO Oscillator modes. It is designed to produce a fixed 96 MHz reference clock from a fixed 4 MHz input. The output can then be divided and used for both the USB and the microcontroller core clock. Because the PLL has a fixed frequency input and output, there are eight prescaling options to match the oscillator input frequency to the PLL. There is also a separate postscaler option for deriving the microcontroller clock from the PLL. This allows the USB peripheral and microcontroller to use the same oscillator input and still operate at different clock speeds. In contrast to the postscaler for XT, HS and EC modes, the available options are 1/2, 1/3, 1/4 and 1/6 of the PLL output. The HSPLL, ECPLL and ECPIO modes make use of the HS mode oscillator for frequencies up to 48 MHz. The prescaler divides the oscillator input by up to 12 to produce the 4 MHz drive for the PLL. The XTPLL mode can only use an input frequency of 4 MHz which drives the PLL directly. The PIC18F2455/2550/4455/4550 devices include an internal oscillator block which generates two different clock signals; either can be used as the microcontrollers clock source. If the USB peripheral is not used, the internal oscillator may eliminate the need for external oscillator circuits on the OSC1 and/or OSC2 pins. The main output (INTOSC) is an 8 MHz clock source which can be used to directly drive the device clock. It also drives the INTOSC postscaler which can provide a range of clock frequencies from 31 kHz to 4 MHz. The INTOSC output is enabled when a clock frequency from 125 kHz to 8 MHz is selected. The other clock source is the internal RC oscillator (INTRC) which provides a nominal 31 kHz output. INTRC is enabled if it is selected as the device clock source; it is also enabled automatically when any of the following are enabled: Power-up Timer Fail-Safe Clock Monitor Watchdog Timer Two-Speed Start-up

These features are discussed in greater detail in Section 25.0 Special Features of the CPU. The clock source frequency (INTOSC direct, INTRC direct or INTOSC postscaler) is selected by configuring the IRCF bits of the OSCCON register (page 33).

FIGURE 2-6:

PLL BLOCK DIAGRAM (HS MODE)

2.2.5.1
HS/EC/ECIO/XT Oscillator Enable PLL Enable (from CONFIG1H Register)

Internal Oscillator Modes

OSC2
Oscillator and OSC1 Prescaler

FIN FOUT

Phase Comparator

When the internal oscillator is used as the microcontroller clock source, one of the other oscillator modes (External Clock or External Crystal/Resonator) must be used as the USB clock source. The choice of the USB clock source is determined by the particular internal oscillator mode. There are four distinct modes available: 1. INTHS mode: The USB clock is provided by the oscillator in HS mode. INTXT mode: The USB clock is provided by the oscillator in XT mode. INTCKO mode: The USB clock is provided by an external clock input on OSC1/CLKI; the OSC2/ CLKO pin outputs FOSC/4. INTIO mode: The USB clock is provided by an external clock input on OSC1/CLKI; the OSC2/ CLKO pin functions as a digital I/O (RA6).

Loop Filter 24

2. 3.
MUX SYSCLK

VCO

4.

Of these four modes, only INTIO mode frees up an additional pin (OSC2/CLKO/RA6) for port I/O use.

2009 Microchip Technology Inc.

DS39632E-page 27

PIC18F2455/2550/4455/4550
2.2.5.2 OSCTUNE Register 2.2.5.3
The internal oscillators output has been calibrated at the factory but can be adjusted in the users application. This is done by writing to the OSCTUNE register (Register 2-1). The tuning sensitivity is constant throughout the tuning range. The INTOSC clock will stabilize within 1 ms. Code execution continues during this shift. There is no indication that the shift has occurred. The OSCTUNE register also contains the INTSRC bit. The INTSRC bit allows users to select which internal oscillator provides the clock source when the 31 kHz frequency option is selected. This is covered in greater detail in Section 2.4.1 Oscillator Control Register.

Internal Oscillator Output Frequency and Drift

The internal oscillator block is calibrated at the factory to produce an INTOSC output frequency of 8.0 MHz. However, this frequency may drift as VDD or temperature changes, which can affect the controller operation in a variety of ways. The low-frequency INTRC oscillator operates independently of the INTOSC source. Any changes in INTOSC across voltage and temperature are not necessarily reflected by changes in INTRC and vice versa.

REGISTER 2-1:
R/W-0 INTSRC bit 7 Legend: R = Readable bit -n = Value at POR bit 7

OSCTUNE: OSCILLATOR TUNING REGISTER


U-0 U-0 R/W-0 TUN4 R/W-0 TUN3 R/W-0 TUN2 R/W-0 TUN1 R/W-0 TUN0 bit 0

W = Writable bit 1 = Bit is set

U = Unimplemented bit, read as 0 0 = Bit is cleared x = Bit is unknown

INTSRC: Internal Oscillator Low-Frequency Source Select bit 1 = 31.25 kHz device clock derived from 8 MHz INTOSC source (divide-by-256 enabled) 0 = 31 kHz device clock derived directly from INTRC internal oscillator Unimplemented: Read as 0 TUN4:TUN0: Frequency Tuning bits 01111 = Maximum frequency 00001 00000 = Center frequency. Oscillator module is running at the calibrated frequency. 11111 10000 = Minimum frequency

bit 6-5 bit 4-0

DS39632E-page 28

2009 Microchip Technology Inc.

PIC18F2455/2550/4455/4550
2.2.5.4 Compensating for INTOSC Drift
It is possible to adjust the INTOSC frequency by modifying the value in the OSCTUNE register. This has no effect on the INTRC clock source frequency. Tuning the INTOSC source requires knowing when to make the adjustment, in which direction it should be made and in some cases, how large a change is needed. When using the EUSART, for example, an adjustment may be required when it begins to generate framing errors or receives data with errors while in Asynchronous mode. Framing errors indicate that the device clock frequency is too high; to adjust for this, decrement the value in OSCTUNE to reduce the clock frequency. On the other hand, errors in data may suggest that the clock speed is too low; to compensate, increment OSCTUNE to increase the clock frequency. It is also possible to verify device clock speed against a reference clock. Two timers may be used: one timer is clocked by the peripheral clock, while the other is clocked by a fixed reference source, such as the Timer1 oscillator. Both timers are cleared but the timer clocked by the reference generates interrupts. When an interrupt occurs, the internally clocked timer is read and both timers are cleared. If the internally clocked timer value is greater than expected, then the internal oscillator block is running too fast. To adjust for this, decrement the OSCTUNE register. Finally, a CCP module can use free-running Timer1 (or Timer3), clocked by the internal oscillator block and an external event with a known period (i.e., AC power frequency). The time of the first event is captured in the CCPRxH:CCPRxL registers and is recorded for use later. When the second event causes a capture, the time of the first event is subtracted from the time of the second event. Since the period of the external event is known, the time difference between events can be calculated. If the measured time is much greater than the calculated time, the internal oscillator block is running too fast; to compensate, decrement the OSCTUNE register. If the measured time is much less than the calculated time, the internal oscillator block is running too slow; to compensate, increment the OSCTUNE register.

2009 Microchip Technology Inc.

DS39632E-page 29

PIC18F2455/2550/4455/4550
2.3 Oscillator Settings for USB
When these devices are used for USB connectivity, they must have either a 6 MHz or 48 MHz clock for USB operation, depending on whether Low-Speed or Full-Speed mode is being used. This may require some forethought in selecting an oscillator frequency and programming the device. The full range of possible oscillator configurations compatible with USB operation is shown in Table 2-3. active and the controller clock source is one of the primary oscillator modes (XT, HS or EC, with or without the PLL). This restriction does not apply if the microcontroller clock source is the secondary oscillator or internal oscillator block.

2.3.2

RUNNING DIFFERENT USB AND MICROCONTROLLER CLOCKS

2.3.1

LOW-SPEED OPERATION

The USB clock for Low-Speed mode is derived from the primary oscillator chain and not directly from the PLL. It is divided by 4 to produce the actual 6 MHz clock. Because of this, the microcontroller can only use a clock frequency of 24 MHz when the USB module is

The USB module, in either mode, can run asynchronously with respect to the microcontroller core and other peripherals. This means that applications can use the primary oscillator for the USB clock while the microcontroller runs from a separate clock source at a lower speed. If it is necessary to run the entire application from only one clock source, full-speed operation provides a greater selection of microcontroller clock frequencies.

TABLE 2-3:

OSCILLATOR CONFIGURATION OPTIONS FOR USB OPERATION


PLL Division (PLLDIV2:PLLDIV0) N/A(1) Clock Mode (FOSC3:FOSC0) EC, ECIO MCU Clock Division (CPUDIV1:CPUDIV0) None (00) 3 (10) 2 (01) Microcontroller Clock Frequency 48 MHz 24 MHz 16 MHz 12 MHz 48 MHz 24 MHz 16 MHz 12 MHz 48 MHz 32 MHz 24 MHz 16 MHz 40 MHz 20 MHz 13.33 MHz 10 MHz 48 MHz 32 MHz 24 MHz 16 MHz 24 MHz 12 MHz 8 MHz 6 MHz 48 MHz 32 MHz 24 MHz 16 MHz

Input Oscillator Frequency 48 MHz

48 MHz

12 (111)

4 (11) EC, ECIO 3 (10) 2 (01)

None (00)

ECPLL, ECPIO

40 MHz

10 (110)

6 (11) EC, ECIO 3 (10) 2 (01)

4 (10)

3 (01)

2 (00)

4 (11)

None (00)

ECPLL, ECPIO

2 (00) 6 (11) 4 (10)

4 (11)

3 (01)

24 MHz

6 (101)

HS, EC, ECIO

None (00) 2 (01) 4 (11) 3 (10)

HSPLL, ECPLL, ECPIO

6 (11) Legend:

4 (10)

3 (01)

2 (00)

Note 1:

All clock frequencies, except 24 MHz, are exclusively associated with full-speed USB operation (USB clock of 48 MHz). Bold is used to highlight clock selections that are compatible with low-speed USB operation (system clock of 24 MHz, USB clock of 6 MHz). Only valid when the USBDIV Configuration bit is cleared. 2009 Microchip Technology Inc.

DS39632E-page 30

PIC18F2455/2550/4455/4550
TABLE 2-3: OSCILLATOR CONFIGURATION OPTIONS FOR USB OPERATION (CONTINUED)
PLL Division (PLLDIV2:PLLDIV0) 5 (100) Clock Mode (FOSC3:FOSC0) HS, EC, ECIO MCU Clock Division (CPUDIV1:CPUDIV0) None (00) 3 (10) HSPLL, ECPLL, ECPIO 2 (01) Microcontroller Clock Frequency 20 MHz 10 MHz 6.67 MHz 5 MHz 48 MHz 32 MHz 24 MHz 16 MHz 16 MHz 8 MHz 5.33 MHz 4 MHz 48 MHz 32 MHz 24 MHz 16 MHz 12 MHz 6 MHz 4 MHz 3 MHz 48 MHz 32 MHz 24 MHz 16 MHz 8 MHz 4 MHz 2.67 MHz 2 MHz 48 MHz 32 MHz 24 MHz 16 MHz 4 MHz 2 MHz 1.33 MHz 1 MHz 48 MHz 32 MHz 24 MHz 16 MHz Input Oscillator Frequency 20 MHz

4 (11)

16 MHz

4 (011)

6 (11) HS, EC, ECIO

4 (10)

3 (01)

2 (00)

None (00) 3 (10) 2 (01) 4 (11)

HSPLL, ECPLL, ECPIO

12 MHz

3 (010)

6 (11) HS, EC, ECIO 3 (10) 3 (01) 2 (01)

4 (10)

3 (01)

2 (00)

None (00)

4 (11) HSPLL, ECPLL, ECPIO 4 (10)

2 (00)

8 MHz

2 (001)

6 (11) HS, EC, ECIO 2 (01) 3 (10)

None (00)

4 (11) HSPLL, ECPLL, ECPIO

4 MHz

1 (000)

6 (11) XT, HS, EC, ECIO 3 (10) HSPLL, ECPLL, XTPLL, ECPIO 3 (01) 2 (00) 2 (01)

4 (10)

3 (01)

2 (00)

None (00)

4 (11)

6 (11) Legend:

4 (10)

Note 1:

All clock frequencies, except 24 MHz, are exclusively associated with full-speed USB operation (USB clock of 48 MHz). Bold is used to highlight clock selections that are compatible with low-speed USB operation (system clock of 24 MHz, USB clock of 6 MHz). Only valid when the USBDIV Configuration bit is cleared.

2009 Microchip Technology Inc.

DS39632E-page 31

PIC18F2455/2550/4455/4550
2.4 Clock Sources and Oscillator Switching
The Internal Oscillator Frequency Select bits, IRCF2:IRCF0, select the frequency output of the internal oscillator block to drive the device clock. The choices are the INTRC source, the INTOSC source (8 MHz) or one of the frequencies derived from the INTOSC postscaler (31 kHz to 4 MHz). If the internal oscillator block is supplying the device clock, changing the states of these bits will have an immediate change on the internal oscillators output. On device Resets, the default output frequency of the internal oscillator block is set at 1 MHz. When an output frequency of 31 kHz is selected (IRCF2:IRCF0 = 000), users may choose which internal oscillator acts as the source. This is done with the INTSRC bit in the OSCTUNE register (OSCTUNE<7>). Setting this bit selects INTOSC as a 31.25 kHz clock source by enabling the divide-by-256 output of the INTOSC postscaler. Clearing INTSRC selects INTRC (nominally 31 kHz) as the clock source. This option allows users to select the tunable and more precise INTOSC as a clock source, while maintaining power savings with a very low clock speed. Regardless of the setting of INTSRC, INTRC always remains the clock source for features such as the Watchdog Timer and the Fail-Safe Clock Monitor. The OSTS, IOFS and T1RUN bits indicate which clock source is currently providing the device clock. The OSTS bit indicates that the Oscillator Start-up Timer (OST) has timed out and the primary clock is providing the device clock in primary clock modes. The IOFS bit indicates when the internal oscillator block has stabilized and is providing the device clock in RC Clock modes. The T1RUN bit (T1CON<6>) indicates when the Timer1 oscillator is providing the device clock in secondary clock modes. In power-managed modes, only one of these three bits will be set at any time. If none of these bits are set, the INTRC is providing the clock or the internal oscillator block has just started and is not yet stable. The IDLEN bit determines if the device goes into Sleep mode, or one of the Idle modes, when the SLEEP instruction is executed. The use of the flag and control bits in the OSCCON register is discussed in more detail in Section 3.0 Power-Managed Modes. Note 1: The Timer1 oscillator must be enabled to select the secondary clock source. The Timer1 oscillator is enabled by setting the T1OSCEN bit in the Timer1 Control register (T1CON<3>). If the Timer1 oscillator is not enabled, then any attempt to select a secondary clock source will be ignored. 2: It is recommended that the Timer1 oscillator be operating and stable prior to switching to it as the clock source; otherwise, a very long delay may occur while the Timer1 oscillator starts.

Like previous PIC18 enhanced devices, the PIC18F2455/2550/4455/4550 family includes a feature that allows the device clock source to be switched from the main oscillator to an alternate, low-frequency clock source. These devices offer two alternate clock sources. When an alternate clock source is enabled, the various power-managed operating modes are available. Essentially, there are three clock sources for these devices: Primary oscillators Secondary oscillators Internal oscillator block The primary oscillators include the External Crystal and Resonator modes, the External Clock modes and the internal oscillator block. The particular mode is defined by the FOSC3:FOSC0 Configuration bits. The details of these modes are covered earlier in this chapter. The secondary oscillators are those external sources not connected to the OSC1 or OSC2 pins. These sources may continue to operate even after the controller is placed in a power-managed mode. PIC18F2455/2550/4455/4550 devices offer the Timer1 oscillator as a secondary oscillator. This oscillator, in all power-managed modes, is often the time base for functions such as a Real-Time Clock (RTC). Most often, a 32.768 kHz watch crystal is connected between the RC0/T1OSO/T13CKI and RC1/T1OSI/ UOE pins. Like the XT and HS Oscillator mode circuits, loading capacitors are also connected from each pin to ground. The Timer1 oscillator is discussed in greater detail in Section 12.3 Timer1 Oscillator. In addition to being a primary clock source, the internal oscillator block is available as a power-managed mode clock source. The INTRC source is also used as the clock source for several special features, such as the WDT and Fail-Safe Clock Monitor.

2.4.1

OSCILLATOR CONTROL REGISTER

The OSCCON register (Register 2-2) controls several aspects of the device clocks operation, both in full-power operation and in power-managed modes. The System Clock Select bits, SCS1:SCS0, select the clock source. The available clock sources are the primary clock (defined by the FOSC3:FOSC0 Configuration bits), the secondary clock (Timer1 oscillator) and the internal oscillator block. The clock source changes immediately after one or more of the bits is written to, following a brief clock transition interval. The SCS bits are cleared on all forms of Reset.

DS39632E-page 32

2009 Microchip Technology Inc.

PIC18F2455/2550/4455/4550
2.4.2 OSCILLATOR TRANSITIONS
PIC18F2455/2550/4455/4550 devices contain circuitry to prevent clock glitches when switching between clock sources. A short pause in the device clock occurs during the clock switch. The length of this pause is the sum of two cycles of the old clock source and three to four cycles of the new clock source. This formula assumes that the new clock source is stable. Clock transitions are discussed in greater detail in Section 3.1.2 Entering Power-Managed Modes.

REGISTER 2-2:
R/W-0 IDLEN bit 7 Legend: R = Readable bit -n = Value at POR bit 7

OSCCON: OSCILLATOR CONTROL REGISTER


R/W-1 IRCF2 R/W-0 IRCF1 R/W-0 IRCF0 R(1) OSTS R-0 IOFS R/W-0 SCS1 R/W-0 SCS0 bit 0

W = Writable bit 1 = Bit is set

U = Unimplemented bit, read as 0 0 = Bit is cleared x = Bit is unknown

IDLEN: Idle Enable bit 1 = Device enters Idle mode on SLEEP instruction 0 = Device enters Sleep mode on SLEEP instruction IRCF2:IRCF0: Internal Oscillator Frequency Select bits 111 = 8 MHz (INTOSC drives clock directly) 110 = 4 MHz 101 = 2 MHz 100 = 1 MHz(3) 011 = 500 kHz 010 = 250 kHz 001 = 125 kHz 000 = 31 kHz (from either INTOSC/256 or INTRC directly)(2) OSTS: Oscillator Start-up Time-out Status bit(1) 1 = Oscillator Start-up Timer time-out has expired; primary oscillator is running 0 = Oscillator Start-up Timer time-out is running; primary oscillator is not ready IOFS: INTOSC Frequency Stable bit 1 = INTOSC frequency is stable 0 = INTOSC frequency is not stable SCS1:SCS0: System Clock Select bits 1x = Internal oscillator 01 = Timer1 oscillator 00 = Primary oscillator Depends on the state of the IESO Configuration bit. Source selected by the INTSRC bit (OSCTUNE<7>), see text. Default output frequency of INTOSC on Reset.

bit 6-4

bit 3

bit 2

bit 1-0

Note 1: 2: 3:

2009 Microchip Technology Inc.

DS39632E-page 33

PIC18F2455/2550/4455/4550
2.5 Effects of Power-Managed Modes on the Various Clock Sources
command over the USB. Once the module has suspended operation and shifted to a low-power state, the microcontroller may be safely put into Sleep mode. Enabling any on-chip feature that will operate during Sleep will increase the current consumed during Sleep. The INTRC is required to support WDT operation. The Timer1 oscillator may be operating to support a Real-Time Clock. Other features may be operating that do not require a device clock source (i.e., MSSP slave, PSP, INTx pins and others). Peripherals that may add significant current consumption are listed in Section 28.2 DC Characteristics: Power-Down and Supply Current.

When PRI_IDLE mode is selected, the designated primary oscillator continues to run without interruption. For all other power-managed modes, the oscillator using the OSC1 pin is disabled. Unless the USB module is enabled, the OSC1 pin (and OSC2 pin if used by the oscillator) will stop oscillating. In secondary clock modes (SEC_RUN and SEC_IDLE), the Timer1 oscillator is operating and providing the device clock. The Timer1 oscillator may also run in all power-managed modes if required to clock Timer1 or Timer3. In internal oscillator modes (RC_RUN and RC_IDLE), the internal oscillator block provides the device clock source. The 31 kHz INTRC output can be used directly to provide the clock and may be enabled to support various special features regardless of the power-managed mode (see Section 25.2 Watchdog Timer (WDT), Section 25.3 Two-Speed Start-up and Section 25.4 Fail-Safe Clock Monitor for more information on WDT, Fail-Safe Clock Monitor and Two-Speed Start-up). The INTOSC output at 8 MHz may be used directly to clock the device or may be divided down by the postscaler. The INTOSC output is disabled if the clock is provided directly from the INTRC output. Regardless of the Run or Idle mode selected, the USB clock source will continue to operate. If the device is operating from a crystal or resonator-based oscillator, that oscillator will continue to clock the USB module. The core and all other modules will switch to the new clock source. If the Sleep mode is selected, all clock sources are stopped. Since all the transistor switching currents have been stopped, Sleep mode achieves the lowest current consumption of the device (only leakage currents). Sleep mode should never be invoked while the USB module is operating and connected. The only exception is when the device has been issued a Suspend

2.6

Power-up Delays

Power-up delays are controlled by two timers so that no external Reset circuitry is required for most applications. The delays ensure that the device is kept in Reset until the device power supply is stable under normal circumstances and the primary clock is operating and stable. For additional information on power-up delays, see Section 4.5 Device Reset Timers. The first timer is the Power-up Timer (PWRT), which provides a fixed delay on power-up (parameter 33, Table 28-12). It is enabled by clearing (= 0) the PWRTEN Configuration bit. The second timer is the Oscillator Start-up Timer (OST), intended to keep the chip in Reset until the crystal oscillator is stable (XT and HS modes). The OST does this by counting 1024 oscillator cycles before allowing the oscillator to clock the device. When the HSPLL Oscillator mode is selected, the device is kept in Reset for an additional 2 ms following the HS mode OST delay, so the PLL can lock to the incoming clock frequency. There is a delay of interval, TCSD (parameter 38, Table 28-12), following POR, while the controller becomes ready to execute instructions. This delay runs concurrently with any other delays. This may be the only delay that occurs when any of the EC or internal oscillator modes are used as the primary clock source.

TABLE 2-4:
INTCKO INTIO ECIO, ECPIO EC XT and HS Note:

OSC1 AND OSC2 PIN STATES IN SLEEP MODE


OSC1 Pin Floating, pulled by external clock Floating, pulled by external clock Floating, pulled by external clock Floating, pulled by external clock Feedback inverter disabled at quiescent voltage level OSC2 Pin At logic low (clock/4 output) Configured as PORTA, bit 6 Configured as PORTA, bit 6 At logic low (clock/4 output) Feedback inverter disabled at quiescent voltage level

Oscillator Mode

See Table 4-2 in Section 4.0 Reset for time-outs due to Sleep and MCLR Reset.

DS39632E-page 34

2009 Microchip Technology Inc.

PIC18F2455/2550/4455/4550
3.0 POWER-MANAGED MODES
3.1.1 CLOCK SOURCES
PIC18F2455/2550/4455/4550 devices offer a total of seven operating modes for more efficient power management. These modes provide a variety of options for selective power conservation in applications where resources may be limited (i.e., battery-powered devices). There are three categories of power-managed modes: Run modes Idle modes Sleep mode These categories define which portions of the device are clocked and sometimes, what speed. The Run and Idle modes may use any of the three available clock sources (primary, secondary or internal oscillator block); the Sleep mode does not use a clock source. The power-managed modes include several power-saving features offered on previous PIC devices. One is the clock switching feature, offered in other PIC18 devices, allowing the controller to use the Timer1 oscillator in place of the primary oscillator. Also included is the Sleep mode, offered by all PIC devices, where all device clocks are stopped. The SCS1:SCS0 bits allow the selection of one of three clock sources for power-managed modes. They are: The primary clock, as defined by the FOSC3:FOSC0 Configuration bits The secondary clock (the Timer1 oscillator) The internal oscillator block (for RC modes)

3.1.2

ENTERING POWER-MANAGED MODES

Switching from one power-managed mode to another begins by loading the OSCCON register. The SCS1:SCS0 bits select the clock source and determine which Run or Idle mode is to be used. Changing these bits causes an immediate switch to the new clock source, assuming that it is running. The switch may also be subject to clock transition delays. These are discussed in Section 3.1.3 Clock Transitions and Status Indicators and subsequent sections. Entry to the power-managed Idle or Sleep modes is triggered by the execution of a SLEEP instruction. The actual mode that results depends on the status of the IDLEN bit. Depending on the current mode and the mode being switched to, a change to a power-managed mode does not always require setting all of these bits. Many transitions may be done by changing the oscillator select bits, or changing the IDLEN bit, prior to issuing a SLEEP instruction. If the IDLEN bit is already configured correctly, it may only be necessary to perform a SLEEP instruction to switch to the desired mode.

3.1

Selecting Power-Managed Modes

Selecting a power-managed mode requires two decisions: if the CPU is to be clocked or not and the selection of a clock source. The IDLEN bit (OSCCON<7>) controls CPU clocking, while the SCS1:SCS0 bits (OSCCON<1:0>) select the clock source. The individual modes, bit settings, clock sources and affected modules are summarized in Table 3-1.

TABLE 3-1:
Mode Sleep PRI_RUN SEC_RUN RC_RUN PRI_IDLE SEC_IDLE RC_IDLE Note 1: 2:

POWER-MANAGED MODES
OSCCON<7,1:0> IDLEN(1) 0 N/A N/A N/A 1 1 1 SCS1:SCS0 N/A 00 01 1x 00 01 1x Module Clocking Available Clock and Oscillator Source CPU Off Clocked Clocked Clocked Off Off Off Peripherals Off Clocked Clocked Clocked Clocked Clocked Clocked None all clocks are disabled Primary all oscillator modes. This is the normal full-power execution mode. Secondary Timer1 oscillator Internal oscillator block(2) Primary all oscillator modes Secondary Timer1 oscillator Internal oscillator block(2)

IDLEN reflects its value when the SLEEP instruction is executed. Includes INTOSC and INTOSC postscaler, as well as the INTRC source.

2009 Microchip Technology Inc.

DS39632E-page 35

PIC18F2455/2550/4455/4550
3.1.3 CLOCK TRANSITIONS AND STATUS INDICATORS
The length of the transition between clock sources is the sum of two cycles of the old clock source and three to four cycles of the new clock source. This formula assumes that the new clock source is stable. Three bits indicate the current clock source and its status. They are: OSTS (OSCCON<3>) IOFS (OSCCON<2>) T1RUN (T1CON<6>) In general, only one of these bits will be set while in a given power-managed mode. When the OSTS bit is set, the primary clock is providing the device clock. When the IOFS bit is set, the INTOSC output is providing a stable, 8 MHz clock source to a divider that actually drives the device clock. When the T1RUN bit is set, the Timer1 oscillator is providing the clock. If none of these bits are set, then either the INTRC clock source is clocking the device, or the INTOSC source is not yet stable. If the internal oscillator block is configured as the primary clock source by the FOSC3:FOSC0 Configuration bits, then both the OSTS and IOFS bits may be set when in PRI_RUN or PRI_IDLE modes. This indicates that the primary clock (INTOSC output) is generating a stable 8 MHz output. Entering another power-managed RC mode at the same frequency would clear the OSTS bit. Note 1: Caution should be used when modifying a single IRCF bit. If VDD is less than 3V, it is possible to select a higher clock speed than is supported by the low VDD. Improper device operation may result if the VDD/FOSC specifications are violated. 2: Executing a SLEEP instruction does not necessarily place the device into Sleep mode. It acts as the trigger to place the controller into either the Sleep mode, or one of the Idle modes, depending on the setting of the IDLEN bit.

3.1.4

MULTIPLE SLEEP COMMANDS

The power-managed mode that is invoked with the SLEEP instruction is determined by the setting of the IDLEN bit at the time the instruction is executed. If another SLEEP instruction is executed, the device will enter the power-managed mode specified by IDLEN at that time. If IDLEN has changed, the device will enter the new power-managed mode specified by the new setting. Upon resuming normal operation after waking from Sleep or Idle, the internal state machines require at least one TCY delay before another SLEEP instruction can be executed. If two back to back SLEEP instructions will be executed, the process shown in Example 3-1 should be used.

EXAMPLE 3-1:
SLEEP NOP SLEEP

EXECUTING BACK TO BACK SLEEP INSTRUCTIONS

;Wait at least 1 Tcy before executing another sleep instruction

3.2

Run Modes

3.2.2

SEC_RUN MODE

In the Run modes, clocks to both the core and peripherals are active. The difference between these modes is the clock source.

3.2.1

PRI_RUN MODE

The PRI_RUN mode is the normal, full-power execution mode of the microcontroller. This is also the default mode upon a device Reset unless Two-Speed Start-up is enabled (see Section 25.3 Two-Speed Start-up for details). In this mode, the OSTS bit is set. The IOFS bit may be set if the internal oscillator block is the primary clock source (see Section 2.4.1 Oscillator Control Register).

The SEC_RUN mode is the compatible mode to the clock switching feature offered in other PIC18 devices. In this mode, the CPU and peripherals are clocked from the Timer1 oscillator. This gives users the option of lower power consumption while still using a high-accuracy clock source.

DS39632E-page 36

2009 Microchip Technology Inc.

PIC18F2455/2550/4455/4550
SEC_RUN mode is entered by setting the SCS1:SCS0 bits to 01. The device clock source is switched to the Timer1 oscillator (see Figure 3-1), the primary oscillator is shut down, the T1RUN bit (T1CON<6>) is set and the OSTS bit is cleared. Note: The Timer1 oscillator should already be running prior to entering SEC_RUN mode. If the T1OSCEN bit is not set when the SCS1:SCS0 bits are set to 01, entry to SEC_RUN mode will not occur. If the Timer1 oscillator is enabled but not yet running, device clocks will be delayed until the oscillator has started. In such situations, initial oscillator operation is far from stable and unpredictable operation may result. On transitions from SEC_RUN mode to PRI_RUN, the peripherals and CPU continue to be clocked from the Timer1 oscillator while the primary clock is started. When the primary clock becomes ready, a clock switch back to the primary clock occurs (see Figure 3-2). When the clock switch is complete, the T1RUN bit is cleared, the OSTS bit is set and the primary clock is providing the clock. The IDLEN and SCS bits are not affected by the wake-up; the Timer1 oscillator continues to run.

FIGURE 3-1:

TRANSITION TIMING FOR ENTRY TO SEC_RUN MODE


Q1 Q2 Q3 Q4 Q1 Q2 1 2 3 n-1 n Q3 Q4 Q1 Q2 Q3

T1OSI OSC1 CPU Clock Peripheral Clock Program Counter Note 1: PC

Clock Transition(1)

PC + 2

PC + 4

Clock transition typically occurs within 2-4 TOSC.

FIGURE 3-2:

TRANSITION TIMING FROM SEC_RUN MODE TO PRI_RUN MODE (HSPLL)


Q1 T1OSI OSC1 TOST(1) TPLL(1) 1 2 n-1 n Q2 Q3 Q4 Q1 Q2 Q3 Q4 Q1 Q2 Q3

PLL Clock Output CPU Clock Peripheral Clock Program Counter SCS1:SCS0 bits Changed Note 1: 2: PC OSTS bit Set

Clock(2) Transition

PC + 2

PC + 4

TOST = 1024 TOSC; TPLL = 2 ms (approx). These intervals are not shown to scale. Clock transition typically occurs within 2-4 TOSC.

2009 Microchip Technology Inc.

DS39632E-page 37

PIC18F2455/2550/4455/4550
3.2.3 RC_RUN MODE
In RC_RUN mode, the CPU and peripherals are clocked from the internal oscillator block using the INTOSC multiplexer; the primary clock is shut down. When using the INTRC source, this mode provides the best power conservation of all the Run modes while still executing code. It works well for user applications which are not highly timing sensitive or do not require high-speed clocks at all times. If the primary clock source is the internal oscillator block (either INTRC or INTOSC), there are no distinguishable differences between the PRI_RUN and RC_RUN modes during execution. However, a clock switch delay will occur during entry to and exit from RC_RUN mode. Therefore, if the primary clock source is the internal oscillator block, the use of RC_RUN mode is not recommended. This mode is entered by setting SCS1 to 1. Although it is ignored, it is recommended that SCS0 also be cleared; this is to maintain software compatibility with future devices. When the clock source is switched to the INTOSC multiplexer (see Figure 3-3), the primary oscillator is shut down and the OSTS bit is cleared. The IRCF bits may be modified at any time to immediately change the clock speed. Note: Caution should be used when modifying a single IRCF bit. If VDD is less than 3V, it is possible to select a higher clock speed than is supported by the low VDD. Improper device operation may result if the VDD/FOSC specifications are violated. If the IRCF bits and the INTSRC bit are all clear, the INTOSC output is not enabled and the IOFS bit will remain clear; there will be no indication of the current clock source. The INTRC source is providing the device clocks. If the IRCF bits are changed from all clear (thus, enabling the INTOSC output), or if INTSRC is set, the IOFS bit becomes set after the INTOSC output becomes stable. Clocks to the device continue while the INTOSC source stabilizes after an interval of TIOBST. If the IRCF bits were previously at a non-zero value or if INTSRC was set before setting SCS1 and the INTOSC source was already stable, the IOFS bit will remain set. On transitions from RC_RUN mode to PRI_RUN mode, the device continues to be clocked from the INTOSC multiplexer while the primary clock is started. When the primary clock becomes ready, a clock switch to the primary clock occurs (see Figure 3-4). When the clock switch is complete, the IOFS bit is cleared, the OSTS bit is set and the primary clock is providing the device clock. The IDLEN and SCS bits are not affected by the switch. The INTRC source will continue to run if either the WDT or the Fail-Safe Clock Monitor is enabled.

DS39632E-page 38

2009 Microchip Technology Inc.

Anda mungkin juga menyukai