連載
オンボードされた温湿度センサーからFPGAで値を得る:MAX 10 FPGAで学ぶFPGA開発入門(12)(2/7 ページ)
FPGA「MAX 10」搭載開発ボード「MAX 10 NEEK」には各周辺機器が備えられており、そこにはTI製の温湿度センサーも含まれる。サンプルプログラムを元に、オンボードされたデバイスの制御を試みる。
サンプルスケッチを元にした温湿度センサーの使い方
まずおなじみSystem Builder(Photo04)であるが、前回の設定に加えてHumidity Sensorにチェックを入れておく。これで生成されたファイルをプロジェクトディレクトリに移動してから、Quartus II(今回も15.0を利用)を起動して、プロジェクトファイルを開く(Photo05)。
Photo05:初期状態。前回の初期状態(「List 1」)に比べると、HDC1000の接続用にI2Cの信号腺(SCL/SDA)とDRDYn(Data Ready)の合計3本の信号が追加されているのが分かる
手順としてはこの後
- (1) QSYSを起動し、Processor、Serial JTAG、On Chip Memory、PIO(LEDR/HEX0/HEX1/KEY)を追加する。ここの手順は前回とまったく同じである(というか、同じにした)ので説明は割愛する。
- (2) さらにHDC1000用に1bitのPIOを3つ追加する(Photo06)。ちなみにPIOの設定は以下のようになる。
名称 | Width | Direction | Export名 |
---|---|---|---|
RH_TEMP_I2C_SCL | 1bit | Output | rh_temp_i2c_scl_pio |
RH_TEMP_I2C_SDA | 1bit | Bidir | rh_temp_i2c_sda_pio |
RH_TEMP_DRDY_N | 1bit | Input | rh_temp_i2c_drdy_n_pio |
その他の設定はデフォルトのままだ。名称はSystem Builderの生成したソースに合わせたものである。また全てのピンはexternal connectionを、上のExport名を入力して設定しておく。PIOを追加すると、またAddress Mapが変更になるので、もう一度
- (3) QSYSでファイル名を"TEMP_LED_QSYS.qsys"として保存。その後Generate HDLでHDLコードを生成して終了。
- (4) Quartus IIに戻り、生成されたqipファイル( synthesis/TEMP_LED_QSYS.qip )をプロジェクトに追加
- (5) TEMP_LED.vのソースを書き換え。List 1がSystem Builderでの生成ソース、List 2が書き換え後である。これも前回同様、TEMP_LED_QSYS.vの中で定義されているModule宣言にあわせてmoduleを呼び出すだけである。この際に、先ほどQSYSの画面で設定したExportされるピンにSystem Builderの定義したそれぞれのWireの定義をあわせてやる。
- (6) 変更が終ったらコンパイルし、エラーが出なければそのままProgrammerを経由して書き込んで(Photo08)、Quartus II側の作業は終了である。
ちなみに今回はそれほど時間にセンシティブではないということで、前回は組み込んだInterval Timerなどのタイマー系モジュールは使わない事にした。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- 「MAX 10 NEEK」でストップウォッチを開発し、内蔵メモリから起動する
アルテラのFPGA「MAX 10」を搭載した開発ボード「MAX 10 NEEK」にはLEDやフラッシュメモリなどの各周辺機器が備えられている。今回はLEDを使ったストップウォッチを開発し、内蔵メモリから起動する。 - 「MAX 10 NEEK」に搭載されたDDR3メモリを使う
MAX10搭載開発ボード「MAX 10 NEEK」には各周辺機器が備えられており、その中にはDDR3メモリも含まれる。ソフトコアCPU「Nios II」からの利用も含めて手順を紹介する。 - 「MAX 10 NEEK」へソフトコアCPUを組み込む
周辺機器の充実したMAX10搭載開発ボード「MAX 10 NEEK」に、ソフトコアCPU「NIOS II」を組み込み、ソフトコアCPUからボード搭載LEDの制御までを紹介する。 - 周辺機器の充実した「MAX 10 NEEK」で本格的な開発を目指す
FPGA開発において周辺機器(回路)は見落とせない要素の1つ。タッチパネルや各種出入力などを備えた「MAX 10 NEEK」を導入して、本格的な開発を目指す。 - FPGAのソフトコアCPUをベンチマークで測定する
FPGA「MAX10」に「NIOS II」と呼ばれるソフトIPコアを導入することで、ソフトコアCPUを構築できる。ではその処理能力はどれほどか。ベンチマークソフトで測定してみよう。