Skip to content

AAD modes questions & suggestions #16

@ysard

Description

@ysard

Hi, I am currently developing a version of your library for ESP32 compatible with the T5838 (PDM) & T5848 (I2S) microphones ( https://github.com/ysard/ESP32-T58XX-driver ). These models are "recent" and the configuration protocol is smart to save an I2C pin, but... strange... I hope that the bit banging implementation on ESP32 will work. My T5848 modules have not yet been ordered (so nothing has been tested).

I have noted a few points in your code:

  • t5838_aad_sleep: The function does not test the availability of the CLK line (test of pdm_data->active) before calling prv_clock_bitbang().

  • t5838_aad_sleep: According to the documentation on pages 21 and 27, AAD mode is activated by applying a frequency to the CLK pin based on the mode:

    AAD A: between 50 kHz and 200 kHz then CLK OFF
    AAD D2: between 50 kHz and 200 kHz then CLK OFF
    AAD D1: 768kHz

    Do you know if the activation of the D1 mode is working? (I don't think it's currently implemented).

  • prv_aad_mode_set: After activating AAD mode (A, D1, D2) in the T58XX_REG_AAD_MODE register, the documentation states: ‘The microphone will acknowledge the enable by pulsing the WAKE pin HIGH for about 12 us.’ (p21, p27). I think the interrupt will be triggered incorrectly if it is not momentarily disabled at the start of this function.

  • The values 0x32 in register 0x2C and 0xC0 in register 0x2D are not supposed to be used for the T5838 model (doc p28). Have you seen any noticeable changes in behavior in relation to this?

    {0x2C, 0x32}, \
    {0x2D, 0xC0}, \

    EDIT: I just read BUG - AAD D1 and D2 modes are not operational #10 and it seems to be an undocumented but mandatory feature for both mics?

Best regards.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions