IRQ before the next SOF

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

IRQ before the next SOF

1,376件の閲覧回数
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by DavideG on Tue Sep 17 00:11:19 MST 2013
Hello to all,

here a strictly technical question for ohci expert:

is possible to request a WritebackDoneHead interrupt before the next SOF ?

Working on the InterruptDelay, the minimum settable number of SOFs after the completion of the transfer is (implicitly) one.

But, if the transfer occurs at the init of the frame, then it will wait until the end of the frame for processing the done queue.
This seems to be a lot of time (about 1ms).

Thanks,

D.
ラベル(1)
  • USB

0 件の賞賛
返信
3 返答(返信)

1,361件の閲覧回数
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by DavideG on Tue Nov 05 07:30:02 MST 2013
Dear Tsuneo,

thank's for the interesting answer.
My post was after the check of the timings of the packet on the line.
In some cases this choise seems to be a little inefficient but ... the protocol is the protocol !

Davide
0 件の賞賛
返信

1,361件の閲覧回数
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by Tsuneo on Wed Sep 25 07:14:19 MST 2013
In the design policy of OHCI, Host Controller (HC) makes up current Done queue (HcDoneHead) while it runs list processing of endpoint/transfer descriptors (ED/TD), to put transactions to the bus. Just while HC sends SOF to the bus, HC pauses list processing, it writes current HcDoneHead to HccaDoneHead register, and HC generates WritebackDoneHead interrupt. And then, HC restarts listprocessing immediately, using new Done queue. Host driver may process old Done queue on HccaDoneHead without disturbing HC's list processing.
In this way, you can't get WritebackDoneHead interrupt until next SOF timing.

Tsuneo
0 件の賞賛
返信

1,361件の閲覧回数
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by DavideG on Wed Sep 18 05:09:19 MST 2013
I've seen that the behaviour i request for the usb transfer is performed only in the last written packet to the host.
Before this event, every update of the done queue is realized only at the end of the frame, when start the WritebackDoneHead interrupt.

Is possible to update the done queue (and the related data) immediatly at the end of the transfer instead of at the end of the frame.

Thanks to all,


D.
0 件の賞賛
返信