SVX日記

2004|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|11|12|
2012|01|02|03|04|05|06|07|08|09|10|11|12|
2013|01|02|03|04|05|06|07|08|09|10|11|12|
2014|01|02|03|04|05|06|07|08|09|10|11|12|
2015|01|02|03|04|05|06|07|08|09|10|11|12|
2016|01|02|03|04|05|06|07|08|09|10|11|12|
2017|01|02|03|04|05|06|07|08|09|10|11|12|
2018|01|02|03|04|05|06|07|08|09|10|11|12|
2019|01|02|03|04|05|06|07|08|09|10|11|12|
2020|01|02|03|04|05|06|07|08|09|10|11|12|
2021|01|02|03|04|05|06|07|08|09|10|11|12|
2022|01|02|03|04|05|06|07|08|09|10|11|12|
2023|01|02|03|04|05|06|07|08|09|10|11|12|
2024|01|02|03|04|05|06|07|08|09|10|11|12|
2025|01|02|03|04|05|06|07|08|

2005-01-15(Sat) I2C通信の第一歩成功

  さて調子付いてきた232メモリの開発だが、オシロの使い方もなんとなく板に付いてきて、一気に進捗しそうである。とりあえず、今日はEEPROMからのacknowledge(アクノリッジ:確認)信号を受け取るために、GPIOを一時的に入力に切り替える処理を追加する。I2Cはクロックラインは制御する側から制御される側への一方通行なのだが、データラインは入出力の双方向なのである。こちらから出力モードで信号を送信したら、入力モードに切り替えてack信号を受信する。それでいいハズである。たぶん。

  最初はブレッドボードにはEEPROMを取り付けない状態で、PICにシャドーI2C通信ングさせてみる。ピンを出力モードから入力モードに切り替えた瞬間、ピンはハイインピーダンス状態になり、プルアップ抵抗の作用でHIGIになる。インピーダンスとかあんまりよくわかっていないのだが、たぶんそんな感じだろう。

  画像の説明

  でもって次はEEPROMを取り付け、実際にPICと通信をさせてみる。入力モードに切り替えた瞬間、ピンは……LOWのままである。うむ、おそらく一瞬でackが返っているのであろう。クロックを与えると再び相手が入力モードになってHIGHに戻るような挙動を示している。すかさずデータラインをLOWにして、ストップコンディションを出力。うむ。よいのではないだろうか。

  画像の説明

  ちょっとオシロ(osziFOX)とPCとの接続が不安定なので、PICがダミーリードの信号を何度も繰り返すプログラムとなっており、現状無意味な通信内容となっているが、再現性があることからEEPROMもちゃんと応答しているっぽい。次は意味のあるコマンドを送信し、EEPROMへの1バイト書き込みを目指す所存である。ゴゥゴゥ。


2007-01-15(Mon) LHD-NAS160V探訪

  さて、一応インストールは完了ということで、おもむろにアチコチの設定を始めるわけだが、使い始めということで、あちらこちらの仕様を確認したりするわけである。

  なによりも気になっていたのは、旧いC3コアが一般的なi686の命令をすべてサポートしないため、i686バイナリを動かすと止まることがあるらしい、という問題だ。具体的には「cmov」という命令らしいが、なんでそんなことになっているのやら。RHEL4はi686以上をサポートなので、もしこのC3がi686をサポートしていないのなら、インストール自体ができないはずだが、RHEL4は旧いC3コアをi686と認識する(既知の)不具合があり、インストールはできてしまう。では、起動すらしないのかといえば、それほど使用頻度の高い命令でもないため、そんなにすぐ止まるわけでもないらしい。

  つーわけで、早速に「cat /proc/cpuinfo」する。

  画像の説明

  あ、あれれ? コレ、Nehemiahコアじゃん!! ちゃんと「cmov」という表記もある。するとi686の命令セットはフルサポートということになるし、同じ800MHzでも旧C3よりも相当パフォーマンスはよいはずだ。クロックは533MHzと出ているが、これは休ませている状態だからだろう。

  しかし、WikipediaでC3コアについて調べても、800MHzのNehemiahが存在するなんて記載はない。ググっても出てこない。そもそも、VIAのページを見ても、マザーとCPUの組み合わせについて言及した情報はない。でも、Epia-MLというマザーのクロックは800MHzで合っている。なんじゃこれ? もしかすると、これはよい意味でNAS特別仕様マザーなのだろうか? オイラは、200Mhz足りないというよりは、コアのリビジョンが高いという意味で好意的に取るぞ。なんにせよ、なんの心配もなくRHEL4のバイナリが使えるってコトだ。これはうれしい誤算だ。

  さて、ちょっと安心したところで、フロントのLCDパネルが気になってきた。適当に「echo hoge > /dev/ttyS1」とかやったら、表示されるんちゃうか? ……と、いうのはさすがに甘かった。変化なし。しまったぁ……こんなことなら、BSDベースのOSが動いている状態で通信をスニッフィングして、プロトコルを解読しておくんだった……どうしよう。

  画像の説明

  そもそも、どんな部品構成になっているんだろう……なにやら、チップがふたつ載ってますな……PIC16F628AとADM232A……って、おいッ!! 型番聞いただけでジャストミートではないか。それ、オイラの庭の中だよ。周囲を見ると、COM, PRG JPとかあるし、これ、正規の電圧のシリアル信号と、PICのオンボードプログラミング用のコネクタじゃん!!

  プロトコル解析よりは面倒だが、オンボードプログラミング用のコネクタからPICのファームを吸い出すことができれば、コード解析によりフルに機能を使うことができそうだ。なんなら機能の追加もできる。一方で、隣のシリアル信号を利用すれば、ttyS1にもういくつか自作ガジェットをぶら下げることもできそうだ。自作野郎にはシリアルポートはいくつあっても嬉しい。これはよい発見をした。

  画像の説明

  こっちのLCDパネルの型番はよくわからんが、うまく活用できそうである。うひゃひゃ。ではまた。


2011-01-15(Sat) SVX復活

  画像の説明

本日のツッコミ(全1件) [ツッコミを入れる]

横須賀のアランプロスト [をを! 信頼のコーヨーラジエターだ!]