1. 株式会社PALTEK
  2. TECHブログ
  3. 技術情報
  4. 【MPSoC応用例】ファン回転速度の検出&回転速度の制御

TECHブログ

【MPSoC応用例】ファン回転速度の検出&回転速度の制御

【MPSoC応用例】ファン回転速度の検出&回転速度の制御

今回はファン回転速度の検出および回転速度の制御回路を紹介したいと思います。
前提条件は回転速度検出および制御可能なファンを使っていること(4端子)です。
それでは始めましょう。

目次

背景

使っている基板のファンがいつも最大速度で回すと音がうるさいので、回転速度の検出回路と回転速度の制御回路を作成しました。

方法

回転速度検出

周波数カウンター回路を利用し、ファンの回線速度出力信号の幅を測定することにより、回転速度を算出します。

回転速度制御

AXI Timerを利用し、ファン速度制御のPWN信号を生成します。

回路構成

MPSoCから制御できる回路を以下のように構築します。

出典:Vivado® ML Edition

Hier_fan_sensの内部構成

出典:Vivado® ML Edition

ファン速度制御のPWN信号を生成するAXI Timerの設定と内部構成

出典:Vivado® ML Edition

アドレスMAP

出典:Vivado® ML Edition



出典: AMD AXI Timer v2.0 Product Guide (PG079)



出典: AMD AXI Timer v2.0 Product Guide (PG079)



出典: AMD AXI Timer v2.0 Product Guide (PG079)



上記の回路構成では、モジュールsel_a0_b1_0とFAN_SENS以外はVivado®に標準搭載されているIPになります。

EXAMPLEデザイン

EXAMPLEデザインについては以下よりダウンロードいただけます。

おわりに

今回はAXI TimerのPWM機能を利用するため、以下のレジスタのcounter0でPWMの周期を設定し、counter1でPWMの幅を設定しました。
ソフトの制御でもちろん動作可能ですが、以下のようにレジスタを設定するだけでも、PWMの制御は可能ですので、手軽でテストしたいときにご参照ください。

出典:シリアルコンソール画面


いかがでしたでしょうか。
このようにVivado®2020.2のZynq® UltraScale+ MPSoC  BASEのファン回転速度検出&制御用デザインが作成できました。次回からは制御ソフトのサンプリングプログラムを紹介したいと思います。


弊社ではFPGA設計や回路図設計、レイアウト設計、ソフトウェア設計、筐体設計などを受託開発しています。
サービス内容をWEBサイトに掲載していますので、ぜひご覧ください。

設計受託・ODMの概要については
こちら

FPGAの活用に際して設計検討などありましたら、お気軽にお問い合わせください。

FPGAの活用・設計検討の
お問い合わせはこちら