Page 1 of 1

HSUSB ISO TXPKIF strange behavior

Posted: 26 May 2019, 14:08
by vsf
I'm implementing a UVC protocol on M484. I use manual-validation because UVC payload can only be sent in packet. The packet format is 2 bytes header + pixel payload. As my test, I use 258 as ep size for iso channel, which is 2-byte header and 128 16-bit RGB565 data.

According to the log from NuConsole, the behavior of TXPKIF is strange, below is the log:
write ep0 buffer 258 bytes.
set ep0 DATSIZE to 258.
txpkif0: EPTXCNT=258,EPDATCNT=0
write ep0 buffer 258 bytes.
set ep0 DATSIZE to 258.
txpkif0: EPTXCNT=258,EPDATCNT=0
write ep0 buffer 258 bytes.
set ep0 DATSIZE to 258.
txpkif0: EPTXCNT=258,EPDATCNT=258
txpkif0: EPTXCNT=258,EPDATCNT=0
write ep0 buffer 258 bytes.
set ep0 DATSIZE to 258.
txpkif0: EPTXCNT=258,EPDATCNT=0
write ep0 buffer 258 bytes.
set ep0 DATSIZE to 258.
txpkif0: EPTXCNT=258,EPDATCNT=258
txpkif0: EPTXCNT=258,EPDATCNT=0
......
write ep0 buffer 258 bytes.
set ep0 DATSIZE to 258.
txpkif0: EPTXCNT=258,EPDATCNT=258
txpkif0: EPTXCNT=258,EPDATCNT=0
write ep0 buffer 258 bytes.
set ep0 DATSIZE to 258.
txpkif0: EPTXCNT=258,EPDATCNT=0
write ep0 buffer 258 bytes.
set ep0 DATSIZE to 258.
txpkif0: EPTXCNT=258,EPDATCNT=258
txpkif0: EPTXCNT=258,EPDATCNT=0
write ep0 buffer 258 bytes.
set ep0 DATSIZE to 258.
txpkif0: EPTXCNT=258,EPDATCNT=0
write ep0 buffer 258 bytes.
set ep0 DATSIZE to 258.
txpkif0: EPTXCNT=258,EPDATCNT=258
txpkif0: EPTXCNT=258,EPDATCNT=0
write ep0 buffer 258 bytes.
set ep0 DATSIZE to 258.
txpkif0: EPTXCNT=258,EPDATCNT=0
write ep0 buffer 258 bytes.
set ep0 DATSIZE to 258.
txpkif0: EPTXCNT=258,EPDATCNT=258
txpkif0: EPTXCNT=258,EPDATCNT=0
write ep0 buffer 258 bytes.
set ep0 DATSIZE to 258.
txpkif0: EPTXCNT=258,EPDATCNT=0
*txpkif0: EPTXCNT=258,EPDATCNT=0
write ep0 buffer 258 bytes.
set ep0 DATSIZE to 258.
txpkif0: EPTXCNT=258,EPDATCNT=0
*txpkif0: EPTXCNT=258,EPDATCNT=0
write ep0 buffer 258 bytes.
set ep0 DATSIZE to 258.
txpkif0: EPTXCNT=258,EPDATCNT=0
*txpkif0: EPTXCNT=258,EPDATCNT=0
write ep0 buffer 258 bytes.
set ep0 DATSIZE to 258.
txpkif0: EPTXCNT=258,EPDATCNT=0
*txpkif0: EPTXCNT=258,EPDATCNT=0
write ep0 buffer 258 bytes.
set ep0 DATSIZE to 258.
txpkif0: EPTXCNT=258,EPDATCNT=0
*txpkif0: EPTXCNT=258,EPDATCNT=0
write ep0 buffer 258 bytes.
set ep0 DATSIZE to 258.
txpkif0: EPTXCNT=258,EPDATCNT=258
txpkif0: EPTXCNT=258,EPDATCNT=0
*txpkif0: EPTXCNT=258,EPDATCNT=0
......
write ep0 buffer 258 bytes.
set ep0 DATSIZE to 258.
txpkif0: EPTXCNT=258,EPDATCNT=0
write ep0 buffer 258 bytes.
set ep0 DATSIZE to 258.
txpkif0: EPTXCNT=258,EPDATCNT=258
txpkif0: EPTXCNT=258,EPDATCNT=0
write ep0 buffer 258 bytes.
set ep0 DATSIZE to 258.
txpkif0: EPTXCNT=258,EPDATCNT=0
write ep0 buffer 258 bytes.
set ep0 DATSIZE to 258.
txpkif0: EPTXCNT=258,EPDATCNT=258
txpkif0: EPTXCNT=258,EPDATCNT=258
txpkif0: EPTXCNT=258,EPDATCNT=258
txpkif0: EPTXCNT=258,EPDATCNT=258
txpkif0: EPTXCNT=258,EPDATCNT=258
txpkif0: EPTXCNT=258,EPDATCNT=258
txpkif0: EPTXCNT=258,EPDATCNT=258

Re: HSUSB ISO TXPKIF strange behavior

Posted: 26 May 2019, 18:02
by vsf
As further test, it seems that after the UVC stream is setup, M484 will issue TXPKIF interrupt event if EPTXCNT is not written.
Is there any doc about the HSUSBH ISO transaction of M484?

Re: HSUSB ISO TXPKIF strange behavior

Posted: 10 Jun 2019, 10:27
by Dylan Hsieh
HI vsf,

Could you show us the USB packet during transmission, without that I have no idea what's USB going on.

Thanks