Regard to the cdc endpoint in usb composite ( cdc + msd )

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

Regard to the cdc endpoint in usb composite ( cdc + msd )

ソリューションへジャンプ
2,406件の閲覧回数
jimhuang2
Contributor III

Hello,

I create the usb composite cdc msc project, and I'm going  to see usb_device_descriptor.c/.h, I don't understand that Bulk IN and Bulk OUT endpoint number is same in the endpoint descriptor of Data Interface descriptor (below picture : Green wire).

pastedImage_4.bmppastedImage_3.bmp

I try to change Bulk OUT number 3 to number 5, This change will cause cdc to don't work. 

pastedImage_1.bmp

I think it is related to the driver(INF), but not very sure.

Why the Bulk IN and Bulk OUT endpoint number is same?

Best Regards,

Jim

タグ(1)
0 件の賞賛
返信
1 解決策
2,216件の閲覧回数
jingpan
NXP TechSupport
NXP TechSupport

Hi Jim,

Please see the USB 2.0 specification. In section 5.3.1.2, it shows

"Functions can have additional endpoints as required for their implementation. Low-speed functions are
limited to two optional endpoints beyond the two required to implement the Default Control Pipe. Fullspeed
devices can have additional endpoints only limited by the protocol definition (i.e., a maximum of 15
additional input endpoints and 15 additional output endpoints)."

Regards,

Jing

元の投稿で解決策を見る

0 件の賞賛
返信
4 返答(返信)
2,215件の閲覧回数
jimhuang2
Contributor III

Hi Jing,

I am going to see 5.3.1.2 Non-endpoint Zero Requirements, but the next chapter "5.3.2. Stream Pipes" have describe  

 

Stream pipes deliver data in the data packet portion of bus transactions with no USB-required structure on
the data content. Data flows in at one end of a stream pipe and out the other end in the same order. Stream
pipes are always uni-directional in their communication flow.

 

A stream pipe to a device is bound to a single device endpoint number in the appropriate direction (i.e.,
corresponding to an IN or OUT token as defined by the protocol layer). The device endpoint number for the
opposite direction can be used for some other stream pipe to the device.

 

Stream pipes support bulk, isochronous, and interrupt transfer types, which are explained in later sections.

 

So, I think an endpoints number only set one transmission direction.

 

Best Regards,

Jim

0 件の賞賛
返信
2,215件の閲覧回数
jingpan
NXP TechSupport
NXP TechSupport

Hi,

No. For example, the pipe on endpoint 1 out and endpoint 1 in is different pipe, they are different endpoint.

Regards,

jing

0 件の賞賛
返信
2,217件の閲覧回数
jingpan
NXP TechSupport
NXP TechSupport

Hi Jim,

Please see the USB 2.0 specification. In section 5.3.1.2, it shows

"Functions can have additional endpoints as required for their implementation. Low-speed functions are
limited to two optional endpoints beyond the two required to implement the Default Control Pipe. Fullspeed
devices can have additional endpoints only limited by the protocol definition (i.e., a maximum of 15
additional input endpoints and 15 additional output endpoints)."

Regards,

Jing

0 件の賞賛
返信
2,215件の閲覧回数
jimhuang2
Contributor III

Thank you for your reply, I tested that IN and OUT endpoint number is same to work. 

0 件の賞賛
返信