[Armadillo:05112] Re: Armadillo-9 USB Bulk転送間隔に関して

kumagai takeaki email@hidden
2010年 4月 16日 (金) 18:32:26 JST


溝渕様

回答ありがとございます。
頂いた情報を元に もう少し調査したいと考えております。


yoshi様
>上記の話は、bulkでデバイスからデータを読み込んでいるという認識で良いです
か?
はい、その通りです。

>INからOUTまでの間が 1.9msかかっているということは、デバイスが
>反応するまでに 1.9msかかっているということですよね?
>であれば、データ自体は 9 byte と小さいのですが、単純にデバイスが IN を
>受けてからデータを出すまでに 1.9msかかっているということでしょうか?
記述の仕方が悪く、誤解を与えてしまい申し訳ございません。

USB上のフレームレベルで記載いたすると、ホストのOUT フレームから
INフレームまでの間の時間は76usec 程度で応答しています。
(言い変えるとデバイスが反応する時間は76usecとなっています。)
しかし、ホストCPUはハードレベルでは INフレームを受信している
にもかかわらず、ohci->hcca->done_head を書き換える事が出来ていない
事が私の気になっている点です。


追記:
Armadillo-500FXでは 同様の問題が発生していない事を確認いたしました。

よろしくお願いします。


-----Original Message-----
From: email@hidden
[mailto:email@hidden] On Behalf Of mizo
Sent: Friday, April 16, 2010 4:42 PM
To: Armadillo series general discussion list
Subject: [Armadillo:05108] Re: Armadillo-9 USB Bulk転送間隔に関して

溝渕です。

kumagai takeaki wrote:
> ohci_irq()は 1msec毎に呼び出されているようですが、 ohci->hcca->done_head
の
> 値が0の為に
> ints の値が OHCI_INTR_WDH に書きかえれていない様に見受けられます。
>
> よってohci->hcca->done_head を書き換えている場所を特定したいと考えておりま
> す。

ohci->hcca->done_headはソフトウェアから直接書き換えてはいないようです。

ohci->hccaは、HCCA(Host Controller Communication Area)を表わすアドレス
で、メモリ上に配置されています。この領域は、
drivers/usb/host/ohci-hcd.c::ohci_init()
の中でdma_alloc_coherent()を使用して確保されています。よってDMAのための
領域です。

EP9315_Users_Guide.pdfの「11.2.5.4 HCI Master Block」にも少し説明があり
ます。

struct ohci_hccaは、
drivers/usb/host/ohci.c::struct ohci_hcca
で定義されています。

各メンバの説明は上記ヘッダファイルにもありますが、OHCI仕様書の「4.4.1
Host Controller Communications Area Format」に少し詳しく書いてあります。

[OHCI仕様書]
ftp://ftp.compaq.com/pub/supportinformation/papers/hcir1_0a.pdf
_______________________________________________
armadillo mailing list
email@hidden
http://lists.atmark-techno.com/cgi-bin/mailman/listinfo/armadillo




armadillo メーリングリストの案内