introduccin al psoc designer - modulos … para... · verán como se ilumina los bloques donde es...

28
Introducción al PSoC Designer 1. Introducción PSoC Designer es el programa de desarrollo por medio del sistema de aplicación System-on-Chip de Cypress. Como lo define puntualmente el fabricate en su página web: “The free Integrated Development Environment for PSoC, is a full-featured, GUI- based design tool suite that enables the user to configure design-in silicon with simple point and click options”. PSoC Designer permite la programación de los dispositivos en lenguaje assembler y C (éste no es libre y se necesita el número de licencia para activar el compilador integrado en el Designer). Como lo menciona el fabricante previamente en su página web: “With PSoC Designer, users can code the device in either 'C' or Assembly language and debug the design using features such as event triggers and multiple break points, while single stepping through code in 'C' or Assembly or a mix of the two” (la unica manera para acceder es mediante el dispositivo ICE In-Circuit Emulator). Finalmente, PSoC Designer es libre y puede ser descargado de la página http://www.cypress.com/psocdesigner 2. PSoC Designer PSoC Designer se divide en tres grandes subsistemas: Device Editor: Application Editor Debugger 2.1. Device Editor Este es el primer sistema que aparece en PSoC Designer, con éste se realiza la configuración del PSoC; es decir, se seleccionan los periféricos analógicos y digitales que se necesitan para una aplicación particular. Una vez se finaliza esta etapa se generan los ficheros necesarios de configuración (API's ISR's, datasheets, etc...) con la opción Generate Application. Device Editor se compone de dos partes: A) Selection view: En la que se seleccionan los componentes disponibles en las librerías (menú de la izquierda) y se incluyen dentro de la configuración del C.I. (al pinchar dos veces sobre el componente). Los componentes escogidos se muestran en la parte superior central. En la parte inferior aparece el esquema del componente y más abajo el datasheet del mismo. La parte derecha de la pantalla muestra los recursos disponibles. ASOVAGOS 1 IVAN M. GRANADA-JHONNY O. TURIZO

Upload: phungbao

Post on 20-Sep-2018

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Introduccin al PSoC Designer - MODULOS … para... · Verán como se ilumina los bloques donde es posible colocar el modulo de PWM Luego de esto configuramos el micro y los dos módulos

Introducción al PSoC Designer 1. Introducción PSoC Designer es el programa de desarrollo por medio del sistema de aplicación System-on-Chip de Cypress. Como lo define puntualmente el fabricate en su página web: “The free Integrated Development Environment for PSoC, is a full-featured, GUI-based design tool suite that enables the user to configure design-in silicon with simple point and click options”. PSoC Designer permite la programación de los dispositivos en lenguaje assembler y C (éste no es libre y se necesita el número de licencia para activar el compilador integrado en el Designer). Como lo menciona el fabricante previamente en su página web: “With PSoC Designer, users can code the device in either 'C' or Assembly language and debug the design using features such as event triggers and multiple break points, while single stepping through code in 'C' or Assembly or a mix of the two” (la unica manera para acceder es mediante el dispositivo ICE In-Circuit Emulator). Finalmente, PSoC Designer es libre y puede ser descargado de la página http://www.cypress.com/psocdesigner 2. PSoC Designer PSoC Designer se divide en tres grandes subsistemas:

● Device Editor:

● Application Editor

● Debugger

2.1. Device Editor

Este es el primer sistema que aparece en PSoC Designer, con éste se realiza la configuración del PSoC; es decir, se seleccionan los periféricos analógicos y digitales que se

necesitan para una aplicación particular. Una vez se finaliza esta etapa se generan los ficheros necesarios de configuración (API's ISR's, datasheets, etc...) con la opción Generate Application. Device Editor se compone de dos partes:

A) Selection view: En la que se seleccionan los componentes

disponibles en las librerías (menú de la izquierda) y se incluyen dentro de la configuración del C.I. (al pinchar dos veces sobre el componente). Los componentes escogidos se muestran en la parte superior central. En la parte inferior aparece el esquema del

componente y más abajo el datasheet del mismo. La parte derecha de la pantalla muestra los recursos disponibles.

