Skip to content

ESP32-P4 运行 UAC例子,当位宽设置为24/4的时候,USB设备无法正常启动 (AEGHB-1169) #554

@planevina

Description

@planevina

Answers checklist.

  • I have read the documentation ESP-IDF Programming Guide and the issue is not addressed there.
  • I have updated my IDF branch (master or release) to the latest version and checked that the issue is present there.
  • I have searched the issue tracker for a similar issue and not found a similar issue.

General issue report

IDF 5.4.2

我在使用ESP32-S3做了一个uac设备,使用默认的16bit 位宽 16bit插槽
#define CFG_TUD_AUDIO_FUNC_1_FORMAT_1_N_BYTES_PER_SAMPLE_TX 2
#define CFG_TUD_AUDIO_FUNC_1_FORMAT_1_RESOLUTION_TX 16
它可以正常运行
在P4上也能正常运行

但我试着将其改为
// 24bit in 32bit slots
#define CFG_TUD_AUDIO_FUNC_1_FORMAT_1_N_BYTES_PER_SAMPLE_TX 4
#define CFG_TUD_AUDIO_FUNC_1_FORMAT_1_RESOLUTION_RX 24

就无法正常启动,设备是个感叹号
我用usb device tree viewer 对比了正常运行的16bit 和无法启动的24bit生成配置文件
发现有下面的不同
Power State : D0 (supported: D0, D2, D3, wake from D0, wake from D2)
16bit是D0 ,而24bit是D3

Device Address : 0x0C (12)
16bit是0x0c,24bit是 0x28

位宽和插槽都正确设置了
16bit
bSubslotSize : 0x02 (2 bytes)
bBitResolution : 0x10 (16 bits)

24bit
bSubslotSize : 0x04 (4 bytes)
bBitResolution : 0x18 (24 bits)

//包长度388也是对的
16bit
wMaxPacketSize : 0x00C4

24bit
wMaxPacketSize : 0x0184

  -------------------- String Descriptors -------------------

这一项内,16bit有内容,而24bit提示
String descriptors are not available (because the device is in low power state D3)

请问我应该往什么方向调试?有没有成功启动过24位宽和32插槽的?

另外,希望能更新uac 组件库到支持多格式,感谢

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions