フォト
2018年12月
            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31          
無料ブログはココログ

« きゅうりとトマトの食べ合わせが良く無いって本当? | トップページ | Arduino互換機 Ginger BreadでLチカ »

2018年8月 9日 (木)

以前製作したIchigoJam用EEPROMエミュレーションが動かない

以前Arduino(ATmega328)を使ったIchigoJam用のEEPROMエミュレーション
製作したのですが、IchigoJamのファームウェアを1.2.1から最新版の1.2b59に更新すると
動作しなくなってしまいました。

左写真左がI2C接続EEPROM、右がEEPROMエミュレーションでSDカードにデータを
保存します。右写真が利用のために装着した様子です。

Dscn8649  Dscn8642

公開サイト

  ・IchigoJam用EEPROMエミュレーション
   https://github.com/Tamakichi/Ichigoepprom3

その原因を調査してみました。

Dscn8641

まず、どのバージョンから動かなくなったかを調べてみると、
IchigoJamのファームウェア V1.2.2以降から動かなくなってしまいました。
念のため、IchigoJamの旧版ハードウェア、DIP版等でも調べましたが、
ファームウェアのバージョンが関係するようです。

次にI2Cのパケットをロジックアナライザで調べてみました。
I2C接続EEPROM(Atmel 24C256) モジュールIchigoJamに接続し、
同じハードウェアでIchigojam ファームウェア v1.2.1v1.2b59それぞれの
LOADコマンド実行時の様子を調べてみました。

  ・Ichigojam ファームウェア v1.2.1 の場合
  Ichigojam121

  ・Ichigojam ファームウェア v1.2b59 の場合   
   Ichigojam12b59

両方のファームウェアとも EEPROM(Atmel 24C256) モジュールでは問題なく動作します。
ただし、赤い四角で囲った箇所に差異が見られます。

v1.2.1では、EEPROMのデータシートに記載されているシーケンシャル読み込み通りの
プロトコルにてデータの読み込みが行われています。

一方、v1.2b59のでは、
スタートビット(緑の立下り)の直後にストップビット(赤の立下り)、さらにその直後に
スタートビット(緑の立下り)がIchigoJamから送信されています。
SCLの1クロック内でスタートビットストップビットがあるのも謎です。

私の知識レベルでは、不可解なプロトコルです。

現時点では、分かることは
  ・バージョン更新でEEPROMのアクセス方法に変更が見受けられる。
  ・プロトコル的に怪しい(かもしれない)。
  ・それでもEEPROMは問題なく動作している。

です。

本物が動いて、エミュレーションが動かない状況である以上、
エミュレーション側の実装に問題があるわけですが、
Arduno的にこの対応はちょっと無理そうです。

IchigoJamEEPROMエミューレションの公開サイト(GitHub)の方に、
「IchigoJam 1.2.2以降のバージョンには対応していません。」を追記しました。
一旦、本件はこれでCLOSEとします。

そいういえば、温湿度センサモジュール AM2320がIchigojamv1.2.2 あたりから
動かなくなったようなので、関連性があるのかもしれません。

« きゅうりとトマトの食べ合わせが良く無いって本当? | トップページ | Arduino互換機 Ginger BreadでLチカ »

arduino」カテゴリの記事

IchigoJam」カテゴリの記事

日記・コラム・つぶやき」カテゴリの記事

コメント

コメントを書く

(ウェブ上には掲載しません)

トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/571408/67037249

この記事へのトラックバック一覧です: 以前製作したIchigoJam用EEPROMエミュレーションが動かない:

« きゅうりとトマトの食べ合わせが良く無いって本当? | トップページ | Arduino互換機 Ginger BreadでLチカ »