jueves, 19 de enero de 2017

Características de los bloques analógicos y digitales de PSoC

En la publicación anterior se realizó una introducción a los tipos de bloques que poseen los microcontroladores PSoC, ahora corresponde profundizar un poco en el tema y ver que características tienen estos bloques, tanto los analógicos como los digitales y como están compuestos.

Bloques Analógicos:

El sistema analógico está dispuesto en columnas y cada una de ellas a su vez cuenta con bloques de tres tipos (ACB, ASC, ASD), estos bloques están formados en filas con lo cual se tiene una matriz de componentes analógicos configurables, el tamaño de la matriz depende de la referencia del microcontrolador que se esté utilizando, para el caso del CY8C29466 esta matriz tiene un tamaño de 4 * 3, lo cual deja a nuestra disposición un total de 12 bloques analógicos para desarrollar elementos o aplicaciones de tipo análogo.

Cada columna de bloques análogos cuenta con un buffer de salida (línea output buffer) el cual solo puede ser utilizado por uno de los 3 bloques que conforman esa columna, luego la salida de este buffer puede ser conectada a cualquiera de los pines que puedan ser habilitados como salida analógica.


(Sistema Analógico PSoC CY8C29466)

Bloques ACB: Estos bloques son utilizados para elementos cuya respuesta es continua en el tiempo y que su respuesta es lineal con respecto a un nivel de referencia, este es el caso de los amplificadores operacionales en las configuraciones de inversor amplificador (AMPINV), amplificador (PGA) y comparadores.

Bloques ASC y ASD: Estos son bloques del tipo capacidad conmutada (Switched Capacitor), en el interior de estos bloques se puede encontrar multiplexores, amplificadores, condensadores, entre otros. Con ellos se pueden configurar una gran cantidad de dispositivos como convertidores, buffers, filtros, etc.

Para poder realizar la conexión del exterior con los bloques ASC  y ASD primero hay que conectar a un bloque ACB para poder adaptar la señal proveniente del exterior, este procedimiento se hace como método de seguridad.


Para quienes no sepan que son las capacidades conmutadas y/o esten interesados en consultar o profundizar un poco acerca del tema, a continuación pueden encontrar unos links en donde se presenta información acerca de este tema.



Bloques Digitales:

Estos bloques al igual que los análogos vienen dispuestos en forma de matriz y el número de bloques depende de la referencia de microcontrolador con la que se esté trabajando. Con estos bloques se pueden implementar dispositivos como convertidores, elementos de transmisión UART y SPI, módulos PWM, etc.


(Sistema Digital PSoC CY8C29466)

Como se puede apreciar en la figura anterior los bloques digitales están dispuestos en filas y cada fila está compuesta por dos tipos de bloques digitales, los DBB y DCB.

Bloques DBB: Estos son bloques de propósito general y pueden  ser utilizados en la mayoría de tareas.

Bloques DCB: Estos son bloques utilizados para aplicaciones que requieren de comunicación con otros dispositivos como por ejemplo la comunicación UART.

Por último cabe destacar que las diferentes aplicaciones que se quieran desarrollar pueden ocupar un número diferente de bloques tanto análogos como digitales y este número depende de la cantidad de recursos de los que requiera la aplicación o dispositivo que se está desarrollando.

Por el momento vamos a terminar la parte teórica de la arquitectura del microcontrolador PSoC, en la siguiente publicación empezaremos revisar que es el PSoC Designer.

ANTERIOR PUBLICACIÓN SOBRE PSoC: Los bloques de PSoC
SIGUIENTE PUBLICACIÓN SOBRE PSoC: ¿Qué es PSoC Designer? (En construcción)

martes, 17 de enero de 2017

Los bloques de PSoC

Los microcontroladores PSoC están construidos a partir de bloques electrónicos con los cuales se pueden desarrollar aplicaciones tanto de electrónica análoga como de electrónica digital, estos bloques que son denominados dentro del entorno PSoC como bloques análogos o bloques digitales se diferencian entre sí por su composición interna. A continuación se van a presentar los tipos de elementos que  componen a estos bloques tanto análogos como digitales de PSoC, tomando como referencia un PSoC CY8C29466.

