I2Cの有効化
V2基板にはSLG46826GもしくはSLG46824G(以下GreenPAKと呼びます)が5つ実装されておりそれぞれファームウェアを書き込む必要があります。
ファームウェアの書き込みにはRaspberryPiから各GreenPAKにI2Cで通信を行う必要があります。
従って、まずRaspberryPiでI2Cが使用できるように設定を行います。
"Interface Options"を選択
"I2C"を選択
"YES"を選択
以上でI2Cが利用できるようになります。
テストワイヤの準備
I2Cはクロック(SCL)とデータ信号(SDA)の2本の信号線を用いて通信する方式です。
クロック(SCL)はRaspberryPiのSCLと全てのGreenPAKで共通ですので基板上で配線しています。
データ信号(SDA)は基板上で配線せずファームウェアを書き込む対象のGreenPAKに都度配線
する必要があります。その為にテストワイヤが必要です。
秋月電子やサンハヤトの物が手に入り易いと思います。両方オスで両方バネタイプを調達してください。
テストワイヤによるファームウェア書き込み準備
横一列に並んだGreenPAKにはそれぞれ右から順にGP1からGP5という名前をつけています。
それぞれのGreenPAKのSDA端子は右上にスルーホールで引き出してあります。
基板右下にはRaspberryPiのSDA端子のスルーホールがあります。
RaspberryPiのSDA端子は共通です。
ファームウェアを更新する個々のGreenPAKのSDA端子をテストワイヤで接続して作業を行います。
例えば一番右のGP1のファームウェアを書き込むときには次のように接続します。
ファームウェアと更新ツールの準備
このページの一番上にあるリンクから最新のファームウェアと更新ツールをダウンロードしてください。
そのモジュールをRaspberry Pi上で展開すれば以下のファイルが入手できます。
拡張子がhexのファイルがファームウェアです。
GP+連番はそれぞれGreenPAKのGP1~5に該当します。
gputilはファームウェアの更新ツールです。
更新ツールの使用方法(通信確立および現在のファームウェアの参照)
ファームウェアのアーカイブに含まれるgputilの使用方法を説明します。
引数無しで起動すると簡単なヘルプが出力されます。
テストワイヤでSDA端子間が接続されていることを確認しIC内のファームウェアを参照します。
引数に"-t nvm"を指定してください。
GreenPAKとの通信に成功すれば以下のように出力されます。
これが現在のファームウェアです。
何らかのデータが表示されているならば
SLG46826Gと正しく通信ができておりファームウェアの更新が可能です。
もし以下のように全て0で表示されたなら接続もしくは通信に失敗しています。
この状態ではファームウェアの更新はできません。I2Cの設定及び接続を確認してください。
更新ツールの使用方法(ファームウェアの更新)
まず引数に"-t nvm"を指定してGreenPAKと正しく通信が出来ていることを確認した後に更新します。
正しく通信できていますので更新作業に入ります。
ファームウェアの更新には"-t nvm -w ファームウェアファイル名"という引数を使用します。
以下の'?'には1~5の該当する番号が入ります。
以下、GP1にGP1.hexを書き込んだ時のログです。
これでファームウェアの書き込みが完了しました。
この操作をGP1からGP5まで繰り返せば全てのファームウェアの更新作業が完了です。