documento platforma de psoc

57
IEL2-I-06-48 DISEÑO DE UNA PLATAFORMA ACADÉMICA PARA EL USO DE PSOC JAIME ALBERTO RAMÍREZ OSPINA UNIVERSIDAD DE LOS ANDES FACULTAD DE INGENIERÍA DEPARTAMENTO DE INGENIERÍA ELECTRÓNICA BOGOTÁ 2006

Upload: others

Post on 20-Jul-2022

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: documento platforma de psoc

IEL2-I-06-48

DISEÑO DE UNA PLATAFORMA ACADÉMICA PARA EL USO DE PSOC

JAIME ALBERTO RAMÍREZ OSPINA

UNIVERSIDAD DE LOS ANDES

FACULTAD DE INGENIERÍA DEPARTAMENTO DE INGENIERÍA ELECTRÓNICA

BOGOTÁ 2006

Page 2: documento platforma de psoc

IEL2-I-06-48

DISEÑO DE UNA PLATAFORMA ACADÉMICA PARA EL USO DE PSOC

Monografía para optar al título de Ingeniero Electrónico

Asesor MAURICIO GUERRERO HURTADO

Ingeniero Electrónico PHD.

UNIVERSIDAD DE LOS ANDES FACULTAD DE INGENIERÍA

DEPARTAMENTO DE INGENIERÍA ELECTRÓNICA BOGOTÁ

2006

Page 3: documento platforma de psoc

IEL2-I-06-48

AGRADECIMIENTOS

Agradezco al profesor Mauricio Guerrero por su colaboración y orientación a lo largo de este proyecto. A Miguel Uribe, Jesús Caro e Iván Cudris por su colaboración en el desarrollo de los aspectos técnicos de este proyecto. También agradezco a mi familia, mis amigos y Natalia Marquez por la motivación y el apoyo, sin los cuales no me habría sido posible llegar a este punto.

Page 4: documento platforma de psoc

IEL2-I-06-48

4

TABLA DE CONTENIDO TABLA DE CONTENIDO....................................................................................................4 LISTA DE FIGURAS.............................................................................................................5 LISTA DE TABLAS..............................................................................................................6 LISTA DE ANEXOS.............................................................................................................5 OBJETIVOS...........................................................................................................................6 INTRODUCCIÓN..................................................................................................................7 1. INTRODUCCIÓN A LOS PSoC .......................................................................................8 2. CARACTERIZACIÓN DEL PROBLEMA.......................................................................9 3. SELECCIÓN DEL DISPOSITIVO..................................................................................10

3.1 Fabricantes..................................................................................................................10 3.2 Herramientas de diseño...............................................................................................12

3.2.1 PSoC Designer:....................................................................................................12 3.2.2 PSoC Express: .....................................................................................................13

3.3 Selección del dispositivo............................................................................................14 4. DISEÑO DE LA PLATAFORMA DE PSOC..................................................................15

4.1 Diseño esquemático ....................................................................................................15 4.1.1 Tarjeta de PSoC: ..................................................................................................15 4.1.2 Tarjeta de prototipaje:..........................................................................................16

4.2 Diseño detallado .........................................................................................................18 4.2.1 Tarjeta de PSoC: ..................................................................................................19 4.2.2 Tarjeta de prototipaje:..........................................................................................22 4.2.3 Diseño de los circuitos impresos:........................................................................26

5. MÓDULO DE INSTRUMENTACIÓN...........................................................................28 5.1 Descripción.................................................................................................................28 5.2 Características .............................................................................................................29 5.3 Implementación ..........................................................................................................29

6. RESULTADOS................................................................................................................30 CONCLUSIONES................................................................................................................31 REFERENCIAS ...................................................................................................................32

Page 5: documento platforma de psoc

IEL2-I-06-48

5

LISTA DE FIGURAS Figura 1. Disposición de la plataforma de embebidos............................................................9 Figura 2. Apariencia PSoC Designer....................................................................................13 Figura 3. Apariencia PSoC Express......................................................................................13 Figura 4. Diagrama de bloques CY8C29866........................................................................15 Figura 5. Diagrama estructural tarjeta de PSoC. ..................................................................16 Figura 6. Diagrama estructural tarjeta de prototipaje...........................................................17 Figura 7. Diagrama circuito impreso de la tarjeta de............................................................19 Microcontrolador..................................................................................................................19 Figura 8. Empaque TQFP100...............................................................................................20 Figura 9. Esquema del programador.....................................................................................20 Figura 10. Apariencia CYP...................................................................................................21 Figura 11. Esquema circuitos de alimentación. ....................................................................21 Figura 12. Esquematico tarjeta de PSoC. .............................................................................22 Figura 13. Puerto infrarrojo. .................................................................................................23 Figura 14. Puente H L298.....................................................................................................23 Figura 15. Sensor de temperatura .........................................................................................24 Figura 16. Modulo USB. ......................................................................................................24 Figura 17. Protección entradas análogas. .............................................................................25 Figura 18. Esquema conectrores...........................................................................................25 Figura19. Pantalla LCD. .......................................................................................................25 Figura 20. Señales VGA.......................................................................................................26 Figura 21. Amplificadores de instrumentación. ...................................................................26 Figura 22. Diagrama circuitos impresos de las tarjetas de PSoC y de prototipaje...............27 Figura 23. Apariencia aplicación. .........................................................................................30

Page 6: documento platforma de psoc

IEL2-I-06-48

6

LISTA DE TABLAS Tabla1. Dispositivos Cypress Semiconductors.....................................................................11

Page 7: documento platforma de psoc

IEL2-I-06-48

5

LISTA DE ANEXOS Anexo 1. Manual de uso de la plataforma de PSoC .............................................................33 Anexo 2. Código del programa del PSoC de la aplicación...................................................44 Anexo 3. Código de la aplicación en Visual Basic 6.0.........................................................47

Page 8: documento platforma de psoc

IEL2-I-06-48

6

OBJETIVOS

• Desarrollar una plataforma de trabajo de PSOC, que sea compatible con las plataformas de sistemas embebidos disponibles.

• Validar la utilidad del prototipo por medio de una aplicación. • Elaborar las guías de operación del prototipo. • Evaluar la factibilidad de implementar tele-operación en esta plataforma.

Page 9: documento platforma de psoc

IEL2-I-06-48

7

INTRODUCCIÓN A partir de la tecnología desarrollada por la compañía Ciprés Semiconductors, a la cual ellos llaman PSoC, en la universidad de los Andes se han desarrollado algunas aproximaciones al empleo de esta tecnología, tanto en clase como en aplicaciones especificas. En el caso de aplicaciones específicas se han llevado a cabo proyectos de grado en los que se ha resuelto un problema particular incorporando en esta solución la tecnología de los PSoC, como es el caso del proyecto “Monitoreo de aulas de clase”, desarrollado por Paula Brecci en 2005, y otros mas. Además de las aproximaciones hechas, en estos proyectos de grado, al empleo de los PSoC, en este momento se encuentra en desarrollo una plataforma para trabajo en sistemas embebidos, la cual cuenta con la capacidad de realizar trabajos demostrativos y diseños funcionales para la solución de un problema especifico, dando así la posibilidad de practicar y reforzar las habilidades adquiridas en los cursos en los que se trabaja co-diseño hardware-software entre otros. Gracias al interés del departamento de Ingeniería Electrónica de la Universidad de los Andes por incursionar mas en el empleo de la tecnología de los PSoC, y al interés por desarrollar una plataforma académica para trabajo en sistemas embebidos, es que nace la iniciativa de desarrollar una plataforma que facilite el uso y aprendizaje de la tecnología de los PSoC, la cual debe ser un complemento para la plataforma de sistemas embebidos, dotando al departamento de una herramienta útil y versátil para el aprendizaje de las disciplinas y habilidades propias de un ingeniero electrónico.

