Documentos de Académico
Documentos de Profesional
Documentos de Cultura
net/publication/202974915
CITATIONS READS
0 1,245
3 authors:
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
All content following this page was uploaded by Alberto Taboada-Crispi on 22 May 2014.
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
FIGURA. 4
INTERFACES DE SALIDA: LEDS
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