Geek Electrónica

Explicaciones, tutoriales y noticias sobre electrónica y tecnología en general

Bloques AnalogosBloques de PSoCBloques DigitalesElectrónicaElectrónica DigitalMicrocontroladoresNúcleo PSoCPSoC

MEJORES PRACTICAS Y RECOMENDACIONES CON PSoC 1 (PARTE 1)

En esta ocasión y por unas cuantas publicaciones del blog, se va a presentar una traducción y un pequeño resumen de una nota de aplicación la cual es útil para todos aquellos que están comenzando en el mundo PSoC. La nota de aplicación es la AN2010 titulada PSoC® 1 Best Practices and Recommendations y escrita por Jeff Dahlin, si quieren observar y estudiar esta nota de aplicación en su versión original lo pueden hacer siguiendo el link que se encuentra a continuación y redirige a la página de cypress semiconductor.

PSoC 1 Best Practices and Recommendations (Link nota de aplicación)

La AN2010 contiene algunas líneas de introducción y recomienda algunas prácticas para el desarrollo de sistemas PSoC 1. Además se exponen algunos errores comunes que cometen los diseñadores.

INTRODUCCIÓN

Esta nota de aplicación provee información para mejorar la calidad y eficiencia de los proyectos de PSoC 1. Este documento se encuentra divido por secciones las cuales se encuentran relacionadas entre sí razón por la cual el documento debe ser leído por completo.

PRIMEROS PASOS

Antes de comenzar cualquier proyecto de PSoC 1. Es importante asegurarse de tener instaladas en el computador las versiones de software y documentación más recientes. A continuación se presentan los primeros pasos en el trabajo con PSoC.

  • Instalar PSoC Designer.
  • Conectar ICE cube (El ICE es un dispositivo que sirve como depurador y sus siglas significan In Circuit Emulator).
  • Examine los proyectos de ejemplo incluidos en la documentación de PSoC Designer.
  • Descargue la documentación mas reciente.
  • Explore otros recursos como los últimos lanzamientos de software, los foros de cypress ó el soporte técnico en línea.

LOS MÓDULOS DE USUARIO Y RECURSOS GLOBALES

Esta sección se enfoca en los aspectos básicos del posicionamiento y configuración de los módulos de usuario.

Selección inicial de los parámetros de los módulos de usuario:

Se recomienda configurar un valor inicial a todos los parámetros presentes en los módulos de usuario que se estén utilizando en el proyecto, sin importar que existan parámetros los cuales no parecen aplicarse.

Consideraciones de la velocidad de reloj de la CPU:

Es recomendable establecer el reloj de la CPU a 12 MHz o inferior. Ya que puede haber limitantes en el voltaje de alimentación y la temperatura de funcionamiento cuando se trabaja a 24 MHz, estas limitantes no se presentan cuando se trabaja a 12 MHz.

Limitaciones de frecuencia de los Bus globales:

Los bus de entrada y salida globales no están garantizados para funcionar por encima de los 12 MHz.

Limitaciones de los módulos de usuario:

Los bloques digitales tienen las siguientes limitaciones de reloj:

  • Los módulos de usuario counter que utilizan el parámetro “Enable” no pueden operar por encima de los 24 MHz.
  • Los módulos de usuario timer que utilizan el parámetro “Capture” no pueden operar por encima de los 24 MHz.
  • El modulo de usuario CRC no puede operar por encima de los 24 MHz.
  • Los módulos digitales utilizados para comunicación serial no operan por encima de los 24 MHz.

Relojes para módulos de usuario multi-bloque:

Algunos módulos de usuario requieren más de un bloque para su implementación, a su vez algunos de estos módulos multi-bloques necesitan entradas de reloj individuales para ajustarse a la misma fuente de reloj. Un ejemplo de esto es el modulo de usuario ADCINC, este modulo requiere que tanto el bloque análogo y el bloque digital sean conectados al mismo reloj.

El reloj para los bloques digitales se debe configurar desde los parámetros del modulo de usuario, por su parte el reloj para el bloque analógico se configura como un reloj de la columna análoga tal como se puede ver en las siguientes figuras.

            (Conf. del reloj en bloque digital del módulo ADCINC)
    (Conf. del reloj en bloque analógico del módulo ADCINC)

Reloj digital basado en n+1:

Todos los parámetros de tiempo (Periodo y ancho de pulso) que vayan a ser usados en módulos de usuario tipo digital utilizan valores n+1. Por lo tanto para efectos de cálculo el valor introducido en el programa debe ser uno menos que el valor deseado.

Limitación de uso del FlashTemp:

El modulo de usuario FlashTemp no debe ser utilizado para mediciones de temperatura ambiente. Este es un modulo destinado a monitorear y proporcionar la temperatura del ciertas funciones del dispositivo PSoC.

Reloj de enrutamiento:

En las familias 22/24/27/29 de PSoC, se encuentra un Bus de difusión para cada fila de los bloques digitales. Todos los bloques de la fila pueden utilizarse como fuente para el bus, a su vez un bus de una fila puede ser utilizado como fuente para un bus de otra fila. De esta manera se encuentra una opción muy flexible de enrutamiento.

Estas mismas familias de PSoC poseen una fuente de reloj la cual puede ser dividida por un valor de 8 bits. Este reloj puede ser usado para reemplazar algunas funciones como la velocidad de transmisión.

ANTERIOR PUBLICACIÓN SOBRE PSoC: Lectura y escritura de los puertos de PSoC

Iván Cuadros Acosta

Licenciado en Electrónica y Master en desarrollo de aplicaciones móviles con experiencia en docencia universitaria. Apasionado por la electrónica y la programación.