標準TTLだけ(!)でCPUをつくろう!(組立てキットです!)
(ホントは74HC、CMOSなんだけど…)
[第426回]

●MYCPU80のご注文をいただきました

MYCPU80のご注文のメールをいただきました。
札幌市のAI様。ご注文有難うございました。
AI様は学生のころに、「トランジスタ技術」の連載記事「つくるパーソナルコンピュータ」をお読みいただいていたのだそうです。
また、その記事で紹介しておりました「つくるパーソナルコンピュータ」の組立キットもご購入いただいた、とのことです。
そして20年以上経った今また、今度はMYCPU80組立キットをご注文いただきました。
MYCPU80については、「スゴすぎます」というご感想をいただきました。
そんなふうに感じていただいて、とてもうれしいです。
AI様、本当に有難うございました。
さっそくプリント基板とパーツの手配を致しますので、準備が出来ますまでの間しばらくお待ちください。

●パイプとエンドポイント(前回の続きです)

パイプとエンドポイントとの関係について、下のような説明図を描いていたのですが、それをすっかり忘れてしまっていました。

図では左のホスト(パソコン)と右のUSB装置(A)および(B)はそれぞれUSBケーブルで接続されています。
物理的なUSBケーブルはただの1本のケーブルです。
このUSBケーブルの中身は、電源線であるV+、GNDと信号線のD+、D−のたかだか4本の線しかありません。
USBはそのケーブルを使ってデータを多重に伝送します。
上の図はそのデータ伝送のしくみを模式的に表したものです。

ホスト(パソコン)とUSB装置との間を接続している「帯」が「パイプ」です。
「パイプ」は実際に存在する「もの」ではなくて、データ伝送のしくみを考えるための、「仮想的」な概念です。
パソコンとUSB装置との間のデータは、USBケーブルを使って送信、受信されるのですが、それは図のような「パイプ」の概念に従って伝送されるのです。

パソコンからは、図の装置(A)はアドレス1(ADRS 1)、装置(B)はアドレス2(ADRS 2)として、識別されています。
そしてデータの送受信は、パイプを通じて接続されている、アドレス1、アドレス2の各エンドポイントに対しておこなわれます。

「パイプ」は装置の設計上の必要に応じて、複数本設定することができます。
図の装置(A)は3本、(B)は4本のパイプでホスト(パソコン)とつながっています。

USB装置は、エンドポイントという仮想的な接続コネクタを複数もっていて、そこにパイプがつながります。
そのうちのエンドポイント0(EP0)は、パソコンと装置との間で、基本的な情報のやり取り(コントロール伝送)をするためのもので、USB装置は必ずもっていなければならないものです。
ここに接続されるパイプはコントロールパイプといいます。
コントロール伝送というのは、このパイプを使って行うデータ伝送のことです。

EP0に接続される「コントロールパイプ」のほかに、ホストが装置からデータを入力する「INパイプ」とホストから装置にデータが出力される「OUTパイプ」があります。
「コントロールパイプ」だけは、データの送信と受信を同じパイプを使って行う「双方向」パイプなのですが、「INパイプ」はデータがパソコンに「入力」される方向にしか流れない(パソコン←装置)単方向パイプで、「OUTパイプ」はデータがパソコンから「出力」される方向にしか流れない(パソコン→装置)単方向パイプです。

コントロールパイプは必ずエンドポイント0(EP0)に接続されます。
そのほかのIN、OUTパイプについては、EP0以外のどのbフエンドポイントを使うかを、装置側の仕様で任意に定めることができます。
EP0は双方向のエンドポイントですが、そのほかのエンドポイントは単方向ですから、INパイプにはINエンドポイントを、OUTパイプにはOUTエンドポイントを接続することになります。
IN、OUTエンドポイントはそれぞれbP〜bP5の範囲の番号で識別されます。

図の装置(A)はEP0のほかにEP1(IN)とEP1(OUT)の2つのエンドポイント(入力1、出力1)をもっています。
また装置(B)はEP0のほかにEP2(IN)、EP3(OUT)、EP5(OUT)の3つのエンドポイント(入力1、出力2)をもっています。
なおIN、OUTはつねにホスト(パソコン)から見たときの、入力、出力のことをいいます。
2010.1.31upload

前へ
次へ
ホームページトップへ戻る