/      English

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回数
01
12
24
38
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()の解説を参照してください。
  • bTurnOnSensorTRUEを設定すると、関数呼び出し内で温度センサーの電源を投入し必要な待ち処理を行います。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)

最後に温度計測してからの経過時間をミリ秒で返す。