🎃

Kria KV260 fanコントロール

2022/12/08に公開

概要

Kria-K260 (多分 KR260も同じ) には PL から FAN を制御する配線があります。

私は当初 認定Ubuntuから Ubuntu 20.04 をインストールしていて FAN全開で「うるさいなぁ」と思いながら使っていたのですが、先日、Firmware をアップデートして Ubuntu 22.04 をインストールしたらなんとファンが適応制御されて超静かではないですか。びっくりです。

そしてさらに DeviceTree Overlay での、PLへの bitstream ダウンロードがうまくいかなくなっていました。
結論から言うと、Ubuntu 起動時に先に FAN を制御する回路が PL へ DeviceTree Overlay で書かれてしまう為だったのですが、この件もまとめて、PL にファン制御を組み込んで幸せになりましょう。

FAN制御できるPLの作り方

こちらに情報があり、どうやら ZynqMP の TTC0-Clk2 を HDA20(A12ピン)に繋ぐだけでよいようです。

要するに

picture 3

こんな風になればよいわけです。

なのでまず 下記のように ZynqMP コアの TTC0 の Waveout を EMIO に設定し、

picture 1

出てきた端子の bit2 を取り出せばOKです。

picture 2

xdc ファイルは下記のような感じになります。

set_property PACKAGE_PIN A12 [get_ports fan_en]
set_property IOSTANDARD LVCMOS33 [get_ports fan_en]

(余談)起動にファン制御しているPLイメージのアンロード

Ubuntu 22.04 起動時に動いている回路があると、自分で作った別の回路を DeviceTree overlay などで書き込むことが出来ません。

そういう場合は

sudo xmutil unloadapp

とすれば、アンロードできるようで、再びロードするには

sudo xmutil loadapp k26-starter-kits

とすればいいようです。

もうすこし乱暴な方法としては

sudo rmdir /configfs/device-tree/overlays/k26-starter-kits_image_1

とする手がありそうです。

こちらに少し詳しく解説しております。

GitHubで編集を提案

Discussion