February 2009アーカイブ

いい加減CPLDも使おうかと、iMPACT用のダウンロードケーブルを作りました。 といっても、とりあえずブレッドボード上に実装です。 ただ、CPLDはパッケージがPLCCなので、ソケットに挿してもブレッドボードには合いません。 そのため、CPLD部分のみは別の基板に入れました。 この辺、AVRと違...
Ethernetの実現に関して、最近興味津々なWIZnetのW5100。 ハードワイヤードでTCP/IPスタックを組み込んだEthernet controllerです。 軽量な組み込みEthernetというと、AVR(ATmega168)+ENC28J60が有名ですが、W5100はAVRにもちょっ...

現在の設計を出しておきます。 一応、CPLDが容量の範囲内でプログラム可能であることはチェックしてあります。 ...
SDカードインタフェースはほぼ期待通りに動作しています。 ハードを設計して、作って、ソフトを設計して、作ってというのは結構長い道のりですが、動いたときはうれしいものですね。 いつもはソフトしか作らないので、またこれも格別なものがあります。 とはいっても、今回は西田さんにもかなり助けられていますが。 ...
なかなか苦しんでいたAVR版SDカードインタフェースですが、ファイルのデータ読み込みまで動作させることに成功しました。 結局outの割り込み(INT1)の最後でペンディングしているin割り込み(INT0)を解除し、かつステータスデータをINT0割り込みで出すようにすることでタイミングが取れるようにな...
AVRでは、割り込み処理中にも割り込み"要求"自体が禁止されていなければ、外部からの割り込みに対して要求が発生するようです。 コメントにもあるように、その割り込みは保留(pending)され、現在処理中の割り込み処理が終了した後で処理されるようなのです。 このあたりが情報源です。 概念として、「割...

どうもうまく動いてくれないSDカードインタフェースですが、問題はクリアになりました。 わかりにくいので、シーケンス図にします。 この図で、PCからのリクエストがin/out命令で、OUT buffer/IN bufferがそれぞれフリップフロップやラッチです。 最初にコマンドをout命令で送出し、...
日経新聞を読んでいたら、「頭脳海外流出 変わらず」という記事がありました。 日本の大学は定年があるので、定年がなく優秀な人材獲得に熱心なシンガポールなどに移動してしまうそうな。 東大の数物連携宇宙研究機構では、優秀な研究者には総長に匹敵する待遇を与えたり、来日する家族に仕事の斡旋までしてるのに、そ...
SDカードインタフェースのハードウェアが出来上がったので、早速実際のSDカード入出力を作り始めています。 まずは、試しにディレクトリ情報を読み出しています。 今回は、AVR側にFATシステムを入れることにより、高速化を狙っていますが、1ポートのインタフェースで通信するのはなかなか難しいことがわかり...

何とか手持ちの資料とかいただいた資料とかを駆使して、RS-232Cコネクタの信号線を類推(?)してみました。 本体のカバーをあけると、以下の写真のようになっているところがあります。 3つコネクタが並んでいますが、左からCN10(スピーカ)、CN4、CN5です。このCN4とCN5に、写真上にねじ止め...

西田さんに作っていただいたプリント基板上に、部品を実装しました。 ICソケットを使った関係で両面の半田付けにてこずったりしましたが、完成しました。 回路図は以前設計したものです。 ...
PC-6001をいろいろと拡張すると、拡張スロットが足りなくなります。 拡張スロット自身はパラレル結線のみで拡張できるので自作可能ですが、スロットごとに50本の結線をするのはなかなか骨です。 プリント基板を作れれば問題ないんですけどね。 そこで思いついたのですが、RS-232C用のコネクタが使える...
スタンバイ時の消費電力が「完全に0W」になるPC、ESPRIMO GreenをドイツのFujitsu-Siemensが発表しました。 記事によると、スタンバイモード時の消費電力は0Wになり、この場合でも技術者が管理することができるそうです。 意外にも、未だにスタンバイ時の電力が0WになるPCという...
いろいろトライ&エラーで、最適化の方法がだんだんわかってきました。 一番簡単なのは、「出力信号ごとにプロセスを分ける」ということです。 たとえば、昨日の例なら、次のようにします。 process (ATOB, G) begin if G = '0' and ATOB = '...
CPLDの設計を始めて、とたんに壁にぶつかりました。 マクロセルの消費量が予想より多く、手持ちのXC9536XLでは足りなさそうなのです。 ロジックはそれほど難しいものではないのですが、2つの8ビットレジスタ(ラッチ)と、2つの3ステートバッファを使っています。 これがどうもマクロセルを喰うようで...
西田さんの作られた基板を送っていただいているので(感謝!)、到着するまでの間、CPLDを使った実装について考え始めています。 まず、手持ちのCPLDがXC9536XL-PC44なので、それでどこまでできるか考えてみました。 結果、次のような課題が明らかになりました。 このチップは外部I/Oが34ピ...
インドで開発されているという$20ラップトップSakshat、 実際にはこんなものでした。 これを「ラップトップ」と強弁するのはどうかと思うのですが。 Engadgetの要約によると、以下のようになっています。 インドで昨日、いわゆる「発表」された$10のラップトップに、何が欠けていたかわかりま...

ROMレスシステムの回路を試しに描いてみました。 複雑度の雰囲気を掴むだけなので、正しい保証はありません。 まずは40ピン系(ATmega164/324/644)。 次に、28ピン系(ATmega8L/88/168/328)。 カウンタはATtiny2313を使ったほうが安くなりますが、わかりやす...
西田さんからのコメントがあったので、ROMレスシステムについて考えてみました。 基本的な考えは、 SRAMをROM領域(0x4000-0x7fff)に確保しておく (実際には32kB分のSRAMを0x4000-0xbfffに配置してRAM拡張を兼ねる) 起動時にSRAMにブートアップ用のプログラムを...

今日、ロンドンは18年ぶりの大雪に見舞われました。昨晩遅くから降りつづけ、今日は一日降っていました。積雪はイギリス全土に及んでいますが、特に南東のロンドン地域が激しいようです。日本の、しかも日本海側で考えればそれほどすごい雪というわけではないですが、こちらは雪に慣れていないので大変なことになっていま...