Page 10: documento platforma de psoc

IEL2-I-06-48

8

1. INTRODUCCIÓN A LOS PSoC Un PSoC es un tipo de sistema en chip (System on Chip), el cual tiene la posibilidad de programar diferentes funciones, gracias a la capacidad de interconectar sus diferentes módulos. La capacidad adicional que tienen los PSoC frente a otros tipos de SOC’s es su capacidad de programar la configuración y conexión de sus diferentes módulos para realizar diferentes funciones periféricas. Un PSoC consiste de un procesador central o core, el cual cuenta con recursos de memoria de programa y memoria de almacenamiento, como cualquier microcontrolador. La diferencia del PSoC con el microcontrolador es que este cuenta con un conjunto de módulos análogos y digitales que se pueden configurar de tal manera que para cada diseño se pueden tener los periféricos que sean necesarios en cada aplicación. Otra ventaja con la que cuentan los PSoC es que están dotados de un conjunto de pines de propósito general, que pueden ser configurados como de entrada o salida, y algunos de estos pines pueden utilizarse como entrada o salida de señales análogas, haciendo esto que estos dispositivos tengan una gran acogida en el ámbito del adecuamiento de señales. Además de las ventajas ya mencionadas, como son la capacidad de configuración y los diferentes recursos disponibles, la tecnología de los PSoC cuenta con variadas herramientas, que facilitan el uso de estos dispositivos, convirtiéndolos esto en una herramienta con mucho potencial para la enseñanza.

Page 11: documento platforma de psoc

IEL2-I-06-48

9

2. CARACTERIZACIÓN DEL PROBLEMA Teniendo en cuenta que este proyecto se complementará con plataformas diseñadas para trabajar sistemas embebidos, la plataforma de PSoC debe estar compuesta por dos tarjetas, una donde se trabaje el PSoC de forma independiente y compatible con las otras tarjetas (FPGA, microcontrolador) y otra con la que se puedan implementar demostraciones de forma rápida y sencilla.

Dado que se quiere que este producto, además de ser útil para los trabajos del área de sistemas embebidos, pueda ser utilizado para trabajos y demostraciones en otras disciplinas como control, análisis de circuitos, electrónica análoga, etc., se decidió que la plataforma de PSoC debe contar con las siguientes funciones: • Visualización de información • Comunicación, incluyendo comunicación inalámbrica

• Adquisición de datos • Entrada de señales lógicas por parte del usuario

• Manejo de motores DC y otros dispositivos que requieran potencia mayor a la

entregada por el PSoC.

Figura 1. Disposición de la plataforma de embebidos.

Además de estas funciones la plataforma debe contar con conectores que le permitan conectarse a la plataforma de embebidos, como se ilustra en la figura.

Page 12: documento platforma de psoc

IEL2-I-06-48

10

3. SELECCIÓN DEL DISPOSITIVO

3.1 Fabricantes. El segmento de los PSoC esta dominado, en la actualidad, por la compañía Cypress Semiconductors, la cual cuenta con más de 60 referencias de PSoC y ha promovido ampliamente el uso de esta tecnología por medio de concursos y seminarios alrededor del mundo. Entre los productos más novedosos se encuentran los módulos análogos capsense®, los cuales son módulos exclusivos para manejar sensores capacitivos, por ejemplo pantallas sensibles al tacto (touchpads, touchscreens), con el fin de dar la posibilidad a los fabricantes y nuevos diseñadores de reemplazar los pulsadores o contactores mecánicos, por contactores capacitivos de forma económica, prolongando así la vida útil y mejorando la calidad del producto. En cuanto a la variedad de referencias con que dispone Cypress Semiconductors, la diferencia principal radica en la cantidad de recursos con que dispone el dispositivo, tanto en memoria de programa, como en módulos análogos y digitales, tal como se muestra en la tabla 1. CG64xxAM CY8C20x34 CY8C21x23 CY8C21x34 Procesador

Velocidad Máxima 12 MHz 12 MHz 24 MHz 24 MHz Voltaje de operación 4.75-5.25 V 2.4-5.25 V 2.4-5.25 V 2.4-5.25 V

Bloques análogos 4 tipo E 1 CapSense 4 tipo E 4 tipo E Bloques digitales 4 0 4 4 Memoria

flash 4Kbytes 8Kbytes 4Kbytes 8Kbytes SRAM 256 bytes 512 bytes 256 bytes 512 bytes

Entradas análogas 8 28 8 8 Salidas análogas 0 0 0 0

Page 13: documento platforma de psoc

IEL2-I-06-48

11

CY8C22x13 CY8C24x23 CY8C24x94 CY8C25x22 Procesador

Velocidad Máxima 24 MHz 24 MHz 24 MHz 24 MHz Voltaje de operación 3-5.25 V 3-5.25 V 3-5.25 V 3-5.25 V

Bloques análogos 3 6 6 12 Bloques digitales 4 4 4 8 Memoria

flash 2Kbytes 4Kbytes 16Kbytes 4Kbytes SRAM 256 bytes 256 bytes 1Kbyte 256 bytes

Entradas análogas 8 10 48 Salidas análogas 1 2 2 CY8C26x33 CY8C26x43 CY8C24x94 CY8C27x43 Procesador

Velocidad Máxima 24 MHz 24 MHz 24 MHz Voltaje de operación 3-5.25 V 3-5.25 V 3-5.25 V 3-5.25 V

Bloques análogos 12 12 12 12 Bloques digitales 8 8 8 8 Memoria

flash 8Kbytes 16Kbytes 16Kbytes 16Kbytes SRAM 256 bytes 256 bytes 1Kbyte 256 bytes

Entradas análogas 48 12 Salidas análogas 2 4 CY8C29x66 CY8C4xx23 Procesador

Velocidad Máxima 24 MHz 24 MHz Voltaje de operación 3-5.25 V 2.5-36 V

Bloques análogos 12 2 comp 1SC Bloques digitales 16 4 básicos Memoria

flash 32Kbytes 4Kbytes SRAM 2Kbytes 256 bytes

Entradas análogas 12 Salidas análogas 4 Tabla1. Dispositivos Cypress Semiconductors.

Page 14: documento platforma de psoc

IEL2-I-06-48

12

3.2 Herramientas de diseño Para el diseño de sistemas en PSoC Cypress Semiconductors cuenta con 2 herramientas software para diseño, programación y emulación como son PSoC Designer y PSoC Express.

3.2.1 PSoC Designer: Es una herramienta con interfaz grafica al usuario (GUI), que permite configurar los módulos y las conexiones del dispositivo con solo seleccionar el recurso deseado y asignarlo a los módulos disponibles que requiera este recurso. Tiene la capacidad de compilar lenguaje C y assembler. Su interfaz al usuario se muestra en la figura 1

Page 15: documento platforma de psoc

IEL2-I-06-48

13

Figura 2. Apariencia PSoC Designer.

3.2.2 PSoC Express: Este programa cuenta con una interfaz gráfica al usuario, que le permite seccionar las funciones a implementar, además cuenta con una función que ayuda al usuario a determinar que recursos deben ir por fuera del dispositivo. Las funciones disponibles para implementar en el PSoC son de un nivel mas alto que las que maneja PSoC Designer, de tal forma que facilita el manejo al usuario, pero hace que lo que ocurre en el PSoC sea mas transparente. A continuación se muestra la apariencia de la herramienta

Figura 3. Apariencia PSoC Express.

Como complemento a las herramientas software, ya descritas, Cypress semiconductors ofrece diferentes kits de desarrollo y un emulador en circuito o ICE por sus iniciales en