ASOVAGOS 1 IVAN M. GRANADA-JHONNY O. TURIZO

Page 2: Introduccin al PSoC Designer - MODULOS … para... · Verán como se ilumina los bloques donde es posible colocar el modulo de PWM Luego de esto configuramos el micro y los dos módulos

B) Interconnect view: En esta pantalla están las herramientas necesarias para la conexión de los diferentes bloques que configuran las matrices analógicas y digitales. En esta pantalla se observan las siguientes funciones. En la parte izquierda de la pantalla aparecen tres tablas. De la parte superior a la inferior encontramos:

• Global Resource Table: A través de ella se configuran los parámetros generales del dispositivo (tensión de alimentación, Reloj interno/externo, frecuencia del reloj principal y auxiliares...) • User Module Parameters: En ella se seleccionan los parámetros característicos de cada bloque seleccionado (analógico y/o digital). Los parámetros susceptibles de modificación vienen descritos en el datasheet del modulo. • Port Table: Mediante esta tabla se seleccionan las características de los puertos de entrada-salida (General Purpose Input-Output, GPIO)

ASOVAGOS 2 IVAN M. GRANADA-JHONNY O. TURIZO

Page 3: Introduccin al PSoC Designer - MODULOS … para... · Verán como se ilumina los bloques donde es posible colocar el modulo de PWM Luego de esto configuramos el micro y los dos módulos

En la parte central de la pantalla aparecen las dos matrices programables, la digital en la parte superior y la analógica en la parte inferior. Sobre estas matrices se insertarán los componentes escogidos y se cablearán hacia los distintos pines del C.I. En la versión empleada del PSoC (CYC29466) aparecen 16 módulos digitales, organizados en una matriz de 4x4 elementos, y 12 módulos analógicos, organizados en una matriz 3x4. A su alrededor se observan las diversas líneas de interconexión y puertos disponibles. La parte derecha de la pantalla muestra una vista del C.I. con los pines empleados y su descripción (entrada/salida, analógico/digital).

3 IVAN M. GRANADA-JHONNY O. TURIZO

2.2. Application Editor. El segundo subsistema que aparece una vez se ha configurado el C.I. es el Application Editor. En éste se incluye el código principal

del programa que debe ejecutar el núcleo microcontrolador.

2.3 Debugger El tercer subsistema que aparece una vez se ha configurado los Global Resources, los parámetros de los módulos a utilizar y también se haya incluido el código principal del programa; procedemos por a si decirlo ejecutar el programa, obteniendo

información de los errores y de warnings; pero tan bien dando un diagnostico sobre la RAM, la flash, entre otros…

ASOVAGOS

Page 4: Introduccin al PSoC Designer - MODULOS … para... · Verán como se ilumina los bloques donde es posible colocar el modulo de PWM Luego de esto configuramos el micro y los dos módulos

También se puede observar en la parte inferior izquierda una barra que indica entre otras cosas el estado de la tarjeta de programación en este caso desconectada, el puerto por el cual se encuentra, la frecuencia de trabajo…….etc DIAGRAMA LOGICO DE SUBSISTEMAS

ASOVAGOS 4 IVAN M. GRANADA-JHONNY O. TURIZO

Page 5: Introduccin al PSoC Designer - MODULOS … para... · Verán como se ilumina los bloques donde es posible colocar el modulo de PWM Luego de esto configuramos el micro y los dos módulos

Procedimiento. • COMO CREAR UN NUEVO PROYECTO

Abrimos PSoC Designer indicamos nuevo proyecto. Esta ventana también nos da la opción de abrir un proyecto ya creo en cualquiera de los subsistemas descritos anteriormente.

Lo nombramos damos siguiente y en el mensaje emergente afirmamos la creación del proyecto.

Procedemos a escoger el dispositivo y el lenguaje con el que vamos a trabajar, por último damos finalizar.

Y ahora si a trabajar…

ASOVAGOS 5 IVAN M. GRANADA-JHONNY O. TURIZO

Page 6: Introduccin al PSoC Designer - MODULOS … para... · Verán como se ilumina los bloques donde es posible colocar el modulo de PWM Luego de esto configuramos el micro y los dos módulos

PRACTICA 1: Leds parpadeantes. El ejercicio propuesto es el siguiente: Herramientas:

• PSoC Designer v. 4.4, PSoC Programmer v. 2.2..

• Kit de desarrollo CY8C29466. • Board, fuente y materiales varios.

Port0_0

VCC

VCC

PSoCCY8C29466 Port0_1

0

0

LED1 LED2

Tomamos dos módulos de leds del device editor.

Los módulos de leds no necesitan ser colocados en la matriz digital o análoga ya que estos no usan ningún bloque como lo dice en el datasheet.

Vamos a la ventana interconnect view a configurar el microcontrolador y los módulos.

ASOVAGOS 6 IVAN M. GRANADA-JHONNY O. TURIZO

Page 7: Introduccin al PSoC Designer - MODULOS … para... · Verán como se ilumina los bloques donde es posible colocar el modulo de PWM Luego de esto configuramos el micro y los dos módulos

Luego de esto configuramos los recursos globales y los dos módulos.

• Primero los parámetros globales del microcontrolador

• Luego los módulos de leds.

LED_1

LED_2

• •

• En este punto ya están listos los módulos y podemos hacer el código.

• Para esto damos clic en application editor, sources files y main.c

ASOVAGOS 7 IVAN M. GRANADA-JHONNY O. TURIZO

Page 8: Introduccin al PSoC Designer - MODULOS … para... · Verán como se ilumina los bloques donde es posible colocar el modulo de PWM Luego de esto configuramos el micro y los dos módulos

Para esta aplicación el código es el siguiente.

Lo compilamos dando clic en execute the program.

ASOVAGOS 8 IVAN M. GRANADA-JHONNY O. TURIZO

Page 9: Introduccin al PSoC Designer - MODULOS … para... · Verán como se ilumina los bloques donde es posible colocar el modulo de PWM Luego de esto configuramos el micro y los dos módulos

Aparecerá el siguiente mensaje.

Este indica que no se pudo comunicar con el dispositivo ICE In-Circuit Emulator. Damos OK, y luego miramos si el código tiene errores.

Para programar el dispositivo CY8C29466 el procedimiento es el siguiente, siempre que se tenga instalado el PSoC Programer.

• Conectamos el programador a un puerto USB

• • Damos clic en Program Part. • Aparecerá la siguiente ventana.

• Luego del mensaje de conexión exitosa con la interfaz, ponemos el micro en el

socket de la tarjeta y la conectamos con la interfaz USB y damos clic en Program.

ASOVAGOS 9 IVAN M. GRANADA-JHONNY O. TURIZO

Page 10: Introduccin al PSoC Designer - MODULOS … para... · Verán como se ilumina los bloques donde es posible colocar el modulo de PWM Luego de esto configuramos el micro y los dos módulos

• Saldrá un mensaje de Programming Succeded, lo que indica que fue optimo el

programado en el dispositivo. _______________________ // ________________________ // ______________________ PRACTICA 2:

0

USER MODULE

Port0_[0..6]

4 inf- 3 control

VCC

VCC

PSoCCY8C29466

0

PSOC LCD

R3R7

LCD El ejercicio propuesto es el siguiente:

Tomamos un modulo de LCD del device editor

ASOVAGOS 10 IVAN M. GRANADA-JHONNY O. TURIZO

Page 11: Introduccin al PSoC Designer - MODULOS … para... · Verán como se ilumina los bloques donde es posible colocar el modulo de PWM Luego de esto configuramos el micro y los dos módulos

Los módulos de LCD no necesitan ser colocados en la matriz digital o análoga ya que estos no usan ningún bloque como lo dice en el datasheet.

Vamos a la ventana interconnect view a configurar el microcontrolador y los módulos. Luego de esto configuramos el micro y el módulo de LCD.

• Primero los parámetros globales del microcontrolador

ASOVAGOS 11 IVAN M. GRANADA-JHONNY O. TURIZO

Page 12: Introduccin al PSoC Designer - MODULOS … para... · Verán como se ilumina los bloques donde es posible colocar el modulo de PWM Luego de esto configuramos el micro y los dos módulos

• Luego el modulo de LCD.

• En la ventana de GPIO verán las conexiones que se deben hacer entre el PSoC y

la LCD. Este modulo viene listo con una interfaz de datos a cuatro bits lo que facilita la programación y ahorra pines del microcontrolador.

• En este punto ya están listos el módulo y podemos hacer el código.

• Para esto damos clic en

application editor, sources files y main.c

Para esta aplicación el código es el siguiente.

Este código muestra las dos formas de imprimir caracteres, uno directamente y el otro haciendo referencia a una posición de memoria.Para la programación del dispositivo se sigue el procedimiento descrito en la practica 1.

ASOVAGOS 12 IVAN M. GRANADA-JHONNY O. TURIZO

Page 13: Introduccin al PSoC Designer - MODULOS … para... · Verán como se ilumina los bloques donde es posible colocar el modulo de PWM Luego de esto configuramos el micro y los dos módulos

PRACTICA 3: PWM DE 8 Bits El ejercicio propuesto es el siguiente:

Port0_1

0

1.4Hz

1.5 MHz

255 PWM8_2

0

÷

255 PWM8_1÷

VCC

÷

1.4Hz366 Hz

0

PSoCCY8C29466 LED1

16 VC2

93.7 KHz

÷256 VC3

24 MHz

LED2

÷

16 VC1

Port0_0

Tomamos dos módulos de PWM de 8 bits del device editor.

Luego los ubicamos en las columnas de los bloques digitales, cada modulo PWM de 8 bits usa solo un bloque digital.

ASOVAGOS 13 IVAN M. GRANADA-JHONNY O. TURIZO

Page 14: Introduccin al PSoC Designer - MODULOS … para... · Verán como se ilumina los bloques donde es posible colocar el modulo de PWM Luego de esto configuramos el micro y los dos módulos

El procedimiento es el siguiente:

• Lo seleccionamos, automáticamente se iluminara el bloque que asigna el programa para este modulo.

• Si esta colocación no interfiere con otro modulo lo podemos colocar dando clic derecho sobre el modulo y dar Place.

• Inmediatamente aparecerá el modulo en ese bloque.

ASOVAGOS 14 IVAN M. GRANADA-JHONNY O. TURIZO

Page 15: Introduccin al PSoC Designer - MODULOS … para... · Verán como se ilumina los bloques donde es posible colocar el modulo de PWM Luego de esto configuramos el micro y los dos módulos

• Hacemos lo mismo para el otro modulo de PWM. Quedando de la siguiente manera.

• Si no se quiere hacer esta colocación, podemos escoger el bloque digital que

queremos usar para este modulo, esto se hace antes de dar Place en el menú del modulo así:

ASOVAGOS 15 IVAN M. GRANADA-JHONNY O. TURIZO

Page 16: Introduccin al PSoC Designer - MODULOS … para... · Verán como se ilumina los bloques donde es posible colocar el modulo de PWM Luego de esto configuramos el micro y los dos módulos

Verán como se ilumina los bloques donde es posible colocar el modulo de PWM Luego de esto configuramos el micro y los dos módulos.

• Primero los parámetros globales del microcontrolador.

VC1, VC2 y VC3 son fuentes de reloj que se pueden usar para los módulos.

PWM8_1 PWM8_2

ASOVAGOS 16 IVAN M. GRANADA-JHONNY O. TURIZO

Page 17: Introduccin al PSoC Designer - MODULOS … para... · Verán como se ilumina los bloques donde es posible colocar el modulo de PWM Luego de esto configuramos el micro y los dos módulos

• Se vera lo siguiente en la matriz de módulos digitales.

• Luego configuramos los

pines de salida de los módulos de la siguiente manera.

Damos Clic en digital interconnect Row_0_Output_0.

• Aparecerá la siguiente ventana.

ASOVAGOS 17 IVAN M. GRANADA-JHONNY O. TURIZO

Page 18: Introduccin al PSoC Designer - MODULOS … para... · Verán como se ilumina los bloques donde es posible colocar el modulo de PWM Luego de esto configuramos el micro y los dos módulos

