FPGAの内蔵温度センサーから値を得る:MAX 10 FPGAで学ぶFPGA開発入門(13)(3/6 ページ)
アルテラのFPGA「MAX 10」には温度センサーが内蔵されており、自身の温度を測定可能だ。メガファンクション「ALTPLL」を使い、内蔵センサーからの値を得るまでを試みる。
ALTPLLの利用
- 各コンポーネント同士を接続し、また“System” → “Assign Base Address”を行ってアドレス重複を解消する。
- ここまで終了したら、“TEMP_LED2_QSYS”という名前を付けて保存し、その後にGenerate HDLを行って終了する
- Quartus IIに戻り、TEMP_LED2_QSYS/synthesisの下にあるTEMP_LED2_QSYS.qipをプロジェクトに追加
- TEMP_LED2.vを編集……の前に、もう1つ追加するものがある。
前回のList1を見てもらうと分かるのだが、TerasicのSystem Builderを使うと無条件で50MHzのClock信号(MAX10_CLK1_50 / MAX10_CLK2_50 / MAX10_CLK3_50)と、それとは別にADC用に10MHzのクロック信号(ADC_CLK_10)が用意される。
MAX 10のADCは10/20/40/80MHzのクロック信号入力が想定されており、CPUの50MHz信号をそのまま入れることは不可能。そこで、このADC_CLK_10をそのまま利用しようと思ったのだが、これがうまくうかない。そもそもTerasicのサイトを見ても、このADC_CLK_10の使い方が良く分からないありさまである。そこで素直に50MHzの信号から10MHzのクロック信号を生成することにした。
Photo07:一覧が1画面で入りきらなかったので、抜き出して表示。一応ADCからCPUに割り込みを掛けられるようにIRQも接続している(これを接続しなくてもGenerate HDLはできるもが、Warningが出るので)
このために利用できるのが、Alteraが提供するMegaFunctionの1つである「ALTPLL」である。
ということで、これを追加して利用できるようにする。
まずQuartus IIのIP Catalogから“Installed IP” → “Basic Functions” → “Clocks; PLL and Resets” → “PLL” → “ALTPLL”を選択する(Photo08)。するとファイル名の入力になるので、適当な名前を入れる(Photo09)。
Photo08:下のログに、ADC_CLK_10をADC Clockとして接続した場合のエラーが見えている。そもそもMAX 10の上に10MHzのClock Sourceがある訳ではなさそうで、ではこれは何のためにあるのか、が謎
するとPlug-in Managerが立ち上がるので、まず入力クロックに50MHzを指定する(Photo10)。次の“Input/Lock”タブは、Lock Outputにチェックを入れておくだけでいい(Photo11)。その次の“Bandwidth/SS”タブでは、“Bandwidth Setting”を“High”にする(Photo12)。
その次の“Clock switchover”は無視して、上の“Output Clock”タブを選択、ここの“clk c0”で出力を10MHzに設定する(Photo13)。最後に“Summary”タブで確認してから「Finish」を押すと、qipファイルを生成したことが示されるので、これをプロジェクトに追加する。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- オンボードされた温湿度センサーからFPGAで値を得る
FPGA「MAX 10」搭載開発ボード「MAX 10 NEEK」には各周辺機器が備えられており、そこにはTI製の温湿度センサーも含まれる。サンプルプログラムを元に、オンボードされたデバイスの制御を試みる。 - 「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」を導入して、本格的な開発を目指す。