Entradas

Ejemplos SysTick PSoC 4 y PSoC 5LP

Imagen
El uso del SysTick en PSoC 4 y PSoC 5LP es muy similar, solo cambian algunos defines los cuales son utiles para saber la frecuencia del clock del sistema. Para PSoC 5LP son: BCLK__BUS_CLK__HZ  BCLK__BUS_CLK__KHZ BCLK__BUS_CLK__MHZ  y para el PSoC 4: CYDEV_BLCK__HFCLK__HZ CYDEV_BLCK__HFCLK__KHZ CYDEV_BLCK__HFCLK__MHZ  CYDEV_BLCK__SYSCLK__HZ CYDEV_BLCK__SYSCLK__KHZ CYDEV_BLCK__SYSCLK__MHZ Vamos a hacer el mismo ejemplo para cada familia de PSoC, el tipico led que parpadea. PSoC 4 Comenzamos con el PSoC 4, con la tarjeta CY8CKIT-042. Esta tarjeta tiene un LED RGB, el LED rojo en el pin P1[6], el LED azul en el P0[3] y el LED verde en P0[2], hay que recordar que estos pines encienden con un cero logico. Comenzamos creando un nuevo proyecto para la CY8CKIT-042, luego un Workspace y proyecto nuevo, yo nombrare el Workspace como SysTick_test y al proyecto lo nombrare SysTick_4. Colocamos en el esquematico dos pines de salida digital, los ocuparemos para mane...

Administrando los recursos analógos (PSoC5LP)

Imagen
Seguimos con el proyecto, esta vez tratando de mejorar el ruteo de los pines analógicos. Como siempre, Cypress nos ofrece una buena AppNote referente al tema de Selección de pines para diseños analógicos. Podemos ver en el AppNote un ejemplo muy similar al nuestro, donde rutean 4 entradas analógicas con un AMux hacia la entrada de un SAR ADC: Los pines seleccionados son P4[0], P4[1], P4[2] y P4[3], si abrimos el Analog Editor podemos ver que estos pines ocupan los Analog Globals: AGL[4], AGL[5], AGL[6] y AGL[7]. La asignación de dichos pines no es optima, vemos que se ocupan demaciados AG y no podremos rutear otras señales por estos paths usando dichos AG. ¿Qué podemos hacer para mejorar el ruteo? En la página 3 del AppNote podemos ver en totalidad el diagrama analógico interno del PSoC 5LP, y nos percatamos de lo siguiente: Los GPIO 2[0], 2[4], 0[0] y 0[4] comparten un solo AG (AGL[4]) entonces si asignamos dichos pines como entradas para nuestro AMux solo...

PSoC Creator Analog Design Videos

Imagen

PSoC5LP Usando el SAR ADC y la señal EoS para manejar una LUT

Imagen
En esta ocación añadi el LUT ya que nunca habia trabajado con el, sin embargo es fácil de usar, no tiene configuración por software, la configuración por hardware quedo de la siguiente manera: La LUT tiene dos entradas y dos salidas, cuando en la entrada in0 e in1 hay dos ceros logicos obtenemos en la salida out0 un uno lógico y en out1 otro uno lógico, etc., es decir, cambie el orden de escaneo, comenzando por el canal 3 del AMuxHw y descendiendo hasta el canal 0, pero pudo haber sido cualquier otro orden. El esquematico final quedo de la siguiente manera: Y el main quedo igual que el post pasado, solo configuramos el ADC: /* ======================================== * * PoC: Driving Multiple ADC inputs with no * SW involved. * * ======================================== */ #include int main() { CyGlobalIntEnable; /* Enable global interrupts. */ ADC_Start(); for(;;) { /* Place your application code here. */ } } Las capturas del analizador ...

PoC - Controlar un AMux con la señal EoS del SAR ADC PSoC5LP

Imagen
El proposito de este proyecto es controlar las entradas del AMuxHw empleando solamente señales generadas por el hardware interno del PSoC5LP. En este caso lo hice usando una señal que veo poco en los foros de Cypress, es el EoS (End of Sample), cuando esta señal presenta un flanco de subida nos indica que el canal del ADC fue sampleado, pero ¿Por que no usar la señal EoC (End of Convertion)?, como su nombre lo indica, el EoC presenta un flanco de subida cuando la conversion fue terminada, es decir el valor analogo presente en el pin del ADC fue convertido a su valor binario equivalente. Entonces ¿Por que usar el EoS?, como ya vimos la señal EoS presenta un flanco de subida cuando termino el sampleo del canal del ADC, es decir, la diferencia entre la señal EoC y EoS es el tiempo que tarda el ADC en la conversión de analogo a binario, con esto en mente, podemos cambiar la entrada del AMuxHw tenemos la señal EoS, esta entra a trabajar funcionando como clock para un BasicCounter q...

¿Como conectar un bus en PSoC Creator?

Imagen
Habia tenido problemas conectando unos pines a un bus, aqui la solución:

PSoC Creator external components

Imagen
Estoy haciendo componentes externos para usarlos en el esquematico de mis proyectos en PSoC Creator, los estaré subiendo en esta repo de GitHub: PSoC_Creator_External_Components. I'm making external components for use it on my PSoC Creator project's schematics, i will upload them on this GitHub repository: PSoC_Creator_External_Components. El primer componente fue un MPU6050, si quieres que haga algun modulo o componente hazmelo saber en los comentario, las instrucciones para añadir el componente a tu proyecto estan en el README del repo. The first component was a MPU6050, if you need help making one external component or module symbol let me know on the comments below, instructions for add the component to your project are in the repository README file. Acá la imagen del componente MPU6050: / Here´s the MPU6050 component image: