ラズパイを使ってIoTシステムを構築するとき、バッテリーで駆動させる場合があります。
最新のラズパイ4では、以前のラズパイに比べて、スペックが大幅に上がりました。そのため、消費電力が高くなり、バッテリーの駆動時間が短くなってしまう傾向にあります。
そこで、バッテリーの駆動時間をなるべく長くするために、ラズパイでアンダークロックをやってみました。

今回はアンダークロックの概要とラズパイ4での設定方法について説明します。

参照:Raspberry Pi(Raspberry Pi 4 Model B
    RSコンポーネンツ(Raspberry Pi 4 Model B

アンダークロックを理解する前に予備知識として、以下の項目について説明します。

CPU

Central Processing Unit」の略で、日本語では「中央演算処理装置」と訳されます。
人間でいう脳みそに当たり、パソコン等のデバイスには無くてはならないものです。
制御や演算(計算)を担っているパーツです。

クロック信号

CPUの処理を同期するための信号です。
高速にHIGHとLOWを繰り返すパルス信号の1つとも捉えられるので、クロックパルスとも呼ばれています。

クロック周波数

クロック信号が1秒間に何回発信されるかの値です。
単位は「Hz」、値がとても大きいため接頭辞には「G(ギガ)」や「M(メガ)」が使われます。
この周波数が高いとより多くの処理を行えるため、性能の指標にもなります。

オーバークロック

オーバークロックとは、クロック周波数を定格値以上に設定し、処理を行うことです。

アンダークロックとは

アンダークロックとは、オーバークロックの反対で、クロック周波数を定格値以下に設定し、処理を行うことです。
アンダークロックは、ダウンクロックと呼ばれることもあります。

オーバークロックは、消費電力が上がってしまう代わりに、処理能力を高めることができ、反対にアンダークロックは、処理能力が下がってしまう代わりに、消費電力を抑えることができます。

このように、オーバークロックとアンダークロックは一長一短であり、双方メーカーが想定している定格値から外れることになるのでリスクが生じます。

例えば、極端なアンダークロックでは電圧が低過ぎるため、OSを起動することができなくなる場合があり、オーバークロックでは、CPUなどの部品を壊してしまう可能性や最悪煙が上がる場合があります。

アンダークロックの方法

実際にラズパイ4にアンダークロックの設定をしてきます。

「LXTerminal」を起動して「sudo nano /boot/config.txt」と入力します。
エディタは標準のnanoを使いましたが、vimなどお好きなエディタで問題ないです。

入力したコマンドを実行するとconfig.txtを開くことができます。

最下行に設定を追記していきます。
arm_freqとover_voltageを設定します。

編集を終えたら、保存してラズパイを再起動してください。
無事起動出来たら、負荷を掛けた時のクロック周波数が先ほど設定した値になっています。

設定項目の解説

前項でconfig.txtに追加した項目について解説します。

arm_freqは、CPUのクロック周波数を設定できます。単位が「MHz」なので、値に注意してください。
over_voltageはCPUに印加する電圧を調整することができます。
印加する電圧は以下の式で定義されます。

core voltage(印加される電圧) = 1.2[V] + 0.025[V] × over_voltage(設定値)

0.025[V]ずつ調整するとができ、-16から8までの整数を設定することができます。
つまり、最小で0.8[V]、最大で1.4[V]の値を指定することができます。

今回は、クロック周波数を300[MHz]、コア電圧を1.025[V]に設定しました。
調整は慎重に行い、問題なく起動できることを随時確認してください。

設定後に、もし起動しなくなっても本体が壊れていなければ問題ありません。
もし起動しなくなった場合は、一度ラズパイの電源を落とし、microSDカードをパソコンなどで読み込みます。
bootドライブの中にある、config.txtを開いて最下行に加えた設定を消すことで、既存の設定に戻すことができます。

ここで解説したことは以下の公式ページを参考に書きました。

参照:Raspberry Pi Documentation(Overclocking options in config.txt

公式ページを見ると、今回設定した項目以外にもGPUのクロック周波数をやRAMのクロック周波数なども変更可能なことが分かります。
自分の目的に合わせて最適な設定を探してみてください。

次回は、アンダークロックした後の処理能力等を紹介します。

The following two tabs change content below.

なかひろ

高専3年生です。 普段はプログラムいじってますが、最近は基板設計などもかじってます。 よろしくお願いします!