====== PSOC ====== ==== Programmable System On Chip ==== {{ :pub:psoc_architecture.png?direct& }} El PSOC es un ''SoC (System on chip)'' que integra un sistema de procesamiento basado en un **microprocesador** junto con una zona dedicada a **lógica programable** y otra de **periféricos analógicos con rutado programable** (tales como filtros, convertidores de datos, amplificadores operacionales, comparadores, etc). En la asignatura de Electrónica Digital utilizaremos el ''PSOC 5lp'' para trasladar el proyecto de diseño a un sistema real con periféricos externos (Botones, LED's, Displays, Sensores de posición, etc). Como se indica en la imagen superior, el microprocesador que integra es un ''ARM Cortex-M3'', que se trata de un procesador de 32 bit con arquitectura RISC y de elevado rendimiento. === Objetivos === Utilizaremos este SoC para integrar el proyecto de diseño que ha sido previamente testado en TkGate. Veremos los detalles de implementación sobre un sistema real que podría ser utilizado como solución profesional. Recordemos que el proyecto de diseño se compone de dos partes fundamentales. * Procesador gnome desarrollado durante las sesiones prácticas de la asignatura + Vía de entrada/salida. Es necesario el desarrollo del ''firmware'' del procesador. * ''Circuito síncrono'' diseñado por el alumno y que cumple el propósito del proyecto. La integración de ambos elementos en la plataforma PSOC se ha llevado a cabo de la siguiente forma: {{ :pub:psoc_gnome_arch.png?direct&850 }} El procesador GNOME, que en TkGate se simula a través de una descripción hardware Verilog, se ha implementado en el PSOC en forma de emulación sobre el procesador ARM Cortex-M3 integrado en el SoC. Por otro lado, se proporcionan una serie de circuitos de interfaz, como es las vía de 8 bits y algunos periféricos de entrada/salida, como por ejemplo una pantalla LCD de caracteres conectada por I2C. //**El alumno sólo necesita importar el programa del procesador GNOME e importar la descripción hardware del circuito síncrono que ha desarrollado.** // En esta página se encuentran todos los detalles necesarios para implementar el proyecto sobre la plataforma de prototipado de PSOC. **//En caso de que el sistema no funcione como se esperaba al incluir los módulos hardware desarrollados por el alumno y el programa del procesador GNOME, se puede utilizar una interfaz de ''depuración'' para encontrar los problemas.// ** === Hardware requerido === Es imprescindible utilizar la plataforma de prototipado del PSOC 5lp para integrar el proyecto de diseño en la plataforma. * [[http://www.cypress.com/documentation/development-kitsboards/cy8ckit-059-psoc-5lp-prototyping-kit-onboard-programmer-and|PSOC 5lp Prototyping Kit]] === Software requerido === El entorno de desarrollo integrado de los PSOC de Cypress Semiconductor es el PSOC Creator y únicamente se encuentra disponible para Windows. El resto de herramientas requeridas se encuentran ya instaladas en la máquina virtual [[:pub:dglab|dglab]], pero también se enumeran a continuación. * [[http://www.cypress.com/products/psoc-creator-integrated-design-environment-ide|PSOC Creator]] * [[https://github.com/Javier-varez/psoc_PEMU|PSOC_GNOME Workspace]] * Este espacio de trabajo contiene el firmware para emular el procesador GNOME y el proyecto de ejemplo de conteo de cajas. * [[http://www.putty.org|Putty (Para comunicaciones por puertos serie)]]. Se recomienda la versión de Windows. === Recursos para el aprendizaje === * [[:pub:psoc_creator_intro|Introducción al PSOC Creator]] * [[:pub:psoc_gnome|Ficheros fuente del procesador GNOME, configuración y uso.]] * [[:pub:psoc_gnome_debug|Depuración del código fuente en el procesador GNOME]] * Periféricos soportados: * [[:pub:psoc_gnome_lcd|Pantalla LCD i2c]] * [[:pub:psoc_gnome_sensorir|Sensor de distancia por infrarrojos]] * Temas avanzados: * [[:pub:psoc_ps|El microprocesador ARM Cortex-M3]] * [[:pub:psoc_pl|Lógica Programable en el PSOC]] === Proyecto de diseño (ejemplo) === * [[:pub:psoc_proyecto_cajas|Proyecto de sistema de conteo de cajas de 2 tamaños distintos]] === Referencias === * [[http://www.cypress.com/products/32-bit-arm-cortex-m3-psoc-5lp|PSOC 5lp]] * [[http://www.cypress.com/file/45906/download|PSOC 5lp - Hoja de datos]] * [[http://www.cypress.com/file/41436/download|POSC 5lp - Guía rápida]] * [[http://www.cypress.com/file/45856/download|Nota de Aplicación - Implementando diseños lógicos con Verilog sobre PSOC]]