ST意法半导体
直播中

敷衍作笑谈

10年用户 1023经验值
擅长:制造/封装 连接器 光电显示 接口/总线/驱动 RF/无线
私信 关注
[问答]

如何解释SDADC_GetInjectedConversionValue() 在将ADC输入接地的情况下返回0x8000?

你好。
参考 AN4207(Doc ID 023945 Rev 1)单端零参考模式(第 9 页):
该模式向 ADC 注入半刻度的输入共模,从而保持与差分模式相同的动态范围(-32767 至 +32767)。在这种模式下,注入的共模取决于增益变化。
公式为:Vin = SDADCx_AINyP = (ReadData + 32767) * Vref/(gain x 65535)
我怀疑这是一个错误。应该有 -32768 (0x8000) 而不是 -32767 (0x8001)。
并且该公式应将偏移量 32768 应用于 ReadData。
或者如何解释 SDADC_GetinjectedConversionValue() 在将 ADC 输入接地的情况下返回 0x8000?






回帖(1)

况冶

2023-1-9 11:46:23
你是对的。注入值应对应于满量程负负值:-32768 (0x8000)。因为这应该是此单端零参考模式中最终结果的最小值,对应于 SDADC 输入的零模拟电压。
  正确的公式是:
Vin = SDADCx_AINyP = (ReadData + 32768) * Vref/(增益 x 65535)
举报

更多回帖

发帖
×
20
完善资料,
赚取积分