JAJAA75 October 2025 AM62L , AM62P , AM67 , AM68 , AM69 , TDA4VM
前のセクションでは、各 VTM が最大 8 つの温度センサを制御でき、VTM レジスタが温度センサからデータをキャプチャしてレジスタに保存できることについて説明しました。このレジスタの名前は、WKUP_VTM_TMPSENS_STAT_j[9-0] DATA_OUT です。温度値は、対応するレジスタに 10 ビットのバイナリ数として保存されます。表 1-2に、いくつかの典型的な実際の温度値と、それに対応する 10 ビット温度値を示します。
| 実際の温度 | -40 | -25 | 0 | 25 | 50 | 75 | 100 | 105 | 125 | 150 |
|---|---|---|---|---|---|---|---|---|---|---|
| 10 ビット Dec | 28 | 77 | 164 | 260 | 366 | 485 | 620 | 648 | 773 | 949 |
| 10 ビット Hex | 01C | 04D | 0A4 | 104 | 16E | 1E5 | 26C | 288 | 305 | 3B5 |
前述の表参照方法は、読み取った値と実際の温度値との大まかな対応関係を示すことができます。この方法は、レジスタに保存されている温度データと実際の温度値との変換にも適用できます。この表参照方法では、概算の温度範囲しか提供されませんが、正確な温度値を得るには、次の式を使用して計算する必要があります。
上記の式を Python スクリプトでプロットすると、次のような図が生成されます。これは、ほぼ単調増加関数です。このスクリプトは、SOC から読み取ったレジスタ値を入力し、実行後に、対応する正確な温度値を自動的に計算され、注釈が付けられます。スクリプトはこちらからダウンロードできます。
図 1-3 レジスタ値と実際の値の計算式図これにより、対応する実際の温度を正確に計算できるため、システム温度保護ロジックの変更がより容易になります。例えば、WKUP_VTM_MISC_CTRL2[25-16] MAXT_OUTRG_ALERT_THR0 と WKUP_VTM_MISC_CTRL2[9-0] MAXT_OUTRG_ALERT_THR を変更することで、SOC の最大温度保護のスレッショルドを変更できます。
テキサス インスツルメンツが提供するデフォルトの Linux ソフトウェアでは、オンチップ温度センサの値を読み取るための対応するインターフェイスとコマンドが用意されています。使用されるコマンドは類似しています。例えば、AM62A 評価基板では、以下のコマンドを使用して 3 つの温度センサーの値を読み取ることができます。すべての温度センサの値はミリ摂氏単位で読み取られ、結果は次のように表示されます。センサ 1、センサ 2、センサ 3 の温度はそれぞれ 45.2℃、38.7℃、38.9℃です。センサの位置の違いにより、測定温度は変動する可能性があり、平均値から ±5℃ の偏差が生じます。この範囲は、対応する SOC の最新データシートで定義されています。
root@am62axx-evm:/opt/edgeai-gst-apps# cat /sys/class/thermal/thermal_zone*/temp
43209
38749
38983