🎃
Kria KV260 fanコントロール
概要
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ピン)に繋ぐだけでよいようです。
要するに
こんな風になればよいわけです。
なのでまず 下記のように ZynqMP コアの TTC0 の Waveout を EMIO に設定し、
出てきた端子の bit2 を取り出せばOKです。
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
とする手がありそうです。
こちらに少し詳しく解説しております。
Discussion