しばらく前から頭を抱えている問題があります。
UA6527PのところでRP2A03ボードを使って動かした話をサラッと書いていますが、実は結構面倒なことになっていたのです。
CPUを載せ替えて試すということでこれまで載せていなかったEEPROMを搭載したのですが、なぜか書き込みが全てエラーになってしまいました。
書き込めないとなるとまず疑うのはWP(Write Protect)ピンです。
確か内部プルダウンされているのでオープンにしていたはずですが、念のためデータシートを確認すると……
今回載せたMicrochipの24LC64だとVssかVccいずれかに接続せよとあるではないですか。
どうもAtmel AT24C64は内部プルアップあり、Microchip 24LC64は無しのようです。秋月も昔はAT24C64だったと思うのだけどいつ切り替わったのだろう?
今まで全部オープンにしているぞ。
ということでVssに接続してみましたが解決しません。
I2Cバスのプルアップが大きすぎるかもということでクロックも落としてみましたがこれも効果ありませんでした。
その後、比較用にAT24C64を手配(持ってると思うんですが探すよりeBayの方が早そう)したり、確定申告(相続した山林の売却とかあっていつもと勝手が違う)やったりしているうちに間が開いてしまいました。
落ち着いてきたので同じ24LC64を載せた別のプロセッサボードに替えてみました。これは設定が書き込まれていてしかもオートロードがONになっています。起動するとDPSRAMにロードされるのでEEPROMの読み込みは正常に行われています。
しかしその後コマンドで再ロードしようとするとエラーになります。もちろん書き込みも同様です。
これまで特に問題は無かったのに何が起きているのだろう?
当面試してみることは……
- EMILY Boardのファームウェアを古いものに戻してみる
- AT24C64に交換してみる
- TWI(AVRのI2Cインターフェイス)のステータスを表示してみる
- I2Cバスの波形を観察してみる
また何か進展があれば書くつもりです。
コメントを追加