Page 16: documento platforma de psoc

IEL2-I-06-48

14

ingles (In-Circuit Emulator), necesario para poder hacer emulación del diseño con las herramientas software antes mencionadas.

Además de las herramientas que ha dispuesto en el mercado Cypress Semiconductors, existen gran cantidad de aplicaciones hardware y software, desarrolladas por otras compañías o por aficionados al tema, disponibles de forma gratuita en foros y páginas de Internet

3.3 Selección del dispositivo Teniendo una revisión completa del estado del arte de los PSoC, los diferentes productos que se ofrecen y las características que debe tener esta plataforma, se decidió usar un dispositivo Cypress semiconductors, referencia CY8C29866. La razón por la cual se escogió esta referencia fue porque es la que cuenta con una cantidad de recursos mayor, lo que es ideal para este proyecto pues le ofrece al usuario de la plataforma la mayor cantidad de recursos que se pueden conseguir en un PSoC hasta la fecha. Las características de esta referencia se muestran a continuación: • Procesador M8C, arquitectura Harvard. • In-System Serial Programming (ISSP®) • UART full duplex, I2C y SPI • 64 pines de entrada / salida de propósito general (GPIO). • Hasta 12 entradas análogas en los GPIO • Hasta 4 salidas análogas en los GPIO El diagrama de bloques para el componente CY8C29866 es el que se muestra en la figura

Page 17: documento platforma de psoc

IEL2-I-06-48

15

Figura 4. Diagrama de b loques CY8C29866

4. DISEÑO DE LA PLATAFORMA DE PSOC

4.1 Diseño esquemático La plataforma de PSoC completa esta compuesta por dos tarjetas, una llamada tarjeta de

PSoC en donde va montado el PSoC, y otra llamada tarjeta de prototipaje en donde se dispone de algunos recursos que son útiles para implementar una gran cantidad de diseños que involucren diferentes disciplinas de la ingeniería electrónica.

4.1.1 Tarjeta de PSoC: Esta plataforma debe contar con los recursos necesarios para que funcione independientemente, razón por la cual esta dotada con los recursos que se muestran en la figura

Programador

CY8C29866

Alimentación

Puerto

Conectores

Page 18: documento platforma de psoc

IEL2-I-06-48

16

Figura 5. Diagrama estructural tarjeta de PSoC.

4.1.2 Tarjeta de prototipaje: 1. plataforma de prototipos se tuvo en cuenta los siguientes aspectos. o Funcionalidad

Page 19: documento platforma de psoc

IEL2-I-06-48

17

o Múltiples propósitos o Flexibilidad

Teniendo en cuenta esto se equipó la tarjeta de prototipos con los recursos mostrados en la figura

Figura 6. Diagrama estructural tarjeta de prototipaje.

Los recursos con los que cuentan la tarjeta de prototipos y la tarjteta de PSoC corresponden a las funciones y caracteristicas definidas en la fase de dimensionamiento, como se muestra a continuación:

• Visualización de información: a esta característica están asociados los siguientes

recursos:

- Barra de leds: Esta barra da la posibilidad de observar el estado de determinados pines.

- Pantalla LCD: Proporciona la capacidad de visualización de información

alfanumérica.

- Puerto VGA: Da la posibilidad al usuario de implementar visualización en una pantalla VGA.

• Comunicación, incluyendo comunicación inalámbrica: esta característica de la

plataforma de PSoC tiene correspondencia con los siguientes recursos:

- Puerto infrarrojo: este puerto esta pensado para darle a la tarjeta de prototipos la capacidad de implementar comunicaciones inalámbricas de corta distancia. Se incluyó en la tarjeta de prototipos porque en el PSoC se puede implementar un modulo comunicación infrarroja IRDA.

- Modulo USB: Éste módulo tiene como propósito brindar la posibilidad al usuario de

implementar un puerto USB.

Modulo USB

LCD 2x16

Barra de 8 leds

Protección entradas análogas

Puerto Infrarrojo

Sensor de temperatura

Puente H

Pulsadores x8

Puerto VGA

Amplificadores de instrumentación

Alimentación

Conectores

Page 20: documento platforma de psoc

IEL2-I-06-48

18

- Puerto serial: Este puerto se incluye para tener comunicación vía puerto serial con

un computador. • Adquisición de datos: En la adquisición de datos se incluyen recursos que faciliten

implementar demostraciones o diseños de forma sencilla, como se muestra a continuación:

- Amplificadores de instrumentación: Estos amplificadores se incluyen en la tarjeta

para dar la posibilidad de manejar señales con alta precisión. - Protección entradas análogas: Este modulo cuenta con protecciones para 4

entradas, que impiden que los voltajes aplicados a los pines sean mayores a los valores permitidos.

- Sensor de temperatura: Este sensor esta integrado para permitir tomar mediciones

de temperatura. Es útil para implementar una adquisición de datos sencilla. • Entrada de señales lógicas por parte del usuario: Esta función esta implementada por

medio de pulsadores para que el usuario pueda cambiar los valores de forma manual. • Manejo de motores DC y otros dispositivos que requieran potencia mayor a la

entregada por el PSoC: Este modulo esta pensado para dar al usuario de la tarjeta de prototipos la posibilidad de implementar control, a potencias más altas, por medio de una señal PWM y un puente H.

4.2 Diseño detallado Teniendo definidos los bloques que conformaran, tanto a la tarjeta de prototipos como a la tarjeta de PSoC, se diseñaron los circuitos impresos para cada una de estas tarjetas, de tal forma que tengan las mismas dimensiones de las tarjetas de micrtocontrolador y FPGA, como se muestra en la figura .

Page 21: documento platforma de psoc

IEL2-I-06-48

19

Figura 7. Diagrama circuito impreso de la tarjeta de Microcontrolador

Como se puede observar en la figura, la tarjeta de microcontrolador cuenta con varios conectores, los cuales van conectados a los pines libres del microcontrolador o son conectores de expansión de la tarjeta de FPGA. De los conectores mencionados antes solo se conectaran 3 a las tarjetas de PSoC y de prototipos, uno de estos conectores es común para todas las tarjetas, es decir, se puede intercambiar información entre las tarjetas de microcontrolador, FPGA y PSoC. Un segundo conector corresponde a los pines libres del microcontrolador, los cuales se pueden usar para cualquier propósito. El otro conector va a los pines libres de la FPGA. Estos conectores permiten compartir la misma referencia de voltaje y voltaje de alimentación en todas las tarjetas..

A partir de lo descrito antes se establecieron las siguientes restricciones para el diseño de las tarjetas de PSoC y de prototipos: • Dimensiones de 113 mm x 133 mm. • La ubicación de los conectores y el tipo de conectores en la plataforma de PSoC debe

ser compatible. • El voltaje de alimentación de los circuitos lógicos debe ser el mismo que en la

plataforma de embebidos, es decir 3.3 V

A partir de estas restricciones se diseñaron cada una de las tarjetas de la plataforma de PSoC, como se muestra a continuación.

4.2.1 Tarjeta de PSoC: El dispositivo elegido para trabajar es el CY8C29866 en empaque TQFP100 como se muestra a continuación

Page 22: documento platforma de psoc

IEL2-I-06-48

20

Figura 8. Empaque TQFP100.

El dispositivo cuenta con un método de programación en sistema llamado ISSP in system serial programming el cual necesita de 3 líneas de comunicación y alimentación a 5V. Las líneas de comunicación son XRES, SCLK y SDATA, las cuales son reset, señal de reloj y datos, respectivamente, estableciéndose así una comunicación serial entre el dispositivo y el programador. El circuito programador que se eligió se comunica por medio del puerto paralelo con el computador y cuenta con seis buffer de protección, tal como se muestra a continuación:

