Está en la página 1de 6

See discussions, stats, and author profiles for this publication at: https://www.researchgate.

net/publication/202974915

Kit de Entrenamiento para PSoC con Programador en Sistema

Conference Paper · January 2008

CITATIONS READS
0 1,245

3 authors:

Alexander Falcon Alberto Taboada-Crispi


Universidad Central "Marta Abreu" de las Villas Universidad Central "Marta Abreu" de las Villas
26 PUBLICATIONS   23 CITATIONS    157 PUBLICATIONS   162 CITATIONS   

SEE PROFILE SEE PROFILE

Denis Hernandez Pacheco


ETECSA SS
8 PUBLICATIONS   16 CITATIONS   

SEE PROFILE

Some of the authors of this publication are also working on these related projects:

Nuevos Métodos y Técnicas para el Cribado Auditivo Neonatal sin Sedación View project

Análisis de la señal ECG mediante Distribuciones Tiempo-Frecuencia View project

All content following this page was uploaded by Alberto Taboada-Crispi on 22 May 2014.

The user has requested enhancement of the downloaded file.


KIT DE ENTRENAMIENTO PARA PSOC
CON PROGRAMADOR EN SISTEMA

Alexander Falcón1, Alberto Taboada1, Denis Hernández1, Roberto Diaz1

Abstract ⎯ In this paper a design for a Programmable En el desarrollo de aplicaciones para PSoC se emplean
System on Chip (PSoC) training kit is described. The básicamente dos programas para Windows, el PSoC
proposed hardware is capable to receive signals from the Designer y el PSoC Programmer, ambos pueden ser
PC parallel port and burn the PSoC with the desired descargados gratuitamente del sitio Web de Cypress [3]-[4].
program. The design includes a set of interfaces (like keys, El PSoC Designer está formado por 3 subsistemas: el Editor
switches, serial communication, leds, 7-segment displays, de Dispositivos, el Editor de Aplicaciones y el Depurador. El
buzzers, etc) allowing the testing of the programs previously Editor de Dispositivos permite configurar los MU y la E/S,
burned. This design is easy to build, cheap and appropriate enrutar la señales internas y definir los parámetros del
for education. sistema. Mediante el Editor de Aplicaciones se pueden
escribir las aplicaciones empleando lenguaje ensamblador o
Index Terms ⎯ development kit, evaluation kit, interfaces, C (se necesita licencia) [5]-[6]. Por último, el Depurador
programming kit, PSoC. permite el uso de puntos de ruptura, traceado, inspección de
variables entre otros. Adicionalmente, en el PSoC Designer,
INTRODUCCIÓN están disponibles hojas de datos detalladas para cada
componente seleccionado. Una vez diseñado y compilado el
Los microcontroladores pueden considerarse como un programa, el archivo .hex se carga al microcontrolador,
computador en miniatura dentro de un solo encapsulado. Se mediante el PSoC Programmer y un hardware de
utilizan actualmente para resolver los problemas planteados programación.
de control en diversos campos tales como en la informática y Además de los programas entes mencionados, existe
las telecomunicaciones (teclados, ratones, impresoras, una herramienta de programación visual también gratuita,
módems, teléfonos), en la industria de los electrodomésticos llamada PSoC Express [4], donde los usuarios trabajan
(hornos microondas, lavadoras, televisores), en la industria directamente con objetos tales como leds, interruptores,
del automóvil (inyección de combustible, alarmas), en la sensores, entre otros, sin escribir una línea de código.
industria de la imagen y sonido (video grabadoras, en También la firma HI-TECH Software ofrece un compilador
reproductores de CD/DVD), en la medicina de C para usarlo con PSoC Designer, por un precio de 1495
(electrocardiógrafos), en aplicaciones militares, domótica, USD en el momento de escribir este artículo [7].
etc. [1]. Cypress divide el desarrollo de hardware para PSoC en
En la actualidad existe una variada gama de dispositivos 5 categorías principales: Kits Demostrativos, Kits de
inteligentes que ofrecen facilidades de implementación de Evaluación, Kits de Desarrollo, Kits de Referencia de
circuitos analógicos y digitales; entre ellos sobresalen los Diseño y Kits de Programación [4]. Cypress Semiconductor
llamados PSoC [2], de Cypress Microsystems [3], que han además ofrece Accesorios y Kits de Componentes:
probado ser una solución viable para múltiples aplicaciones.
• Kits Demostrativos: Demostración de tecnologías.
La familia PSoC consiste de varios dispositivos con
• Kits de Evaluación: Evaluación de tecnologías y
arreglo de señal mezclada (parte analógica y parte digital) y
herramientas de entrenamiento.
controlador on-chip. Estos dispositivos han sido diseñados
para remplazar los componentes de los sistemas • Kits de Desarrollo: Plataformas completas para el
desarrollo de aplicaciones.
tradicionales basados en microcontroladores, por un solo
componente, programable y de bajo costo. Un dispositivo • Kits de Programación: Herramientas de
PSoC incluye bloques configurables de lógica digital y programación y emulación.
analógica llamados módulos de usuario (MU), así como • Kit de Componentes y Accesorios: Partes de
interconexiones programables. Esta arquitectura le permite remplazo, adaptadores, módulos para funciones
al usuario crear configuraciones de periféricos a la medida, especiales, etc.
para satisfacer los requerimientos de cada aplicación En la Tabla 1 se muestra un listado de algunos de los
individual. Adicionalmente se incluyen una CPU rápida, kits desarrollados por Cypress junto con una pequeña
memoria de programa Flash, memoria de datos SDRAM, y descripción y sus precios (marzo de 2008) [3].
E/S configurable, todo esto para un conjunto de
encapsulados.

