1758320_ja-JP

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

1758320_ja-JP

1758320_ja-JP

MC33771C ADC値(13/14ビット分解能)

Hello

MC33771C を使用してバッテリー セルを監視するプロジェクトがあります。

データシートには、ADC 解像度は ADC_CFG(0x06) レジスタによって 13 ~ 16 ビットにプログラムできると記載されています。

セル電圧レジスタ MEAS_xxxx(0x32~0x4A) は 15 ビットであり、ADC 解像度が変換時間とノイズに影響することはわかっています。

ADCの解像度を13ビットに変更してMEAS_xxxxの値を読み取ろうとします。MEAS_xxxx=0x2324、ADC 解像度を 15 ビットに設定するとほぼ同じ値が返されます。

それで、値が 0x2324/4 = 0x8C9 にならないのはなぜでしょうか?

この質問を理解するのを手伝ってください。ありがとうございます。


Re: MC33771C ADC value in 13/14 bit resolutionこんにちは、トーマス

早急なご返信ありがとうございます。

SO、解像度を 13 ビット、14 ビット、または 16 ビットに変更しても、結果は常に 15 ビットになるということですね?

解像度を 13 ビットに設定した場合、ADC の結果はどのようにして 15 ビットに拡張されるのでしょうか?
Re: MC33771C ADC value in 13/14 bit resolution

こんにちは、梁さん。

ADC1_A/B 変換値は、ADC_CFG で選択された解像度とは無関係です。

pastedImage_2.png

のために ADC1 CT/ANx の計算式は次のとおりです。
V = MEAS_XXX[14..0] * VCT_ANx_RES

疑似コード(1セルのみ):

レジスタ読み取り (MEAS_CELL1)
rawVoltage = MEAS_CELL1 & 0x7FFF // DATA_RDYビットを削除
電圧 = rawVoltage * VCT_ANx_RES / 1000000 // 電圧をV単位で計算/スケーリング

例:

VCT_ANx_RES = 152.58789 μV/LSB、MEAS_CELL1[15..0] = 0xDECDの場合
MEAS_CELL1[14..0] = 0x5ECD = 24269
V = 24269 * 152.58789 = 3703155 μV = 3.703155 V

解像度の影響は、実際には取得および変換時間のノイズにのみ影響します。

BR、トーマス

Tags (1)
No ratings
Version history
Last update:
‎02-04-2026 09:33 AM
Updated by: