Nios® II ネットワーク・タイム・プロトコル・クライアント

お勧めの用途:

  • デバイス: Cyclone® III

  • Quartus®: バージョン 9.1

author-image

投稿者:

ネットワーク・タイム・プロトコル (NTP) クライアントのデザイン例では、伝送制御プロトコル / インターネット・プロトコル (TCP/IP) の業界標準であるソケット・インターフェースを使用したユーザー・データグラム・プロトコル (UDP) クライアントを紹介します。これは、シンプル・ネットワーク・タイム・プロトコル (SNTP) クライアント (RFC2030) の最小限の実装です。このデザイン例は、Nios® IIプロセッサー上で動作する NicheStack デザインの良い出発点となります。

デザイン例では、LCD ディスプレイに現在の UTC 時間を表示します。起動時には LCD にエポックタイムが表示されます。現在の時刻を取得すると、システム時刻が設定され、LCD に現在の時刻が表示されます。定期的に、クライアントは NTP サーバーに現在の時刻を求めるリクエストを送信します。

このデザイン例の使用

Nios II エンベデッド・デザイン・スイート (EDS) バージョン 9.1 以降がインストールされていることを確認します。NTP Client design example をダウンロードし、zip ファイルを <NiosEDS>/examples/software/ 以下のディレクトリ (例えば、<NiosEDS>/examples/software/ntp_client) に解凍します。このディレクトリにインストールすると、デザイン例を Nios II Software Build Tools for Eclipse のプロジェクト・テンプレートとして利用できます。NTP クライアントのデザイン例には、サポートされているターゲット・ハードウェア構成でこのデザイン例を実行するために必要なプロジェクト設定が含まれています。NTP クライアントのデザイン例を使用するには、Nios II Software Build Tools for Eclipse の「Template」から新しい Nios II アプリケーションと BSP を作成し、NTP プロジェクトのテンプレートを選択するだけです。

このデザインの使用には、インテル® デザイン例ライセンス契約の条件が適用されます。

ハードウェア要件

NTP クライアントのデザイン例では、対象のハードウェア・デザインに以下のデバイスが存在する必要があります。

  • イーサネット MAC
  • JTAG UART
  • タイマー
  • LCD 文字表示 (オプション)

ホストマシンの要件

このデザインの実行に使用する Nios II 開発ボードが、NTP サーバーにアクセスできる必要があります。NTP サーバーは、ネットワーク上のサーバーに接続するのでも、NTP サーバー・ソフトウェアが動作しているホストマシンにクロスオーバー・ケーブルを使って直接接続するのでもかまいません。直接接続を使用する場合、NTP サーバーは Nios II 開発ボードと同じサブネット上にある必要があります。利用可能な NTP サーバーがない場合は、フリーウェア版の NTP ソフトウェア・パッケージを http://sourceforge.net/projects/nettime または http://www.ntp.org/links.html からダウンロードできます。

NTP クライアントは、DHCP を使って IP アドレスの取得を試みます。利用可能な DHCP サーバーがない場合は、ntp_client.h で静的 IP アドレス、ゲートウェイ、サブネットマスクを設定し、再コンパイルする必要があります。