1
Universidad Central “Marta Abreu” de Las Villas, Carretera a Camajuaní km. 5 ½, SC, Villa Clara, Cuba ,{afalcon, hpacheco, ataboada}@uclv.edu.cu
TABLA I USD/unidad. El usuario define qué funciones realizar y
KITS PARA PSOC cuándo ellas aparecen (re-configuración dinámica), y cómo
No. Producto Descripción Precio se interconectan.
1 CY3210-PSoCEval1 Kit de evaluación de PSoC $93.75
2 CY3210-PLOC10 10 Kits CY3210-PSoCEval1 $625.00
El CY8C27443 tiene un núcleo microprocesador
3 CY3209-ExpressEVK Especialmente diseñado para $121.88 empotrado M8C, con arquitectura Harvard, que puede
usar con PSoC Express, trabajar hasta 24 MHz (4 MIPs); además, contiene un
conexión de PSoCs mediante multiplicador por hardware, que permite implementar
bus I2C
4 CY3280-BK1 Prototipado y depuración de $158.00
funciones básicas de procesamiento digital, así como el
diseños con CapSense control de los convertidores, amplificadores, filtros y demás
5 CY3235-ProxDet Kit de demostración para $68.75 bloques del sistema. Este dispositivo da múltiples opciones
detección de proximidad de comunicación, destacándose el chequeo que puede
empleando CapSense
6 CY3210-SDCARD Kit de evaluación para módulo $211.25
realizar de redundancia cíclica (CRC) de 2 a 16 bits, así
de tarjeta SD como la implementación de los estándares: I2C (de Philips),
7 CY3213A-CAPSENSE Kit de entrenamiento para $89.00 SPI y UART (para comunicación serie), e IrDA (por infra-
tecnología CapSense CSD rojo). Además, existen algunos dispositivos de la familia
8 CY3242-IOX Kit de evaluación para $523.75
expansor de puerto I2C
capaz de comunicarse inalámbricamente. Tiene 16 KBytes
9 CY3236A- Kit de evaluación para $105.00 de memoria de programa flash con protección robusta de
PIRMOTION detección de movimiento por lectura/escritura; también, ofrece emulación de EEPROM en
infrarrojos flash y poseen 256 Bytes de SRAM.
10 CY3220LINBus-RD Kit de referencia para diseño $250.00
con ‘LIN Bus’ (autos)
El CY8C27443 resulta óptimo desde el punto de vista
de su bajo consumo, incluso a alta velocidad, presentando
flexibles modos de reposo (sleep) con corrientes tan bajas
De los productos presentados en la Tabla 1 resulta muy
como 3µA. Sus voltajes de trabajo van desde 3V hasta
atractivo el No. 2. Este es vendido por un precio de $625 y
5,25V, aunque puede ser bajado a 1V, usando SMP (switch
está comprendido por 10 Kits CY3210-PSoCEval1, además
mode pump).
incluye licencias para programar en C y está concebido para
Los MU del PSoC constan de más de 55 bloques
ser usado en ambientes académicos. En el caso de que se
digitales y analógicos pre-configurados y pre-caracterizados.
requieran menos kits, los productos No. 1 y 3 pueden ser
Análogo a los periféricos on-chip, el PSoC contiene
buenas opciones. Los demás productos similares a los
temporizadores – contadores – moduladores de ancho de
anteriores brindan mayores posibilidades, como por ejemplo
pulso (PWM), UART – SPI, conversores A/D y D/A –
la emulación, sin embargo su precio es más elevado. El resto
registros SAR, etc. Se definen los bits del registro para la
de los kits han sido diseñados para trabajar con tecnologías
configuración inicial, desde el ambiente de desarrollo
específicas y generalmente no son adecuados para personas
integrado (IDE). Los módulos de usuario incluyen interfaces
que se inician en el mundo PSoC.
de programador de aplicación (APIs), rutinas de servicio de
En este trabajo se propone una solución para un kit de
interrupción (ISRs) y hojas de datos específicas.
entrenamiento de PSoC (especialmente para el CY8C27443)
que puede ser implementado fácilmente con componentes Los módulos de usuarios analógicos comprenden:
electrónicas recuperadas, las cuales generalmente están al conversores A/D de diversos tipos (aproximaciones
alcance de la mano. El hardware propuesto es capaz de sucesivas de 6 bits, incremental de 12 y 14 bits, incremental
recibir las señales provenientes del puerto paralelo de la variable de 7 a 13 bits de hasta 3 entradas, sigma delta de 8 y
computadora generadas por un programa y de efectuar la 11 bits), conversores D/A (de 6, 8, y 9 bits y multiplicativos
programación del PSoC. El diseño incorpora además un de 6 y 8 bits), filtros (paso-bajo de 2 polos y paso-banda de 2
conjunto de interfaces que le permiten al usuario probar los polos), amplificadores (de ganancia programable, de
programas previamente grabados. Entre las interfaces se instrumentación, inversores), comparadores con umbral
encuentran teclas, interruptores, comunicación serie, leds, programable y marcadores DTMF.
display de 7 segmentos, buzzers, etc.
Diseño del Kit
MATERIALES Y MÉTODOS El kit que se propone consiste en un hardware que se
conecta a la PC mediante la interface de puerto paralelo. En
PSoC: CY8C27443 la PC reside una aplicación que permite cargar un archivo
.hex y enviar los bits necesarios a través de la interface
Un ejemplo clásico de PSoC es el CY8C27443 [2]. Este paralelo para efectuar la programación del PSoC. Un bloque
ofrece 12 bloques analógicos, 8 bloques digitales y una llamado ‘Circuitería de programación’ (Figura 1) recepciona
microcomputadora empotrada de 8 bits, todo configurable, estas señales y las acondiciona teniendo en cuenta las
en un encapsulado de 28 terminales, por menos de 4,00 corrientes demandas por el PSoC en su programación. En el
diseño se incorporan varias interfaces separadas en Interfaces de Entrada
interfaces de entrada e interfaces de salida. Entre las de
entrada se encuentran las teclas e interruptores, mientras que Las interfaces de entrada están formadas por 2 teclas, 2
en las de salida están los leds, displays 7-segmentos y interruptores y un potenciómetro. Los terminales del PSoC
buzzer. Entre el PSoC y estas interfaces existe un bloque pueden ser configurados como entradas pull-up y pull-down
llamado ‘Matriz de Interconexión’ que permite conectar los (Figura 3-a), permitiendo la conexión de este tipo de
terminales del PSoC a las interfaces según requiera la interfaces sin la necesidad de emplear resistores externos.
aplicación. Adicionalmente existe un bloque llamado ‘Driver Una de las teclas se encuentra conectada a tierra por uno de
RS-232’ que permite la comunicación serie entre el PSoC y sus extremos y por el otro a una entrada del PSoC que debe
otro dispositivo, como puede ser la PC. ser configurada como pull-up. La otra tecla se encuentra
conectada a Vdd en uno de sus extremos y en el otro a un
terminal del PSoC que debe ser configurado como una
entrada pull-down. El caso de los interruptores es semejante,
uno de ellos se encuentran conectados en modo pull-up y el
otro en modo pull-down. Por último, el potenciómetro se
encuentra conectado en sus extremos a Vdd y tierra,
mientras que su terminal deslizante se encuentra conectado a
un terminal del PSoC que debe ser configurado como
entrada analógica de alta impedancia.