El sistema Digital:

Este sistema está compuesto por un total de 16 bloques de 8 bits cada uno, sin embargo pueden ser utilizados tanto individualmente como en conjunto siendo posible así formar bloques de 8, 16, 24 y 32 bits.

Dentro de los módulos de usuario que vienen pre-configurados en el PSoC Designer (Herramienta de desarrollo PSoC) para facilitar la programación y uso de los microcontroladores, encontramos los siguientes módulos que usan los bloques digitales:
  •  PWM (8 a 32 bits).
  • Contadores (8 a 32 bits).
  • Temporizadores (8 a 32 bits).
  • UART de 8 bits, sin paridad.
  • SPI maestro y esclavo.
  • I2C esclavo y multi-maestro.
  • Comprobador de redundancia cíclica (CRC).

Los bloques digitales pueden ser conectados a cualquier GPIO (Puertos de entrada-salida) por medio de una conexión de buses globales que además permiten la multiplexación de las señales y de esta manera llevar a cabo una gran cantidad de operaciones lógicas.


(Configuración del módulo de usuario PWM8)

Sistema Analógico:

Este sistema está compuesto por 12 bloques configurables, cada uno está compuesto por diferentes elementos como amplificadores operacionales y filtros de capacidades conmutadas. Con estos bloques se puede configurar diferentes dispositivos, algunos de estos ya vienen pre-configurados en los módulos de usuario del PSoC Designer, una muestra de estos módulos que utilizan los bloques analógicos son los siguientes:
  • Convertidor Analógico a Digital.
  • Convertidor Digital a Analógico.
  • Filtros Pasa-bajo, Pasa-banda y Pasa-altos (2, 4, 6 u 8 polos).
  • Amplificadores (ganancia seleccionable hasta 48X).
  • Amplificadores de instrumentación (ganancia seleccionable hasta 93X).
  • Comparadores.
  • Marcadores DTMF.
  • Moduladores.
  • Detectores de pico.

(Configuración del módulo de usuario LPF2 - Filtro Pasa-Bajos de Orden 2)


ANTERIOR PUBLICACIÓN SOBRE PSoC: El núcleo de PSoC

viernes, 13 de enero de 2017

El núcleo de PSoC

El núcleo de los microcontroladores PSoC es un elemento de gran alcance y que apoya un gran conjunto de características, el núcleo incluye una CPU, memoria, relojes y GPIO configurables (entradas y salidas de propósito general).

A medida que la empresa Cypress ha ido desarrollando estos microcontroladores incorpora nuevas características a cada familia de PSoC, entre estas se encuentran los núcleos, los cuales han sido diferentes para cada una de las tres familias mas representativas de PSoC, tal como se muestra a continuación:

  • Familia CY8C2XXXX (PSoC 1): M8C processor speeds up to 24 MHz
  • Familia CY8C3XXXX (PSoC 3): Single cycle 8051 CPU core
  • Familia CY8C5XXXX (PSoC 5): 32-bit ARM Cortex-M3 CPU core

(Núcleos de PSoC por familias)

El M8C es un procesador que puede alcanzar una velocidad de hasta 24 MHz, posee una arquitectura tipo Harvard de 25 hilos con lo cual se logra simplificar la programación de eventos en tiempo real. Otras características que vale la pena resaltar de este núcleo son las siguientes:

  • Temporizadores, Sleep y watch Dog (WDT).
  • 32 KB de memoria flash para almacenamiento de programas.
  • 2 KB de memoria SRAM para almacenamiento de datos.
  • 2 KB de memoria EEPROM emulado usando la flash.
  • El reloj interno de 24 MHz se puede duplicar a 48 MHz para el uso del sistema digital.
  • Reloj de baja velocidad de 32 KHz para el temporizador de apagado y el WDT.
  • Las GPIOs permiten conectar el CPU a los recursos digitales y analógicos.
  • Cada pin también tiene la capacidad para generar una interrupción del sistema de alto nivel, bajo nivel y el cambio de la última lectura.

En 8051 posee un set de instrucciones tipo RISC, con un gran rendimiento y un promedio de hasta 2 ciclos por instrucción, otras características importantes son las siguientes:

  • 64 KB de memoria flash para almacenamiento de programas.
  • 8 KB de memoria SRAM para almacenamiento de datos.
  • 2 KB de memoria EEPROM.
  • Periféricos HUB (PHUB).
  • Interfaz de memoria externa (EMIF).
  • Vector programable para el control de interrupciones.

Por su parte el ARM cortex contiene un procesador de bajo consumo de potencia de 32 bits y arquitectura Harvard, está diseñado para satisfacer las necesidades de aplicaciones que requieran una gran velocidad en el manejo de interrupciones, además también cuenta con las siguientes características:

  • 256 KB de memoria flash.
  • 64 KB de memoria SRAM.
  • 2 KB de memoria EEPROM.
  • Controlador de memoria cache de 128 bytes de memoria.
  • Periféricos HUB (PHUB).
  • 4 GB de espacio de direcciones.

ANTERIOR PUBLICACIÓN SOBRE PSoC: ¿Qué es PSoc?
SIGUIENTE PUBLICACIÓN SOBRE PSoC: Los bloques de PSoC

martes, 10 de enero de 2017

¿Qué es PSoC?


La palabra PSoC es el acrónimo de (Programmable System on Chip), estos dispositivos fabricados por la empresa cypress son microcontroladores cuya principal característica y atractivo es el contar con módulos tanto análogos como digitales en un solo chip,  así mismo poder reconfigurar dinámicamente las entradas y salidas de estos módulos. De esta manera se obtiene un componente electrónico con una gran flexibilidad en su estructura y que permite una gran facilidad para el desarrollo de sistemas electrónicos embebidos.

Algunas características de la arquitectura de estos microcontroladores son las siguientes:
  • Unidad multiplicadora MAC.
  • Reloj tanto interno como externo.
  • El voltaje de referencia puede ser variado para actuar con distintos sensores.
  • Voltaje de funcionamiento de 5 voltios ó 3,3 voltios.
  • Posibilidad de reconfiguración.

En cuanto a los bloques que tanto se han mencionado hasta el momento, el numero de estos puede variar dependiendo de la referencia del PSoC con el cual se esté trabajando, por ejemplo el CY8C29466, cuenta con 16 bloques digitales y 12 bloques análogos los cuales pueden ser configurados y programados para implementar una gran cantidad de aplicaciones.

(Estructura General de un PSoC)

En la figura anterior se pueden observar las cuatro áreas principales que componen un microcontrolador PSoC las cuales son: núcleo, sistema digital, sistema analógico y por último los recursos del sistema. En las siguientes publicaciones se irá profundizando un poco sobre cada una de estas partes.

Los Psoc dependiendo de la familia de microcontrolador que se esté utilizando pueden utilizar para su programación diferentes entornos de desarrollo, para el caso de la familia PSoC 1 se utiliza como programa de desarrollo un software denominado PSoC Designer el cual presenta varias cualidades como contar con una interfaz grafica en la cual se visualizan los bloques tanto digitales y análogos que posee el microcontrolador y así mismo cuántos de estos bloques se han utilizado en la aplicación que se está desarrollando, también permite escribir el código de programación para la aplicación en dos lenguajes de programación diferentes los cuales son el lenguaje C y el Assembler.

Para el caso de las familias 3, 4 y 5 de PSoC se utiliza el entorno de desarrollo denominado PSoC Creator el cual cuenta con características diferentes al PSoC Designer, pero más adelante se irán profundizando en las características de cada uno de estor programas.



SIGUIENTE PUBLICACIÓN SOBRE PSoC: El núcleo de PSOC