やまちゃんのオーディオブログ

既存のブログをこちらへ順次移動します。

ez-usb fx2lp usbマイコンの基本の解説

<前提3>USBの簡単な解説

投稿日:2013年6月2日 更新日:

以下のとおり、押さえておけば、
usbの説明書を読まなくても、十分実用になると思います。

1.ディスクリプタ
・USBは、ご存知のとおり、ハブ(タコ足プラグ)を利用でき、
一度に、複数の機器と接続できます。

このように接続して通信するには、
接続された機器から、その機器の情報を埋め込まなければならず、
そのしくみが、ディスクリプタといいます。
PCは、PIDなどから、通信する相手を特定します。

2.エンドポイント
・fx2lpは、データ転送のためのメモリバッファ(エンドポイント)が設けられており、
PCは、直接には、そのメモリバッファへデータを転送し、
その転送以後については、基本的には、転送されたデータを直接処理することはできません。
PCは、メモリバッファへデータを転送したら(out転送という)、
メモリバッファが一部空になるまで、待つ処理がなされます。

・通常、「PC→fx2lp→外部のマイコン」という構成となっており、
fx2lpは、外部のマイコンとデータをやり取りするもので、外部のマイコンの出先機関という
役割を果たします。

・上記のメモリバッファは、PCからみて、エンドポイント(終着地)と称されるが、
終着地というより、上記のとおり、出先機関、ないしデータの交換所という役割です。

・このメモリバッファは、FIFO(ファーストイン、ファーストアウト)のメモリで、
最初に転送されたデータが、先に転送される。
つまり、PCから転送されたデータは、バッファ容量が満たされるまで、まず蓄えられ、
最初に転送されたデータが、外部のマイコンへ真っ先に転送される。
バッファの一部が転送されると、
すでに転送されたバッファ領域のデータは、意味を成さないから、
「空」になったとして扱い、
その空になったバッファの部分へ、PCからデータを転送する。

・このようにすることで、メモリバッファは、外部マイコンへ転送している間、
別のメモリ領域を用いて、同時に、PCからデータの転送を受け付ける。
・これによれば、
メモリバッファが、全部空になったのち、改めて、データを受け付ける間欠転送と異なり、
連続的に、データを転送できる。映像、音声のストリームのためには、これが必須になる。

・似たような概念で、マルチバッファ(ダブルバッファ、トリプルバッファ、クワッドバッファ、・・・)といって、
複数のバッファを用意しておき、その一部が転送済み(空)になると、
その空領域にデータを転送する。
CYPLESSのez-usbは、これを自動的に行う仕組みを備えている。

・転送方式としては、
コントロール転送、インタラプト転送、アイソクロナス転送、バルク転送がある(以下で説明)。

・エンドポイントは、通常、複数設けられ、上記バッファの領域が区分けされて設けられている。
・in転送とout転送があり、in転送は、外部マイコンからPCへ、
アウト転送は、PCから外部マイコンへの転送を、いう。
各エンドエンドポイントは、in転送とout転送のいずれかに、設定する必要があり、
それゆえ、場合により、複数のエンドポイントが必要となる。

・エンドポイント0、1は、コントロール転送、インタラプト転送に用いられ、
指示する旨のデータを与えると、
usb専用マイコン(fx2lp)には、
割り込み(インタラプト、何らかの状態が生じたことを検知して、特定の処理をさせる)が働き、
予め、fx2lpにセットされたプログラム(ファームウェア)により、
特定のサブルーチンを実行させることができる。

エンドポイント0、1では、少量のパケットデータ(64k)のみ、送ることができる。

・fx2lpにおいて、エンドポイント2、4、6、8は、ストリーム等の大量のデータの転送を行うことができ、
バルク転送では、1回(0.125msごと)当たり、512kバイトのデータを
1とまとまりのデータ(パケット)として、送れる。
バルク転送は、ハードディスクのように、一度にどかっとデータを送るのに適しており、
かつ、データの正確性を担保する仕組みが設けられている。
アイソクロナス転送では、必ず一定の間隔で送ることが予定された、送信方法であって、
必ずしも、データの正確性は担保されない。
それゆえ、一部のオーディオメーカーは、
次第に、アイソクロナスより、バルク転送を利用するよう、考えているようである。

Follow me!

-ez-usb fx2lp usbマイコンの基本の解説

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA


関連記事

no image

<前提2>ez-usb fx2lp以外の手段について2

usbの専用マイコンとしては、ftdiのFT2232Hがある。 これは、FX2LPよりお手軽で、 マイコンにプログラム(ファームウェア)をインストールする必要がない。 VISUAL STUDIOから命 …

no image

4.即座にバルクループ(bulkloop)を立ち上げる!

今回は、基本となるサンプルであるバルクループを、速攻で、立ち上げることにしよう。 バルクループとは、 A.fx2lpのアウト用エンドポイントへ、256kバイトずつ、データを送り込み、 B. fx2lp …

no image

<前提1>ez-usb fx2lp以外の手段について

前提として、「PCの外部に情報を送る目的」を達成するには、マイコンや、FPGAを用いる必要があり、 マイコン等には、コンパイルしたプログラムを、書き込まないといけない。 <2016年5月4日この下の部 …

no image

2.ez-usb fx2lpの概要、注意すべきこと

ez-usb fx2lpは、usb2.0に対応しており、 旧番のez-usb fx2をバージョンアップした(メモリ増量)ものです。 以前は、PC側から、ez-usb fx2へ命令を送るのに、 ezus …

no image

8.bulkloopのファームウェアを読んで解説する2

fw2.c、bulkloop.cの概要を説明します。 「//」は、コメント文であり、CPUはなんら処理しません。 includeは、別ファイルの引用です。 #define DELAY_COUNT 0x …

[最近の記事]
2013年6月
 1
2345678
9101112131415
16171819202122
23242526272829
30  

3PR エリア3 タイトル

PAGE TOP