FIGURA. 1
ESQUEMA LÓGICO DEL KIT DE ENTRENAMIENTO

Circuitería de Programación

Las corrientes proporcionadas por los terminales del puerto


paralelo de la PC generalmente son insuficientes para
efectuar la programación del PSoC. Es por esto que se
requiere de buffers que proporcionen dicha corriente. En el
diseño se emplea el chip CD4050 (o equivalente ruso
K561NY4) [8]. El diseño permite además controlar la FIGURA. 3
alimentación del PSoC desde la PC, solo que en lugar de INTERFACES DE ENTRADA
emplear buffers su usa un transistor (Figura 2).
En la figura 3-b puede apreciarse los nombres asignados
a los terminales de entrada y el modo en que estos deben ser
configurados. Para el trabajo con estas interfaces
inicialmente deben escribirse 1’s en los bits de los puertos
para que queden configurados como entradas. Luego, se
encuestan estos bits mediante una operación de lectura del
puerto, para conocer el estado de las teclas e interruptores.
Interfaces de Salida
Las interfaces de salidas están compuestas por 2 leds,
dos displays 7-segmentos y un buzzer. El PSoC dispone de
varios MU que permiten controlar esta clase de periféricos
de una forma muy sencilla.
Uno de los leds se encuentra conectado a Vdd por el
ánodo y al pin P1[5] a través de una resistencia limitadora
(activo en bajo), mientras que el otro se encuentra conectado
a tierra por el cátodo y al pin P1[3] a través de una
FIGURA. 2 resistencia limitadora (activo en alto).
CIRCUITERÍA DE PROGRAMACIÓN Para el trabajo con los leds se puede emplear el MU
LED que se encuentra en la sección ‘Misc Digital’ del Editor
de Dispositivos. Este MU da la posibilidad de escoger el Para la conexión del buzzer se empleo el pin P1[4]. A la
puerto (Port) y el terminal de este al cual se conectará el led salida de este se conecta una resistencia con un transistor
(Pin), además permite configurar el led como activo en alto NPN con el objetivo de suministrar la corriente necesaria.
o como activo en bajo (Drive). Luego, en el Editor de
Aplicaciones, podemos programar este MU para encender,
apagar, alternar, así como encuestar el estado de los leds Matriz de Interconexión
conectados. La matriz de interconexión está formada por un
conjunto de conectores, interruptores y líneas que permiten
conectar el PSoC a las interfaces de una manera flexible.
Tanto las interfaces como todos los terminales de los puertos
del PSoC están unidos a sendos conectores. Luego, se
pueden establecer conexiones mediante hilos de conexión
entre cada terminal del PSoC y los terminales de las
interfaces. Adicionalmente existen un conjunto de
interruptores o puentes (jumpers) mediante los que se puede
conectar las interfaces a terminales específicos del PSoC.

