Entradas

Mostrando las entradas de enero, 2016

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 manejar los LEDs r

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