Figura 9. Esquema del programador.

Page 23: documento platforma de psoc

IEL2-I-06-48

21

El software usado para programar el dispositivo se llama CYP y se puede encontrar en la pagina www.psocdeveloper.com en la sección de foro, allí mismo se puede encontrar el esquemático del circuito de programación que se presento antes. La interfaz al usuario del programa CYP se muestra en la siguiente figura:

Figura 10. Apariencia CYP.

La plataforma del PSoC debe contar también con alimentación propia, para lo cual se usaran dos reguladores de voltaje, un 7805L para proporcionar la alimentación de 5V y un LM317, para proporcionar una alimentación fija de 3.3 V, para que esta plataforma sea compatible con las plataformas de sistemas embebidos ya existentes. A continuación se muestra el montaje de estos reguladores

Figura 11. Esquema circuitos de alimentación.

Pensando en la integración de esta plataforma con las plataformas de sistemas embebidos, los 64 pines de propósito general (GPIO), con los que cuenta el dispositivo seleccionado, se organizaron en dos conectores de expansión de 34 pines cada uno, tal y como esta establecido en la tarjeta de la FPGA y del microcontrolador. Cada uno de estos conectores tiene una función específica, uno esta especificado como un bus de datos y direcciones, y el otro conector esta especificado como pines libres de propósito general.

Page 24: documento platforma de psoc

IEL2-I-06-48

22

A continuación se muestra el esquemático de la plataforma de PSoC.

Figura 12. Esquemático tarjeta de PSoC.

4.2.2 Tarjeta de prototipaje: La tarjeta de prototipaje contara con los módulos que se muestran a continuación: Puerto Infrarrojo: este puerto esta pensado para darle a la tarjeta de prototipos la capacidad de implementar comunicaciones inalámbricas de corta distancia y bajo costo. Este puerto esta implementado con un modulo receptor-emisor TFDU4300 del fabricante Vishay.

Page 25: documento platforma de psoc

IEL2-I-06-48

23

Figura 13. Puerto infrarrojo.

Como se observa en la figura el puerto infrarrojo necesita solo de 3 señales que van al controlador, todas ellas unidireccionales. Puente H: Este modulo esta pensado para dar al usuario de la tarjeta de prototipos la posibilidad de implementar control, a potencias más altas, por medio de una señal PWM. Este modulo solo necesita de 3 señales de comunicación y esta implementado con el circuito integrado L298.

Figura 14. Puente H L298.

Sensor de temperatura: Este sensor esta integrado para permitir tomar mediciones de temperatura de los alrededores, puede ser útil para implementar una adquisición de datos sencilla. El sensor que se va a utilizar es un TMP36GT9 de la empresa Analog Devices, y a continuación se muestra el diagrama esquemático

Page 26: documento platforma de psoc

IEL2-I-06-48

24

Figura 15. Sensor de temperatura

Como se ve en la figura, el sensor de temperatura solo necesita enviar una señal de salida de tipo análogo. Modulo USB: este modulo tiene como propósito brindar la posibilidad al usuario de implementar un puerto USB. Para implementar el modulo USB se va a usar la referencia SL811HS del fabricante Cypress Semiconductors, con el diagrama de bloques que se muestra en la siguiente figura:

Figura 16. Modulo USB.

Como se ve en la figura 4, el modulo de USB solo necesita de 4 señales de entrada, que son las señales de control, y 9 señales de salida que serian una palabra de 8 bits y una señal de interrupciones. Todas estas señales son de tipo digital. Interruptores: estos interruptores tienen como propósito dar una interfaz al usuario para introducir datos o estados de los pines de forma manual. La interfaz con este modulo consiste en 8 líneas de salida de tipo digital. Barra de leds: Esta barra da la posibilidad de observar el estado de un pin. Para manejar este modulo solo se necesita de 8 líneas de entrada.

Page 27: documento platforma de psoc

IEL2-I-06-48

25

Protección entradas análogas: Este modulo cuenta con 4 amplificadores en configuración de seguidor de voltaje para que impidan que el voltaje aplicado a los pines sea mayor a los valores permitidos. La interfaz con este modulo consta de 4 líneas de salida de tipo análogo.

Figura 17. Protección entradas análogas.

Conector 2x17: estos conectores dan acceso a los pines de entrada/salida, y sirven para acceder a los pines de forma directa. Además conectan la plataforma de pruebas con las tarjetas de FPGA y de microcontrolador.

Figura 18. Esquema conectrores.

Pantalla LCD: Esta pantalla sirve para proporcionar la capacidad de visualización de información. Es compatible con el modulo de manejo de LCD del PSoC. La pantalla que se va a usar es la referencia HD44780A00 y a continuación se presenta su diagrama.

Figura19. Pantalla LCD.

Como se muestra en la figura, la pantalla LCD necesita de tres señales de entrada, que son de control, y 4 señales bidireccionales para intercambio de datos. Todas estas señales son digitales. Puerto VGA: Este puerto le da la posibilidad al usuario de implementar visualización en una pantalla VGA.

Page 28: documento platforma de psoc

IEL2-I-06-48

26

Figura 20. Señales VGA.

Amplificadores de instrumentación: Estos amplificadores se incluyen en la tarjeta para dar la posibilidad de implementar dispositivos de instrumentación. Se implementaran dos de estoas amplificadores, lo que da como resultado que la interfaz de este modulo sea de dos líneas de salida de tipo análogo.

Figura 21. Amplificadores de instrumentación.

Como se puede apreciar de la descripción de los modulos que se presento arriba, los componentes escogidos en su mayoria estan disponibles en el pais, esto debido a que al tratarse de un producto que va a ser usado por los estudiantes la posibilidad de dañar algun componente es alta , entonces la disponibilidad de estos elementos facilita que la plataforma sea reparada rapidamente y a un costo bajo.

Para cada uno de los módulos implementados en la tarjeta de prototipos existe un conector que da acceso a las señales que requiera para trabajar, permitiendo esto que cada módulo de la tarjeta de prototipos pueda ser utilizado por cualquiera de las tarjetas.

4.2.3 Diseño de los circuitos impresos: Para diseñar los circuitos impresos se utilizó el programa de diseño EAGLE versión 4.11. Los parámetros utilizados para el diseño de estos circuitos impresos fueron:

Page 29: documento platforma de psoc

IEL2-I-06-48

27

Dimensiones de 133 mm x 113 mm. Se usaron la capa superior e inferior de la tarjeta Se definieron tres tipos de señales, alimentación, tierra y por defecto El ancho mínimo para la señal por defecto es de 0.2 mm El ancho mínimo para la señal de tierra y alimentación es de 10 mil Se definió que los espacios vacíos en la capa inferior se rellenaran con un plano

conductor conectado a tierra El espacio mínimo entre pista y pista, pista vía y pista agujero es de 0.2 mm

Con estos parámetros se procedió a ejecutar la función autoroute del programa y se obtuvieron los siguientes resultados

Figura 22. Diagrama circuitos impresos de las tarjetas de PSoC y de prototipaje.

Page 30: documento platforma de psoc

IEL2-I-06-48

28

5. MÓDULO DE INSTRUMENTACIÓN Este módulo de instrumentación fue desarrollado con el fin de demostrar las capacidades del PSoC y de la plataforma diseñada. Este modulo tiene como propósito brindar a los estudiantes un pequeño conjunto de herramientas para probar diseños, hacer adquisición de señales, etc. El modulo de instrumentación cuenta con los siguientes recursos: • Voltímetro • Osciloscopio • Probador lógico

5.1 Descripción 1. Este módulo se comunica, por vía puerto serial, con cualquier computador personal y

por medio de una aplicación software, se podrá usar todas las funciones del modulo.

