Author Topic: Stm32H743 adc correction factor.  (Read 1375 times)

0 Members and 1 Guest are viewing this topic.

Offline MasterTTopic starter

  • Frequent Contributor
  • **
  • !
  • Posts: 851
  • Country: ca
Stm32H743 adc correction factor.
« on: December 15, 2019, 07:16:06 pm »
Internal 16-bits ADC has 160-bits calibration /correction linearity factor.
   Linear[]:   0x1F87EDFD   0x201805FD   0x20082DF6   0x1FF7F1FE   0x1F97F1FC   0x00000205   

Any tips on how to decipher this value? I see, build-in utility updates this value each time I re-calibrate an adc, but linearity error still persist, not much - about 10 lsb. My thoughts, "manually" tweak this bits till I get appropriate results.
Is 160 segmented value? What size could be, 16 x 10 bits? 
 

Offline iMo

  • Super Contributor
  • ***
  • Posts: 5745
  • Country: li
Re: Stm32H743 adc correction factor.
« Reply #1 on: December 15, 2019, 07:53:21 pm »
RM0433 Rev 6 page 994/3289
Readers discretion is advised..
 

Offline MasterTTopic starter

  • Frequent Contributor
  • **
  • !
  • Posts: 851
  • Country: ca
Re: Stm32H743 adc correction factor.
« Reply #2 on: December 15, 2019, 08:42:33 pm »
RM0433 Rev 6 page 994/3289
And page 1024,  plus, undocumented in RM 6 factory encoded values:
#define ADC_LINEAR_CALIB_REG_1_ADDR ((uint32_t*) (0x1FF1EC00UL))
#define ADC_LINEAR_CALIB_REG_2_ADDR ((uint32_t*) (0x1FF1EC04UL))
#define ADC_LINEAR_CALIB_REG_3_ADDR ((uint32_t*) (0x1FF1EC08UL))
#define ADC_LINEAR_CALIB_REG_4_ADDR ((uint32_t*) (0x1FF1EC0CUL))
#define ADC_LINEAR_CALIB_REG_5_ADDR ((uint32_t*) (0x1FF1EC10UL))
#define ADC_LINEAR_CALIB_REG_6_ADDR ((uint32_t*) (0x1FF1EC14UL))

that doesn't explain mechanic behind the stage.
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf