|
2000/Nov./18
●VISOR用拡張ボード活用のための参考情報
●ROMについて
本来はSpringBoardにはROMが必要です。これは、ボードに必要なアプリの供給や、ボードのコンフィグを知らせるために存在します。
現在までの調査によれば、初期のころの英語版のVISORにはどうもこのROMの認識周辺に問題があり、ROMのないボードが挿入されるとエラーが発生してしまい、リセットを繰り返すという現象が確認されています。
また、このページにも協力してくださっている宮本さんの実験では、差し込んだとたんにハングするものも確認されています。
しかし、現在日本で販売されている日本語版に関してはこのような現象はなく、差し込むとなぜか一旦初期設定の画面へ移動しますが、その後はなんの問題もなく使用する事が可能です。
ですので、実験には日本語版をお使いになる事をお勧めします。
HandSpringの開発者向けのページにこんなドキュメントが置いてあります。
AN-01SpringboardModuleTesting.pdf
このドキュメントによれば、以下のメモリに関してはデバッガのほうで書き込みがサポートされているように読めます。
- AM29LV160BB-120EC ... AMD
- TC58FVB160FT-10 ... Toshiba
- MBM29LV160B-90PFTN ... Fujitsu
これらはパッケージがTSOP等の「手ハンダするには少々厳しい」ものですが、同じスペックでSOパッケージのものがあったりするため、そちらを入手して使おうと思っています。でも、なんか品不足の話もあるらしいからなぁ。
ちなみに、日本橋では全く見つかりませんでした。そもそも、すでに電子部品を扱う店が激減しており実質5店鋪しかなく、しかもそのうちの2店鋪は日曜定休で、1店鋪はオーディオ用半導体専門だったりします(T_T)。しかたがないので、今度、秋葉原で探索の予定です。
#どこかの半導体商社と直接やって、50個ぐらい確保してここで
#配付するようにした方が早いかしら....
モノさえ見つかれば、配線方法も上記のドキュメントの6ページにありますんで、それを参考に接続し、同ドキュメントに記述されている方法でROMイメージを作成して流し込んでみたいと思っています。
あ、その前にROMイメージ作成ツールをマック化せねば.....
●使用するロジックICについて
VISORからの信号は基本的に3.3Vですし、供給されている電源も3.3Vになっています。また、引き出せる電流も100mAが限界ということになっています。これはつまり、昔のLSやALSなどのTTLは基本的に使えないという事になります。
上記のドキュメント「AN-01」に使われているロジックICは、アドレスデコーダがAC、リセットのインバータに至ってはALVCを使用しています。
接続した時のバスエラー等を極力防ぐためには、どうしてもアドレスデコーダぐらいまではVISORの電源を使用する必要がありますし、外部電源で駆動される部分がある場合には必ずそことはバッファ等で区切り、そのバッファもVISORの電源で駆動しなければならないでしょう。
私はひさしぶりにロジックICの世界に戻ってきたせいで、テクノロジに関して頭が浦島状態になってしまって困っていますが、ざっと調べた結果がこのような感じです。私の工作としては、当面LVCを基本にし、適せん適宜他のものも併用する形になるかなと考えています。
2000/9/10追記
とりあえず、私の手元でも作動することを確認できました。が、マイクロマウスの部屋に書きましたが、ロジックのディレイがかなり厳しいですね。なるほどALVCなんか使うわけです。
実験回路は5Vの別電源があるので、レベル的な問題がなければTTLでも作動するようになっています。
で、そこで実験した結果、AC139等のアドレスデコードの後にもう1段ACが入っただけでももうだめで、後段をASにしてもダメでした。どうやら、アドレスデコードもASあたりを使わないと厳しいようですね。
サンプルの回路ではアドレスデコードにAC139を使ってますが、これは73タイプのラッチだから間に合っているわけで、I/Oに使うような74タイプのラッチの場合はかなり厳しいタイミングになるようです。73タイプはラッチがスルーになるタイミングがあり、ハザードの発生が恐いので使用したくないのです。
マイクロマウスのページにも書きましたが、実は先にCSとWRと負論理積してから139のGに入力するという順番であれば、特に問題なく安定して作動することがわかりました。ただし、今の所負論理積にはAS32を使うようにしています。
●割り込みについて
VISORの割込はレベル入力という事になっています。つまり、単なるパルスでは取りこぼされるかもしれませんし、逆に多重割込になってしまうかもしれません。
そのために、割込ラッチを用意して割込を発生させ、割込ハンドラの中でラッチをリセットするといった処理が必要になります。これを知らずにデューティ比50%のクロックなんか入力しようもんなら、実に悲惨な事になりますな(^_^;)。
また、割込入力があってから実際にハンドラが呼ばれるまでのレイテンシの保証値が0.15mSecと恐ろしく遅いです。したがって、高速パルスを扱うような用途には外部にカウンタなりタイマなりを用意して、その値をチェックするといった手法でないと無理ですね。
Go Home GoBack
Copyright 2000 All Rights Reserved
by Kazutaka 'Zak' Sawa .
|