A continuación se describen cada una de las funciones: • Voltímetro: Esta función muestra en la pantalla LCD o en el computador el valor de

voltaje que se está midiendo, tiene un rango desde -1.65V a 1.65V. Este rango puede cambiar dependiendo de la ganancia que se le aplique a la señal de entrada.

• Osciloscopio: Esta función muestra la forma de la onda de una señal en el

computador. Cuenta con dos canales. • Probador lógico: Esta función permite generar hasta 8 salidas digitales y 8 entradas

digitales para probar diferentes diseños. Se visualiza en la pantalla del computador y el usuario puede programar los valores de salida y el intervalo de tiempo de estos.

Page 31: documento platforma de psoc

IEL2-I-06-48

29

5.2 Características • La tasa de muestreo máxima que se podrá trabajar, para el osciloscopio, es de 5208

muestras/s • Para el probador lógico el ancho de pulso mínimo es de 10 ms. • Cuenta con la posibilidad de guardar hasta 65000 datos en un archivo de texto. • La aplicación software cuenta con un instalador propio

5.3 Implementación Para implementación de este modulo se usara 1 ADC delta-sigma de 8 bits, un multiplexor análogo para los dos canales de entrada, un modulo de manejo de LCD y un modulo de comunicación UART para comunicarse con el computador a una tasa de 115200 bauds. Las demás funciones se implementaran vía software.

Page 32: documento platforma de psoc

IEL2-I-06-48

30

6. RESULTADOS Como resultado de este trabajo se obtuvo dos tarjetas que conforman la plataforma académica para uso de PSoC cada una con su respectivo manual de uso. Además de esto queda como resultado los códigos de los programas y la aplicación del modulo de instrumentación, junto con el programa de aplicación en el computador cuya interfaz se muestra en la figura 9.

Adicionalmente a los elementos mencionados arriba, este trabajo deja un compendio del estado del arte de la tecnología de los PSoC.

Figura 23. Apariencia aplicación.

Page 33: documento platforma de psoc

IEL2-I-06-48

31

CONCLUSIONES • Se obtuvo un prototipo de la plataforma de PSoC acorde con las características

deseadas en un producto académico • El kit académico resultante tiene la capacidad de implementar múltiples aplicaciones y

demostraciones, tanto en el área de sistemas embebidos como en otras disciplinas de la ingeniería electrónica

• Debido a la característica de ISSP con que cuentan los PSoC esta plataforma puede ser

tele operable • La implementación del kit de instrumentación constituye una herramienta muy útil

para los estudiantes de primeros semestres. • Por medio de la aplicación mostrada se demostraron las capacidades de la plataforma

de PSoC y se comprobó la ventaja que tienen los PSoC frente a los microcontroladores y otros productos.

• Debido a la demora en la adquisición de algunos componentes no se pudo validar

completamente el funcionamiento de la plataforma.

Page 34: documento platforma de psoc

IEL2-I-06-48

32

REFERENCIAS Analog Devices. AD 8221 Precision Instrumentation Amplifier. Norwood MA. 2003. 20 p. Analog Devices. Low Cost Micropower, Low Noise CMOS Rail-to-Rail Input/Output Operational Amplifiers AD8617/AD8619. Norwood MA. 2005. 16 p. Analog Devices. Low Voltage Temperature Sensors. Norwood MA. 2002. 16 p. BASINGER, Matt. PSoC Device Selection Guide. Lynnwood WA. 2005. 7 p. BRECCI, Paula. Monitoreo de aulas de clase. Bogotá, Colombia. 2005. 81 p. CadSoft. Manual Version 4.1. Delray Beach, Florida. 2004. 248 p. Cypress Semiconductors. 8-Bit Delta Sigma ADC. San Jose CA. 2004. 20 p. Cypress Semiconductors. CY8C29866 Final Data Sheet. San Jose CA. 2004. 42 p. Cypress Semiconductors. IR Optical Receiver. San Jose CA. 2004. 22 p. Cypress Semiconductors. IR Optical Transmitter. San Jose CA. 2004. 16 p. Cypress Semiconductors. LCD Tool Box. Sna Jose CA. 2004. 12 p. Cypress Semiconductors. SL811HS Data Sheet. San Jose CA. 2002. 30 p. Cypress Semiconductors. Technical Reference Manual. San Jose CA. 2005. 524 p. Fairchild Semiconductor. CD4049UBC • CD4050BC Hex Inverting Buffer • Hex Non-Inverting Buffer. 1999. 7 p. Fairchild Semiconductor. KA78XX/KA78XXA 3-Terminal 1A Positive Voltage Regulator. 2001. 28 p. MAXIM. Switched Capasitor Voltaje Converters ICL 7660. Sunnyvale CA. 12 p. National Semiconductors. LM117/LM317A/LM317 3-Terminal Adjustable Regulator. 2004. 20 p. Philips. BC556; BC557 PNP general purpose transistors. 1999. 8 p. RAMÍREZ, Cristian. Diseño de una plataforma para el desarrollo de sistemas embebidos. Bogotá, Colombia. 2005. 49 p. Texas Instruments. MAX232, MAX232I DUAL EIA-232 DRIVER/RECEIVER. Dallas TE. 1998. 7 p. Vishay Semiconductors. Infrared Transceiver Module for IrDA applications. Heilbronn, Alemania. 2005. 18 p.

Page 35: documento platforma de psoc

IEL2-I-06-48

33

Anexo 1. Manual de uso de la plataforma de PSoC La plataforma de PSoC consta de dos tarjetas, una en donde se encuentra el PSoC con su respectivo programador y un puerto serial, y otra tarjeta de prototipos, en donde se encuentran diferentes recursos para implementar demostraciones de forma rápida. Para hacer uso de la plataforma de PSoC se requieren las siguientes partes: 1 adaptador de 9 voltios. 1 cable para puerto paralelo macho-macho. 1 cable para puerto serial, no cruzado, macho-hembra.

Tarjeta de PSoC La tarjeta de PSoC cuenta con los recursos que se muestran a continuación:

Puerto 1

Puerto 2

PSoC

Conector alimentación Jumper

Puerto serial

Puerto Paralelo

Page 36: documento platforma de psoc

IEL2-I-06-48

34

Conector alimentación: Este conector es un Jack para adaptador. La polaridad debe ser

. PSoC: Este es el dispositivo seleccionado para trabajar en la plataforma. La asignación de pines es la que se muestra a continuación:

Puerto 1: Este puerto se conecta a los pines del PSoC. A continuación se muestra el esquema de este puerto

Page 37: documento platforma de psoc

IEL2-I-06-48

35

Teniendo en cuenta la numeración de los pines, tanto del puerto 1 como del PSoC, en la siguiente tabla

Pin Puerto 1 Pin PSoC 1 GND 2 P0[1] 3 P0[3] 4 P2[7] 5 P0[5] 6 P2[5] 7 P0[7] 8 P2[3] 9 P6[7] 10 P2[1] 11 P6[6] 12 P4[7] 13 P6[5] 14 P4[5] 15 P6[4] 16 P4[3] 17 P6[3] 18 P4[1] 19 P6[2] 20 P4[0] 21 P6[1] 22 P4[2] 23 P6[0] 24 P4[4] 25 P0[6] 26 P4[6] 27 P0[4] 28 P2[0] 29 P0[2] 30 P2[2] 31 P0[0] 32 P2[4] 33 P2[6] 34 VCC

Puerto 2: Este puerto también se conecta a los pines del PSoC y tiene la misma estructura del puerto 1. En la siguiente tabla se muestra la asignación de pines

Page 38: documento platforma de psoc

IEL2-I-06-48

36

Pin Puerto 2 Pin PSoC 1 GND 2 P1[5]

3 P1[7] 4 P1[3] 5 P5[1] 6 SCLK, P1[1] 7 P5[3] 8 P7[7] 9 P5[5] 10 P7[6] 11 P5[7] 12 P7[5] 13 P3[1] 14 P7[4] 15 P3[3] 16 P7[3] 17 P3[5] 18 P7[2] 19 P3[7] 20 P7[1] 21 P3[6] 22 P7[0] 23 P3[4] 24 SDATA, P1[0] 25 P3[2] 26 P1[2] 27 P3[0] 28 P1[4] 29 P5[6] 30 P1[6] 31 P5[4] 32 P5[0] 33 P5[2] 34 VCC

Jumper: Este jumper sirve para cambiar entre el modo de programación y operación normal.

Page 39: documento platforma de psoc

IEL2-I-06-48

37

Puerto serial: Este es un conector DB9 hembra para facilitar el uso del puerto serial. Este puerto esta conectado para que se use de forma null modem. Para configurar el PSoC para usar el puerto serial, el transmisor de la UART debe estar conectado al pin 4 del PSoC, mientras que el receptor debe estar conectado al pin 5 del PSoC. Puerto paralelo: Este es un conector DB25 hembra. Se usa únicamente para programar el dispositivo. Teniendo en cuenta las partes importantes de la tarjeta de PSoC, se explicara a continuación el procedimiento a seguir para programar y poner a funcionar la plataforma de PSoC. Programación: para programar se deben seguir los siguientes pasos: Asegurarse que la tarjeta de PSoC no este conectada a nada y no tenga alimentación. Poner el jumper en la posición de programación. Conectar el cable paralelo al computador y al puerto paralelo de la tarjeta. Conectar el plug del adaptador de 9 V al conector de alimentación de la tarjeta y ajustar

el trimmer para que el voltaje de salida del regulador sea de 3.3 V. Ejecutar el programa CyP y esperar a que reconozca el dispositivo. Cuando el programa CyP haya reconocido el dispositivo, se debe hacer clic en el botón

load, entonces aparecerá la ventana de abrir. En la ventana abrir seleccione el archivo con extensión hex, que tiene el mismo nombre

que el proyecto que se esta trabajando en psoc designer. Este archivo se encuentra en la carpeta output que esta en la carpeta del proyecto. Después de seleccionado el archivo de debe hacer clic en el botón abrir.

Cuando se haya cargado el archivo, en la ventana de CyP, se debe hacer clic en el botón program. Una vez hecho esto se espera a que la aplicación termine de programar el dispositivo.

Después de programado el dispositivo se debe cerrar la aplicación y desconectar el cable paralelo de la tarjeta de PSoC.

Operación: Para poder usar la tarjeta de PSoC se deben seguir los siguientes pasos Asegurarse de que la tarjeta este desconectada de la alimentación, de las otras tarjetas y

que no este conectado el puerto paralelo de la tarjeta al computador. Poner el jumper en la posición de operación. Conectar las demás tarjetas a la tarjeta de PSoC, de ser necesario. Conectar el plug del adaptador de 9 V al conector de alimentación y ajustar el trimmer

para que el voltaje de salida del regulador sea de 3.3 V. Tarjeta de prototipos: La tarjeta de prototipos cuenta con los componentes que se describen a continuación:

Page 40: documento platforma de psoc

IEL2-I-06-48

38

Conectores de expansión:

Conector de expansión 1 Conector de expansión 2 Los conectores de expansión dan acceso a los pines de la tarjeta de PSoC, la cual se conecta a estos. La asignación de los pines de estos conectores son las mimas de los puertos 1 y 2 de la tarjeta de PSoC. Pantalla LCD:

Conector pantalla LCD Conector manejo LCD

Potenciómetro LCD Para usar la Pantalla LCD se debe conectar la pantalla LCD en el conector pantalla LCD, que se muestra en la foto, teniendo en cuenta que la numeración de los pines coincida. Para manejar la pantalla LCD se debe conectar los pines necesarios de los puertos de expansión al conector manejo de LCD, el cual tiene la siguiente asignación de pines:

1 14

1 11

Page 41: documento platforma de psoc

IEL2-I-06-48

39

Conector manejo LCD Función LCD 1 DB7 2 DB6 3 DB5 4 DB4 5 DB3 6 DB2 7 DB1 8 DB0 9 E 10 R/W 11 RS

La pantalla de LCD esta montada sobre un chip Hitachi HD44780A00, cuyo protocolo de comunicación es compatible con el modulo de manejo de LCD con el que cuenta PSoC designer, y las especificaciones de este protocolo se encuentran en la hoja de datos de este chip. Barra de LEDs:

Barra de LEDs Conector manejo LEDs Para manejar la barra de LEDs se conectan los pines de los puertos de expansión al conector manejo de LEDs. La correspondencia entre los pines y los LEDs es la que muestran los números en las dos fotos. Puente H:

Conector fuente Conector manejo puente Conector salida

1 8 5 2 1 3 4 6 7 8

- +

1 3 1 2

Page 42: documento platforma de psoc

IEL2-I-06-48

40

Potenciómetro puente

Para utilizar el puente H se debe conectar la fuente que proporcionara la potencia al conector fuente con la polaridad que se muestra en la foto. El conector manejo puente se utiliza para controlar el puente y tiene la siguiente asignación de pines:

El conector de salida se utiliza para conectar las salidas del puente H a lo que se desea controlar (motor DC, resistencia, bombillo, etc.) y tiene la asignación de pines que se muestra arriba en la tabla. La tabla de valores del funcionamiento del puente H es la que se muestra a continuación:

Enable In 1 In 2 Out 1 Out 2 H H Vs1 Vs

H L Vs GND L H GND Vs

H

L L GND GND L X X Z Z

El potenciómetro puente se usa para regular la corriente que entrega el puente H, hay que tener en cuenta que la máxima corriente que puede suministrar este dispositivo es de 2A. Para más información, referirse a la hoja de datos del L298. Pulsadores:

Pulsadores Conector manejo pulsadores 1 Vs se refiere al valor del voltaje de la fuente que proporciona la potencia al puente H.

Conector Manejo Puente

Función

1 Enable 2 In 2 3 In 1

Conector salida Función 1 Out 1 2 Out 2

1

1

8 1 8

Page 43: documento platforma de psoc

IEL2-I-06-48

41

Para usar los pulsadores solo se necesita conectar el conector manejo pulsadores a los pines deseados de los puertos de expansión. Sensor de Temperatura:

Sensor de temperatura Conector salida sensor Para tomar datos del sensor de temperatura se conecta el conector salida sensor a una entrada análoga. Para más información referirse a la hoja de datos del sensor TMP36GT9. Puerto infrarrojo:

Conector manejo infrarrojo Transmisor/receptor infrarrojo Para usar el puerto infrarrojo se debe conectar al conector manejo de infrarrojo, los pines de los puertos de expansión requeridos. A continuación se muestra la asignación de pines para el conector manejo de infrarrojo

Conector manejo infrarrojo Función 1 SD 2 Rx 3 Tx

El transmisor /receptor de infrarrojo es compatible con el protocolo IRDA. Para más información referirse a la hoja de datos del dispositivo TFDU4300.

1 3

Page 44: documento platforma de psoc

IEL2-I-06-48

42

Protección entradas análogas:

Conector entradas análogas Conector manejo entradas La protección de las entradas análogas sirve para que no se aplique un voltaje mayor al permitido en alguna de las entradas análogas del PSoC. Estas entradas son 4 y para poderlas usar se debe conectar la señal o señales al conector entradas análogas; este conector cuenta con los pines para las cuatro entradas y una conexión mas para la referencia de la señal o señales de entrada (GND). Para tener acceso a las señales, se usa el conector manejo de entradas el cual esta numerado de forma correspondiente al conector entradas análogas. Amplificadores de instrumentación:

