Nios® Vプロセッサー・ソフトウェア開発者ハンドブック

ID 743810
日付 10/31/2022
Public

このドキュメントの新しいバージョンが利用できます。お客様は次のことを行ってください。 こちらをクリック 最新バージョンに移行する。

ドキュメント目次

3.4.3.1.2. タイムスタンプ・タイマー

タイムスタンプ・タイマー サービスは、システム内のイベントの期間を正確に測定する方法をアプリケーションに提供します。 Nios® Vプロセッサー・ブシステムのデフォルトのタイムスタンプ・タイマーは、 Nios® Vプロセッサーの組み込み内部カウンタです。代わりに、システム・クロック・タイマーをプラットフォーム・デザイナーのシステム内の他のタイマー・ペリフェラルに設定することもできます。

注: BSP ライブラリー・ファイルで識別できるタイムスタンプ・タイマーのサービスは 1 つだけです。HAL 提供のルーチンのみがタイマーにアクセスします。

hal.timestamp_timer設定は、タイマーの BSP コンフィグレーションを制御します。この設定は、Platform Designer デザインで使用可能なタイマーの 1 つをタイムスタンプ・タイマーとしてコンフィグレーションします。

インテルはタイムスタンプ API を提供します。 タイムスタンプ API は非常にシンプルです。これには、タイマーを動作可能にするalt_timestamp_start() 関数と、現在のタイマー カウントを返すalt_timestamp()関数が含まれます。

タイムスタンプ・タイマーを実装する前に、以下の一般的な問題と重要な点を考えてください。

  • Timer Frequency—タイムスタンプ・タイマーは、SOPC Builderシステムに供給されるクロックのクロック・レートを減分します。
  • Rollover—タイムスタンプ・タイマーにロールオーバー・イベントがありません。alt_timestamp() 関数が値 0 を返す場合、タイマーが切れています。
  • Maximum Time—デフォルトの Nios® V プロセッサーの内部タイマーには、タイマー値を格納するために使用できる 64 ビットがあります。 Avalon タイマー・ペリフェラルの場合、パラメーター化に応じて 32 ビットまたは 64 ビットになります。したがって、タイムスタンプ・タイマーがカウントできる最大期間は[(1/timer frequency) × 2bits_value]秒です。(bits_value = 32 または 64)