• En este punto seleccionamos el búfer que queremos de salida y damos

Close.

• Veremos lo siguiente.

La salida de PWM se cablea a GlobalOutEven0.

• Luego escogemos el pin es importante escoger un pin par, por que la salida del PWM esta en una salida global Par en este caso escogeré el Port0_0, aunque es posible escoger algunos pines impares.

Damos clic en el puerto y en el menú select y escogemos GlobalOutEven_0.

ASOVAGOS 18 IVAN M. GRANADA-JHONNY O. TURIZO

Page 19: Introduccin al PSoC Designer - MODULOS … para... · Verán como se ilumina los bloques donde es posible colocar el modulo de PWM Luego de esto configuramos el micro y los dos módulos

• Veremos lo siguiente, luego de hacer el mismo procedimiento con la salida del modulo de PWM8_2

• En este punto ya están listos los módulos y podemos hacer el código.

• Para esto damos clic en application editor, sources files y main.c Para hacer el código es importante leer las APIs del datasheet del modulo de PWM. Para esta aplicación el código es el siguiente.

Para la programación del dispositivo se sigue el procedimiento descrito en la practica 1.

ASOVAGOS 19 IVAN M. GRANADA-JHONNY O. TURIZO

Page 20: Introduccin al PSoC Designer - MODULOS … para... · Verán como se ilumina los bloques donde es posible colocar el modulo de PWM Luego de esto configuramos el micro y los dos módulos

PRACTICA 4: ADC con visualización en LCD El ejercicio propuesto es el siguiente:

R5

1k

Port0_[0..6]Port0_7

PSoCCY8C29466

8bits

PSOC LCD

VCC

R6

1k

ADC

VCC

G=1

0

PGA

EF

7

0

4 inf- 3 control

R3R

Tomamos los modulo de LCD y de ADC del device editor, es necesario pasar la entrada del ADC por una PGA (programmable gain amplifier).

Como podemos observar tenemos tres módulos de los cuales dos serán ubicados en las matrices (digital y análoga), los cuales son los módulos de PGA y ADC.

ASOVAGOS 20 IVAN M. GRANADA-JHONNY O. TURIZO

Page 21: Introduccin al PSoC Designer - MODULOS … para... · Verán como se ilumina los bloques donde es posible colocar el modulo de PWM Luego de esto configuramos el micro y los dos módulos

Teniendo definido previamente que la LCD no ocupa ningún bloque análogo o digital. Deberán aparecer de la siguiente forma:

Luego de esto configuramos los recursos globales y los módulos.

• Primero los parámetros globales del microcontrolador

• Luego el modulo de LCD.

ASOVAGOS 21 IVAN M. GRANADA-JHONNY O. TURIZO

Page 22: Introduccin al PSoC Designer - MODULOS … para... · Verán como se ilumina los bloques donde es posible colocar el modulo de PWM Luego de esto configuramos el micro y los dos módulos

• Luego la PGA.

• Luego el ADC.

Nota: mientras se hacen las configuraciones de los parámetros de los módulos de usuario, en este caso la PGA y el ADC, se debe prestar especial atención a las conexiones que se realizan automáticamente en la matriz de bloques análogos.

• En la ventana de GPIO verán las conexiones que se deben hacer entre el PSoC y el exterior.

ASOVAGOS 22 IVAN M. GRANADA-JHONNY O. TURIZO

Page 23: Introduccin al PSoC Designer - MODULOS … para... · Verán como se ilumina los bloques donde es posible colocar el modulo de PWM Luego de esto configuramos el micro y los dos módulos

• Luego configuramos las conexiones que hicieron falta en la matriz de bloques análogos de la siguiente manera, escogemos la entrada de la PGA.

• Damos clic en AnalogColumn_InputMUX_0 y escogemos el Port0_7. Este modulo de ADC como lo describe el manual (The output is based on an input voltage between -Vref and +Vref centered at AGND), necesita una referencia negativa que en este caso se configuro en el PORT_2_3, el cual es conectado a tierra mediante una resistencia de pulldown en la ventana de GPIO. En la columna Drive.

