Onchip temp sensor (温度センサー)関連のAHI関数と解説
TWENETライブラリ、Onchip temp sensor (温度センサー)関連のAHI関数と解説
Onchip temp sensor (温度センサー)
TWELITE GOLDでは、内部チップ中に温度センサーが実装されています。このセンサー値は、無線MAC層の初期化のパラメータとして用いられます。
MAC層の初期化時の温度センサーの取り扱い
- 温度センサーの値が取得できない場合は20℃として初期化します。
- スリープ復帰時に
G_TWENET_CHIPSENSOR_ADC_INTERVAL_MS()
ミリ秒以上経過している場合は、スリープ起床時(RAM保持)に再度温度計測を行い、センサー値をもとにMACの再初期化を行う。
グローバル変数
uint8 G_TWENET_CHIPSENSOR_AUTO_ON_BOOT()
// 変数アクセス用のマクロ
温度センサーの取得を自動で行うための設定用変数。cbAppColdStart(FALSE)
中で設定する。
設定値 | 内容 | 備考 |
---|---|---|
0 | 温度センサーの取得を自動で行わない。 | MAC層の温度補正は固定値 (20℃で行う) |
1 | 温度センサーの取得を自動で行う。 |
uint8_t G_TWENET_CHIPSENSOR_ADC_TIMES_SCALER()
// 変数アクセス用のマクロ
温度センサーのADC回数に対応するスケーラー値を指定します。
設定値 | ADC回数 |
---|---|
0 | 1 |
1 | 2 |
2 | 4 |
3 | 8 |
int32 G_TWENET_CHIPSENSOR_TEMP128TH()
// 変数アクセス用のマクロ
TWENETライブラリ内で計測されたチップセンサーの温度(℃ の128倍値)が格納される。
int16 g_twenet_chipsensor_volt_on_boot;
TWENETライブラリ内で計測された電圧値[mV]。温度センサー計測時に同時に計測された値が格納される。
uint32 G_TWENET_CHIPSENSOR_ADC_INTERVAL_MS()
= (10*60*1000ul)
// 変数アクセス用のマクロ
この変数で指定された期間内は温度センサーの取得を省略する。cbAppColdStart(FALSE)
中で設定する。
uint8 g_twemet_chipsensor_capture_this_time;
ブート時に温度測定を行うか否かを判定した内部フラグ。
bAHI_AdcTemp_Measure_MW()
bool_t bAHI_AdcTemp_Measure_MW(
int32 *i32temp_128th,
int16 *i16volt_mv,
uint8 adc_times_scaler,
bool_t bTurnOnSensor)
温度センサーの計測を行います。
i32temp_128th
は温度計測結果を返すint32
がたの変数へのポインタ。i16volt_mv
は同時に計測される電源電圧[mV]値。adc_times_scaler
は温度センサーのADC回数に対応するスケーラー値を指定します。設定値はG_TWENET_CHIPSENSOR_ADC_TIMES_SCALER()
の解説を参照してください。bTurnOnSensor
はTRUE
を設定すると、関数呼び出し内で温度センサーの電源を投入し必要な待ち処理を行います。FALSE
を指定した場合は、事前にvAHI_AdcTemp_TurnOn_MW()
を行い必要な待ち時間を経過している必要があります。
vAHI_AdcTemp_TurnOn_MW()
void vAHI_AdcTemp_TurnOn_MW()
温度センサーの電源を投入する。この呼び出し後 100μ秒 の待ち時間が必要です。
uint32 u32AHI_AdcTemp_GetCaptTick_MW()
uint32 u32AHI_AdcTemp_GetCaptTick_MW()
最後に温度センサー値を取得した FRWT 時刻を32KHzカウント値で返す。
uint32 u32AHI_AdcTemp_GetCaptTick_msec_MW()
uint32 u32AHI_AdcTemp_GetCaptTick_msec_MW()
最後に温度センサー値を取得した FRWT 時刻をミリ秒で返す。
u32AHI_AdcTemp_ElapsedFromCapt_msec_MW(), u32AHI_AdcTemp_TickrefFromCapt_msec_MW()
uint32 u32AHI_AdcTemp_ElapsedFromCapt_msec_MW()
uint32 u32AHI_AdcTemp_TickrefFromCapt_msec_MW(uint32 tick_ref)
最後に温度計測してからの経過時間をミリ秒で返す。