日に新た

「素直な心で日々を新しく生きたい」・・・
と願ってますが、頭でわかっていてもなかなか行動できてないものですね・・・

OUIとIAB

2008年03月17日 18時13分12秒 | ハードウェア開発
イーサネットのインタフェース(いわゆるLANカードとかLANインタフェース)を組み込むために、
MACアドレスを自社で持つ必要があるので、ちょっと調べてみました。
MACアドレスは、ハードウェアアドレスともいわれてまして、
機械に記録されているaa-bb-cc-dd-ee-ffの6バイトで表される識別子です。

さて、取得方法ですが・・・まずはIEEE(あいとりぷるいー)に申請して、
OUI(Organizationally Unique Identifier)という「固有の企業識別子」を取得します。
これには、1650USD.が必要とか。いまなら16万5千円って感じですかね。

んで、これだけだとMACアドレスの最初の3バイト(aa-bb-cc)の部分しか割り当らないので、
IAB(Individual Address Block)という、下3バイトを4096個分(12ビット単位)で申請します。
これが550USD.

併せて、2200USD.必要と言う事らしいです。

IEEEに申請して、連絡が来て7稼働日以内に$2200を振り込めば良いそうなのですが、
英語が苦手なので、ちょっと躊躇しています。(笑

いったん取ってしまえば、Globalなデータベースに登録されるので、欲しい所です。

PCISIGにも参加して、ベンダーID欲しいなぁ。
メーカーとして活動するには、やることは山ほどあるってことらしいです。

割込み処理

2007年12月27日 17時04分33秒 | ハードウェア開発
2007年ももうすぐ終わろうとしていますが、
2001年(5年前?)に設計した基板の割込み処理がトラブルの原因となっていたようです。

割込み処理には、レベル割込みとエッジ割込みの2通りの検出方法があります。
どちらも一長一短あります。
今回は、エッジ割込みを採用して失敗しました。
システムが止まるので、取りこぼしが発生しています。

エッジ割込みは、複数の割込みを処理する場合に要因が発生した時点で、
プロセッサに割り込みをかけるので、出来るだけ早く処理をしたい場合や、
複数の割込み処理の優先順位を意識しなくて済むとか、
割込みのイベントが保持されていなくても良いと言う利点があります。
しかし発生した瞬間の一度しか割込みが掛からないので、
複数が全く同時だった場合取りこぼす可能性があります。
また、瞬間的なパルス信号の場合が多いので、割込みコントローラが検出できないほど
一瞬の割り込みパルスだった場合、これまた割り込みを取りこぼします。

レベル割込みは、割り込みの要因が解除されるまで割り込みをプロセッサに通知し続けます。
割込み要因が処理されるまで保持されるシステムに向いています。
要因が瞬間ではなく持続されるので、プロセッサが確実に割り込みを検出して、確実に処理をするので取りこぼしがありません。
しかし外部の割り込みの要因が解除されるまで、何度も割り込みが掛かる可能性があります。
複数の要因で割り込みが発生した場合、プロセッサが割込み処理を連続して行うことになります。
(一度処理をして、抜けたら、また割込み処理・・・・って具合。)
プログラムの処理手順をしっかりと考えて作りこむ必要があります。

IDT社のデュアルポートRAMを使って、2つのサブシステム間通信の回路を
作ったのですが、エッジ割込みだと取りこぼすタイミングが有ると言う事が判りました。
5年もの間見つからなかったバグ(というか問題?)が今になってやっと見つかるとは・・・。

設計するときはホントに色々な事を検証しておかなければいけませんね。
5年前・・・そういえば、結婚前で浮かれていたという話もあります。(ォィ