Está en la página 1de 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


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


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).

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 3 IVAN M. GRANADA-JHONNY O. TURIZO


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


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


PRACTICA 1:
VCC

Leds parpadeantes. Port0_0


PSoC
El ejercicio propuesto es el siguiente: CY8C29466 Port0_1

Herramientas: LED1 LED2

• PSoC Designer v. 4.4, PSoC


Programmer v. 2.2.. 0

• Kit de desarrollo CY8C29466. VCC 0


• Board, fuente y materiales varios.

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


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


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


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


• Saldrá un mensaje de Programming Succeded, lo que indica que fue optimo el
programado en el dispositivo.

_______________________ // ________________________ // ______________________

PRACTICA 2: VCC

LCD
PSOC LCD
El ejercicio propuesto es el PSoC USER MODULE
siguiente: CY8C29466 Port0_[0..6]
R3
R
7
4 inf- 3 control
Tomamos un modulo de LCD
del device editor VCC

0
0

ASOVAGOS 10 IVAN M. GRANADA-JHONNY O. TURIZO


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


• 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


PRACTICA 3:
PWM DE 8 Bits

El ejercicio propuesto es el siguiente:


VCC

1.5 MHz 93.7 KHz


24 MHz ÷ 16 VC1 ÷ 16 VC2

1.4Hz
Port0_0
÷ 256 VC3 ÷ 255 PWM8_1

366 Hz
Port0_1
÷ 255 PWM8_2 1.4Hz
PSoC
CY8C29466 LED1 LED2

0 0 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


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


• 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


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


• 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


• 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


• 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


PRACTICA 4:
ADC con visualización en LCD

El ejercicio propuesto es el siguiente:

VCC

PSoC PSOC LCD


R5
CY8C29466 EF
1k

Port0_7 Port0_[0..6]
PGA ADC R3
R
R6
7
G=1 8bits 4 inf- 3 control
1k

VCC

0
0

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


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


• 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


• 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


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


PRACTICA 5:
ADC, DAC y Comparador.

VCC

PSoC
El ejercicio
G=1 8bits
CY8C29466
propuesto es el PGA ADC
siguiente: R5
1k
PORT0_5
Port0_7 DAC

R6
COMP PORT0_4
1k

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


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


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


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

También podría gustarte