This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

C5505 with ADS1298 connection

Other Parts Discussed in Thread: ADS1298

Hello,
On our hardware there is a following connection: DRDY signal from ADS1298 is connected to GPIO_26 pin of the C5505 DSP (on the ECG development board this signal is connected to INT1 pin). I setup the interrupt to be on the pin GPIO26 on the falling edge. ADS is setup to work on a frequency of 500 sps.
With this setup I get only a couple of interrupts every second. Sometimes even not that much. The data looks valid, but the frequency of the interrupts is the problematic part.
Can somebody from TI's support take a look at this issue and provide us with some ideas on how to proceed. Are there some limitations of the frequency of interrupts on GPIO port in comparison with INT1 pin?
I'm using the exaclty same example software provided from TI as on a ECG development board.. There everything works properly, on our board the only difference is that the interrupt signal has been moved to different pin on a DSP. This is how I initialize the GPIO interrupt:
/* Open GPIO module */
    hGpio = GPIO_open(&gpioObj, &status);
    if((NULL == hGpio) || (CSL_SOK != status))
    {
        printf("GPIO_open failed\n");
        return;
    }
else
{
printf("GPIO_open Successful\n");
}
    config.pinNum = CSL_GPIO_PIN26;
    config.direction = CSL_GPIO_DIR_INPUT;
    config.trigger  = CSL_GPIO_TRIG_FALLING_EDGE;
    GPIO_configBit (hGpio, &config);
    GPIO_enableInt(hGpio, CSL_GPIO_PIN26);   // Set pin 26 as interrupt source
IRQ_plug(GPIO_EVENT, &int1_isr);
IRQ_enable(GPIO_EVENT);
IRQ_globalEnable();
Thank you for any suggestions.

  • Hello KungFu Master,

    Are you really a KungFu Master? It will be awesome! :-).

    There is no limitations of the frequency of interrupts on GPIO port in comparison with INT1 pin. However, things can be different based on how you implement it.

    The DRDY signal is a critical signal to the ECG system, so I strongly remcommand keep it to the INT1. Since GPIO is an aggregated interrupt, you have to manually clear its interrupt flag in the GPIO interrupt flag register (0x1C11) to be able to get the next interrupt. If you use other GPIO pins as interrupt sources, your program could service the DRDY interrupt not in time and worst case miss it due to the delay of servicing it.

    If you have to move the DRDY interrupt to the GPIO26, then please post your isr code so that I can take a look at it. Also, I need to know if you have any other GPIO interrupts and how you access those.

    Best Regards,

    Peter Chung