Conector amplificador 1 Conector amplificador 2 Conector salida amplificadores

Trimmer ajuste de ganancia Para utilizar los amplificadores de instrumentación se debe conectar al conector amplificador 1 o al conector amplificador 2, la señal a amplificar respetando la polaridad señalada en las fotos. Después de conectar la señal, se establece la ganancia con los trimmer G1 y G2, que son para el amplificador 1 y el amplificador 2 respectivamente. El conector salida amplificadores se usa para acceder a la señal amplificada y la numeración de los pines de este corresponde a la salida del amplificador correspondiente. Para usar la tarjeta de prototipos se deben seguir los siguientes pasos.

4 1 1 4 GND

1 2 - +

- +

G1 G2

Page 45: documento platforma de psoc

IEL2-I-06-48

43

• Asegurándose de que la tarjeta esta desconectada de la alimentación, se conecta esta tarjeta a la tarjeta de PSoC, por medio de los conectores de expansión, de tal forma que el jack de la tarjeta de prototipos quede encima del jack de la tarjeta de PSoC.

• Se conectan los pines necesarios de los conectores de expansión a los diferentes recursos que se deseen utilizar (puerto infrarrojo, pulsadores, etc.), teniendo en cuenta las indicaciones dadas en este documento y en las hojas de calculo de los diferentes dispositivos.

• Por último se conecta el plug del adaptador de 9 V al jack de alimentación y se gradúa el voltaje de alimentación para que sea de 3.3 V, por medio del trimmer. No es necesario conectar un adaptador a la tarjeta de PSoC puerto que por medio de los conectores de expansión se comparte la referencia de voltaje y la alimentación.

Page 46: documento platforma de psoc

IEL2-I-06-48

44

Anexo 2. Código del programa del PSoC de la aplicación //---------------------------------------------------------------------------- // C main line //---------------------------------------------------------------------------- //#define mues 2 #include <m8c.h> // part specific constants and macros #include <stdlib.h> #include "PSoCAPI.h" // PSoC API definitions for all User Modules void main() { extern BYTE DELSIG8_1_bfStatus; extern BYTE DELSIG8_1_cResult; static unsigned char flag=0,flag1=2,flag2=0,periodo,temp=0,dato=0,bandera=1; float resultado1=0,resultado2=0; int i=0,cont1=0,cont2=0; static char c,d,theStr[] = "Voltimetro",cadena[]="0.00",*cadena1; M8C_EnableGInt; DELSIG8_1_Start( DELSIG8_1_HIGHPOWER ); //iniciar conversor DELSIG8_1_StartAD(); // comienza la conversión LCD_1_Start(); // iniciar LCD LCD_1_Position(0,3); // coloca cursor en la posición 0,3 LCD_1_PrString(theStr); PGA_1_Start(PGA_1_MEDPOWER); // inicia amplificador AMUX4_1_InputSelect(AMUX4_1_PORT0_1);//selecciona la salida del

multiplexor periodo=156; //selecciona periodo del contador de la UART Counter8_1_WritePeriod(periodo); Counter8_1_DisableInt(); Counter8_1_Start(); // inicia contador de la UART UART_1_Start(UART_PARITY_NONE); // Inicia la UART flag1=3; // bandera para contar tres datos antes de que salga uno valido

en cada multiplexacion while (1) { if ( DELSIG8_1_bfStatus ) { DELSIG8_1_bfStatus = 0; if (flag1==3){ flag1=0;

Page 47: documento platforma de psoc

IEL2-I-06-48

45

if (flag==0) { // en este segmento se toma el dato del primer canal, se

convierte a flotante y se suma a un acumulador c=DELSIG8_1_cResult+0x80; resultado1=(float)resultado1+c; cont1=cont1+1; flag=1; } else { // en este segmento se toma el dato del segundo canal, se

convierte a flotante y se suma a un acumulador d=DELSIG8_1_cResult+0x80; resultado2=(float)resultado2+d; cont2=cont2+1; flag=0; } if(UART_1_bReadTxStatus() & UART_TX_BUFFER_EMPTY)//si el

buffer de datos de salida esta vacio se manda un dato { if (flag2==0) { UART_1_SendData(c); //se manda dato canal 1 flag2=1; } else { UART_1_SendData(d); //se manda dato canal 2 flag2=0; } } } else flag1=flag1+1; } if (flag==0) AMUX4_1_InputSelect(AMUX4_1_PORT0_1); else AMUX4_1_InputSelect(AMUX4_1_PORT0_3); if (UART_1_bReadRxStatus() & UART_1_RX_REG_FULL) temp=UART_1_bReadRxData(); LCD_1_Position(1,13); LCD_1_PrHexByte(temp);

Page 48: documento platforma de psoc

IEL2-I-06-48

46

if (cont1==250) //cuando se han acumulado 250 datos del canal 1 { resultado1=resultado1*0.013/cont1; // se saca el promedio de los datos

acumulados LCD_1_Position(1,1); cadena1=ftoa(resultado1,&i); //se convierte el valor flotante en una cadena cadena1[4]='\0'; // se corta la cadena en el segundo decimal if (i==0) LCD_1_PrString(cadena1); else LCD_1_PrString(cadena); LCD_1_PrCString(" "); cont1=0; resultado1=0; } if (cont2==250) //cuando se han acumulado 250 datos del canal 2 { resultado2=resultado2*0.013/cont2; // se saca el promedio de los datos

acumulados LCD_1_Position(1,6); cadena1=ftoa(resultado2,&i); //se convierte el valor flotante en una cadena cadena1[4]='\0'; // se corta la cadena en el segundo decimal if (i==0) LCD_1_PrString(cadena1); else LCD_1_PrString(cadena); LCD_1_PrCString(" "); cont2=0; resultado2=0; } } }

Page 49: documento platforma de psoc

IEL2-I-06-48

47

Anexo 3. Código de la aplicación en Visual Basic 6.0 Private Sub base_Change() bt = (5000 - base.Value) / 1000 tam = 10 * bt / tmues + 1 tiempo.Text = Str(bt) End Sub Private Sub CB_probador_Click() If CB_probador.Caption = "Parar" Then Timer2.Enabled = False CB_probador.Caption = "Reanudar" Else Timer2.Enabled = True CB_probador.Caption = "Parar" End If End Sub Private Sub ch_1_Click() If Not (CHK_ch2.Value Or CHK_ch1m2.Value) Then referencia.Value = cero1 escala.Value = 500 - (escala1 * 100) lb_escala.Caption = "Escala Canal 1" lb_referencia.Caption = "Referencia Canal 1" End If ofset.Text = Str(ofset1) ganancia.Text = Str(gan1) lb_offset.Caption = "Offset Canal 1" lb_ganancia.Caption = "Ganancia Canal 1" End Sub Private Sub ch_2_Click() If Not (CHK_ch1.Value Or CHK_ch1m2.Value) Then referencia.Value = cero2 escala.Value = 500 - (escala2 * 100) lb_escala.Caption = "Escala Canal 2" lb_referencia.Caption = "Referencia Canal 2" End If ofset.Text = Str(ofset2)

Page 50: documento platforma de psoc

IEL2-I-06-48

48

ganancia.Text = Str(gan2) lb_offset.Caption = "Offset Canal 2" lb_ganancia.Caption = "Ganancia Canal 2" End Sub Private Sub CHK_ch1_Click() ch_2.Visible = False ch_1.Visible = True Label3.Visible = False Label2.Visible = True ch_1.Value = True Label5.Visible = False es_c2.Visible = False lb_c2.Visible = False Label1.Visible = True es_c1.Visible = True lb_c1.Visible = True Label8.Visible = False es_c3.Visible = False Label7.Visible = False End Sub Private Sub CHK_ch12_Click() ch_1.Visible = True ch_2.Visible = True Label2.Visible = True Label3.Visible = True Label1.Visible = True es_c1.Visible = True lb_c1.Visible = True Label5.Visible = True es_c2.Visible = True lb_c2.Visible = True Label8.Visible = False es_c3.Visible = False Label7.Visible = False End Sub Private Sub CHK_ch1m2_Click() ch_1.Visible = True ch_2.Visible = True Label2.Visible = True Label3.Visible = True

Page 51: documento platforma de psoc

IEL2-I-06-48

49

Label1.Visible = False es_c1.Visible = False lb_c1.Visible = False Label5.Visible = False es_c2.Visible = False lb_c2.Visible = False Label8.Visible = True es_c3.Visible = True Label7.Visible = True lb_referencia.Caption = "Referencia" lb_escala.Caption = "Escala" escala.Value = 500 - (escala3 * 100) End Sub Private Sub CHK_ch1vs2_Click() ch_1.Visible = True ch_2.Visible = True Label2.Visible = True Label3.Visible = True Label1.Visible = True es_c1.Visible = True lb_c1.Visible = True Label5.Visible = True es_c2.Visible = True lb_c2.Visible = True Label8.Visible = False es_c3.Visible = False Label7.Visible = False End Sub Private Sub CHK_ch2_Click() ch_1.Visible = False ch_2.Visible = True Label2.Visible = False Label3.Visible = True ch_2.Value = True Label1.Visible = False es_c1.Visible = False lb_c1.Visible = False Label5.Visible = True es_c2.Visible = True lb_c2.Visible = True Label8.Visible = False

Page 52: documento platforma de psoc

IEL2-I-06-48

50

es_c3.Visible = False Label7.Visible = False End Sub Private Sub Command1_Click() MSComm1.Output = Chr(Val(Text1.Text)) End Sub Private Sub detener_Click() If Timer1.Enabled = True Then Timer1.Enabled = False MSComm1.PortOpen = False detener.Caption = "Continuar" Else Timer1.Enabled = True MSComm1.PortOpen = True detener.Caption = "Detener" End If End Sub Private Sub entradas_Click(Index As Integer) recibir End Sub Private Sub es_c1_Change() escala1 = Val(es_c1.Text) If escala1 > 5 Then escala1 = 5 End If If escala1 < 0.1 Then escala1 = 0.1 End If es_c1.Text = Str(escala1) graficar End Sub Private Sub es_c2_Change() escala2 = Val(es_c2.Text) If escala2 > 5 Then escala2 = 5 End If If escala2 < 0.1 Then escala2 = 0.1

Page 53: documento platforma de psoc

IEL2-I-06-48

51

End If es_c2.Text = Str(escala2) graficar End Sub Private Sub es_c3_Change() escala3 = Val(es_c3.Text) If escala3 > 5 Then escala3 = 5 End If If escala3 < 0.1 Then escala3 = 0.1 End If es_c3.Text = Str(escala3) graficar End Sub Private Sub escala_Change() If CHK_ch1m2.Value = False Then If ch_1.Value And (CHK_ch2.Value = False) Then escala1 = (500 - escala.Value) / 100 es_c1.Text = Str(escala1) graficar ElseIf ch_2.Value And (CHK_ch1.Value = False) Then escala2 = (500 - escala.Value) / 100 es_c2.Text = Str(escala2) graficar End If Else escala3 = (500 - escala.Value) / 100 es_c3.Text = Str(escala3) End If End Sub Private Sub Form_Load() bandera_uart = 0 velocidad = 115200 nro_puerto = 1 MSComm1.InputLen = 0 ' El valor 0 hace que se lea todo MSComm1.InputMode = comInputModeBinary MSComm1.RThreshold = 0 MSComm1.SThreshold = 0 MSComm1.CommPort = nro_puerto 'Paso 1: elijo el puerto

Page 54: documento platforma de psoc

IEL2-I-06-48

52

MSComm1.Settings = Str$(velocidad) + ",N,8,1" 'Paso 2: 'MSComm1.PortOpen = False cont = 0 tmues = 0.002 base.Max = 5000 - 10 * tmues * 1000 bt = 10 * tmues Timer1.Interval = tmues * 1000 tam = 10 * bt / tmues + 1 tiempo.Text = Str(bt) cero1 = pantalla.Height / 4 cero2 = pantalla.Height * 3 / 4 cero3 = pantalla.Height / 2 paso = pantalla.Width / 10 gan1 = 1 gan2 = 1 ofset1 = 0 ofset2 = 0 escala1 = 1 escala2 = 1 escala3 = 1 es_c1.Text = Str(escala1) es_c2.Text = Str(escala2) es_c3.Text = Str(escala3) ofset.Text = "0" ganancia.Text = "1" escala.Value = 500 - 100 * escala1 For r = 0 To 49999 ar1(r) = 0 ar2(r) = 0 Next graficar referencia.Value = cero1 CHK_ch12.Value = True Label8.Visible = False es_c3.Visible = False Label7.Visible = False prob_out = 0 detener.Caption = "Comenzar" CB_probador.Caption = "Parar" Timer2.Enabled = True End Sub

Page 55: documento platforma de psoc

IEL2-I-06-48

53

Private Sub ganancia_Change() If ch_1.Value = True Then gan1 = Val(ganancia.Text) Else gan2 = Val(ganancia.Text) End If graficar End Sub Private Sub Label2_Click() ch_1 = True End Sub Private Sub Label3_Click() ch_2 = True End Sub Private Sub ofset_Change() If ch_1.Value = True Then ofset1 = Val(ofset.Text) Else ofset2 = Val(ofset.Text) End If graficar End Sub Private Sub referencia_Change() If CHK_ch1m2.Value = False Then If (ch_1.Value) And (CHK_ch2.Value = False) Then cero1 = referencia.Value graficar ElseIf (ch_2.Value) And (CHK_ch1.Value = False) Then cero2 = referencia.Value graficar End If Else cero3 = referencia.Value graficar End If End Sub

Page 56: documento platforma de psoc

IEL2-I-06-48

54

Private Sub salidas_Click(Index As Integer) If salidas(Index).Value Then prob_out = prob_out + (2 ^ Index) Else prob_out = prob_out - (2 ^ Index) End If prob_in = 0 End Sub Private Sub tiempo_Change() If Val(tiempo.Text) > 5 Then tiempo.Text = "5" End If If Val(tiempo.Text) < (tmues * 10) Then tiempo.Text = Str(tmues * 10) End If bt = Val(tiempo.Text) base.Value = 5000 - 1000 * bt tam = 10 * bt / tmues + 1 graficar End Sub Private Sub Timer1_Timer() Dim temp As String If MSComm1.InBufferCount = 0 Then Exit Sub temp = MSComm1.Input For a = 1 To Len(temp) Step 1 If bandera_uart = 0 Then dato_ent1 = AscB(Mid(temp, a, 1)) * 0.013 If CD1.FileName <> "" Then Print #1, Str(datos_archivo) + " " + Str(dato_ent1) End If ar1(cont) = dato_ent1 * gan1 + ofset1 bandera_uart = 1 Else dato_ent2 = AscB(Mid(temp, a, 1)) * 0.013 bandera_uart = 0 If cont < tam Then cont = cont + 1 Else

Page 57: documento platforma de psoc

IEL2-I-06-48

55

correr1 correr2 End If End If fin: Next graficar End Sub Private Sub Timer2_Timer() recibir If MSComm1.PortOpen = True Then MSComm1.Output = Chr(prob_out) End If End Sub