• En este punto ya están listos los módulos y podemos hacer el código.

• Para esto damos clic en application editor, sources files y main.c

ASOVAGOS 23 IVAN M. GRANADA-JHONNY O. TURIZO

Page 24: Introduccin al PSoC Designer - MODULOS … para... · Verán como se ilumina los bloques donde es posible colocar el modulo de PWM Luego de esto configuramos el micro y los dos módulos

El código es el siguiente: //---------------------------------------------------------------------------- // C main line //---------------------------------------------------------------------------- #include <m8c.h> // part specific constants and macros #include "PSoCAPI.h" // PSoC API definitions for all User Modules void main(){ int result; // Insert your main routine code here. LCD_1_Start(); LCD_1_Position(0,2); LCD_1_PrCString("PSoC LCD"); PGA_1_Start(2); ADCINC_1_Start(2); ADCINC_1_GetSamples(0); M8C_EnableGInt; while (1) { if (ADCINC_1_fIsDataAvailable() != 0){ result = ADCINC_1_bGetData();

LCD_1_Position(1,12); LCD_1_PrHexByte(result); } } }

ASOVAGOS 24 IVAN M. GRANADA-JHONNY O. TURIZO

Page 25: Introduccin al PSoC Designer - MODULOS … para... · Verán como se ilumina los bloques donde es posible colocar el modulo de PWM Luego de esto configuramos el micro y los dos módulos

PRACTICA 5: ADC, DAC y Comparador.

DAC

R5

1k

Port0_7

PSoCCY8C29466

COMP PORT0_4

8bits

VCC

R6

1k

ADCG=1

0

PGA

PORT0_5

El ejercicio propuesto es el siguiente:

Tomamos los modulo necesarios para esta aplicación.

Como podemos observar tenemos los módulos los cuales serán ubicados en las matrices (digital y análoga), Teniendo definido previamente que es indispensable el uso de el PGA, con ganancia de 1, para la entrada del ADC.

ASOVAGOS 25 IVAN M. GRANADA-JHONNY O. TURIZO

Page 26: Introduccin al PSoC Designer - MODULOS … para... · Verán como se ilumina los bloques donde es posible colocar el modulo de PWM Luego de esto configuramos el micro y los dos módulos

Obteniendo como resultado el siguiente pantallaso:

Luego de esto, configuramos el micro y los módulos que estamos usando.

• Primero los parámetros globales del microcontrolador

• Luego la PGA.

• Luego el ADC.

ASOVAGOS 26 IVAN M. GRANADA-JHONNY O. TURIZO

Page 27: Introduccin al PSoC Designer - MODULOS … para... · Verán como se ilumina los bloques donde es posible colocar el modulo de PWM Luego de esto configuramos el micro y los dos módulos

Nota: mientras se hacen las configuraciones de los parámetros de los módulos de usuario, en este caso la PGA y el ADC, se debe prestar especial atención a las conexiones que se realizan automáticamente en la matriz de bloques análogos.

• Luego el DAC y por ultimo el COMPARADOR.

El valor de referencia es 0.5*Vcc = 2.5v. • Luego configuramos las conexiones que hicieron falta en la matriz de

bloques análogos de la siguiente manera, escogemos la entrada de la PGA, que ya se hizo, La entrada del comparador que se hace de la misma manera, y las salidas del DAC y el comparador, deberían quedar de esta manera.

• En este punto ya están listos los módulos y podemos hacer el código. • Para esto damos clic en application editor, sources files y main.c

El código:

ASOVAGOS 27 IVAN M. GRANADA-JHONNY O. TURIZO

Page 28: Introduccin al PSoC Designer - MODULOS … para... · Verán como se ilumina los bloques donde es posible colocar el modulo de PWM Luego de esto configuramos el micro y los dos módulos

Para la programación del dispositivo se sigue el procedimiento descrito en la practica 1.

AUTORES:

IVAN MAURICIO GRANADA SACRISTAN JHONNY OSWALDO TURIZO TENJO

ASOVAGOS 28 IVAN M. GRANADA-JHONNY O. TURIZO