Raspberry Pi 5
- 2023-09-29 初版
- 2024-01-29 第2版
- 2024-02-25 第3版 電源問題解決、Cライブラリ問題解決
- 2024-03-01 第4版 状況がわかりはじめた
はじめに
- 2023-09-28 Raspberry Pi 5発表。
- また技適番号を忘れていないことを祈る。
- これを忘れると半年遅れる。
- ※意図的に忘れている可能性あり。
- ※国際的な認証を受けてしまうと、代理店の意味が失われる。
- ※海外輸入しても問題ないからだ。
- ※さらに在庫調整のため、半年の時間猶予もある。
- ※RPI5の登場により、RPI4が売れなくなる。
- ※不良在庫にならないように半年間でRPI4の在庫を少なくする。
- 2024-01-11 技適取得 020-230329
- まだ総務省のページに反映されていない。
- メーカーによる番号の添付が済み次第、販売開始するものと思われる。
- 2023-02-13 販売開始、予想通り半年遅れとなった。
- 円安($1=\150)の影響かKSYで価格改定が行われている。秋月はRPI4とRPI5が同額。
- KSY 4GB:\10,450->\11,000、8GB:\14,080->\14,850
- 秋月 4GB:\12,800、8GB:\16,800
- マルツ 4GB:\11,990、8GB:\15,950
略語
- 正式な略語ではないが、欧米で使われている。SNS言葉ともいえる。
- LOL=laugh out loud, AKA=as known as
- そもそも正式な略語なんてないわけで、はやり言葉である。
- RPI = Raspberry Pi
- RPI5 = Raspberry Pi 5
- RPIではなくRPiも見かける。
著作権と免責事項
- 個人利用に限定され、著作権者の許可なく商用利用できません。
- 実は直接間接に関わらず、使用によって生じたいかなる損害も筆者は責任を負いません。
特徴
- 2.4GHz のクアッドコア Cortex-A76。筆者のパソコンの性能を超えた。
- メモリは4GBと8GB。
- 802.11ac
- UHS-Iの104MB/s(SDR104)に対応
- 電源スイッチとRTC追加
- PCIe追加
- オーディオ出力を廃止
- 管理用のUART端子を追加(地味だがサーバと同じ仕組み)
- サイズは変わらないが、LANとUSBの配置を変更。
- 価格は$60と$80。
- 専用ケースは$10。空冷設計になった。
- 最大消費電力は12W+8W=20W。25W USB-C を推奨。8W=5Vx1.6A(USBからの供給上限)
- サウス・ウェールズのSony UKで製造。
- 10月下旬から出荷。
- https://www.raspberrypi.com/news/introducing-raspberry-pi-5/
オーディオの代替策
- HDMIのオーディオ
- オーディオのHAT(DAC基板)
- USBオーディオ変換
- HDMIオーディオ変換
- Bluetoothオーディオ(A2DP)
- オーディオ出力の廃止は痛い。VLCの意味が失われる。
- Bluetoothでは音の遅延が発生する。
- Raspberry Pi OSのオーディオもPulseAudioからPipeWireに移行し、さらに階層化が進んだ。
- このためPulseAuidoやPipeWireを経由すると遅延を発生するようになった。落とし穴である。
- 直接ALSA接続すれば遅延はない。
- 映像と音のずれは致命的になる。
- 遅延を回避するためにはHDMIやオーディオHATを利用するしかない。もちろんPulseAudioを回避する。
- 他のHATを使っているとオーディオHATを追加できない。選択肢が狭い。
- オーディオ入力の使用頻度は低いので、不採用は理解できるが、オーディオ出力を残してほしかった。
USB 3A電源使用時
- /boot/firmware/config.txtに追記
- usb_max_current_enable=1
- 3A電源でもブートを許す。
- 5A専用のUSBケーブルも必要。3Aのケーブルと異なる。
- RPI5はUSB PDの機能を使ってネゴシエーション(交渉)し5A能力を確認する。単なる5Aのアダプタは使えない。
- RPI5のUSBから周辺機器に電源供給するとき、必要なら最大1.6Aまで上限を引き上げる。
- この上限電流を制限することにより、3A電源でも動作を許可する。
- ※従来USBの供給電流は500mAか900mA制限
- つまり、15W=5Vx3Aの電源アダプタでも使える。
- 特殊な外部装置でない限りUSBから1.6Aも供給することはないだろう。つまり3AのUSB電源アダプタ(USB PD)でも支障ない。
- 必ず、5AのUSB電源アダプタを使用しなければならないという制限ではない。推奨である。
- なお、2.4A+1.6A=4Aにもかかわらず、5Aを推奨しているのは計算間違いではない。5W(1A)分の余裕をみている。
PCIe
- 想定される用途は M.2 のSSD
- HAT経由で接続できるようだ。
- 2242と2230が想定される。
- M.2のコネクタを用意しなったのは専用になってしまうため。
- HAT経由でPCIeの拡張性を残している。
- M.2の中には消費電力の大きいものがある。だからUSB電源の上限を1.6Aに引き上げた。
- 将来的にはSDカードのブートではなく、SSDのブートが標準になることを期待する。
- 現行ではUSB経由のSSDで開発を行っている。SDカードでは使用に耐えない。
Raspberry Pi 5動作確認
- 2024-02-21 Raspberry Pi 5入手
- 動作確認は基本中の基本。やはり問題が発覚する。
ファームウェアの更新
- $ sudo rpi-eeprom-update
- *** UPDATE AVAILABLE ***
- BOOTLOADER: update available
- CURRENT: Wed 6 Dec 18:29:25 UTC 2023 (1701887365)
- LATEST: Fri 16 Feb 15:28:41 UTC 2024 (1708097321)
- RELEASE: default (/lib/firmware/raspberrypi/bootloader-2712/default)
- Use raspi-config to change the release.
- $ sudo rpi-eeprom-update -a
- *** PREPARING EEPROM UPDATES ***
- CURRENT: Wed 6 Dec 18:29:25 UTC 2023 (1701887365)
- UPDATE: Fri 16 Feb 15:28:41 UTC 2024 (1708097321)
- BOOTFS: /boot/firmware
- '/tmp/tmp.UbheL5pyXq' -> '/boot/firmware/pieeprom.upd'
- Copying recovery.bin to /boot/firmware for EEPROM update
- EEPROM updates pending. Please reboot to apply the update.
- To cancel a pending update run "sudo rpi-eeprom-update -r".
- $ sudo reboot
/boot/config.txtの扱い
- いつの間にやら/boot/firmware/config.txtへのリンクでもなくなった。
- /boot/config.txtを編集してはいけない。
- /boot/firmware/config.txtを編集すること。
- 仕様がころころと変わる。何が正しいのかわからない。
dtoverlay=audremapが有効にならない
- RPI4の場合
- $ pinctrl get 12,13
- 12: a0 pn | lo // GPIO12 = PWM0_0
- 13: a0 pn | lo // GPIO13 = PWM0_1
- RPI5の場合
- $ pinctrl get 12,13
- 12: no pd | -- // PIN32/GPIO12 = none
- 13: no pd | -- // PIN33/GPIO13 = none
- ソースを調べたところoverlay_map.dtsでBCM2712はaudremapを外されている。
- PWMオーディオは終わった。
- RP1用PWMオーディオのドライバを作ればよいのだが大変な作業だ。
- なぜかPRI5用にsnd-bcm2835ドライバが残っている。これをRP1に書き換えればよい。
dtparam=i2s=onの動きが異なる
- RPI4の場合、有効になる
- $ pinctrl get 18-21
- 18: a0 pd | hi // GPIO18 = PCM_CLK
- 19: a0 pd | lo // GPIO19 = PCM_FS
- 20: a0 pd | lo // GPIO20 = PCM_DIN
- 21: a0 pd | lo // GPIO21 = PCM_DOUT
- RPI5の場合、有効にならない
- $ pinctrl get 18-21
- 18: no pd | -- // PIN12/GPIO18 = none
- 19: no pd | -- // PIN35/GPIO19 = none
- 20: no pd | -- // PIN38/GPIO20 = none
- 21: no pd | -- // PIN40/GPIO21 = none
- dtoverlay=hifiberry-dacを併用すると有効になる
- $ pinctrl get 18-21
- 18: a2 pn | lo // PIN12/GPIO18 = I2S0_SCLK
- 19: a2 pn | lo // PIN35/GPIO19 = I2S0_WS
- 20: a2 pn | lo // PIN38/GPIO20 = I2S0_SDI0
- 21: a2 pn | lo // PIN40/GPIO21 = I2S0_SDO0
- ドライバを併用しないとI2Sが有効にならない。
- RP1の影響と思われる。
pigpio のCライブラリは RPI5 に未対応
- RPI5上で開発しようとするとライブラリが未対応でネックになる。
- RPI5が発売されて5カ月経つがこの状況。
- bookwormに標準でインストールされているが使えない。
- 困ったものだ。
- ライブラリに頼りすぎるとこうしたことが起こる。
- 独自のライブラリを作りたくなる。作れるのだがメンテナンスが大変。
- pigpioを使ったプログラムは実行時にエラー
- 2024-02-22 21:53:07 gpioHardwareRevision: unknown rev code (c04170)
- 2024-02-22 21:53:07 initCheckPermitted:
- +---------------------------------------------------------+
- |Sorry, this system does not appear to be a raspberry pi. |
- |aborting. |
- +---------------------------------------------------------+
- WiringPiはもう廃止した。2024-02-29朗報である。WiringPi 3.0でRPI5対応中。
- bcm2835ライブラリも未対応。RPI4まで。
- RPI5に対応したC言語のライブラリがまだない。
Cライブラリの解決策
- RPI5用のCライブラリを独自開発。高速処理にCは欠かせない。
- 基本的なgpioの操作を可能にした。
- わかってしまえば簡単なのだが、rp1-peripherals.pdfの説明が不十分。
- Draftだから仕方がない。
- この説明では動かせない。いまだにライブラリが登場しない理由であろう。
- ChatGPTでもまだ知識がないから、自動的にプログラム生成は無理だろう。
- 「RPI5用のCライブラリを生成して。」
- ※ちなみにだがChatGPTに意地悪な質問をしてみたい。
- ※「戦争を確実に止める方法を教えて。不確実な回答は不可。」
- ※「気候変動を確実に解決する方法を教えて。」
- ※「日本の国債残高を確実に解消する方法を教えて。」
- ※「簡単にお金儲けできる方法を教えて。」
- ※「働かずに楽して暮らす方法を教えて。」
- ※いずれも「答えのない問い」である。矛盾を含む「ご都合主義の問い」「無理難題」である。
- ※人類は難題の答えを求めている。答えのある問題ではない。
- 公開に向けて準備中。
- RPI5上でこれまで開発してきた多くのソフトウェアの動作確認のため、時間を取られている。
- 例えばPicoの開発環境は動くようだ。
- gnuradioもコンパイルして起動するところまで確認した。
- hifiberry-dacドライバも動く。
- RP1に関係するソフトは基本的に動かないと思ったほうがよい。修正が必要である。
- 自作のカーネル・ドライバで引っかかった。修正してドライバの組み込みと動作確認ができた。
- 修正したいプログラムがあるが、RP1の仕様がそこだけ公開されておらず手が出ない。
- bookwormの更新も頻繁に行われている。
Cライブラリ(rp1-gpio.c)の提供(2024-02-25)
- RPI5用のgpioライブラリです。
- ソースコードとして提供します。
- ダウンロードとコンパイル方法です。
- $ wget http://einstlab.web.fc2.com/RaspberryPi/rp1-gpio.c
- $ gcc -o rp1-gpio rp1-gpio.c
- 使用方法はソースコードをご覧ください。
- main関数は使用例です。
- gpioのonとoffの繰り返しは20MHzです。
- gpiozeroのPythonは120kHzです。
- 圧倒的な速度差です。
RPi.GPIO 0.7.1(Pythonライブラリ) は RPI5 に未対応
- RPI4,Zero 2 Wに対応済みだがRPI5に対応していない。
- RuntimeError: Cannot determine SOC peripheral base address
- Pythonでも状況は同じ。
- RPI5に対応したライブラリがまだない。
pigpio 1.78(Pythonライブラリ) は RPI5 に未対応
- 動作に必要な pigpiod サービスがFailする
- $ systemctl status pigpiod
- gpioHardwareRevision: unknown rev code (c04170)
Pythonライブラリの解決策
- gpiozeroを使う。標準インストールされている。
- gpiozero 2.0からRPI5対応済み。
- $ pip list | grep gpiozero
- gpiozero 2.0
- なんとRPI5のアナウンス日2023-09-28の前、2023-09-12にgpiozero 2.0をリリース。
- フライングである。
- Contributorが多く、早く対応できたのであろう。
- 以前gpiozeroを使ったことがあった。早速ライブラリを乗り換える。
- なおgpiozeroは終了時に後処理(cleanup)を行う。
- 結果が維持されないので注意。例えばLEDをオンにしても入力ピンに設定して終了する。
- 付属のコマンド pinout も RPI5を認識している。
- $ pinout
- Description : Raspberry Pi 5B rev 1.0
- Revision : c04170
2024-02時点でC言語の開発は容易ではない
- 特にgpioを使う開発はできない。
- 外部コマンドの pinctrl を呼び出す方法もあるが邪道。
- ライブラリに依存せず、直接レジスタを操作すればよい。
- RP1の仕様は公開されている。
- レジスタの位置が変更されただけでなく、レジスタの内容も変更されている。
- こうした細かい変更点を吸収するためにライブラリがある。
- RP1のレジスタを操作するので、RPI5専用のプログラムになってしまう。
- 力技になる。
2024-03-01状況がわかりはじめた
- あまりにもライブラリがRPI5に対応しないので調査をした。
- Linuxのここ数年の変化が関係している。
- sysfsを使ったGPIO操作は近い将来廃止される。ここに原因があった。
- https://www.kernel.org/doc/Documentation/gpio/sysfs.txt
- $ echo 21 > /sys/class/gpio/export
- $ echo out > /sys/class/gpio/gpio21/direction
- $ echo 1 > /sys/class/gpio/gpio21/value
- 使ったことがあるだろう。
- udevと関係し反映されるまで若干のタイムラグ(msecオーダー)があった。
- udevd デーモンが反応し、処理するまで時間を要した。
- $ systemctl status systemd-udevd
- sysfs経由のGPIO操作は問題がある。
- 1ユーザだけが利用するだけなら問題がない。
- ところが複数ユーザ(複数のアプリ)が利用すると問題になる。使用の競合が起こる。
- 誰かが使い終わったあと、散らかったままにもなる。そもそも使い終えたのかもわからない。
- openとcloseの概念がない。
- そこで、libgpiod では占有(open)と解放(close)を行うことにした。
- GPIO使用の調停を行い、使用後に開放する。
- sysfsそのものがなくなるのではなく、sysfsを経由したGPIO操作がなくなるという意味。
- 2020年ごろに聞いていたので、驚きはしなかった。
- 代わりに、キャラクタデバイス(/dev/gpiochip)を経由したgpiod方式(正式名称libgpiod)に置き換えた。
- https://git.kernel.org/pub/scm/libs/libgpiod/libgpiod.git
- https://github.com/brgl/libgpiod
- 3つのインターフェースが用意されている。
- (1)コマンド(gpiodetect,gpioinfo,gpioset,gpioget,gpiofind,gpiomon,gpionotify)
- (2)Cライブラリ(libgpiod)
- (3)Pythonライブラリ(import gpiod)
- これらはすべてインターフェースが異なるだけで同じである。Rustもあるが省略。
- なるほど。こうした背景があってCライブラリやPythonライブラリがRPI5対応しない。
- LinuxのGPIOの扱いが libgpiod に統一の方向にある。
- ※Linuxには複数の選択肢が用意され、多様性の文化がある。
- ※複数の選択肢があれば、プランAがだめでもプランBに切り替えられる。
- ※なにかあった時のバックアップ・プランは重要
- WiringPiも廃止(撤退)した理由がここにあった。
- これが標準機能ですと提示されたら、独自開発してきたライブラリの開発者はやる気をなくす。
- libgpiodは試験的に導入されてきたが、なじみがなく広く知られていない。
- しかも開発中であり、仕様変更の可能性もある。
- RPI5にコマンドとCライブラリ、Pythonライブラリはインストールされている。
- $ apt-get list | grep gpiod
- gpiod/stable,now 1.6.3-1+b3 arm64 [installed]
- libgpiod2/stable,now 1.6.3-1+b3 arm64 [installed,automatic]
- python3-libgpiod/stable,now 1.6.3-1+b3 arm64 [installed]
- 現時点でv1.6.3がインストール済み。v2.0.2が最新。
- ※RPI4にgpiodはインストールされていなかった。
- Cの開発環境がインストールされていない。
- $ sudo apt install libgpiod-dev
- libgpiodはRPI5から主流になっていくものと思われる。
- というか、これしか選択肢がない。本流である。表にするとわかる。
- (有志による)WiringPi 3.0 でRPI5対応予定だが、すでに開発は終了しており非推奨である。
- 一時しのぎにすぎず将来性がない。使い続ける理由がない。乗り換えるならこのタイミングである。
- 仮に他のハードウェアに乗り換えてもLinuxなら libgpiod の知識を再利用できる。知識が無駄にならない。
- WiringPiはRPI専用ライブラリである。Linux汎用ライブラリではない。
- もともとWiringPiはArduinoのインターフェース互換として開発された。
- Arduinoの経営のごたごた(分裂騒ぎ)でRPIに乗り換える人向けに提供した。ArduinoからRPIに乗り換えた。
- WiringPiの使用を否定しているわけではなく、時代の変化に適応するだけである。
- 他の手段(WiringPi)をバックアッププランとする。
- ひとまず王道(libgpiod)に乗ることにする。
- 諸行無常、ものごとは変化する。まずは逆らわず適応する。
- ※ただし現時点の(最良と思われる)選択であり、将来はわからない。
- ※固執することなく、変化に柔軟に適応しよう。こだわりを捨てよう。
- これまでlibgpiodは使われてこなかったため、使い方が浸透していない。情報が少ない。
- 特にイベント・ハンドリングの方法がわからない。
RPI5対応状況 | コマンド | Cライブラリ | Pythonライブラリ |
sysfd | 対応(廃止予定) | なし | なし |
libgpiod | 対応(v1.6.4) | 対応(v1.6.4) | 対応(v1.6.4) |
WiringPi | 未対応(廃止) | 暫定対応(v3.1) | 未対応(廃止) |
pigpio | 未対応(v1.79) | 未対応(v1.79) | 未対応(v1.79) |
bcm2835 | なし | 未対応(v1.75) | なし |
RPI.GPIO | なし | なし | 未対応(v1.71) |
gpiozero | なし | なし | 対応(v2.0) |
raspi-gpio | 廃止予定 | なし | なし |
pinctrl | 対応(デバッグ用) | なし | なし |
- 統一されるのはいいが、デバイス経由であるため、どうしても処理のオーバーヘッドがある。
- 特にCは処理速度を優先する。
- 処理速度を優先したいからCを選択する。
- 処理速度が遅くてもかまわないならPythonを選択する。
- 手動でいいならコマンドを使う。
- pinctrlコマンドも用意されているが、こちらはデバッグ用コマンドである。
- ピンの内部状態(レジスタ)を知りたいときに使う。
- これは筆者の考えではなく、pinctrl help に(デバック用と)書いてある。
- やっとGPIO操作の全体像が見えてきた。
- こうした解説をみかけない。
- gpiodを一通り使ってみたが、癖が強い。
- わかりにくいし、そもそも公式サイトにドキュメントがそろっていない。
- 関数一覧がある。
- https://libgpiod-dlang.dpldocs.info/gpiod.html
- man pageを見ろとのことらしい。
- $ apt install libgpiod-doc
- CとPythonの関数体系が同じに見えない。
- コマンドは使いやすいが、RPI5でデバイス名(/dev/gpiochip4)が変更された。
- デバイス一覧の表示コマンド。GPIOに関係するのはpinctrlの表示のあるデバイス。
- RPI4までは/dev/gpiochip0。
- $ gpiodetect
- 操作はピン番号ではなく、デバイスが管理するline(行)を指定する。
- gpiochip4の管理するline一覧表示コマンド。
- $ gpioinfo gpiochip4
- 出力ならgpiochip4が管理するline5に1を指定する。
- $ gpioset gpiochip4 5=1
- 入力ならgpiochip4が管理するline4を指定する。
- $ gpioget gpiochip4 4
- pull-upを併用する場合。
- $ gpioget --bias=pull-up gpiochip4 4
- 入力と出力の切り替えは自動的に行われる。指定するコマンドは存在しない。
- 入力待ちは監視コマンドでイベント回数を併用する。
- $ gpiomon -s -f -n1 --bias=pull-up gpiochip4 4
- -s はサイレント
- -f はfalling edge
- -n は回数指定
- イベントはfalling と risingが発生する。
- このため前回のイベント情報が(内部的に)残っているときがある。
- イベントを読みださないとクリアされない。
- とくにチャタリングがあると思い通りにイベントを拾えない。
- RP1にdebounced(バタつきを抑える)割り込みがあるのだが対応していない。
- 痒い所に手の届く独自ライブラリが必要になる。
アクティブ・ファンとHAT基板の干渉問題
- アクティブ・ファンを取り付けるとHAT基板が物理的に干渉する。
- GPIO端子をかさ上げする必要がある。
- 熱問題がHAT基板問題に発展。
- サードパティでもっと小型のアクティブ・ファンはないものか。
PD 3A電源でやや問題
- 普段は3A電源で問題なし。
- ブート時にUnderVoltageになる。
- 100%負荷が続くと発生する。75%負荷を続けても発生しない。
- 最悪、突然シャットダウンする。
- 熱でシャットダウンかと思ったが、電源電圧不足でシャットダウンするようだ。
- Type-Cコネクタが緩くなる(ぐらつく)と接触不良を起こし、UnderVoltageになる。
- コネクタの接触部は経年劣化で酸化する。
- 古いType-Cケーブルは買い替えるべき。
- 100%負荷が続くと、電源電圧不足を招く。
- USBケーブルの内部抵抗で電圧降下する。途中に計測器を入れても影響する。
- USBケーブル選びが重要。これは5A電源も共通。瞬間的な大電流が内部抵抗で電圧降下を引き起こす。
- USB-PPSに対応してほしかった。そうすればこうした問題を解決する。
- たとえば電圧不足になりそうなら自動的に電圧を上げる(例えば5.2V)。
解決策
- 5.1V3.8A電源で解決。0.1Vの余裕が効果的。多少電圧降下があっても警告にならない。
- Type-C 5.1V3.8A
- 100%負荷をかけても警告はない。
- 安定した電源の確保は正常動作に欠かせない。
- 電源が飛ぶとファイルシステムを壊したりする。特にSDカードで影響が大きい。
- ログを見るとわかるが頻繁にログを更新している。
- 実際の電源電圧はコマンドで確認できる。PMIC(電源管理用IC)の内容を読みだしている。
- $ vcgencmd pmic_read_adc EXT5V_V
- EXT5V_V volt(24)=4.95666000V
- 5.1V電源でも4.95Vくらい。なんでと思うかもしれない。これには理由がある。
- ケーブルやコネクタ(Type-Cの接触抵抗は40mΩ=0.04Ω)による内部抵抗で電圧降下する。
- 大雑把な計算だが、1Aで0.1V電圧降下しているので内部抵抗の合計は0.1V÷1A=0.1Ωくらい。
- 3Aなら0.3V電圧降下するので、5.1V-0.3V=4.8Vになる。
- 閾値4.63V(誤差±5%、4.39Vから4.86V)を下回ると警告する。
- 5V電源なら5.0V-0.3V=4.7V。閾値に近い。
- 急激な負荷変動で閾値を下回る(アンダーシュート)ことがある。
- アンダーシュートとは急激な変動に耐えられず、一時的に行き過ぎることである(制御理論)。
- 車はブレーキをかけても止まらない。必ず行き過ぎる。
- 安定化電源といえども急激な変化に制御が追い付かない。一時的に行き過ぎて元に戻す。
- 0.1Vの余裕が重要になる。5V電源が警告に引っかかる仕組みである。
- 公式の電源は5.1V5.0A。5.0Vではない。内部抵抗を考慮している。
- 現代においてもアナログの回路設計思考が重要である。
熱暴走しない
- CPU温度を監視しており、85度に達すると自動的に動作周波数を落とす。
- 性能を出したいなら(100%負荷を続けたいなら)冷却は必修。
- アクティブ・ファンをつけると100%負荷でも60度前後に収まる。
- 瞬間的に100%負荷になっても温度は急に変化しない。
- むしろ連続100%負荷は熱暴走ではなく電源電圧不足を誘発する。
- なおアイドリング状態で1.5GHz,45度。
USB-SSDで快適
- RPI4からUSB-SSDを導入した。もうSDカードに戻れない。
- RPI5もUSB-SSDからブート。
- RPI4とPRI5のブート時間は変わらず11秒くらい。
- syncも瞬時に終わる。
- M.2のSSDを待っていられない。
- 容量の少ないUSB-SSDを探すのが大変。
- 今ならSSD-PST250U3BA/Dがよさそう。
- パソコンと同等というかそれ以上に快適な環境。
- Windowsは無駄なソフトウェアで肥大化。邪魔ばかりする。
- Linuxは必要最小限のソフトウェアしか動かない。
- だからLinuxのほうが軽い。
- 4GBモデルで十分。メモリスワップもしない。仮にしたとしてもSSDだから高速。
- ソフトウェアの更新は3分以内に終わる。
- YouTube動画を再生し、それをVNC経由で見る。
- やはり問題は音声出力。
- HAT基板を取り付けるので、DAC基板は不可。
- HDMIのディスプレイは場所をとるので不可。
- Bluetoothは動画と音声で遅延発生。
- 音声端子の廃止がどれほどの影響かわかっていないのだろう。
microSDの転送速度
- Raspberry Pi の性能はディスクである micorSD の制限を受ける。
- ディスク読み書きによる待ちがある。だからメモリスワップすると極端に性能劣化する。
- PCはSSDを採用することにより解消した。
- クラス表記として Class 10 なら最低10MB/sを保証。
- ビデオ表記として V30 なら最低30MB/s を保証。
- UHS-Iの規格上は104MB/sであるが、実際には転送速度の制限を受ける。
- 転送速度の速いmicroSDカードの登場に期待する。
- 100MB/sくらいの転送速度ならSSDに及ばないが実用上支障はないだろう。
- FlashではなくSSDのmicroSDが登場するかもしれない。
プロセス表記
- BCM2712は16nmプロセスでTSMC製造
- プロセス表記に注意。
- 20nmプロセス付近から実際の細密度を表現していない。
- 4nmや8nmも実際には20nm付近で作られている。
- ではどう意味なのか?
- 半導体を立体構造にしたり、2層、4層構造にすることにより「相当するプロセス」を表記している。
- 簡単にいえば2層基板、4層基板のようにする。
- 20nmプロセスの2層構造なら、10nmプロセスに相当という意味。
- X線露光は理論上、20nmくらいが限界。物理的に原子サイズより小さい配線はできない。
- 同様にCPUクロックも物理的な大きさによる制限から、3GHzくらいが限界。100GHzは信号のずれを起こし誤動作する。
- 現状では発熱問題から6GHzくらいが限界。かなり無理している。ターボモードを持続できない。
- 高温になると内部配線を切ってしまう(溶けてしまう)。ヒューズや白熱電球と同じ。
- Raspberry Pi 6はオクタコア(8コア)になるだろう。
©2023-2024 All rights reserved by Y.Onodera.