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.

CC2652R: Sensor Controller Studio does not detects high inputs when pulse time is small

Part Number: CC2652R
Other Parts Discussed in Thread: ADS1234

Hi,

I am new to the platform and I'm using ads1234 analog to digital converter to interface load cell with CC2652R1 Launchpad. To achieve this task, I am using Sensor Controller Studio. When I am taking output readings, Sensor Controller does not detect all the high inputs as high, unless several high inputs released at the same time from ads 1234.

Following are the input values to microcontroller released from ads 1234, detected from logic analyzer.

Following picture shows how Sensor controller studio detects the those inputs.

  

As shown in the figure, pulses with small timespan are not detected by Sensor Controller Studio. Non of the data ready signals were detected.

Note - the typical timespan of a data ready signal is  36us.

Following code is the initialization code

gpioClearOutput(1);
gpioClearOutput(2);


gpioClearOutput(24);
fwDelayUs(16);
gpioSetOutput(24);
fwDelayUs(30);
gpioClearOutput(24);
fwDelayUs(30);
gpioSetOutput(24);

Following code is the execution code

gpioGetInputValue(4; output.dataForDecode);
fwDelayUs(40);

for (U16 n = 0; n < 24; n++) {
    

    gpioSetOutput(14);
    fwDelayUs(1);
    
    gpioClearOutput(14);
    fwDelayUs(1);
    
    
   
}

There is no termination code

Please help me out with this problem to detect pulses with small timespan which are around 36us or less. 

  • Hi Janidu,

    Please review the Sensor Controller Studio documentation.  Execution code is triggered by each tick from AON_RTC, which occurs approximately every 30 us.  However, the time to carry out this code itself is a minimum of 88 us: 40 us for the initial delay, and 48 us for 2 us during each 24 iterations of the for loop.  You need to remove these delays from your execution code, consider using Event Handler code (by triggering on GPIO state matching), or use the main CPU for this application.

    Regards,
    Ryan