FIGURA. 4
INTERFACES DE SALIDA: LEDS

En el caso de los displays de 7 segmentos, se ubicaron


dos en el diseño. Pueden usarse módulos con ánodo o con
cátodo común, empleándose transistores PNP o NPN
respectivamente para la activación de los dígitos. Los leds se FIGURA. 6
conectaron al puerto 0 y para el control de los dígitos se MATRIZ DE INTERCONEXIÓN
emplearon los pines P1[6] y P1[7].
Para la conexión de los displays 7-segmentos puede Driver RS-232
emplearse el MU LED7SEG de la sección ‘Misc Digital’ en Para la comunicación serie con la PC debe usarse un
el Editor de Dispositivos. A través de este se puede circuito adicional [9]. La PC emplea 12V y -12V en la
configurar el puerto al que se conectarán los leds (Segment interface RS-232, mientras que el PSoC emplea 0V y 5V.
Port), los pines del puerto para el control de los dígitos Este circuito juega entonces el papel de traductor de niveles.
(Digit Port, Digit Drive Pins) y la polaridad de estos (Digits En el mercado existen varios chips que realizan esta función
Drive Polarity, Segment Drive Polarity). Adicionalmente se entre los que se encuentra la MAX232 de Maxim. Sin
puede generar una subrutina de interrupción para controlar la embargo el empleo de uno de estos chips encarecería el
multiplexación de los dígitos (Multiplex Rate) con una diseño siendo más práctico el empleo de un circuito a
frecuencia de 500 Hz, 1 kHz, 2 kHz ó 4 kHz. transistores como el propuesto en la Figura 5.

FIGURA. 5 FIGURA. 5
INTERFACES DE SALIDA: LED7SEG TRADUCTOR DE NIVELES RS232
RESULTADOS Studio 2005 y el lenguaje de programación C# 2.0 (Figura
7). En la parte superior de la ventana de la aplicación existen
En la Figura 6 se muestra la disposición de los terminales a algunos controles que permiten la comunicación serie con el
los que se encuentra conectado el PSoC en el kit. El puerto 0 kit. Específicamente en la caja de texto etiquetada ‘Mensaje’
se ha configurado para salida y se ha destinado a la atención el usuario puede escribir un mensaje. Luego, se debe pulsar
de los displays de 7 segmentos junto con lo pines 6 y 7 del el botón ‘Enviar’, y esto hace que se envíen por el puerto
puerto 1 que controlan el encendido de los dígitos. El puerto serie de la PC los caracteres correspondientes al mensaje
2 se ha configurado como entrada y mediante el se atienden introducido anteriormente. Por último, si funciona
las teclas (P2[2] y P2[0]), interruptores (P2[7] y P2[5]), correctamente la comunicación, debe aparecer en la caja de
entrada analógica (P2[1]), recepción serie (P2[3]). El puerto texto etiquetada ‘Respuesta’, el mismo mensaje. Los demás
1 se ha configurado de salida y se encuentran conectados a él controles de la ventana se separan en dos grupos: ‘Entradas’
los leds (P1[5] y P1[3]), la transmisión serie (P1[2]), el y ‘Salidas’. Los controles del grupo ‘Entradas’ son de solo
buzzer (P1[4]), el control de los dígitos de los displays de 7 lectura y reflejan el estado en que se encuentran las teclas,
segmentos (P1[6] y P1[7]) y las líneas para la programación interruptores y el potenciómetro en el kit. Por otra parte, los
en sistema (P1[0] y P1[1]). controles del grupo ‘Salidas’, permiten interacción con el
usuario y posibilitan apagar y encender leds, activar los
displays 7-segmentos con el número deseado y activar o no
el buzzer en el kit.

FIGURA. 6
PINOUT
FIGURA. 7
APLICACIÓN DE PRUEBA
Una vez que se ha diseñado y compilado la aplicación,
debemos invocar al programador [8]. Para cargar el archivo AGRADECIMIENTOS
.hex resultado de la compilación se debe pulsar el botón
‘Load’ y buscarlo en el sistema de archivos. Mediante los Los autores desean agradecer el soporte técnico brindado por
botones de selección ‘Ascii’ y ‘Hex’ podemos escoger entre el proyecto CIDA: TIER-394-TT02-00 de colaboración con
la visualización en formato ASCII y en formato instituciones canadienses.
hexadeciamal. A través del botón de chequeo ‘Power’ puede
controlarse la alimentación del PSoC en el kit de REFERENCIAS
entrenamiento, mientras que el botón ‘Xres’ permite resetear [1] González, J., A., “Introducción a los Microcontroladores: Hardware,
el micro. Si pulsamos el botón ‘Settings’ emerge una Software y Aplicaciones”, Mc Graw-Hill, 1992.
ventana en la que podemos seleccionar el puerto de [2] Montag, H., “CY8C27143, CY8C27243, CY8C27443, CY8C27543,
impresora al que se ha conectado el kit, el tipo de hardware CY8C27643 PSoC™, Mixed Signal Array”, Final Data Sheet For
empleado en el programador (Type3 en el diseño concebido) Silicon Revision A, Document No. 38-12012, Revision G, Cypress
y el modo de programación que se empleará, entre otras MicroSystems, November 2003.
cosas. Por último, se debe pulsar el botón ‘Program’ para [3] Cypress Semiconductor Corporation, www.cypress.com, Marzo 2008.
efectuar la programación del micro. [4] “PSoC® & EZ-Color Development Tools Selector Guide, for
CY8C29x66, CY8C27x43, CY8C24x94, CY8C24x23A, CY8C21x34,
CY8C21x23, CY20x34 and CY8CLEDxx”, Cypress Semiconductor
Corporation, 2008.
[5] “PSoC Designer, Assembly Language User Guide”, Revision 2.1,
December 2003.
[6] “PSoC Designer, C Language Compiler User Guide”, Revision G”,
Cypress Semiconductor Corporation 2005.
[7] “HI-TECH Compiler User Manual”, HI-TECH Software, 2007.
[8] “Easy Programmer for PSoC: CY8C22/24/27/29xxx”, Discusión:
http://www.psocdeveloper.com/forums/viewtopic.php?t=521&sid=e4f
FIGURA. 8 b5d457308f6be527addb5dfba4f74, 2008.
PROGRAMADOR
Para probar el correcto funcionamiento del kit, se ha [9] Samusko, V., “Low-Cost, RS-232 Level Translator”, 2005.
desarrollado una sencilla aplicación empleando MS Visual

View publication stats

También podría gustarte