Post Go back to editing

How to change AD5940's sampling frequency

Thread Summary

The user is trying to increase the sampling frequency to 1000Hz for 4-wire BIA measurements on the AD5940 board. The final answer suggests changing the ADC filter configuration parameters (DftNum, ADCSinc2Osr, ADCSinc3Osr) in the BIOZ-2Wire.c file. However, the user notes that changing these values affects data accuracy. The solution involves finding the optimal values for these parameters to achieve the desired sampling rate while maintaining accuracy.
AI Generated Content

I change BiaODR  value, but  the sampling frequency w does not change as this.So I would like to ask how to change the sampling frequency in the 4-wire BIA measurement, because I need a sampling frequency of 1000hz.thanks.

Parents
  • Hi,

      With the default AFE configuration, max allowed ODR is 10Hz. 

    For ODR more than this, ADC filter parameters must be changed.

    If you are running the code through IDE (Keil or IAR), you may add the below code ) inside AppBIASeqMeasureGen () and add to watch “AppBIACfg.MaxODR”, to know the maximum sampling rate allowed for the set configuration.

      AppBIACfg.MeasSeqCycleCount = AD5940_SEQCycleTime();

      AppBIACfg.MaxODR = 1/((( AppBIACfg.MeasSeqCycleCount + 10) / 16.0)* 1E-6)  ; //If Sysclk is16MHz

      if(AppBIACfg.BiaODR > AppBiaCfg.MaxODR)

      {

      /* We have requested a sampling rate that cannot be achieved with the time it takes to acquire a sample.*/

    AppBIACfg.BiaODR = AppBIACfg.MaxODR;

      }

Reply
  • Hi,

      With the default AFE configuration, max allowed ODR is 10Hz. 

    For ODR more than this, ADC filter parameters must be changed.

    If you are running the code through IDE (Keil or IAR), you may add the below code ) inside AppBIASeqMeasureGen () and add to watch “AppBIACfg.MaxODR”, to know the maximum sampling rate allowed for the set configuration.

      AppBIACfg.MeasSeqCycleCount = AD5940_SEQCycleTime();

      AppBIACfg.MaxODR = 1/((( AppBIACfg.MeasSeqCycleCount + 10) / 16.0)* 1E-6)  ; //If Sysclk is16MHz

      if(AppBIACfg.BiaODR > AppBiaCfg.MaxODR)

      {

      /* We have requested a sampling rate that cannot be achieved with the time it takes to acquire a sample.*/

    AppBIACfg.BiaODR = AppBIACfg.MaxODR;

      }

Children