目次

IchigoJamについて

概要

IchigoJamはこどもパソコンのコンセプトの元に開発された、BASICワンボードパソコンである。 仕様は公開されており配布形態は様々だが、一般には、プリント基板と、そこに半田付けするパーツをセットにしたキットの形で流通している。

利用には、PS/2接続のキーボード、USB micro-Bのケーブル(電源供給用)、ビデオ入力端子のあるディスプレイ(テレビなど)、及び、ビデオケーブルがキットとは別に必要となる。

本家

dsc_0349.jpg

写真右がIchigoJam

BASIC

UARTによる外部との接続

IchigoJamのシリアル通信は、どうも、一般的なそれとはちょっと仕様が異なっているようである。 特に、改行の扱いに関して。

IchigoJam - Raspberry Pi2でつないで常時遊べるようにしようという企みでいたのだけれど、minicom で接続すると、改行がうまく扱えない。

基本的にminicomは改行で CRのみ送出するが、IchigoJamはLFを待っている。まあ、これは、改行の代わりに Ctrl+Jを使えばLFを送出出来るのでなんとか出来なくもない。

が、送られてくる改行がLFのみであるため、CRLFを待っているminicomでは画面がどんどん右に右にと送られていってしまう。 CRだけしか来ないときにLFを付加することは出来るのだがLFだけの場合はお手上げである。

どうしたものかと思案したあげく、「なければ自分で書いてしまえばいいじゃないか」ということで、とりあえず ruby-serialport を利用して書いてしまった。

IchigoJamのシリアルはフロー制御がないので、適当にウェイト入れながら出力しないと文字が溢れてしまう。

最初、このあたりの感じが判らず、一気に一行送りつけたら、文字数が10文字未満程度なら問題なかったが、そこらを越えるとあっという間にアウトになってしまって難儀した。

ウェイトは調整した結果、0.02秒でいいようだということになった。1)

ichigoterm.jpg

参考までに、拙作の端末ソフトはここからダウンロード出来ます。

子亀

IchigoJamのキットに、12MHzの水晶発振子、シリアル-USB変換、リセットスイッチ、ファーム書き換えようのスイッチ、外部EEPROM用の端子、圧電スピーカを追加する子亀基板を作成。

Ver 1.0.1現在、水晶発振子を外部に追加した場合は、ファームウェアの更新が必要である。 ファームウェアは公式サイトから入手可能である。2)

ファームウェアの更新には、シリアル接続と、ISPモード(ISP端子とGNDを接続)が必要。ISPモードにするには、ISP-GNDを接続し、またリセット(RESET-GND接続)しながら電源をONにして、その後リセットを開放することで、ISPモードに入る必要がある。 拙作の小亀では、ISP用のスイッチとリセット用のタクトスイッチが設置してあるので、ISPモードにスイッチを切り替えて、タクトスイッチを押しながら電源をONにすることで、ISPモードで起動する。

ファームウェアの更新には、WindowsからならFlash Magicで、Linuxなら、lpc21isp をそれぞれ利用する。

$ lpc21isp -bin ichigojam_xtal.bin /dev/ttyUSb0 115200 1200

のようにして、更新する。3)

dsc_0356.jpg

孫亀

上記で作成した子亀基板のEEPROM用端子に接続するためのEEPROM基板を作成。

IchigoJamとEEPROMとの接続には、Vcc、GND、及び IN3/Ex1 の四つの端子を利用するが、LPC1114FN28の端子配列では GND-Vcc-IN4-IN3 とあり、Ex1は離れた別の場所にあり、利便性が悪い。

このため、子亀ボード上に、GND-Vcc-Ex1-IN3と並んだソケットを出し、ここに接続するようにした孫亀ボードにする。

ボード上にはWrite Protectスイッチを搭載する。

dsc_0357.jpg

プログラム例

start

1)
個体差があるかも知れない
2)
正式な公開場所はFacebookらしいが、公式サイトからも入手出来るので、こちらだけ記載しておく。
3)
Flash Magicには .hexファイルの方を使う。